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:
kortgstation@gmail.com
2011-12-14 09:12:03 +00:00
parent b04400e11c
commit 784b6ee0db
9 changed files with 171 additions and 172 deletions
+34 -3
View File
@@ -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