Unit Option When Damaged Change Into Different Unit (Weakened Battleships)
-
@hepps A few things to consider:
-
Should we just have 1 unit option rather than 2 since they have the same format? Essentially replace 'whenHitPointsRepairedChangesInto' with 'whenHitPointsDamagedChangesInto' in my above example. Then both combat phase and repair phase just checks all of them?
-
Can a unit have multiple hit points and take bombing damage? This gets into whether this feature should only address HP damage or also bombing damage.
-
-
@redrum said in Unit Option When Damaged Change Into Different Unit (Weakened Battleships):
@hepps A few things to consider:
- Should we just have 1 unit option rather than 2 since they have the same format? Essentially replace 'whenHitPointsRepairedChangesInto' with 'whenHitPointsDamagedChangesInto' in my above example. Then both combat phase and repair phase just checks all of them?
I don't fully understand what you are asking here.
- Can a unit have multiple hit points and take bombing damage? This gets into whether this feature should only address HP damage or also bombing damage.
Ideally both. But I don't know what it involves to expand this out to bombing damage. If possible yes.
-
@redrum said in Unit Option When Damaged Change Into Different Unit (Weakened Battleships):
- Can a unit have multiple hit points and take bombing damage? This gets into whether this feature should only address HP damage or also bombing damage.
The one thing I noted which was a curious addition was to the WAW variant where fighters could inflict bombing damage on other normal units. In this case grounded aircraft. It is a very unique use of the attachment. Having looked over the XML I am still confused how the engine handles the two different types of damage... since it appears you can attach both to the same unit.
-
@hepps Hit point damage and bombing damage are treated completely separately. If either reaches 0 then the unit dies but they have no effect on each other. So in theory for this feature, you could set say battleships to have multiple hit points and be bombable. Then you could have different thresholds for each type of damage for it to turn into battleship_damaged. So we'd need separate unit options to handle each case, so something like this:
<option name="whenHitPointsDamagedChangesInto" value="1:germanBattleshipDamaged:true" count="1"/>
<option name="whenBombingDamagedChangesInto" value="1:germanBattleshipDamaged:true" count="1"/> -
@redrum Looks good. It would allow for a full range of options that can be picked by the designer.
-
@redrum Question Red. Does this theoretically mean that if you gave a unit 3 HP as well as 3 Bombing damage.... would the unit then be capable of sustaining 3+3 points of damage? I am curious how the engine would deal with a unit with 2 HPs of damage and 2 Bombing damage.
I'm guessing the two different types of damage would be unrelated to each other. Which could probably cause some issues and conflicts in how the unit is changed. Not that that is a huge issue as long as it is specified in the POS 2 XML.
-
@hepps Yeah, the 2 types of damage (combat vs bombing) are treated completely separately. So for a unit with 3 HP and 3 max bombing damage then could sustain 2 of each before dying.
-
@hepps as always you amaze me H because I was actually thinking the same thing. Obviously they need to be Pu related and tied together. Damage = damage. I wonder if its possible? Once again you thought of the question before I even asked it.

-
@prastle Well they wouldn't necessarily need to be tied together or related... as long as the sample XML clearly defines the uses and limitations/potential conflicts of using both systems on the same unit... then you can have 2 independent types of damage.
-
@hepps I cant see how independent would work when only one monetary system.
-
<option name="whenHitPointsDamagedChangesInto" value="1:germanBattleshipDamaged:true" count="1"/>
<option name="whenBombingDamagedChangesInto" value="1:germanBattleshipDamaged:true" count="1"/>So question on this in case I am missing something here...
Even though the 2 types of damage are independent of one another.... if the unit changed into the same "Damaged" unit at the end of the current combat phase... wouldn't then either type of damage be cumulative?
ie. I send my strat. Bomber in to bomb a undamaged BB. Let's say it achieves a hit and the bombing damage option then changes the unit into a damaged ship (if there is only 1 type of damaged ship), then that new unit would by virtue of the unit change automatically be changed to a unit having only 2 remaining HP.... so then if you had also launched an attack against the same battleship... during the same pound wouldn't the unit now still have only 2 HP at the start of the naval combat? therefore basically overrighting the bombing damage?
-
@hepps It would only work that way if the damaged BB unit had say max HP of 2 instead of 3. The reason is it would only carry over the damage of the unit being replaced (if 'keepDamage'=true) which would only be bombing damage in your case. So you'd end up with a damaged BB unit with 1 bombing damage and 0 hit point damage.
-
@redrum Ah ok. So you would then have to have 4 different types of damaged unit, causing all kinds of issues with unit changing and re-changing depending on the damage taken... that does present an issue.
-
@hepps So using both types of damage on multi hit units is probably not a realistic goal.
-
@hepps Agree. There would need to be further thought and logic to better handle units that can take both types of damage. Probably something like a damageConvert unit option which would translate bombing damage to HP and vice-versa. So say if a BB had 3 HP and 15 max bombing damage then you could have a 1-to-5 damage conversion ratio so it is damaged evenly (ex. if it takes 5 bombing damage then would take 1 HP damage).
You'd also have to think about how repair would work as well (again some conversion ratio so both are repaired at the same time or separate repairs). It gets pretty complicated pretty quickly.
-
@redrum Agreed.
Probably best if those two conversions were independent of one another.
-
@hepps Initial PR to address the damage (not repair) portion of this feature: https://github.com/triplea-game/triplea/pull/2689
Tested it by editing TWW to add unit, unit image, and below unit attachments:
<attachment name="unitAttachment" attachTo="germanBattleship" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="2"/> <option name="attack" value="7"/> <option name="defense" value="8"/> <option name="canBombard" value="true"/> <option name="isSea" value="true"/> <option name="hitPoints" value="2"/> <option name="bombard" value="6"/> <option name="requiresUnits" value="germanDocks:germanFactory"/> <option name="consumesUnits" value="1:germanHull"/> <option name="whenHitPointsDamagedChangesInto" value="1:true:germanBattleshipDamaged"/> </attachment> <attachment name="unitAttachment" attachTo="germanBattleshipDamaged" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="1"/> <option name="attack" value="3"/> <option name="defense" value="4"/> <option name="canBombard" value="true"/> <option name="isSea" value="true"/> <option name="hitPoints" value="2"/> <option name="bombard" value="3"/> </attachment> -
@redrum AWESOME!!!!!
-
Initial PR merged and can be tested on https://github.com/triplea-game/triplea/releases/tag/1.9.0.0.7804
-
Second PR to address repairing them: https://github.com/triplea-game/triplea/pull/2691
Tested with this XML:
<attachment name="unitAttachment" attachTo="germanBattleship" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="2"/> <option name="attack" value="7"/> <option name="defense" value="8"/> <option name="canBombard" value="true"/> <option name="isSea" value="true"/> <option name="hitPoints" value="2"/> <option name="bombard" value="6"/> <option name="requiresUnits" value="germanDocks:germanFactory"/> <option name="consumesUnits" value="1:germanHull"/> <option name="whenHitPointsDamagedChangesInto" value="1:true:germanBattleshipDamaged"/> </attachment> <attachment name="unitAttachment" attachTo="germanBattleshipDamaged" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="1"/> <option name="attack" value="3"/> <option name="defense" value="4"/> <option name="canBombard" value="true"/> <option name="isSea" value="true"/> <option name="hitPoints" value="2"/> <option name="bombard" value="3"/> <option name="whenHitPointsRepairedChangesInto" value="0:true:germanBattleship"/> </attachment>
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login