Seems I was mistaken about the XMLSchema file. I took another look and noticed that the other definitions in that small Rockets.xsd file were detonators and seekers. "Huh, where are the actual missile definitions?" Found them inside Modules.xsd. Then I wondered why all these separate xsd files when everything is supposedly in AllModules.xsd, right? Maybe someone who knows which files are used or not can tell.
Anyway, I restored the original Rockets.xsd and found that MultiRocket still works. So it looks like you can ignore the files in this folder when creating MultiRockets since the game apparently already knows about them.
Note:
In trade screen you will only see max_rocket_count and damage for each warhead. It does not display rocket_slot (how many launched per attack), which is also important to know -- because if you see max_rocket_count saying 10 rockets that sounds like a lot, but if 5 are launched per attack then actually it's only a little because you'll fire all of them in merely 2 attacks.
If you define a rocket in \Data\Game\Modules.xml as "HomingRocket", trade screen will show "damage, resistance, range, quantity", but if you define it as "MIRVModule", trade screen will show "Number of warheads, damage, range, quantity" - that's why for MIRVs you can't see the "resistance" but in the game data their antijam values are different, and I think this is also important to know. But note MIRVs have 2 antijam values - 1 for the parent missile and 1 for the warheads. Personally, I'm going to max out the parent's antijam and simply use the warhead's antijam value as the rating. I don't like the parent missile to be shot down because then you won't be able to tell that your ECM/AMS stopped a MIRV or just a single rocket.
Unfortunately, MultiRocket appears to use the standard rocket trade display, showing "damage, resistance, range, quantity" where damage is damage per warhead and quantity is max_rocket_count. Players actually need to know the value for rocket_slot as well, like I explained just now. I don't know where trade screen information is located. For now, I suggest that if you create a MultiRocket then please also edit \Data\LocData\English\m_modules.xml and change the rocket's description to also mention rocket_slots (how many rockets fired per launch) as well.
After some searching around I couldn't find any file which mentions "resistance"... I'm guessing this belongs in that hardcoded XML, the same one preventing us from adding new perks and other stuff. It's not a big deal if we can't change the trade display text, but it's annoying, and you'll have to remember to edit the descriptions in m_modules.xml. The resistance display is also referring to the parent missile, which sucks because you need to know how well the warheads perform, not the parent because the parent is not the one delivering the damage.
Edit:
MultiRocket launches are limited, the game can only spawn so many missiles per launch - the limit appears to be 10. I tried with rocket_slot values of 10,15,20,30,40 and all of them only launched 10 missiles per attack. (Seems to tally with the sample missile "MRT" in Modules.xml which only fires 8 at a time.) So if you want a large spread you're still going to need to use MIRVs.
Theoretically there's nothing stopping you from designing a MIRV which splits into other MIRVs... this can get silly real fast though, and the trade display will be even more inaccurate.
Last edited by Trucidation; 06-05-2010 at 04:14 AM.
|