Instead, all upgrades are done via spell
Why by spell rather than automatic?
Why by spell rather than automatic?
I'm anxious to see how this will work. Are you saying that these aged, bigger and nastier animals will still be capturable?
If so, I think this will be a lot of fun. Again, the strategy (as it is now with Animals, Orthus, etc.) would be to use lesser units to weaken the 'beast' and then, capture/kill it. Now, you wouldn't go and give them all cannibalize would you.
I agree that often animals get promoted to a more powerful version too easily. However, I currently have a strength 3 Lizard with more than 100 XP -figure that one out! I'd still like to see a CHANCE of a surprise upgrade based on combat. Oh, make it 1% or something.![]()
will they age after they have been captured?
How exactly would it be done automatically? The animals do not have cities where they can upgrade normally. Upgrading via combat doesn't work, as it leads to strong animals too early. Any other option?
<PromotionInfo> <!-- Turn Back to Wood Golem -->
<Type>PROMOTION_TURN_BACK_TO_WOOD_GOLEM</Type>
<Description>TXT_KEY_PROMOTION_TURN_BACK_TO_WOOD_GOLEM</Description>
<PromotionPrereqOr1>PROMOTION_WORKSHOP_WOOD_GOLEM</PromotionPrereqOr1>
<PromotionPrereq>PROMOTION_WORKSHOP_CONTRACT_ENDED</PromotionPrereq>
<bEffectProm>1</bEffectProm>
<bAutoAcquire>1</bAutoAcquire>
<bMustMaintain>1</bMustMaintain>
<bNoXP>1</bNoXP>
<PrereqbAllowNULLUnitCombat>1</PrereqbAllowNULLUnitCombat>
<PrereqUnits>
<PrereqUnit>UNIT_WORKSHOP_GOLEM</PrereqUnit>
</PrereqUnits>
<bGraphicalOnly>1</bGraphicalOnly>
<Button>Modules\NormalModules\Golem_Workshops\art\golem_workshops.dds</Button>
<PyPerTurn>pCaster.cast(gc.getInfoTypeForString('SPELL_BECOME_WOOD_GOLEM'))</PyPerTurn>
</PromotionInfo>
<SpellInfo> <!-- Become Wood Golem -->
<Type>SPELL_BECOME_WOOD_GOLEM</Type>
<Description>TXT_KEY_SPELL_BECOME_WOOD_GOLEM</Description>
<Civilopedia>TXT_KEY_SPELL_BECOME_WOOD_GOLEM_PEDIA</Civilopedia>
<TechPrereq>TECH_NEVER</TechPrereq>
<bDisplayWhenDisabled>0</bDisplayWhenDisabled>
<ConvertUnitType>UNIT_WOOD_GOLEM</ConvertUnitType>
<AddPromotionType1>PROMOTION_CLEAR_WORKSHOP_CONTRACT</AddPromotionType1>
<bBuffCasterOnly>1</bBuffCasterOnly>
<PyRequirement>False</PyRequirement>
<bGraphicalOnly>1</bGraphicalOnly>
<Button>Art/Interface/Buttons/Units/Wood Golem.dds</Button>
</SpellInfo>
The spell is a convenience that allows me to do it all in XML. Human players will never see or use the spell.
Easier than making the HN animals show animal flag would be to have the flag just fail to show at all for HN units, and remove the Leader Name from their mouseover text.
I had an idea about salvaging the uber-strength animals, in an attempt to keep the 'world's a dangerous place feel' and maybe bring back some of what Kael's talking about in this thread. Specifically:
What about, instead of having the powerful creatures free to rampage around the map as they please, you turn their lairs into cultural zones like forts, and the powerful creatures are only able to move around in their cultural zones/territory? Weaker units, under the guise of having to "go out to find territory" would be the only ones free to leave the borders. If a weak animal unit somehow survives long enough, maybe to the point of becoming a beast (or later still if balance requires it), the unit forms a lair and a new territory region for that creature is spawned.
Inside these territory regions would roam either packs or strong (e.g. the currently bugged out strength, maybe a little weaker) single units to simulate these areas being extremely savage and requiring an organized effort to clear and make safe. These territory regions should also take precedence over your cultural borders, showing that it takes an organized effort to make the region safe (and to prevent potential bugs like creatures getting pushed into your territory, then free to run about as they please, when they should not be able to). Owing to this, lairs should probably not spawn for the first couple of turns, and they should not spawn within several tiles of cultural borders either, though the intent is to make it feel like these lairs and regions have been around for centuries, before civilizations begin to re-emerge.
This might also be applied to barb units, although I guess cities work fine there. (On the flip side, if barbs only use forts, you can allow players to populate the fort after conquering it, turning it into a city, maybe with some initial defensive buildings.) In this case, though the barb population is very dense in their "cultural" radius or territory (simulating a very barbaric region that needs to be pacified), they send out raiding parties whose strength is based on the world's tech level. Depending on how much lag it induces the units inside the territory should fight themselves and (very) slowly gain in strength, as you'd imagine barbarians would do when they're not out raiding. The raiding parties would be independent and would be more akin to the current flavor of barbs who venture out and invade your territory.
This allows you to keep some of the stronger units around, like minotaur and hill giants (or sabertooth tigers or giant scorpions), but they are limited to their territories. Weaker units would be pushed out, the ones who need to establish their own territory, and they are the ones you need to defend against.
From what little I know of such things, I suspect it would be difficult to use map-generated features (like mountains and rivers, as Kael mentions) to limit territories, but that would be a neat addition if it is possible.
Hmm... That's a very intriguing idea.
While doing it exactly as you describe would be a bit complex (Would need to use the leash mechanic, so either lots of python or lots of DLL work moving it into XML), it would probably be quite simple to add a new tag to units/promotions which forces a unit to remain in it's civ's territory, and enabling lairs as 'forts'. We could then have strong animals wandering the 'Wilderness', but they'd be able to wander the full extent of the 'wilderness' instead of just that around their own lair.![]()