diff --git a/code/modules/clothing/suits/reactive_armour.dm b/code/modules/clothing/suits/reactive_armour.dm index 5b2291e59c..0d2f68f580 100644 --- a/code/modules/clothing/suits/reactive_armour.dm +++ b/code/modules/clothing/suits/reactive_armour.dm @@ -50,7 +50,8 @@ icon_state = "reactiveoff" item_state = "reactiveoff" add_fingerprint(user) - return + if(user.get_item_by_slot(SLOT_WEAR_SUIT) == src) + user.update_inv_wear_suit() /obj/item/clothing/suit/armor/reactive/emp_act(severity) . = ..() @@ -71,8 +72,9 @@ reactivearmor_cooldown_duration = 100 /obj/item/clothing/suit/armor/reactive/teleport/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) + . = FALSE if(!active) - return 0 + return if(prob(hit_reaction_chance)) var/mob/living/carbon/human/H = owner if(world.time < reactivearmor_cooldown) @@ -95,12 +97,11 @@ var/turf/picked = pick(turfs) if(!isturf(picked)) return - H.forceMove(picked) + do_teleport(H, picked, no_effects = TRUE, channel = TELEPORT_CHANNEL_WORMHOLE) radiation_pulse(old, rad_amount_before) radiation_pulse(src, rad_amount) reactivearmor_cooldown = world.time + reactivearmor_cooldown_duration - return 1 - return 0 + return TRUE //Fire