Dom Pedro II
Modder For Life
Greetings, folks...
I thought I'd let you all in on what I've been working on lately.
I've been working on a big bundle of features for promotions that I need for my mod and I'll be releasing as a modcomp so other people can use them.
But the list includes:
Requirements for Promotion:
Prerequisite Civic: Just as it sounds... a player needs to have this civic to get the promotion.
Prerequisite Bonus: Player has to have a specific bonus to get the promotion... does not support multiple bonuses. (I'm not that qualified yet
)
Prerequisite Building: Since this isn't like training or constructing units and buildings in cities, this simply checks whether the player has one of the specified buildings anywhere... so it's best for wonders.
Prerequisite State Religion: Again, since it's not city-by-city, it's based on the current state religion rather than the religion of any one city.
Civ-specific Promotions: Basically, narrows the civilizations that can get a particular promotion.
Requires Battle: This basically prevents you from being able to acquire a promotion if the unit has not yet won a battle... so you can't just get tons of stacking free XP points and level right on up the line... the unit actually has to do some fighting.
Requires Victory: The unit has to actually win a battle. Withdrawing isn't good enough.
Requires Slave Capture: This has no use in vanilla Civ... but combined with other mods that allow for capturing slaves, this will be a requirement for a promotion.
Promotion Effects:
Unit Stack Modifier: This alters a units strength based on the number of units on the tile... there's two values for this: the modifier percent and the "threshold". The threshold is the number of units that can be present on one tile before the modifier takes effect. A negative value has a specific formula that reduces the penalty for each additional unit beyond the threshold so that it's not possible to get to 0 strength or a negative value. A positive value simply adds up the number of units multiplies it by the modifier percent and then multiplies that by the current strength.
Foreign City Defense Modifier: This reduces or increases the effectiveness of a defending unit based on the cultural percentage of the city... i.e. if there's less of that civilization's people in the city, the unit's defense ability is lowered.
Anti-Promotion Modifier: Just what it sounds like... you can have promotions that work against units with other promotions.
Unit Class Modifier: Promotions that target specific unit classes rather than only Unit Combats (the original Unit Combat Modifier has not been touched)
Make Invisible: This promotion feature makes a unit invisible.
Terrain Invisibility: This makes a unit invisible when its on a specific terrain type.
Feature Invisibility: Same as above but with features.
Terrain Withdrawal Change: Alters the withdrawal chance of a unit when attacking from the specified terrain.
Feature Withdrawal Change: Same as above but with features.
Terrain First Strikes Change:Adds or subtracts first strikes based on the terrain the unit is in.
Feature First Strikes Change: Same as above but with features.
Terrain Heal Change: Changes the heal rate of a unit (only that unit, not the healing of other units on the stack) based on the terrain it's on.
Feature Heal Change: Same as above but with features.
Ok, so why all these things? The terrain stuff was inspired by something I saw in the FfH forum about units being invisible on certain terrain and decided it was a great idea and I wanted to be able to have the same thing myself. So then I started to look around at what else I could change and came up with these things.
As for the requiring the capture of slaves, I want this to make a civ-specific promotion for the Aztecs... and I want to do away with the Jaguar unit. Jaguars couldn't be built... becoming a Jaguar was a right that had to be earned on the battlefield by capturing at least five slaves to be sacrificed. So this would allow a unit to be upgraded to a Jaguar when it captures a slave and has the XP needed for another promotion.
The Unit Stack Modifier is intended for several reasons... 1) to help break up the stack of doom. 2) I want certain units to be particularly powerful when alone but not when traveling in groups... in particular, I want this for special ops units. If they're traveling with a huge army, they sort of lose their effect. It's also meant to be used as part of a much broader change to the combat system I'm planning.
The Foreign City Modifier is meant to be used for Raiding traits that give powerful offensive capacity to those civilizations but at the cost of being less able to hold what they take. Again, it's part of much more broad changes I've got planned for the future.
Lastly... what's my progress? Have I got something solid here or are these just the fevered dreams of a madman? Well, let me assure you that every single one of these things has been put by me into the SDK already... Some are not completed, some are having some snags (which I'll be sure to pester more experienced coders about), but I'm going to start running tests very shortly and then will be looking for beta testers sometime after I've run my own tests.
Comments? Questions? Criticism? Suggestions?
I thought I'd let you all in on what I've been working on lately.
I've been working on a big bundle of features for promotions that I need for my mod and I'll be releasing as a modcomp so other people can use them.
But the list includes:
Requirements for Promotion:
Prerequisite Civic: Just as it sounds... a player needs to have this civic to get the promotion.
Prerequisite Bonus: Player has to have a specific bonus to get the promotion... does not support multiple bonuses. (I'm not that qualified yet

Prerequisite Building: Since this isn't like training or constructing units and buildings in cities, this simply checks whether the player has one of the specified buildings anywhere... so it's best for wonders.
Prerequisite State Religion: Again, since it's not city-by-city, it's based on the current state religion rather than the religion of any one city.
Civ-specific Promotions: Basically, narrows the civilizations that can get a particular promotion.
Requires Battle: This basically prevents you from being able to acquire a promotion if the unit has not yet won a battle... so you can't just get tons of stacking free XP points and level right on up the line... the unit actually has to do some fighting.
Requires Victory: The unit has to actually win a battle. Withdrawing isn't good enough.
Requires Slave Capture: This has no use in vanilla Civ... but combined with other mods that allow for capturing slaves, this will be a requirement for a promotion.
Promotion Effects:
Unit Stack Modifier: This alters a units strength based on the number of units on the tile... there's two values for this: the modifier percent and the "threshold". The threshold is the number of units that can be present on one tile before the modifier takes effect. A negative value has a specific formula that reduces the penalty for each additional unit beyond the threshold so that it's not possible to get to 0 strength or a negative value. A positive value simply adds up the number of units multiplies it by the modifier percent and then multiplies that by the current strength.
Foreign City Defense Modifier: This reduces or increases the effectiveness of a defending unit based on the cultural percentage of the city... i.e. if there's less of that civilization's people in the city, the unit's defense ability is lowered.
Anti-Promotion Modifier: Just what it sounds like... you can have promotions that work against units with other promotions.
Unit Class Modifier: Promotions that target specific unit classes rather than only Unit Combats (the original Unit Combat Modifier has not been touched)
Make Invisible: This promotion feature makes a unit invisible.
Terrain Invisibility: This makes a unit invisible when its on a specific terrain type.
Feature Invisibility: Same as above but with features.
Terrain Withdrawal Change: Alters the withdrawal chance of a unit when attacking from the specified terrain.
Feature Withdrawal Change: Same as above but with features.
Terrain First Strikes Change:Adds or subtracts first strikes based on the terrain the unit is in.
Feature First Strikes Change: Same as above but with features.
Terrain Heal Change: Changes the heal rate of a unit (only that unit, not the healing of other units on the stack) based on the terrain it's on.
Feature Heal Change: Same as above but with features.
Ok, so why all these things? The terrain stuff was inspired by something I saw in the FfH forum about units being invisible on certain terrain and decided it was a great idea and I wanted to be able to have the same thing myself. So then I started to look around at what else I could change and came up with these things.
As for the requiring the capture of slaves, I want this to make a civ-specific promotion for the Aztecs... and I want to do away with the Jaguar unit. Jaguars couldn't be built... becoming a Jaguar was a right that had to be earned on the battlefield by capturing at least five slaves to be sacrificed. So this would allow a unit to be upgraded to a Jaguar when it captures a slave and has the XP needed for another promotion.
The Unit Stack Modifier is intended for several reasons... 1) to help break up the stack of doom. 2) I want certain units to be particularly powerful when alone but not when traveling in groups... in particular, I want this for special ops units. If they're traveling with a huge army, they sort of lose their effect. It's also meant to be used as part of a much broader change to the combat system I'm planning.
The Foreign City Modifier is meant to be used for Raiding traits that give powerful offensive capacity to those civilizations but at the cost of being less able to hold what they take. Again, it's part of much more broad changes I've got planned for the future.
Lastly... what's my progress? Have I got something solid here or are these just the fevered dreams of a madman? Well, let me assure you that every single one of these things has been put by me into the SDK already... Some are not completed, some are having some snags (which I'll be sure to pester more experienced coders about), but I'm going to start running tests very shortly and then will be looking for beta testers sometime after I've run my own tests.
Comments? Questions? Criticism? Suggestions?