mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12
Conflicts: code/game/objects/items/weapons/surgery_tools.dm Did not do a pull in ages, all constants I sued in surgery code got renamed.
This commit is contained in:
@@ -55,7 +55,10 @@
|
||||
|
||||
for(var/obj/item/I in src.loc)
|
||||
if(!I.anchored)
|
||||
I.loc = src
|
||||
if(src.contents.len < src.quantity_max)
|
||||
I.loc = src
|
||||
else
|
||||
break
|
||||
|
||||
for(var/obj/mecha/working/ripley/deathripley/I in src.loc)
|
||||
I.loc = src
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
new /obj/item/device/pda/captain(src)
|
||||
new /obj/item/weapon/storage/id_kit(src)
|
||||
new /obj/item/clothing/suit/armor/captain(src)
|
||||
new /obj/item/clothing/head/helmet/cap(src)
|
||||
new /obj/item/clothing/head/caphat(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/weapon/cartridge/captain(src)
|
||||
@@ -52,6 +52,8 @@
|
||||
new /obj/item/weapon/storage/id_kit(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -46,10 +46,9 @@ obj/structure/closet/wardrobe/hos/New()
|
||||
|
||||
obj/structure/closet/wardrobe/hop/New()
|
||||
new /obj/item/clothing/under/rank/head_of_personnel(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/weapon/clipboard(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/gloves/blue(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/pink/New()
|
||||
new /obj/item/clothing/under/color/pink(src)
|
||||
@@ -116,6 +115,8 @@ obj/structure/closet/wardrobe/hop/New()
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/magboots(src) //[Redacted] ZAS! >:C
|
||||
new /obj/item/clothing/head/helmet/hardhat/red(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/engineering_yellow/New()
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
@@ -356,6 +357,6 @@ obj/structure/closet/wardrobe/hop/New()
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
//########################## CONTRABAND ;3333333333333333333 -Agouri ###################################################
|
||||
|
||||
#define NUM_OF_POSTER_DESIGNS 22
|
||||
#define NUM_OF_POSTER_DESIGNS 27
|
||||
#define BS12_POSTERS_START 18
|
||||
|
||||
/obj/item/weapon/contraband
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/obj/item/weapon/contraband/poster
|
||||
name = "rolled-up poster"
|
||||
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as Contraband aboard Nanotrasen© Space Facilities."
|
||||
desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as Contraband aboard NanoTrasen© Space Facilities."
|
||||
icon_state = "rolled_poster"
|
||||
var/serial_number = 0
|
||||
var/obj/effect/decal/poster/resulting_poster = null //The poster that will be created is initialised and stored through contraband/poster's constructor
|
||||
@@ -83,6 +83,7 @@ obj/effect/decal/poster/New(var/serial)
|
||||
|
||||
src.serial_number = serial
|
||||
|
||||
restart_proc:
|
||||
if(serial_number==src.loc)
|
||||
//add an increased chance for BS12 specific posters to spawn
|
||||
if(prob(10))
|
||||
@@ -117,22 +118,22 @@ obj/effect/decal/poster/New(var/serial)
|
||||
desc += " This particular one is of a couple of ragged gunmen, one male and one female, on top of a mound of rubble. The number \"13\" is visible on their blue jumpsuits."
|
||||
if(8)
|
||||
name += " - Pinup Girl Cindy"
|
||||
desc += " This particular one is of Nanotrasen's PR girl, Cindy, in a particularly feminine pose."
|
||||
desc += " This particular one is of NanoTrasen's PR girl, Cindy, in a particularly feminine pose."
|
||||
if(9)
|
||||
name += " - Pinup Girl Amy"
|
||||
desc += " This particular one is of Amy, the nymphomaniac Urban Legend of Nanotrasen Space Stations. How this photograph came to be is not known."
|
||||
desc += " This particular one is of Amy, the nymphomaniac Urban Legend of NanoTrasen Space Stations. How this photograph came to be is not known."
|
||||
if(10)
|
||||
name += " - Don't Panic"
|
||||
desc += " This particular one depicts some sort of star in a grimace. The \"Don't Panic\" is written in big, friendly letters."
|
||||
if(11)
|
||||
name += " - Underwater Laboratory"
|
||||
desc += " This particular one is of the fabled last crew of Nanotrasen's previous project before going big on Asteroid mining, Sealab."
|
||||
desc += " This particular one is of the fabled last crew of NanoTrasen's previous project before going big on Asteroid mining, Sealab."
|
||||
if(12)
|
||||
name += " - Missing Gloves"
|
||||
desc += " This particular one is about the uproar that followed Nanotrasen's financial cuts towards insulated-glove purchases."
|
||||
desc += " This particular one is about the uproar that followed NanoTrasen's financial cuts towards insulated-glove purchases."
|
||||
if(13)
|
||||
name += " - Rogue AI"
|
||||
desc += " This particular one depicts the shell of the infamous AI that catastropically comandeered one of Nanotrasen's earliest space stations. Back then, the corporation was just known as TriOptimum."
|
||||
desc += " This particular one depicts the shell of the infamous AI that catastropically comandeered one of NanoTrasen's earliest space stations. Back then, the corporation was just known as TriOptimum."
|
||||
if(14)
|
||||
name += " - User of the Arcane Arts"
|
||||
desc += " This particular one depicts a wizard, casting a spell. You can't really make out if it's an actial photograph or a computer-generated image."
|
||||
@@ -145,6 +146,8 @@ obj/effect/decal/poster/New(var/serial)
|
||||
if(17)
|
||||
name += " - Dangerous Static"
|
||||
desc += " This particular one depicts nothing remarkable other than a rather mesmerising pattern of monitor static. There's a tag on the sides of the poster, urging you to \"tear this poster in half to receive your free sample\"."
|
||||
|
||||
//bs12 specific posters
|
||||
if(18)
|
||||
name += " - Pinup Girl Val" //art thou incensed, brethren?
|
||||
desc += " Luscious Val McNeil, the vertically challenged Legal Extraordinaire, winner of Miss Space two years running and favoured pinup girl of Lawyers Weekly."
|
||||
@@ -160,12 +163,28 @@ obj/effect/decal/poster/New(var/serial)
|
||||
if(22)
|
||||
name += " - Skrell Twilight"
|
||||
desc += " This poster depicts a mysteriously inscrutable, alien scene. Numerous Skrell can be seen conversing amidst great, crystalline towers rising above crashing waves"
|
||||
if(23)
|
||||
name += " - Join the Fuzz!"
|
||||
desc += " It's a nice recruitment poster of a white haired Chinese woman that says; \"Big Guns, Hot Women, Good Times. Security. We get it done.\""
|
||||
if(24)
|
||||
name += " - Looking for a career with excitement?"
|
||||
desc += " A recruitment poster starring a dark haired woman with glasses and a purple shirt that has \"Got Brains? Got Talent? Not afraid of electric flying monsters that want to suck the soul out of you? Then Xenobiology could use someone like you!\" written on the bottom."
|
||||
if(25)
|
||||
name += " - Safety first: because electricity doesn't wait!"
|
||||
desc += " A safety poster starring a clueless looking redhead with frazzled hair. \"Every year, hundreds of NT employees expose themselves to electric shock. Play it safe. Avoid suspicious doors after electrical storms, and always wear protection when doing electric maintenance.\""
|
||||
if(26)
|
||||
name += " - Responsible medbay habits, No #259"
|
||||
desc += " A poster with a nervous looking geneticist on it states; \"Friends Don't Tell Friends They're Clones. It can cause severe and irreparable emotional trauma. Always do the right thing and never tell them that they were dead.\""
|
||||
if(27)
|
||||
name += " - Irresponsible medbay habits, No #2"
|
||||
desc += " This is a safety poster starring a perverted looking naked doctor. \"Sexual harassment is never okay. REPORT any acts of sexual deviance or harassment that disrupt a healthy working environment.\""
|
||||
/*if(20)
|
||||
name += " - the Disabled Triptarch: Ironfoot, Seber and Ore"
|
||||
desc += " This poster depicts a genetics researcher, a chemist and a medical doctor in various states of miscommunication."*/
|
||||
else
|
||||
name = "This shit just bugged. Report it to Agouri - polyxenitopalidou@gmail.com"
|
||||
desc = "Why are you still here?"
|
||||
//properly handle unhinged logic states
|
||||
src.serial_number = src.loc
|
||||
goto restart_proc
|
||||
..()
|
||||
|
||||
obj/effect/decal/poster/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
@@ -223,6 +242,9 @@ obj/effect/decal/poster/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
user << "<span class='notice'>You start placing the poster on the wall...</span>" //Looks like it's uncluttered enough. Place the poster.
|
||||
|
||||
//declaring D because otherwise if P gets 'deconstructed' we lose our reference to P.resulting_poster
|
||||
if(P.resulting_poster.serial_number != P.serial_number)
|
||||
del P.resulting_poster
|
||||
P.resulting_poster = new /obj/effect/decal/poster(P, P.serial_number)
|
||||
var/obj/effect/decal/poster/D = P.resulting_poster
|
||||
|
||||
var/temp_loc = user.loc
|
||||
|
||||
@@ -243,7 +243,7 @@
|
||||
dat += "<li><a href='byond://?src=\ref[src];choice=1'><img src=pda_notes.png> Notekeeper</a></li>"
|
||||
dat += "<li><a href='byond://?src=\ref[src];choice=2'><img src=pda_mail.png> Messenger</a></li>"
|
||||
dat += "<li><a href='byond://?src=\ref[src];choice=41'><img src=pda_notes.png> View Crew Manifest</a></li>"
|
||||
//dat += "<li><a href='byond://?src=\red[src];choice=chatroom'><img src=pda_chatroom.png> Nanotrasen Relay Chat</a></li>"
|
||||
//dat += "<li><a href='byond://?src=\red[src];choice=chatroom'><img src=pda_chatroom.png> NanoTrasen Relay Chat</a></li>"
|
||||
|
||||
if (cartridge)
|
||||
if (cartridge.access_clown)
|
||||
@@ -385,7 +385,7 @@
|
||||
dat += "<br>"
|
||||
|
||||
if (5)
|
||||
dat += "<h4><img src=pda_chatroom.png> Nanotrasen Relay Chat</h4>"
|
||||
dat += "<h4><img src=pda_chatroom.png> NanoTrasen Relay Chat</h4>"
|
||||
|
||||
dat += "<h4><img src=pda_menu.png> Detected Channels</h4>: <li>"
|
||||
for(var/datum/chatroom/C in chatrooms)
|
||||
|
||||
@@ -183,8 +183,8 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/space/rig/dropped(mob/user)
|
||||
if(on)
|
||||
user.ul_SetLuminosity(user.LuminosityRed + brightness_on, user.LuminosityGreen + (brightness_on - 1), user.LuminosityBlue)
|
||||
ul_SetLuminosity(brightness_on, brightness_on-1, 0)
|
||||
user.ul_SetLuminosity(user.LuminosityRed - brightness_on, user.LuminosityGreen - (brightness_on - 1), user.LuminosityBlue)
|
||||
ul_SetLuminosity(brightness_on, brightness_on - 1, 0)
|
||||
|
||||
// the desk lamps are a bit special
|
||||
/obj/item/device/flashlight/lamp
|
||||
|
||||
@@ -120,12 +120,12 @@ MASS SPECTROMETER
|
||||
for(var/name in H.organs)
|
||||
var/datum/organ/external/e = H.organs[name]
|
||||
var/limb = e.getDisplayName()
|
||||
if(e.status & BROKEN)
|
||||
if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!(e.status & SPLINTED)))
|
||||
if(e.status & ORGAN_BROKEN)
|
||||
if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!(e.status & ORGAN_SPLINTED)))
|
||||
user << "\red Unsecured fracture in subject [limb]. Splinting recommended for transport."
|
||||
for(var/name in H.organs)
|
||||
var/datum/organ/external/e = H.organs[name]
|
||||
if(e.status & BROKEN)
|
||||
if(e.status & ORGAN_BROKEN)
|
||||
user.show_message(text("\red Bone fractures detected. Advanced scanner required for location."), 1)
|
||||
break
|
||||
if(ishuman(M))
|
||||
|
||||
@@ -124,7 +124,7 @@ steam.start() -- spawns the effect
|
||||
var/i = 0
|
||||
for(i=0, i<src.number, i++)
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/steam/steam = new /obj/effect/effect/steam(src.location)
|
||||
var/direction
|
||||
@@ -195,7 +195,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_sparks > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/sparks/sparks = new /obj/effect/effect/sparks(src.location)
|
||||
src.total_sparks++
|
||||
@@ -265,7 +265,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/harmless_smoke/smoke = new /obj/effect/effect/harmless_smoke(src.location)
|
||||
src.total_smoke++
|
||||
@@ -365,7 +365,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/bad_smoke/smoke = new /obj/effect/effect/bad_smoke(src.location)
|
||||
src.total_smoke++
|
||||
@@ -494,7 +494,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/iterator = pick(0,1,1,1,2,2,2,3)
|
||||
var/obj/effect/effect/chem_smoke/smoke = new /obj/effect/effect/chem_smoke(src.location)
|
||||
@@ -602,7 +602,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/sleep_smoke/smoke = new /obj/effect/effect/sleep_smoke(src.location)
|
||||
src.total_smoke++
|
||||
@@ -688,7 +688,7 @@ steam.start() -- spawns the effect
|
||||
if(src.total_smoke > 20)
|
||||
return
|
||||
spawn(0)
|
||||
if(holder)
|
||||
if(holder && !istype(holder,/datum))
|
||||
src.location = get_turf(holder)
|
||||
var/obj/effect/effect/mustard_gas/smoke = new /obj/effect/effect/mustard_gas(src.location)
|
||||
src.total_smoke++
|
||||
|
||||
@@ -404,7 +404,7 @@
|
||||
return
|
||||
|
||||
var/datum/organ/external/head = H.organs["head"]
|
||||
if(head.status & DESTROYED)
|
||||
if(head.status & ORGAN_DESTROYED)
|
||||
user << "\blue Put it where? There's no head."
|
||||
|
||||
//since these people will be dead M != usr
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
var/area/A = get_area()
|
||||
var/text = {"<HTML><head><title>[src]</title></head><BODY>
|
||||
<h2>[station_name()] blueprints</h2>
|
||||
<small>Property of Nanotrasen. For heads of staff only. Store in high-secure storage.</small><hr>
|
||||
<small>Property of NanoTrasen. For heads of staff only. Store in high-secure storage.</small><hr>
|
||||
"}
|
||||
switch (get_area_type())
|
||||
if (AREA_SPACE)
|
||||
|
||||
@@ -97,13 +97,13 @@
|
||||
if (user.hand)
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(temp.status & DESTROYED)
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
user << "\blue Yo- wait a minute."
|
||||
return
|
||||
else
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(temp.status & DESTROYED)
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
user << "\blue Yo- wait a minute."
|
||||
|
||||
if (istype(src.loc, /obj/item/weapon/storage))
|
||||
@@ -136,7 +136,7 @@
|
||||
if (user.hand)
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(!(temp.status & DESTROYED))
|
||||
if(!(temp.status & ORGAN_DESTROYED))
|
||||
user.l_hand = src
|
||||
else
|
||||
user << "\blue You pick \the [src] up with your ha- wait a minute."
|
||||
@@ -148,7 +148,7 @@
|
||||
else
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(!(temp.status & DESTROYED))
|
||||
if(!(temp.status & ORGAN_DESTROYED))
|
||||
user.r_hand = src
|
||||
else
|
||||
user << "\blue You pick \the [src] up with your ha- wait a minute."
|
||||
@@ -176,13 +176,13 @@
|
||||
if (user.hand)
|
||||
if(ismonkey(user))
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(temp.status & DESTROYED)
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
user << "\blue Yo- wait a minute."
|
||||
return
|
||||
else
|
||||
if(ismonkey(user))
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(temp.status & DESTROYED)
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
user << "\blue Yo- wait a minute."
|
||||
|
||||
if (istype(src.loc, /obj/item/weapon/storage))
|
||||
|
||||
@@ -72,7 +72,7 @@ RCD
|
||||
|
||||
|
||||
afterattack(atom/A, mob/user as mob)
|
||||
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))//Nanotrasen Matter Jammer TM -Sieve
|
||||
if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))//NanoTrasen Matter Jammer TM -Sieve
|
||||
disabled = 1
|
||||
else
|
||||
disabled = 0
|
||||
@@ -168,7 +168,7 @@ RCD
|
||||
/obj/item/weapon/rcd/industrial
|
||||
name = "industrial rapid construction device"
|
||||
max_matter = 60
|
||||
|
||||
|
||||
New()
|
||||
matter = max_matter
|
||||
return ..()
|
||||
|
||||
@@ -510,15 +510,15 @@ CRITTER GRENADE
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
|
||||
/obj/item/weapon/spawnergrenade/spesscarp
|
||||
/obj/item/weapon/spawnergrenade/carp
|
||||
name = "carp delivery grenade"
|
||||
spawner_type = /obj/effect/critter/spesscarp
|
||||
spawner_type = /mob/living/simple_animal/carp
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
|
||||
/obj/item/weapon/spawnergrenade/elitespesscarp
|
||||
/obj/item/weapon/spawnergrenade/elitecarp
|
||||
name = "elite carp delivery grenade"
|
||||
spawner_type = /obj/effect/critter/spesscarp/elite
|
||||
spawner_type = /mob/living/simple_animal/carp/elite
|
||||
deliveryamt = 2
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
|
||||
|
||||
@@ -341,15 +341,20 @@ the implant may become unstable and either pre-maturely inject the subject or si
|
||||
process()
|
||||
var/mob/M = imp_in
|
||||
|
||||
var/area/t = get_area(M)
|
||||
|
||||
if(isnull(M)) // If the mob got gibbed
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
|
||||
a.autosay("states, \"[mobname] has died-zzzzt in-in-in...\"", "[mobname]'s Death Alarm")
|
||||
del(a)
|
||||
processing_objects.Remove(src)
|
||||
else if(M.stat == 2)
|
||||
var/area/t = get_area(M)
|
||||
var/obj/item/device/radio/headset/a = new /obj/item/device/radio/headset(null)
|
||||
a.autosay("states, \"[mobname] has died in [t.name]!\"", "[mobname]'s Death Alarm")
|
||||
if(istype(t, /area/syndicate_station) || istype(t, /area/syndicate_mothership) || istype(t, /area/shuttle/syndicate_elite) )
|
||||
//give the syndies a bit of stealth
|
||||
a.autosay("states, \"[mobname] has died in Space!\"", "[mobname]'s Death Alarm")
|
||||
else
|
||||
a.autosay("states, \"[mobname] has died in [t.name]!\"", "[mobname]'s Death Alarm")
|
||||
del(a)
|
||||
processing_objects.Remove(src)
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
return
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/target = M:get_organ(check_zone(user.zone_sel.selecting))
|
||||
if(target.status & DESTROYED)
|
||||
if(target.status & ORGAN_DESTROYED)
|
||||
user << "What [target.display_name]?"
|
||||
return
|
||||
if(!target.implant)
|
||||
@@ -114,8 +114,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/implanter/compressed/afterattack(atom/A, mob/user as mob)
|
||||
if(istype(A,/obj/item))
|
||||
var/obj/item/weapon/implant/compressed/c = imp
|
||||
c.scanned = A
|
||||
if(istype(A,/obj/item) && imp)
|
||||
imp:scanned = A
|
||||
A.loc.contents.Remove(A)
|
||||
update()
|
||||
|
||||
@@ -313,7 +313,7 @@ It is caused by the unexpected circumstances after awakening in cryo (if cloned
|
||||
<li>Internal armor is plasteel for additional strength.</li>
|
||||
<li>External armor must be installed in 2 parts, totaling 10 sheets.</li>
|
||||
<li>Completed mech is more resiliant against fire, and is a bit more durable overall</li>
|
||||
<li>Nanotrasen is determined to the safety of its <s>investments</s> employees.</li>
|
||||
<li>NanoTrasen is determined to the safety of its <s>investments</s> employees.</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -44,7 +44,7 @@ MEDICAL
|
||||
if(!istype(affecting, /datum/organ/external))
|
||||
affecting = H.get_organ("head")
|
||||
|
||||
if(affecting.status & ROBOT)
|
||||
if(affecting.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? Better get a welder..."
|
||||
return
|
||||
|
||||
@@ -53,10 +53,10 @@ MEDICAL
|
||||
if(!((affecting.name == "l_arm") || (affecting.name == "r_arm") || (affecting.name == "l_leg") || (affecting.name == "r_leg")))
|
||||
user << "\red You can't apply a splint there!"
|
||||
return
|
||||
if(!(affecting.status & BROKEN))
|
||||
if(!(affecting.status & ORGAN_BROKEN))
|
||||
user << "\red [M]'s [limb] isn't broken!"
|
||||
return
|
||||
if(affecting.status & SPLINTED)
|
||||
if(affecting.status & ORGAN_SPLINTED)
|
||||
user << "\red [M]'s [limb] is already splinted!"
|
||||
return
|
||||
if (M != user)
|
||||
@@ -75,7 +75,7 @@ MEDICAL
|
||||
else
|
||||
user.visible_message("\red [user] fumbles \the [src].", "\red You fumble \the [src].", "\red You hear something being wrapped.")
|
||||
return
|
||||
affecting.status |= SPLINTED
|
||||
affecting.status |= ORGAN_SPLINTED
|
||||
use(1)
|
||||
M.update_clothing()
|
||||
return
|
||||
@@ -115,8 +115,8 @@ MEDICAL
|
||||
"You hear gauze being ripped.")
|
||||
use(1)
|
||||
|
||||
if (!ointment && (affecting.status & BLEEDING))
|
||||
affecting.status &= ~BLEEDING
|
||||
if (!ointment && (affecting.status & ORGAN_BLEEDING))
|
||||
affecting.status &= ~ORGAN_BLEEDING
|
||||
|
||||
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
|
||||
H.UpdateDamageIcon()
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if(S.status & DESTROYED)
|
||||
if(!(S.status & ATTACHABLE))
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
if(!(S.status & ORGAN_ATTACHABLE))
|
||||
user << "\red The wound is not ready for a replacement!"
|
||||
return 0
|
||||
if(M != user)
|
||||
@@ -51,17 +51,17 @@
|
||||
user << "\red You mess up!"
|
||||
S.take_damage(15)
|
||||
|
||||
S.status &= ~BROKEN
|
||||
S.status &= ~SPLINTED
|
||||
S.status &= ~ATTACHABLE
|
||||
S.status &= ~DESTROYED
|
||||
S.status |= ROBOT
|
||||
S.status &= ~ORGAN_BROKEN
|
||||
S.status &= ~ORGAN_SPLINTED
|
||||
S.status &= ~ORGAN_ATTACHABLE
|
||||
S.status &= ~ORGAN_DESTROYED
|
||||
S.status |= ORGAN_ROBOT
|
||||
var/datum/organ/external/T = H.organs["[limbloc]"]
|
||||
T.status &= ~BROKEN
|
||||
T.status &= ~SPLINTED
|
||||
T.status &= ~ATTACHABLE
|
||||
T.status &= ~DESTROYED
|
||||
T.status |= ROBOT
|
||||
T.status &= ~ORGAN_BROKEN
|
||||
T.status &= ~ORGAN_SPLINTED
|
||||
T.status &= ~ORGAN_ATTACHABLE
|
||||
T.status &= ~ORGAN_DESTROYED
|
||||
T.status |= ORGAN_ROBOT
|
||||
M.update_body()
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
|
||||
@@ -108,11 +108,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/S = M.organs[user.zone_sel.selecting]
|
||||
if (!S)
|
||||
return 0
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & BLEEDING)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
if(S.status & ORGAN_BLEEDING)
|
||||
user << "\red There's too much blood here!"
|
||||
return 0
|
||||
if(!(S.status & CUT_AWAY))
|
||||
if(!(S.status & ORGAN_CUT_AWAY))
|
||||
user << "\red The flesh hasn't been cleanly cut!"
|
||||
return 0
|
||||
M.visible_message( \
|
||||
@@ -234,10 +234,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(!S || !istype(S))
|
||||
return 0
|
||||
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
return 0
|
||||
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? How would that do any good..."
|
||||
return 0
|
||||
|
||||
@@ -245,7 +245,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
user << "\red There is skin in the way!"
|
||||
return 0
|
||||
|
||||
if(S.status & BLEEDING)
|
||||
if(S.status & ORGAN_BLEEDING)
|
||||
user << "\red [H] is profusely bleeding in \his [S.display_name]!"
|
||||
return 0
|
||||
|
||||
@@ -332,11 +332,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if (!S)
|
||||
return 0
|
||||
if(S.status & DESTROYED)
|
||||
if(!(S.status & BLEEDING))
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
if(!(S.status & ORGAN_BLEEDING))
|
||||
user << "\red There is nothing bleeding here!"
|
||||
return 0
|
||||
if(!(S.status & CUT_AWAY))
|
||||
if(!(S.status & ORGAN_CUT_AWAY))
|
||||
user << "\red The flesh hasn't been cleanly cut!"
|
||||
return 0
|
||||
H.visible_message( \
|
||||
@@ -346,7 +346,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
H.visible_message( \
|
||||
"\red [user] finishes clamping bleeders in the stump where [H]'s [S.display_name] used to be with [src]!", \
|
||||
"\red [user] finishes clamping bleeders in the stump where your [S.display_name] used to be with [src]!")
|
||||
S.status &= ~BLEEDING
|
||||
S.status &= ~ORGAN_BLEEDING
|
||||
H.updatehealth()
|
||||
H.UpdateDamageIcon()
|
||||
return 1
|
||||
@@ -426,7 +426,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
M.face_op_stage = 2.0
|
||||
|
||||
var/datum/organ/external/S = M.organs["head"]
|
||||
S.status &= ~BLEEDING
|
||||
S.status &= ~ORGAN_BLEEDING
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
return 1
|
||||
@@ -509,10 +509,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(!S || !istype(S))
|
||||
return 0
|
||||
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
return 0
|
||||
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? How would that do any good?"
|
||||
return 0
|
||||
|
||||
@@ -520,7 +520,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
user << "\red There is skin in the way!"
|
||||
return 0
|
||||
|
||||
if(!(S.status & BLEEDING))
|
||||
if(!(S.status & ORGAN_BLEEDING))
|
||||
if(S.implant)
|
||||
implant_surgery(H,user)
|
||||
return 1
|
||||
@@ -540,7 +540,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(user.zone_sel.selecting == "head" && H:brain_op_stage == 1)
|
||||
H:brain_op_stage = 0
|
||||
|
||||
S.status &= ~BLEEDING
|
||||
S.status &= ~ORGAN_BLEEDING
|
||||
H.updatehealth()
|
||||
H.UpdateDamageIcon()
|
||||
else
|
||||
@@ -721,7 +721,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(!S.open)
|
||||
usr << "<b>You have to cut the limb open first!</b>"
|
||||
return
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? How would that do any good?"
|
||||
return
|
||||
for(var/mob/O in viewers(M))
|
||||
@@ -769,11 +769,11 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
if (!S)
|
||||
return 0
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & BLEEDING)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
if(S.status & ORGAN_BLEEDING)
|
||||
user << "\red There's too much blood here!"
|
||||
return 0
|
||||
if(!(S.status & CUT_AWAY))
|
||||
if(!(S.status & ORGAN_CUT_AWAY))
|
||||
user << "\red The flesh hasn't been cleanly cut!"
|
||||
return 0
|
||||
if(S.open != 3)
|
||||
@@ -788,7 +788,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
"\red [user] finishes adjusting the area around your [S.display_name]!")
|
||||
S.open = 0
|
||||
S.stage = 0
|
||||
S.status |= ATTACHABLE
|
||||
S.status |= ORGAN_ATTACHABLE
|
||||
S.amputated = 1 // this should prevent the wound from hurting etc.
|
||||
H.updatehealth()
|
||||
H.UpdateDamageIcon()
|
||||
@@ -850,10 +850,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(!S || !istype(S))
|
||||
return 0
|
||||
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
user << "What [S.display_name]?"
|
||||
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? How would that do any good..."
|
||||
return
|
||||
if(!S.open)
|
||||
@@ -935,7 +935,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
return
|
||||
if(istype(H) && H.organs["head"])
|
||||
var/datum/organ/external/affecting = H.organs["head"]
|
||||
if(affecting.status & DESTROYED)
|
||||
if(affecting.status & ORGAN_DESTROYED)
|
||||
return ..()
|
||||
if(brain_surgery(M,user))
|
||||
return
|
||||
@@ -1047,7 +1047,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/S = M.organs[user.zone_sel.selecting]
|
||||
if (!S)
|
||||
return
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
M.visible_message( \
|
||||
"\red [user] is beginning to cut away at the flesh where [M]'s [S.display_name] used to be with [src].", \
|
||||
"\red [user] begins to cut away at the flesh where [S.display_name] used to be with [src]!")
|
||||
@@ -1055,7 +1055,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
M.visible_message( \
|
||||
"\red [user] finishes cutting where [M]'s [S.display_name] used to be with [src]!", \
|
||||
"\red [user] finishes cutting where your [S.display_name] used to be with [src]!")
|
||||
S.status |= BLEEDING|CUT_AWAY
|
||||
S.status |= ORGAN_BLEEDING|ORGAN_CUT_AWAY
|
||||
M.updatehealth()
|
||||
M.UpdateDamageIcon()
|
||||
return 1
|
||||
@@ -1115,10 +1115,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
if(!S || !istype(S))
|
||||
return 0
|
||||
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
return 0
|
||||
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
user << "Medical equipment for a robot arm? How would that do any good..."
|
||||
return 0
|
||||
|
||||
@@ -1134,7 +1134,7 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
"\red [user] cuts open the wound in [H]'s [S.display_name] with [src]!", \
|
||||
"\red [user] cuts open the wound in your [S.display_name] with [src]!")
|
||||
|
||||
S.status |= BLEEDING
|
||||
S.status |= ORGAN_BLEEDING
|
||||
S.open = 1
|
||||
if(S.display_name == "head")
|
||||
H:brain_op_stage = 1.0
|
||||
@@ -1210,10 +1210,10 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/S = H:organs[user.zone_sel.selecting]
|
||||
if (!S)
|
||||
return
|
||||
if(S.status & DESTROYED)
|
||||
if(S.status & ORGAN_DESTROYED)
|
||||
return
|
||||
|
||||
if(S.status & ROBOT)
|
||||
if(S.status & ORGAN_ROBOT)
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, H)
|
||||
spark_system.attach(H)
|
||||
@@ -1348,33 +1348,33 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/datum/organ/external/temp = M.organs[zone]
|
||||
var/msg
|
||||
|
||||
if(temp.status & DESTROYED)
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
return ..()
|
||||
|
||||
// quickly convert embryo removal to bone surgery
|
||||
if(zone == "chest" && M.embryo_op_stage == 3)
|
||||
M.embryo_op_stage = 0
|
||||
temp.open = 2
|
||||
temp.status &= ~BLEEDING
|
||||
temp.status &= ~ORGAN_BLEEDING
|
||||
|
||||
// quickly convert appendectomy to bone surgery
|
||||
if(zone == "groin" && M.appendix_op_stage == 3)
|
||||
M.appendix_op_stage = 0
|
||||
temp.open = 2
|
||||
temp.status &= ~BLEEDING
|
||||
temp.status &= ~ORGAN_BLEEDING
|
||||
|
||||
msg = get_message(1,M,user,temp)
|
||||
for(var/mob/O in viewers(M,null))
|
||||
O.show_message("\red [msg]",1)
|
||||
if(do_mob(user,M,time))
|
||||
if(temp.open == 2 && !(temp.status & BLEEDING))
|
||||
if(temp.open == 2 && !(temp.status & ORGAN_BLEEDING))
|
||||
if(temp.broken_description in wound)
|
||||
if(temp.stage in stage)
|
||||
temp.stage += 1
|
||||
|
||||
if(IsFinalStage(temp.stage))
|
||||
temp.status &= ~BROKEN
|
||||
temp.status &= ~SPLINTED
|
||||
temp.status &= ~ORGAN_BROKEN
|
||||
temp.status &= ~ORGAN_SPLINTED
|
||||
temp.stage = 0
|
||||
temp.perma_injury = 0
|
||||
temp.brute_dam = temp.min_broken_damage -1
|
||||
@@ -1472,17 +1472,17 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
var/mob/living/carbon/human/H = M
|
||||
for(var/name in H.organs)
|
||||
var/datum/organ/external/e = H.organs[name]
|
||||
if(e.status & DESTROYED) // this is nanites, not space magic
|
||||
if(e.status & ORGAN_DESTROYED) // this is nanites, not space magic
|
||||
continue
|
||||
e.brute_dam = 0.0
|
||||
e.burn_dam = 0.0
|
||||
e.status &= ~BANDAGED
|
||||
e.status &= ~ORGAN_BANDAGED
|
||||
e.max_damage = initial(e.max_damage)
|
||||
e.status &= ~BLEEDING
|
||||
e.status &= ~ORGAN_BLEEDING
|
||||
e.open = 0
|
||||
e.status &= ~BROKEN
|
||||
e.status &= ~DESTROYED
|
||||
e.status &= ~SPLINTED
|
||||
e.status &= ~ORGAN_BROKEN
|
||||
e.status &= ~ORGAN_DESTROYED
|
||||
e.status &= ~ORGAN_SPLINTED
|
||||
e.perma_injury = 0
|
||||
e.update_icon()
|
||||
H.update_body()
|
||||
@@ -1516,4 +1516,4 @@ Called when surgeon interupted operation, or was interrupted (was not there with
|
||||
|
||||
if(!isnull(user))//If the user still exists. Their mob may not.
|
||||
user.show_message(text("\red You inject [M]"))
|
||||
return
|
||||
return
|
||||
@@ -327,7 +327,7 @@ WELDINGTOOOL
|
||||
/obj/item/weapon/weldingtool/attack(mob/M as mob, mob/user as mob)
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/S = M:organs[user.zone_sel.selecting]
|
||||
if(!(S.status & ROBOT) || user.a_intent != "help")
|
||||
if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help")
|
||||
return ..()
|
||||
if(S.brute_dam)
|
||||
S.heal_damage(15,0,0,1)
|
||||
@@ -404,4 +404,4 @@ WELDINGTOOOL
|
||||
M.update_clothing()
|
||||
return
|
||||
else
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -266,7 +266,7 @@ SHARDS
|
||||
return
|
||||
if(!((H.shoes) || (H.wear_suit && H.wear_suit.body_parts_covered & FEET)))
|
||||
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
|
||||
if(affecting.status & ROBOT)
|
||||
if(affecting.status & ORGAN_ROBOT)
|
||||
return
|
||||
H.Weaken(3)
|
||||
affecting.take_damage(5, 0)
|
||||
|
||||
@@ -106,6 +106,9 @@
|
||||
|
||||
/obj/structure/stool/bed/MouseDrop_T(mob/M as mob, mob/user as mob)
|
||||
if(!istype(M)) return
|
||||
if(issimpleanimal(user))
|
||||
user << "\red You are unable to work the complex mechanisms of a buckle!"
|
||||
return
|
||||
buckle_mob(M, user)
|
||||
M.lying = 1
|
||||
return
|
||||
|
||||
@@ -55,7 +55,11 @@
|
||||
"/obj/item/weapon/cable_coil",
|
||||
"/obj/item/device/t_scanner",
|
||||
"/obj/item/device/analyzer",
|
||||
"/obj/item/device/pda")
|
||||
"/obj/item/device/pda",
|
||||
"/obj/item/weapon/lighter",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/weapon/matchbox"
|
||||
)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/utility/full/New()
|
||||
@@ -102,12 +106,15 @@
|
||||
"/obj/item/weapon/reagent_containers/syringe",
|
||||
"/obj/item/weapon/reagent_containers/glass/dispenser",
|
||||
"/obj/item/weapon/reagent_containers/hypospray",
|
||||
"/obj/item/weapon/lighter/zippo",
|
||||
"/obj/item/weapon/lighter",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/weapon/matchbox",
|
||||
"/obj/item/weapon/storage/pill_bottle",
|
||||
"/obj/item/stack/medical",
|
||||
"/obj/item/device/flashlight/pen",
|
||||
"/obj/item/device/pda"
|
||||
"/obj/item/device/pda",
|
||||
"/obj/item/clothing/mask/surgical",
|
||||
"/obj/item/clothing/gloves/latex"
|
||||
)
|
||||
|
||||
|
||||
@@ -141,10 +148,12 @@
|
||||
"/obj/item/weapon/camera_test",
|
||||
"/obj/item/weapon/camera_film",
|
||||
"/obj/item/weapon/cigpacket",
|
||||
"/obj/item/weapon/zippo",
|
||||
"/obj/item/weapon/lighter",
|
||||
"/obj/item/weapon/matchbox",
|
||||
"/obj/item/device/taperecorder",
|
||||
"/obj/item/weapon/evidencebag",
|
||||
"/obj/item/taperoll/police"
|
||||
"/obj/item/taperoll/police",
|
||||
"/obj/item/clothing/mask/gas"
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/soulstone
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
M.update_clothing()
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
if(over_object == usr && in_range(src, usr) || usr.contents.Find(src))
|
||||
if( (over_object == usr && in_range(src, usr) || usr.contents.Find(src)) && usr.s_active)
|
||||
usr.s_active.close(usr)
|
||||
src.show_to(usr)
|
||||
return
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/obj/structure/closet/crate/contraband
|
||||
name = "Poster crate"
|
||||
desc = "A random assortment of posters manufactured by providers NOT listed under Nanotrasen's whitelist."
|
||||
desc = "A random assortment of posters manufactured by providers NOT listed under NanoTrasen's whitelist."
|
||||
icon = 'storage.dmi'
|
||||
icon_state = "crate"
|
||||
density = 1
|
||||
|
||||
@@ -321,6 +321,32 @@
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/ert/boost( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/PCMBox/New()
|
||||
..()
|
||||
contents = list()
|
||||
sleep(1)
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
new /obj/item/weapon/module/power_control( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/AirlockBox/New()
|
||||
..()
|
||||
contents = list()
|
||||
sleep(1)
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
new /obj/item/weapon/airlock_electronics( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/box/syndicate/New()
|
||||
..()
|
||||
switch (pickweight(list("bloodyspai" = 1, "stealth" = 1, "screwed" = 1, "guns" = 1, "freedom" = 1, "hacker" = 1, "lordsingulo" = 1)))
|
||||
|
||||
@@ -375,7 +375,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
var/obj/item/weapon/implant/uplink/U = src.loc
|
||||
var/mob/living/A = U.imp_in
|
||||
var/datum/organ/external/head = A:organs["head"]
|
||||
head.status |= DESTROYED
|
||||
head.status |= ORGAN_DESTROYED
|
||||
spawn(2)
|
||||
head.droplimb()
|
||||
del(src.master)
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
/obj/machinery/shower
|
||||
name = "shower"
|
||||
desc = "The HS-451. Installed in the 2550s by the Nanotrasen Hygiene Division."
|
||||
desc = "The HS-451. Installed in the 2550s by the NanoTrasen Hygiene Division."
|
||||
icon = 'watercloset.dmi'
|
||||
icon_state = "shower"
|
||||
density = 0
|
||||
|
||||
@@ -137,17 +137,25 @@
|
||||
if("feet")
|
||||
if(!H.shoes)
|
||||
affecting = H.get_organ(pick("l_leg", "r_leg"))
|
||||
if(!(affecting.status & ROBOT))
|
||||
if(!(affecting.status & ORGAN_ROBOT))
|
||||
H.Weaken(3)
|
||||
if("l_hand", "r_hand")
|
||||
if(!H.gloves)
|
||||
affecting = H.get_organ(type)
|
||||
if(!(affecting.status & ROBOT))
|
||||
if(!(affecting.status & ORGAN_ROBOT))
|
||||
H.Stun(3)
|
||||
if(affecting && !(affecting.status & ROBOT))
|
||||
if(affecting && !(affecting.status & ORGAN_ROBOT))
|
||||
affecting.take_damage(1, 0)
|
||||
H.UpdateDamageIcon()
|
||||
H.updatehealth()
|
||||
else if(ismouse(target))
|
||||
var/mob/living/simple_animal/mouse/M = target
|
||||
src.visible_message("\red \icon[src] <b>SPLAT!</b>")
|
||||
M.splat()
|
||||
else if(isroach(target))
|
||||
var/obj/effect/critter/roach/R = target
|
||||
src.visible_message("\red \icon[src] <b>CRUNCH!</b>")
|
||||
R.Die()
|
||||
playsound(target.loc, 'snap.ogg', 50, 1)
|
||||
icon_state = "mousetrap"
|
||||
armed = 0
|
||||
|
||||
Reference in New Issue
Block a user