mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 21:48:39 +01:00
[MIRROR] Fixes oversight with "tactical combat spinning" and flashes (#897)
* Fixes oversight with "tactical combat spinning" and flashes (#53823) Using the spin emote can no longer let you RNG your way out of new flash mechanics. Mobs have a new flag that is set to when they start spinning and unset when they stop. Flashes now use this new flag when calcing deviation. Tactical combat spinning using the spin emote now results in a full deviation flash when it may previously have resulted in a failure or half-deviation flash. Emotes should either not influence combat at all (spin on floor when both players share the same loc, this was already handled by same-loc code), or negatively influence combat for the emote user (spin in all other circumtances, which is what this PR addresses). * Fixes oversight with "tactical combat spinning" and flashes Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
@@ -152,7 +152,6 @@
|
||||
if(deviation == DEVIATION_FULL && !converter)
|
||||
return
|
||||
|
||||
|
||||
if(targeted)
|
||||
if(M.flash_act(1, 1))
|
||||
if(M.get_confusion() < power)
|
||||
@@ -195,6 +194,12 @@
|
||||
* * attacker - Attacker
|
||||
*/
|
||||
/obj/item/assembly/flash/proc/calculate_deviation(mob/victim, atom/attacker)
|
||||
// Tactical combat emote-spinning should not counter intended gameplay mechanics.
|
||||
// This trumps same-loc checks to discourage floor spinning in general to counter flashes.
|
||||
// In short, combat spinning is silly and you should feel silly for doing it.
|
||||
if(victim.flags_1 & IS_SPINNING_1)
|
||||
return DEVIATION_NONE
|
||||
|
||||
// Are they on the same tile? We'll return partial deviation. This may be someone flashing while lying down
|
||||
// or flashing someone they're stood on the same turf as, or a borg flashing someone buckled to them.
|
||||
if(victim.loc == attacker.loc)
|
||||
|
||||
Reference in New Issue
Block a user