Hello dandandaman!- First I thank you for this clear statement. It was what I was hunting the forum for
Please consider making this thread sticky because more people might find the explanations quite useful!
- Was it a political decision to abandon those XML-formats or was it just to tedious to edit them compared to the *.csv?
Will the ./weapons_list.xml and ./factions.xml also get transformed to *.csv? What about the ./universe/milky_way.xml and all those *.system?
- There are quite a lot more XML files in the units directory:
./units/admonisher/admonisher
./units/admonisher/admonisher.blank
./units/admonisher/admonisher.template
./units/aelar/aelar
./units/aelar/aelar.blank
./units/aelar/aelar.template
Do I get you right, that all those are deprecated too???
Actually the ./units/units.csv contains equivalent data.
If so, this should be indicated in http://vegastrike.sourceforge.net/phpwi ... tUnitFiles
- Regarding the contents of ./units/units.csv What is the 'Cargo' column good for? Why do some bases have a hard wired Contraband/Pilot in their cargo hold? And imagine a Pilot off 367 metric tons
To me the whole column seem utterly superfluous.
- The Cargo_Import column has many duplicate entries where this redundancy introduces a source of errors. Perhaps one could imagine an import tag to indicate, that 'starfortress.blank' and 'starfortress.template' are exactly the same as 'starfortress'.
- Anyway I still didn't get the use for those template and blank copies ...
Actually they differ in the preset of upgrades. But then I would consider it streight forward to have a single base ship with basic statistics. In addition the 'Upgrades' column would be enhanced to this format:
{VARIANT(string);PRICE(percentage);FIXED(boolean);{filename(string);mountoffset(int);subunoffset(int)}}
And the new shield levels and such stuff will be derived from the according upgrades. The total price calculates as the sum of all subcomponents multiplied by the second parameter to simulate the discount for beeing such a good customer and taking the ship as is.
This would also open the door to some randomly preassembled ships, like with a realworld car dealer.
BTW. can I sell upgrades, that came via the 'Upgrades' column or are those hardwired into the ship? If they are not in the normal ship-dealers upgrades, am I prevented from installing a second shield? Will the effects of several shields add up?
To me it would be more natural to have a third flag indicating whether a preset was fixed or not. Fixed items appear in gray in the upgrade-screen and never show a button. This allows to verify, they are there and view their statistics. It is obvious to the user, why he cannot buy another shield.
In addition those preinstalled components might suffer damage and can be repared that way.
All in all I would consider this a mayor step in reducing redundancy, since this system guarantees consitent data. All values are calculated by taking the base and modifying it through exactly one merged level of upgrades (preinstalled or bought later).
- Once I fly a ship with Cargo_Import and a Dock, will computer AI controlled ships be able to land on my 'dodo' and trade 'Fuels/Crude' and 'Compressed_Gasses'? Will this affect my balance and hold volume?
Hello JumpinDuck!
First make a backup copy of units/units.csv, then open it with your favourite spreadsheet program, I take OpenOffice Calc.
It will offer an import-dialog for items seperated by commata ','
Goto the far left to column CX that reads 'Mounts', the line below is the format of values to expect:
{type(string);ammo(int);volume(meters);SIZE(string);x(meters);y(meters);z(meters);
xyscale(meters);zscale(meters);forex(meters);forey(meters);forez(meters);
upx(meters);upy(meters);upz(meters);functionality(percentage);maxfunctionality(percentage)}
For the "llama.begin" 's 6 mounts this is:
{;;;LIGHT MEDIUM SPECIAL;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}
{Tractor;;;LIGHT MEDIUM PECIAL;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}
{Laser;;;LIGHT;0.380000;0.176000;1.07600;;;;;;;;;1;1}
{Laser;;;LIGHT;-0.336000;0.176000;1.07600;;;;;;;;;1;1}
{dumbfire;16;48;LIGHT-MISSILE MEDIUM-MISSILE SPECIAL-MISSILE;0;0;0;;;;;;;;;1;1}
{dumbfire;16;48;LIGHT-MISSILE MEDIUM-MISSILE SPECIAL-MISSILE;0;0;0;;;;;;;;;1;1}
If you match the corresponding columns you get these three types of mounts (two of every kind):
Code: Select all
{type(string); {;
ammo(int); ;
volume(meters); ;
SIZE(string); LIGHT MEDIUM SPECIAL;
x(meters); 1.01200;
y(meters); -6.80000e-2;
z(meters); 3.40800;
xyscale(meters); ;
zscale(meters); ;
forex(meters); ;
forey(meters); ;
forez(meters); ;
upx(meters); ;
upy(meters); ;
upz(meters); ;
functionality(percentage); 1;
maxfunctionality(percentage)} 1}
{type(string); {Laser;
ammo(int); ;
volume(meters); ;
SIZE(string); LIGHT;
x(meters); 0.380000;
y(meters); 0.176000;
z(meters); 1.07600;
xyscale(meters); ;
zscale(meters); ;
forex(meters); ;
forey(meters); ;
forez(meters); ;
upx(meters); ;
upy(meters); ;
upz(meters); ;
functionality(percentage); 1;
maxfunctionality(percentage)} 1}
{type(string); {dumbfire;
ammo(int); 16;
volume(meters); 48;
SIZE(string); LIGHT-MISSILE MEDIUM-MISSILE SPECIAL-MISSILE;
x(meters); 0;
y(meters); 0;
z(meters); 0;
xyscale(meters); ;
zscale(meters); ;
forex(meters); ;
forey(meters); ;
forez(meters); ;
upx(meters); ;
upy(meters); ;
upz(meters); ;
functionality(percentage); 1;
maxfunctionality(percentage)} 1}
Most interesting to you will be the volume(meters) and the SIZE(string).
Another way would be to locate your favourite missile in the weapons_list.xml
Code: Select all
<Missile name="AdvTorpedo" mountsize="heavy-missile">
<Energy rate="0" refire="20" locktime="4" />
<Damage rate="80000" phasedamage="65000" longrange="1" radius="250" radialspeed="800" />
<Distance speed="850" pulsespeed="15" range="1000000" detonationrange="60" volume="100" />
<Appearance file="torpedo" soundwav="missile_3.wav" />
</Missile>
The mountsize="heavy-missile" along with the volume="100" is what normally prevents Llama's form having those
![Smile :-)](./images/smilies/icon_smile.gif)
Normally, you know ...
If you don't want your abuse also to be exploited by the computer, you should think of how common your ships-type is in the universe compared to how many AI-controlled ships will be able to load the forged missiles. Perhaps it is best, if you tweak both files to meet somewhere in the middle.
HTH
private_lock