mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Merge pull request #5263 from Aranclanos/electropackrevamp
Electropack fixes
This commit is contained in:
@@ -477,7 +477,7 @@
|
||||
"aji" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/security/processing)
|
||||
"ajj" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/security/processing)
|
||||
"ajk" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/hydroponics/soil,/obj/item/device/analyzer/plant_analyzer,/obj/machinery/camera{c_tag = "Prison Common Room"; network = list("SS13","Prison")},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/security/prison)
|
||||
"ajl" = (/obj/structure/table,/obj/item/device/radio/electropack,/turf/simulated/floor,/area/security/transfer)
|
||||
"ajl" = (/obj/structure/table,/obj/item/device/electropack,/turf/simulated/floor,/area/security/transfer)
|
||||
"ajm" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/plating,/area/security/prison)
|
||||
"ajn" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/prison)
|
||||
"ajo" = (/obj/machinery/door/window/brigdoor{id = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "red"},/area/security/brig)
|
||||
@@ -5029,7 +5029,7 @@
|
||||
"bSK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "xenobio8"; name = "containment blast door"},/turf/simulated/floor/engine,/area/toxins/xenobiology)
|
||||
"bSL" = (/obj/structure/closet/l3closet/scientist{pixel_x = -2},/turf/simulated/floor,/area/toxins/misc_lab)
|
||||
"bSM" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/misc_lab)
|
||||
"bSN" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/device/radio/electropack,/obj/item/device/healthanalyzer,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/toxins/misc_lab)
|
||||
"bSN" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/device/electropack,/obj/item/device/healthanalyzer,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/toxins/misc_lab)
|
||||
"bSO" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor/engine,/area/toxins/misc_lab)
|
||||
"bSP" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor/engine,/area/toxins/misc_lab)
|
||||
"bSQ" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor/engine,/area/toxins/misc_lab)
|
||||
@@ -7427,7 +7427,7 @@
|
||||
"cMQ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/syringe/lethal/choral,/obj/item/weapon/reagent_containers/syringe/lethal{pixel_y = 4},/turf/simulated/floor/airless{icon_state = "dark"},/area/tcommsat/chamber)
|
||||
"cMR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/tcommsat/chamber)
|
||||
"cMS" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/tcommsat/chamber)
|
||||
"cMT" = (/obj/structure/table,/obj/item/device/radio/electropack,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
|
||||
"cMT" = (/obj/structure/table,/obj/item/device/electropack,/turf/simulated/floor/plating/airless,/area/tcommsat/chamber)
|
||||
"cMU" = (/obj/structure/table,/obj/item/weapon/hemostat,/turf/simulated/floor/airless{icon_state = "dark"},/area/tcommsat/chamber)
|
||||
"cMV" = (/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/floor/airless{icon_state = "dark"},/area/tcommsat/chamber)
|
||||
"cMW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/tcommsat/chamber)
|
||||
@@ -8171,7 +8171,7 @@
|
||||
"dbg" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"dbh" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 5; icon_state = "yellow"},/area/ai_monitored/storage/secure)
|
||||
"dbi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/secure)
|
||||
"dbj" = (/obj/structure/table,/obj/item/device/radio/electropack,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/security/prison)
|
||||
"dbj" = (/obj/structure/table,/obj/item/device/electropack,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/security/prison)
|
||||
"dbk" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"dbl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
|
||||
"dbm" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
var/throwing = 0
|
||||
var/throw_speed = 2
|
||||
var/throw_range = 7
|
||||
var/moved_recently = 0
|
||||
var/mob/pulledby = null
|
||||
var/languages = 0 //For say() and Hear()
|
||||
glide_size = 8
|
||||
@@ -130,7 +129,7 @@
|
||||
src.throwing = 0
|
||||
if(isobj(src))
|
||||
src.throw_impact(get_turf(src))
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ var/global/list/autolathe_recipes = list( \
|
||||
var/global/list/autolathe_recipes_hidden = list( \
|
||||
new /obj/item/weapon/flamethrower/full(), \
|
||||
new /obj/item/weapon/rcd(), \
|
||||
new /obj/item/device/radio/electropack(), \
|
||||
new /obj/item/device/electropack(), \
|
||||
new /obj/item/weapon/weldingtool/largetank(), \
|
||||
new /obj/item/weapon/restraints/handcuffs(), \
|
||||
new /obj/item/ammo_box/a357(), \
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
/obj/item/device/radio/electropack
|
||||
/obj/item/device/electropack
|
||||
name = "electropack"
|
||||
desc = "Dance my monkeys! DANCE!!!"
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "electropack0"
|
||||
item_state = "electropack"
|
||||
frequency = 1449
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
w_class = 5.0
|
||||
g_amt = 2500
|
||||
m_amt = 10000
|
||||
var/on = 1
|
||||
var/code = 2
|
||||
var/frequency = 1449
|
||||
var/shock_cooldown = 0
|
||||
|
||||
/obj/item/device/radio/electropack/initialize()
|
||||
/obj/item/device/electropack/initialize()
|
||||
radio_controller.add_object(src, frequency, RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio/electropack/New()
|
||||
/obj/item/device/electropack/New()
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, frequency, RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio/electropack/attack_hand(mob/user)
|
||||
/obj/item/device/electropack/attack_hand(mob/user)
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
if(src == C.back)
|
||||
@@ -26,12 +29,9 @@
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/device/radio/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
/obj/item/device/electropack/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if(istype(W, /obj/item/clothing/head/helmet))
|
||||
if(!b_stat)
|
||||
user << "<span class='notice'>[src] is not ready to be attached!</span>"
|
||||
return
|
||||
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
|
||||
A.icon = 'icons/obj/assemblies.dmi'
|
||||
|
||||
@@ -52,15 +52,16 @@
|
||||
if(src.flags & NODROP)
|
||||
A.flags |= NODROP
|
||||
|
||||
/obj/item/device/radio/electropack/Topic(href, href_list)
|
||||
/obj/item/device/electropack/Topic(href, href_list)
|
||||
//..()
|
||||
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(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)
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
|
||||
radio_controller.add_object(src, frequency, RADIO_CHAT)
|
||||
else
|
||||
if(href_list["code"])
|
||||
code += text2num(href_list["code"])
|
||||
@@ -90,20 +91,19 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/device/radio/electropack/receive_signal(datum/signal/signal)
|
||||
/obj/item/device/electropack/receive_signal(datum/signal/signal)
|
||||
if(!signal || signal.encryption != code)
|
||||
return
|
||||
|
||||
if(ismob(loc) && on)
|
||||
if(shock_cooldown != 0)
|
||||
return
|
||||
shock_cooldown = 1
|
||||
spawn(100)
|
||||
shock_cooldown = 0
|
||||
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)
|
||||
sleep(50)
|
||||
if(M)
|
||||
M.moved_recently = 0
|
||||
step(M, pick(cardinal))
|
||||
|
||||
M << "<span class='danger'>You feel a sharp shock!</span>"
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, M)
|
||||
@@ -111,17 +111,17 @@
|
||||
|
||||
M.Weaken(5)
|
||||
|
||||
if(master && !isWireCut(WIRE_SIGNAL))
|
||||
if(master)
|
||||
master.receive_signal()
|
||||
return
|
||||
|
||||
/obj/item/device/radio/electropack/attack_self(mob/user as mob, flag1)
|
||||
/obj/item/device/electropack/attack_self(mob/user)
|
||||
|
||||
if(!istype(user, /mob/living/carbon/human))
|
||||
return
|
||||
user.set_machine(src)
|
||||
var/dat = {"<TT>
|
||||
<A href='?src=\ref[src];power=1'>Turn [on ? "Off" : "On"]</A><BR>
|
||||
var/dat = {"<TT>Turned [on ? "On" : "Off"] -
|
||||
<A href='?src=\ref[src];power=1'>Toggle</A><BR>
|
||||
<B>Frequency/Code</B> for electropack:<BR>
|
||||
Frequency:
|
||||
<A href='byond://?src=\ref[src];freq=-10'>-</A>
|
||||
|
||||
@@ -135,9 +135,9 @@
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/device/assembly/signaler(src)
|
||||
new /obj/item/device/radio/electropack(src)
|
||||
new /obj/item/device/radio/electropack(src)
|
||||
new /obj/item/device/radio/electropack(src)
|
||||
new /obj/item/device/electropack(src)
|
||||
new /obj/item/device/electropack(src)
|
||||
new /obj/item/device/electropack(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
if(opened)
|
||||
close()
|
||||
else
|
||||
if(rigged && locate(/obj/item/device/radio/electropack) in src)
|
||||
if(rigged && locate(/obj/item/device/electropack) in src)
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
if(L.electrocute_act(17, src))
|
||||
@@ -346,7 +346,7 @@
|
||||
else
|
||||
user << "<span class='warning'>You need 5 lengths of cable to rig [src].</span>"
|
||||
return
|
||||
else if(istype(W, /obj/item/device/radio/electropack))
|
||||
else if(istype(W, /obj/item/device/electropack))
|
||||
if(rigged)
|
||||
user << "<span class='notice'>You attach [W] to [src].</span>"
|
||||
user.drop_item()
|
||||
|
||||
@@ -15,9 +15,6 @@
|
||||
..()
|
||||
if(istype(W, /obj/item/assembly/shock_kit))
|
||||
var/obj/item/assembly/shock_kit/SK = W
|
||||
if(!SK.status)
|
||||
user << "<span class='notice'>[SK] is not ready to be attached!</span>"
|
||||
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)
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
icon = 'icons/obj/assemblies.dmi'
|
||||
icon_state = "shock_kit"
|
||||
var/obj/item/clothing/head/helmet/part1 = null
|
||||
var/obj/item/device/radio/electropack/part2 = null
|
||||
var/status = 0
|
||||
var/obj/item/device/electropack/part2 = null
|
||||
w_class = 5.0
|
||||
flags = CONDUCT
|
||||
|
||||
@@ -16,7 +15,7 @@
|
||||
return
|
||||
|
||||
/obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/wrench) && !status)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
var/turf/T = loc
|
||||
if(ismob(T))
|
||||
T = T.loc
|
||||
@@ -28,15 +27,12 @@
|
||||
part2 = null
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
status = !status
|
||||
user << "<span class='notice'>[src] is now [status ? "secured" : "unsecured"]!</span>"
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/item/assembly/shock_kit/attack_self(mob/user as mob)
|
||||
part1.attack_self(user, status)
|
||||
part2.attack_self(user, status)
|
||||
part1.attack_self(user)
|
||||
part2.attack_self(user)
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user