diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 9c13b43c7f..1adf748901 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -1,161 +1,124 @@
/obj/item/device/radio/electropack
- name = "Electropack"
+ name = "electropack"
desc = "Dance my monkeys! DANCE!!!"
icon_state = "electropack0"
- var/code = 2
- var/e_pads = 0.0
- g_amt = 2500
- m_amt = 10000
+ item_state = "electropack"
frequency = 1449
- w_class = 5.0
flags = FPRINT | CONDUCT | TABLEPASS
slot_flags = SLOT_BACK
- item_state = "electropack"
-
-/obj/item/device/radio/electropack/examine()
- set src in view()
-
- ..()
- if ((in_range(src, usr) || src.loc == usr))
- if (src.e_pads)
- usr << "\blue The electric pads are exposed!"
- return
-
-/obj/item/device/radio/electropack/attack_paw(mob/user as mob)
-
- return src.attack_hand(user)
- return
+ w_class = 5.0
+ g_amt = 2500
+ m_amt = 10000
+ var/code = 2
/obj/item/device/radio/electropack/attack_hand(mob/user as mob)
-
- if (src == user.back)
- user << "\blue You need help taking this off!"
+ if(src == user.back)
+ user << "You need help taking this off!"
return
- else
- ..()
- return
+ ..()
/obj/item/device/radio/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
+ if(istype(W, /obj/item/clothing/head/helmet))
+ if(!b_stat)
+ user << "[src] is not ready to be attached!"
+ return
+ var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
+ A.icon = 'icons/obj/assemblies.dmi'
- if (istype(W, /obj/item/weapon/screwdriver))
- src.e_pads = !( src.e_pads )
- if (src.e_pads)
- user.show_message("\blue The electric pads have been exposed!")
- else
- user.show_message("\blue The electric pads have been reinserted!")
- src.add_fingerprint(user)
- return
- else
- if (istype(W, /obj/item/clothing/head/helmet))
- var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
- A.icon = 'icons/obj/assemblies.dmi'
+ user.drop_from_inventory(W)
+ W.loc = A
+ W.master = A
+ A.part1 = W
- user.drop_from_inventory(W)
- W.loc = A
- W.master = A
- A.part1 = W
+ user.drop_from_inventory(src)
+ loc = A
+ master = A
+ A.part2 = src
- user.drop_from_inventory(src)
- src.loc = A
- src.master = A
- A.part2 = src
-
- user.put_in_hands(A)
- A.add_fingerprint(user)
- return
+ user.put_in_hands(A)
+ A.add_fingerprint(user)
/obj/item/device/radio/electropack/Topic(href, href_list)
//..()
- if (usr.stat || usr.restrained())
+ if(usr.stat || usr.restrained())
return
- if (((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(src.master) || (in_range(src, usr) && istype(src.loc, /turf)))))
+ if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf)))))
usr.machine = src
- if (href_list["freq"])
+ if(href_list["freq"])
var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
set_frequency(new_frequency)
else
- if (href_list["code"])
- src.code += text2num(href_list["code"])
- src.code = round(src.code)
- src.code = min(100, src.code)
- src.code = max(1, src.code)
+ if(href_list["code"])
+ code += text2num(href_list["code"])
+ code = round(code)
+ code = min(100, code)
+ code = max(1, code)
else
- if (href_list["power"])
- src.on = !( src.on )
- src.icon_state = text("electropack[]", src.on)
- if (!( src.master ))
- if (istype(src.loc, /mob))
- attack_self(src.loc)
+ if(href_list["power"])
+ on = !( on )
+ icon_state = "electropack[on]"
+ if(!( master ))
+ if(istype(loc, /mob))
+ attack_self(loc)
else
for(var/mob/M in viewers(1, src))
- if (M.client)
- src.attack_self(M)
- //Foreach goto(308)
+ if(M.client)
+ attack_self(M)
else
- if (istype(src.master.loc, /mob))
- src.attack_self(src.master.loc)
+ if(istype(master.loc, /mob))
+ attack_self(master.loc)
else
- for(var/mob/M in viewers(1, src.master))
- if (M.client)
- src.attack_self(M)
- //Foreach goto(384)
+ for(var/mob/M in viewers(1, master))
+ if(M.client)
+ attack_self(M)
else
usr << browse(null, "window=radio")
return
return
-/*
-/obj/item/device/radio/electropack/accept_rad(obj/item/device/radio/signaler/R as obj, message)
-
- if ((istype(R, /obj/item/device/radio/signaler) && R.frequency == src.frequency && R.code == src.code))
- return 1
- else
- return null
- return*/
/obj/item/device/radio/electropack/receive_signal(datum/signal/signal)
- if(!signal || (signal.encryption != code))
+ if(!signal || signal.encryption != code)
return
- if ((ismob(src.loc) && src.on))
-
- var/mob/M = src.loc
+ if(ismob(loc) && on)
+ var/mob/M = loc
var/turf/T = M.loc
- if ((istype(T, /turf)))
- if (!M.moved_recently && M.last_move)
+ if(istype(T, /turf))
+ if(!M.moved_recently && M.last_move)
M.moved_recently = 1
step(M, M.last_move)
- sleep 50
+ sleep(50)
if(M)
M.moved_recently = 0
- M.show_message("\red You feel a sharp shock!")
+ M << "You feel a sharp shock!"
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()
M.Weaken(10)
- if ((src.master && src.wires & 1))
- src.master.receive_signal()
+ if(master && wires & 1)
+ master.receive_signal()
return
/obj/item/device/radio/electropack/attack_self(mob/user as mob, flag1)
- if (!( istype(user, /mob/living/carbon/human) ))
+ if(!istype(user, /mob/living/carbon/human))
return
user.machine = src
var/dat = {"
-Turn [src.on ? "Off" : "On"]
+Turn [on ? "Off" : "On"]
Frequency/Code for electropack:
Frequency:
-
-- [format_frequency(src.frequency)]
+- [format_frequency(frequency)]
+
+
Code:
-
-- [src.code]
+- [code]
+
+
"}
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index 950d7f8ca5..611f3df45e 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -7,18 +7,18 @@
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(src.loc)
- playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
- C.dir = src.dir
- src.part.loc = src.loc
- src.part.master = null
- src.part = null
+ 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
@@ -34,6 +34,7 @@
else
on = 1
icon_state = "echair1"
+ usr << "You switch [on ? "on" : "off"] [src]."
return
/obj/structure/stool/bed/chair/e_chair/rotate()
@@ -43,11 +44,11 @@
return
/obj/structure/stool/bed/chair/e_chair/proc/shock()
- if(!(src.on))
+ if(!on)
return
- if((src.last_time + 50) > world.time)
+ if(last_time + 50 > world.time)
return
- src.last_time = world.time
+ last_time = world.time
// special power handling
var/area/A = get_area(src)
@@ -65,12 +66,11 @@
s.start()
if(buckled_mob)
buckled_mob.burn_skin(85)
- buckled_mob << "\red You feel a deep shock course through your body!"
+ buckled_mob << "You feel a deep shock course through your body!"
sleep(1)
buckled_mob.burn_skin(85)
buckled_mob.Stun(600)
- for(var/mob/M in hearers(src, null))
- M.show_message("\red The electric chair went off!.", 3, "\red You hear a deep sharp shock.", 2)
+ visible_message("The electric chair went off!", "You hear a deep sharp shock!")
A.power_light = light
A.updateicon()
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index a0f4d164ac..972bb24422 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -6,25 +6,26 @@
/obj/structure/stool/bed/chair/New()
if(anchored)
src.verbs -= /atom/movable/verb/pull
- handle_rotation()
..()
+ spawn(3) //sorry. i don't think there's a better way to do this.
+ handle_rotation()
return
/obj/structure/stool/bed/chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if(istype(W, /obj/item/assembly/shock_kit))
+ var/obj/item/assembly/shock_kit/SK = W
+ if(!SK.status)
+ user << "[SK] is not ready to be attached!"
+ return
+ user.drop_item()
var/obj/structure/stool/bed/chair/e_chair/E = new /obj/structure/stool/bed/chair/e_chair(src.loc)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- E.dir = src.dir
- E.part = W
- W.loc = E
- W.master = E
- user.u_equip(W)
- W.layer = initial(W.layer)
+ E.dir = dir
+ E.part = SK
+ SK.loc = E
+ SK.master = E
del(src)
- return
- return
-
/obj/structure/stool/bed/chair/proc/handle_rotation() //making this into a seperate proc so office chairs can call it on Move()
if(src.dir == NORTH)
diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm
index 3c737ead59..880424e66b 100644
--- a/code/modules/assembly/shock_kit.dm
+++ b/code/modules/assembly/shock_kit.dm
@@ -1,56 +1,46 @@
/obj/item/assembly/shock_kit
- name = "Shock Kit"
- desc = "This appears to be made from both an Electric Pack and a Helmet."
+ name = "electrohelmet assembly"
+ desc = "This appears to be made from both an electropack and a helmet."
icon_state = "shock_kit"
var/obj/item/clothing/head/helmet/part1 = null
var/obj/item/device/radio/electropack/part2 = null
- var/status = 0.0
+ var/status = 0
w_class = 5.0
flags = FPRINT | TABLEPASS| CONDUCT
/obj/item/assembly/shock_kit/Del()
- //src.part1 = null
- del(src.part1)
- //src.part2 = null
- del(src.part2)
+ del(part1)
+ del(part2)
..()
return
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob)
- ..()
- if ((istype(W, /obj/item/weapon/wrench) && !( src.status )))
- var/turf/T = src.loc
- if (ismob(T))
+ if(istype(W, /obj/item/weapon/wrench) && !status)
+ var/turf/T = loc
+ if(ismob(T))
T = T.loc
- src.part1.loc = T
- src.part2.loc = T
- src.part1.master = null
- src.part2.master = null
- src.part1 = null
- src.part2 = null
+ part1.loc = T
+ part2.loc = T
+ part1.master = null
+ part2.master = null
+ part1 = null
+ part2 = null
del(src)
return
- if (!( istype(W, /obj/item/weapon/screwdriver) ))
- return
- src.status = !( src.status )
- if (!src.status)
- user.show_message("\blue The shock pack is now secured!", 1)
- else
- user.show_message("\blue The shock pack is now unsecured!", 1)
- src.add_fingerprint(user)
+ if(istype(W, /obj/item/weapon/screwdriver))
+ status = !status
+ user << "[src] is now [status ? "secured" : "unsecured"]!"
+ add_fingerprint(user)
return
/obj/item/assembly/shock_kit/attack_self(mob/user as mob)
- src.part1.attack_self(user, src.status)
- src.part2.attack_self(user, src.status)
- src.add_fingerprint(user)
+ part1.attack_self(user, status)
+ part2.attack_self(user, status)
+ add_fingerprint(user)
return
/obj/item/assembly/shock_kit/receive_signal()
- //*****
- //world << "Shock kit got r_signal"
- if (istype(src.loc, /obj/structure/stool/bed/chair/e_chair))
- var/obj/structure/stool/bed/chair/e_chair/C = src.loc
- //world << "Shock kit sending shock to EC"
+ if(istype(loc, /obj/structure/stool/bed/chair/e_chair))
+ var/obj/structure/stool/bed/chair/e_chair/C = loc
C.shock()
return