I'm getting somewhat experienced modding and I have a question/suggestion. I think it would be cool to be able to add abilities to a model (in particular, a leader) dynamically. That is, I could add an ability based on an event firing without having to "tech upgrade" the leader. This would allow the leader to be upgraded with different abilities for whatever reason I like. I'm thinking about CW2, but I think the question is more general.
In the CW2 model DB there are columns for 9 abilities and the most that any model has is 5. Let's say I create an ability called "abiCincinatti" which increases cohesion, maybe, and has an image similar to but different from Cavalryman. Cincinatti
was a horse that was given to Ulysses S. Grant in 1864 and was very good looking. Then I could create an event which fires in 1864 (or has a chance to fire or whatever) and "upgrades" Grant to add this ability. By 1864 Grant often has accrued a lot of experience and, if I understand correctly, might have different leadership statistics from those he starts with.
So I could create a model called, say, $ldrabi_USA_Cincinatti with most everything "NULL" except Ability6 set to $abiCincinatti.
Then my event actions would be:
SelUnqSubUnit = Ulysses S. Grant
AltercuSubUnit = ApplyToList|Model $ldrabi_USA_Cincinatti
Would this work? If I wanted, could I use the same model and give Cincinatti to a different general or even multiple generals (another example, I could make a model called $ldrabi_USA_Malaria which affects activation, maybe, and is all "NULL" except Ability7 set to $abiMalaria, which could be given to any general who is in Florida to long or something).
The reasons this might not work include:
Ability7 is only read if Ability6 exists, which might not be true for all generals.
Each dynamic ability could only be assigned to a single variable, so only 4 dynamic abilities would be possible as the model DB currently looks.
Leaders can only be upgraded to the model which is in variable "TechUpg" or "TrainUpg" (and I don't think I'd want to use "TrainUpg").
The program would want to read something in the TemplateUID variable which would overwrite the statistics (it would be possible for TemplateUID to be set to Grant's model in the Cincinatti example).
Leaders can only be given a small number of abilities in this way (could be increased if more Ability variables were added).
If this wouldn't work, is there any other way to get dynamic abilities to work? I'm not sure how much people like things like this, but it would allow modders to increase the RPG aspect of leaders. It would also allow for lots of flavor abilities (entourage, skills developed while on campaign, etc).