[MODCOMP] - XML Cleanup & Expansion

I've set up the second post to track changes people have requested so that I don't have to clutter my own documentation with things that may or may not happen. So if you had requested something from me and it isn't listed on there, bring it up again ;)
 
By exposing canPromote I mean that you should be able to block a unit from getting a specific promotion using python. That way, some promotions might have some very complicated requirements. So, I guess you'd say I want it to force it instead of just check. I was only thinking of it as blocking specific promotions though, not making things available despite not having its xml prereqs met.

I also asked for a civ and alignment prereqs for promotions. Blocking specific civs and alignments could be good too.


I'd like a simple way to block units with certain religions/state religion/promotions/civs/alignments from casting specific spells without making all these spells rely on a python prereq.

I'd like it if spells could require access to specific resources (in xml/SDL). For example, you might actually need fire mana to cast fireball.

I'd like it if terrain, feature, improvement, and building prereqs for spells could be handled in XML/SDK. This would eliminate the need for many python requirements for spells.

I'd like civic spell prereqs

I'd like it if spells could require more (maybe even an arbitrary number of?) promotions instead of just 2. The current way limits cross-sphere spells. OR preres for promotions and units could be good too.


I thought it could already be done, but I don't see how to give specialists bonus commerces/yields from buildings only in the city with the building. Unless I'm missing something, it would be good to add this ability.


I'd really like it if civic and buildings global free xp were broken down by unitcombat.

If civics can give resources, it makes sense for them to block them too (actually, more sense imho).

Would it be possible to allow a civic to give extra happiness for resources, or to require more resources to get the bonuses, or for resources that other cities have to cause unhappiness in cities that lack them? (These are all among my ideas for the Consumption civic)


I think that buildings that grant promotions on move should only give them to units on your team. That way, Sinister, Dexterous, Guardsman, Horselord, etc., can be given out to units at times other than just when they are built. Technically you could do this now, but then rivals with open borders or units that can move in your borders without open brders could get free promotions too. If you make it team and not civ-specific then this could add a nice bonus for Permanent alliances. Alternately, you could make free promotions from buildings be applied when units are upgraded.

Tier requirements for spells would be good too.

I'd still like it if units/promotions could trigger a python function on move. I think mtagge got this working in his Opp fire and unit promotion giving modmod in an fairly efficient way using only python, but I haven't really gone through this mod yet to see how he did it.
 
Spells will be getting a giant overhaul when I get to them. Right now they are done heavily through Python, which means you simply CANNOT teach the AI how to use it, AND it is slow. I'll be going through them carefully and figuring out ways to make everything XML instead. I won't be taking requests on those until I get a chance to sit down and clean them up as much as I can personally. I'll note the rest, for consideration and work later on though.
 
[*]Civic Modify Resource Happiness/Health on Fractional/Percentile base (to allow negative & 0 as well)

[*]Civics can cause Unhappiness in other Civilizations which lack Specific Resources

While these ideas aren't bad, they aren't quite what I requested. I was wanting Consumption to cause unhappiness in your own cities if your citizens know there are resources that others have that you aren't providing for them (either in your other cities or known rivals'). I was planning to make consumption pretty powerful, and wanted this as a downside.



While on the subject of civics, could you also allow decimal military happiness modifiers? I decided to make fend for themselves cause -1 military happiness (if you don't feed or provide shelter for your soldiers, then the townspeople they guard won't be happy about having to fight over the scarce resources) in addition to the health penalty and free xp. This does seem to to be going a little too far when you have large stacks guarding cities though, as the AI tends to do.

Having health penalties based on the units in the city might be good too.





I'm glad to hear that you'll be reworking the spell system. I hope you don't change it so much that it can't easily be merged with Broader Alignments though. I definitely want to keep the things I convinced him too add, including broader alignment prereqs and, effects on alignment, and the ability for promotions to effect spell ranges (although I'd like it if spells were weaker the further away the caster is). (Really, I'd prefer it if you went ahead and included Broader Alignments in this modcomp, but I believe you've already said that you don't plan to.)



I also think it might be good if you included the changes to damage types (similar to your suggestion, but I'd rather not make all a unit's damage count as being of one type), including allowing each damage type to pass on a different promotion from combat.

As I've stated many times, I don't think that the damage type of affinity for a resource should be defined in the resource file, but in the unit/promotion define where affinity is given. Attack and defense affinity should be seperate. (This might count as "ability to alter more than :strength: with Affinity")


Just to be clear, the promotions granted onMove can already go to your team members; I want to make them go only to your team (or make it two seperate but very similar tags, if you think it is important to let units of any civ get healed in the city with Aquae Sucellus) so you could use this tag for the UB promotions without letting all your rivals gets the same promotions.
 
Unhappy in your own only if you know someone who DOES have the resource? I suppose I could link any negative modification to a resource to knowing someone who has it, that helps keep a negative from popping up for something which just isn't available on the map. Or slot it as two seperate fields (them no resource penalty, and us no resource penalty)


I've been thinking lately of possibly getting together with the other DLL FfH modders and setting up to make a single DLL which incorporates everything right off. Could be kinda nice, but would wind up probably just being frustration all around. The problems arise when someone wants to try out a tweak and then posts it to find out that someone else has done the same, or made changes which are not compatable. Thus it tends to be better I think to leave everyone working on their own projects and just be aware they are there to pick what you want from them.
 
