mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 13:07:46 +01:00
#Fixed all known bugs with ninja voice.
#As an added bonus, voice-changers will protect from flash. Can be easily removed if needed. #Added more recharge locations for ninjas: cells, smes, and cyborgs. #Recharge changed so that it takes less time but recharges for less. #Adamantine sprites per request. #Updated Ripley sprites per request(?). git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1444 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
+39
-34
@@ -437,35 +437,6 @@
|
||||
|
||||
/obj/machinery/power/apc/attack_hand(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(istype(U.gloves, /obj/item/clothing/gloves/space_ninja)&&!U.gloves:canremove&&!U.gloves:draining)
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = U.wear_suit
|
||||
var/obj/item/clothing/gloves/space_ninja/G = U.gloves
|
||||
// emagged = 1
|
||||
// locked = 0
|
||||
user << "\blue Now charging battery..."
|
||||
G.draining = 1
|
||||
if(cell&&cell.charge)
|
||||
while(cell.charge>0)
|
||||
var/drain = rand(500,1500)
|
||||
if(cell.charge<drain)
|
||||
drain = cell.charge
|
||||
if (do_after(user,50))
|
||||
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
spark_system.start()
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
cell.charge-=drain
|
||||
S.charge+=drain
|
||||
U << "\blue Gained <B>[drain]</B> energy from the APC (<B>[cell.charge]</B> charge remaining)."
|
||||
else break
|
||||
G.draining = 0
|
||||
return
|
||||
else
|
||||
U << "\red This machine has run dry of power. You must find another."
|
||||
return
|
||||
|
||||
if(opened && (!istype(user, /mob/living/silicon)))
|
||||
if(cell)
|
||||
usr.put_in_hand(cell)
|
||||
@@ -477,12 +448,46 @@
|
||||
//user << "You remove the power cell."
|
||||
charging = 0
|
||||
src.updateicon()
|
||||
return
|
||||
if(stat & (BROKEN|MAINT)) return
|
||||
|
||||
else
|
||||
if(stat & (BROKEN|MAINT)) return
|
||||
// do APC interaction
|
||||
user.machine = src
|
||||
src.interact(user)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(istype(U.gloves, /obj/item/clothing/gloves/space_ninja)&&U.gloves:candrain&&!U.gloves:draining)
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = U.wear_suit
|
||||
var/obj/item/clothing/gloves/space_ninja/G = U.gloves
|
||||
user << "\blue Now charging battery..."
|
||||
G.draining = 1
|
||||
if(cell&&cell.charge)
|
||||
var/drain = 0
|
||||
var/totaldrain = 0
|
||||
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
while(cell.charge>0)
|
||||
drain = rand(100,300)
|
||||
if(cell.charge<drain)
|
||||
drain = cell.charge
|
||||
if (do_after(U,10))
|
||||
spark_system.start()
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
cell.charge-=drain
|
||||
S.charge+=drain
|
||||
totaldrain+=drain
|
||||
else break
|
||||
U << "\blue Gained <B>[totaldrain]</B> energy from the APC."
|
||||
G.draining = 0
|
||||
if(!emagged)
|
||||
flick("apc-spark", src)
|
||||
emagged = 1
|
||||
locked = 0
|
||||
updateicon()
|
||||
return
|
||||
else
|
||||
U << "\red This APC has run dry of power. You must find another source."
|
||||
return
|
||||
// do APC interaction
|
||||
user.machine = src
|
||||
src.interact(user)
|
||||
|
||||
/obj/machinery/power/apc/proc/interact(mob/user)
|
||||
|
||||
|
||||
@@ -62,6 +62,30 @@
|
||||
if(crit_fail)
|
||||
usr << "\red This power cell seems to be faulty"
|
||||
|
||||
/obj/item/weapon/cell/attack_self(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(istype(U.gloves, /obj/item/clothing/gloves/space_ninja)&&U.gloves:candrain&&!U.gloves:draining)
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = U.wear_suit
|
||||
var/obj/item/clothing/gloves/space_ninja/G = U.gloves
|
||||
if(charge)
|
||||
user << "\blue Now charging battery..."
|
||||
G.draining = 1
|
||||
if (do_after(user,50))
|
||||
U << "\blue Gained <B>[charge]</B> energy from the cell."
|
||||
charge = 0
|
||||
S.charge+=charge
|
||||
G.draining = 0
|
||||
corrupt()
|
||||
updateicon()
|
||||
else
|
||||
U << "\red Procedure interrupted. Protocol terminated."
|
||||
return
|
||||
else
|
||||
U << "\red This cell is empty and of no use."
|
||||
return
|
||||
|
||||
//Just because someone gets you occasionally with stun gloves doesn't mean you can put in code to kill everyone who tries to make some.
|
||||
/obj/item/weapon/cell/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
|
||||
@@ -180,15 +180,41 @@
|
||||
interact(user)
|
||||
|
||||
/obj/machinery/power/smes/attack_hand(mob/user)
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
if(stat & BROKEN) return
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/U = user
|
||||
if(istype(U.gloves, /obj/item/clothing/gloves/space_ninja)&&U.gloves:candrain&&!U.gloves:draining)
|
||||
var/obj/item/clothing/suit/space/space_ninja/S = U.wear_suit
|
||||
var/obj/item/clothing/gloves/space_ninja/G = U.gloves
|
||||
user << "\blue Now charging battery..."
|
||||
G.draining = 1
|
||||
if(charge)
|
||||
var/drain = 0
|
||||
var/totaldrain = 0
|
||||
var/datum/effects/system/spark_spread/spark_system = new /datum/effects/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src.loc)
|
||||
while(charge>0)
|
||||
drain = rand(100,300)
|
||||
if(charge<drain)
|
||||
drain = charge
|
||||
if (do_after(U,10))
|
||||
spark_system.start()
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
charge-=drain
|
||||
S.charge+=drain
|
||||
totaldrain+=drain
|
||||
else break
|
||||
U << "\blue Gained <B>[totaldrain]</B> energy from the SMES cell."
|
||||
G.draining = 0
|
||||
return
|
||||
else
|
||||
U << "\red This SMES cell has run dry of power. You must find another source."
|
||||
return
|
||||
|
||||
interact(user)
|
||||
|
||||
|
||||
|
||||
/obj/machinery/power/smes/proc/interact(mob/user)
|
||||
|
||||
if ( (get_dist(src, user) > 1 ))
|
||||
|
||||
Reference in New Issue
Block a user