Add Ability For Suicide Units to Provide Support
-
@Frostion said in suicide/munitions unit with support?:
So if isSuicide/isSuicideOnHit could be reworked to allow more flexibility and unit options, could we be looking for these unit features (here with some made up names):
I'm not understanding why you would need 4 different options, while, in my mind,
isSuicideOnRolling
would cover all those 4 situations and more.isSuicideAfterFirstStrike (first strike hit or mis = dies)
This could be covered by setting
isSuicideOnRolling
equal to the dice sides, and assigning the same unitisFirstStrike
true.isSuicideAfterFirstStrikeHit (first strike hit = dies / first strike mis = survives and enters 1. combat round)
This could be covered by setting
isSuicideOnRolling
equal to the the attack/defence value, and assigning the same unitisFirstStrike
true.isSuicideAfterCombatRoll *† (combat roll hit or mis = dies)
This could be covered by setting
isSuicideOnRolling
equal to the dice sides.isSuicideAfterCombatRollHit * (combat roll hit = dies / combat roll mis = survives and enters 2. combat round)
This could be covered by setting
isSuicideOnRolling
equal to the attack/defence value.The only matter would be if you have a unit that you don't want to suicide both in attack and defence at the same roll, and this could be covered by splitting into two options:
isSuicideOffensivelyOnRolling
andisSuicideDefensivelyOnRolling
.And, in my mind, if the unit has 0 rolls, thus doesn't roll, then it cannot suicide (this way, you could have the unit suiciding or not by giving rolls with support attachments), but, anyways, any strength support should effect the
isSuicideOnRolling
options the same way, as well as any modifiers (territory effects, marines...) also to support the case of units supposed to sucide only on hit. -
@Cernel Well, if anything is decided or changed, I would still say my example names….
isSuicideAfterFirstStrike
isSuicideAfterFirstStrikeHit
isSuicideAfterCombatRoll
isSuicideAfterCombatRollHit
…are much more self-explanatory and simple to understand than what you just explained. But, whatever works -
@Frostion So after thinking about this a little bit, I'm thinking the following options:
isSuicideOnAttack - if true then unit suicides after it attempts its attack roll in a regular battle or SBR isSuicideOnDefense - if true then unit suicides after it attempts its defense roll in a regular battle isSuicideOnHit - if unit gets a hit in combat (attack or defense) then it instantly dies
These can be combined
isFirstStrike
to determine when the roll and suicide occurs and whether it can receive support:isFirstStrike values: whether to roll dice and take casualties before regular units
This means that
isSuicide
will just be a shortcut that sets:
isSuicideOnAttack
=true
isSuicideOnDefense
=true unless propertyDefending Suicide and Munition Units Do Not Fire
is true
isFirstStrike
=trueThis would then deprecate
isSuicide
andDefending Suicide and Munition Units Do Not Fire
.Thoughts?
-
@redrum
A: And this will not affect existing maps, just like isSub is now just an umbrella option that covers other options?B: And if unit is (for example) isSuicideOnAttack and has 0 attack strength, then it can join in an offensive battle and give support and then die after first round? Not being selectable as casualty? (like what I need for spell casting in Warcraft)
C1: And if mapmaker wanted to make sea or land mines that worked only pre-battle (like a minefield an army had to cross before battle or a seamine-line that ships had to sail through before battle) it could be isFirstStrike+ isSuicideOnHit?
C2: What would happen to the mines that did not hit? Are they selectable as casualties? or if they were isInfrastructure would they be out of battle afterwards and potentially overtaken by a winning enemy?
@Cernel @Hepps @redrum How would you use these presented options if you were to make different kinds of units that we cannot make right now? I'm curious and I also want some inspiration ?
-
@Frostion Responses:
A: Correct. There should be no change to existing maps though eventually I'd like to update them to use the new options directly so we can someday remove isSuicide and Defending Suicide and Munition Units Do Not Fire.
B. Correct as long as you don't set isFirstStrike=true as that would cause it to suicide before the regular rolls.
C1. Correct. That should already work I believe.
C2. The original thought was to make them have an AA roll then have them be isHide so they get a roll to try and kill ships and if hit then suicide otherwise they hide. Originally discussed adding a property for "forceHide" but hasn't been done yet so would be a player enforced roll to that you have to hide them: https://forums.triplea-game.org/topic/323/unit-option-which-suicides-only-when-it-registers-a-hit-mines. If you didn't go down that path then they would be potential casualties if they didn't hit. If they were isInfra, I don't think they could attack alone so unless with other units would just be captured or destroyed. If they were with other units then they'd continue fighting each round until they hit or until only isInfra units are left.
-
@redrum said in suicide/munitions unit with support?:
@Frostion So after thinking about this a little bit, I'm thinking the following options:
isSuicideOnAttack - if true then unit suicides after it attempts its attack roll in a regular battle or SBR isSuicideOnDefense - if true then unit suicides after it attempts its defense roll in a regular battle isSuicideOnHit - if unit gets a hit in combat (attack or defense) then it instantly dies
These can be combined
isFirstStrike
to determine when the roll and suicide occurs and whether it can receive support:isFirstStrike values: whether to roll dice and take casualties before regular units
This means that
isSuicide
will just be a shortcut that sets:
isSuicideOnAttack
=true
isSuicideOnDefense
=true unless propertyDefending Suicide and Munition Units Do Not Fire
is true
isFirstStrike
=trueThis would then deprecate
isSuicide
andDefending Suicide and Munition Units Do Not Fire
.Thoughts?
My main questions are, regarding the not "on hit" ones:
- Are they supportable (the current isSuicide is not)?
- If the suicide unit has 0 dice rolls, will it suicide anyways or not?
- If the suicide unit has positive dice rolls, but 0 value, will it suicide or not?
Again, I'm very much against properties ever setting options, deprecated or not, as that is turning matters upside down.
And, of course, matters could be both expanded and simplified by just having two "isSuicideOffensivelyOnRolling" and "isSuicideDefensivelyOnRolling" only, then the mapmaker can just set it equal to the dicesides if they want to suicide always (but only as long as actually rolling, thus never if 0 rolls) or setting it equal to attack or defence, if they want the "on hit" behaviour. It is also needed to make sure that anything effecting the attack/defence values (supports, marine, territory effects...) support these options values the same way (no idea how complex would this be, from a coding standpoint).
Personally, I believe the most interesting user case is having a suicide "shell" unit that has 0 rolls and is supported by a non suicide "artillery" unit, giving the "shell" unit 1 roll, the "shell" unit actually suiciding only if having 1 (or more) roll (not if having 0 rolls). Would your system allow for this?
-
My suggestion is that suicide-always units suicide if they roll any number of dice at whatever value (comprising value 0), but they don't suicide if they are rolling no dice, no matter the attack/defence value. This way, you can have offenceless/defenceless units suiciding, if you want, by making them rolling at 0, or having offenceless/defenceless units not suiciding, if you want, by having them at 0 rolls (possibly with negative supports). The default would be always suiciding, of course, as the units default being attack/defence 0 and dice rolls 1, when the options are not specified.
-
@Cernel said in suicide/munitions unit with support?:
Are they supportable (the current isSuicide is not)?
If they roll alongside the normal units (non-firststrike) then yes, if they roll with firststrike then depends if other firststrike can receive support (not sure whether that's currently possible and TWW has tried this for subs but it either isn't supported right now or there is some bug).
If the suicide unit has 0 dice rolls, will it suicide anyways or not?
Yes.
If the suicide unit has positive dice rolls, but 0 value, will it suicide or not?
Yes.
Personally, I believe the most interesting user case is having a suicide "shell" unit that has 0 rolls and is supported by a non suicide "artillery" unit, giving the "shell" unit 1 roll, the "shell" unit actually suiciding only if having 1 (or more) roll (not if having 0 rolls). Would your system allow for this?
Not fully. This tends to conflict with how Frostion is trying to use support units that essentially have no attack but provide support for the first round (and yes I realize you could try to do something around 0 strength vs 0 rolls though that seems kind of funky as really both cases the unit isn't doing any damage so should probably act the same in both cases). This is also more complex as things like checking potential air unit landing spots gets difficult (isSuicide air units are not counted towards needing landing spots like missiles for example but if you then would have some sort of isSuicideOnAttack unit that only suicided if a supporting unit was also there that would all need to be checked in some way to see if they do need a landing spot and could change based on the order that you move units into the territory even).
So I think you could do this probably from a suicideOnAttack standpoint as you just wouldn't move those shell units into a territory if you didn't have the support unit to give them rolls/strength. But on defense it wouldn't work as they would still suicide (though maybe you could do some kind of trigger to turn off isSuicide if they aren't in a territory with their "artillery" unit). I think more thought and effort would need to go into creating a system like this.
-
@redrum said in suicide/munitions unit with support?:
@Cernel said in suicide/munitions unit with support?:
Are they supportable (the current isSuicide is not)?
If they roll alongside the normal units (non-firststrike) then yes, if they roll with firststrike then depends if other firststrike can receive support (not sure whether that's currently possible and TWW has tried this for subs but it either isn't supported right now or there is some bug).
If the suicide unit has 0 dice rolls, will it suicide anyways or not?
Yes.
If the suicide unit has positive dice rolls, but 0 value, will it suicide or not?
Yes.
Personally, I believe the most interesting user case is having a suicide "shell" unit that has 0 rolls and is supported by a non suicide "artillery" unit, giving the "shell" unit 1 roll, the "shell" unit actually suiciding only if having 1 (or more) roll (not if having 0 rolls). Would your system allow for this?
Not fully. This tends to conflict with how Frostion is trying to use support units that essentially have no attack but provide support for the first round (and yes I realize you could try to do something around 0 strength vs 0 rolls though that seems kind of funky as really both cases the unit isn't doing any damage so should probably act the same in both cases). This is also more complex as things like checking potential air unit landing spots gets difficult (isSuicide air units are not counted towards needing landing spots like missiles for example but if you then would have some sort of isSuicideOnAttack unit that only suicided if a supporting unit was also there that would all need to be checked in some way to see if they do need a landing spot and could change based on the order that you move units into the territory even).
So I think you could do this probably from a suicideOnAttack standpoint as you just wouldn't move those shell units into a territory if you didn't have the support unit to give them rolls/strength. But on defense it wouldn't work as they would still suicide (though maybe you could do some kind of trigger to turn off isSuicide if they aren't in a territory with their "artillery" unit). I think more thought and effort would need to go into creating a system like this.
Ok. Then this basically would keep all the system as it is now except only allowing regular suicide units to be not first strike and give/receive support.
What you are saying regarding artillery-shell is not viable, as, then, you cannot have 1 artillery and 3 shells in attack, one shell being fired each one the first 3 combat rounds, nor you can have artillery and shells seriously working in defence, which would make no sense, as it's not like artillery is not used when you defend.
I any case, I believe not representing ammunition consumption is the main reason why TripleA cannot have minimally seriously realistic WWI and later games, so I was wondering if the feature could have opened some for that.
-
@Cernel said in suicide/munitions unit with support?:
Ok. Then this basically would keep all the system as it is now except only allowing regular suicide units to be not first strike and give/receive support.
Correct. It also breaks the isSuicide unit option into attack and defense as often you don't want units to be suicide in both cases and allows this to be set on a per unit type basis rather than a global property.
What you are saying regarding artillery-shell is not viable, as, then, you cannot have 1 artillery and 3 shells in attack, one shell being fired each one the first 3 combat rounds, nor you can have artillery and shells seriously working in defence, which would make no sense, as it's not like artillery is not used when you defend.
Ah, I see what you mean now. Correct that wouldn't be possible but that just highlights even more that things like air landing spots would become more complex and we'd probably need to make some assumptions as in that case the number of rounds the battle lasts would determine how many are guaranteed to suicide. Would probably need to just assume that any suicide units that aren't guaranteed to suicide would require a landing spot.
I any case, I believe not representing ammunition consumption is the main reason why TripleA cannot have minimally seriously realistic WWI and later games, so I was wondering if the feature could have opened some for that.
I think its a good concept and a good separate feature request. It would also help to have a map that would be looking to immediately use it as that would provide a way to better test it.
-
@redrum Well, having suicide supportable does expand a bit on the artillery - shell field, maybe for 1 combat round games, and might be bearable for defence if one could combine the always suicide with the suicide on hit, meaning having a unit that always suicide in attack and is suicide on hit on defence. Anyways I personally always considered that the TripleA engine is not good enough for modern warfare, so generally thought only pre modern (meaning medieval or before) was viable.
Anyways this feature is surely going to add, if it becomes a thing, anyways.
-
@redrum said in suicide/munitions unit with support?:
@Cernel said in suicide/munitions unit with support?:
Are they supportable (the current isSuicide is not)?
If they roll alongside the normal units (non-firststrike) then yes, if they roll with firststrike then depends if other firststrike can receive support (not sure whether that's currently possible and TWW has tried this for subs but it either isn't supported right now or there is some bug).
If you exactly say what you were trying to give support to, I may test that, but I recall it worked for me.
I also just made a simple test, right now, having this unit:
<attachment name="unitAttachment" attachTo="archer" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType"> <option name="movement" value="1"/> <option name="transportCost" value="2"/> <option name="attack" value="1"/> <option name="defense" value="3"/> <option name="isFirstStrike" value="true"/> <option name="Artillery" value="true"/> <option name="artillerySupportable" value="true"/> <option name="requiresUnits" value="metropolis"/> </attachment>
And it works just fine. So I've really no idea what your issues with supports and sub strikes are.
-
@Cernel Are you sure it works? I just tested it and while the BC shows the correct total strength and the battle window shows it in the correct column, it appears the actual dice roll isn't including the added support. So in your example the archer would appear to be rolling @ 2 with support but actually roll @ 1.
Which unless I'm doing something wrong, that behavior is definitely pretty bad.
-
@redrum said in suicide/munitions unit with support?:
@Cernel Are you sure it works? I just tested it and while the BC shows the correct total strength and the battle window shows it in the correct column, it appears the actual dice roll isn't including the added support. So in your example the archer would appear to be rolling @ 2 with support but actually roll @ 1.
Which unless I'm doing something wrong, that behavior is definitely pretty bad.
Works fine for me. The archer is hitting at 2.
Maybe you have some properties that are colliding in some ways, since my game has very few properties (mostly a mix of v1 and v2).
-
@Cernel Ah, I see. I think its whether the support unit is also a first strike unit. So if you make the artillery a separate unit and non-first strike then you should see the problem.
-
@redrum said in suicide/munitions unit with support?:
@Cernel Ah, I see. I think its whether the support unit is also a first strike unit. So if you make the artillery a separate unit and non-first strike then you should see the problem.
Tested and confirmed: you cannot give support from non-subs to subs, and it has the display issues you mentioned.
However, I also confirm it is fine sub-to-sub (in a map of mine all ships were submarines).
-
@Cernel Yeah, the issue is that the engine appears to calculate total power and the display by considering all units at the same time but when actually doing the battle it is taking just the units that fight together within a single roll phase when calculating support. I think even the inverse of subs giving to non-subs would also have the same issue. The only one I think that does work properly is AA can receive support from non-AA as this was something I added fairly recently and I believe coded that one correctly to consider all units for potential support not just the AA.
-
@redrum said in suicide/munitions unit with support?:
@Cernel Yeah, the issue is that the engine appears to calculate total power and the display by considering all units at the same time but when actually doing the battle it is taking just the units that fight together within a single roll phase when calculating support. I think even the inverse of subs giving to non-subs would also have the same issue. The only one I think that does work properly is AA can receive support from non-AA as this was something I added fairly recently and I believe coded that one correctly to consider all units for potential support not just the AA.
Off topic, but I tested your AA support, and all seemed fine.
By the way, AA attacks and first strike are strongly related matters. It is even surprising they are different matters at all as, looking at the standard games, they could have been the same thing (and, actually, the aaGun traditionally is indeed considered a defence 1 unit, like the submarine is considered an attack 2 unit).
-
@Cernel Yeah, they are closely related but one key aspect is that AA rolls happen before v3+ units can hide/submerge where first strike happens after. Eventually it would be good to merge these concepts together and have some sort of battlePhaseOrder where you could specify in what order and which units roll together/separately. So right now you really have something like this:
- AA - battlePhaseOrder=1
- v3 canHide - battlePhaseOrder=2
- firstStrike - battlePhaseOrder=3
- normal - battlePhaseOrder=4
-
@redrum said in suicide/munitions unit with support?:
@Cernel Yeah, they are closely related but one key aspect is that AA rolls happen before v3+ units can hide/submerge where first strike happens after. Eventually it would be good to merge these concepts together and have some sort of battlePhaseOrder where you could specify in what order and which units roll together/separately. So right now you really have something like this:
- AA - battlePhaseOrder=1
- v3 canHide - battlePhaseOrder=2
- firstStrike - battlePhaseOrder=3
- normal - battlePhaseOrder=4
That seems like something it would be good having written in pos2...