OpenTS version
0.1.0 (1985c39)
What happened?
Each location StunDuration is set to is not guarded in pretty much any way. This means if a different EMP hits something already EMP'd with a significantly shorter stun duration, it totally overwrites it with that shorter stun duration, meaning a longer EMP is cancelled out.
|
foot->StunDuration = Duration; |
here the only thing guarding setting to the duration here really is (Duration + CreationFrame > Frame) at the top of the function, which pretty much just ensures too short of durations or negative durations are not possible. if that condition is satisfied, a StunDuration is pretty much always set for all targets that can be affected.
other places its set to:
|
building->StunDuration = Duration; |
|
if (building->Class->IsRadar) { |
|
foot->StunDuration = Duration; |
Environment
No response
OpenTS version
0.1.0 (1985c39)
What happened?
Each location
StunDurationis set to is not guarded in pretty much any way. This means if a different EMP hits something already EMP'd with a significantly shorter stun duration, it totally overwrites it with that shorter stun duration, meaning a longer EMP is cancelled out.OpenTS/code/empulse.cpp
Line 154 in 1985c39
here the only thing guarding setting to the duration here really is
(Duration + CreationFrame > Frame)at the top of the function, which pretty much just ensures too short of durations or negative durations are not possible. if that condition is satisfied, a StunDuration is pretty much always set for all targets that can be affected.other places its set to:
OpenTS/code/empulse.cpp
Lines 181 to 182 in 1985c39
OpenTS/code/empulse.cpp
Line 221 in 1985c39
Environment
No response