mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Added Reactive Teleport armour and on/off sprites for the armour.
Click in hand to toggle on/off (like a cloaking device). When worn and activated, successfully blocked attacks will cause the wearer to warp randomly up to 8 tiles. EMPs will disable it. Values may need tweaking to balance the armour. One set now spawns in the RD's office to it will get used/tested, depending on how that goes I may move it to being produceable by the protolathe only, or remove it entirely etc Removed more X-Com shit I managed to fail to remove because of silliness with updating before committing restoring the file I meant to delete. Updated the changelog. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2680 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -56,9 +56,40 @@
|
||||
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/reactive
|
||||
name = "Reactive Teleport Armor"
|
||||
desc = "Someone seperated our Research Director from his own head!"
|
||||
var/active = 0.0
|
||||
icon_state = "reactiveoff"
|
||||
item_state = "reactiveoff"
|
||||
slowdown = 1
|
||||
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/armor/reactive/IsShield()
|
||||
if(active)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob)
|
||||
src.active = !( src.active )
|
||||
if (src.active)
|
||||
user << "\blue The reactive armor is now active."
|
||||
src.icon_state = "reactive"
|
||||
src.item_state = "reactive"
|
||||
else
|
||||
user << "\blue The reactive armor is now inactive."
|
||||
src.icon_state = "reactiveoff"
|
||||
src.item_state = "reactiveoff"
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/item/clothing/suit/armor/reactive/emp_act(severity)
|
||||
active = 0
|
||||
src.icon_state = "reactiveoff"
|
||||
src.item_state = "reactiveoff"
|
||||
..()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1060,10 +1060,6 @@
|
||||
if (S.active)
|
||||
shielded = 2
|
||||
break
|
||||
for (var/obj/item/weapon/displacer/D in src)
|
||||
if (D.active)
|
||||
shielded = 4
|
||||
break
|
||||
|
||||
if(istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_active)
|
||||
shielded = 3
|
||||
@@ -1083,8 +1079,6 @@
|
||||
NinjaStealthActive(loc)
|
||||
else
|
||||
NinjaStealthMalf()
|
||||
if(4)
|
||||
overlays += image("icon" = 'effects.dmi', "icon_state" = "shield-old", "layer" = MOB_LAYER+1)
|
||||
else
|
||||
invisibility = 0
|
||||
/*
|
||||
|
||||
@@ -47,20 +47,20 @@ emp_act
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/check_shields(var/damage = 0, var/attack_text = "the attack")
|
||||
if(l_hand && istype(l_hand, /obj/item))//Current base is the prob(50-d/3)
|
||||
var/obj/item/I = l_hand
|
||||
if(l_hand && istype(l_hand, /obj/item/weapon))//Current base is the prob(50-d/3)
|
||||
var/obj/item/weapon/I = l_hand
|
||||
if(I.IsShield() && (prob(50 - round(damage / 3))))
|
||||
visible_message("\red <B>[src] blocks [attack_text] with the [l_hand.name]!</B>")
|
||||
return 1
|
||||
if(r_hand && istype(r_hand, /obj/item))
|
||||
var/obj/item/I = r_hand
|
||||
if(r_hand && istype(r_hand, /obj/item/weapon))
|
||||
var/obj/item/weapon/I = r_hand
|
||||
if(I.IsShield() && (prob(50 - round(damage / 3))))
|
||||
visible_message("\red <B>[src] blocks [attack_text] with the [r_hand.name]!</B>")
|
||||
return 1
|
||||
if(slot_belt && istype(slot_belt, /obj/item/weapon/displacer))
|
||||
var/obj/item/weapon/displacer/D = slot_belt
|
||||
if(D.active && (prob(50)))
|
||||
visible_message("\red <B>The displacer field flings [src] out of the way of [attack_text]!</B>")
|
||||
if(wear_suit && istype(wear_suit, /obj/item/))
|
||||
var/obj/item/I = wear_suit
|
||||
if(I.IsShield() && (prob(50 - round(damage / 3))))
|
||||
visible_message("\red <B>The reactive teleport system flings [src] clear of [attack_text]!</B>")
|
||||
var/list/turfs = new/list()
|
||||
for(var/turf/T in orange(6))
|
||||
if(istype(T,/turf/space)) continue
|
||||
|
||||
Reference in New Issue
Block a user