Shitton of bugfixes related to bryteloss/fireloss.

Note for coders: in order to help with seaching of health-related bugs I have moved many procs from /mob/ under /mob/living/.
Also, done some clean up and rearranging.
Results:
-admin rejuvenating now works again;
-people screams if getting creamated while still alive;
-diseases actually loose your health;
-monkeys wearing masks receive protection from acids as humans did;
-and other minor fixes and improvements.
Bugfix for imbuing a talisman.
RD now spawns with only 2 pens instead of 3.
Audible emotions can be heard by people outside of locker/other container.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1446 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
rastaf.zero@gmail.com
2011-04-15 07:41:19 +00:00
parent 2a1818cc93
commit b58e465bbe
73 changed files with 1266 additions and 1210 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -387,7 +387,7 @@
if(!istype(M,/mob/living/carbon)) continue
if(M == user) continue
D.reagents.trans_to(M, 15)
M.bruteloss += 5
M.take_organ_damage(5)
for(var/mob/O in viewers(world.view, D))
O.show_message(text("\red [] was hit by the syringe!", M), 1)

View File

@@ -25,7 +25,7 @@ to null does not delete the object itself. Thank you.
var/spread_type = AIRBORNE
var/contagious_period = 0//the disease stage when it can be spread
var/list/affected_species = list()
var/mob/affected_mob = null //the mob which is affected by disease.
var/mob/living/carbon/affected_mob = null //the mob which is affected by disease.
var/holder = null //the atom containing the disease (mob or obj)
var/carrier = 0.0 //there will be a small chance that the person will be a carrier
var/curable = 1 //can this disease be cured? (By itself...)

View File

@@ -47,8 +47,7 @@
if(prob(2))
affected_mob << "\red Your muscles ache."
if(prob(20))
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if(prob(2))
affected_mob << "\red Your stomach hurts."
if(prob(20))

View File

@@ -25,8 +25,7 @@
if(prob(1))
affected_mob << "\red Your muscles ache."
if(prob(20))
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
if(prob(20))

View File

@@ -26,8 +26,7 @@
if(prob(1))
affected_mob << "\red Your muscles ache."
if(prob(20))
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
if(prob(20))
@@ -46,8 +45,7 @@
if(prob(1))
affected_mob << "\red Your muscles ache."
if(prob(20))
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
if(prob(20))

View File

@@ -20,8 +20,7 @@
if(2)
if (prob(8))
affected_mob << "Your joints feel stiff."
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if (prob(9))
affected_mob << "\red Beep...boop.."
if (prob(9))
@@ -29,14 +28,12 @@
if(3)
if (prob(8))
affected_mob << "\red Your joints feel very stiff."
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if (prob(10))
affected_mob << "Your skin feels loose."
affected_mob.bruteloss += 5
affected_mob.updatehealth()
affected_mob.take_organ_damage(5)
if (prob(4))
affected_mob << "\red You feel a stabbing pain in your head."
affected_mob.paralysis += 2
@@ -45,8 +42,7 @@
if(4)
if (prob(10))
affected_mob << "\red Your skin feels very loose."
affected_mob.bruteloss += 8
affected_mob.updatehealth()
affected_mob.take_organ_damage(8)
if (prob(20))
affected_mob.say(pick("beep, beep!", "Boop bop boop beep.", "kkkiiiill mmme", "I wwwaaannntt tttoo dddiiieeee..."))
if (prob(8))

View File

@@ -18,8 +18,7 @@
if(2)
if (prob(8))
affected_mob << "Your throat feels scratchy."
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
if (prob(9))
affected_mob << "\red Kill..."
if (prob(9))
@@ -27,16 +26,14 @@
if(3)
if (prob(8))
affected_mob << "\red Your throat feels very scratchy."
affected_mob.bruteloss += 1
affected_mob.updatehealth()
affected_mob.take_organ_damage(1)
/*
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
*/
if (prob(10))
affected_mob << "Your skin feels tight."
affected_mob.bruteloss += 5
affected_mob.updatehealth()
affected_mob.take_organ_damage(5)
if (prob(4))
affected_mob << "\red You feel a stabbing pain in your head."
affected_mob.paralysis += 2
@@ -45,8 +42,7 @@
if(4)
if (prob(10))
affected_mob << pick("\red Your skin feels very tight.", "\red Your blood boils!")
affected_mob.bruteloss += 8
affected_mob.updatehealth()
affected_mob.take_organ_damage(8)
if (prob(20))
affected_mob.say(pick("You look delicious.", "Going to... devour you...", "Hsssshhhhh!"))
if (prob(8))

View File

@@ -1,7 +1,7 @@
datum/mind
var/key
var/mob/current
var/mob/original
var/mob/living/current
var/mob/living/original
var/memory

View File

@@ -19,9 +19,9 @@
if(!cast_check())
return
var/mob/M = input("Choose whom to [kill_type]", "ABRAKADABRA") as mob in oview(usr,range)
var/mob/living/M = input("Choose whom to [kill_type]", "ABRAKADABRA") as mob in oview(usr,range)
if(!M)
if(!istype(M))
return
invocation()

View File

@@ -38,9 +38,8 @@
for(i=0, i<lifetime, i++)
step_to(A,M,0)
if(get_dist(A,M) <= 1)
if(istype(M,/mob))
M:bruteloss += bruteloss
M:fireloss += fireloss
if(istype(M,/mob/living))
M:take_organ_damage(bruteloss,fireloss)
explosion(M.loc, radius_devastation, radius_heavy, radius_light, radius_flash)
del(A)
return

View File

@@ -23,7 +23,7 @@
invocation()
var/targets = 0
for (var/mob/M as mob in oview(usr,range))
for (var/mob/living/M as mob in oview(usr,range))
if(max_targets)
if(targets >= max_targets)
break
@@ -49,7 +49,7 @@
step_to(A,M,0)
if (get_dist(A,M) == 0)
M.weakened += missile_weaken_amt
M.fireloss += missile_damage
M.take_organ_damage(0, missile_damage)
del(A)
return
sleep(missile_step_delay)

View File

@@ -52,6 +52,8 @@
var/mutantrace = null
var/list/organs = list( )
/mob/living/carbon/human/dummy
real_name = "Test Dummy"
nodamage = 1

View File

@@ -115,7 +115,7 @@
var/obj/hud/hud_used = null
var/list/organs = list( )
//var/list/organs = list( ) //moved to human.
var/list/grabbed_by = list( )
var/list/requests = list( )

View File

@@ -81,7 +81,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
permeability_coefficient = 0.25
heat_transfer_coefficient = 0.75
allowed = list(/obj/item/device/analyzer,/obj/item/weapon/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen)
/obj/item/clothing/suit/labcoat/cmo
name = "chief medical officer's labcoat"

View File

@@ -34,7 +34,7 @@
"/obj/item/weapon/zippo",
"/obj/item/weapon/cigpacket",
"/obj/item/weapon/storage/pill_bottle",
"/obj/item/weapon/medical",
"/obj/item/stack/medical",
"/obj/item/device/flashlight/pen"
)
flags = FPRINT | TABLEPASS | ONBELT

View File

@@ -299,25 +299,29 @@
throw_range = 15
var/spam_flag = 0
/obj/item/weapon/medical
/obj/item/stack/medical
name = "medical pack"
singular_name = "medical pack"
icon = 'items.dmi'
var/amount = 5
amount = 5
max_amount = 5
w_class = 1
throw_speed = 4
throw_range = 20
var/heal_brute = 0
var/heal_burn = 0
/obj/item/weapon/medical/bruise_pack
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
singular_name = "bruise pack"
desc = "A pack designed to treat blunt-force trauma."
icon_state = "brutepack"
heal_brute = 60
origin_tech = "biotech=1"
/obj/item/weapon/medical/ointment
/obj/item/stack/medical/ointment
name = "ointment"
singular_name = "ointment"
icon_state = "ointment"
heal_burn = 40
origin_tech = "biotech=1"

View File

@@ -709,7 +709,7 @@
text += "<a href=\"byond://?src=\ref[include_link];priv_msg=\ref[the_mob]\">"
if (the_client && the_client.holder && the_client.stealth && !include_name)
text += "Administrato"
text += "Administrator"
else
text += "[the_key]"

View File

@@ -265,7 +265,7 @@
else
return 0
/proc/domutcheck(mob/M as mob, connected, inj)
/proc/domutcheck(mob/living/M as mob, connected, inj)
//telekinesis = 1
//firemut = 2
//xray = 4
@@ -337,26 +337,22 @@
//////////////////////////////////////////////////////////// Monkey Block
if (isblockon(getblock(M.dna.struc_enzymes, 14,3),14) && istype(M, /mob/living/carbon/human))
// human > monkey
var/mob/living/carbon/human/H = M
var/list/implants = list() //Try to preserve implants.
for(var/obj/item/weapon/W in M)
if (istype(W, /obj/item/weapon/implant))
implants += W
for(var/obj/item/weapon/W in M)
M.u_equip(W)
if (M.client)
M.client.screen -= W
if (W)
W.loc = M.loc
W.dropped(M)
W.layer = initial(W.layer)
for(var/obj/item/weapon/implant/W in H)
implants += W
if(!connected)
for(var/obj/item/W in (H.contents-implants))
if (W==H.w_uniform) // will be teared
continue
H.drop_from_slot(W)
M.update_clothing()
M.monkeyizing = 1
M.canmove = 0
M.icon = null
M.invisibility = 101
var/atom/movable/overlay/animation = new /atom/movable/overlay( M.loc )
var/atom/movable/overlay/animation = new( M.loc )
animation.icon_state = "blank"
animation.icon = 'mob.dmi'
animation.master = src
@@ -364,15 +360,22 @@
sleep(48)
del(animation)
var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey(src)
var/mob/living/carbon/monkey/O = new(src)
if (M.dna)
O.dna = M.dna
M.dna = null
for(var/obj/T in M)
O.virus = M.virus
M.virus = null
if (O.virus)
O.virus.affected_mob = O
for(var/obj/T in (M.contents-implants))
del(T)
for(var/R in M.organs)
del(M.organs[text("[]", R)])
//for(var/R in M.organs)
// del(M.organs[text("[]", R)])
O.loc = M.loc
@@ -385,40 +388,32 @@
C.occupant = O
connected = null
O.name = text("monkey ([])",copytext(md5(M.real_name), 2, 6))
O.take_overall_damage(M.bruteloss + 40, M.fireloss)
O.toxloss += (M.toxloss + 20)
O.bruteloss += (M.bruteloss + 40)
O.oxyloss += M.oxyloss
O.fireloss += M.fireloss
O.stat = M.stat
O.a_intent = "hurt"
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
I.implanted = O
continue
del(M)
return
if (!isblockon(getblock(M.dna.struc_enzymes, 14,3),14) && !istype(M, /mob/living/carbon/human))
// monkey > human
var/list/implants = list()
for (var/obj/item/weapon/implant/I in M) //Still preserving implants
implants += I
// monkey > human,
var/mob/living/carbon/monkey/Mo = M
var/list/implants = list() //Still preserving implants
for(var/obj/item/weapon/implant/W in Mo)
implants += W
if(!connected)
for(var/obj/item/weapon/W in M)
M.u_equip(W)
if (M.client)
M.client.screen -= W
if (W)
W.loc = M.loc
W.dropped(M)
W.layer = initial(W.layer)
for(var/obj/item/W in (Mo.contents-implants))
Mo.drop_from_slot(W)
M.update_clothing()
M.monkeyizing = 1
M.canmove = 0
M.icon = null
M.invisibility = 101
var/atom/movable/overlay/animation = new /atom/movable/overlay( M.loc )
var/atom/movable/overlay/animation = new( M.loc )
animation.icon_state = "blank"
animation.icon = 'mob.dmi'
animation.master = src
@@ -426,7 +421,7 @@
sleep(48)
del(animation)
var/mob/living/carbon/human/O = new /mob/living/carbon/human( src )
var/mob/living/carbon/human/O = new( src )
if (isblockon(getblock(M.dna.uni_identity, 11,3),11))
O.gender = FEMALE
else
@@ -434,8 +429,13 @@
O.dna = M.dna
M.dna = null
for(var/obj/T in M)
del(T)
O.virus = M.virus
M.virus = null
if (O.virus)
O.virus.affected_mob = O
//for(var/obj/T in M)
// del(T)
O.loc = M.loc
@@ -461,19 +461,18 @@
O.real_name = randomname
i++
updateappearance(O,O.dna.uni_identity)
O.take_overall_damage(M.bruteloss, M.fireloss)
O.toxloss += M.toxloss
O.bruteloss += M.bruteloss
O.oxyloss += M.oxyloss
O.fireloss += M.fireloss
O.stat = M.stat
for (var/obj/item/weapon/implant/I in implants)
I.loc = O
I.implanted = O
continue
del(M)
return
//////////////////////////////////////////////////////////// Monkey Block
if (M) M.update_clothing()
if (M)
M.update_clothing()
return null
/////////////////////////// DNA MISC-PROCS

View File

@@ -88,7 +88,7 @@
usr << "\blue We stab [T] with the proboscis."
usr.visible_message(text("\red <B>[usr] stabs [T] with the proboscis!</B>"))
T << "\red <B>You feel a sharp stabbing pain!</B>"
T.bruteloss += 40
T.take_overall_damage(40)
if (!do_mob(usr, T, 150))
usr << "\red Our absorption of [T] has been interrupted!"
@@ -191,8 +191,8 @@
for(var/obj/T in usr)
del(T)
for(var/R in usr.organs)
del(usr.organs[text("[]", R)])
//for(var/R in usr.organs) //redundant, let's give garbage collector work to do --rastaf0
// del(usr.organs[text("[]", R)])
O.loc = usr.loc
@@ -341,7 +341,8 @@
usr.radiation = 0
//usr.health = 100
//usr.updatehealth()
usr.heal_overall_damage(1000, 1000)
var/mob/living/M = src
M.heal_overall_damage(1000, 1000)
usr.reagents.clear_reagents()
usr.lying = 0
usr.canmove = 1

View File

