mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-17 01:48:49 +01:00
This has zero reason to exist in our code base. We have no procs or variables tied to this. I removed it to make future modifications cleaner. --------- Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
113 lines
3.0 KiB
Plaintext
113 lines
3.0 KiB
Plaintext
/obj/item/radio/electropack
|
|
name = "electropack"
|
|
desc = "Dance my monkeys! DANCE!!!"
|
|
icon_state = "electropack0"
|
|
item_state = "electropack"
|
|
obj_flags = OBJ_FLAG_CONDUCTABLE
|
|
slot_flags = SLOT_BACK
|
|
w_class = WEIGHT_CLASS_HUGE
|
|
|
|
matter = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GLASS = 2500)
|
|
|
|
var/code = 2
|
|
|
|
/obj/item/radio/electropack/Initialize()
|
|
. = ..()
|
|
set_frequency(1449)
|
|
|
|
/obj/item/radio/electropack/attack_hand(mob/user as mob)
|
|
if(src == user.back)
|
|
to_chat(user, SPAN_NOTICE("You need help taking this off!"))
|
|
return
|
|
..()
|
|
|
|
/obj/item/radio/electropack/Topic(href, href_list)
|
|
//..()
|
|
if(usr.stat || usr.restrained())
|
|
return
|
|
if(((istype(usr, /mob/living/carbon/human) && ((!(ROUND_IS_STARTED) || (SSticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf)))))
|
|
usr.set_machine(src)
|
|
if(href_list["freq"])
|
|
var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
|
|
set_frequency(new_frequency)
|
|
else
|
|
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"])
|
|
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)
|
|
attack_self(M)
|
|
else
|
|
if(istype(master.loc, /mob))
|
|
attack_self(master.loc)
|
|
else
|
|
for(var/mob/M in viewers(1, master))
|
|
if(M.client)
|
|
attack_self(M)
|
|
else
|
|
usr << browse(null, "window=radio")
|
|
return
|
|
return
|
|
|
|
/obj/item/radio/electropack/receive_signal(datum/signal/signal)
|
|
if(!signal || signal.encryption != code)
|
|
return
|
|
|
|
if(ismob(loc) && on)
|
|
var/mob/M = loc
|
|
var/turf/T = M.loc
|
|
if(istype(T, /turf))
|
|
if(!M.moved_recently && M.last_move)
|
|
M.moved_recently = 1
|
|
step(M, M.last_move)
|
|
addtimer(CALLBACK(src, PROC_REF(update_move_recently)), 50 SECONDS)
|
|
to_chat(M, SPAN_DANGER("You feel a sharp shock!"))
|
|
spark(M, 3)
|
|
|
|
M.Weaken(10)
|
|
|
|
if(master && wires & 1)
|
|
master.receive_signal()
|
|
return
|
|
|
|
/obj/item/radio/electropack/proc/update_move_recently()
|
|
var/mob/M = loc
|
|
|
|
if(M)
|
|
M.moved_recently = 0
|
|
|
|
|
|
/obj/item/radio/electropack/attack_self(mob/user as mob, flag1)
|
|
|
|
if(!istype(user, /mob/living/carbon/human))
|
|
return
|
|
user.set_machine(src)
|
|
var/dat = {"<TT>
|
|
<A href='byond://?src=[REF(src)];power=1'>Turn [on ? "Off" : "On"]</A><BR>
|
|
<B>Frequency/Code</B> for electropack:<BR>
|
|
Frequency:
|
|
<A href='byond://?src=[REF(src)];freq=-10'>-</A>
|
|
<A href='byond://?src=[REF(src)];freq=-2'>-</A> [format_frequency(frequency)]
|
|
<A href='byond://?src=[REF(src)];freq=2'>+</A>
|
|
<A href='byond://?src=[REF(src)];freq=10'>+</A><BR>
|
|
|
|
Code:
|
|
<A href='byond://?src=[REF(src)];code=-5'>-</A>
|
|
<A href='byond://?src=[REF(src)];code=-1'>-</A> [code]
|
|
<A href='byond://?src=[REF(src)];code=1'>+</A>
|
|
<A href='byond://?src=[REF(src)];code=5'>+</A><BR>
|
|
</TT>"}
|
|
user << browse(HTML_SKELETON(dat), "window=radio")
|
|
onclose(user, "radio")
|
|
return
|