mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
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:
File diff suppressed because it is too large
Load Diff
@@ -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)
|
||||
|
||||
|
||||
@@ -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...)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
datum/mind
|
||||
var/key
|
||||
var/mob/current
|
||||
var/mob/original
|
||||
var/mob/living/current
|
||||
var/mob/living/original
|
||||
|
||||
var/memory
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -52,6 +52,8 @@
|
||||
|
||||
var/mutantrace = null
|
||||
|
||||
var/list/organs = list( )
|
||||
|
||||
/mob/living/carbon/human/dummy
|
||||
real_name = "Test Dummy"
|
||||
nodamage = 1
|
||||
@@ -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( )
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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]"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -964,4 +964,5 @@
|
||||
s.start()
|
||||
|
||||
new /obj/decal/cleanable/oil(src.loc)
|
||||
unload(0)
|
||||
del(src)
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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()
|
||||
201
code/modules/mob/living/living.dm
Normal file
201
code/modules/mob/living/living.dm
Normal 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()
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user