@@ -48,7 +48,7 @@
usr.say("FORTI GY AMA")
usr.spellvoice()
for (var/mob/M as mob in oview())
for (var/mob/living/M as mob in oview())
spawn(0)
var/obj/overlay/A = new /obj/overlay( usr.loc )
A.icon_state = "magicm"
@@ -71,7 +71,7 @@
step_to(A,M,0)
if (get_dist(A,M) == 0)
M.weakened += 5
M.fireloss += 10
M.take_overall_damage(0,10)
del(A)
return
sleep(5)
@@ -155,7 +155,7 @@
//FIREBALLAN
/client/proc/fireball(mob/T as mob in oview())
/client/proc/fireball(mob/living/T as mob in oview())
set category = "Spells"
set name = "Fireball"
set desc = "This spell fires a fireball at a target and does not require wizard garb."
@@ -181,9 +181,7 @@
for(i=0, i<100, i++)
step_to(A,T,0)
if (get_dist(A,T) <= 1)
T.bruteloss += 20
T.fireloss += 25
T.take_overall_damage(20,25)
explosion(T.loc, -1, -1, 2, 2)
del(A)
return
@@ -279,13 +277,12 @@
fuckthis:ignite()
for(var/mob/M in viewers(world.view-1, myturf))
for(var/mob/living/M in viewers(world.view-1, myturf))
if(!istype(M, /mob/living)) continue
if(M == usr) continue
if (istype(M, /mob/living/silicon))
M.fireloss += 25
M.take_overall_damage(0,25)
flick("noise", M:flash)
M << "\red <B>*BZZZT*</B>"
M << "\red Warning: Electromagnetic pulse detected."

View File

@@ -567,7 +567,7 @@
src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes)
src.equip_if_possible(new /obj/item/clothing/under/rank/research_director(src), slot_w_uniform)
src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit)
src.equip_if_possible(new /obj/item/weapon/pen(src), slot_l_hand)
//src.equip_if_possible(new /obj/item/weapon/pen(src), slot_l_hand)
src.equip_if_possible(new /obj/item/weapon/clipboard(src), slot_r_hand)
src.equip_if_possible(new /obj/item/device/flashlight/pen(src), slot_s_store)

View File

@@ -198,7 +198,7 @@
else
return
/obj/machinery/sleeper/alter_health(mob/M as mob)
/obj/machinery/sleeper/alter_health(mob/living/M as mob)
if (M.health > 0)
if (M.oxyloss >= 10)
var/amount = max(0.15, 1)

View File

@@ -964,4 +964,5 @@
s.start()
new /obj/decal/cleanable/oil(src.loc)
unload(0)
del(src)

View File

@@ -9,7 +9,7 @@
var/on = 0
var/temperature_archived
var/obj/overlay/O1 = null
var/mob/occupant = null
var/mob/living/carbon/occupant = null
var/beaker = null
var/next_trans = 0
@@ -212,7 +212,10 @@
src.occupant = null
build_icon()
return
put_mob(mob/M as mob)
put_mob(mob/living/carbon/M as mob)
if (!istype(M))
usr << "\red <B>The cryo cell cannot handle such liveform!</B>"
return
if (src.occupant)
usr << "\red <B>The cryo cell is already occupied!</B>"
return

View File

@@ -256,48 +256,28 @@
else if(contents)
cremating = 1
locked = 1
var/mob/dead/observer/newmob
for (var/M in contents)
if (istype(M,/mob/living) && M:client)
spawn(1)
var/i
M:stunned = 100 //You really dont want to place this inside the loop.
newmob = new/mob/dead/observer(M)
M:client:mob = newmob
for(i=0, i<10, i++)
sleep(10)
M:fireloss += 30
new /obj/decal/ash(M:loc)
//newmob.loc = src.loc
newmob:client:eye = newmob // Hrm
for (var/obj/item/weapon/W in M)
if (prob(10))
W.loc = M:loc
del(M)
else if (istype(M,/mob/living) && !(M:client)) //
spawn(0)
if(M)
var/i
M:stunned = 100
for(i=0, i<10, i++)
sleep(10)
M:fireloss += 50
new /obj/decal/ash(M:loc)
for (var/obj/item/weapon/W in M)
if (prob(10))
W.loc = M:loc
del(M)
for (var/mob/M in viewers(user))
for (var/mob/living/M in contents)
M:stunned = 100 //You really dont want to place this inside the loop.
spawn(1)
for(var/i=1 to 10)
sleep(10)
M.take_overall_damage(0,30)
if (M.stat!=2 && prob(30))
M.emote("scream")
new /obj/decal/ash(src)
for (var/obj/item/W in M)
if (prob(10))
W.loc = src
if (M.client)
var/mob/dead/observer/newmob = new(M)
M.client.mob = newmob
newmob.client.eye = newmob // Hrm
del(M)
cremating = 0
locked = 0
playsound(src.loc, 'ding.ogg', 50, 1)
for (var/mob/M in viewers(src))
M.show_message("\red You hear a roar as the crematorium activates.", 1)
spawn(100)
cremating = 0
locked = 0
playsound(src.loc, 'ding.ogg', 50, 1)
return
/obj/c_tray/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)

View File

@@ -158,8 +158,8 @@
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>The [] bounces off of the portal!</B>", M.name), 1)
return
if (istype(M, /mob))
var/mob/MM = M
if (istype(M, /mob/living))
var/mob/living/MM = M
if(MM.check_contents_for(/obj/item/weapon/disk/nuclear))
MM << "\red Something you are carrying seems to be unable to pass through the portal. Better drop it if you want to go through."
return
@@ -175,8 +175,8 @@
disky = 1
if (istype(O, /obj/item/weapon/disk/nuclear))
disky = 1
if (istype(O, /mob))
var/mob/MM = O
if (istype(O, /mob/living))
var/mob/living/MM = O
if(MM.check_contents_for(/obj/item/weapon/disk/nuclear))
disky = 1
if (disky)
@@ -185,8 +185,8 @@
return
//Bags of Holding cause bluespace teleportation to go funky. --NeoFite
if (istype(M, /mob))
var/mob/MM = M
if (istype(M, /mob/living))
var/mob/living/MM = M
if(MM.check_contents_for(/obj/item/weapon/storage/backpack/holding))
MM << "\red The Bluespace interface on your Bag of Holding interferes with the teleport!"
precision = rand(1,100)
@@ -203,8 +203,8 @@
precision = rand(1,100)
if (istype(O, /obj/item/weapon/storage/backpack/holding))
precision = rand(1,100)
if (istype(O, /mob))
var/mob/MM = O
if (istype(O, /mob/living))
var/mob/living/MM = O
if(MM.check_contents_for(/obj/item/weapon/storage/backpack/holding))
precision = rand(1,100)

View File

@@ -362,7 +362,16 @@ var/runedec = 0
"}
attack(mob/M as mob, mob/user as mob)
attack(mob/living/M as mob, mob/living/user as mob)
if(istype(M,/mob/dead))
M.invisibility = 0
user.visible_message( \
"\red [user] drags the ghost to our plan of reality!", \
"\red You drag the ghost to our plan of reality!" \
)
return
if(!istype(M))
return
if(!iscultist(user))
return ..()
if(iscultist(M))
@@ -374,7 +383,7 @@ var/runedec = 0
attack_self(mob/user as mob)
attack_self(mob/living/user as mob)
if(!wordtravel)
runerandom()
if(iscultist(user))
@@ -414,7 +423,7 @@ var/runedec = 0
for (var/mob/V in viewers(src))
V.show_message("\red [user] slices open a finger and begins to chant and paint symbols on the floor.", 3, "\red You hear chanting.", 2)
user << "\red You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world."
user.bruteloss += 1
user.take_overall_damage(1)
if(do_after(user, 50))
var/mob/living/carbon/human/H = user
var/obj/rune/R = new /obj/rune(user.loc)
@@ -624,8 +633,8 @@ var/runedec = 0
var/imbue = null
var/uses = 0
attack_self(mob/user as mob)
usr.take_organ_damage(5, 0)
attack_self(mob/living/user as mob)
user.take_organ_damage(5, 0)
switch(imbue)
if("newtome")
call(/obj/rune/proc/tomesummon)()

View File