Uploaded 1.03 last night as the intended final pre-32 release.


I fixed the resources from Civics problem of not loading the last resource. Problem was that I had a comment tag in the XML in a location apparently not supported. Removed all my XML comment tags except a note that I have changed an entry at the very top of the XML fields for it to avoid future issues.

Imported Obsolete Buildings, all except for the ability to have a building warn you which other buildings make it obsolete (each one still states what it personally will cause to go obsolete). When I figure out why that function is breaking FfH I will fix it and notify users of the DLL source.

Fixed Recon, Rebase & Airlift to use the buttons which FfH provided for them. Also created new Cursors for targeting the abilities, I hope they are enjoyed.



Edit: Before anyone gets around to asking in a few days if I am ever going to release a .32 version, my schedule is as follows:
  1. Pray that Gameflood finally lets me download the new mod
  2. check all XML and Python changes so I can update the Manual, Manually update this Mod, fix WorkerMod and Modular FfH and report any cosmetic issues
  3. Wait for the SDK files to be uploaded by Kael
  4. Merge Changes with my own DLL and bugcheck
  5. Firaxis patch probably comes out about at this point, so also merge changes from that
  6. WoC 1.00 comes out at this same time, so begin trying to make FfH work under their standards all over again
 
Nope, just means that I made a mistake in formatting the post :)

As I was working on new elements in the MODCOMP (instead of getting WorkerMod up to patch 32 compliance) I realized that I assigned Decius as a leader for Amurites instead of Bannor on accident. So anyone wanting to use this as a base for their XML should make note of that mistake.


Also, I will probably change to releasing this as DLL, Modified Source Files, neccessary Python and Schema only in a fairly short while when I finally release an actual mod. It just makes it a bit less complicated, and people will be able to grab the mod as well to see fields being used should they NEED an example. Most should be quite self-explanatory though, especially since they are all documented in-game with tooltips.
 
Thank you very much for this. I'm merging now.:)
Btw what is the "attackenable" and "movebetter" in the gamecoreutils about? The original code looked to make sense to me.
Your tweak to the blitzpromotionvalidation however makes sense to me and I will include this in WH as well.

Edit: ah I see guess it's for your new promotiontags then nevermind
 
Yes, that is part of Dynamic UUs. That section allows you to gain access to a UU version of a unit if you do not already have one and are first to research a Technology. In my sample XML I have it set up so that the first person to research Guilds will be able to use the Courtesan.
 
Ok np it only occured where you put the readpass for it.;)

another note:
iCombatLimit was removed from your unitschema under promotioninfos which was used for Illusions in 0.32. did you replace this tag with another function or was it an oversight?
 
Buildings don't display enabled units in the pedia in your modcomp. Allthough in WH where I merged most of your code they still do strangely. Maybe you forgot some gametextmgr lines? (allthough unlikely as I didn't notice anything during the mergingprocess so simply to say I have no idea why it works with WH but not in your expansion - still glad though as normally the opposite occurs where it works anywhere else but not in my mod:D)

about the obsolete buildings modcomp do you think there might be an elegant way to still be able to produce i.e. archers with the bowyerbuilding after the archery range got obsoleted?
I originally planned that feature for defensive structures only but your implemention for different tiers of military buildings as unitprereqs is also interesting.
 
I've still yet to sit down and write a multiple building requirement mod from scratch. The import attempt at the one written for Warlords utterly failed (and is probably what broke my pedia display of enabled units. I've found that I didn't remove the code I attempted to import and cleared that up since last upload, and it is displaying fine for me right now).
 
Its not really relevant to anything else in this modmod, but since I've been wanting it for a while and since you're now an SDK expert I'll request it anyway: Could change the way Colony Liberation works so that it doesn't have the "two cities on the same, seperate continent" requirement? I never liked this in BtS, and it is even less fitting in FfH. (I think the Lanun should be able to liberate all their landlocked cities, but keep the coasts.) Probably the best way would be to make it so that you can liberate any single city, and then gift other nearby cities to the colony's control.

I found a code here that supposedly lets you do this, but when I tried it several versions back (.25 or .30, iirc) I couldn't liberate anything.


While (and if) you're dealing with liberation, can you make it so that you can gift your cities to your vassals (the same way you could to anyone else) instead of only being able to liberate certain cities to them? You can gift cities to rivals and permanent allies, so I don;t understand why you can't just gift cities to vassals too.



Also, it might be nice to change the way derivative civs work, so that instead of just having one derivative civ you can set a list of possible derivatives, possibly in the order they would be chosen. Allowing specific derivative leaders might be good too. I also think that it would be better for colonies to be a different leader of the same civ when possible (as opposed to the current BtS way that won't place a duplicate of any civ already in the game if it can help it).
 
Actually you might be able to do the Derivative Civ thing in just Python. Assuming that the functions are exposed. To simulate Multiple entries, just have it set up so that it will check the Derivative Civ of the Derivative Civ if it isn't able to use them as the new Colony (make sure you set up the Derivatives so that you avoid any loops, or write the code such that it will catch and break any loops).
 
Back
Top Bottom