mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Pimped out the response team. No jobs have stupid stuff spawn in their hands, it now spawns on their person, be it on their ear (pens if they cannot find a target) of in their pockets. MAde several pre-set-up things for the response team, including portable surgery equipment and a movable optable. Made autolathe items spawn on top of it. Added Death alarms, and made explosive implants work properly. Girders are now removed when a floor is made/RCD'd into existence. Internals can now be set even if it is in suit storage or on the belt.
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
activate()
|
||||
implanted(source as mob)
|
||||
get_data()
|
||||
hear(message, source as mob)
|
||||
|
||||
|
||||
trigger(emote, source as mob)
|
||||
@@ -27,6 +28,9 @@
|
||||
get_data()
|
||||
return "No information available"
|
||||
|
||||
hear(message, source as mob)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/implant/uplink
|
||||
@@ -236,7 +240,11 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
hear_talk(M as mob, var/msg)
|
||||
hear_talk(mob/M as mob, msg)
|
||||
hear(msg)
|
||||
return
|
||||
|
||||
hear(var/msg)
|
||||
if(findtext(msg,phrase))
|
||||
if(istype(loc, /mob/))
|
||||
var/mob/T = loc
|
||||
@@ -250,4 +258,41 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
implanted(mob/source as mob)
|
||||
phrase = input("Choose activation phrase:") as text
|
||||
usr.mind.store_memory("Explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate.", 0, 0)
|
||||
usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate."
|
||||
usr << "The implanted explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate."
|
||||
|
||||
/obj/item/weapon/implant/death_alarm
|
||||
name = "death alarm"
|
||||
desc = "Danger Will Robinson!"
|
||||
var/mobname = "Will Robinson"
|
||||
|
||||
get_data()
|
||||
var/dat = {"
|
||||
<b>Implant Specifications:</b><BR>
|
||||
<b>Name:</b> NanoTrasen \"Profit Margin\" Class Employee Lifesign Sensor<BR>
|
||||
<b>Life:</b> Activates upon death.<BR>
|
||||
<b>Important Notes:</b> Alerts crew to crewmember death.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Contains a compact radio signaler that triggers when the host's lifesigns cease.<BR>
|
||||
<b>Special Features:</b> Alerts crew to crewmember death.<BR>
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
process()
|
||||
var/mob/M = src.loc
|
||||
if(M.stat == 2)
|
||||
var/turf/t = get_turf(M)
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
|
||||
var/mob/living/carbon/human/G = new /mob/living/carbon/human(null)
|
||||
G.real_name = "[mobname]'s death alarm"
|
||||
G.name = "[mobname]'s death alarm"
|
||||
G.universal_speak = 1
|
||||
a.talk_into(G,"[mobname] has died in [t.loc.name]!")
|
||||
del(a)
|
||||
del(G)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
|
||||
implanted(mob/source as mob)
|
||||
mobname = source.real_name
|
||||
processing_objects.Add(src)
|
||||
@@ -114,4 +114,15 @@
|
||||
New()
|
||||
src.imp = new /obj/item/weapon/implant/loyalty( src )
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/implantcase/death_alarm
|
||||
name = "Glass Case- 'Tracking'"
|
||||
desc = "A case containing a tracking implant."
|
||||
icon = 'items.dmi'
|
||||
icon_state = "implantcase-b"
|
||||
|
||||
New()
|
||||
src.imp = new /obj/item/weapon/implant/death_alarm( src )
|
||||
..()
|
||||
return
|
||||
@@ -663,9 +663,6 @@ CLIPBOARDS
|
||||
else
|
||||
return
|
||||
src.update()
|
||||
spawn(0)
|
||||
attack_self(user)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/clipboard/proc/update()
|
||||
@@ -692,6 +689,15 @@ CLIPBOARDS
|
||||
src.add_fingerprint(usr)
|
||||
return //
|
||||
|
||||
/obj/item/weapon/clipboard/New()
|
||||
|
||||
..()
|
||||
for(var/i = 1, i <= 3, i++)
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
|
||||
P.loc = src
|
||||
src.pen = new /obj/item/weapon/pen(src)
|
||||
src.update()
|
||||
return
|
||||
|
||||
// PHOTOGRAPH
|
||||
|
||||
|
||||
@@ -40,3 +40,20 @@
|
||||
M.eye_blurry += 3
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/briefcase/surgery
|
||||
icon_state = "medbriefcase"
|
||||
name = "surgery equipment bag"
|
||||
desc = "Heavy and full of sharp things."
|
||||
|
||||
New()
|
||||
..()
|
||||
contents = list()
|
||||
sleep(1)
|
||||
new /obj/item/weapon/circular_saw(src)
|
||||
new /obj/item/weapon/hemostat(src)
|
||||
new /obj/item/weapon/scalpel(src)
|
||||
new /obj/item/weapon/retractor(src)
|
||||
new /obj/item/weapon/cautery(src)
|
||||
new /obj/item/weapon/surgical_tool/bonegel(src)
|
||||
new /obj/item/weapon/surgical_tool/bonesetter(src)
|
||||
@@ -259,9 +259,22 @@
|
||||
new /obj/item/weapon/tank/emergency_oxygen/engi( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/medic/New()
|
||||
..()
|
||||
contents = list()
|
||||
sleep(1)
|
||||
new /obj/item/clothing/mask/medical( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
new /obj/item/weapon/tank/emergency_oxygen/anesthetic( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndicate/New()
|
||||
..()
|
||||
switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "murder" = 1, "freedom" = 1)))
|
||||
switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1)))
|
||||
if ("bloodyspai")
|
||||
new /obj/item/clothing/under/chameleon(src)
|
||||
new /obj/item/clothing/mask/gas/voice(src)
|
||||
@@ -290,12 +303,6 @@
|
||||
new /obj/item/weapon/plastique(src)
|
||||
return
|
||||
|
||||
if ("murder")
|
||||
new /obj/item/weapon/melee/energy/sword(src)
|
||||
new /obj/item/weapon/cloaking_device(src)
|
||||
new /obj/item/weapon/card/emag(src)
|
||||
return
|
||||
|
||||
if("freedom")
|
||||
var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src)
|
||||
O.imp = new /obj/item/weapon/implant/freedom(O)
|
||||
|
||||
@@ -33,3 +33,19 @@
|
||||
icon_state = "emergency_double"
|
||||
name = "Double Emergency Oxygen Tank"
|
||||
volume = 10
|
||||
|
||||
/obj/item/weapon/tank/emergency_oxygen/anesthetic
|
||||
icon_state = "emergency_sleep"
|
||||
name = "emergency sleeping gas tank"
|
||||
desc = "Contains an Oxygen/N2O mix."
|
||||
distribute_pressure = ONE_ATMOSPHERE
|
||||
|
||||
New()
|
||||
..()
|
||||
src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD
|
||||
|
||||
var/datum/gas/sleeping_agent/trace_gas = new()
|
||||
trace_gas.moles = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD
|
||||
|
||||
src.air_contents.trace_gases += trace_gas
|
||||
return
|
||||
Reference in New Issue
Block a user