@@ -4,6 +4,7 @@ var/list/sacrificed = list()
/////////////////////////////////////////FIRST RUNE
proc
teleport(var/key)
var/mob/living/user = usr
var/allrunesloc[]
allrunesloc = new/list()
var/index = 0
@@ -16,18 +17,19 @@ var/list/sacrificed = list()
allrunesloc.len = index
allrunesloc[index] = R.loc
if(index >= 5)
usr << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
usr.take_overall_damage(5, 0)
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
if (istype(user, /mob/living))
user.take_overall_damage(5, 0)
del(src)
if(allrunesloc && index != 0)
if(istype(src,/obj/rune))
usr.say("Sas'so c'arta forbici!")
user.say("Sas'so c'arta forbici!")
else
usr.whisper("Sas'so c'arta forbici!")
usr.visible_message("\red [usr] disappears in a flash of red light!", \
user.whisper("Sas'so c'arta forbici!")
user.visible_message("\red [user] disappears in a flash of red light!", \
"\red You feel as your body gets dragged through the dimension of Nar-Sie!", \
"\red You hear a sickening crunch and sloshing of viscera.")
usr.loc = allrunesloc[rand(1,index)]
user.loc = allrunesloc[rand(1,index)]
return
if(istype(src,/obj/rune))
return fizzle() //Use friggin manuals, Dorf, your list was of zero length.
@@ -44,6 +46,7 @@ var/list/sacrificed = list()
var/culcount = 0
var/runecount = 0
var/obj/rune/IP = null
var/mob/living/user = usr
for(var/obj/rune/R in world)
if(R == src)
continue
@@ -51,15 +54,16 @@ var/list/sacrificed = list()
IP = R
runecount++
if(runecount >= 2)
usr << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
usr.take_overall_damage(5, 0)
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
if (istype(user, /mob/living))
user.take_overall_damage(5, 0)
del(src)
for(var/mob/living/carbon/C in orange(1,src))
if(iscultist(C))
culcount++
if(culcount>=3)
usr.say("Sas'so c'arta forbici tarem!")
usr.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
user.say("Sas'so c'arta forbici tarem!")
user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
"\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
"\red You smell ozone.")
for(var/obj/O in src.loc)
@@ -171,24 +175,25 @@ var/list/sacrificed = list()
usr.visible_message("\red Blood flows from the rune into [usr]!", \
"\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \
"\red You hear a liquid flowing.")
if(usr.bhunger)
usr.bhunger = max(usr.bhunger-2*drain,0)
var/mob/living/user = usr
if(user.bhunger)
user.bhunger = max(user.bhunger-2*drain,0)
if(drain>=50)
usr.visible_message("\red [usr]'s eyes give off eerie red glow!", \
user.visible_message("\red [user]'s eyes give off eerie red glow!", \
"\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \
"\red You hear a heartbeat.")
usr.bhunger += drain
src = usr
user.bhunger += drain
src = user
spawn()
for (,usr.bhunger>0,usr.bhunger--)
for (,user.bhunger>0,user.bhunger--)
sleep(50)
usr.take_overall_damage(3, 0)
user.take_overall_damage(3, 0)
return
usr.heal_organ_damage(drain%5, 0)
user.heal_organ_damage(drain%5, 0)
drain-=drain%5
for (,drain>0,drain-=5)
sleep(2)
usr.heal_organ_damage(5, 0)
user.heal_organ_damage(5, 0)
return
@@ -404,8 +409,9 @@ var/list/sacrificed = list()
ticker.mode.cult+=D.mind
D << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
D << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
while(this_rune && usr && usr.stat==0 && usr.client && usr.loc==this_rune.loc)
usr.take_organ_damage(1, 0)
var/mob/living/user = usr
while(this_rune && user && user.stat==0 && user.client && user.loc==this_rune.loc)
user.take_organ_damage(1, 0)
sleep(30)
D.visible_message("\red [D] slowly dissipates into dust and bones.", \
"\red You feel pain, as bonds formed between your soul and this homunculus break.", \
@@ -486,6 +492,7 @@ var/list/sacrificed = list()
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
usr.say("H'drak v'loso, mir'kanas verbot!")
del(imbued_from)
del(newtalisman)
del(src)
else
return fizzle()
@@ -493,16 +500,17 @@ var/list/sacrificed = list()
/////////////////////////////////////////THIRTEENTH RUNE
mend()
var/mob/living/user = usr
src = null
usr.say("Uhrast ka'hfa heldsagen ver'lot!")
usr.take_overall_damage(200, 0)
user.say("Uhrast ka'hfa heldsagen ver'lot!")
user.take_overall_damage(200, 0)
runedec+=10
usr.visible_message("\red [usr] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \
user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \
"\red In the last moment of your humbly life, you feel as fabric of reality mends... with your blood.", \
"\red You hear faint rustle.")
for(,usr.stat==2)
for(,user.stat==2)
sleep(600)
if (!usr)
if (!user)
return
runedec-=10
return
@@ -676,7 +684,8 @@ var/list/sacrificed = list()
wall()
usr.say("Khari'd! Eske'te tannin!")
src.density = !src.density
usr.take_organ_damage(2, 0)
var/mob/living/user = usr
user.take_organ_damage(2, 0)
if(src.density)
usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens."
else
@@ -686,6 +695,7 @@ var/list/sacrificed = list()
/////////////////////////////////////////EIGHTTEENTH RUNE
freedom()
var/mob/living/user = usr
var/list/mob/living/carbon/cultists = new
for(var/datum/mind/H in ticker.mode.cult)
if (istype(H.current,/mob/living/carbon))
@@ -698,7 +708,7 @@ var/list/sacrificed = list()
var/mob/cultist = input("Choose the one who you want to free", "Followers of Geometer") as null|anything in (cultists - users)
if(!cultist)
return fizzle()
if (cultist == usr) //just to be sure.
if (cultist == user) //just to be sure.
return
if(!(cultist.buckled || \
cultist.handcuffed || \
@@ -707,7 +717,7 @@ var/list/sacrificed = list()
(istype(cultist.loc, /obj/secure_closet)&&cultist.loc:locked) || \
(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \
))
usr << "\red The [cultist] is already free."
user << "\red The [cultist] is already free."
return
cultist.buckled = null
if (cultist.handcuffed)
@@ -722,7 +732,7 @@ var/list/sacrificed = list()
if(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked)
cultist.loc:locked = 0
for(var/mob/living/carbon/C in users)
usr.take_overall_damage(15, 0)
user.take_overall_damage(15, 0)
C.say("Khari'd! Gual'te nikka!")
del(src)
return fizzle()
@@ -730,6 +740,7 @@ var/list/sacrificed = list()
/////////////////////////////////////////NINETEENTH RUNE
cultsummon()
var/mob/living/user = usr
var/list/mob/living/carbon/cultists = new
for(var/datum/mind/H in ticker.mode.cult)
if (istype(H.current,/mob/living/carbon))
@@ -739,13 +750,13 @@ var/list/sacrificed = list()
if(iscultist(C))
users+=C
if(users.len>=3)
var/mob/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - usr)
var/mob/cultist = input("Choose the one who you want to summon", "Followers of Geometer") as null|anything in (cultists - user)
if(!cultist)
return fizzle()
if (cultist == usr) //just to be sure.
if (cultist == user) //just to be sure.
return
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/closet)))
usr << "\red You cannot summon the [cultist], for him shackles of blood are strong"
user << "\red You cannot summon the [cultist], for him shackles of blood are strong"
return fizzle()
cultist.loc = src.loc
cultist.lying = 1
@@ -754,7 +765,7 @@ var/list/sacrificed = list()
if(iscultist(C))
C.say("N'ath reth sh'yro eth d'rekkathnor!")
C.take_overall_damage(25, 0)
usr.visible_message("\red Rune disappears with a flash of red light, and in it's place now a body lies.", \
user.visible_message("\red Rune disappears with a flash of red light, and in it's place now a body lies.", \
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \
"\red You hear a pop and smell ozone.")
del(src)
@@ -871,7 +882,7 @@ var/list/sacrificed = list()
if(culcount >= 5)
for(var/obj/rune/R in world)
if(R.blood_DNA == src.blood_DNA && R.blood_type == src.blood_type)
for(var/mob/M in orange(2,R))
for(var/mob/living/M in orange(2,R))
M.take_overall_damage(0,15)
if (R.invisibility>M.see_invisible)
M << "\red Aargh it burns!"
@@ -881,7 +892,7 @@ var/list/sacrificed = list()
T.hotspot_expose(700,125)
for(var/obj/decal/cleanable/blood/B in world)
if(B.blood_DNA == src.blood_DNA && B.blood_type == src.blood_type)
for(var/mob/M in orange(1,B))
for(var/mob/living/M in orange(1,B))
M.take_overall_damage(0,5)
M << "\red Blood suddenly ignites, burning you!"
var/turf/T = get_turf(B)

View File

@@ -39,8 +39,8 @@
if(internal_damage&MECHA_INT_CONTROL_LOST)
target = pick(oview(1,src))
if(!melee_can_hit || !istype(target, /atom)) return
if(istype(target, /mob))
var/mob/M = target
if(istype(target, /mob/living))
var/mob/living/M = target
if(src.occupant.a_intent == "hurt")
playsound(src, 'punch4.ogg', 50, 1)
if(damtype == "brute")
@@ -75,9 +75,9 @@
switch(damtype)
if("brute")
M.paralysis += 1
M.bruteloss += rand(force/2, force)
M.take_overall_damage(rand(force/2, force))
if("fire")
M.fireloss += rand(force/2, force)
M.take_overall_damage(0, rand(force/2, force))
if("tox")
M.toxloss += rand(force/2, force)
else

View File

@@ -47,11 +47,11 @@
else
chassis.occupant_message("<font color='red'>[target] is firmly secured.</font>")
else if(istype(target,/mob))
var/mob/M = target
else if(istype(target,/mob/living))
var/mob/living/M = target
if(M.stat>1) return
if(chassis.occupant.a_intent == "hurt")
M.bruteloss += dam_force
M.take_overall_damage(dam_force)
M.oxyloss += round(dam_force/2)
M.updatehealth()
chassis.occupant_message("\red You squeese [target] with [src.name]. Something cracks.")
@@ -498,14 +498,13 @@
proc/dynhitby(atom/movable/A)
if(!action_checks(A))
return chassis.dynhitby(A)
if(prob(chassis.deflect_chance) || istype(A, /mob) || istype(A, /obj/item/mecha_tracking))
if(prob(chassis.deflect_chance) || istype(A, /mob/living) || istype(A, /obj/item/mecha_tracking))
chassis.occupant_message("\blue The [A] bounces off the armor.")
chassis.visible_message("The [A] bounces off the [chassis] armor")
chassis.log_append_to_last("Armor saved.")
if(istype(A, /mob))
var/mob/M = A
M.bruteloss += 10
M.updatehealth()
if(istype(A, /mob/living))
var/mob/living/M = A
M.take_organ_damage(10)
else if(istype(A, /obj))
var/obj/O = A
if(O.throwforce)

View File

@@ -376,10 +376,9 @@
src.occupant_message("\blue The [A] bounces off the armor.")
src.visible_message("The [A] bounces off the [src.name] armor")
src.log_append_to_last("Armor saved.")
if(istype(A, /mob))
var/mob/M = A
M.bruteloss += 10
M.updatehealth()
if(istype(A, /mob/living))
var/mob/living/M = A
M.take_organ_damage(10)
else if(istype(A, /obj))
var/obj/O = A
if(O.throwforce)

View File

@@ -239,7 +239,7 @@
for(var/mob/O in viewers(world.view,src))
O.show_message("\red <B>[src.target] has been leapt on by [lamarr ? src.name : "the alien"]!</B>", 1, "\red You hear someone fall", 2)
if (!lamarr)
target:bruteloss += 5
target:take_overall_damage(5)
if(prob(70))
target:paralysis = max(target:paralysis, 5)
src.loc = target.loc

View File

@@ -160,9 +160,9 @@
O.amount -= 1
/obj/item/proc/attack(mob/M as mob, mob/user as mob, def_zone)
/obj/item/proc/attack(mob/living/M as mob, mob/living/user as mob, def_zone)
if (!M) // not sure if this is the right thing...
if (!istype(M)) // not sure if this is the right thing...
return
var/messagesource = M
@@ -319,18 +319,87 @@
else
switch(src.damtype)
if("brute")
M.bruteloss += power
M.take_organ_damage(power)
if (prob(33)) // Added blood for whacking non-humans too
var/turf/location = M.loc
if (istype(location, /turf/simulated))
location.add_blood_floor(M)
if("fire")
if (!(M.mutations & 2))
M.fireloss += power
M.take_organ_damage(0, power)
M << "Aargh it burns!"
M.updatehealth()
src.add_fingerprint(user)
return 1
/obj/item/proc/eyestab(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
var/mob/living/carbon/human/H = M
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
// you can't stab someone in the eyes wearing a mask!
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
// you can't stab someone in the eyes wearing a mask!
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\red You cannot locate any eyes on this creature!"
return
src.add_fingerprint(user)
//if((user.mutations & 16) && prob(50))
// M = user
/*
M << "\red You stab yourself in the eye."
M.sdisabilities |= 1
M.weakened += 4
M.bruteloss += 10
*/
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] has been stabbed in the eye with [src] by [user].", 1)
M << "\red [user] stabs you in the eye with [src]!"
user << "\red You stab [M] in the eye with [src]!"
else
user.visible_message( \
"\red [user] has stabbed themself with [src]!", \
"\red You stab yourself in the eyes with [src]!" \
)
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(7)
else
M.take_organ_damage(7)
M.eye_blurry += rand(3,4)
M.eye_stat += rand(2,4)
if (M.eye_stat >= 10)
M.eye_blurry += 15+(0.1*M.eye_blurry)
M.disabilities |= 1
if(M.stat != 2)
M << "\red Your eyes start to bleed profusely!"
if(prob(50))
if(M.stat != 2)
M << "\red You drop what you're holding and clutch at your eyes!"
M.drop_item()
M.eye_blurry += 10
M.paralysis += 1
M.weakened += 4
if (prob(M.eye_stat - 10 + 1))
if(M.stat != 2)
M << "\red You go blind!"
M.sdisabilities |= 1
return

View File

@@ -36,17 +36,17 @@ TELEPORT GUN
var/mode = 1//I guess I'll leave this here in case another mode to the weapon is added./N
afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if ((user.mutations & 16) && prob(50))
usr << "\red The pulse rifle blows up in your face."
usr.fireloss += 20
usr.drop_item()
user << "\red The pulse rifle blows up in your face."
user.take_organ_damage(0,20)
user.drop_item()
del(src)
return
if (flag)
return
if ((!istype(user, /mob/living/carbon/human)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
user << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -70,7 +70,7 @@ TELEPORT GUN
A.process()
return
/obj/item/weapon/gun/energy/pulse_rifle/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/energy/pulse_rifle/attack(mob/M as mob, mob/living/user as mob)
..()
/*
src.add_fingerprint(user)
@@ -131,7 +131,7 @@ TELEPORT GUN
..()
return
obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/user as mob)
obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a357))
@@ -153,7 +153,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/revolver/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/revolver/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
@@ -192,7 +192,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return
return
/obj/item/weapon/gun/revolver/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/revolver/attack(mob/M as mob, mob/living/user as mob)
if ((user.a_intent == "hurt" && src.bullets > 0))
playsound(user, 'Gunshot.ogg', 100, 1)
for(var/mob/O in viewers(M, null))
@@ -220,7 +220,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
//0, not loaded. 1, beanbag, 2, 12gauge, 3, blank, 4, dart.
/obj/item/weapon/gun/shotgun/attackby(obj/item/weapon/A as obj, mob/user as mob)
/obj/item/weapon/gun/shotgun/attackby(obj/item/weapon/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/shell/beanbag))
if (index == src.shellsmax || shellsunlimited >= 1) //...than sorry.
@@ -274,7 +274,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return 1
/obj/item/weapon/gun/shotgun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/shotgun/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
@@ -419,7 +419,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/detectiverevolver/attackby(obj/item/weapon/ammo/a38/A as obj, mob/user as mob)
/obj/item/weapon/gun/detectiverevolver/attackby(obj/item/weapon/ammo/a38/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a38))
@@ -441,7 +441,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/detectiverevolver/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/detectiverevolver/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
var/detective = ((istype(user:w_uniform, /obj/item/clothing/under/det) || !istype(user, /mob/living/carbon/human)) && istype(user:head, /obj/item/clothing/head/det_hat) && istype(user:wear_suit, /obj/item/clothing/suit/det_suit))
@@ -486,7 +486,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return
return
/obj/item/weapon/gun/detectiverevolver/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/detectiverevolver/attack(mob/M as mob, mob/living/user as mob)
src.add_fingerprint(user)
var/mob/living/carbon/human/H = user
var/detective
@@ -571,17 +571,17 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
spawn(50) charge()
/obj/item/weapon/gun/energy/laser_gun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if ((usr.mutations & 16) && prob(50))
usr << "\red The laser gun blows up in your face."
usr.fireloss += 20
usr.drop_item()
/obj/item/weapon/gun/energy/laser_gun/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if ((user.mutations & 16) && prob(50))
user << "\red The laser gun blows up in your face."
user.take_organ_damage(0,20)
user.drop_item()
del(src)
return
if (flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
user << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -624,7 +624,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
A.process()
return
/obj/item/weapon/gun/energy/laser_gun/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/energy/laser_gun/attack(mob/M as mob, mob/living/user as mob)
..()
/*
src.add_fingerprint(user)
@@ -657,7 +657,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
ratio = round(ratio, 0.25) * 100
src.icon_state = text("taser[]", ratio)
/obj/item/weapon/gun/energy/taser_gun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/energy/taser_gun/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if(flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
@@ -700,7 +700,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
A.process()
/obj/item/weapon/gun/energy/taser_gun/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/energy/taser_gun/attack(mob/M as mob, mob/living/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red The taser gun discharges in your hand."
usr.paralysis += 60
@@ -789,7 +789,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
if(charges < maximum_charges) charges++
spawn(50) charge()
/obj/item/weapon/gun/energy/crossbow/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/energy/crossbow/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if(flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
@@ -827,16 +827,11 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
A.process()
/obj/item/weapon/gun/energy/crossbow/attack(mob/M as mob, mob/user as mob)
..()
// TELEPORT GUN
// This whole thing is just a copy/paste job
/obj/item/weapon/gun/energy/teleport_gun/attack_self(mob/user as mob)
/obj/item/weapon/gun/energy/teleport_gun/attack_self(mob/living/user as mob)
var/list/L = list( )
for(var/obj/machinery/teleport/hub/R in world)
var/obj/machinery/computer/teleporter/com = locate(/obj/machinery/computer/teleporter, locate(R.x - 2, R.y, R.z))
@@ -860,7 +855,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
ratio = round(ratio, 0.25) * 100
src.icon_state = text("taser[]", ratio)
/obj/item/weapon/gun/energy/teleport_gun/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/energy/teleport_gun/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if(flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
@@ -899,7 +894,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
A.process()
/obj/item/weapon/gun/energy/teleport_gun/proc/point_blank_teleport(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/energy/teleport_gun/proc/point_blank_teleport(mob/M as mob, mob/living/user as mob)
if (src.target == null)
var/list/turfs = list( )
for(var/turf/T in orange(10))
@@ -921,7 +916,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
do_teleport(M, src.target, 2)
return
/obj/item/weapon/gun/energy/teleport_gun/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/gun/energy/teleport_gun/attack(mob/M as mob, mob/living/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red You shoot the teleport gun while holding it backwards."
point_blank_teleport(usr)
@@ -1040,7 +1035,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
else if (mode == 1)
overlays += "nucgun-kill"
attack_self(mob/user as mob)
attack_self(mob/living/user as mob)
if(mode == 1)
mode = 2
user << "\blue You set the gun to stun"
@@ -1055,17 +1050,17 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
ratio = round(ratio, 0.25) * 100
src.icon_state = text("energy[]", ratio)
afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
if ((usr.mutations & 16) && prob(50))
usr << "\red The energy gun blows up in your face."
usr.fireloss += 20
usr.drop_item()
afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if ((user.mutations & 16) && prob(50))
user << "\red The energy gun blows up in your face."
user.take_organ_damage(0,20)
user.drop_item()
del(src)
return
if (flag)
return
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
usr << "\red You don't have the dexterity to do this!"
user << "\red You don't have the dexterity to do this!"
return
src.add_fingerprint(user)
@@ -1112,7 +1107,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
spawn()
A.process()
attack_self(mob/user as mob)
attack_self(mob/living/user as mob)
if(mode == 1)
mode = 2
user << "\blue You set the gun to stun"
@@ -1125,7 +1120,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
overlays -= "energystun"
update_icon()
attack(mob/M as mob, mob/user as mob)
attack(mob/M as mob, mob/living/user as mob)
..()
/*
src.add_fingerprint(user)
@@ -1188,7 +1183,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/c96/attackby(obj/item/weapon/ammo/a763m/A as obj, mob/user as mob)
/obj/item/weapon/gun/c96/attackby(obj/item/weapon/ammo/a763m/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a763m))
@@ -1202,7 +1197,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/c96/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/c96/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
@@ -1281,7 +1276,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/p08/attackby(obj/item/weapon/ammo/a9x19p/A as obj, mob/user as mob)
/obj/item/weapon/gun/p08/attackby(obj/item/weapon/ammo/a9x19p/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a9x19p))
@@ -1295,7 +1290,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/p08/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/p08/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
@@ -1380,7 +1375,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/glock/attackby(obj/item/weapon/ammo/a45/A as obj, mob/user as mob)
/obj/item/weapon/gun/glock/attackby(obj/item/weapon/ammo/a45/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a45))
@@ -1393,7 +1388,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/glock/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/glock/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
@@ -1462,7 +1457,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/m1911/attackby(obj/item/weapon/ammo/a45/A as obj, mob/user as mob)
/obj/item/weapon/gun/m1911/attackby(obj/item/weapon/ammo/a45/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/a45))
@@ -1475,7 +1470,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/m1911/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/m1911/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
@@ -1545,7 +1540,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/carbine/attackby(obj/item/weapon/ammo/assaultmag/A as obj, mob/user as mob)
/obj/item/weapon/gun/carbine/attackby(obj/item/weapon/ammo/assaultmag/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/assaultmag))
@@ -1559,7 +1554,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/carbine/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/carbine/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return
@@ -1630,7 +1625,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
..()
return
/obj/item/weapon/gun/ak331/attackby(obj/item/weapon/ammo/assaultmag/A as obj, mob/user as mob)
/obj/item/weapon/gun/ak331/attackby(obj/item/weapon/ammo/assaultmag/A as obj, mob/living/user as mob)
..()
if (istype(A, /obj/item/weapon/ammo/assaultmag))
@@ -1644,7 +1639,7 @@ obj/item/weapon/gun/revolver/attackby(obj/item/weapon/ammo/a357/A as obj, mob/us
return 1
return
/obj/item/weapon/gun/ak331/afterattack(atom/target as mob|obj|turf|area, mob/user as mob, flag)
/obj/item/weapon/gun/ak331/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob, flag)
if (flag)
return

View File

@@ -72,7 +72,12 @@ Deathnettle
/obj/item/weapon/grown/nettle/pickup(mob/living/carbon/human/user as mob)
if(!user.gloves)
user << "\red The nettle burns your bare hand!"
user.fireloss += force
if(istype(user, /mob/living/carbon/human))
var/organ = (user.hand ? "l_":"r_") + pick("hand","hand","arm")
var/datum/organ/external/affecting = user.organs[organ]
affecting.take_damage(0,force)
else
user.take_organ_damage(0,force)
/obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user as mob)
if (force > 0)
@@ -86,22 +91,26 @@ Deathnettle
/obj/item/weapon/grown/deathnettle/pickup(mob/living/carbon/human/user as mob)
if(!user.gloves)
user.fireloss += force
if(istype(user, /mob/living/carbon/human))
var/organ = (user.hand ? "l_":"r_") + pick("hand","hand","arm")
var/datum/organ/external/affecting = user.organs[organ]
affecting.take_damage(0,force)
else
user.take_organ_damage(0,force)
if(prob(50))
user.paralysis += 5
user << "\red You are stunned by the Deathnettle when you try picking it up!"
/obj/item/weapon/grown/deathnettle/attack(mob/living/carbon/M as mob, mob/user as mob)
if(!..()) return
if(istype(M, /mob/living/carbon/human))
if(istype(M, /mob/living))
M << "\red You are stunned by the powerful acid of the Deathnettle!"
M.eye_blurry += 4
M.eye_blurry += force/7
if(prob(20))
M.paralysis += 5
M.weakened += 2
M.paralysis += force/6
M.weakened += force/15
M.drop_item()
/obj/item/weapon/grown/deathnettle/afterattack(atom/A as mob|obj, mob/user as mob)
if (force > 0)
force -= rand(1,(force/3)+1) // When you whack someone with it, leaves fall off

View File

@@ -19,8 +19,11 @@ KNIFE
// FORK
/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if(!istype(M))
return ..()
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
return ..()
if (src.icon_state == "forkloaded") //This is a poor way of handling it, but a proper rewrite of the fork to allow for a more varied foodening can happen when I'm in the mood. --NEO
if(M == user)
@@ -33,70 +36,21 @@ KNIFE
M.reagents.add_reagent("nutriment", 1)
src.icon_state = "fork"
return
if((usr.mutations & 16) && prob(50))
M << "\red You stab yourself in the eye."
M.sdisabilities |= 1
M.weakened += 4
M.bruteloss += 10
src.add_fingerprint(user)
if(!(user.zone_sel.selecting == ("eyes" || "head")))
return ..()
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// you can't stab someone in the eyes wearing a mask!
user << "\blue You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\blue You cannot locate any eyes on this creature!"
return
for(var/mob/O in viewers(M, null))
if(O == (user || M)) continue
if(M == user) O.show_message(text("\red [] has stabbed themself with []!", user, src), 1)
else O.show_message(text("\red [] has been stabbed in the eye with [] by [].", M, src, user), 1)
if(M != user)
M << "\red [user] stabs you in the eye with [src]!"
user << "\red You stab [M] in the eye with [src]!"
else
user << "\red You stab yourself in the eyes with [src]!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M.organs["head"]
affecting.take_damage(7)
else
M.bruteloss += 7
M.eye_blurry += rand(3,4)
M.eye_stat += rand(2,4)
if (M.eye_stat >= 10)
M << "\red Your eyes start to bleed profusely!"
M.eye_blurry += 15+(0.1*M.eye_blurry)
M.disabilities |= 1
if(M.stat == 2) return
if(prob(50))
M << "\red You drop what you're holding and clutch at your eyes!"
M.eye_blurry += 10
M.paralysis += 1
M.weakened += 4
M.drop_item()
if (prob(M.eye_stat - 10 + 1))
M << "\red You go blind!"
M.sdisabilities |= 1
return
if((user.mutations & 16) && prob(50))
M = user
return eyestab(M,user)
// ROLLING PIN
/obj/item/weapon/kitchen/rollingpin/attack(mob/M as mob, mob/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red The [src] slips out of your hand and hits your head."
usr.bruteloss += 10
usr.paralysis += 2
/obj/item/weapon/kitchen/rollingpin/attack(mob/M as mob, mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user.take_organ_damage(10)
user.paralysis += 2
return
if (M.stat < 2 && M.health < 50 && prob(90))
var/mob/H = M
@@ -126,20 +80,20 @@ KNIFE
// KNIFE
/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red You accidentally cut yourself with the [src]."
usr.bruteloss += 20
/obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << "\red You accidentally cut yourself with the [src]."
user.take_organ_damage(20)
return
return ..()
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// TRAY -Agouri :3 ///////////////////////////////////////////////
/obj/item/weapon/tray/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if((usr.mutations & 16) && prob(50)) //What if he's a clown?
if((user.mutations & 16) && prob(50)) //What if he's a clown?
M << "\red You accidentally slam yourself with the [src]!"
M.weakened += 1
M.bruteloss += 2
user.take_organ_damage(2)
if(prob(50))
//playsound(M, 'trayhit1.wav', 50, 1)
return
@@ -160,9 +114,9 @@ KNIFE
if(prob(15))
M.weakened += 3
M.bruteloss += 3
M.take_organ_damage(3)
else
M.bruteloss +=5
M.take_organ_damage(5)
if(prob(50))
//playsound(M, 'trayhit1.wav', 50, 1)
for(var/mob/O in viewers(M, null))
@@ -201,10 +155,10 @@ KNIFE
O.show_message(text("\red <B>[] slams [] with the tray!</B>", user, M), 1)
if(prob(10))
M.stunned = rand(1,3)
M.bruteloss += 3
M.take_organ_damage(3)
return
else
M.bruteloss +=5
M.take_organ_damage(5)
return
else //No eye or head protection, tough luck!
@@ -225,10 +179,10 @@ KNIFE
O.show_message(text("\red <B>[] slams [] in the face with the tray!</B>", user, M), 1)
if(prob(30))
M.stunned = rand(2,4)
M.bruteloss +=4
M.take_organ_damage(4)
return
else
M.bruteloss +=8
M.take_organ_damage(8)
if(prob(30))
M.weakened+=2
return

View File

@@ -5,65 +5,33 @@ MEDICAL
*/
/obj/item/weapon/medical/examine()
set src in view(1)
if (src.amount <= 0)
del(src)
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
if (M.stat == 2)
var/t_him = "it"
if (M.gender == MALE)
t_him = "him"
else if (M.gender == FEMALE)
t_him = "her"
user << "\red \The [M] is dead, you cannot help [t_him]!"
return
..()
if (!istype(M))
user << "\red \The [src] cannot be applied to [M]!"
return 1
usr << "\icon[src] \blue There [src.amount == 1 ? "is" : "are"] [src.amount] [src.name]\s left on the stack!"
/obj/item/weapon/medical/attack_hand(mob/user as mob)
if (user.r_hand == src || user.l_hand == src)
src.add_fingerprint(user)
var/obj/item/weapon/medical/split = new src.type(user)
split.amount = 1
src.amount--
if (user.hand)
user.l_hand = split
else
user.r_hand = split
split.layer = 20
split.add_fingerprint(user)
if (src.amount < 1)
del(src)
return
else
..()
/obj/item/weapon/medical/attackby(obj/item/weapon/medical/W as obj, mob/user as mob)
..()
if (!istype(W, src.type))
return
if (W.amount == 5)
return
if (W.amount + src.amount > 5)
src.amount = (W.amount + src.amount) - 5
W.amount = 5
else
W.amount += src.amount
del(src)
/obj/item/weapon/medical/attack(mob/M as mob, mob/user as mob)
if (M.health < 0)
return
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
if ( ! (istype(user, /mob/living/carbon/human) || \
istype(user, /mob/living/silicon) || \
istype(user, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
user << "\red You don't have the dexterity to do this!"
return
return 1
if (user)
if (M != user)
for (var/mob/O in viewers(M, null))
O.show_message("\red [M] has been applied with [src] by [user]", 1)
user.visible_message( \
"\blue [M] has been applied with [src] by [user].", \
"\blue You apply \the [src] to [M]." \
)
else
var/t_himself = "itself"
if (user.gender == MALE)
@@ -71,8 +39,10 @@ MEDICAL
else if (user.gender == FEMALE)
t_himself = "herself"
for (var/mob/O in viewers(M, null))
O.show_message("\red [M] applied [src] on [t_himself]", 1)
user.visible_message( \
"\blue [M] applied [src] on [t_himself].", \
"\blue You apply \the [src] on yourself." \
)
if (istype(M, /mob/living/carbon/human))
var/mob/living/carbon/human/H = M
@@ -101,7 +71,4 @@ MEDICAL
else
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
src.amount--
if (src.amount <= 0)
del(src)
use(1)

View File

@@ -190,10 +190,10 @@ CLIPBOARDS
attack_self(usr)
return
/obj/item/weapon/paper/attack_self(mob/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << text("\red You cut yourself on the paper.")
usr.bruteloss += 3
/obj/item/weapon/paper/attack_self(mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << text("\red You cut yourself on the paper.")
user.take_organ_damage(3)
return
var/n_name = input(user, "What would you like to label the paper?", "Paper Labelling", null) as text
n_name = copytext(n_name, 1, 32)
@@ -203,7 +203,7 @@ CLIPBOARDS
return
/obj/item/weapon/paper/attack_ai(var/mob/living/silicon/ai/user as mob)
var/dist
var/dist
if (istype(user) && user.current) //is AI
dist = get_dist(src, user.current)
else //cyborg or AI not seeing through a camera

View File

@@ -13,7 +13,7 @@ CIRCULAR SAW
//RETRACTOR//
/////////////
/obj/item/weapon/retractor/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && (M.lying || M.weakened || M.stunned || M.paralysis || M.sleeping || M.stat) && prob(50))))
@@ -22,31 +22,46 @@ CIRCULAR SAW
if (user.zone_sel.selecting == "eyes")
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// Eye surgery cannot be performed unless the head is clear
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\red You cannot locate any eyes on this creature!"
return
switch(M.eye_op_stage)
if(1.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begins to have his eyes retracted."), 1)
else
O.show_message(text("\red [M] is having his eyes retracted by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is having his eyes retracted by [user].", 1)
M << "\red [user] begins to seperate your eyes with [src]!"
user << "\red You seperate [M]'s eyes with [src]!"
else
user << "\red You begin to pry open your eyes with [src]!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 15
user.visible_message( \
"\red [user] begins to have his eyes retracted.", \
"\red You begin to pry open your eyes with [src]!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(15)
M.updatehealth()
else
M.take_organ_damage(15)
M.updatehealth()
M:eye_op_stage = 2.0
else if((!(user.zone_sel.selecting == "head")) || (!(user.zone_sel.selecting == "groin")) || (!(istype(M, /mob/living/carbon/human))))
@@ -59,7 +74,7 @@ CIRCULAR SAW
////////////
/obj/item/weapon/hemostat/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
@@ -68,31 +83,45 @@ CIRCULAR SAW
if (user.zone_sel.selecting == "eyes")
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// Eye surgery cannot be performed unless the head is clear
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\red You cannot locate any eyes on this creature!"
return
switch(M.eye_op_stage)
if(2.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begins to have his eyes mended."), 1)
else
O.show_message(text("\red [M] is having his eyes mended by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is having his eyes mended by [user].", 1)
M << "\red [user] begins to mend your eyes with [src]!"
user << "\red You mend [M]'s eyes with [src]!"
else
user << "\red You begin to mend your eyes with [src]!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 15
M.updatehealth()
user.visible_message( \
"\red [user] begins to have his eyes mended.", \
"\red You begin to mend your eyes with [src]!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(15)
M.updatehealth()
else
M.take_organ_damage(15)
M:eye_op_stage = 3.0
else if((!(user.zone_sel.selecting == "head")) || (!(user.zone_sel.selecting == "groin")) || (!(istype(M, /mob/living/carbon/human))))
@@ -105,7 +134,7 @@ CIRCULAR SAW
///////////
/obj/item/weapon/cautery/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
if(!istype(M))
return
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
@@ -114,32 +143,45 @@ CIRCULAR SAW
if (user.zone_sel.selecting == "eyes")
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// Eye surgery cannot be performed unless the head is clear
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\red You cannot locate any eyes on this creature!"
return
switch(M.eye_op_stage)
if(3.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begins to have his eyes cauterized."), 1)
else
O.show_message(text("\red [M] is having his eyes cauterized by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is having his eyes cauterized by [user].", 1)
M << "\red [user] begins to cauterize your eyes!"
user << "\red You cauterize [M]'s eyes with [src]!"
else
user << "\red You begin to cauterize your eyes!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 15
M.updatehealth()
user.visible_message( \
"\red [user] begins to have his eyes cauterized.", \
"\red You begin to cauterize your eyes!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(15)
M.updatehealth()
else
M.take_organ_damage(15)
M.sdisabilities &= ~1
M:eye_op_stage = 0.0
@@ -156,78 +198,89 @@ CIRCULAR SAW
//SCALPEL//
///////////
/obj/item/weapon/scalpel/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if(!istype(M))
return ..()
if((usr.mutations & 16) && prob(50))
M << "\red You stab yourself in the eye."
M.sdisabilities |= 1
M.weakened += 4
M.bruteloss += 10
src.add_fingerprint(user)
if((user.mutations & 16) && prob(50))
M = user
return eyestab(M,user)
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
return ..()
src.add_fingerprint(user)
if(user.zone_sel.selecting == "head")
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// you can't stab someone in the eyes wearing a mask!
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
switch(M:brain_op_stage)
if(0.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begins to cut open his skull with [src]!"), 1)
else
O.show_message(text("\red [M] is beginning to have his head cut open with [src] by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is beginning to have his head cut open with [src] by [user].", 1)
M << "\red [user] begins to cut open your head with [src]!"
user << "\red You cut [M]'s head open with [src]!"
else
user << "\red You begin to cut open your head with [src]!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 15
user.visible_message( \
"\red [user] begins to cut open his skull with [src]!", \
"\red You begin to cut open your head with [src]!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(15)
else
M.take_organ_damage(15)
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M.organs["head"]
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(7)
else
M.bruteloss += 7
M.take_organ_damage(7)
M.updatehealth()
M:brain_op_stage = 1.0
if(2.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begin to delicately remove the connections to his brain with [src]!"), 1)
else
O.show_message(text("\red [M] is having his connections to the brain delicately severed with [src] by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is having his connections to the brain delicately severed with [src] by [user].", 1)
M << "\red [user] begins to cut open your head with [src]!"
user << "\red You cut [M]'s head open with [src]!"
else
user << "\red You begin to delicately remove the connections to the brain with [src]!"
if(prob(25))
user << "\red You nick an artery!"
M.bruteloss += 75
user.visible_message( \
"\red [user] begin to delicately remove the connections to his brain with [src]!", \
"\red You begin to cut open your head with [src]!" \
)
if(M == user && prob(25))
user << "\red You nick an artery!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(75)
else
M.take_organ_damage(75)
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M.organs["head"]
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(7)
else
M.bruteloss += 7
M.take_organ_damage(7)
M.updatehealth()
M:brain_op_stage = 3.0
@@ -239,38 +292,55 @@ CIRCULAR SAW
user << "\blue So far so good."
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// Eye surgery cannot be performed unless the head is clear
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\red You cannot locate any eyes on this creature!"
return
switch(M:eye_op_stage)
if(0.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] begins to cut around his eyes with [src]!"), 1)
else
O.show_message(text("\red [M] is beginning to have his eyes incised with [src] by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] is beginning to have his eyes incised with [src] by [user].", 1)
M << "\red [user] begins to cut open your eyes with [src]!"
user << "\red You make an incision around [M]'s eyes with [src]!"
else
user << "\red You begin to cut open your eyes with [src]!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 15
user.visible_message( \
"\red [user] begins to cut around his eyes with [src]!", \
"\red You begin to cut open your eyes with [src]!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(15)
else
M.take_organ_damage(15)
user << "\blue So far so good before."
M.updatehealth()
M:eye_op_stage = 1.0
user << "\blue So far so good after."
else
return ..()
/* wat
else if((!(user.zone_sel.selecting == "head")) || (!(user.zone_sel.selecting == "groin")) || (!(istype(M, /mob/living/carbon/human))))
return ..()
*/
return
@@ -278,82 +348,91 @@ CIRCULAR SAW
//CIRCULAR SAW//
////////////////
/obj/item/weapon/circular_saw/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if(!istype(M))
return ..()
if((usr.mutations & 16) && prob(50))
M << "\red You cut out your eyes."
M.sdisabilities |= 1
M.weakened += 4
M.bruteloss += 10
src.add_fingerprint(user)
if((user.mutations & 16) && prob(50))
M = user
return eyestab(M,user)
if(!((locate(/obj/machinery/optable, M.loc) && M.resting) || (locate(/obj/table/, M.loc) && M.lying && prob(50))))
return ..()
src.add_fingerprint(user)
if(user.zone_sel.selecting == "head")
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// you can't stab someone in the eyes wearing a mask!
user << "\blue You're going to need to remove that mask/helmet/glasses first."
if(istype(H) && ( \
(H.head && H.head.flags & HEADCOVERSEYES) || \
(H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags & GLASSESCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
var/mob/living/carbon/monkey/Mo = M
if(istype(Mo) && ( \
(Mo.wear_mask && Mo.wear_mask.flags & MASKCOVERSEYES) \
))
user << "\red You're going to need to remove that mask/helmet/glasses first."
return
switch(M:brain_op_stage)
if(1.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] saws open his skull with [src]!"), 1)
else
O.show_message(text("\red [M] has his skull sawed open with [src] by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] has his skull sawed open with [src] by [user].", 1)
M << "\red [user] begins to saw open your head with [src]!"
user << "\red You saw [M]'s head open with [src]!"
else
user << "\red You begin to saw open your head with [src]!"
if(prob(25))
user << "\red You mess up!"
M.bruteloss += 40
user.visible_message( \
"\red [user] saws open his skull with [src]!", \
"\red You begin to saw open your head with [src]!" \
)
if(M == user && prob(25))
user << "\red You mess up!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(40)
M.updatehealth()
else
M.take_organ_damage(40)
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M.organs["head"]
var/datum/organ/external/affecting = M:organs["head"]
affecting.take_damage(7)
else
M.bruteloss += 7
M.take_organ_damage(7)
M.updatehealth()
M:brain_op_stage = 2.0
if(3.0)
for(var/mob/O in viewers(M, null))
if(O == (user || M))
continue
if(M == user)
O.show_message(text("\red [user] severs his brain's connection to the spine with [src]!"), 1)
else
O.show_message(text("\red [M] has his spine's connection to the brain severed with [src] by [user]."), 1)
if(M != user)
for(var/mob/O in (viewers(M) - user - M))
O.show_message("\red [M] has his spine's connection to the brain severed with [src] by [user].", 1)
M << "\red [user] severs your brain's connection to the spine with [src]!"
user << "\red You sever [M]'s brain's connection to the spine with [src]!"
else
user << "\red You sever your brain's connection to the spine with [src]!"
user.visible_message( \
"\red [user] severs his brain's connection to the spine with [src]!", \
"\red You sever your brain's connection to the spine with [src]!" \
)
M:brain_op_stage = 4.0
M.death()
var/obj/item/brain/B = new /obj/item/brain(M.loc)
var/obj/item/brain/B = new (M.loc)
B.owner = M
else
..()
return
else
return ..()
/*
else if((!(user.zone_sel.selecting == "head")) || (!(user.zone_sel.selecting == "groin")) || (!(istype(M, /mob/living/carbon/human))))
return ..()
return
*/
return

View File

@@ -16,11 +16,10 @@ STUN BATON
/obj/item/weapon/sword/New()
color = pick("red","blue","green","purple")
/obj/item/weapon/sword/attack_self(mob/user as mob)
/obj/item/weapon/sword/attack_self(mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << "\red You accidentally cut yourself with [src]."
user.bruteloss += 5
user.fireloss +=5
user.take_organ_damage(5,5)
src.active = !( src.active )
if (src.active)
user << "\blue [src] is now active."
@@ -204,15 +203,15 @@ STUN BATON
if(2)
charges -= 5
/obj/item/weapon/classic_baton/attack(mob/M as mob, mob/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red You club yourself over the head."
usr.weakened = max(3 * force, usr.weakened)
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
/obj/item/weapon/classic_baton/attack(mob/M as mob, mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << "\red You club yourself over the head."
user.weakened = max(3 * force, user.weakened)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.TakeDamage("head", 2 * force, 0)
else
usr.bruteloss += 2 * force
user.take_organ_damage(2*force)
return
src.add_fingerprint(user)

View File

@@ -23,59 +23,14 @@ WELDINGTOOOL
return
/obj/item/weapon/screwdriver/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
if((usr.mutations & 16) && prob(50))
M << "\red You stab yourself in the eye."
M.sdisabilities |= 1
M.weakened += 4
M.bruteloss += 10
src.add_fingerprint(user)
if(!(user.zone_sel.selecting == ("eyes" || "head")))
if(!istype(M))
return ..()
var/mob/living/carbon/human/H = M
if(istype(M, /mob/living/carbon/human) && ((H.head && H.head.flags & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags & MASKCOVERSEYES) || (H.glasses && H.glasses.flags & GLASSESCOVERSEYES)))
// you can't stab someone in the eyes wearing a mask!
user << "\blue You're going to need to remove that mask/helmet/glasses first."
return
if(istype(M, /mob/living/carbon/alien))//Aliens don't have eyes./N
user << "\blue You cannot locate any eyes on this creature!"
return
for(var/mob/O in viewers(M, null))
if(O == (user || M)) continue
if(M == user) O.show_message(text("\red [] has stabbed themself with []!", user, src), 1)
else O.show_message(text("\red [] has been stabbed in the eye with [] by [].", M, src, user), 1)
if(M != user)
M << "\red [user] stabs you in the eye with [src]!"
user << "\red You stab [M] in the eye with [src]!"
else
user << "\red You stab yourself in the eyes with [src]!"
if(istype(M, /mob/living/carbon/human))
var/datum/organ/external/affecting = M.organs["head"]
affecting.take_damage(7)
else
M.bruteloss += 7
M.eye_blurry += rand(3,4)
M.eye_stat += rand(2,4)
if (M.eye_stat >= 10)
M << "\red Your eyes start to bleed profusely!"
M.eye_blurry += 15+(0.1*M.eye_blurry)
M.disabilities |= 1
if(M.stat == 2) return
if(prob(50))
M << "\red You drop what you're holding and clutch at your eyes!"
M.eye_blurry += 10
M.paralysis += 1
M.weakened += 4
M.drop_item()
if (prob(M.eye_stat - 10 + 1))
M << "\red You go blind!"
M.sdisabilities |= 1
return
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
return ..()
if((user.mutations & 16) && prob(50))
M = user
return eyestab(M,user)
@@ -330,4 +285,4 @@ WELDINGTOOOL
max_fuel = 80
w_class = 3.0
m_amt = 70
g_amt = 120
g_amt = 120

View File

@@ -284,7 +284,7 @@
if(distance <= 1) //Am I close enough to attack it?
for(var/mob/O in viewers(world.view,src))
O.show_message("\red <B>[src.target] has been attacked by [src.name]!</B>", 1, "\red You hear someone fall.", 2)
target:bruteloss += strength
target.take_organ_damage(strength)
special_attack()
src.loc = target.loc
set_null()

View File

@@ -15,11 +15,11 @@
new /obj/item/weapon/paper(src)
new /obj/item/weapon/pen(src)
/obj/item/weapon/secstorage/sbriefcase/attack(mob/M as mob, mob/user as mob)
if ((usr.mutations & 16) && prob(50))
usr << "\red The [src] slips out of your hand and hits your head."
usr.bruteloss += 10
usr.paralysis += 2
/obj/item/weapon/secstorage/sbriefcase/attack(mob/M as mob, mob/living/user as mob)
if ((user.mutations & 16) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user.take_organ_damage(10)
user.paralysis += 2
return
var/t = user:zone_sel.selecting

View File

@@ -188,12 +188,13 @@
flick("e_chairs", src)
flick("e_chairos", src.overl)
for(var/mob/M in src.loc)
for(var/mob/living/M in src.loc)
M.burn_skin(85)
M << "\red <B>You feel a deep shock course through your body!</B>"
sleep(1)
M.burn_skin(85)
if(M.stunned < 600) M.stunned = 600
if(M.stunned < 600)
M.stunned = 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)

View File

@@ -20,24 +20,24 @@
H.UpdateDamage()
return
/obj/item/weapon/storage/bible/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/storage/bible/attack(mob/M as mob, mob/living/user as mob)
var/chaplain = 0
if(user.mind && (user.mind.assigned_role == "Chaplain"))
chaplain = 1
if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
usr << "\red You don't have the dexterity to do this!"
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
return
if(!chaplain)
usr << "\red The book sizzles in your hands."
usr.fireloss += 10
user << "\red The book sizzles in your hands."
user.take_organ_damage(0,10)
return
if ((usr.mutations & 16) && prob(50))
usr << "\red The [src] slips out of your hand and hits your head."
usr.bruteloss += 10
usr.paralysis += 20
if ((user.mutations & 16) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user.take_organ_damage(10)
user.paralysis += 20
return
// if(..() == BLOCKED)

View File

@@ -8,13 +8,13 @@
new /obj/item/weapon/paper(src)
new /obj/item/weapon/pen(src)
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/user as mob)
/obj/item/weapon/storage/briefcase/attack(mob/M as mob, mob/living/user as mob)
//..()
if ((usr.mutations & 16) && prob(50))
usr << "\red The [src] slips out of your hand and hits your head."
usr.bruteloss += 10
usr.paralysis += 2
if ((user.mutations & 16) && prob(50))
user << "\red The [src] slips out of your hand and hits your head."
user.take_organ_damage(10)
user.paralysis += 2
return
if (M.stat < 2 && M.health < 50 && prob(90))

View File

@@ -2,8 +2,8 @@
/obj/item/weapon/storage/firstaid/fire/New()
..()
if (empty) return
new /obj/item/weapon/medical/ointment( src )
new /obj/item/weapon/medical/ointment( src )
new /obj/item/stack/medical/ointment( src )
new /obj/item/stack/medical/ointment( src )
new /obj/item/device/healthanalyzer( src )
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
@@ -27,11 +27,11 @@
..()
if (empty) return
new /obj/item/weapon/medical/bruise_pack(src)
new /obj/item/weapon/medical/bruise_pack(src)
new /obj/item/weapon/medical/bruise_pack(src)
new /obj/item/weapon/medical/ointment(src)
new /obj/item/weapon/medical/ointment(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/ointment(src)
new /obj/item/stack/medical/ointment(src)
new /obj/item/device/healthanalyzer(src)
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
return

View File

@@ -299,7 +299,7 @@
src.ion_trail.stop()
return
/obj/item/weapon/tank/jetpack/proc/allow_thrust(num, mob/user as mob)
/obj/item/weapon/tank/jetpack/proc/allow_thrust(num, mob/living/user as mob)
if (!( src.on ))
return 0
if ((num < 0.01 || src.air_contents.total_moles() < num))
@@ -314,8 +314,7 @@
if (user)
var/d = G.toxins / 2
d = min(abs(user.health + 100), d, 25)
user.fireloss += d
user.updatehealth()
user.take_organ_damage(0,d)
return (G.oxygen >= 0.0075 ? 0.5 : 0)
else
if (G.oxygen >= 0.0075)

View File

@@ -144,16 +144,16 @@
var/obj/item/weapon/ore/rock = new rock_type(hit_loc)
for(var/mob/living/M in hit_loc)
if(prob(rocks_hit_chance))
M.bruteloss += rand(rocks_min_dmg,rocks_max_dmg)
M.take_organ_damage(rand(rocks_min_dmg,rocks_max_dmg))
M << "A chunk of [lowertext(rock.name)] hits you in the head!"
if(target_type == "mob")
for(var/i=0,i<rocks_amt,i++)
var/mob/hit_loc = pick(targets)
var/mob/living/hit_loc = pick(targets)
var/rock_type = pick(rocks_type)
var/obj/item/weapon/ore/rock = new rock_type(hit_loc.loc)
if(prob(rocks_hit_chance))
hit_loc.bruteloss += rand(rocks_min_dmg,rocks_max_dmg)
hit_loc.take_organ_damage(rand(rocks_min_dmg,rocks_max_dmg))
hit_loc << "A chunk of [lowertext(rock.name)] hits you in the head!"
/obj/trap/single
@@ -186,11 +186,18 @@
return varieties
/obj/trap/single/rockfalls/activate(victim)
/obj/trap/single/rockfalls/activate(mob/living/victim)
var/rock_type = pick(rocks_type)
var/obj/item/weapon/ore/rock = new rock_type(victim:loc)
if(prob(rock_hit_chance))
victim:bruteloss += rand(rock_min_dmg,rock_max_dmg)
if (istype(victim) && prob(rock_hit_chance))
var/dmg = rand(rock_min_dmg,rock_max_dmg)
if(istype(victim, /mob/living/carbon/human))
var/mob/living/carbon/human/H = victim
var/datum/organ/external/affecting = H.organs["head"]
affecting.take_damage(dmg)
H.updatehealth()
else
victim.take_organ_damage(dmg)
victim << "A chunk of [lowertext(rock.name)] hits you in the head!"
/obj/trap/area

View File

@@ -75,23 +75,26 @@
src.throwing = 0
/atom/proc/throw_impact(atom/hit_atom)
if(ismob(hit_atom))
hit_atom.visible_message("\red [hit_atom] has been hit by [src].")
var/mob/M = hit_atom
if(istype(hit_atom,/mob/living))
var/mob/living/M = hit_atom
M.visible_message("\red [hit_atom] has been hit by [src].")
if(src.vars.Find("throwforce"))
M.bruteloss += src:throwforce
M.take_organ_damage(src:throwforce)
else if(isobj(hit_atom))
var/obj/O = hit_atom
if(!O.anchored) step(O, src.dir)
if(!O.anchored)
step(O, src.dir)
O.hitby(src)
else if(isturf(hit_atom))
var/turf/T = hit_atom
if(T.density)
spawn(2) step(src, turn(src.dir, 180))
if(ismob(src) && hasvar(src,"bruteloss"))
src:bruteloss += 20
spawn(2)
step(src, turn(src.dir, 180))
if(istype(src,/mob/living))
var/mob/living/M = src
M.take_organ_damage(20)
/atom/movable/Bump(atom/O)
if(src.throwing)

View File

@@ -149,7 +149,7 @@
/turf/simulated/Entered(atom/A, atom/OL)
if (istype(A,/mob/living/carbon))
var/mob/M = A
var/mob/living/carbon/M = A
if(M.lying)
return
if(istype(M, /mob/living/carbon/human)) // Split this into two seperate if checks, when non-humans were being checked it would throw a null error -- TLE
@@ -195,7 +195,7 @@
spawn(2) step(M, M.dir)
spawn(3) step(M, M.dir)
spawn(4) step(M, M.dir)
M.bruteloss += 2 // Was 5 -- TLE
M.take_organ_damage(2) // Was 5 -- TLE
M << "\blue You slipped on the floor!"
playsound(src.loc, 'slip.ogg', 50, 1, -3)
M.weakened = 10

View File

@@ -489,11 +489,8 @@ var/showadminmessages = 1
if (href_list["revive"])
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
var/mob/M = locate(href_list["revive"])
var/mob/living/M = locate(href_list["revive"])
if (ismob(M))
if(istype(M, /mob/dead/observer))
alert("Cannot revive a ghost")
return
if(config.allow_admin_rev)
M.revive()
message_admins("\red Admin [key_name_admin(usr)] healed / revived [key_name_admin(M)]!", 1)
@@ -1961,7 +1958,7 @@ var/showadminmessages = 1
else
alert("[M.name] is not prisoned.")
/mob/proc/revive()
/mob/living/proc/revive()
//src.fireloss = 0
src.toxloss = 0
//src.bruteloss = 0

View File

@@ -394,7 +394,7 @@ TO DO: actually integrate random appearance and player preference save.
command_alert("Ion storm detected near the station. Please check all AI-controlled equipment for errors.", "Anomaly Alert")
world << sound('ionstorm.ogg')
/client/proc/cmd_admin_rejuvenate(mob/M as mob in world)
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in world)
set category = "Special Verbs"
set name = "Rejuvenate"
// All admins should be authenticated, but... what if?
@@ -403,7 +403,7 @@ TO DO: actually integrate random appearance and player preference save.
return
if(!src.mob)
return
if(istype(M, /mob/dead/observer))
if(!istype(M))
alert("Cannot revive a ghost")
return
if(config.allow_admin_rev)
@@ -614,7 +614,7 @@ TO DO: actually integrate random appearance and player preference save.
// I will both remove their SVN access and permanently ban them from my servers.
return
/client/proc/cmd_admin_check_contents(mob/M as mob in world)
/client/proc/cmd_admin_check_contents(mob/living/M as mob in world)
set category = "Special Verbs"
set name = "Check Contents"

View File

@@ -800,13 +800,3 @@ In all, this is a lot like the monkey code. /N
src.health = 100
src.stat = 0
/mob/living/carbon/alien/heal_organ_damage(var/brute, var/burn)
bruteloss = max(0, bruteloss-brute) //HACK
fireloss = max(0, fireloss-burn) //HACK
src.updatehealth()
/mob/living/carbon/alien/take_organ_damage(var/brute, var/burn)
bruteloss += brute //HACK
fireloss += burn //HACK
src.updatehealth()

View File

@@ -26,7 +26,7 @@
H.UpdateDamageIcon()
H.updatehealth()
else
src.bruteloss += d
src.take_organ_damage(d)
for(var/mob/M in viewers(user, null))
if(M.client)
M.show_message(text("\red <B>[user] attacks [src]'s stomach wall with the [I.name]!"), 2)
@@ -85,7 +85,8 @@
shock_damage *= siemens_coeff
if (shock_damage<1)
return 0
src.burn_skin(shock_damage)
src.take_overall_damage(0,shock_damage)
//src.burn_skin(shock_damage)
//src.fireloss += shock_damage //burn_skin will do this for us
//src.updatehealth()
src.visible_message(
@@ -96,4 +97,13 @@
if(src.stunned < shock_damage) src.stunned = shock_damage
if(src.weakened < 20*siemens_coeff) src.weakened = 20*siemens_coeff
return shock_damage
return shock_damage
/mob/living/carbon/proc/swap_hand()
src.hand = !( src.hand )
if (!( src.hand ))
src.hands.dir = NORTH
else
src.hands.dir = SOUTH
return

View File

@@ -457,5 +457,5 @@
for (var/mob/O in viewers(src, null))
O.show_message(message, m_type)
else if (m_type & 2)
for (var/mob/O in hearers(src, null))
for (var/mob/O in hearers(src.loc, null))
O.show_message(message, m_type)

View File

@@ -2607,54 +2607,49 @@ It can still be worn/put on as normal.
/mob/living/carbon/human/proc/UpdateDamage()
var/list/L = list( )
for(var/t in src.organs)
if (istype(src.organs[text("[]", t)], /datum/organ/external))
L += src.organs[text("[]", t)]
src.bruteloss = 0
src.fireloss = 0
for(var/datum/organ/external/O in L)
src.bruteloss += O.brute_dam
src.fireloss += O.burn_dam
var/datum/organ/external/O
for(var/t in src.organs)
O = src.organs[t]
if (istype(O, /datum/organ/external))
src.bruteloss += O.brute_dam
src.fireloss += O.burn_dam
return
// new damage icon system
// now constructs damage icon for each organ from mask * damage field
/mob/living/carbon/human/proc/UpdateDamageIcon()
var/list/L = list( )
for (var/t in src.organs)
if (istype(src.organs[t], /datum/organ/external))
L += src.organs[t]
del(src.body_standing)
src.body_standing = list()
del(src.body_lying)
src.body_lying = list()
src.bruteloss = 0
src.fireloss = 0
var/datum/organ/external/O
for(var/t in src.organs)
O = src.organs[t]
if (istype(O, /datum/organ/external))
src.bruteloss += O.brute_dam
src.fireloss += O.burn_dam
for (var/datum/organ/external/O in L)
src.bruteloss += O.brute_dam
src.fireloss += O.burn_dam
var/icon/DI = new /icon('dam_human.dmi', O.damage_state) // the damage icon for whole human
DI.Blend(new /icon('dam_mask.dmi', O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
var/icon/DI = new /icon('dam_human.dmi', O.damage_state) // the damage icon for whole human
DI.Blend(new /icon('dam_mask.dmi', O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
// world << "[O.icon_name] [O.damage_state] \icon[DI]"
// world << "[O.icon_name] [O.damage_state] \icon[DI]"
body_standing += DI
body_standing += DI
DI = new /icon('dam_human.dmi', "[O.damage_state]-2") // repeat for lying icons
DI.Blend(new /icon('dam_mask.dmi', "[O.icon_name]2"), ICON_MULTIPLY)
DI = new /icon('dam_human.dmi', "[O.damage_state]-2") // repeat for lying icons
DI.Blend(new /icon('dam_mask.dmi', "[O.icon_name]2"), ICON_MULTIPLY)
// world << "[O.r_name]2 [O.d_i_state]-2 \icon[DI]"
// world << "[O.r_name]2 [O.d_i_state]-2 \icon[DI]"
body_lying += DI
body_lying += DI
//src.body_standing += new /icon( 'dam_zones.dmi', text("[]", O.d_i_state) )
//src.body_lying += new /icon( 'dam_zones.dmi', text("[]2", O.d_i_state) )
//src.body_standing += new /icon( 'dam_zones.dmi', text("[]", O.d_i_state) )
//src.body_lying += new /icon( 'dam_zones.dmi', text("[]2", O.d_i_state) )
/mob/living/carbon/human/show_inv(mob/user as mob)
@@ -2755,12 +2750,79 @@ It can still be worn/put on as normal.
siemens_coeff = G.siemens_coefficient
return ..(shock_damage,source,siemens_coeff)
/mob/living/carbon/human/proc/get_damaged_organs(var/brute, var/burn)
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if((brute && organ.brute_dam) || (burn && organ.burn_dam))
parts += organ
return parts
/mob/living/carbon/human/proc/get_damageable_organs()
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if(organ.brute_dam + organ.burn_dam < organ.max_damage)
parts += organ
return parts
// heal ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/carbon/human/heal_organ_damage(var/brute, var/burn)
..()
var/list/datum/organ/external/parts = get_damaged_organs(brute,burn)
if(!parts.len)
return
var/datum/organ/external/picked = pick(parts)
picked.heal_damage(brute,burn)
src.updatehealth()
src.UpdateDamageIcon()
// damage ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/carbon/human/take_organ_damage(var/brute, var/burn)
..()
var/list/datum/organ/external/parts = get_damageable_organs()
if(!parts.len)
return
var/datum/organ/external/picked = pick(parts)
picked.take_damage(brute,burn)
src.updatehealth()
src.UpdateDamageIcon()
// heal MANY external organs, in random order
/mob/living/carbon/human/heal_overall_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = get_damaged_organs(brute,burn)
while(parts.len && (brute>0 || burn>0) )
var/datum/organ/external/picked = pick(parts)
var/brute_was = picked.brute_dam
var/burn_was = picked.burn_dam
picked.heal_damage(brute,burn)
brute -= (brute_was-picked.brute_dam)
burn -= (burn_was-picked.burn_dam)
parts -= picked
src.updatehealth()
src.UpdateDamageIcon()
// damage MANY external organs, in random order
/mob/living/carbon/human/take_overall_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = get_damageable_organs()
while(parts.len && (brute>0 || burn>0) )
var/datum/organ/external/picked = pick(parts)
var/brute_was = picked.brute_dam
var/burn_was = picked.burn_dam
picked.take_damage(brute,burn)
brute -= (picked.brute_dam-brute_was)
burn -= (picked.burn_dam-burn_was)
parts -= picked
src.updatehealth()
src.UpdateDamageIcon()
/mob/living/carbon/human/proc/isarmored(var/datum/organ/external/def_zone)
@@ -2775,3 +2837,24 @@ It can still be worn/put on as normal.
return 1
//If wearing armor that covers the targetted bodypart, armored.
return 0
/mob/living/carbon/human/Topic(href, href_list)
if (href_list["mach_close"])
var/t1 = text("window=[]", href_list["mach_close"])
src.machine = null
src << browse(null, t1)
if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e
var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = usr
O.target = src
O.item = usr.equipped()
O.s_loc = usr.loc
O.t_loc = src.loc
O.place = href_list["item"]
src.requests += O
spawn( 0 )
O.process()
return
..()
return

View File

@@ -105,7 +105,7 @@
src.fireloss += 40
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
return
/*
/mob/living/carbon/monkey/bullet_act(flag)
if (flag == PROJECTILE_BULLET)
@@ -140,7 +140,7 @@
src.stuttering += 5
src.drowsyness += 5
return
*/
/mob/living/carbon/monkey/hand_p(mob/M as mob)
if ((M.a_intent == "hurt" && !( istype(src.wear_mask, /obj/item/clothing/mask/muzzle) )))
if ((prob(75) && src.health > 0))
@@ -704,12 +704,3 @@
del(src)
return
/mob/living/carbon/monkey/heal_organ_damage(var/brute, var/burn)
bruteloss = max(0, bruteloss-brute) //HACK
fireloss = max(0, fireloss-burn) //HACK
src.updatehealth()
/mob/living/carbon/monkey/take_organ_damage(var/brute, var/burn)
bruteloss += brute //HACK
fireloss += burn //HACK
src.updatehealth()

View File

@@ -0,0 +1,201 @@
/mob/living/verb/succumb()
set hidden = 1
if ((src.health < 0 && src.health > -95.0))
src.oxyloss += src.health + 200
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
src << "\blue You have given up life and succumbed to death."
/mob/living/bullet_act(flag)
if (flag == PROJECTILE_BULLET)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(51, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
else
src.take_organ_damage(51)
src.updatehealth()
if (prob(80) && src.weakened <= 2)
src.weakened = 2
else if (flag == PROJECTILE_TASER)
if (prob(75) && src.stunned <= 10)
src.stunned = 10
else
src.weakened = 10
else if (flag == PROJECTILE_DART)
src.weakened += 5
src.toxloss += 10
else if(flag == PROJECTILE_LASER)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(20, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
src.updatehealth()
else
src.take_organ_damage(20)
if (prob(25) && src.stunned <= 2)
src.stunned = 2
else if(flag == PROJECTILE_PULSE)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(40, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
src.updatehealth()
else
src.take_organ_damage(40)
if (prob(50))
src.stunned = min(src.stunned, 5)
else if(flag == PROJECTILE_BOLT)
src.toxloss += 3
src.radiation += 100
src.updatehealth()
src.stuttering += 5
src.drowsyness += 5
if (prob(10))
src.weakened = min(src.weakened, 2)
return
/mob/living/proc/updatehealth()
if (src.nodamage == 0)
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
else
src.health = 100
src.stat = 0
//sort of a legacy burn method for /electrocute, /shock, and the e_chair
/mob/living/proc/burn_skin(burn_amount)
if(istype(src, /mob/living/carbon/human))
//world << "DEBUG: burn_skin(), mutations=[mutations]"
if (src.mutations & 2) //fireproof
return 0
var/mob/living/carbon/human/H = src //make this damage method divide the damage to be done among all the body parts, then burn each body part for that much damage. will have better effect then just randomly picking a body part
var/divided_damage = (burn_amount)/(H.organs.len)
var/datum/organ/external/affecting = null
var/extradam = 0 //added to when organ is at max dam
for(var/A in H.organs)
if(!H.organs[A]) continue
affecting = H.organs[A]
if(!istype(affecting, /datum/organ/external)) continue
if(affecting.take_damage(0, divided_damage+extradam))
extradam = 0
else
extradam += divided_damage
H.UpdateDamageIcon()
H.updatehealth()
return 1
else if(istype(src, /mob/living/carbon/monkey))
if (src.mutations & 2) //fireproof
return 0
var/mob/living/carbon/monkey/M = src
M.fireloss += burn_amount
M.updatehealth()
return 1
else if(istype(src, /mob/living/silicon/ai))
return 0
/mob/living/proc/adjustBodyTemp(actual, desired, incrementboost)
var/temperature = actual
var/difference = abs(actual-desired) //get difference
var/increments = difference/10 //find how many increments apart they are
var/change = increments*incrementboost // Get the amount to change by (x per increment)
// Too cold
if(actual < desired)
temperature += change
if(actual > desired)
temperature = desired
// Too hot
if(actual > desired)
temperature -= change
if(actual < desired)
temperature = desired
// if(istype(src, /mob/living/carbon/human))
// world << "[src] ~ [src.bodytemperature] ~ [temperature]"
return temperature
/mob/living/proc/get_contents()
var/list/L = list()
L += src.contents
for(var/obj/item/weapon/storage/S in src.contents)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src.contents)
L += G.gift
if (istype(G.gift, /obj/item/weapon/storage))
L += G.gift:return_inv()
return L
/mob/living/proc/check_contents_for(A)
var/list/L = list()
L += src.contents
for(var/obj/item/weapon/storage/S in src.contents)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src.contents)
L += G.gift
if (istype(G.gift, /obj/item/weapon/storage))
L += G.gift:return_inv()
for(var/obj/B in L)
if(B.type == A)
return 1
return 0
/mob/living/proc/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0)
return 0 //only carbon liveforms have this proc
/mob/living/emp_act(severity)
var/list/L = src.get_contents()
for(var/obj/O in L)
O.emp_act(severity)
..()
/mob/living/proc/get_organ_target()
var/mob/shooter = src
var/t = shooter:zone_sel.selecting
if ((t in list( "eyes", "mouth" )))
t = "head"
var/datum/organ/external/def_zone = ran_zone(t)
return def_zone
// heal ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/proc/heal_organ_damage(var/brute, var/burn)
bruteloss = max(0, bruteloss-brute)
fireloss = max(0, fireloss-burn)
src.updatehealth()
// damage ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/proc/take_organ_damage(var/brute, var/burn)
bruteloss += brute
fireloss += burn
src.updatehealth()
// heal MANY external organs, in random order
/mob/living/proc/heal_overall_damage(var/brute, var/burn)
bruteloss = max(0, bruteloss-brute)
fireloss = max(0, fireloss-burn)
src.updatehealth()
// damage MANY external organs, in random order
/mob/living/proc/take_overall_damage(var/brute, var/burn)
bruteloss += brute
fireloss += burn
src.updatehealth()

View File

@@ -96,8 +96,8 @@ obj/item/weapon/robot_module/syndicate
/obj/item/weapon/robot_module/medical/New()
..()
src.modules += new /obj/item/device/healthanalyzer(src)
src.modules += new /obj/item/weapon/medical/ointment/medbot(src)
src.modules += new /obj/item/weapon/medical/bruise_pack/medbot(src)
src.modules += new /obj/item/stack/medical/ointment/medbot(src)
src.modules += new /obj/item/stack/medical/bruise_pack/medbot(src)
src.modules += new /obj/item/weapon/reagent_containers/syringe/robot(src)
src.modules += new /obj/item/weapon/scalpel(src)
src.modules += new /obj/item/weapon/circular_saw(src)

View File

@@ -8,7 +8,7 @@
return
/mob/living/silicon/emp_act(severity)
src.fireloss += 25
src.take_organ_damage(25)
flick("noise", src:flash)
src << "\red <B>*BZZZT*</B>"
src << "\red Warning: Electromagnetic pulse detected."

View File

@@ -20,12 +20,12 @@
// fun if you want to typecast humans/monkeys/etc without writing long path-filled lines.
/proc/ishuman(A)
if(A && istype(A, /mob/living/carbon/human))
if(istype(A, /mob/living/carbon/human))
return 1
return 0
/proc/isalien(A)
if(A && istype(A, /mob/living/carbon/alien))
if(istype(A, /mob/living/carbon/alien))
return 1
return 0
@@ -35,7 +35,7 @@
return 0
/proc/isrobot(A)
if(A && istype(A, /mob/living/silicon/robot))
if(istype(A, /mob/living/silicon/robot))
return 1
return 0
@@ -45,17 +45,17 @@
return 0
/proc/isAI(A)
if(A && istype(A, /mob/living/silicon/ai))
if(istype(A, /mob/living/silicon/ai))
return 1
return 0
/proc/iscarbon(A)
if(A && istype(A, /mob/living/carbon))
if(istype(A, /mob/living/carbon))
return 1
return 0
/proc/issilicon(A)
if(A && istype(A, /mob/living/silicon))
if(istype(A, /mob/living/silicon))
return 1
return 0
@@ -983,26 +983,6 @@
..()
return
/mob/living/carbon/human/Topic(href, href_list)
if (href_list["mach_close"])
var/t1 = text("window=[]", href_list["mach_close"])
src.machine = null
src << browse(null, t1)
if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e
var/obj/equip_e/human/O = new /obj/equip_e/human( )
O.source = usr
O.target = src
O.item = usr.equipped()
O.s_loc = usr.loc
O.t_loc = src.loc
O.place = href_list["item"]
src.requests += O
spawn( 0 )
O.process()
return
..()
return
/mob/proc/show_message(msg, type, alt, alt_type)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2)
if(!src.client) return
if (type)
@@ -1096,13 +1076,6 @@
return
/mob/living/carbon/proc/swap_hand()
src.hand = !( src.hand )
if (!( src.hand ))
src.hands.dir = NORTH
else
src.hands.dir = SOUTH
return
/mob/proc/drop_item_v()
if (src.stat == 0)
@@ -1383,14 +1356,6 @@
src << browse('changelog.html', "window=changes;size=675x650")
src.client.changes = 1
/mob/verb/succumb()
set hidden = 1
if ((src.health < 0 && src.health > -95.0))
src.oxyloss += src.health + 200
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
src << "\blue You have given up life and succumbed to death."
/mob/var/ghost_ears = 1
/mob/verb/toggle_ghost_ears()
set name = "Ghost ears"
@@ -1582,69 +1547,6 @@
if(LinkBlocked(usr.loc,src.loc)) return
src.show_inv(usr)
/mob/bullet_act(flag)
if (flag == PROJECTILE_BULLET)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(51, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
else
src.bruteloss += 51
src.updatehealth()
if (prob(80) && src.weakened <= 2)
src.weakened = 2
else if (flag == PROJECTILE_TASER)
if (prob(75) && src.stunned <= 10)
src.stunned = 10
else
src.weakened = 10
else if (flag == PROJECTILE_DART)
src.weakened += 5
src.toxloss += 10
else if(flag == PROJECTILE_LASER)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(20, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
else
src.bruteloss += 20
src.updatehealth()
if (prob(25) && src.stunned <= 2)
src.stunned = 2
else if(flag == PROJECTILE_PULSE)
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/H = src
var/dam_zone = pick("chest", "chest", "chest", "groin", "head")
if (H.organs[text("[]", dam_zone)])
var/datum/organ/external/affecting = H.organs[text("[]", dam_zone)]
if (affecting.take_damage(40, 0))
H.UpdateDamageIcon()
else
H.UpdateDamage()
else
src.bruteloss += 40
src.updatehealth()
if (prob(50))
src.stunned = min(src.stunned, 5)
else if(flag == PROJECTILE_BOLT)
src.toxloss += 3
src.radiation += 100
src.updatehealth()
src.stuttering += 5
src.drowsyness += 5
if (prob(10))
src.weakened = min(src.weakened, 2)
return
/atom/movable/Move(NewLoc, direct)
@@ -1961,64 +1863,6 @@
for(var/mob/M in viewers())
M.see(message)
/mob/proc/updatehealth()
if (src.nodamage == 0)
src.health = 100 - src.oxyloss - src.toxloss - src.fireloss - src.bruteloss
else
src.health = 100
src.stat = 0
//sort of a legacy burn method for /electrocute, /shock, and the e_chair
/mob/proc/burn_skin(burn_amount)
if(istype(src, /mob/living/carbon/human))
//world << "DEBUG: burn_skin(), mutations=[mutations]"
if (src.mutations & 2) //fireproof
return 0
var/mob/living/carbon/human/H = src //make this damage method divide the damage to be done among all the body parts, then burn each body part for that much damage. will have better effect then just randomly picking a body part
var/divided_damage = (burn_amount)/(H.organs.len)
var/datum/organ/external/affecting = null
var/extradam = 0 //added to when organ is at max dam
for(var/A in H.organs)
if(!H.organs[A]) continue
affecting = H.organs[A]
if(!istype(affecting, /datum/organ/external)) continue
if(affecting.take_damage(0, divided_damage+extradam))
extradam = 0
else
extradam += divided_damage
H.UpdateDamageIcon()
H.updatehealth()
return 1
else if(istype(src, /mob/living/carbon/monkey))
if (src.mutations & 2) //fireproof
return 0
var/mob/living/carbon/monkey/M = src
M.fireloss += burn_amount
M.updatehealth()
return 1
else if(istype(src, /mob/living/silicon/ai))
return 0
/mob/proc/adjustBodyTemp(actual, desired, incrementboost)
var/temperature = actual
var/difference = abs(actual-desired) //get difference
var/increments = difference/10 //find how many increments apart they are
var/change = increments*incrementboost // Get the amount to change by (x per increment)
// Too cold
if(actual < desired)
temperature += change
if(actual > desired)
temperature = desired
// Too hot
if(actual > desired)
temperature -= change
if(actual < desired)
temperature = desired
// if(istype(src, /mob/living/carbon/human))
// world << "[src] ~ [src.bodytemperature] ~ [temperature]"
return temperature
//This is the proc for gibbing a mob. Cannot gib ghosts. Removed the medal reference,
//added different sort of gibs and animations. N
/mob/proc/gib()
@@ -2081,8 +1925,6 @@ Originally created for wizard disintegrate. I've removed the virus code since it
*/
/mob/proc/dust()
if (istype(src, /mob/dead/observer))
return
src.death(1)
var/atom/movable/overlay/animation = null
src.monkeyizing = 1
@@ -2118,32 +1960,6 @@ Originally created for wizard disintegrate. I've removed the virus code since it
sleep(15)
del(src)
/mob/proc/get_contents()
var/list/L = list()
L += src.contents
for(var/obj/item/weapon/storage/S in src.contents)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src.contents)
L += G.gift
if (istype(G.gift, /obj/item/weapon/storage))
L += G.gift:return_inv()
return L
/mob/proc/check_contents_for(A)
var/list/L = list()
L += src.contents
for(var/obj/item/weapon/storage/S in src.contents)
L += S.return_inv()
for(var/obj/item/weapon/gift/G in src.contents)
L += G.gift
if (istype(G.gift, /obj/item/weapon/storage))
L += G.gift:return_inv()
for(var/obj/B in L)
if(B.type == A)
return 1
return 0
/*
adds a dizziness amount to a mob
@@ -2270,92 +2086,3 @@ note dizziness decrements automatically in the mob's Life() proc.
boom.icon_state = "loss_malf"
else
boom.icon_state = "loss_general"
/mob/proc/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0)
return 0 //only carbon liveforms has this proc
/mob/emp_act(severity)
var/list/L = src.get_contents()
for(var/obj/O in L)
O.emp_act(severity)
..()
/mob/proc/get_organ_target()
var/mob/shooter = src
var/t = shooter:zone_sel.selecting
if ((t in list( "eyes", "mouth" )))
t = "head"
var/datum/organ/external/def_zone = ran_zone(t)
return def_zone
// heal ONE external organ, organ gets randomly selected from damaged ones.
/mob/proc/heal_organ_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if((brute && organ.brute_dam) || (burn && organ.burn_dam))
parts += organ
if(!parts.len)
return
var/datum/organ/external/picked = pick(parts)
picked.heal_damage(brute,burn)
src.updatehealth()
// damage ONE external organ, organ gets randomly selected from damaged ones.
/mob/proc/take_organ_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if(organ.brute_dam + organ.burn_dam < organ.max_damage)
parts += organ
if(!parts.len)
return
var/datum/organ/external/picked = pick(parts)
picked.take_damage(brute,burn)
src.updatehealth()
// heal MANY external organs, in random order
/mob/proc/heal_overall_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if((brute && organ.brute_dam) || (burn && organ.burn_dam))
parts += organ
while(parts.len && (brute>0 || burn>0) )
var/datum/organ/external/picked = pick(parts)
var/brute_was = picked.brute_dam
var/burn_was = picked.burn_dam
picked.heal_damage(brute,burn)
brute -= (brute_was-picked.brute_dam)
burn -= (burn_was-picked.burn_dam)
parts -= picked
src.updatehealth()
// damage MANY external organs, in random order
/mob/proc/take_overall_damage(var/brute, var/burn)
var/list/datum/organ/external/parts = list()
for(var/organ_name in src.organs)
var/datum/organ/external/organ = src.organs[organ_name]
if(organ.brute_dam + organ.burn_dam < organ.max_damage)
parts += organ
while(parts.len && (brute>0 || burn>0) )
var/datum/organ/external/picked = pick(parts)
var/brute_was = picked.brute_dam
var/burn_was = picked.burn_dam
picked.take_damage(brute,burn)
brute -= (picked.brute_dam-brute_was)
burn -= (picked.burn_dam-burn_was)
parts -= picked
src.updatehealth()

View File

@@ -49,6 +49,13 @@
src.spawning = 1
return ..()
/mob/living/carbon/human/AIize()
if (src.monkeyizing)
return
for(var/t in src.organs)
del(src.organs[text("[]", t)])
return ..()
/mob/living/carbon/AIize()
if (src.monkeyizing)
return
@@ -59,10 +66,6 @@
src.canmove = 0
src.icon = null
src.invisibility = 101
for(var/t in src.organs)
del(src.organs[text("[]", t)])
return ..()

View File

@@ -277,9 +277,8 @@
affecting.take_damage( 0, 5 ) // 5 burn damage
H.UpdateDamageIcon()
H.fireloss += 5
H.updatehealth()
H.UpdateDamageIcon()
return // if burned, don't remove the light
// create a light tube/bulb item and put it in the user's hand

View File

@@ -50,7 +50,7 @@
proc
shock(mob/user as mob)
shock(mob/living/user as mob)
if(!FG1 || !FG2)
del(src)
return 0
@@ -76,8 +76,7 @@
s.set_up(5, 1, user.loc)
s.start()
var/shock_damage = rand(15,30)
user.fireloss += shock_damage
user.updatehealth()
user.take_overall_damage(0,shock_damage)
user.visible_message("\red [user.name] was shocked by the [src.name]!", \
"\red <B>Energy pulse detected, system damaged!</B>", \
"\red You hear an electrical crack")

View File

@@ -49,11 +49,14 @@
proc
toxmob(var/mob/M)
toxmob(var/mob/living/M)
var/radiation = (energy*2)
if(istype(M,/mob/living/carbon/human))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
if(istype(M,/mob/living/carbon/monkey))
if(M:wear_suit) //TODO: check for radiation protection
radiation = round(radiation/2,1)
M.radiation += radiation
M.updatehealth()
//M << "\red You feel odd."

View File

@@ -2844,7 +2844,7 @@
"bcJ" = (/obj/table{dir = 2; icon_state = "tabledir"},/obj/item/weapon/storage/firstaid/toxin{pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bcK" = (/obj/stool/bed{pixel_x = 3},/obj/item/weapon/bedsheet{pixel_x = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcL" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/storage/lglo_kit{pixel_x = 2; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcM" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/medical/ointment{pixel_x = 4},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcM" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/stack/medical/ointment{pixel_x = 4},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcN" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcO" = (/obj/morgue,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bcP" = (/obj/morgue,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -5169,7 +5169,7 @@
"bVu" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
"bVv" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bVw" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"bVx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVy" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/cable{d1 = 4; d2 = 10; icon_state = "4-10"},/turf/simulated/floor,/area/engine/chiefs_office)
"bVz" = (/obj/table/reinforced{icon_state = "reinf_tabledir"},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/camera{c_tag = "Engineering CE's Office"; dir = 1; pixel_x = 23},/turf/simulated/floor,/area/engine/chiefs_office)
"bVA" = (/obj/table/reinforced{icon_state = "reinf_tabledir"; dir = 6},/obj/item/weapon/clipboard,/obj/item/weapon/stamp/ce,/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5466,8 +5466,8 @@
"cbf" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbg" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbh" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbi" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbj" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbi" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbj" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbk" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbl" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbm" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -6058,8 +6058,8 @@
"cmz" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmA" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmB" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmC" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmD" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmC" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmD" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmE" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmF" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmG" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -6708,7 +6708,7 @@
"cyZ" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/arrival)
"cza" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"czb" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czc" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czc" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czd" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cze" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/derelict/storage/storage_access)
"czf" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -6740,8 +6740,8 @@
"czF" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"czG" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"czH" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czI" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czJ" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czI" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czJ" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czK" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czL" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"czM" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6779,7 +6779,7 @@
"cAs" = (/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAt" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAu" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAv" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAv" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAw" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cAx" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAy" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6798,7 +6798,7 @@
"cAL" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cAM" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAN" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAO" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAO" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAP" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAQ" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAR" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)

View File

@@ -2833,7 +2833,7 @@
"bcy" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcz" = (/obj/stool/bed{pixel_x = 3},/obj/item/weapon/bedsheet{pixel_x = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcA" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/storage/lglo_kit{pixel_x = 2; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcB" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/medical/ointment{pixel_x = 4},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcB" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/stack/medical/ointment{pixel_x = 4},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcC" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcD" = (/obj/morgue,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bcE" = (/obj/morgue,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -5183,7 +5183,7 @@
"bVI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
"bVJ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bVK" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"bVL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVM" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/cable{d1 = 4; d2 = 10; icon_state = "4-10"; tag = "135Right"},/turf/simulated/floor,/area/engine/chiefs_office)
"bVN" = (/obj/table/reinforced{icon_state = "reinf_tabledir"},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/camera{c_tag = "Engineering CE's Office"; dir = 1; pixel_x = 23},/turf/simulated/floor,/area/engine/chiefs_office)
"bVO" = (/obj/table/reinforced{icon_state = "reinf_tabledir"; dir = 6},/obj/item/weapon/clipboard,/obj/item/weapon/stamp/ce,/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5482,8 +5482,8 @@
"cbv" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbw" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbx" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cby" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbz" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cby" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbz" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbA" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbB" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbC" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -6074,8 +6074,8 @@
"cmP" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmQ" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmR" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmS" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmT" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmS" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmT" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmU" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmV" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmW" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -6724,7 +6724,7 @@
"czp" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/arrival)
"czq" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"czr" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czs" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czs" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czt" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"czu" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/storage/storage_access)
"czv" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -6756,8 +6756,8 @@
"czV" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"czW" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"czX" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czY" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czZ" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czY" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czZ" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cAa" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cAb" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cAc" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6795,7 +6795,7 @@
"cAI" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAJ" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAK" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAL" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAL" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAM" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cAN" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAO" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6814,7 +6814,7 @@
"cBb" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cBc" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBd" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBe" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBe" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBf" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBg" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBh" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)

View File

@@ -2889,7 +2889,7 @@
"bdC" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdD" = (/obj/stool/bed{pixel_x = 3},/obj/item/weapon/bedsheet{pixel_x = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdE" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/storage/lglo_kit{pixel_x = 2; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdF" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/medical/ointment{pixel_x = 4},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdF" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/stack/medical/ointment{pixel_x = 4},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdG" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdH" = (/obj/morgue,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bdI" = (/obj/morgue,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -5254,7 +5254,7 @@
"bXb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
"bXc" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bXd" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"bXe" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bXe" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bXf" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
"bXg" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/chiefs_office)
"bXh" = (/obj/table/reinforced{icon_state = "reinf_tabledir"},/obj/machinery/camera{c_tag = "Engineering CE's Office"; dir = 1; pixel_x = 23},/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5553,8 +5553,8 @@
"ccN" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccO" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccP" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccQ" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccR" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccQ" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccR" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccS" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"ccT" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"ccU" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -6145,8 +6145,8 @@
"coh" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coi" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coj" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cok" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"col" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cok" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"col" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"com" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"con" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coo" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -6797,7 +6797,7 @@
"cAJ" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/arrival)
"cAK" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"cAL" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAM" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAM" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAN" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cAO" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/storage/storage_access)
"cAP" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -6829,8 +6829,8 @@
"cBp" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBq" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBr" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBs" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBt" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBs" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBt" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBu" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cBw" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6868,7 +6868,7 @@
"cCc" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCd" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCe" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCf" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCf" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCg" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cCh" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCi" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6887,7 +6887,7 @@
"cCv" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cCw" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCx" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCy" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCy" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCz" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCA" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCB" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
@@ -7809,8 +7809,8 @@
"ccQ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccR" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccS" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccT" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccU" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccT" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccU" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"ccV" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"ccW" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"ccX" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -8401,8 +8401,8 @@
"cok" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"col" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"com" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"con" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coo" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"con" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coo" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cop" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coq" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cor" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -9056,7 +9056,7 @@
"cAP" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/arrival)
"cAQ" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"cAR" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAS" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAS" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAT" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cAU" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/storage/storage_access)
"cAV" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -9088,8 +9088,8 @@
"cBv" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBw" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBx" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBy" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBz" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBy" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBz" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBA" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBB" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cBC" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -9127,7 +9127,7 @@
"cCi" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCj" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCk" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCl" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCl" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCm" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cCn" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCo" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -9146,7 +9146,7 @@
"cCB" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cCC" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCD" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCE" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCE" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCF" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCG" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCH" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)

View File

@@ -2832,7 +2832,7 @@
"bcx" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcy" = (/obj/stool/bed{pixel_x = 3},/obj/item/weapon/bedsheet{pixel_x = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcz" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/storage/lglo_kit{pixel_x = 2; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcA" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/medical/ointment{pixel_x = 4},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcA" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/stack/medical/ointment{pixel_x = 4},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcB" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bcC" = (/obj/morgue,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bcD" = (/obj/morgue,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -5177,7 +5177,7 @@
"bVC" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
"bVD" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bVE" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"bVF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bVG" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/cable{d1 = 4; d2 = 10; icon_state = "4-10"; tag = "135Right"},/turf/simulated/floor,/area/engine/chiefs_office)
"bVH" = (/obj/table/reinforced{icon_state = "reinf_tabledir"},/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/camera{c_tag = "Engineering CE's Office"; dir = 1; pixel_x = 23},/turf/simulated/floor,/area/engine/chiefs_office)
"bVI" = (/obj/table/reinforced{icon_state = "reinf_tabledir"; dir = 6},/obj/item/weapon/clipboard,/obj/item/weapon/stamp/ce,/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5474,8 +5474,8 @@
"cbn" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbo" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbp" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbq" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbr" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbq" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbr" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cbs" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbt" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cbu" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -6066,8 +6066,8 @@
"cmH" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmI" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmJ" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmK" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmL" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmK" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmL" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmM" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmN" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"cmO" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -6716,7 +6716,7 @@
"czh" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/arrival)
"czi" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"czj" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czk" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czk" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czl" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"czm" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/storage/storage_access)
"czn" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -6748,8 +6748,8 @@
"czN" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"czO" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"czP" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"czQ" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czR" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czQ" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"czR" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czS" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"czT" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"czU" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6787,7 +6787,7 @@
"cAA" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAB" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAC" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAD" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAD" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cAE" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cAF" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAG" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6806,7 +6806,7 @@
"cAT" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cAU" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAV" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAW" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAW" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAX" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAY" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cAZ" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)

View File

@@ -2909,7 +2909,7 @@
"bdW" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdX" = (/obj/stool/bed{pixel_x = 3},/obj/item/weapon/bedsheet{pixel_x = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdY" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/storage/lglo_kit{pixel_x = 2; pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdZ" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/medical/ointment{pixel_x = 4},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/weapon/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bdZ" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/stack/medical/ointment{pixel_x = 4},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/obj/item/stack/medical/bruise_pack{pixel_x = -2; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"bea" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/exam_room)
"beb" = (/obj/morgue,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"bec" = (/obj/morgue,/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
@@ -5274,7 +5274,7 @@
"bXv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/engine/engineering)
"bXw" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/requests_console{department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/engine/engineering)
"bXx" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall/r_wall,/area/engine/chiefs_office)
"bXy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bXy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/stack/medical/bruise_pack{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/engine/chiefs_office)
"bXz" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/chiefs_office)
"bXA" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/chiefs_office)
"bXB" = (/obj/table/reinforced{icon_state = "reinf_tabledir"},/obj/machinery/camera{c_tag = "Engineering CE's Office"; dir = 1; pixel_x = 23},/turf/simulated/floor,/area/engine/chiefs_office)
@@ -5574,8 +5574,8 @@
"cdj" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdk" = (/obj/landmark{name = "Syndicate-Spawn"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdl" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdm" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdn" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdm" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdn" = (/obj/machinery/atmospherics/pipe/simple,/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start)
"cdo" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cdp" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/clothing/gloves/yellow,/obj/item/device/radio/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
"cdq" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/infra,/obj/item/device/infra_sensor,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start)
@@ -6167,8 +6167,8 @@
"coE" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coF" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coG" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coH" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/obj/item/weapon/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coI" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/obj/item/weapon/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coH" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coI" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coJ" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/handcuff_kit,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coK" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/storage/toolbox/emergency,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
"coL" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/hand_labeler,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
@@ -6822,7 +6822,7 @@
"cBj" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/arrival)
"cBk" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/morgue)
"cBl" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBm" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBm" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBn" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cBo" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/storage/storage_access)
"cBp" = (/turf/simulated/wall/r_wall,/area/derelict/storage/storage_access)
@@ -6854,8 +6854,8 @@
"cBP" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBQ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel)
"cBR" = (/obj/machinery/door/window{icon = 'windoor.dmi'; dir = 8},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cBS" = (/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBT" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBS" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cBT" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBU" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cBV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical)
"cBW" = (/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6893,7 +6893,7 @@
"cCC" = (/obj/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCD" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCE" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCF" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/weapon/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCF" = (/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical)
"cCG" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical)
"cCH" = (/obj/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCI" = (/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area)
@@ -6912,7 +6912,7 @@
"cCV" = (/obj/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel)
"cCW" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCX" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCY" = (/obj/item/weapon/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCY" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cCZ" = (/obj/machinery/door/firedoor/border_only{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cDa" = (/obj/machinery/door/firedoor/border_only{dir = 1},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)
"cDb" = (/obj/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical)

View File

@@ -636,6 +636,7 @@
#include "code\modules\mob\dead\observer\observer.dm"
#include "code\modules\mob\dead\observer\say.dm"
#include "code\modules\mob\living\say.dm"
#include "code\modules\mob\living\living.dm"
#include "code\modules\mob\living\carbon\carbon.dm"
#include "code\modules\mob\living\carbon\alien\say.dm"
#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"