mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-01-19 05:23:32 +00:00
Conflicts: baystation12.dme code/datums/organs/organ_internal.dm code/datums/vote.dm code/defines/atom.dm code/defines/procs/gamehelpers.dm code/defines/turf.dm code/game/algorithm.dm code/game/cellautomata.dm code/game/gamemodes/cult/runes.dm code/game/gamemodes/events.dm code/game/gamemodes/events/ninja_equipment.dm code/game/gamemodes/events/space_ninja.dm code/game/gamemodes/wizard/rightandwrong.dm code/game/jobs/job/captain.dm code/game/machinery/computer/ai_core.dm code/game/machinery/computer/law.dm code/game/machinery/computer/pod.dm code/game/machinery/computer/syndicate_shuttle.dm code/game/machinery/doors/firedoor.dm code/game/machinery/teleporter.dm code/game/machinery/wishgranter.dm code/game/objects/items/devices/uplinks.dm code/game/objects/items/weapons/cigs_lighters.dm code/game/objects/structures/electricchair.dm code/game/turfs/turf.dm code/game/vote.dm code/hub.dm code/modules/admin/admin_verbs.dm code/modules/awaymissions/zlevel.dm code/modules/client/client defines.dm code/modules/food/food.dm code/modules/food/meat.dm code/modules/food/recipes_microwave.dm code/modules/mob/living/carbon/carbon_defines.dm code/modules/mob/living/carbon/human/hud.dm code/modules/mob/living/carbon/human/update_icons.dm code/modules/mob/living/login.dm code/modules/mob/living/simple_animal/life.dm code/modules/mob/mob_defines.dm code/modules/mob/new_player/login.dm code/modules/paperwork/filingcabinet.dm code/modules/paperwork/folders.dm code/modules/paperwork/photocopier.dm code/setup.dm icons/effects/genetics.dmi interface/interface.dm interface/skin.dmf maps/RandomZLevels/fileList.txt various misc mergefixes and todos Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
/obj/structure/stool/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 = 1.0
|
|
|
|
/obj/structure/stool/bed/chair/e_chair/New()
|
|
..()
|
|
overlays += image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir)
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if(istype(W, /obj/item/weapon/wrench))
|
|
var/obj/structure/stool/bed/chair/C = new /obj/structure/stool/bed/chair(loc)
|
|
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
|
|
C.dir = dir
|
|
part.loc = loc
|
|
part.master = null
|
|
part = null
|
|
del(src)
|
|
return
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/e_chair/verb/toggle()
|
|
set name = "Toggle Electric Chair"
|
|
set category = "Object"
|
|
set src in oview(1)
|
|
|
|
if(on)
|
|
on = 0
|
|
icon_state = "echair0"
|
|
else
|
|
on = 1
|
|
icon_state = "echair1"
|
|
usr << "<span class='notice'>You switch [on ? "on" : "off"] [src].</span>"
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/e_chair/rotate()
|
|
..()
|
|
overlays = null
|
|
overlays += image('icons/obj/objects.dmi', src, "echair_over", MOB_LAYER + 1, dir) //there's probably a better way of handling this, but eh. -Pete
|
|
return
|
|
|
|
/obj/structure/stool/bed/chair/e_chair/proc/shock()
|
|
if(!on)
|
|
return
|
|
if(last_time + 50 > world.time)
|
|
return
|
|
last_time = world.time
|
|
|
|
// special power handling
|
|
var/area/A = get_area(src)
|
|
if(!isarea(A))
|
|
return
|
|
if(!A.powered(EQUIP))
|
|
return
|
|
A.use_power(EQUIP, 5000)
|
|
var/light = A.power_light
|
|
A.updateicon()
|
|
|
|
flick("echair1", src)
|
|
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
|
s.set_up(12, 1, src)
|
|
s.start()
|
|
if(buckled_mob)
|
|
buckled_mob.burn_skin(85)
|
|
buckled_mob << "<span class='danger'>You feel a deep shock course through your body!</span>"
|
|
sleep(1)
|
|
buckled_mob.burn_skin(85)
|
|
buckled_mob.Stun(600)
|
|
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='danger'>You hear a deep sharp shock!</span>")
|
|
|
|
A.power_light = light
|
|
A.updateicon()
|
|
return |