Closed Rhade1 closed 1 month ago
If I remember correctly, this is a vestige of when seeing the health bars of enemy fusions could tell you whether they were decoy fusions or not. Kind of redundant now I suppose as I don't think decoy fusions are even built (or ever were??)
Heh decoys, also, these are moot since damage based shading :D
damage based shading :D
Is it visible even if Advanced Model Shading
is turned off?
Why not add hidedamage = true
to everything then?
If I remember correctly, this is a vestige of when seeing the health bars of enemy fusions could tell you whether they were decoy fusions or not.
Decoys should have the same HP then... As for Decoy Commander, maybe should not have different abilities or buildoptions either. Besides, underwater fusions and corfus have no decoys.
Advmodelshading off is not a supported game mode. Ill have to remove it from settings.
On Fri, Oct 7, 2022, 7:05 AM Rhade1 @.***> wrote:
damage based shading :D
Is it visible even if Advanced Model Shading is turned off? Why not add hidedamage = true to everything then?
If I remember correctly, this is a vestige of when seeing the health bars of enemy fusions could tell you whether they were decoy fusions or not.
Decoys should have the same HP then... As for Decoy Commander, maybe should not have different abilities or buildoptions either. Besides, underwater fusions and corfus have no decoys.
— Reply to this email directly, view it on GitHub https://github.com/beyond-all-reason/Beyond-All-Reason/issues/1299#issuecomment-1271113536, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA2WTZFCDYARR7CHVEWXDTWB6VQRANCNFSM6AAAAAAQVEI72U . You are receiving this because you commented.Message ID: @.***>
How often are decoys actually used, especially by high level players?
I use them whenever I forget to play as Cortex in FFA games.
How often are decoys actually used, especially by high level players?
Personally, I would not miss decoy fusion plants, however this topic is more about design choices. I often heard that Commander's hit points are hidden, but never that Commander's, Fusion Plant's and some other objects hit points are hidden...
if the reason it is this way to not expose max unit health stuff then I suppose an engine change to support decoy units reporting back the health it would have had as if it was a non decoy version (for non allies)
that already happens for decoys if they don't have hidden health https://github.com/beyond-all-reason/spring/blob/BAR105/rts/Lua/LuaSyncedRead.cpp#L2883 https://github.com/beyond-all-reason/spring/blob/BAR105/rts/Game/UI/TooltipConsole.cpp#L342-L343
So it sounds like there isn't really a reason for fusions and decoys have their health hidden.
Not necessarily, unless the units have the same health you can still tell it's a decoy when damaged (for example if the real unit has twice the health of a decoy then shots will appear to do twice the nominal damage). But if a fusion is taking damage it's probably going down regardless and you need to pay a lot of attention to notice so it may well be fine (skill ceiling and all).
Not necessarily, unless the units have the same health you can still tell it's a decoy when damaged (for example if the real unit has twice the health of a decoy then shots will appear to do twice the nominal damage). But if a fusion is taking damage it's probably going down regardless and you need to pay a lot of attention to notice so it may well be fine (skill ceiling and all).
my comment was exactly about this though, so your last comment seems to contradict, am confused
Why would decoys not have the same health as their real counterpart? Isn't the point that they're cheap, not that they're harder to destroy?
I thought your comment was just that there should be some health translation function so that if there's a real unit with 100 health and a decoy with 50, it should display 100/100 instead of 50/50 initially, which would be sufficient for fusions (since they are usually in a safe spot so are almost always at full health) and which already happens.
But you seem to want to go further and have a translation function that would not betray the decoy so easily on damage. Making the decoy display 90/100 while at 40/50 (ie. upon taking 10 damage) would probably work slightly better than the 80/100 it would display currently but then you would have to handle edge cases:
IMO the current proportional method works mostly good enough and I'm not sure if the engine should be the one to answer how to handle some of the edge cases above. Straying a bit into engine discussion, maybe there should be some sort of gadget:GetDecoyHealth(unitID, decoyDefID, realDefID)
that returns the current health so ZK could stick with the proportional method:
local realMax = 100
local decoyMax = 200
local unitHealth = 90
return unitHealth * (realMax / decoyMax ) -- "45/100", in reality 90/200
while BAR would try and figure out how to do it sensibly the other way:
local realMax = 100
local decoyMax = 200
local unitHealth = 90
local damageTaken = decoyMax - unitHealth -- 110
if damageTaken < realMax then
return realMax - damageTaken -- but also +repair etc, see above
else -- oops, can't do "-10/100"!
-- lol what now? complicated allyteam tracking and/or some magic reveal logic goes here
end
Why would decoys not have the same health as their real counterpart? Isn't the point that they're cheap, not that they're harder to destroy?
The point is that they are a bait that draws enemies and then draws fire. Looking like a real unit is usually sufficient to draw enemies. Being cheaper is necessary for both (since otherwise you may as well get a real one and have it be productive). Having more health helps them draw fire for longer before dying (as long as the enemy doesn't realize it's a decoy; that point may well be beyond the point at which a real unit would have died already).
This issue hasn't received attention in two years.
armfus, armuwfus, corfus, coruwfus have
hidedamage = true
in their definition files. armckfus, armafus and corafus do not. Is there a reason?