[BUG] Does "Value" from GameModifiers stay in effect until set again? (Typos/Bugs in CoreArmor.xml)

I've been digging through the XML files in preparation for some modding. I apologize in advance if I've sounded the "BUG" cry in error. Here's a snippet from CoreWeapons.xml to frame my question (bugs are in CoreArmor.xml, next section):

Part of the "Axe" GameItem, with my comments.

Code: xml
  1. <!-- This part adjusts the unit’s Attack value by +6  -->
  2. <GameModifier>
  3.           <ModType>Unit</ModType>
  4.           <Attribute>AdjustUnitStat</Attribute>
  5.           <StrVal>UnitStat_Attack</StrVal>
  6.           <Value>6.0</Value>
  7. </GameModifier>
  8. <!-- This part is telling the engine something about the unit’s damage type. -->
  9. <GameModifier>
  10.           <ModType>Unit</ModType>
  11.           <Attribute>AdjustUnitStat</Attribute>
  12.           <StrVal>UnitStat_CuttingDamage</StrVal>
  13. <!-- NOTICE: there’s no “Value” tag here to say “how much cutting damage”  -->
  14. <!-- OPTION 1: It’s simply toggling the unit’s damage type to “Cutting” -->
  15. <!-- OPTION 2: It’s telling the engine that the attack value modifications that are occurring in this “batch” of effects should all by categorized as “Cutting” -->
  16. <!-- OPTION 3: The "Value" from the previous GameModifier is "still in effect," since this GameModifier didn't set a new one. This would mean we've just increased both Untyped and Cutting damage by 6.  -->
  17. </GameModifier>

Could we get some clarification on which of those options (or something else entirely) is actually true here? Armor appears to follow a similar scheme, though I think UnitStat_CuttingDefense is supposed to be used instead of UnitStat_CuttingDamage.

Here's an example from CoreArmor.xml from the "Fallenchainmailshirt" GameItem (that I think is correct)

Code: xml
  1. <!-- Equipment Modifiers -->
  2.     <GameModifier>
  3.       <ModType>Unit</ModType>
  4.       <Attribute>AdjustUnitStat</Attribute>
  5.       <StrVal>UnitStat_Defense</StrVal>
  6.       <Value>4.0</Value>
  7.     </GameModifier>
  8.     <GameModifier>
  9.       <ModType>Unit</ModType>
  10.       <Attribute>AdjustUnitStat</Attribute>
  11.       <StrVal>UnitStat_CuttingDefense</StrVal>
  12.     </GameModifier>
  13.     <GameModifier>


Here's an example from the same file from the "FallenScaleMailShirt" GameItem (that I think is wrong)
Code: xml
  1. <!-- Equipment Modifiers -->
  2.     <GameModifier>
  3.       <ModType>Unit</ModType>
  4.       <Attribute>AdjustUnitStat</Attribute>
  5.       <StrVal>UnitStat_Defense</StrVal>
  6.       <Value>6.0</Value>
  7.     </GameModifier>
  8.     <GameModifier>
  9.       <ModType>Unit</ModType>
  10.       <Attribute>AdjustUnitStat</Attribute>
  11.       <!-- This equipment appears to modify the DAMAGE the unit is doing?! -->
  12.       <StrVal>UnitStat_CuttingDamage</StrVal>
  13.     </GameModifier>
  14.     <GameModifier>


There are actually quite a number of armor pieces in that file that have UnitStat_*Damage effects. You can search for "Damage<" and it will take you right to them.

But if someone could answer my question about the "cascading" Value for GameModifiers, that would be awesome. Thanks!

Happy bug hunting.
Gnilbert

2,537 views 3 replies
Reply #1 Top

Legacy components. Weapons used to do specific damage types, and thus specific armor types protected better vs some times then others.

It is also in the PDF manual.

 

However this did not make it live. The game currently only sees Damage, not CuttingDamage.

Reply #2 Top

Ah, that's disappointing. I hope they implement these at some point.

Reply #3 Top

Value for a game mod tag is only the value for that tag, If no value is set for that tag then it doesnt have a value.