Thunderbrd
C2C War Dog

Introduction to the C2C Combat Mod
Step III - The New Face of Combat
I know it's taken me a while to get to this part but I've been wanting to get some things smoothed out first. I still have a bit of work to do to get things running up to optimum and Koshling has been a HUGE, no, beyond GIGANTIC help in this effort. Thanks Koshling!
But I feel its time to continue.
Retraining and Ongoing Training:
One thing we've been hammering out is some adjustments to promotion mechanisms. I'd like to take a brief moment to explain what that's all about.
As a unit updates and promotes, as the march of technological progress makes certain old benefits no longer meaningful, and as the leaders choose new religions to follow, often, promotions may go obsolete. When this happens, they will no longer remain on as useless bonuses retained by somewhat outdated units. Instead, they will be officially removed.
If the promotions removed from obsoletion are free promotions, they will simply vanish. However, if they were well earned selections by leveling your unit, you will now have the ability to re-train those promotions lost and take new selections in their place.
Eventually, this will tie in to a building ability being developed as an addendum to the initial Combat Mod release that will allow units of defined combat classes to access, while in the city with the enabling building, a mission that grants the option to Retrain. When this option is selected, you'll be able to then select one of your skill earned promos for removal and will thereafter be able to replace it with a new one of your current liking. This will most likely be a Bug Option available in what will soon be a Combat Mod page in the Bug Option pages.
Additionally, units will soon have the ability to undergo ongoing training. Probably also under the directive of a similar option, it will enable military training facilities to periodically release a free experience point to the most deserving local (stationed in the city) unit of the combat class defined. The tags work to define not only the combat class receiving the occasional xp benefit, but also how long it takes for the cycle to pump out another experience point.
This option will enable city defenses and garrisoned attack stacks to slowly gain some experience to help counteract the 'attackers always have more experience' element that helps the ultra-aggressive always remain indomitable.
Between both options, you won't have to constantly rebuild your defensive forces just to keep them on the cutting edge. It makes upgrading a useful alternative to completely regenerating a whole new force.
The tags are developed for all effects mentioned, with the exception of completion of the retraining building tags and the mission associated with it. Additionally, we should wait a bit for me to define the Bug Combat Mod options before really enabling these systems.
For now, you'll notice if you lose a chosen promo, you will be able to retrain it. Recent improvements have made that system a bit more apparent what's taking place.
Fundamental Combat Mechanics Changes:
How things were:
- Every round, the system would make a combat roll which would award the round to either the defender or the attacker. The base odds you see when looking at a possible attack was the split in chance between the two, thus if the Attacker Odds (the odds you see when you look at the combat help popup) are 70%, for the entire combat, every round would be won by the Attacker if the roll was less than 70 (simplification) or the Defender if the roll was greater than 70.
- Damage was based entirely on a ratio between their power, as were the odds. (resulting in a predefined number between 6 and 60 (would be different for the attacker or the defender) that would be inflicted on the loser of every round. HP is always 100 on a fully healthy unit so it's really a measure of % damage which correlates later into the same % power reduction. During battle, however, any damage suffered would not influence the strength of the injured unit.
- Withdrawal would take place if the Attacker was taking a hit that would finish it off and instead succeeded on a withdrawal check (the percent chance you normally see on withdrawals). This could happen for the defender if on the Defensive Withdrawal game option, but only if the defender could retreat to a location where there was no threat from another enemy unit.
How things are now:
- Every round, both attacker and defender make independent to-hit rolls. This means both may hit, only one or the other may hit, or neither may hit.
- The odds still define the likelihood of a hit landing, but you'll see odds reflective of an overall victory or defeat on the popup. Your hit chances are modified by your Precision - your opponent's Dodge (can only be a penalty as precision modifier cannot exceed your opponent's dodge.) Right now, all units have the same value dodge and precision (base 100% on both) but as units and their equipments and skill promotions become further developed, you'll see a lot of variation here and it can mean a lot in whether you succeed or fail in battle. (odds will consider them when you look at the combat help popup panel.)
- On scoring a hit, you deal damage. The base calculation for figuring out how much damage you deal is the same as it was before, but it can be reduced by your opponent's Armor value which is reduced by your Puncture value. Thus the amount of Armor your opponent has that exceeds your Puncture will be the percentage less damage you deal when you land a hit.
- Rather than damage amounts being static and never changing throughout a battle, now the system recalculates the basic combat values on a unit every round of battle. You should already be able to notice, upon opening up the combat log after a conflict, that every hit you land weakens the enemy and thus increases the damage you deal on successive hits thereafter and vice versa when the enemy strikes you.
- We'll now have the ability to add effects that make a Unit strengthen or weaken over the course of a battle. More on this in a moment when I go through the new tags and the abilities they represent.
- Withdrawal hasn't really changed but a new ability, Early Withdrawal may now allow units to start attempting withdrawal before they've taken their last possible hit. Again, this works for both attackers and defenders (if you have defensive withdrawal on.) You've been informed now that HP is a percentage of the unit's health. Early Withdrawal is the adjustment to the amount of HP that the unit will begin withdrawing at (if hurt to less than the percentage represented by the unit's Early Withdrawal value it will try to withdraw every round until successful or dead.)
- Now there's new ways to end a battle non-lethally, whereas Withdrawal was previously the only way. We can now have Repel or Knockback end a battle without the destruction of one or the other troop. Repel represents a defender wearing out the will of the attacker to continue to press on with the fight, while Knockback represents a unit being 'smoked out of its defensive position' usually by a fire wielding unit. Knockback will appear fairly similar to Defensive Withdraw but is initiated by an attacker just before it would have otherwise died. Repel will appear fairly similar to Withdrawal except that its initiated by the defender just before it would have otherwise died.
- For both of these new non-lethal combat skills, we now also have Early features, such as Early Knockback, and Early Repel, which work just like Early Withdrawal by getting the unit that can Knockback or Repel to start trying these attempts every round after passing the newly defined health threshold. (20% Early Knockback means the unit starts trying to knockback once it has only 20 hp or less remaining etc...)
And there's more new unit abilities to take into consideration as well. So here's the full list:
- Pursuit:
UnitInfos tag: iPursuit - sets the base value for the unit
PromotionInfos tag: iPursuitChange - sets the change in value to the unit's Pursuit when Promotion is possessed by unit.
Pursuit is a direct counteraction to your opponent's withdrawal chances. If a unit with Withdrawal attacks a unit with Pursuit, its chance of Withdraw is directly reduced by the Defender's Pursuit and vice versa on Defender Withdrawal if that option is on, thus an Attacker's Pursuit reduces the Defender's Withdrawal chance. Pursuit does not counteract the Early Withdraw value of the opponent unit however, just its odds of successful withdrawal any round it attempts one.
This is generally reserved for Canines (who should be the best at this), other Trained Animals with some speed such as Felines, and Light (fast) Mounted units who will charge off after their retreating foes.
Pursuit also makes it possible to entrap units like Siege weapons that have a 'Combat Limit' that limits how much damage they can deal to the opponent after which they would normally make an automatic withdrawal. Their chances of success (100%) are also reduced by Pursuit values of the defender.
Additionally, in some rare cases, a unit can Pursue a foe only to be dispatched in the continued enforced battle, not so rare when you start pursuing a fairly strong unit that has Early Withdrawal...
- Early Withdrawal:
UnitInfos tag: iEarlyWithdrawal - sets the base value for the unit
PromotionInfos tag: iEarlyWithdrawalChange - sets the change in value to the unit's Early Withdrawal when Promotion is possessed by unit.
This was extensively discussed above, but to review:
If I have Early Withdrawal of 50, I start trying to withdraw at 50% of my HP being lost and will keep trying every round until I either succeed or am defeated. It does not mean I'm not getting an attack in those rounds where I'm attempting withdrawal either.
While Early Withdrawal has no connection to the success odds of a given chance of Withdrawal, it can vastly impact the overall ability to successfully withdraw over the course of a given combat as it may mean a lot more attempts to do so than just the usual one try allowed.
I had meant for it to mainly be reserved for Light Mounted units but ls612 cunningly advanced the idea that it could be used for skirmishing foot units as well (who would have much lower chances of withdrawal success nevertheless) that go in to make attacks with thrown weapons like Javelins and turn to flee the battle immediately thereafter.
It's also an extremely effective method for a poisoner, who can step in, deal a touch of damage, leave a poison affliction behind on the attacked unit, and get out of battle before much damage has been taken in return.
Take care not to allow it to get tooooo high or you will be attempting withdrawal as soon as the fight begins (after first strikes are resolved.) This would make your attacks less than meaningful, though with Power Strikes (below) it could still be a good strategy for wearing down your opponent.
This should also be useful for scout units, wanting no trouble, just the opportunity to watch and report, trying to get away from hostilities with Defensive Withdrawal.
- VSBarbs:
UnitInfos tag: iVSBarbs - sets the base value for the unit
PromotionInfos tag: iVSBarbsChange - sets the change in value to the unit's VSBarbs when Promotion is possessed by unit.
This is a combat modifier vs NON-Animal barbarians. Pretty simple but a nice parallel to anti-animal hunting promos. Aside from using it to parallel where those bonuses are available, I'll leave it to you guys to decide how to utilize this.
I do, however, suggest to use it liberally on those Tribal Defenders so that it protects early civs from barb elimination while not crushing the applicability of early warfare tactics some game strategies find useful.
- Armor:
UnitInfos tag: iArmor - sets the base value for the unit
PromotionInfos tag: iArmorChange - sets the change in value to the unit's Armor when Promotion is possessed by unit.
Again, this has already been basically explained above.
Armor is basically damage resistance. Thick animal hides and tough Neanderthal skin should run around 5-10% armors naturally but I'm not thinking many Human units would naturally have Armor values. This would come, rather, from the Armor Equipments they've accessed.
Armor and Puncture are values meant to increase drastically over the course of the game and are fully capable of going well beyond 100 as Puncture can only counter as much Armor bonus exists on the opponent unit.
They are intended to assist us in showing deeper elements of the history of weapons and armor development. More on this in a bit.
Armor can never completely eliminate damage from a hit (max reduction amounts to 95% less damage per hit) and thus is never an effective means to avoid Poisoning. In fact, heavier armors should probably reduce a unit's Precision values, making it harder for a unit in heavy armor to land a blow on the opponent. It would also most commonly reduce a unit's ability to dodge. Armor puts a combatant in the field ready to take the hits coming and draw out a battle as long as necessary to come out victorious.
- Puncture:
UnitInfos tag: iPuncture - sets the base value for the unit
PromotionInfos tag: iPunctureChange - sets the change in value to the unit's Puncture when Promotion is possessed by unit.
Even more was said about this under the Armor description. I could have made Puncture a Damage value, but that's relegated to Power mostly and I wanted Puncture to only go as far as potentially negating armor so we could really show what happened when Gunpowder completely obsoleted use of advanced armor developments until the modern era started showing a return to some useful armors such as Kevlar and such.
Again, while natural weaponry on animals will tend to give them innate puncture ability, for humans, it should mostly be a matter of the quality of their weapons, and a lot on the materials of the weapons used. (Thus both Armor and Puncture should mostly be contained in the values given to the equipment promos.)
- Dig In:
UnitInfos tag: iDigIn - sets the base value for the unit
PromotionInfos tag: iDigInChange - sets the change in value to the unit's Dig In when Promotion is possessed by unit.
This potent value is the increased defense percentage bonus for every round the unit is fortified (caps out of course with the max 5 rounds benefit from fortification.) Thus, 5% Dig In will mean doubling the amount of defensive bonus possible on the unit from Fortifying (another +25% total possible modifier).
Powerful huh? But it does have its drawbacks. Units with Dig In must be used with great planning to get the most out of their benefits. They are not highly mobile in application by any means and are mostly good for pointed territory and city defense.
And while each promo on the Dig In line should add another 5% Dig In benefit (3 promos on the line) with some few units naturally having this ability due to innate training, for Human troops, mostly just mere access to the Dig In promo line should be more often employed than innate Dig In bonus. An animal that tends to really create effective natural defenses in its lair would be a worthy innate Dig In situation. Some highly advanced techs may generate some units with a natural Dig In ability as well.
And while powerful, Dig In does have a weakness/counter. A few actually - this is one huge reason to have some attackers with Knockback! Even if you can't get a successful Knockback to kick the defender out of its plot (on cities it does not), it will still force that defender to lose all fortification bonuses, including any derived from Dig In! But this isn't the most direct way to counter units in your path that have this ability...
- Fortified Collateral Defense:
UnitInfos tag: iFortCollatDef- sets the base value for the unit
PromotionInfos tag: iFortCollatDefChange- sets the change in value to the unit's Fortified Collateral Defense when Promotion is possessed by unit.
The intention of this tag, along with Dig In, is primarily to help us better represent the devastating defensive effectiveness of Trench Warfare and Castles (buildings can add this to combat classes in the city too!) So primarily, Dig In and Fortified Collateral Defense should become the main fare for our Trench Warfare promotion line.
We already have Collateral Defense, and this works similar, except that the unit's collateral defense value will increase by this value for every round the unit is fortified (still max 5 rnd benefit.)
This, too, is counterable by the same methods that may counter Dig In and general Fortification bonuses.
And the primary method of so doing is:
- Overrun:
UnitInfos tag: iOverrun- sets the base value for the unit
PromotionInfos tag: iOverrunChange- sets the change in value to the unit's Overrun when Promotion is possessed by unit.
Overrun directly reduces the defender's fortification bonuses (all forms since there's now multiple sources) by a percentage equal to the Overrun value on the attacker. Thus if I have 50% Overrun, 50% of your total defensive bonus from fortification is negated, and 50% of your Fortified Collateral Defense is negated.
This is to represent the power of Mounted and Tracked units to blast through defensive fortifications. In particular, the Tank. It was historically put to development and use in a frantic effort to end the stalemate that trench warfare had established on the battle fronts of WWI. Tanks effectively drove over the trenches, through the barbed wire, and plowed past all fortifications to break holes in the ranks, allowing units that followed to pour through and take the desired strategic positions beyond.
Hydro also noted, in a recent conversation, that Elephants would be great recipients of an ability to smash through barriers... here it is!
- Repel:
UnitInfos tag: iRepel- sets the base value for the unit
PromotionInfos tag: iRepel- sets the change in value to the unit's Repel when Promotion is possessed by unit.
A tortoise hides in its shell until the hunter gives up. An aardvark rolls up in a ball and goes still to frustrate its predators. A wounded archer may hide among the rubble until the invader gives up trying to find them. A skunk blasts those who dare encroach on its personal space with a horrifying stench spray eliminating the will of its foe to approach any closer.
All of these are valid reflections of the ability represented by Repel.
While this may seem like it can lead to a situation where the attacker simply cannot take the city (100% Repel on the defender), there are ways to overcome a Repelling opponent.
Additionally, there is a building tag that allows the defensive building to provide a level of Repel value (should be a fairly minor amount) to particular combat classes defending the city. This is intended for walls, Castles and castle derivative buildings. Until I enable the targeted destruction of buildings themselves by bombarding units, this will be a hugely powerful defensive measure as this effect will remain even if the city's cultural defensive bonus has been knocked down to 0%.
- Fortified Repel:
UnitInfos tag: iFortRepel- sets the base value for the unit
PromotionInfos tag: iFortRepelChange- sets the change in value to the unit's Fortified Repel when Promotion is possessed by unit.
These units get themselves into positions and familiarity with their defensive terrain that makes them next to impossible to completely eliminate. Their Repel value grows while fortified at the rate indicated by the value of their Fortified Repel (again max 5 rnd benefit). Thus a 5% Fortified Repel will mean a total +25% Repel value for a capped out fortified Defender.
Again, another way to enhance the value of Trench Warfare! This is its primary application and I have yet to fully envision other causes for differentiation between applying this tag and a basic Repel value.
Note: An attacker with Overrun will reduce any built up Repel Value from Fortified Repel on the defender just as it does other Fortification values!
- Early Repel:
UnitInfos tag: iEarlyRepel- sets the base value for the unit
PromotionInfos tag: iEarlyRepelChange- sets the change in value to the unit's Early Repel when Promotion is possessed by unit.
Rather than waiting until near-death, Early Repel prompts the Repelling unit to begin Repel attempts every round after their damage threshold has been crossed.
But the cause to have Early Repel vs any other type is a matter of how soon the defender will retreat to nearly impenetrable ground, or how quickly it would begin attempting to use a special method (such as the Skunk might spray immediately) to repel.
Surely, where Human units are concerned, this would mostly be a developed ability on a promotion chain available to select defensive combat classes. It could also be readily available to extremely high tech units that start throwing tear gas sprays or other repellent gasses at nearly the onset of battle.
- Unyielding:
UnitInfos tag: iUnyielding - sets the base value for the unit
PromotionInfos tag: iUnyieldingChange - sets the change in value to the unit's Unyielding when Promotion is possessed by unit.
To counteract Repel and Knockback, a unit with extreme determination or blind ignorance of obvious threats and irritants may develop an ability to become Unyielding. A unit's unyielding value is a direct counter to Repel and Knockback values and operates in an almost identical fashion to Pursuit in relation to Withdrawal values.
Extreme honor and valor can provide the impetus for developing Unyielding values on a unit and it will probably play in heavily with the soon to be designed Emotional promotions. But for now, access to the ability to develop this and/or assignment of base innate Unyielding ability can be guided on the basis of higher principles or base bloodlust existing in the nature of a given unit.
- Knockback:
UnitInfos tag: iKnockback - sets the base value for the unit
PromotionInfos tag: iKnockbackChange - sets the change in value to the unit's Knockback when Promotion is possessed by unit.
Knockback, the mechanics described in brief above, allows an attacker to have a chance (% odds of success represented by the value of the unit's Knockback ability) to force a defending unit out of its defensive positions if the attacker would otherwise normally die. In the open field, this means you force the defender to flee rather than you perishing.
Unless there's an outcry of desire to use this to represent massive brute force to push a unit back, lets not get confused with the current intention of this ability (and the messages its use flashes will currently support). It really represents the ability of flame wielding units to set defenses on fire around the defender, forcing them to evacuate. It's also good for explosive hurling units like grenadiers and for chemical weapons flingers like some promotions allow Siege weapons to become. It makes holding their ground potentially impossible for defenders.
But it is countered by Unyielding values on the defenders.
- Early Knockback:
UnitInfos tag: iEarlyKnockback - sets the base value for the unit
PromotionInfos tag: iEarlyKnockbackChange - sets the change in value to the unit's Early Knockback when Promotion is possessed by unit.
As usual with non-lethal combat abilities, Knockback is normally only given one opportunity, when the unit with the ability would normally otherwise die. And again, Early Knockback gets the unit to attempt knockback at a lower health loss threshold.
In general, this is a reflection of how quickly the unit can get their flames/gas to force the defender to evacuate. Thus, this would be more commonly high for many units than other forms of Early. An Arsonist may not have any Early Knockback as it takes some time for them to go around setting fires to get the defender to leave, but a Flamethrower might be able to get in close with an inferno much earlier. A thermobaric tank, for example, might be able to get its flames in close at a much greater range, thus having a very high Early Knockback. Range is a big feature to consider for these values. Skill at getting the defender to evacuate faster is another (and thus applied via a line of promos for fire wielders etc...)
- Dodge Modifier:
UnitInfos tag: iDodgeModifier- sets the base value for the unit
PromotionInfos tag: iDodgeModifierChange- sets the change in value to the unit's Dodge Modifier when Promotion is possessed by unit.
As noted above, Dodge is set at a base 100% (won't show on the unit if its unmodified.) It can only penalize the opponent's chance to score a hit on your unit. Therefore a low Dodge value isn't going to hurt you much. It's only effective if your Dodge is higher than your opponent's Precision Modifier. So the higher, the better of course!
Positive Dodge modifiers would mostly be earned by skill (promotions) or assigned
by great innate ability rare to find on Human units (although some extremely agile sorts such as Rogues and Jaguar Warriors may have increased innate dodge abilities.)
But most Armors will penalize dodge values. For most units, until the invention of Gunpowder, which at first comes with heavy Precision Penalties but massive Puncture values, Dodge is a lesser need in comparison with Armor, and less freely accessible. Some mounts may increase dodge but I wouldn't go too far with this as even a fast horse is still a big and thus easy target to hit.
Size modifiers should include Dodge penalties for increased size and bonuses for decreased size. Thus Dog units should have somewhat higher dodge values than the standard Human sized unit. And we have another reason to fear pigeons - (just kidding, sorta)
But if you can greatly penalize your opponent by having much higher dodge than your opponent's precision, you may easily make it out of a fight without taking hardly a scratch!
Odds reflect dodge and precision but as a result, what you see is not exactly the to hit odds anymore but a mathematical approximation of overall battle odds. Take note of your combat logs to see how often your unit hits or misses in a given round. Hopefully I can figure out how to generate messages in the combat log to make this even more obvious when you look there but I never could figure out the python necessary to make that workso for now you'll have to track by the round markers (where it re-expresses the current odds).
- Precision Modifier:
UnitInfos tag: iPrecisionModifier - sets the base value for the unit
PromotionInfos tag: iPrecisionModifierChange - sets the change in value to the unit's Precision Modifier when Promotion is possessed by unit.
I've explained most of this above already.
But lets keep in mind the standard that this is mostly a skill development region (common promotion line). Equipments, particular weapons, can influence Precision based on the ease of use. A sword, for example, should have a rather nice Precision modifier, while a Flail might... erm... flail about a bit thus having a bit of a penalty. Early Gunpowder weapons would suffer greatly as hitting the broad side of a barn was actually a bit of a trick for those early handheld projectiles.
A poisoner would do well to develop precision as anything that can help to ensure at least doing damage before end of battle can mean the difference between ending with the opponent poisoned or not.
It may seem as if I've divided basic Combat Strength into two counteractive sets, Dodge vs Precision and Armor vs Puncture... you'd be right. The value of these should be roughly conceived as half the value of a combat adjustment (note: I may have not accurately portrayed this in my initial AI valuations). Overall Combat Strength will largely form the core of both damage output, ability to minimize damage, speed of attacks and likelihood of inflicting injury, making Combat modifiers overall more effective. But if Armor or Dodge is applied liberally while the opponent does not effectively counter with Puncture or Precision, it can make a 6 str unit fully capable of defeating a 12 str unit so don't underestimate the power of these new metrics either!
Which is why there's also a tag for - Strength Modifier:
Just for Promotions (strength is already firmly established on base unit stats): iStrengthChange
Pretty much just gives us the ability to create a line just as effective but varying in effectiveness based on the situation as the Combat line. +1 Base Strength per promotion taken on the line.
Applied as a negative, its also highly useful for establishing penalty values on Afflictions!
Ok, I've covered a full theme set of tags here but I do have a lot more to discuss under this overall Introduction header, so I'll return tomorrow to complete the list. For now, chew on and discuss these
