TG update: 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

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2680 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
Albert Iordache
2011-12-26 23:30:34 +02:00
parent 12e851dd3b
commit ef0a9b3632
7 changed files with 5326 additions and 5334 deletions
+33 -3
View File
@@ -64,6 +64,15 @@
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
/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/storage/armourrigvest
name = "armour rig vest"
@@ -75,9 +84,30 @@
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/pepperspray,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs)
armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
ng/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"
..()
@@ -1094,10 +1094,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
@@ -1117,8 +1113,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