Electric Chair Removal (#11896)

This commit is contained in:
Doxxmedearly
2021-05-21 12:57:45 -03:00
committed by GitHub
parent 6c2582fb86
commit 5c45a6aa3c
11 changed files with 7 additions and 161 deletions
@@ -12,21 +12,6 @@
obj_flags = OBJ_FLAG_ROTATABLE_ANCHORED
var/propelled = 0 // Check for fire-extinguisher-driven chairs
/obj/structure/bed/chair/attackby(obj/item/W as obj, mob/user as mob)
..()
if(!padding_material && istype(W, /obj/item/assembly/shock_kit))
var/obj/item/assembly/shock_kit/SK = W
if(!SK.status)
to_chat(user, "<span class='notice'>\The [SK] is not ready to be attached!</span>")
return
var/obj/structure/bed/chair/e_chair/E = new (src.loc, material.name)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
E.set_dir(dir)
E.part = SK
user.drop_from_inventory(SK,E)
SK.master = E
qdel(src)
/obj/structure/bed/chair/do_simple_ranged_interaction(var/mob/user)
if(!buckled && user)
rotate(user)
-75
View File
@@ -1,78 +1,3 @@
/obj/structure/bed/chair/e_chair
name = "electric chair"
desc = "Looks absolutely SHOCKING!"
icon_state = "echair0"
var/on = 0
var/obj/item/assembly/shock_kit/part = null
var/last_time = 0
/obj/structure/bed/chair/e_chair/update_icon()
return
/obj/structure/bed/chair/e_chair/Initialize()
. = ..()
add_overlay(image('icons/obj/furniture.dmi', src, "echair_over", MOB_LAYER + 1))
if(!part)
part = new /obj/item/assembly/shock_kit(src)
part.master = src
part.part1 = new /obj/item/clothing/head/helmet(part)
part.part2 = new /obj/item/device/radio/electropack(part)
part.part1.master = part
part.part2.master = part
/obj/structure/bed/chair/e_chair/Destroy()
if (part)
part.master = null
part = null
. = ..()
/obj/structure/bed/chair/e_chair/attackby(obj/item/W as obj, mob/user as mob)
if(W.iswrench())
var/obj/structure/bed/chair/C = new /obj/structure/bed/chair(loc)
playsound(loc, W.usesound, 50, 1)
C.set_dir(dir)
part.forceMove(get_turf(src))
part.master = null
part = null
qdel(src)
/obj/structure/bed/chair/e_chair/verb/toggle()
set name = "Toggle Electric Chair"
set category = "Object"
set src in oview(1)
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened || usr.lying || usr.restrained() || usr.buckled_to)
return
if(on)
on = 0
icon_state = "echair0"
else
on = 1
shock()
icon_state = "echair1"
to_chat(usr, "<span class='notice'>You switch [on ? "on" : "off"] [src].</span>")
/obj/structure/bed/chair/e_chair/proc/shock()
if(!on)
return
var/obj/structure/cable/C = locate(/obj/structure/cable, get_turf(src))
var/datum/powernet/PN = C.powernet
flick("echair1", src)
spark(src, 12, alldirs)
if(istype(buckled, /mob/living) && istype(C))
var/mob/living/M = buckled
if(electrocute_mob(M, C, src, 1.25, BP_HEAD))
to_chat(M, "<span class='danger'>You feel a deep shock course through your body!</span>")
sleep(1)
if(electrocute_mob(M, C, src, 1.25, BP_HEAD))
M.Stun(PN.get_electrocute_damage()*10)
visible_message("<span class='danger'>The electric chair goes off!</span>", "<span class='danger'>You hear an electrical discharge!</span>")
return
/obj/item/pocketwatch
name = "pocketwatch"
desc = "A watch that goes in your pocket."