Question about Modular XML

Akulya

Chieftain
Joined
Apr 28, 2009
Messages
27
Location
in a shirt, under a hat.
Hello all,

I'm writing a module for FFH2-Wildmana, pretty simple stuff, but I have a little problem.

The /assets/xml/techinfo gives a free unit on discovery of a certain tech
with this line
Code:
<FirstFreeUnitClass>UNITCLASS_PRIEST_OF_THE_EMPYREAN</FirstFreeUnitClas>
I would like to prevent this unit popping on discovery of the tech.

in my /assets/module/modtechinfo I have tried replacing "UNITCLASS...ETC" with "NONE" but that did not work, and looking throught the schema, there is no bForceOverwrite tag to use.

Can anyone point me the right way?

Cheers, AK
 
Thanks for your reply - I have tried what you suggested, but it doesn't work.

Can I force my module to be the last one loaded? There are several modules active already - perhaps my modules' setting is being overwritten?

(Sorry about the spelling mistake, that wasn't in my xml. I doubt it would've even loaded like that!)

Thanks again
 
Wildmana is a Mod based on FFH2, it seems to add its own material in the form of modules - there are approx 20 named modules within \assets\modules\NormalModules of which mine is one.

Can I ensure that mine is the last one loaded, and therefore takes precedence?

(thanks for your time on this tchristensen)
 
Does any of these other modules require a special DLL? I am really unfamiliar with mods that require special DLLs to run, but assume they are changing the Python/SDK of the game and may very well prohibit further changes without a DLL change?

If not, then check each module and see any of the XMLs you changed are within their folder structure. If they are, change those rather than creating new ones?

Just ideas here -- just trying to help :)
 
Im pretty sure Wildmana runs a modified DLL; and yes multiple xml files are duplicated across several NormalModules.

My own modifications load into the game as long as they are additive, or overwrite an existing condition with another (positive) condition; i.e. I could for example change

Code:
<FirstFreeUnitClass>UNITCLASS_PRIEST_OF_THE_EMPYREAN</FirstFreeUnitClass>

to

<FirstFreeUnitClass>UNITCLASS_WARRIOR</FirstFreeUnitClass>

and I would get a warrior, but ideally I would like to get none.

Where I have used the bForceOverwirite tag (in UnitInfos for example) I also see my changes correctly implemented. I'm grateful for your suggestions, but do not want to get into a situation where in order to run my module I have to change other modules.

I don't want to keep flogging a dead horse - but is load order important here? My gut says yes, but other than specifying 1st 2nd 3rd load etc; is there a way to specify "last"?
 
I would think order would make a big difference, so perhaps that is the problem.

What if you just rewarded a generic unit (lets say a worker) or create a unit that is basically null (no movement and no offensive capabilities)? Seems like a cheap way around it, but that should work.

I have several units in my game that are more representative of something (ideology) rather than practical use. It seems to work for the players.
 
Can I force my module to be the last one loaded?

No, they are loaded in the same order like they are in the folder, alphabetically.

There are several modules active already - perhaps my modules' setting is being overwritten?

Modules normally don't overwrite each other, so that should not be a problem.

But i think i remember the TechInfos.xml had some problems with modularity (same with sounds and Plot/CityLSystem.xml), so i'd suggest doing it not modular.
 
Back
Top Bottom