mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge branch 'master' of github.com:Baystation12/Baystation12
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
return "gibbers, \"[text]\"";
|
||||
|
||||
if(is_speaking_taj)
|
||||
return "mewls, \"[text]\""//pick("yowls, \"[text]\"", "growls, \"[text]\"","mewls, \"[text]\"", "mrowls, \"[text]\"", "meows, \"[text]\"", "purrs, \"[text]\"");
|
||||
return "mrowls, \"[text]\""//pick("yowls, \"[text]\"", "growls, \"[text]\"","mewls, \"[text]\"", "mrowls, \"[text]\"", "meows, \"[text]\"", "purrs, \"[text]\"");
|
||||
|
||||
if (ending == "?")
|
||||
return "asks, \"[text]\"";
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
//convert message to an indecipherable series of sounds for anyone who isnt tajaran
|
||||
/mob/living/carbon/human/tajaran/proc/tajspeak(var/message)
|
||||
return stars(message)
|
||||
//return stars(message)
|
||||
var/te = html_decode(message)
|
||||
var/t = ""
|
||||
var/n = length(message)
|
||||
@@ -215,10 +215,10 @@
|
||||
switch (message_mode)
|
||||
if ("headset")
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:l_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:r_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
@@ -227,10 +227,10 @@
|
||||
|
||||
if ("secure headset")
|
||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
||||
src:l_ear.talk_into(src, message, 1, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:l_ear.talk_into(src, message, 1, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:l_ear
|
||||
else if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, 1, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:r_ear.talk_into(src, message, 1, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
@@ -238,7 +238,7 @@
|
||||
|
||||
if ("right ear")
|
||||
if (src:r_ear)
|
||||
src:r_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:r_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:r_ear
|
||||
|
||||
message_range = 1
|
||||
@@ -246,7 +246,7 @@
|
||||
|
||||
if ("left ear")
|
||||
if (src:l_ear)
|
||||
src:l_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
src:l_ear.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += src:l_ear
|
||||
|
||||
message_range = 1
|
||||
@@ -254,7 +254,7 @@
|
||||
|
||||
if ("intercom")
|
||||
for (var/obj/item/device/radio/intercom/I in view(1, null))
|
||||
I.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "universal"]")
|
||||
I.talk_into(src, message, 0, "[is_speaking_taj ? "tajaran" : "english"]")
|
||||
used_radios += I
|
||||
|
||||
message_range = 1
|
||||
@@ -377,8 +377,8 @@
|
||||
var/list/heard_b = list() // didn't understand us
|
||||
|
||||
for (var/mob/M in listening)
|
||||
//if speaking in tajaran, only let other tajs hear
|
||||
if ( (M.say_understands(src) && !is_speaking_taj) || istype(M,/mob/living/carbon/human/tajaran) )
|
||||
//if speaking in tajaran, only let other tajs understand
|
||||
if ( M.say_understands(src) && (M.taj_talk_understand || !is_speaking_taj) )
|
||||
heard_a += M
|
||||
else
|
||||
heard_b += M
|
||||
@@ -388,7 +388,7 @@
|
||||
|
||||
var/rendered = null
|
||||
if (length(heard_a))
|
||||
var/message_a = say_quote(message,0)
|
||||
var/message_a = say_quote(message,is_speaking_taj)
|
||||
if (italics)
|
||||
message_a = "<i>[message_a]</i>"
|
||||
if (!istype(src, /mob/living/carbon/human))
|
||||
@@ -462,13 +462,8 @@
|
||||
*/
|
||||
|
||||
if (length(heard_b))
|
||||
var/message_b
|
||||
|
||||
if (voice_message)
|
||||
message_b = voice_message
|
||||
else
|
||||
message_b = tajspeak(message)
|
||||
message_b = say_quote(message_b,1)
|
||||
var/message_b = tajspeak(message)
|
||||
message_b = say_quote(message_b,1)
|
||||
|
||||
if (italics)
|
||||
message_b = "<i>[message_b]</i>"
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
icon = 'tajaran.dmi'
|
||||
var/list/tajspeak_letters
|
||||
//
|
||||
universal_speak = 1
|
||||
taj_talk_understand = 1
|
||||
voice_message = "mrowls"
|
||||
|
||||
@@ -38,13 +37,8 @@
|
||||
debug_lefthand = organs["l_hand"]
|
||||
|
||||
var/g = "m"
|
||||
if (gender == MALE)
|
||||
g = "m"
|
||||
else if (gender == FEMALE)
|
||||
if (gender == FEMALE)
|
||||
g = "f"
|
||||
else
|
||||
gender = MALE
|
||||
g = "m"
|
||||
|
||||
spawn (1)
|
||||
if(!stand_icon)
|
||||
@@ -57,6 +51,429 @@
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/tajaran/update_clothing()
|
||||
..()
|
||||
|
||||
if (monkeyizing)
|
||||
return
|
||||
|
||||
overlays = null
|
||||
|
||||
// lol
|
||||
var/fat = ""
|
||||
/*if (mutations & FAT)
|
||||
fat = "fat"*/
|
||||
|
||||
if (mutations & HULK)
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "hulk[fat][!lying ? "_s" : "_l"]")
|
||||
|
||||
if (mutations & COLD_RESISTANCE)
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "fire[fat][!lying ? "_s" : "_l"]")
|
||||
|
||||
if (mutations & TK)
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "telekinesishead[fat][!lying ? "_s" : "_l"]")
|
||||
|
||||
if (mutations & LASER)
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "lasereyes[!lying ? "_s" : "_l"]")
|
||||
|
||||
if (mutantrace)
|
||||
switch(mutantrace)
|
||||
if("lizard","golem","metroid")
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace][fat][!lying ? "_s" : "_l"]")
|
||||
if(face_standing)
|
||||
del(face_standing)
|
||||
if(face_lying)
|
||||
del(face_lying)
|
||||
if(stand_icon)
|
||||
del(stand_icon)
|
||||
if(lying_icon)
|
||||
del(lying_icon)
|
||||
if("plant")
|
||||
if(stat != 2) //if not dead, that is
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace][fat]_[gender][!lying ? "_s" : "_l"]")
|
||||
else
|
||||
overlays += image("icon" = 'genetics.dmi', "icon_state" = "[mutantrace]_d")
|
||||
if(face_standing)
|
||||
del(face_standing)
|
||||
if(face_lying)
|
||||
del(face_lying)
|
||||
if(stand_icon)
|
||||
del(stand_icon)
|
||||
if(lying_icon)
|
||||
del(lying_icon)
|
||||
else
|
||||
if(!face_standing || !face_lying)
|
||||
update_face()
|
||||
if(!stand_icon || !lying_icon)
|
||||
update_body()
|
||||
|
||||
if(buckled)
|
||||
if(istype(buckled, /obj/structure/stool/bed))
|
||||
lying = 1
|
||||
else
|
||||
lying = 0
|
||||
|
||||
// Automatically drop anything in store / id / belt if you're not wearing a uniform.
|
||||
if (!w_uniform)
|
||||
for (var/obj/item/thing in list(r_store, l_store, wear_id, belt))
|
||||
if (thing)
|
||||
u_equip(thing)
|
||||
if (client)
|
||||
client.screen -= thing
|
||||
|
||||
if (thing)
|
||||
thing.loc = loc
|
||||
thing.dropped(src)
|
||||
thing.layer = initial(thing.layer)
|
||||
|
||||
|
||||
//if (zone_sel)
|
||||
// zone_sel.overlays = null
|
||||
// zone_sel.overlays += body_standing
|
||||
// zone_sel.overlays += image("icon" = 'zone_sel.dmi', "icon_state" = text("[]", zone_sel.selecting))
|
||||
|
||||
if (lying)
|
||||
icon = lying_icon
|
||||
|
||||
overlays += body_lying
|
||||
|
||||
if (face_lying)
|
||||
overlays += face_lying
|
||||
else
|
||||
icon = stand_icon
|
||||
|
||||
overlays += body_standing
|
||||
|
||||
if (face_standing)
|
||||
overlays += face_standing
|
||||
|
||||
// Uniform
|
||||
if(w_uniform)
|
||||
/*if (mutations & FAT && !(w_uniform.flags & ONESIZEFITSALL))
|
||||
src << "\red You burst out of the [w_uniform.name]!"
|
||||
var/obj/item/clothing/c = w_uniform
|
||||
u_equip(c)
|
||||
if(client)
|
||||
client.screen -= c
|
||||
if(c)
|
||||
c:loc = loc
|
||||
c:dropped(src)
|
||||
c:layer = initial(c:layer)*/
|
||||
if(w_uniform)//I should really not need these
|
||||
w_uniform.screen_loc = ui_iclothing
|
||||
if(istype(w_uniform, /obj/item/clothing/under))
|
||||
var/t1 = w_uniform.color
|
||||
if (!t1)
|
||||
t1 = icon_state
|
||||
/*if (mutations & FAT)
|
||||
overlays += image("icon" = 'uniform_fat.dmi', "icon_state" = "[t1][!lying ? "_s" : "_l"]", "layer" = MOB_LAYER)
|
||||
else*/
|
||||
overlays += image("icon" = 'uniform.dmi', "icon_state" = text("[][]",t1, (!(lying) ? "_s" : "_l")), "layer" = MOB_LAYER)
|
||||
if (w_uniform.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "uniformblood[!lying ? "" : "2"]")
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
|
||||
if (wear_id)
|
||||
if(wear_id.over_jumpsuit)
|
||||
overlays += image("icon" = 'mob.dmi', "icon_state" = "id[!lying ? null : "2"]", "layer" = MOB_LAYER)
|
||||
|
||||
if (client)
|
||||
client.screen -= hud_used.intents
|
||||
client.screen -= hud_used.mov_int
|
||||
|
||||
|
||||
//Screenlocs for these slots are handled by the huds other_update()
|
||||
//because theyre located on the 'other' inventory bar.
|
||||
|
||||
// Gloves
|
||||
var/datum/organ/external/lo = organs["l_hand"]
|
||||
var/datum/organ/external/ro = organs["r_hand"]
|
||||
if (!lo.destroyed || !ro.destroyed)
|
||||
if (gloves)
|
||||
var/t1 = gloves.item_state
|
||||
if (!t1)
|
||||
t1 = gloves.icon_state
|
||||
var/icon/gloves_icon = new /icon("icon" = 'hands.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
|
||||
if(lo.destroyed)
|
||||
gloves_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
else if(ro.destroyed)
|
||||
gloves_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
overlays += image(gloves_icon, "layer" = MOB_LAYER)
|
||||
if (gloves.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
|
||||
if(lo.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
else if(ro.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
else if (blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
|
||||
if(lo.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
else if(ro.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
// Glasses
|
||||
if (glasses)
|
||||
var/t1 = glasses.icon_state
|
||||
overlays += image("icon" = 'eyes.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
// Ears
|
||||
if (l_ear)
|
||||
var/t1 = l_ear.icon_state
|
||||
overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
if (r_ear)
|
||||
var/t1 = r_ear.icon_state
|
||||
overlays += image("icon" = 'ears.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
// Shoes
|
||||
lo = organs["l_foot"]
|
||||
ro = organs["r_foot"]
|
||||
if ((!lo.destroyed || !ro.destroyed) && shoes)
|
||||
var/t1 = shoes.icon_state
|
||||
var/icon/shoes_icon = new /icon("icon" = 'feet.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
|
||||
if(lo.destroyed && !lying)
|
||||
shoes_icon.Blend(new /icon('limb_mask.dmi', "right[lying?"_l":""]"), ICON_MULTIPLY)
|
||||
else if(ro.destroyed && !lying)
|
||||
shoes_icon.Blend(new /icon('limb_mask.dmi', "left[lying?"_l":""]"), ICON_MULTIPLY)
|
||||
overlays += image(shoes_icon, "layer" = MOB_LAYER)
|
||||
if (shoes.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "shoesblood[!lying ? "" : "2"]")
|
||||
if(lo.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
else if(ro.destroyed)
|
||||
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER) // Radio
|
||||
/* if (w_radio)
|
||||
overlays += image("icon" = 'ears.dmi', "icon_state" = "headset[!lying ? "" : "2"]", "layer" = MOB_LAYER) */
|
||||
|
||||
if (s_store)
|
||||
var/t1 = s_store.item_state
|
||||
if (!t1)
|
||||
t1 = s_store.icon_state
|
||||
if(!istype(wear_suit, /obj/item/clothing/suit/storage/armoredundersuit))
|
||||
overlays += image("icon" = 'belt_mirror.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
s_store.screen_loc = ui_sstore1
|
||||
|
||||
if (h_store)
|
||||
h_store.screen_loc = ui_hstore1
|
||||
|
||||
if(client) hud_used.other_update() //Update the screenloc of the items on the 'other' inventory bar
|
||||
//to hide / show them.
|
||||
if (client)
|
||||
if (i_select)
|
||||
if (intent)
|
||||
client.screen += hud_used.intents
|
||||
|
||||
var/list/L = dd_text2list(intent, ",")
|
||||
L[1] += ":-11"
|
||||
i_select.screen_loc = dd_list2text(L,",") //ICONS4, FUCKING SHIT
|
||||
else
|
||||
i_select.screen_loc = null
|
||||
if (m_select)
|
||||
if (m_int)
|
||||
client.screen += hud_used.mov_int
|
||||
|
||||
var/list/L = dd_text2list(m_int, ",")
|
||||
L[1] += ":-11"
|
||||
m_select.screen_loc = dd_list2text(L,",") //ICONS4, FUCKING SHIT
|
||||
else
|
||||
m_select.screen_loc = null
|
||||
|
||||
var/tail_shown = 1
|
||||
if (wear_suit)
|
||||
/*if (mutations & FAT && !(wear_suit.flags & ONESIZEFITSALL))
|
||||
src << "\red You burst out of the [wear_suit.name]!"
|
||||
var/obj/item/clothing/c = wear_suit
|
||||
u_equip(c)
|
||||
if(client)
|
||||
client.screen -= c
|
||||
if(c)
|
||||
c:loc = loc
|
||||
c:dropped(src)
|
||||
c:layer = initial(c:layer)*/
|
||||
if (istype(wear_suit, /obj/item/clothing/suit))
|
||||
var/t1 = wear_suit.icon_state
|
||||
overlays += image("icon" = 'suit.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
if (wear_suit)
|
||||
if (wear_suit.blood_DNA.len)
|
||||
var/icon/stain_icon = null
|
||||
if (istype(wear_suit, /obj/item/clothing/suit/armor/vest || /obj/item/clothing/suit/storage/wcoat))
|
||||
stain_icon = icon('blood.dmi', "armorblood[!lying ? "" : "2"]")
|
||||
else if (istype(wear_suit, /obj/item/clothing/suit/storage/det_suit || /obj/item/clothing/suit/storage/labcoat))
|
||||
stain_icon = icon('blood.dmi', "coatblood[!lying ? "" : "2"]")
|
||||
else
|
||||
stain_icon = icon('blood.dmi', "suitblood[!lying ? "" : "2"]")
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
wear_suit.screen_loc = ui_oclothing
|
||||
if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
|
||||
if (handcuffed)
|
||||
handcuffed.loc = loc
|
||||
handcuffed.layer = initial(handcuffed.layer)
|
||||
handcuffed = null
|
||||
if ((l_hand || r_hand))
|
||||
var/h = hand
|
||||
hand = 1
|
||||
drop_item()
|
||||
hand = 0
|
||||
drop_item()
|
||||
hand = h
|
||||
//if wearing some suits, hide the tail
|
||||
if ( istype(wear_suit, /obj/item/clothing/suit/bio_suit) || istype(wear_suit, /obj/item/clothing/suit/bomb_suit) || istype(wear_suit, /obj/item/clothing/suit/space) )
|
||||
tail_shown = 0
|
||||
if(tail_shown)
|
||||
overlays += image("icon" = icon('tajaran.dmi', "tail_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
|
||||
|
||||
if (lying)
|
||||
if (face_lying)
|
||||
overlays += face_lying
|
||||
else
|
||||
if (face_standing)
|
||||
overlays += face_standing
|
||||
|
||||
if (wear_mask)
|
||||
if (istype(wear_mask, /obj/item/clothing/mask))
|
||||
var/t1 = wear_mask.icon_state
|
||||
overlays += image("icon" = 'mask.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
if (!istype(wear_mask, /obj/item/clothing/mask/cigarette))
|
||||
if (wear_mask.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "maskblood[!lying ? "" : "2"]")
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
wear_mask.screen_loc = ui_mask
|
||||
|
||||
// Head
|
||||
if (head)
|
||||
var/t1 = head.icon_state
|
||||
var/icon/head_icon = icon('head.dmi', text("[][]", t1, (!( lying ) ? null : "2")))
|
||||
if(istype(head,/obj/item/clothing/head/kitty))
|
||||
head_icon = (( lying ) ? head:mob2 : head:mob)
|
||||
overlays += image("icon" = head_icon, "layer" = MOB_LAYER)
|
||||
if(gimmick_hat)
|
||||
overlays += image("icon" = icon('gimmick_head.dmi', "[gimmick_hat][!lying ? "" : "2"]"), "layer" = MOB_LAYER)
|
||||
if (head.blood_DNA.len)
|
||||
var/icon/stain_icon = icon('blood.dmi', "helmetblood[!lying ? "" : "2"]")
|
||||
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
|
||||
head.screen_loc = ui_head
|
||||
else
|
||||
//if not wearing anything on the head, show the ears
|
||||
overlays += image("icon" = icon('tajaran.dmi', "ears_[gender==FEMALE ? "f" : "m"]_[lying ? "l" : "s"]"), "layer" = MOB_LAYER)
|
||||
|
||||
// Belt
|
||||
if (belt)
|
||||
var/t1 = belt.item_state
|
||||
if (!t1)
|
||||
t1 = belt.icon_state
|
||||
overlays += image("icon" = 'belt.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
belt.screen_loc = ui_belt
|
||||
|
||||
if ((wear_mask && !(wear_mask.see_face)) || (head && !(head.see_face))) // can't see the face
|
||||
if (wear_id)
|
||||
if (istype(wear_id, /obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/id = wear_id
|
||||
if (id.registered_name)
|
||||
name = id.registered_name
|
||||
else
|
||||
name = "Unknown"
|
||||
else if (istype(wear_id, /obj/item/device/pda))
|
||||
var/obj/item/device/pda/pda = wear_id
|
||||
if (pda.owner)
|
||||
name = pda.owner
|
||||
else
|
||||
name = "Unknown"
|
||||
else
|
||||
name = "Unknown"
|
||||
else
|
||||
if (wear_id)
|
||||
if (istype(wear_id, /obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/id = wear_id
|
||||
if (id.registered_name != real_name)
|
||||
name = "[real_name] (as [id.registered_name])"
|
||||
|
||||
|
||||
else if (istype(wear_id, /obj/item/device/pda))
|
||||
var/obj/item/device/pda/pda = wear_id
|
||||
if (pda.owner)
|
||||
if (pda.owner != real_name)
|
||||
name = "[real_name] (as [pda.owner])"
|
||||
else
|
||||
name = real_name
|
||||
|
||||
if (wear_id)
|
||||
wear_id.screen_loc = ui_id
|
||||
|
||||
if (l_store)
|
||||
l_store.screen_loc = ui_storage1
|
||||
|
||||
if (r_store)
|
||||
r_store.screen_loc = ui_storage2
|
||||
|
||||
if (back)
|
||||
var/t1 = back.icon_state
|
||||
overlays += image("icon" = 'back.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
|
||||
back.screen_loc = ui_back
|
||||
|
||||
if (handcuffed)
|
||||
pulling = null
|
||||
if (!lying)
|
||||
overlays += image("icon" = 'mob.dmi', "icon_state" = "handcuff1", "layer" = MOB_LAYER)
|
||||
else
|
||||
overlays += image("icon" = 'mob.dmi', "icon_state" = "handcuff2", "layer" = MOB_LAYER)
|
||||
|
||||
if (client)
|
||||
client.screen -= contents
|
||||
client.screen += contents
|
||||
|
||||
if (r_hand)
|
||||
overlays += image("icon" = 'items_righthand.dmi', "icon_state" = r_hand.item_state ? r_hand.item_state : r_hand.icon_state, "layer" = MOB_LAYER+1)
|
||||
|
||||
r_hand.screen_loc = ui_rhand
|
||||
|
||||
if (l_hand)
|
||||
overlays += image("icon" = 'items_lefthand.dmi', "icon_state" = l_hand.item_state ? l_hand.item_state : l_hand.icon_state, "layer" = MOB_LAYER+1)
|
||||
|
||||
l_hand.screen_loc = ui_lhand
|
||||
|
||||
var/shielded = 0
|
||||
for (var/obj/item/weapon/cloaking_device/S in src)
|
||||
if (S.active)
|
||||
shielded = 2
|
||||
break
|
||||
|
||||
if(istype(wear_suit, /obj/item/clothing/suit/space/space_ninja)&&wear_suit:s_active)
|
||||
shielded = 3
|
||||
|
||||
switch(shielded)
|
||||
if(1)
|
||||
overlays += image("icon" = 'effects.dmi', "icon_state" = "shield", "layer" = MOB_LAYER+1)
|
||||
if(2)
|
||||
invisibility = 2
|
||||
//New stealth. Hopefully doesn't lag too much. /N
|
||||
if(istype(loc, /turf))//If they are standing on a turf.
|
||||
AddCamoOverlay(loc)//Overlay camo.
|
||||
if(3)
|
||||
if(istype(loc, /turf))
|
||||
//Ninjas may flick into view once in a while if they are stealthed.
|
||||
if(prob(90))
|
||||
NinjaStealthActive(loc)
|
||||
else
|
||||
NinjaStealthMalf()
|
||||
else
|
||||
invisibility = 0
|
||||
|
||||
if(client && client.admin_invis)
|
||||
invisibility = 100
|
||||
else if (shielded == 2)
|
||||
invisibility = 2
|
||||
else
|
||||
invisibility = 0
|
||||
|
||||
/*
|
||||
for (var/mob/M in viewers(1, src))//For the love of god DO NOT REFRESH EVERY SECOND - Mport
|
||||
if ((M.client && M.machine == src))
|
||||
spawn (0)
|
||||
show_inv(M)
|
||||
return
|
||||
*/
|
||||
last_b_state = stat
|
||||
|
||||
/mob/living/carbon/human/tajaran/update_body()
|
||||
if(stand_icon)
|
||||
del(stand_icon)
|
||||
@@ -130,6 +547,7 @@
|
||||
stand_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY)
|
||||
lying_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_l"), ICON_OVERLAY)
|
||||
|
||||
|
||||
/mob/living/carbon/human/tajaran/update_face()
|
||||
if(organs)
|
||||
var/datum/organ/external/head = organs["head"]
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@@ -84,7 +84,7 @@
|
||||
var/list/heard_b = list() // didn't understand us
|
||||
|
||||
for (var/mob/M in listening)
|
||||
if (M.say_understands(src))
|
||||
if ( M.say_understands(src) && (M.taj_talk_understand || !is_speaking_taj) )
|
||||
heard_a += M
|
||||
else
|
||||
heard_b += M
|
||||
@@ -93,9 +93,9 @@
|
||||
|
||||
for (var/mob/M in watching)
|
||||
if ( (M.say_understands(src) && !is_speaking_taj) || istype(M,/mob/living/carbon/human/tajaran) )
|
||||
rendered = "<span class='game say'><span class='name'>[src.name]</span> whispers something.</span>"
|
||||
rendered = "<span class='game say'><span class='name'>[src.name]</span> [is_speaking_taj ? "quietly mrowls" : "whispers"] something.</span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> whispers something.</span>"
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> [is_speaking_taj ? "quietly mrowls" : "whispers"] something.</span>"
|
||||
M.show_message(rendered, 2)
|
||||
|
||||
if (length(heard_a))
|
||||
@@ -105,14 +105,14 @@
|
||||
message_a = "<i>[message_a]</i>"
|
||||
//This appears copied from carbon/living say.dm so the istype check for mob is probably not needed. Appending for src is also not needed as the game will check that automatically.
|
||||
if (!istype(src, /mob/living/carbon/human))
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message_a]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message_a]\"</span></span>"
|
||||
else if (istype(wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||
if (wear_mask:vchange)
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> whispers, <span class='message'>\"[message_a]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message_a]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message_a]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message_a]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] whispers, <span class='message'>\"[message_a]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message_a]\"</span></span>"
|
||||
|
||||
for (var/mob/M in heard_a)
|
||||
M.show_message(rendered, 2)
|
||||
@@ -120,49 +120,45 @@
|
||||
if (length(heard_b))
|
||||
var/message_b
|
||||
|
||||
if (src.voice_message)
|
||||
message_b = src.voice_message
|
||||
else
|
||||
message_b = stars(message)
|
||||
message_b = tajspeak(message)
|
||||
|
||||
if (italics)
|
||||
message_b = "<i>[message_b]</i>"
|
||||
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> whispers, <span class='message'>\"[message_b]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> mrows quietly, <span class='message'>\"[message_b]\"</span></span>"
|
||||
|
||||
for (var/mob/M in heard_b)
|
||||
M.show_message(rendered, 2)
|
||||
|
||||
for (var/mob/M in eavesdropping)
|
||||
if (M.say_understands(src))
|
||||
var/message_c
|
||||
message_c = stars(message)
|
||||
var/message_c = tajspeak(message)
|
||||
if (!istype(src, /mob/living/carbon/human))
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message_c]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> mrowls quietly, <span class='message'>\"[message_c]\"</span></span>"
|
||||
else if(istype(wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||
if(wear_mask:vchange)
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> whispers, <span class='message'>\"[message_c]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> mrowls quietly, <span class='message'>\"[message_c]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message_c]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> mrowls quietly, <span class='message'>\"[message_c]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] whispers, <span class='message'>\"[message_c]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] mrowls quietly, <span class='message'>\"[message_c]\"</span></span>"
|
||||
M.show_message(rendered, 2)
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> whispers something.</span>"
|
||||
rendered = "<span class='game say'><span class='name'>[src.voice_name]</span> quietly mrowls something.</span>"
|
||||
M.show_message(rendered, 2)
|
||||
|
||||
if (italics)
|
||||
message = "<i>[message]</i>"
|
||||
|
||||
if (!istype(src, /mob/living/carbon/human))
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message]\"</span></span>"
|
||||
else if (istype(src.wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||
if(wear_mask:vchange)
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> whispers, <span class='message'>\"[message]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[wear_mask:voice]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> whispers, <span class='message'>\"[message]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[name]</span> [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message]\"</span></span>"
|
||||
else
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] whispers, <span class='message'>\"[message]\"</span></span>"
|
||||
rendered = "<span class='game say'><span class='name'>[real_name]</span>[alt_name] [is_speaking_taj ? "mrowls quietly" : "whispers"], <span class='message'>\"[message]\"</span></span>"
|
||||
|
||||
for (var/mob/M in world)
|
||||
if (istype(M, /mob/new_player))
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 15
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
response_help = "pets "
|
||||
response_disarm = "gently pushes aside "
|
||||
response_harm = "kicks "
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
var/max_nutrition = 100 // different animals get hungry faster, basically number of 5-second steps from full to starving (60 == 5 minutes)
|
||||
var/nutrition_step // cycle step in nutrition system
|
||||
var/obj/movement_target // eating-ing target
|
||||
@@ -17,6 +17,9 @@
|
||||
if(!nutrition)
|
||||
nutrition = max_nutrition * 0.33 // at 1/3 nutrition
|
||||
|
||||
reagents = new()
|
||||
reagents.my_atom = src
|
||||
|
||||
Life()
|
||||
..()
|
||||
|
||||
@@ -38,12 +41,14 @@
|
||||
if(nutrition >= max_nutrition)
|
||||
return
|
||||
|
||||
if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
|
||||
if((movement_target) && !(isturf(movement_target.loc)))
|
||||
movement_target = null
|
||||
stop_automated_movement = 0
|
||||
a_intent = "help"
|
||||
turns_per_move = initial(turns_per_move)
|
||||
if( !movement_target || !(movement_target.loc in oview(src, 3)) )
|
||||
movement_target = null
|
||||
stop_automated_movement = 0
|
||||
a_intent = "help"
|
||||
turns_per_move = initial(turns_per_move)
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3))
|
||||
if(isturf(S.loc) || ishuman(S.loc))
|
||||
movement_target = S
|
||||
|
||||
@@ -9,6 +9,8 @@ datum/mind
|
||||
var/assigned_role
|
||||
var/special_role
|
||||
|
||||
var/role_alt_title
|
||||
|
||||
var/datum/job/assigned_job
|
||||
|
||||
var/list/datum/objective/objectives = list()
|
||||
@@ -287,6 +289,7 @@ datum/mind
|
||||
var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in get_all_jobs()
|
||||
if (!new_role) return
|
||||
assigned_role = new_role
|
||||
role_alt_title = null
|
||||
|
||||
else if (href_list["memory_edit"])
|
||||
var/new_memo = input("Write new memory", "Memory", memory) as null|message
|
||||
@@ -345,7 +348,7 @@ datum/mind
|
||||
new_objective.owner = src
|
||||
new_objective:target = new_target:mind
|
||||
//Will display as special role if the target is set as MODE. Ninjas/commandos/nuke ops.
|
||||
new_objective.explanation_text = "[objective_type] [new_target:real_name], the [new_target:mind:assigned_role=="MODE" ? (new_target:mind:special_role) : (new_target:mind:assigned_role)]."
|
||||
new_objective.explanation_text = "[objective_type] [new_target:real_name], the [new_target:mind:assigned_role=="MODE" ? (new_target:mind:special_role) : (new_target:mind:role_alt_title ? new_target:mind:role_alt_title : new_target:mind:assigned_role)]."
|
||||
|
||||
if ("hijack")
|
||||
new_objective = new /datum/objective/hijack
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
var/lasttry = 0
|
||||
layer = 2.8
|
||||
|
||||
/obj/structure/closet/detective
|
||||
name = "Detective's Closet"
|
||||
desc = "Holds the detective's clothes while his coat rack is being repaired."
|
||||
|
||||
/obj/structure/closet/acloset
|
||||
name = "Strange closet"
|
||||
desc = "It looks weird!"
|
||||
@@ -280,7 +284,11 @@
|
||||
|
||||
/obj/structure/closet/jcloset
|
||||
name = "Custodial Closet"
|
||||
desc = "A bulky (yet mobile) closet. Comes with janitor's clothes and gear."
|
||||
desc = "A bulky (yet mobile) closet. Contains the janitor's gear."
|
||||
|
||||
/obj/structure/closet/jcloset2
|
||||
name = "Cleaner's Closet"
|
||||
desc = "A bulky (yet mobile) closet. Contains various items for cleaning."
|
||||
|
||||
/obj/structure/closet/lawcloset
|
||||
name = "Legal Closet"
|
||||
@@ -536,10 +544,28 @@
|
||||
|
||||
/obj/structure/closet/wardrobe/red
|
||||
name = "Red Wardrobe"
|
||||
desc = "Contains red jumpsuits."
|
||||
desc = "Contains red security jumpsuits."
|
||||
icon_state = "red"
|
||||
icon_closed = "red"
|
||||
|
||||
/obj/structure/closet/wardrobe/warden
|
||||
name = "Warden's Wardrobe"
|
||||
desc = "Contains the warden's security uniform."
|
||||
icon_state = "red"
|
||||
icon_closed = "red"
|
||||
|
||||
/obj/structure/closet/wardrobe/hos
|
||||
name = "Head of Security's Wardrobe"
|
||||
desc = "Contains the Head of Security's uniform."
|
||||
icon_state = "red"
|
||||
icon_closed = "red"
|
||||
|
||||
/obj/structure/closet/wardrobe/hop
|
||||
name = "Head of Personnel's Wardrobe"
|
||||
desc = "Contains the Head of Personnel's uniform."
|
||||
icon_state = "blue"
|
||||
icon_closed = "blue"
|
||||
|
||||
/obj/structure/closet/wardrobe/white
|
||||
name = "White Wardrobe"
|
||||
desc = "Contains white jumpsuits."
|
||||
@@ -564,11 +590,47 @@
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/chemistry_white
|
||||
name = "Chemistry Wardrobe"
|
||||
desc = "Contains chemistry jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/nurse
|
||||
name = "Nurse's Wardrobe"
|
||||
desc = "Contains nurse uniforms."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/cmo
|
||||
name = "Chief Medical Officer's Wardrobe"
|
||||
desc = "Contains the Chief Medical Officer's clothing."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/rd
|
||||
name = "Research Director's Wardrobe"
|
||||
desc = "Contains the Research Director's clothing."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/scientist
|
||||
name = "Scientist's Wardrobe"
|
||||
desc = "Contains the scientist's clothing."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/virology_white
|
||||
name = "Virology Wardrobe"
|
||||
desc = "Contains virologist jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/yellow
|
||||
name = "Yellow Wardrobe"
|
||||
desc = "Contains yellow jumpsuits."
|
||||
icon_state = "wardrobe-y"
|
||||
icon_closed = "wardrobe-y"
|
||||
icon_state = "yellow"
|
||||
icon_closed = "yellow"
|
||||
|
||||
/obj/structure/closet/wardrobe/engineering_yellow
|
||||
name = "Engineering Wardrobe"
|
||||
@@ -630,12 +692,6 @@
|
||||
icon_state = "yellow"
|
||||
icon_closed = "yellow"
|
||||
|
||||
/obj/structure/closet/wardrobe/virology_white
|
||||
name = "Virology Wardrobe"
|
||||
desc = "Contains virologist jumpsuits."
|
||||
icon_state = "white"
|
||||
icon_closed = "white"
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
*/
|
||||
|
||||
var/list/DisallowedEvents = list(/datum/event/spaceninja, /datum/event/prisonbreak, /datum/event/immovablerod, /datum/event/gravitationalanomaly, /datum/event/alieninfestation)
|
||||
var/list/DisallowedEvents = list(/datum/event/spaceninja, /datum/event/prisonbreak, /datum/event/immovablerod, /datum/event/gravitationalanomaly, /datum/event/alieninfestation, /datum/event/meteorstorm)
|
||||
var/list/EventTypes = typesof(/datum/event) - /datum/event - DisallowedEvents
|
||||
var/list/OneTimeEvents = list(/datum/event/spacecarp, /datum/event/miniblob)
|
||||
var/datum/event/ActiveEvent = null
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
explanation = "Our knowledge must live on. Make sure at least [acolytes_needed] acolytes escape on the shuttle to spread their work on an another station."
|
||||
if("sacrifice")
|
||||
if(sacrifice_target && sacrifice_target.current)
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. You will need the sacrifice rune (Hell blood join) and three acolytes to do so."
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.role_alt_title ? sacrifice_target.role_alt_title : sacrifice_target.assigned_role]. You will need the sacrifice rune (Hell blood join) and three acolytes to do so."
|
||||
else
|
||||
explanation = "Free objective."
|
||||
if("eldergod")
|
||||
@@ -307,9 +307,9 @@
|
||||
explanation = "Free objective"
|
||||
else
|
||||
if(sacrificed.Find(sacrifice_target))
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. \green <b>Success!</b>"
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.role_alt_title ? sacrifice_target.role_alt_title : sacrifice_target.assigned_role]. \green <b>Success!</b>"
|
||||
else if(sacrifice_target && sacrifice_target.current)
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. \red Failed."
|
||||
explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.role_alt_title ? sacrifice_target.role_alt_title : sacrifice_target.assigned_role]. \red Failed."
|
||||
else
|
||||
explanation = "Sacrifice Unknown, the Unknown whos body was likely gibbed. \red Failed."
|
||||
if("eldergod")
|
||||
|
||||
@@ -33,7 +33,7 @@ datum/objective/decapitate
|
||||
find_target()
|
||||
..()
|
||||
if(target && target.current)
|
||||
explanation_text = "[target.current.real_name], the [target.assigned_role], has defied us for the last time. Make an example of him, and bring us his severed head."
|
||||
explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role], has defied us for the last time. Make an example of him, and bring us his severed head."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -42,7 +42,7 @@ datum/objective/decapitate
|
||||
find_target_by_role(role, role_type=0)
|
||||
..(role, role_type)
|
||||
if(target && target.current)
|
||||
explanation_text = "[target.current.real_name], the [!role_type ? target.assigned_role : target.special_role], has defied us for the last time. Make an example of him, and bring us his severed head."
|
||||
explanation_text = "[target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)], has defied us for the last time. Make an example of him, and bring us his severed head."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -66,7 +66,7 @@ datum/objective/assassinate
|
||||
find_target()
|
||||
..()
|
||||
if(target && target.current)
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.assigned_role]."
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -75,7 +75,7 @@ datum/objective/assassinate
|
||||
find_target_by_role(role, role_type=0)
|
||||
..(role, role_type)
|
||||
if(target && target.current)
|
||||
explanation_text = "Assassinate [target.current.real_name], the [!role_type ? target.assigned_role : target.special_role]."
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -96,7 +96,7 @@ datum/objective/mutiny
|
||||
find_target()
|
||||
..()
|
||||
if(target && target.current)
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.assigned_role]."
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -105,7 +105,7 @@ datum/objective/mutiny
|
||||
find_target_by_role(role, role_type=0)
|
||||
..(role, role_type)
|
||||
if(target && target.current)
|
||||
explanation_text = "Assassinate [target.current.real_name], the [!role_type ? target.assigned_role : target.special_role]."
|
||||
explanation_text = "Assassinate [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -138,7 +138,7 @@ datum/objective/debrain//I want braaaainssss
|
||||
find_target_by_role(role, role_type=0)
|
||||
..(role, role_type)
|
||||
if(target && target.current)
|
||||
explanation_text = "Steal the brain of [target.current.real_name] the [!role_type ? target.assigned_role : target.special_role]."
|
||||
explanation_text = "Steal the brain of [target.current.real_name] the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -162,7 +162,7 @@ datum/objective/protect//The opposite of killing a dude.
|
||||
find_target()
|
||||
..()
|
||||
if(target && target.current)
|
||||
explanation_text = "Protect [target.current.real_name], the [target.assigned_role]."
|
||||
explanation_text = "Protect [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : target.assigned_role]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
@@ -171,7 +171,7 @@ datum/objective/protect//The opposite of killing a dude.
|
||||
find_target_by_role(role, role_type=0)
|
||||
..(role, role_type)
|
||||
if(target && target.current)
|
||||
explanation_text = "Protect [target.current.real_name], the [!role_type ? target.assigned_role : target.special_role]."
|
||||
explanation_text = "Protect [target.current.real_name], the [target.role_alt_title ? target.role_alt_title : (!role_type ? target.assigned_role : target.special_role)]."
|
||||
else
|
||||
explanation_text = "Free Objective"
|
||||
return target
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
var/datum/objective/assassinate/rev_obj = new
|
||||
rev_obj.owner = rev_mind
|
||||
rev_obj.target = head_mind
|
||||
rev_obj.explanation_text = "Assassinate [head_mind.current.real_name], the [head_mind.assigned_role]."
|
||||
rev_obj.explanation_text = "Assassinate [head_mind.current.real_name], the [head_mind.role_alt_title ? head_mind.role_alt_title : head_mind.assigned_role]."
|
||||
rev_mind.objectives += rev_obj
|
||||
|
||||
equip_traitor(rev_mind.current, 1) //changing how revs get assigned their uplink so they can get PDA uplinks. --NEO
|
||||
@@ -102,7 +102,7 @@
|
||||
var/datum/objective/mutiny/rev_obj = new
|
||||
rev_obj.owner = rev_mind
|
||||
rev_obj.target = head_mind
|
||||
rev_obj.explanation_text = "Assassinate [head_mind.current.real_name], the [head_mind.assigned_role]."
|
||||
rev_obj.explanation_text = "Assassinate [head_mind.current.real_name], the [head_mind.role_alt_title ? head_mind.role_alt_title : head_mind.assigned_role]."
|
||||
rev_mind.objectives += rev_obj
|
||||
|
||||
/datum/game_mode/proc/greet_revolutionary(var/datum/mind/rev_mind, var/you_are=1)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
total_positions = 1
|
||||
spawn_positions = 1
|
||||
supervisors = "the head of personnel"
|
||||
alt_titles = list("Counselor")
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
@@ -19,7 +20,7 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes)
|
||||
spawn(0)
|
||||
var/religion_name = "Christianity"
|
||||
var/new_religion = input(H, "You are the Chaplain. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name)
|
||||
var/new_religion = input(H, "You are the Chaplain / Councelor. For game mechanics purposes, you need to choose a religion either way. Would you like to change your religion? Default is Christianity, in SPACE.", "Name change", religion_name)
|
||||
|
||||
if ((length(new_religion) == 0) || (new_religion == "Christianity"))
|
||||
new_religion = religion_name
|
||||
|
||||
@@ -22,5 +22,8 @@
|
||||
//Supervisors, who this person answers to directly
|
||||
var/supervisors = ""
|
||||
|
||||
//List of alternate titles, if any
|
||||
var/list/alt_titles
|
||||
|
||||
/datum/job/proc/equip(var/mob/living/carbon/human/H)
|
||||
return 1
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
total_positions = 5
|
||||
spawn_positions = 3
|
||||
supervisors = "the chief medical officer"
|
||||
alt_titles = list("Virologist", "Surgeon")
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
@@ -68,7 +69,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
/*
|
||||
/datum/job/virologist
|
||||
title = "Virologist"
|
||||
flag = VIROLOGIST
|
||||
@@ -90,5 +91,5 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat/virologist(H), H.slot_wear_suit)
|
||||
H.equip_if_possible(new /obj/item/device/flashlight/pen(H), H.slot_s_store)
|
||||
return 1
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
total_positions = 5
|
||||
spawn_positions = 3
|
||||
supervisors = "the research director"
|
||||
alt_titles = list("Plasma Researcher", "Xenobiologist")
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
total_positions = 1
|
||||
spawn_positions = 1
|
||||
supervisors = "the head of security"
|
||||
alt_titles = list("Forensic Technician")
|
||||
|
||||
|
||||
equip(var/mob/living/carbon/human/H)
|
||||
|
||||
@@ -44,6 +44,10 @@ var/global/datum/controller/occupations/job_master
|
||||
return null
|
||||
|
||||
|
||||
proc/GetAltTitle(mob/new_player/player, rank)
|
||||
return player.preferences.GetAltTitle(GetJob(rank))
|
||||
|
||||
|
||||
proc/AssignRole(var/mob/new_player/player, var/rank, var/latejoin = 0)
|
||||
Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]")
|
||||
if((player) && (player.mind) && (rank))
|
||||
@@ -56,6 +60,7 @@ var/global/datum/controller/occupations/job_master
|
||||
if((job.current_positions < position_limit) || position_limit == -1)
|
||||
Debug("Player: [player] is now Rank: [rank], JCP:[job.current_positions], JPL:[position_limit]")
|
||||
player.mind.assigned_role = rank
|
||||
player.mind.role_alt_title = GetAltTitle(player, rank)
|
||||
unassigned -= player
|
||||
job.current_positions++
|
||||
return 1
|
||||
@@ -83,6 +88,7 @@ var/global/datum/controller/occupations/job_master
|
||||
for(var/mob/new_player/player in world)
|
||||
if((player) && (player.mind))
|
||||
player.mind.assigned_role = null
|
||||
player.mind.role_alt_title = null
|
||||
player.mind.special_role = null
|
||||
SetupOccupations()
|
||||
unassigned = list()
|
||||
@@ -207,12 +213,16 @@ var/global/datum/controller/occupations/job_master
|
||||
else
|
||||
H << "Your job is [rank] and the game just can't handle it! Please report this bug to an administrator."
|
||||
|
||||
spawnId(H,rank)
|
||||
if(H.mind.assigned_role == rank && H.mind.role_alt_title)
|
||||
spawnId(H, rank, H.mind.role_alt_title)
|
||||
else
|
||||
spawnId(H, rank)
|
||||
H << "<B>You are the [rank].</B>"
|
||||
H << "<b>As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.</b>"
|
||||
H.job = rank
|
||||
if(H.mind)
|
||||
if(H.mind && H.mind.assigned_role != rank)
|
||||
H.mind.assigned_role = rank
|
||||
H.mind.role_alt_title = null
|
||||
|
||||
if(!joined_late && rank != "Tourist")
|
||||
var/obj/S = null
|
||||
@@ -239,8 +249,9 @@ var/global/datum/controller/occupations/job_master
|
||||
return 1
|
||||
|
||||
|
||||
proc/spawnId(var/mob/living/carbon/human/H, rank)
|
||||
proc/spawnId(var/mob/living/carbon/human/H, rank, title)
|
||||
if(!H) return 0
|
||||
if(!title) title = rank
|
||||
var/obj/item/weapon/card/id/C = null
|
||||
switch(rank)
|
||||
if("Cyborg")
|
||||
@@ -251,9 +262,9 @@ var/global/datum/controller/occupations/job_master
|
||||
C = new /obj/item/weapon/card/id(H)
|
||||
if(C)
|
||||
C.registered_name = H.real_name
|
||||
C.assignment = rank
|
||||
C.assignment = title
|
||||
C.name = "[C.registered_name]'s ID Card ([C.assignment])"
|
||||
C.access = get_access(C.assignment)
|
||||
C.access = get_access(rank)
|
||||
H.equip_if_possible(C, H.slot_wear_id)
|
||||
if(!H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_r_store))
|
||||
H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_ears)
|
||||
|
||||
@@ -22,7 +22,6 @@ var/const
|
||||
CMO =(1<<3)
|
||||
DOCTOR =(1<<4)
|
||||
GENETICIST =(1<<5)
|
||||
VIROLOGIST =(1<<6)
|
||||
|
||||
|
||||
CIVILIAN =(1<<2)
|
||||
@@ -74,8 +73,7 @@ var/list/engineering_positions = list(
|
||||
var/list/medical_positions = list(
|
||||
"Chief Medical Officer",
|
||||
"Medical Doctor",
|
||||
"Geneticist",
|
||||
"Virologist"
|
||||
"Geneticist"
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -217,7 +217,8 @@
|
||||
D["Cancel"] = "Cancel"
|
||||
for (var/obj/machinery/camera/C in L)
|
||||
if ( C.network in src.networks )
|
||||
D[text("[][]", C.c_tag, (C.status ? null : " (Deactivated)"))] = C
|
||||
D[text("[]: [][]", C.network, C.c_tag, (C.status ? null : " (Deactivated)"))] = C
|
||||
D = camera_network_sort(D)
|
||||
|
||||
var/t = input(user, "Which camera should you change to?") as null|anything in D
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ Pod/Blast Doors computer
|
||||
L.fields["sex"] = H.gender
|
||||
L.fields["age"] = H.age
|
||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
||||
L.fields["rank"] = H.mind.assigned_role
|
||||
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
|
||||
L.fields["b_type"] = H.dna.b_type
|
||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||
@@ -266,7 +266,7 @@ Pod/Blast Doors computer
|
||||
L.fields["sex"] = H.gender
|
||||
L.fields["age"] = H.age
|
||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
||||
L.fields["rank"] = H.mind.assigned_role
|
||||
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
|
||||
L.fields["b_type"] = H.dna.b_type
|
||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||
|
||||
@@ -5,13 +5,18 @@
|
||||
desc = "A sink used for washing one's hands and face."
|
||||
anchored = 1
|
||||
var/busy = 0 //Something's being washed at the moment
|
||||
var/mode = 0 //0 == fill, 1 == pour
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
verbs += /obj/machinery/sink/proc/mode_pour
|
||||
|
||||
attack_hand(mob/M as mob)
|
||||
if(busy)
|
||||
M << "\red Someone's already washing something here."
|
||||
return
|
||||
usr << "\blue You start washing up."
|
||||
M << "\blue You start washing up."
|
||||
|
||||
busy = 1
|
||||
if(do_after(M,40))
|
||||
@@ -43,6 +48,25 @@
|
||||
V.show_message(text("\blue [M] washes up using \the [src]."))
|
||||
busy = 0
|
||||
|
||||
proc/mode_pour()
|
||||
set name = "Mode -> Pour"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
mode = 1
|
||||
verbs -= /obj/machinery/sink/proc/mode_pour
|
||||
verbs += /obj/machinery/sink/proc/mode_fill
|
||||
usr << "You will now pour reagents down \the [src]."
|
||||
|
||||
proc/mode_fill()
|
||||
set name = "Mode -> Fill"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
mode = 0
|
||||
verbs -= /obj/machinery/sink/proc/mode_fill
|
||||
verbs += /obj/machinery/sink/proc/mode_pour
|
||||
usr << "You will now fill your container from the faucet."
|
||||
|
||||
attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(busy)
|
||||
@@ -50,15 +74,26 @@
|
||||
return
|
||||
|
||||
if (istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks))
|
||||
if(O.reagents.total_volume < O.reagents.maximum_volume)
|
||||
O:reagents.add_reagent("water", 10)
|
||||
user.visible_message( \
|
||||
"\blue [user] fills the [O] using the [src].", \
|
||||
"\blue You fill the [O] using the [src].")
|
||||
if(!mode)
|
||||
// fill
|
||||
if(O.reagents.total_volume < O.reagents.maximum_volume)
|
||||
O:reagents.add_reagent("water", 10)
|
||||
user.visible_message( \
|
||||
"\blue [user] fills the [O] using the [src].", \
|
||||
"\blue You fill the [O] using the [src].")
|
||||
else
|
||||
user.visible_message( \
|
||||
"\blue [user] spills water out of the overflowing [O] into the [src].", \
|
||||
"\blue You spill water out of the overflowing [O] into the [src].")
|
||||
else
|
||||
user.visible_message( \
|
||||
"\blue [user] spills water out of the overflowing [O] into the [src].", \
|
||||
"\blue You spill water out of the overflowing [O] into the [src].")
|
||||
// pour
|
||||
if(O.reagents.total_volume > 0)
|
||||
O.reagents.clear_reagents()
|
||||
user.visible_message( \
|
||||
"\blue [user] pours the contents of \the [O] into \the [src].", \
|
||||
"\blue You pour the contents of \the [O] into \the [src].")
|
||||
else
|
||||
user << "\The [O] is empty."
|
||||
return
|
||||
else if (istype(O, /obj/item/weapon/melee/baton))
|
||||
var/obj/item/weapon/melee/baton/B = O
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/obj/structure/closet/jcloset/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/janitor(src)
|
||||
new /obj/item/wardrobe/janitor(src)
|
||||
new /obj/item/wardrobe/janitor(src)
|
||||
new /obj/item/device/flashlight(src)
|
||||
new /obj/item/clothing/shoes/galoshes(src)
|
||||
new /obj/item/weapon/caution(src)
|
||||
@@ -12,4 +9,14 @@
|
||||
new /obj/item/weapon/caution(src)
|
||||
new /obj/item/weapon/caution(src)
|
||||
new /obj/item/weapon/caution(src)
|
||||
new /obj/item/weapon/trashbag(src)
|
||||
|
||||
/obj/structure/closet/jcloset2/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/chem_grenade/cleaner(src)
|
||||
new /obj/item/weapon/chem_grenade/cleaner(src)
|
||||
new /obj/item/weapon/chem_grenade/cleaner(src)
|
||||
new /obj/item/weapon/cleaner(src)
|
||||
new /obj/item/weapon/cleaner(src)
|
||||
new /obj/item/weapon/cleaner(src)
|
||||
new /obj/item/weapon/trashbag(src)
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
/obj/structure/closet/secure_closet/bar
|
||||
name = "Booze"
|
||||
req_access = list(access_bar)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
return
|
||||
@@ -7,9 +7,25 @@
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
new /obj/item/wardrobe/chief_engineer(src)
|
||||
new /obj/item/blueprints(src)
|
||||
new /obj/item/device/hacktool/engineer(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/heads/ce(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/clothing/head/helmet/hardhat/white(src)
|
||||
new /obj/item/clothing/head/helmet/welding(src)
|
||||
new /obj/item/weapon/storage/belt/utility/full(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/clothing/suit/hazardvest(src)
|
||||
new /obj/item/clothing/gloves/yellow(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
new /obj/item/device/radio/headset/heads/ce(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/under/rank/chief_engineer(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -50,20 +66,58 @@
|
||||
new /obj/item/weapon/weldingtool/largetank(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_personal
|
||||
name = "Engineer's Locker"
|
||||
req_access = list(access_engine)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
new /obj/item/wardrobe/engineer(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/engineering(src)
|
||||
new /obj/item/device/t_scanner(src)
|
||||
new /obj/item/clothing/suit/hazardvest(src)
|
||||
new /obj/item/weapon/storage/belt/utility/full(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/head/helmet/hardhat(src)
|
||||
new /obj/item/clothing/glasses/meson(src)
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/secure_closet/atmos_personal
|
||||
name = "Atmospheric Technician's Locker"
|
||||
req_access = list(access_atmospherics)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/atmos(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/engineering(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/roboticist_personal
|
||||
name = "Roboticist's Locker"
|
||||
req_access = list(access_robotics)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/roboticist(src)
|
||||
var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/engineering(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/structure/closet/secure_closet/medical1
|
||||
/obj/structure/closet/secure_closet/medicine
|
||||
name = "Medicine Closet"
|
||||
desc = "Filled with medical junk."
|
||||
icon_state = "medical1"
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/medical2
|
||||
/obj/structure/closet/secure_closet/anaesthetic
|
||||
name = "Anesthetic"
|
||||
desc = "Used to knock people out, either by sleeping gas or brute force."
|
||||
icon_state = "medical1"
|
||||
@@ -51,35 +51,90 @@
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/medical3
|
||||
/obj/structure/closet/secure_closet/chemist_personal
|
||||
name = "Chemist's Locker"
|
||||
req_access = list(access_chemistry)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/chemist(src)
|
||||
new /obj/item/wardrobe/chemist(src)
|
||||
new /obj/item/wardrobe/chemist(src)
|
||||
new /obj/item/wardrobe/chemist(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/radio/headset/headset_medsci(src)
|
||||
new /obj/item/device/pda/toxins(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/secure_closet/doctor_personal
|
||||
name = "Doctor's Locker"
|
||||
req_access = list(access_medical)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/medical(src)
|
||||
new /obj/item/weapon/storage/firstaid/regular(src)
|
||||
new /obj/item/device/flashlight/pen(src)
|
||||
new /obj/item/device/radio/headset/headset_med(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/genetics_personal
|
||||
name = "Geneticist's Locker"
|
||||
req_access = list(access_medlab)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/medical(src)
|
||||
new /obj/item/device/flashlight/pen(src)
|
||||
new /obj/item/device/radio/headset/headset_medsci(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/viro_personal
|
||||
name = "Virologist's Locker"
|
||||
req_access = list(access_virology)
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/virologist(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/flashlight/pen(src)
|
||||
new /obj/item/device/pda/medical(src)
|
||||
new /obj/item/clothing/mask/surgical(src)
|
||||
new /obj/item/device/radio/headset/headset_med(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/CMO
|
||||
name = "Chief Medical Officer"
|
||||
name = "Chief Medical Officer's Locker"
|
||||
req_access = list(access_cmo)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/cmo(src)
|
||||
new /obj/item/wardrobe/cmo(src)
|
||||
new /obj/item/wardrobe/cmo(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/pda/heads/cmo(src)
|
||||
new /obj/item/weapon/storage/firstaid/regular(src)
|
||||
new /obj/item/device/flashlight/pen(src)
|
||||
new /obj/item/device/radio/headset/heads/cmo(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/animal
|
||||
name = "Animal Control"
|
||||
req_access = list(access_medical)
|
||||
@@ -113,4 +168,4 @@
|
||||
sleep(2)
|
||||
new /obj/item/weapon/storage/pillbottlebox(src)
|
||||
new /obj/item/weapon/storage/pillbottlebox(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
spawn(2)
|
||||
new /obj/item/device/assembly/signaler(src)
|
||||
new /obj/item/wardrobe/assistant(src)
|
||||
|
||||
var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
|
||||
var/obj/item/weapon/storage/box/newbox = new(BPK)
|
||||
new /obj/item/weapon/pen(newbox)
|
||||
return
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/patient/New()
|
||||
|
||||
@@ -8,4 +8,12 @@
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/rd(src)
|
||||
new /obj/item/wardrobe/rd(src)
|
||||
return
|
||||
return
|
||||
|
||||
//cpy
|
||||
/*
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
*/
|
||||
@@ -6,10 +6,18 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
//
|
||||
new /obj/item/device/pda/captain(src)
|
||||
new /obj/item/weapon/storage/id_kit(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/head/helmet/swat(src)
|
||||
new /obj/item/device/radio/headset/heads/captain(src)
|
||||
new /obj/item/clothing/suit/armor/captain(src)
|
||||
new /obj/item/clothing/head/helmet/cap(src)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
new /obj/item/wardrobe/captain(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -23,7 +31,16 @@
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/hop(src)
|
||||
new /obj/item/wardrobe/hop(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/flash(B)
|
||||
new /obj/item/device/pda/heads/hop(src)
|
||||
new /obj/item/weapon/storage/id_kit(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/device/radio/headset/heads/hop(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -32,52 +49,70 @@
|
||||
name = "Head Of Security"
|
||||
req_access = list(access_hos)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/flash(B)
|
||||
new /obj/item/weapon/melee/baton(src)
|
||||
new /obj/item/weapon/gun/energy/gun(src)
|
||||
new /obj/item/device/pda/heads/hos(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/sechud(src)
|
||||
new /obj/item/weapon/storage/lockbox/loyalty(src)
|
||||
new /obj/item/weapon/storage/flashbang_kit(src)
|
||||
new /obj/item/clothing/under/jensen(src)
|
||||
new /obj/item/clothing/suit/armor/hos/jensen(src)
|
||||
new /obj/item/clothing/head/helmet/HoS/dermal(src)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
new /obj/item/wardrobe/hos(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/warden
|
||||
name = "Warden's Locker"
|
||||
req_access = list(access_armory)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/flash(B)
|
||||
new /obj/item/weapon/melee/baton(src)
|
||||
new /obj/item/weapon/gun/energy/taser(src)
|
||||
new /obj/item/device/pda/security(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/sechud(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
new /obj/item/weapon/storage/flashbang_kit(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
new /obj/item/wardrobe/warden(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/security
|
||||
name = "Security Locker"
|
||||
req_access = list(access_security)
|
||||
|
||||
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
new /obj/item/wardrobe/officer(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
new /obj/item/weapon/pen(B)
|
||||
new /obj/item/device/flash(B)
|
||||
new /obj/item/weapon/pepperspray(src)
|
||||
new /obj/item/weapon/melee/baton(src)
|
||||
new /obj/item/policetaperoll(src)
|
||||
new /obj/item/weapon/flashbang(src)
|
||||
new /obj/item/device/pda/security(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/suit/storage/gearharness(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/sechud(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -96,12 +131,21 @@
|
||||
New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
//
|
||||
var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src)
|
||||
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||
var/obj/item/weapon/clipboard/C = new(B)
|
||||
new /obj/item/weapon/pen(C)
|
||||
new /obj/item/device/detective_scanner(src)
|
||||
new /obj/item/policetaperoll(src)
|
||||
new /obj/item/weapon/storage/box/evidence(src)
|
||||
new /obj/item/device/pda/detective(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
//
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/dflask(src)
|
||||
new /obj/item/weapon/zippo(src)
|
||||
new /obj/item/weapon/zippo(B)
|
||||
new /obj/item/weapon/pepperspray/small(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
new /obj/item/wardrobe/detective(src)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -7,21 +7,50 @@
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
return
|
||||
|
||||
//says red, is actually the security locker
|
||||
/obj/structure/closet/wardrobe/red/New()
|
||||
new /obj/item/clothing/under/rank/security(src)
|
||||
new /obj/item/clothing/under/rank/security(src)
|
||||
new /obj/item/clothing/under/rank/security(src)
|
||||
new /obj/item/clothing/under/rank/security(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/head/secsoft(src)
|
||||
new /obj/item/clothing/gloves/red(src)
|
||||
new /obj/item/clothing/gloves/red(src)
|
||||
new /obj/item/clothing/gloves/red(src)
|
||||
new /obj/item/clothing/gloves/red(src)
|
||||
new /obj/item/clothing/head/secsoft(src)
|
||||
new /obj/item/clothing/head/secsoft(src)
|
||||
new /obj/item/clothing/head/secsoft(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/warden/New()
|
||||
new /obj/item/clothing/under/rank/warden(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/head/helmet/warden(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
new /obj/item/clothing/gloves/red(src)
|
||||
new /obj/item/clothing/suit/storage/gearharness(src)
|
||||
|
||||
obj/structure/closet/wardrobe/hos/New()
|
||||
new /obj/item/clothing/suit/storage/armourrigvest(src)
|
||||
new /obj/item/clothing/suit/armor/hos(src)
|
||||
new /obj/item/clothing/head/helmet/HoS(src)
|
||||
new /obj/item/weapon/storage/belt/security(src)
|
||||
new /obj/item/clothing/gloves/hos(src)
|
||||
new /obj/item/clothing/shoes/jackboots(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security(src)
|
||||
new /obj/item/clothing/under/jensen(src)
|
||||
new /obj/item/clothing/suit/armor/hos/jensen(src)
|
||||
new /obj/item/clothing/head/helmet/HoS/dermal(src)
|
||||
|
||||
obj/structure/closet/wardrobe/hop/New()
|
||||
new /obj/item/clothing/under/rank/head_of_personnel(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/gloves/blue(src)
|
||||
new /obj/item/clothing/head/helmet(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/pink/New()
|
||||
new /obj/item/clothing/under/color/pink(src)
|
||||
new /obj/item/clothing/under/color/pink(src)
|
||||
@@ -51,10 +80,6 @@
|
||||
new /obj/item/clothing/suit/holidaypriest(src)
|
||||
new /obj/item/clothing/suit/hastur (src)
|
||||
new /obj/item/clothing/head/hasturhood (src)
|
||||
new /obj/item/weapon/storage/backpack/cultpack (src)
|
||||
new /obj/item/weapon/candlepack(src)
|
||||
new /obj/item/weapon/candlepack(src)
|
||||
new /obj/item/wardrobe/chaplain(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/green/New()
|
||||
@@ -64,7 +89,6 @@
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/orange/New()
|
||||
new /obj/item/clothing/under/color/orange(src)
|
||||
@@ -73,7 +97,6 @@
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/yellow/New()
|
||||
new /obj/item/clothing/under/color/yellow(src)
|
||||
@@ -82,23 +105,28 @@
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
|
||||
new /obj/item/wardrobe/atmos(src)
|
||||
new /obj/item/wardrobe/atmos(src)
|
||||
new /obj/item/wardrobe/atmos(src)
|
||||
new /obj/item/wardrobe/atmos(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/engineering_yellow/New()
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
new /obj/item/clothing/head/helmet/hardhat(src)
|
||||
new /obj/item/clothing/head/helmet/hardhat(src)
|
||||
new /obj/item/clothing/head/helmet/hardhat(src)
|
||||
new /obj/item/weapon/storage/belt/utility/full(src)
|
||||
new /obj/item/weapon/storage/belt/utility/full(src)
|
||||
new /obj/item/weapon/storage/belt/utility/full(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
new /obj/item/clothing/shoes/orange(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/white/New()
|
||||
new /obj/item/clothing/under/color/white(src)
|
||||
@@ -107,23 +135,28 @@
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/toxins_white/New()
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
new /obj/item/wardrobe/scientist(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/scientist(src)
|
||||
new /obj/item/clothing/under/rank/scientist(src)
|
||||
new /obj/item/clothing/under/rank/scientist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/science(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/science(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/science(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/genetics_white/New()
|
||||
new /obj/item/weapon/storage/stma_kit(src)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
new /obj/item/wardrobe/geneticist(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/geneticist(src)
|
||||
new /obj/item/clothing/under/rank/geneticist(src)
|
||||
new /obj/item/clothing/under/rank/geneticist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/grey/New()
|
||||
new /obj/item/clothing/under/color/grey(src)
|
||||
@@ -132,7 +165,6 @@
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/mixed/New()
|
||||
new /obj/item/clothing/under/color/white(src)
|
||||
@@ -144,74 +176,172 @@
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/lawcloset/New()
|
||||
new /obj/item/wardrobe/lawyer(src)
|
||||
new /obj/item/wardrobe/lawyer(src)
|
||||
new /obj/item/wardrobe/lawyer(src)
|
||||
new /obj/item/wardrobe/lawyer(src)
|
||||
if(prob(50))
|
||||
new /obj/item/clothing/suit/lawyer/bluejacket(src)
|
||||
else
|
||||
new /obj/item/clothing/suit/lawyer/purpjacket(src)
|
||||
if(prob(50))
|
||||
new /obj/item/clothing/suit/lawyer/bluejacket(src)
|
||||
else
|
||||
new /obj/item/clothing/suit/lawyer/purpjacket(src)
|
||||
if(prob(50))
|
||||
new /obj/item/clothing/suit/lawyer/bluejacket(src)
|
||||
else
|
||||
new /obj/item/clothing/suit/lawyer/purpjacket(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/chemistry_white/New()
|
||||
new /obj/item/clothing/under/rank/chemist(src)
|
||||
new /obj/item/clothing/under/rank/chemist(src)
|
||||
new /obj/item/clothing/under/rank/chemist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/chemist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/chemist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/chemist(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/medic_white/New()
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
new /obj/item/wardrobe/doctor(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/nurse/New()
|
||||
new /obj/item/clothing/under/rank/nursesuit (src)
|
||||
new /obj/item/clothing/under/rank/nursesuit (src)
|
||||
new /obj/item/clothing/under/rank/nursesuit (src)
|
||||
new /obj/item/clothing/head/nursehat (src)
|
||||
new /obj/item/clothing/head/nursehat (src)
|
||||
new /obj/item/clothing/head/nursehat (src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/cmo/New()
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/clothing/suit/bio_suit/cmo(src)
|
||||
new /obj/item/clothing/head/bio_hood/general(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
new /obj/item/clothing/under/rank/chief_medical_officer(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/rd/New()
|
||||
new /obj/item/clothing/under/rank/research_director(src)
|
||||
new /obj/item/clothing/under/rank/research_director(src)
|
||||
new /obj/item/clothing/under/rank/research_director(src)
|
||||
new /obj/item/clothing/suit/bio_suit/scientist(src)
|
||||
new /obj/item/clothing/head/bio_hood/scientist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
new /obj/item/clothing/gloves/latex(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/robotics_yellow/New()
|
||||
new /obj/item/wardrobe/roboticist(src)
|
||||
new /obj/item/wardrobe/roboticist(src)
|
||||
new /obj/item/wardrobe/roboticist(src)
|
||||
new /obj/item/wardrobe/roboticist(src)
|
||||
return
|
||||
|
||||
new /obj/item/clothing/under/rank/roboticist(src)
|
||||
new /obj/item/clothing/under/rank/roboticist(src)
|
||||
new /obj/item/clothing/under/rank/roboticist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/bartender_black/New()
|
||||
new /obj/item/wardrobe/bartender(src)
|
||||
new /obj/item/wardrobe/bartender(src)
|
||||
new /obj/item/wardrobe/bartender(src)
|
||||
new /obj/item/wardrobe/bartender(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/bartender(src)
|
||||
new /obj/item/clothing/under/rank/bartender(src)
|
||||
new /obj/item/clothing/under/rank/bartender(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/suit/armor/vest(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/chef_white/New()
|
||||
new /obj/item/weapon/storage/lglo_kit(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
new /obj/item/wardrobe/chef(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/suit/storage/chef(src)
|
||||
new /obj/item/clothing/suit/storage/chef(src)
|
||||
new /obj/item/clothing/suit/storage/chef(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/hydro_green/New()
|
||||
new /obj/item/wardrobe/hydro(src)
|
||||
new /obj/item/wardrobe/hydro(src)
|
||||
new /obj/item/wardrobe/hydro(src)
|
||||
new /obj/item/wardrobe/hydro(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||
new /obj/item/clothing/head/helmet/greenbandana(src)
|
||||
new /obj/item/clothing/head/helmet/greenbandana(src)
|
||||
new /obj/item/clothing/head/helmet/greenbandana(src)
|
||||
new /obj/item/clothing/suit/storage/apron(src)
|
||||
new /obj/item/clothing/suit/storage/apron(src)
|
||||
new /obj/item/clothing/suit/storage/apron(src)
|
||||
new /obj/item/clothing/gloves/botanic_leather(src)
|
||||
new /obj/item/clothing/gloves/botanic_leather(src)
|
||||
new /obj/item/clothing/gloves/botanic_leather(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/librarian_red/New()
|
||||
new /obj/item/wardrobe/librarian(src)
|
||||
new /obj/item/wardrobe/librarian(src)
|
||||
new /obj/item/wardrobe/librarian(src)
|
||||
return
|
||||
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/cargo_yellow/New()
|
||||
new /obj/item/wardrobe/cargo_tech(src)
|
||||
new /obj/item/wardrobe/cargo_tech(src)
|
||||
new /obj/item/wardrobe/cargo_tech(src)
|
||||
new /obj/item/wardrobe/cargo_tech(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
/obj/structure/closet/wardrobe/qm_yellow/New()
|
||||
new /obj/item/wardrobe/qm(src)
|
||||
new /obj/item/wardrobe/qm(src)
|
||||
new /obj/item/wardrobe/qm(src)
|
||||
return
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/under/rank/cargo(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
|
||||
|
||||
/obj/structure/closet/wardrobe/virology_white/New()
|
||||
new /obj/item/wardrobe/virologist(src)
|
||||
new /obj/item/wardrobe/virologist(src)
|
||||
new /obj/item/wardrobe/virologist(src)
|
||||
new /obj/item/wardrobe/virologist(src)
|
||||
return
|
||||
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/under/rank/medical(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
new /obj/item/clothing/shoes/white(src)
|
||||
@@ -335,7 +335,7 @@
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=Chemist_RD_CMO;jobban4=\ref[M]'>Chemist+RD+CMO</a> <br>"
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=Geneticist_RD_CMO;jobban4=\ref[M]'>Geneticist+RD+CMO</a> <br>"
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=MD_CMO;jobban4=\ref[M]'>MD+CMO</a> <br>"
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=Virologist_RD_CMO;jobban4=\ref[M]'>Virologist+RD+CMO</a> <br>"
|
||||
/*jobs += "<a href='?src=\ref[src];newjobban2=Virologist_RD_CMO;jobban4=\ref[M]'>Virologist+RD+CMO</a> <br>"*/
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=Scientist_RD;jobban4=\ref[M]'>Scientist+RD</a> <br>"
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=AI_Cyborg;jobban4=\ref[M]'>AI+Cyborg</a> <br>"
|
||||
jobs += "<a href='?src=\ref[src];newjobban2=Detective_HoS;jobban4=\ref[M]'>Detective+HoS</a> <br><br>"
|
||||
|
||||
@@ -784,74 +784,77 @@
|
||||
switch(alert("You sure you wish to edit this mob's appearance?",,"Yes","No"))
|
||||
if("No")
|
||||
return
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
M.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
M.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
if(istype(M,/mob/living/carbon/human/tajaran))
|
||||
usr << "\red Tajarans do not have an editable appearance... yet!"
|
||||
else
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
M.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
M.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
M.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
M.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
M.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
M.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
M.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
|
||||
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
|
||||
var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
|
||||
|
||||
if (new_tone)
|
||||
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
|
||||
M.s_tone = -M.s_tone + 35
|
||||
if (new_tone)
|
||||
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
|
||||
M.s_tone = -M.s_tone + 35
|
||||
|
||||
// hair
|
||||
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
||||
var/list/hairs = list()
|
||||
// hair
|
||||
var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
||||
var/list/hairs = list()
|
||||
|
||||
// loop through potential hairs
|
||||
for(var/x in all_hairs)
|
||||
var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x
|
||||
hairs.Add(H.name) // add hair name to hairs
|
||||
del(H) // delete the hair after it's all done
|
||||
// loop through potential hairs
|
||||
for(var/x in all_hairs)
|
||||
var/datum/sprite_accessory/hair/H = new x // create new hair datum based on type x
|
||||
hairs.Add(H.name) // add hair name to hairs
|
||||
del(H) // delete the hair after it's all done
|
||||
|
||||
var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs
|
||||
var/new_style = input("Please select hair style", "Character Generation") as null|anything in hairs
|
||||
|
||||
// if new style selected (not cancel)
|
||||
if (new_style)
|
||||
M.h_style = new_style
|
||||
// if new style selected (not cancel)
|
||||
if (new_style)
|
||||
M.h_style = new_style
|
||||
|
||||
for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly.
|
||||
var/datum/sprite_accessory/hair/H = new x // create new hair datum
|
||||
if(H.name == new_style)
|
||||
M.hair_style = H // assign the hair_style variable a new hair datum
|
||||
break
|
||||
else
|
||||
del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry
|
||||
for(var/x in all_hairs) // loop through all_hairs again. Might be slightly CPU expensive, but not significantly.
|
||||
var/datum/sprite_accessory/hair/H = new x // create new hair datum
|
||||
if(H.name == new_style)
|
||||
M.hair_style = H // assign the hair_style variable a new hair datum
|
||||
break
|
||||
else
|
||||
del(H) // if hair H not used, delete. BYOND can garbage collect, but better safe than sorry
|
||||
|
||||
// facial hair
|
||||
var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
|
||||
var/list/fhairs = list()
|
||||
// facial hair
|
||||
var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
|
||||
var/list/fhairs = list()
|
||||
|
||||
for(var/x in all_fhairs)
|
||||
var/datum/sprite_accessory/facial_hair/H = new x
|
||||
fhairs.Add(H.name)
|
||||
del(H)
|
||||
|
||||
new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs
|
||||
|
||||
if(new_style)
|
||||
M.f_style = new_style
|
||||
for(var/x in all_fhairs)
|
||||
var/datum/sprite_accessory/facial_hair/H = new x
|
||||
if(H.name == new_style)
|
||||
M.facial_hair_style = H
|
||||
break
|
||||
else
|
||||
del(H)
|
||||
fhairs.Add(H.name)
|
||||
del(H)
|
||||
|
||||
new_style = input("Please select facial style", "Character Generation") as null|anything in fhairs
|
||||
|
||||
if(new_style)
|
||||
M.f_style = new_style
|
||||
for(var/x in all_fhairs)
|
||||
var/datum/sprite_accessory/facial_hair/H = new x
|
||||
if(H.name == new_style)
|
||||
M.facial_hair_style = H
|
||||
break
|
||||
else
|
||||
del(H)
|
||||
|
||||
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
|
||||
if (new_gender)
|
||||
|
||||
@@ -315,6 +315,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(!record_found)//We have to pick their role if they have no record.
|
||||
if(G_found.mind&&G_found.mind.assigned_role)//But they may have an assigned role already.
|
||||
new_character.mind.assigned_role = G_found.mind.assigned_role//Also makes sure our MODE people are equipped right later on.
|
||||
new_character.mind.role_alt_title = G_found.mind.role_alt_title
|
||||
else
|
||||
var/assigned_role = input("Please specify which job the character will be respawned as.", "Assigned role") as null|anything in get_all_jobs()
|
||||
if(!assigned_role) new_character.mind.assigned_role = "Assistant"//Defaults to assistant.
|
||||
|
||||
@@ -156,17 +156,27 @@
|
||||
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
||||
user << "\blue You remove the remote signalling device."
|
||||
src.state = 3
|
||||
new /obj/item/device/assembly/signaler( src.loc, 1 )
|
||||
var/obj/item/device/assembly/signaler/S = locate() in src
|
||||
if(S)
|
||||
S.loc = src.loc
|
||||
else
|
||||
new /obj/item/device/assembly/signaler( src.loc, 1 )
|
||||
if(isprox(W) && motion == 0)
|
||||
// if(W:amount >= 1)
|
||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||
// W:use(1)
|
||||
user << "\blue You attach the proximity sensor."
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
motion = 1
|
||||
if(istype(W, /obj/item/weapon/crowbar) && motion)
|
||||
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
||||
user << "\blue You remove the proximity sensor."
|
||||
new /obj/item/device/assembly/prox_sensor( src.loc, 1 )
|
||||
var/obj/item/device/assembly/prox_sensor/S = locate() in src
|
||||
if(S)
|
||||
S.loc = src.loc
|
||||
else
|
||||
new /obj/item/device/assembly/prox_sensor( src.loc, 1 )
|
||||
motion = 0
|
||||
if(istype(W, /obj/item/stack/sheet/glass))
|
||||
if(W:amount >= 1)
|
||||
|
||||
@@ -115,17 +115,14 @@
|
||||
handle_health_updates()
|
||||
// if the mob has enough health, she should slowly heal
|
||||
if(health >= 0)
|
||||
var/pr = 5
|
||||
var/pr = 10
|
||||
if(stat == 1) // sleeping means faster healing
|
||||
pr += 3
|
||||
pr += 5
|
||||
if(prob(pr))
|
||||
heal_organ_damage(1,1)
|
||||
adjustToxLoss(-1)
|
||||
else if(health < 0)
|
||||
var/pr = 8
|
||||
// sleeping means slower damage
|
||||
if(stat == 1)
|
||||
pr = 3
|
||||
var/pr = 80
|
||||
if(prob(pr))
|
||||
adjustToxLoss(1)
|
||||
|
||||
@@ -1203,4 +1200,4 @@
|
||||
else if(shock_stage == 40)
|
||||
src << "<font color='red'><b>"+pick("The pain is excrutiating!", "Please, just end the pain!", "Your whole body is going numb!")
|
||||
else if(shock_stage == 80)
|
||||
src << "<font color='red'><b>"+pick("You see a light at the end of the tunnel!", "You feel like you could die any moment now.", "You're about to lose consciousness.")
|
||||
src << "<font color='red'><b>"+pick("You see a light at the end of the tunnel!", "You feel like you could die any moment now.", "You're about to lose consciousness.")
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
/mob/living/carbon/human/say(var/message)
|
||||
if(src.mutantrace == "lizard")
|
||||
if(copytext(message, 1, 2) != "*")
|
||||
message = dd_replaceText(message, "s", stutter("ss"))
|
||||
if(src.mutantrace == "metroid" && prob(5))
|
||||
if(copytext(message, 1, 2) != "*")
|
||||
if(copytext(message, 1, 2) == ";")
|
||||
|
||||
@@ -253,9 +253,9 @@
|
||||
src << alert("[rank] is not available. Please try another.")
|
||||
return 0
|
||||
|
||||
job_master.AssignRole(src, rank, 1)
|
||||
var/mob/living/carbon/human/character = create_character()
|
||||
var/icon/char_icon = getFlatIcon(character,0)//We're creating out own cache so it's not needed.
|
||||
job_master.AssignRole(character, rank, 1)
|
||||
job_master.EquipRank(character, rank, 1)
|
||||
EquipCustomItems(character)
|
||||
character.loc = pick(latejoin)
|
||||
@@ -327,7 +327,7 @@
|
||||
L.fields["sex"] = H.gender
|
||||
L.fields["age"] = H.age
|
||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
||||
L.fields["rank"] = H.mind.assigned_role
|
||||
L.fields["rank"] = H.mind.role_alt_title ? H.mind.role_alt_title : H.mind.assigned_role
|
||||
L.fields["b_type"] = H.dna.b_type
|
||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||
|
||||
@@ -104,6 +104,8 @@ datum/preferences
|
||||
job_engsec_med = 0
|
||||
job_engsec_low = 0
|
||||
|
||||
list/job_alt_titles = new() // the default name of a job like "Medical Doctor"
|
||||
|
||||
flavor_text = ""
|
||||
|
||||
// slot stuff
|
||||
@@ -213,6 +215,19 @@ datum/preferences
|
||||
proc/closesave(mob/user)
|
||||
user << browse(null, "window=saves;size=300x640")
|
||||
|
||||
proc/GetAltTitle(datum/job/job)
|
||||
return job_alt_titles.Find(job.title) > 0 \
|
||||
? job_alt_titles[job.title] \
|
||||
: job.title
|
||||
|
||||
proc/SetAltTitle(datum/job/job, new_title)
|
||||
// remove existing entry
|
||||
if(job_alt_titles.Find(job.title))
|
||||
job_alt_titles -= job.title
|
||||
// add one if it's not default
|
||||
if(job.title != new_title)
|
||||
job_alt_titles[job.title] = new_title
|
||||
|
||||
proc/SetChoices(mob/user, changedjob)
|
||||
var/HTML = "<body>"
|
||||
HTML += "<tt><center>"
|
||||
@@ -246,14 +261,17 @@ datum/preferences
|
||||
HTML += "<font color=orange>\[Low]</font>"
|
||||
else
|
||||
HTML += "<font color=red>\[NEVER]</font>"
|
||||
HTML += "</a><br>"
|
||||
if(job.alt_titles)
|
||||
HTML += "</a> <a href=\"byond://?src=\ref[user];preferences=1;alt_title=1;job=\ref[job]\">\[[GetAltTitle(job)]\]</a><br>"
|
||||
else
|
||||
HTML += "</a><br>"
|
||||
|
||||
HTML += "<br>"
|
||||
HTML += "<a href=\"byond://?src=\ref[user];preferences=1;occ=0;job=cancel\">\[Done\]</a>"
|
||||
HTML += "</center></tt>"
|
||||
|
||||
user << browse(null, "window=preferences")
|
||||
user << browse(HTML, "window=mob_occupation;size=320x600")
|
||||
user << browse(HTML, "window=mob_occupation;size=350x600")
|
||||
return
|
||||
|
||||
|
||||
@@ -378,6 +396,14 @@ datum/preferences
|
||||
|
||||
return 1
|
||||
|
||||
if(link_tags["alt_title"] && link_tags["job"])
|
||||
var/datum/job/job = locate(link_tags["job"])
|
||||
var/choices = list(job.title) + job.alt_titles
|
||||
var/choice = input("Pick a title for [job.title].", "Character Generation", GetAltTitle(job)) as anything in choices | null
|
||||
if(choice)
|
||||
SetAltTitle(job, choice)
|
||||
SetChoices(user)
|
||||
|
||||
if(link_tags["real_name"])
|
||||
var/new_name
|
||||
|
||||
@@ -638,6 +664,7 @@ datum/preferences
|
||||
job_engsec_high = 0
|
||||
job_engsec_med = 0
|
||||
job_engsec_low = 0
|
||||
job_alt_titles = new()
|
||||
underwear = 1
|
||||
be_special = 0
|
||||
be_random_name = 0
|
||||
|
||||
@@ -115,6 +115,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
|
||||
F["job_engsec_med"] << src.job_engsec_med
|
||||
F["job_engsec_low"] << src.job_engsec_low
|
||||
|
||||
F["job_alt_titles"] << job_alt_titles
|
||||
|
||||
//Body data
|
||||
F["hair_red"] << src.r_hair
|
||||
F["hair_green"] << src.g_hair
|
||||
@@ -212,6 +214,10 @@ datum/preferences/proc/savefile_load(mob/user, slot)
|
||||
F["job_engsec_med"] >> src.job_engsec_med
|
||||
F["job_engsec_low"] >> src.job_engsec_low
|
||||
|
||||
F["job_alt_titles"] >> job_alt_titles
|
||||
if(!job_alt_titles)
|
||||
job_alt_titles = new()
|
||||
|
||||
//NOTE: Conversion things go inside this if statement
|
||||
//When updating the save file remember to add 1 to BOTH the savefile constants
|
||||
//Also take the old conversion things that no longer apply out of this if
|
||||
|
||||
Reference in New Issue
Block a user