mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-15 04:32:42 +00:00
Merge branch 'master' of github.com:Baystation12/Baystation12
This commit is contained in:
@@ -144,7 +144,10 @@
|
|||||||
#define FILE_DIR "code/unused/spacecraft"
|
#define FILE_DIR "code/unused/spacecraft"
|
||||||
#define FILE_DIR "code/WorkInProgress"
|
#define FILE_DIR "code/WorkInProgress"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
||||||
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jumper"
|
||||||
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
|
||||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Tajara"
|
||||||
|
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/tajara_sprites"
|
||||||
#define FILE_DIR "code/WorkInProgress/mapload"
|
#define FILE_DIR "code/WorkInProgress/mapload"
|
||||||
#define FILE_DIR "code/WorkInProgress/Mini"
|
#define FILE_DIR "code/WorkInProgress/Mini"
|
||||||
#define FILE_DIR "code/WorkInProgress/organs"
|
#define FILE_DIR "code/WorkInProgress/organs"
|
||||||
@@ -176,6 +179,7 @@
|
|||||||
#define FILE_DIR "icons/vending_icons"
|
#define FILE_DIR "icons/vending_icons"
|
||||||
#define FILE_DIR "interface"
|
#define FILE_DIR "interface"
|
||||||
#define FILE_DIR "maps"
|
#define FILE_DIR "maps"
|
||||||
|
#define FILE_DIR "maps/backup"
|
||||||
#define FILE_DIR "sound"
|
#define FILE_DIR "sound"
|
||||||
#define FILE_DIR "sound/ambience"
|
#define FILE_DIR "sound/ambience"
|
||||||
#define FILE_DIR "sound/announcer"
|
#define FILE_DIR "sound/announcer"
|
||||||
@@ -611,6 +615,7 @@
|
|||||||
#include "code\game\objects\alien\resin.dm"
|
#include "code\game\objects\alien\resin.dm"
|
||||||
#include "code\game\objects\alien\weeds.dm"
|
#include "code\game\objects\alien\weeds.dm"
|
||||||
#include "code\game\objects\closets\bombsuit.dm"
|
#include "code\game\objects\closets\bombsuit.dm"
|
||||||
|
#include "code\game\objects\closets\detective.dm"
|
||||||
#include "code\game\objects\closets\emergency.dm"
|
#include "code\game\objects\closets\emergency.dm"
|
||||||
#include "code\game\objects\closets\firecloset.dm"
|
#include "code\game\objects\closets\firecloset.dm"
|
||||||
#include "code\game\objects\closets\gimmick.dm"
|
#include "code\game\objects\closets\gimmick.dm"
|
||||||
@@ -624,10 +629,12 @@
|
|||||||
#include "code\game\objects\closets\thunderdome.dm"
|
#include "code\game\objects\closets\thunderdome.dm"
|
||||||
#include "code\game\objects\closets\walllocker.dm"
|
#include "code\game\objects\closets\walllocker.dm"
|
||||||
#include "code\game\objects\closets\wardrobe.dm"
|
#include "code\game\objects\closets\wardrobe.dm"
|
||||||
#include "code\game\objects\closets\secure\bar.dm"
|
#include "code\game\objects\closets\secure\cargo.dm"
|
||||||
|
#include "code\game\objects\closets\secure\civilian.dm"
|
||||||
#include "code\game\objects\closets\secure\engineering.dm"
|
#include "code\game\objects\closets\secure\engineering.dm"
|
||||||
#include "code\game\objects\closets\secure\medical.dm"
|
#include "code\game\objects\closets\secure\medical.dm"
|
||||||
#include "code\game\objects\closets\secure\personal.dm"
|
#include "code\game\objects\closets\secure\personal.dm"
|
||||||
|
#include "code\game\objects\closets\secure\research.dm"
|
||||||
#include "code\game\objects\closets\secure\scientist.dm"
|
#include "code\game\objects\closets\secure\scientist.dm"
|
||||||
#include "code\game\objects\closets\secure\secure_closets.dm"
|
#include "code\game\objects\closets\secure\secure_closets.dm"
|
||||||
#include "code\game\objects\closets\secure\security.dm"
|
#include "code\game\objects\closets\secure\security.dm"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
return "gibbers, \"[text]\"";
|
return "gibbers, \"[text]\"";
|
||||||
|
|
||||||
if(is_speaking_taj)
|
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 == "?")
|
if (ending == "?")
|
||||||
return "asks, \"[text]\"";
|
return "asks, \"[text]\"";
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
//convert message to an indecipherable series of sounds for anyone who isnt tajaran
|
//convert message to an indecipherable series of sounds for anyone who isnt tajaran
|
||||||
/mob/living/carbon/human/tajaran/proc/tajspeak(var/message)
|
/mob/living/carbon/human/tajaran/proc/tajspeak(var/message)
|
||||||
return stars(message)
|
//return stars(message)
|
||||||
var/te = html_decode(message)
|
var/te = html_decode(message)
|
||||||
var/t = ""
|
var/t = ""
|
||||||
var/n = length(message)
|
var/n = length(message)
|
||||||
@@ -215,10 +215,10 @@
|
|||||||
switch (message_mode)
|
switch (message_mode)
|
||||||
if ("headset")
|
if ("headset")
|
||||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
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
|
used_radios += src:l_ear
|
||||||
else if (src:r_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
|
used_radios += src:r_ear
|
||||||
|
|
||||||
message_range = 1
|
message_range = 1
|
||||||
@@ -227,10 +227,10 @@
|
|||||||
|
|
||||||
if ("secure headset")
|
if ("secure headset")
|
||||||
if (src:l_ear && istype(src:l_ear,/obj/item/device/radio))
|
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
|
used_radios += src:l_ear
|
||||||
else if (src:r_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
|
used_radios += src:r_ear
|
||||||
|
|
||||||
message_range = 1
|
message_range = 1
|
||||||
@@ -238,7 +238,7 @@
|
|||||||
|
|
||||||
if ("right ear")
|
if ("right ear")
|
||||||
if (src:r_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
|
used_radios += src:r_ear
|
||||||
|
|
||||||
message_range = 1
|
message_range = 1
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
|
|
||||||
if ("left ear")
|
if ("left ear")
|
||||||
if (src:l_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
|
used_radios += src:l_ear
|
||||||
|
|
||||||
message_range = 1
|
message_range = 1
|
||||||
@@ -254,7 +254,7 @@
|
|||||||
|
|
||||||
if ("intercom")
|
if ("intercom")
|
||||||
for (var/obj/item/device/radio/intercom/I in view(1, null))
|
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
|
used_radios += I
|
||||||
|
|
||||||
message_range = 1
|
message_range = 1
|
||||||
@@ -377,8 +377,8 @@
|
|||||||
var/list/heard_b = list() // didn't understand us
|
var/list/heard_b = list() // didn't understand us
|
||||||
|
|
||||||
for (var/mob/M in listening)
|
for (var/mob/M in listening)
|
||||||
//if speaking in tajaran, only let other tajs hear
|
//if speaking in tajaran, only let other tajs understand
|
||||||
if ( (M.say_understands(src) && !is_speaking_taj) || istype(M,/mob/living/carbon/human/tajaran) )
|
if ( M.say_understands(src) && (M.taj_talk_understand || !is_speaking_taj) )
|
||||||
heard_a += M
|
heard_a += M
|
||||||
else
|
else
|
||||||
heard_b += M
|
heard_b += M
|
||||||
@@ -388,7 +388,7 @@
|
|||||||
|
|
||||||
var/rendered = null
|
var/rendered = null
|
||||||
if (length(heard_a))
|
if (length(heard_a))
|
||||||
var/message_a = say_quote(message,0)
|
var/message_a = say_quote(message,is_speaking_taj)
|
||||||
if (italics)
|
if (italics)
|
||||||
message_a = "<i>[message_a]</i>"
|
message_a = "<i>[message_a]</i>"
|
||||||
if (!istype(src, /mob/living/carbon/human))
|
if (!istype(src, /mob/living/carbon/human))
|
||||||
@@ -462,12 +462,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (length(heard_b))
|
if (length(heard_b))
|
||||||
var/message_b
|
var/message_b = tajspeak(message)
|
||||||
|
|
||||||
if (voice_message)
|
|
||||||
message_b = voice_message
|
|
||||||
else
|
|
||||||
message_b = tajspeak(message)
|
|
||||||
message_b = say_quote(message_b,1)
|
message_b = say_quote(message_b,1)
|
||||||
|
|
||||||
if (italics)
|
if (italics)
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
icon = 'tajaran.dmi'
|
icon = 'tajaran.dmi'
|
||||||
var/list/tajspeak_letters
|
var/list/tajspeak_letters
|
||||||
//
|
//
|
||||||
universal_speak = 1
|
|
||||||
taj_talk_understand = 1
|
taj_talk_understand = 1
|
||||||
voice_message = "mrowls"
|
voice_message = "mrowls"
|
||||||
|
|
||||||
@@ -38,13 +37,8 @@
|
|||||||
debug_lefthand = organs["l_hand"]
|
debug_lefthand = organs["l_hand"]
|
||||||
|
|
||||||
var/g = "m"
|
var/g = "m"
|
||||||
if (gender == MALE)
|
if (gender == FEMALE)
|
||||||
g = "m"
|
|
||||||
else if (gender == FEMALE)
|
|
||||||
g = "f"
|
g = "f"
|
||||||
else
|
|
||||||
gender = MALE
|
|
||||||
g = "m"
|
|
||||||
|
|
||||||
spawn (1)
|
spawn (1)
|
||||||
if(!stand_icon)
|
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()
|
/mob/living/carbon/human/tajaran/update_body()
|
||||||
if(stand_icon)
|
if(stand_icon)
|
||||||
del(stand_icon)
|
del(stand_icon)
|
||||||
@@ -130,6 +547,7 @@
|
|||||||
stand_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_s"), ICON_OVERLAY)
|
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)
|
lying_icon.Blend(new /icon('tajaran.dmi', "underwear[underwear]_[g]_l"), ICON_OVERLAY)
|
||||||
|
|
||||||
|
|
||||||
/mob/living/carbon/human/tajaran/update_face()
|
/mob/living/carbon/human/tajaran/update_face()
|
||||||
if(organs)
|
if(organs)
|
||||||
var/datum/organ/external/head = organs["head"]
|
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
|
var/list/heard_b = list() // didn't understand us
|
||||||
|
|
||||||
for (var/mob/M in listening)
|
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
|
heard_a += M
|
||||||
else
|
else
|
||||||
heard_b += M
|
heard_b += M
|
||||||
@@ -93,9 +93,9 @@
|
|||||||
|
|
||||||
for (var/mob/M in watching)
|
for (var/mob/M in watching)
|
||||||
if ( (M.say_understands(src) && !is_speaking_taj) || istype(M,/mob/living/carbon/human/tajaran) )
|
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
|
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)
|
M.show_message(rendered, 2)
|
||||||
|
|
||||||
if (length(heard_a))
|
if (length(heard_a))
|
||||||
@@ -105,14 +105,14 @@
|
|||||||
message_a = "<i>[message_a]</i>"
|
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.
|
//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))
|
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))
|
else if (istype(wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||||
if (wear_mask:vchange)
|
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
|
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
|
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)
|
for (var/mob/M in heard_a)
|
||||||
M.show_message(rendered, 2)
|
M.show_message(rendered, 2)
|
||||||
@@ -120,49 +120,45 @@
|
|||||||
if (length(heard_b))
|
if (length(heard_b))
|
||||||
var/message_b
|
var/message_b
|
||||||
|
|
||||||
if (src.voice_message)
|
message_b = tajspeak(message)
|
||||||
message_b = src.voice_message
|
|
||||||
else
|
|
||||||
message_b = stars(message)
|
|
||||||
|
|
||||||
if (italics)
|
if (italics)
|
||||||
message_b = "<i>[message_b]</i>"
|
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)
|
for (var/mob/M in heard_b)
|
||||||
M.show_message(rendered, 2)
|
M.show_message(rendered, 2)
|
||||||
|
|
||||||
for (var/mob/M in eavesdropping)
|
for (var/mob/M in eavesdropping)
|
||||||
if (M.say_understands(src))
|
if (M.say_understands(src))
|
||||||
var/message_c
|
var/message_c = tajspeak(message)
|
||||||
message_c = stars(message)
|
|
||||||
if (!istype(src, /mob/living/carbon/human))
|
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))
|
else if(istype(wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||||
if(wear_mask:vchange)
|
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
|
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
|
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)
|
M.show_message(rendered, 2)
|
||||||
else
|
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)
|
M.show_message(rendered, 2)
|
||||||
|
|
||||||
if (italics)
|
if (italics)
|
||||||
message = "<i>[message]</i>"
|
message = "<i>[message]</i>"
|
||||||
|
|
||||||
if (!istype(src, /mob/living/carbon/human))
|
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))
|
else if (istype(src.wear_mask, /obj/item/clothing/mask/gas/voice))
|
||||||
if(wear_mask:vchange)
|
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
|
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
|
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)
|
for (var/mob/M in world)
|
||||||
if (istype(M, /mob/new_player))
|
if (istype(M, /mob/new_player))
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
speak_chance = 1
|
speak_chance = 1
|
||||||
turns_per_move = 15
|
turns_per_move = 15
|
||||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||||
response_help = "pets "
|
response_help = "pets"
|
||||||
response_disarm = "gently pushes aside "
|
response_disarm = "gently pushes aside"
|
||||||
response_harm = "kicks "
|
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/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/nutrition_step // cycle step in nutrition system
|
||||||
var/obj/movement_target // eating-ing target
|
var/obj/movement_target // eating-ing target
|
||||||
@@ -17,6 +17,9 @@
|
|||||||
if(!nutrition)
|
if(!nutrition)
|
||||||
nutrition = max_nutrition * 0.33 // at 1/3 nutrition
|
nutrition = max_nutrition * 0.33 // at 1/3 nutrition
|
||||||
|
|
||||||
|
reagents = new()
|
||||||
|
reagents.my_atom = src
|
||||||
|
|
||||||
Life()
|
Life()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -38,12 +41,14 @@
|
|||||||
if(nutrition >= max_nutrition)
|
if(nutrition >= max_nutrition)
|
||||||
return
|
return
|
||||||
|
|
||||||
if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
|
if((movement_target) && !(isturf(movement_target.loc)))
|
||||||
movement_target = null
|
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)) )
|
if( !movement_target || !(movement_target.loc in oview(src, 3)) )
|
||||||
movement_target = null
|
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))
|
for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3))
|
||||||
if(isturf(S.loc) || ishuman(S.loc))
|
if(isturf(S.loc) || ishuman(S.loc))
|
||||||
movement_target = S
|
movement_target = S
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ datum/mind
|
|||||||
var/assigned_role
|
var/assigned_role
|
||||||
var/special_role
|
var/special_role
|
||||||
|
|
||||||
|
var/role_alt_title
|
||||||
|
|
||||||
var/datum/job/assigned_job
|
var/datum/job/assigned_job
|
||||||
|
|
||||||
var/list/datum/objective/objectives = list()
|
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()
|
var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in get_all_jobs()
|
||||||
if (!new_role) return
|
if (!new_role) return
|
||||||
assigned_role = new_role
|
assigned_role = new_role
|
||||||
|
role_alt_title = null
|
||||||
|
|
||||||
else if (href_list["memory_edit"])
|
else if (href_list["memory_edit"])
|
||||||
var/new_memo = input("Write new memory", "Memory", memory) as null|message
|
var/new_memo = input("Write new memory", "Memory", memory) as null|message
|
||||||
@@ -345,7 +348,7 @@ datum/mind
|
|||||||
new_objective.owner = src
|
new_objective.owner = src
|
||||||
new_objective:target = new_target:mind
|
new_objective:target = new_target:mind
|
||||||
//Will display as special role if the target is set as MODE. Ninjas/commandos/nuke ops.
|
//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")
|
if ("hijack")
|
||||||
new_objective = new /datum/objective/hijack
|
new_objective = new /datum/objective/hijack
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
var/lasttry = 0
|
var/lasttry = 0
|
||||||
layer = 2.8
|
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
|
/obj/structure/closet/acloset
|
||||||
name = "Strange closet"
|
name = "Strange closet"
|
||||||
desc = "It looks weird!"
|
desc = "It looks weird!"
|
||||||
@@ -280,7 +284,11 @@
|
|||||||
|
|
||||||
/obj/structure/closet/jcloset
|
/obj/structure/closet/jcloset
|
||||||
name = "Custodial Closet"
|
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
|
/obj/structure/closet/lawcloset
|
||||||
name = "Legal Closet"
|
name = "Legal Closet"
|
||||||
@@ -536,10 +544,28 @@
|
|||||||
|
|
||||||
/obj/structure/closet/wardrobe/red
|
/obj/structure/closet/wardrobe/red
|
||||||
name = "Red Wardrobe"
|
name = "Red Wardrobe"
|
||||||
desc = "Contains red jumpsuits."
|
desc = "Contains red security jumpsuits."
|
||||||
icon_state = "red"
|
icon_state = "red"
|
||||||
icon_closed = "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
|
/obj/structure/closet/wardrobe/white
|
||||||
name = "White Wardrobe"
|
name = "White Wardrobe"
|
||||||
desc = "Contains white jumpsuits."
|
desc = "Contains white jumpsuits."
|
||||||
@@ -564,11 +590,47 @@
|
|||||||
icon_state = "white"
|
icon_state = "white"
|
||||||
icon_closed = "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
|
/obj/structure/closet/wardrobe/yellow
|
||||||
name = "Yellow Wardrobe"
|
name = "Yellow Wardrobe"
|
||||||
desc = "Contains yellow jumpsuits."
|
desc = "Contains yellow jumpsuits."
|
||||||
icon_state = "wardrobe-y"
|
icon_state = "yellow"
|
||||||
icon_closed = "wardrobe-y"
|
icon_closed = "yellow"
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/engineering_yellow
|
/obj/structure/closet/wardrobe/engineering_yellow
|
||||||
name = "Engineering Wardrobe"
|
name = "Engineering Wardrobe"
|
||||||
@@ -630,12 +692,6 @@
|
|||||||
icon_state = "yellow"
|
icon_state = "yellow"
|
||||||
icon_closed = "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
|
/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/EventTypes = typesof(/datum/event) - /datum/event - DisallowedEvents
|
||||||
var/list/OneTimeEvents = list(/datum/event/spacecarp, /datum/event/miniblob)
|
var/list/OneTimeEvents = list(/datum/event/spacecarp, /datum/event/miniblob)
|
||||||
var/datum/event/ActiveEvent = null
|
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."
|
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")
|
||||||
if(sacrifice_target && sacrifice_target.current)
|
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
|
else
|
||||||
explanation = "Free objective."
|
explanation = "Free objective."
|
||||||
if("eldergod")
|
if("eldergod")
|
||||||
@@ -307,9 +307,9 @@
|
|||||||
explanation = "Free objective"
|
explanation = "Free objective"
|
||||||
else
|
else
|
||||||
if(sacrificed.Find(sacrifice_target))
|
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)
|
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
|
else
|
||||||
explanation = "Sacrifice Unknown, the Unknown whos body was likely gibbed. \red Failed."
|
explanation = "Sacrifice Unknown, the Unknown whos body was likely gibbed. \red Failed."
|
||||||
if("eldergod")
|
if("eldergod")
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ datum/objective/decapitate
|
|||||||
find_target()
|
find_target()
|
||||||
..()
|
..()
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -42,7 +42,7 @@ datum/objective/decapitate
|
|||||||
find_target_by_role(role, role_type=0)
|
find_target_by_role(role, role_type=0)
|
||||||
..(role, role_type)
|
..(role, role_type)
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -66,7 +66,7 @@ datum/objective/assassinate
|
|||||||
find_target()
|
find_target()
|
||||||
..()
|
..()
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -75,7 +75,7 @@ datum/objective/assassinate
|
|||||||
find_target_by_role(role, role_type=0)
|
find_target_by_role(role, role_type=0)
|
||||||
..(role, role_type)
|
..(role, role_type)
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -96,7 +96,7 @@ datum/objective/mutiny
|
|||||||
find_target()
|
find_target()
|
||||||
..()
|
..()
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -105,7 +105,7 @@ datum/objective/mutiny
|
|||||||
find_target_by_role(role, role_type=0)
|
find_target_by_role(role, role_type=0)
|
||||||
..(role, role_type)
|
..(role, role_type)
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -138,7 +138,7 @@ datum/objective/debrain//I want braaaainssss
|
|||||||
find_target_by_role(role, role_type=0)
|
find_target_by_role(role, role_type=0)
|
||||||
..(role, role_type)
|
..(role, role_type)
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -162,7 +162,7 @@ datum/objective/protect//The opposite of killing a dude.
|
|||||||
find_target()
|
find_target()
|
||||||
..()
|
..()
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
@@ -171,7 +171,7 @@ datum/objective/protect//The opposite of killing a dude.
|
|||||||
find_target_by_role(role, role_type=0)
|
find_target_by_role(role, role_type=0)
|
||||||
..(role, role_type)
|
..(role, role_type)
|
||||||
if(target && target.current)
|
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
|
else
|
||||||
explanation_text = "Free Objective"
|
explanation_text = "Free Objective"
|
||||||
return target
|
return target
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
var/datum/objective/assassinate/rev_obj = new
|
var/datum/objective/assassinate/rev_obj = new
|
||||||
rev_obj.owner = rev_mind
|
rev_obj.owner = rev_mind
|
||||||
rev_obj.target = head_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
|
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
|
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
|
var/datum/objective/mutiny/rev_obj = new
|
||||||
rev_obj.owner = rev_mind
|
rev_obj.owner = rev_mind
|
||||||
rev_obj.target = head_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
|
rev_mind.objectives += rev_obj
|
||||||
|
|
||||||
/datum/game_mode/proc/greet_revolutionary(var/datum/mind/rev_mind, var/you_are=1)
|
/datum/game_mode/proc/greet_revolutionary(var/datum/mind/rev_mind, var/you_are=1)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
supervisors = "the head of personnel"
|
supervisors = "the head of personnel"
|
||||||
|
alt_titles = list("Counselor")
|
||||||
|
|
||||||
|
|
||||||
equip(var/mob/living/carbon/human/H)
|
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)
|
H.equip_if_possible(new /obj/item/clothing/shoes/black(H), H.slot_shoes)
|
||||||
spawn(0)
|
spawn(0)
|
||||||
var/religion_name = "Christianity"
|
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"))
|
if ((length(new_religion) == 0) || (new_religion == "Christianity"))
|
||||||
new_religion = religion_name
|
new_religion = religion_name
|
||||||
|
|||||||
@@ -22,5 +22,8 @@
|
|||||||
//Supervisors, who this person answers to directly
|
//Supervisors, who this person answers to directly
|
||||||
var/supervisors = ""
|
var/supervisors = ""
|
||||||
|
|
||||||
|
//List of alternate titles, if any
|
||||||
|
var/list/alt_titles
|
||||||
|
|
||||||
/datum/job/proc/equip(var/mob/living/carbon/human/H)
|
/datum/job/proc/equip(var/mob/living/carbon/human/H)
|
||||||
return 1
|
return 1
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
supervisors = "the chief medical officer"
|
supervisors = "the chief medical officer"
|
||||||
|
alt_titles = list("Virologist", "Surgeon")
|
||||||
|
|
||||||
|
|
||||||
equip(var/mob/living/carbon/human/H)
|
equip(var/mob/living/carbon/human/H)
|
||||||
@@ -68,7 +69,7 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
/datum/job/virologist
|
/datum/job/virologist
|
||||||
title = "Virologist"
|
title = "Virologist"
|
||||||
flag = 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/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)
|
H.equip_if_possible(new /obj/item/device/flashlight/pen(H), H.slot_s_store)
|
||||||
return 1
|
return 1
|
||||||
|
*/
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
total_positions = 5
|
total_positions = 5
|
||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
supervisors = "the research director"
|
supervisors = "the research director"
|
||||||
|
alt_titles = list("Plasma Researcher", "Xenobiologist")
|
||||||
|
|
||||||
|
|
||||||
equip(var/mob/living/carbon/human/H)
|
equip(var/mob/living/carbon/human/H)
|
||||||
|
|||||||
@@ -68,6 +68,7 @@
|
|||||||
total_positions = 1
|
total_positions = 1
|
||||||
spawn_positions = 1
|
spawn_positions = 1
|
||||||
supervisors = "the head of security"
|
supervisors = "the head of security"
|
||||||
|
alt_titles = list("Forensic Technician")
|
||||||
|
|
||||||
|
|
||||||
equip(var/mob/living/carbon/human/H)
|
equip(var/mob/living/carbon/human/H)
|
||||||
|
|||||||
@@ -44,6 +44,10 @@ var/global/datum/controller/occupations/job_master
|
|||||||
return null
|
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)
|
proc/AssignRole(var/mob/new_player/player, var/rank, var/latejoin = 0)
|
||||||
Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]")
|
Debug("Running AR, Player: [player], Rank: [rank], LJ: [latejoin]")
|
||||||
if((player) && (player.mind) && (rank))
|
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)
|
if((job.current_positions < position_limit) || position_limit == -1)
|
||||||
Debug("Player: [player] is now Rank: [rank], JCP:[job.current_positions], JPL:[position_limit]")
|
Debug("Player: [player] is now Rank: [rank], JCP:[job.current_positions], JPL:[position_limit]")
|
||||||
player.mind.assigned_role = rank
|
player.mind.assigned_role = rank
|
||||||
|
player.mind.role_alt_title = GetAltTitle(player, rank)
|
||||||
unassigned -= player
|
unassigned -= player
|
||||||
job.current_positions++
|
job.current_positions++
|
||||||
return 1
|
return 1
|
||||||
@@ -83,6 +88,7 @@ var/global/datum/controller/occupations/job_master
|
|||||||
for(var/mob/new_player/player in world)
|
for(var/mob/new_player/player in world)
|
||||||
if((player) && (player.mind))
|
if((player) && (player.mind))
|
||||||
player.mind.assigned_role = null
|
player.mind.assigned_role = null
|
||||||
|
player.mind.role_alt_title = null
|
||||||
player.mind.special_role = null
|
player.mind.special_role = null
|
||||||
SetupOccupations()
|
SetupOccupations()
|
||||||
unassigned = list()
|
unassigned = list()
|
||||||
@@ -207,12 +213,16 @@ var/global/datum/controller/occupations/job_master
|
|||||||
else
|
else
|
||||||
H << "Your job is [rank] and the game just can't handle it! Please report this bug to an administrator."
|
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>You are the [rank].</B>"
|
||||||
H << "<b>As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.</b>"
|
H << "<b>As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.</b>"
|
||||||
H.job = rank
|
H.job = rank
|
||||||
if(H.mind)
|
if(H.mind && H.mind.assigned_role != rank)
|
||||||
H.mind.assigned_role = rank
|
H.mind.assigned_role = rank
|
||||||
|
H.mind.role_alt_title = null
|
||||||
|
|
||||||
if(!joined_late && rank != "Tourist")
|
if(!joined_late && rank != "Tourist")
|
||||||
var/obj/S = null
|
var/obj/S = null
|
||||||
@@ -239,8 +249,9 @@ var/global/datum/controller/occupations/job_master
|
|||||||
return 1
|
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(!H) return 0
|
||||||
|
if(!title) title = rank
|
||||||
var/obj/item/weapon/card/id/C = null
|
var/obj/item/weapon/card/id/C = null
|
||||||
switch(rank)
|
switch(rank)
|
||||||
if("Cyborg")
|
if("Cyborg")
|
||||||
@@ -251,9 +262,9 @@ var/global/datum/controller/occupations/job_master
|
|||||||
C = new /obj/item/weapon/card/id(H)
|
C = new /obj/item/weapon/card/id(H)
|
||||||
if(C)
|
if(C)
|
||||||
C.registered_name = H.real_name
|
C.registered_name = H.real_name
|
||||||
C.assignment = rank
|
C.assignment = title
|
||||||
C.name = "[C.registered_name]'s ID Card ([C.assignment])"
|
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)
|
H.equip_if_possible(C, H.slot_wear_id)
|
||||||
if(!H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_r_store))
|
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)
|
H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_ears)
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ var/const
|
|||||||
CMO =(1<<3)
|
CMO =(1<<3)
|
||||||
DOCTOR =(1<<4)
|
DOCTOR =(1<<4)
|
||||||
GENETICIST =(1<<5)
|
GENETICIST =(1<<5)
|
||||||
VIROLOGIST =(1<<6)
|
|
||||||
|
|
||||||
|
|
||||||
CIVILIAN =(1<<2)
|
CIVILIAN =(1<<2)
|
||||||
@@ -74,8 +73,7 @@ var/list/engineering_positions = list(
|
|||||||
var/list/medical_positions = list(
|
var/list/medical_positions = list(
|
||||||
"Chief Medical Officer",
|
"Chief Medical Officer",
|
||||||
"Medical Doctor",
|
"Medical Doctor",
|
||||||
"Geneticist",
|
"Geneticist"
|
||||||
"Virologist"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -217,7 +217,8 @@
|
|||||||
D["Cancel"] = "Cancel"
|
D["Cancel"] = "Cancel"
|
||||||
for (var/obj/machinery/camera/C in L)
|
for (var/obj/machinery/camera/C in L)
|
||||||
if ( C.network in src.networks )
|
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
|
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["sex"] = H.gender
|
||||||
L.fields["age"] = H.age
|
L.fields["age"] = H.age
|
||||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
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_type"] = H.dna.b_type
|
||||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||||
@@ -266,7 +266,7 @@ Pod/Blast Doors computer
|
|||||||
L.fields["sex"] = H.gender
|
L.fields["sex"] = H.gender
|
||||||
L.fields["age"] = H.age
|
L.fields["age"] = H.age
|
||||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
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_type"] = H.dna.b_type
|
||||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||||
|
|||||||
@@ -5,13 +5,18 @@
|
|||||||
desc = "A sink used for washing one's hands and face."
|
desc = "A sink used for washing one's hands and face."
|
||||||
anchored = 1
|
anchored = 1
|
||||||
var/busy = 0 //Something's being washed at the moment
|
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)
|
attack_hand(mob/M as mob)
|
||||||
if(busy)
|
if(busy)
|
||||||
M << "\red Someone's already washing something here."
|
M << "\red Someone's already washing something here."
|
||||||
return
|
return
|
||||||
usr << "\blue You start washing up."
|
M << "\blue You start washing up."
|
||||||
|
|
||||||
busy = 1
|
busy = 1
|
||||||
if(do_after(M,40))
|
if(do_after(M,40))
|
||||||
@@ -43,6 +48,25 @@
|
|||||||
V.show_message(text("\blue [M] washes up using \the [src]."))
|
V.show_message(text("\blue [M] washes up using \the [src]."))
|
||||||
busy = 0
|
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)
|
attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||||
if(busy)
|
if(busy)
|
||||||
@@ -50,6 +74,8 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if (istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks))
|
if (istype(O, /obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks))
|
||||||
|
if(!mode)
|
||||||
|
// fill
|
||||||
if(O.reagents.total_volume < O.reagents.maximum_volume)
|
if(O.reagents.total_volume < O.reagents.maximum_volume)
|
||||||
O:reagents.add_reagent("water", 10)
|
O:reagents.add_reagent("water", 10)
|
||||||
user.visible_message( \
|
user.visible_message( \
|
||||||
@@ -59,6 +85,15 @@
|
|||||||
user.visible_message( \
|
user.visible_message( \
|
||||||
"\blue [user] spills water out of the overflowing [O] into the [src].", \
|
"\blue [user] spills water out of the overflowing [O] into the [src].", \
|
||||||
"\blue You spill water out of the overflowing [O] into the [src].")
|
"\blue You spill water out of the overflowing [O] into the [src].")
|
||||||
|
else
|
||||||
|
// 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
|
return
|
||||||
else if (istype(O, /obj/item/weapon/melee/baton))
|
else if (istype(O, /obj/item/weapon/melee/baton))
|
||||||
var/obj/item/weapon/melee/baton/B = O
|
var/obj/item/weapon/melee/baton/B = O
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
/obj/structure/closet/jcloset/New()
|
/obj/structure/closet/jcloset/New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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/device/flashlight(src)
|
||||||
new /obj/item/clothing/shoes/galoshes(src)
|
new /obj/item/clothing/shoes/galoshes(src)
|
||||||
new /obj/item/weapon/caution(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/caution(src)
|
||||||
new /obj/item/weapon/caution(src)
|
new /obj/item/weapon/caution(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)
|
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)
|
sleep(2)
|
||||||
new /obj/item/wardrobe/chief_engineer(src)
|
new /obj/item/wardrobe/chief_engineer(src)
|
||||||
new /obj/item/wardrobe/chief_engineer(src)
|
|
||||||
new /obj/item/blueprints(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
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -50,20 +66,58 @@
|
|||||||
new /obj/item/weapon/weldingtool/largetank(src)
|
new /obj/item/weapon/weldingtool/largetank(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/engineering_personal
|
/obj/structure/closet/secure_closet/engineering_personal
|
||||||
name = "Engineer's Locker"
|
name = "Engineer's Locker"
|
||||||
req_access = list(access_engine)
|
req_access = list(access_engine)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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)
|
var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src)
|
||||||
new /obj/item/wardrobe/engineer(src)
|
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||||
new /obj/item/wardrobe/engineer(src)
|
new /obj/item/weapon/pen(B)
|
||||||
new /obj/item/wardrobe/engineer(src)
|
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
|
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"
|
name = "Medicine Closet"
|
||||||
desc = "Filled with medical junk."
|
desc = "Filled with medical junk."
|
||||||
icon_state = "medical1"
|
icon_state = "medical1"
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/medical2
|
/obj/structure/closet/secure_closet/anaesthetic
|
||||||
name = "Anesthetic"
|
name = "Anesthetic"
|
||||||
desc = "Used to knock people out, either by sleeping gas or brute force."
|
desc = "Used to knock people out, either by sleeping gas or brute force."
|
||||||
icon_state = "medical1"
|
icon_state = "medical1"
|
||||||
@@ -51,35 +51,90 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/medical3
|
/obj/structure/closet/secure_closet/chemist_personal
|
||||||
name = "Chemist's Locker"
|
name = "Chemist's Locker"
|
||||||
req_access = list(access_chemistry)
|
req_access = list(access_chemistry)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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)
|
||||||
new /obj/item/wardrobe/chemist(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
|
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
|
/obj/structure/closet/secure_closet/CMO
|
||||||
name = "Chief Medical Officer"
|
name = "Chief Medical Officer's Locker"
|
||||||
req_access = list(access_cmo)
|
req_access = list(access_cmo)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
sleep(2)
|
||||||
new /obj/item/wardrobe/cmo(src)
|
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
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/animal
|
/obj/structure/closet/secure_closet/animal
|
||||||
name = "Animal Control"
|
name = "Animal Control"
|
||||||
req_access = list(access_medical)
|
req_access = list(access_medical)
|
||||||
|
|||||||
@@ -6,6 +6,10 @@
|
|||||||
spawn(2)
|
spawn(2)
|
||||||
new /obj/item/device/assembly/signaler(src)
|
new /obj/item/device/assembly/signaler(src)
|
||||||
new /obj/item/wardrobe/assistant(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
|
return
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/personal/patient/New()
|
/obj/structure/closet/secure_closet/personal/patient/New()
|
||||||
|
|||||||
@@ -9,3 +9,11 @@
|
|||||||
new /obj/item/wardrobe/rd(src)
|
new /obj/item/wardrobe/rd(src)
|
||||||
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()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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/suit/armor/captain(src)
|
||||||
new /obj/item/clothing/head/helmet/cap(src)
|
new /obj/item/clothing/head/helmet/cap(src)
|
||||||
new /obj/item/wardrobe/captain(src)
|
|
||||||
new /obj/item/wardrobe/captain(src)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -23,7 +31,16 @@
|
|||||||
..()
|
..()
|
||||||
sleep(2)
|
sleep(2)
|
||||||
new /obj/item/wardrobe/hop(src)
|
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
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -32,52 +49,70 @@
|
|||||||
name = "Head Of Security"
|
name = "Head Of Security"
|
||||||
req_access = list(access_hos)
|
req_access = list(access_hos)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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/lockbox/loyalty(src)
|
||||||
new /obj/item/weapon/storage/flashbang_kit(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
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/warden
|
/obj/structure/closet/secure_closet/warden
|
||||||
name = "Warden's Locker"
|
name = "Warden's Locker"
|
||||||
req_access = list(access_armory)
|
req_access = list(access_armory)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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/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
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/closet/secure_closet/security
|
/obj/structure/closet/secure_closet/security
|
||||||
name = "Security Locker"
|
name = "Security Locker"
|
||||||
req_access = list(access_security)
|
req_access = list(access_security)
|
||||||
|
|
||||||
|
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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)
|
||||||
new /obj/item/wardrobe/officer(src)
|
var/obj/item/weapon/storage/box/B = new(BPK)
|
||||||
new /obj/item/wardrobe/officer(src)
|
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
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -96,12 +131,21 @@
|
|||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
sleep(2)
|
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/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/weapon/pepperspray/small(src)
|
||||||
new /obj/item/wardrobe/detective(src)
|
|
||||||
new /obj/item/wardrobe/detective(src)
|
|
||||||
new /obj/item/wardrobe/detective(src)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,21 +7,50 @@
|
|||||||
new /obj/item/clothing/shoes/brown(src)
|
new /obj/item/clothing/shoes/brown(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
//says red, is actually the security locker
|
||||||
/obj/structure/closet/wardrobe/red/New()
|
/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/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/shoes/jackboots(src)
|
new /obj/item/clothing/shoes/jackboots(src)
|
||||||
new /obj/item/clothing/shoes/jackboots(src)
|
new /obj/item/clothing/gloves/red(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/head/secsoft(src)
|
new /obj/item/clothing/head/secsoft(src)
|
||||||
new /obj/item/clothing/head/secsoft(src)
|
new /obj/item/clothing/head/secsoft(src)
|
||||||
new /obj/item/clothing/head/secsoft(src)
|
new /obj/item/clothing/head/secsoft(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/pink/New()
|
||||||
new /obj/item/clothing/under/color/pink(src)
|
new /obj/item/clothing/under/color/pink(src)
|
||||||
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/holidaypriest(src)
|
||||||
new /obj/item/clothing/suit/hastur (src)
|
new /obj/item/clothing/suit/hastur (src)
|
||||||
new /obj/item/clothing/head/hasturhood (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
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/green/New()
|
/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)
|
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()
|
/obj/structure/closet/wardrobe/orange/New()
|
||||||
new /obj/item/clothing/under/color/orange(src)
|
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)
|
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()
|
/obj/structure/closet/wardrobe/yellow/New()
|
||||||
new /obj/item/clothing/under/color/yellow(src)
|
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)
|
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()
|
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
|
||||||
new /obj/item/wardrobe/atmos(src)
|
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||||
new /obj/item/wardrobe/atmos(src)
|
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||||
new /obj/item/wardrobe/atmos(src)
|
new /obj/item/clothing/under/rank/atmospheric_technician(src)
|
||||||
new /obj/item/wardrobe/atmos(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
return
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/engineering_yellow/New()
|
/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/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)
|
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()
|
/obj/structure/closet/wardrobe/white/New()
|
||||||
new /obj/item/clothing/under/color/white(src)
|
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)
|
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()
|
/obj/structure/closet/wardrobe/toxins_white/New()
|
||||||
new /obj/item/wardrobe/scientist(src)
|
new /obj/item/clothing/under/rank/scientist(src)
|
||||||
new /obj/item/wardrobe/scientist(src)
|
new /obj/item/clothing/under/rank/scientist(src)
|
||||||
new /obj/item/wardrobe/scientist(src)
|
new /obj/item/clothing/under/rank/scientist(src)
|
||||||
new /obj/item/wardrobe/scientist(src)
|
new /obj/item/clothing/suit/storage/labcoat/science(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/genetics_white/New()
|
||||||
new /obj/item/weapon/storage/stma_kit(src)
|
new /obj/item/clothing/under/rank/geneticist(src)
|
||||||
new /obj/item/wardrobe/geneticist(src)
|
new /obj/item/clothing/under/rank/geneticist(src)
|
||||||
new /obj/item/wardrobe/geneticist(src)
|
new /obj/item/clothing/under/rank/geneticist(src)
|
||||||
new /obj/item/wardrobe/geneticist(src)
|
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||||
new /obj/item/wardrobe/geneticist(src)
|
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||||
new /obj/item/wardrobe/geneticist(src)
|
new /obj/item/clothing/suit/storage/labcoat/genetics(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/grey/New()
|
||||||
new /obj/item/clothing/under/color/grey(src)
|
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)
|
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()
|
/obj/structure/closet/wardrobe/mixed/New()
|
||||||
new /obj/item/clothing/under/color/white(src)
|
new /obj/item/clothing/under/color/white(src)
|
||||||
@@ -144,74 +176,172 @@
|
|||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/brown(src)
|
new /obj/item/clothing/shoes/brown(src)
|
||||||
new /obj/item/clothing/shoes/white(src)
|
new /obj/item/clothing/shoes/white(src)
|
||||||
return
|
|
||||||
|
|
||||||
/obj/structure/closet/lawcloset/New()
|
/obj/structure/closet/lawcloset/New()
|
||||||
new /obj/item/wardrobe/lawyer(src)
|
if(prob(50))
|
||||||
new /obj/item/wardrobe/lawyer(src)
|
new /obj/item/clothing/suit/lawyer/bluejacket(src)
|
||||||
new /obj/item/wardrobe/lawyer(src)
|
else
|
||||||
new /obj/item/wardrobe/lawyer(src)
|
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()
|
/obj/structure/closet/wardrobe/medic_white/New()
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/under/rank/medical(src)
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/under/rank/medical(src)
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/under/rank/medical(src)
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||||
new /obj/item/wardrobe/doctor(src)
|
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/robotics_yellow/New()
|
||||||
new /obj/item/wardrobe/roboticist(src)
|
new /obj/item/clothing/under/rank/roboticist(src)
|
||||||
new /obj/item/wardrobe/roboticist(src)
|
new /obj/item/clothing/under/rank/roboticist(src)
|
||||||
new /obj/item/wardrobe/roboticist(src)
|
new /obj/item/clothing/under/rank/roboticist(src)
|
||||||
new /obj/item/wardrobe/roboticist(src)
|
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/bartender_black/New()
|
||||||
new /obj/item/wardrobe/bartender(src)
|
new /obj/item/clothing/under/rank/bartender(src)
|
||||||
new /obj/item/wardrobe/bartender(src)
|
new /obj/item/clothing/under/rank/bartender(src)
|
||||||
new /obj/item/wardrobe/bartender(src)
|
new /obj/item/clothing/under/rank/bartender(src)
|
||||||
new /obj/item/wardrobe/bartender(src)
|
new /obj/item/clothing/suit/armor/vest(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/chef_white/New()
|
||||||
new /obj/item/weapon/storage/lglo_kit(src)
|
new /obj/item/clothing/under/rank/chef(src)
|
||||||
new /obj/item/wardrobe/chef(src)
|
new /obj/item/clothing/under/rank/chef(src)
|
||||||
new /obj/item/wardrobe/chef(src)
|
new /obj/item/clothing/under/rank/chef(src)
|
||||||
new /obj/item/wardrobe/chef(src)
|
new /obj/item/clothing/suit/storage/chef(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/hydro_green/New()
|
||||||
new /obj/item/wardrobe/hydro(src)
|
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||||
new /obj/item/wardrobe/hydro(src)
|
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||||
new /obj/item/wardrobe/hydro(src)
|
new /obj/item/clothing/under/rank/hydroponics(src)
|
||||||
new /obj/item/wardrobe/hydro(src)
|
new /obj/item/clothing/head/helmet/greenbandana(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/librarian_red/New()
|
||||||
new /obj/item/wardrobe/librarian(src)
|
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||||
new /obj/item/wardrobe/librarian(src)
|
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||||
new /obj/item/wardrobe/librarian(src)
|
new /obj/item/clothing/under/suit_jacket/red(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/cargo_yellow/New()
|
||||||
new /obj/item/wardrobe/cargo_tech(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
new /obj/item/wardrobe/cargo_tech(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
new /obj/item/wardrobe/cargo_tech(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
new /obj/item/wardrobe/cargo_tech(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
return
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/qm_yellow/New()
|
/obj/structure/closet/wardrobe/qm_yellow/New()
|
||||||
new /obj/item/wardrobe/qm(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
new /obj/item/wardrobe/qm(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
new /obj/item/wardrobe/qm(src)
|
new /obj/item/clothing/under/rank/cargo(src)
|
||||||
return
|
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()
|
/obj/structure/closet/wardrobe/virology_white/New()
|
||||||
new /obj/item/wardrobe/virologist(src)
|
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||||
new /obj/item/wardrobe/virologist(src)
|
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||||
new /obj/item/wardrobe/virologist(src)
|
new /obj/item/clothing/suit/storage/labcoat/virologist(src)
|
||||||
new /obj/item/wardrobe/virologist(src)
|
new /obj/item/clothing/under/rank/medical(src)
|
||||||
return
|
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=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=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=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=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=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>"
|
jobs += "<a href='?src=\ref[src];newjobban2=Detective_HoS;jobban4=\ref[M]'>Detective+HoS</a> <br><br>"
|
||||||
|
|||||||
@@ -784,6 +784,9 @@
|
|||||||
switch(alert("You sure you wish to edit this mob's appearance?",,"Yes","No"))
|
switch(alert("You sure you wish to edit this mob's appearance?",,"Yes","No"))
|
||||||
if("No")
|
if("No")
|
||||||
return
|
return
|
||||||
|
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
|
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||||
if(new_facial)
|
if(new_facial)
|
||||||
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
M.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||||
|
|||||||
@@ -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(!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.
|
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.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
|
else
|
||||||
var/assigned_role = input("Please specify which job the character will be respawned as.", "Assigned role") as null|anything in get_all_jobs()
|
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.
|
if(!assigned_role) new_character.mind.assigned_role = "Assistant"//Defaults to assistant.
|
||||||
|
|||||||
@@ -156,16 +156,26 @@
|
|||||||
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
||||||
user << "\blue You remove the remote signalling device."
|
user << "\blue You remove the remote signalling device."
|
||||||
src.state = 3
|
src.state = 3
|
||||||
|
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 )
|
new /obj/item/device/assembly/signaler( src.loc, 1 )
|
||||||
if(isprox(W) && motion == 0)
|
if(isprox(W) && motion == 0)
|
||||||
// if(W:amount >= 1)
|
// if(W:amount >= 1)
|
||||||
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'Deconstruct.ogg', 50, 1)
|
||||||
// W:use(1)
|
// W:use(1)
|
||||||
user << "\blue You attach the proximity sensor."
|
user << "\blue You attach the proximity sensor."
|
||||||
|
user.drop_item()
|
||||||
|
W.loc = src
|
||||||
motion = 1
|
motion = 1
|
||||||
if(istype(W, /obj/item/weapon/crowbar) && motion)
|
if(istype(W, /obj/item/weapon/crowbar) && motion)
|
||||||
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
playsound(src.loc, 'Crowbar.ogg', 50, 1)
|
||||||
user << "\blue You remove the proximity sensor."
|
user << "\blue You remove the proximity sensor."
|
||||||
|
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 )
|
new /obj/item/device/assembly/prox_sensor( src.loc, 1 )
|
||||||
motion = 0
|
motion = 0
|
||||||
if(istype(W, /obj/item/stack/sheet/glass))
|
if(istype(W, /obj/item/stack/sheet/glass))
|
||||||
|
|||||||
@@ -115,17 +115,14 @@
|
|||||||
handle_health_updates()
|
handle_health_updates()
|
||||||
// if the mob has enough health, she should slowly heal
|
// if the mob has enough health, she should slowly heal
|
||||||
if(health >= 0)
|
if(health >= 0)
|
||||||
var/pr = 5
|
var/pr = 10
|
||||||
if(stat == 1) // sleeping means faster healing
|
if(stat == 1) // sleeping means faster healing
|
||||||
pr += 3
|
pr += 5
|
||||||
if(prob(pr))
|
if(prob(pr))
|
||||||
heal_organ_damage(1,1)
|
heal_organ_damage(1,1)
|
||||||
adjustToxLoss(-1)
|
adjustToxLoss(-1)
|
||||||
else if(health < 0)
|
else if(health < 0)
|
||||||
var/pr = 8
|
var/pr = 80
|
||||||
// sleeping means slower damage
|
|
||||||
if(stat == 1)
|
|
||||||
pr = 3
|
|
||||||
if(prob(pr))
|
if(prob(pr))
|
||||||
adjustToxLoss(1)
|
adjustToxLoss(1)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
/mob/living/carbon/human/say(var/message)
|
/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(src.mutantrace == "metroid" && prob(5))
|
||||||
if(copytext(message, 1, 2) != "*")
|
if(copytext(message, 1, 2) != "*")
|
||||||
if(copytext(message, 1, 2) == ";")
|
if(copytext(message, 1, 2) == ";")
|
||||||
|
|||||||
@@ -253,9 +253,9 @@
|
|||||||
src << alert("[rank] is not available. Please try another.")
|
src << alert("[rank] is not available. Please try another.")
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
job_master.AssignRole(src, rank, 1)
|
||||||
var/mob/living/carbon/human/character = create_character()
|
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.
|
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)
|
job_master.EquipRank(character, rank, 1)
|
||||||
EquipCustomItems(character)
|
EquipCustomItems(character)
|
||||||
character.loc = pick(latejoin)
|
character.loc = pick(latejoin)
|
||||||
@@ -327,7 +327,7 @@
|
|||||||
L.fields["sex"] = H.gender
|
L.fields["sex"] = H.gender
|
||||||
L.fields["age"] = H.age
|
L.fields["age"] = H.age
|
||||||
L.fields["id"] = md5("[H.real_name][H.mind.assigned_role]")
|
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_type"] = H.dna.b_type
|
||||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||||
|
|||||||
@@ -104,6 +104,8 @@ datum/preferences
|
|||||||
job_engsec_med = 0
|
job_engsec_med = 0
|
||||||
job_engsec_low = 0
|
job_engsec_low = 0
|
||||||
|
|
||||||
|
list/job_alt_titles = new() // the default name of a job like "Medical Doctor"
|
||||||
|
|
||||||
flavor_text = ""
|
flavor_text = ""
|
||||||
|
|
||||||
// slot stuff
|
// slot stuff
|
||||||
@@ -213,6 +215,19 @@ datum/preferences
|
|||||||
proc/closesave(mob/user)
|
proc/closesave(mob/user)
|
||||||
user << browse(null, "window=saves;size=300x640")
|
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)
|
proc/SetChoices(mob/user, changedjob)
|
||||||
var/HTML = "<body>"
|
var/HTML = "<body>"
|
||||||
HTML += "<tt><center>"
|
HTML += "<tt><center>"
|
||||||
@@ -246,6 +261,9 @@ datum/preferences
|
|||||||
HTML += "<font color=orange>\[Low]</font>"
|
HTML += "<font color=orange>\[Low]</font>"
|
||||||
else
|
else
|
||||||
HTML += "<font color=red>\[NEVER]</font>"
|
HTML += "<font color=red>\[NEVER]</font>"
|
||||||
|
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 += "</a><br>"
|
||||||
|
|
||||||
HTML += "<br>"
|
HTML += "<br>"
|
||||||
@@ -253,7 +271,7 @@ datum/preferences
|
|||||||
HTML += "</center></tt>"
|
HTML += "</center></tt>"
|
||||||
|
|
||||||
user << browse(null, "window=preferences")
|
user << browse(null, "window=preferences")
|
||||||
user << browse(HTML, "window=mob_occupation;size=320x600")
|
user << browse(HTML, "window=mob_occupation;size=350x600")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -378,6 +396,14 @@ datum/preferences
|
|||||||
|
|
||||||
return 1
|
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"])
|
if(link_tags["real_name"])
|
||||||
var/new_name
|
var/new_name
|
||||||
|
|
||||||
@@ -638,6 +664,7 @@ datum/preferences
|
|||||||
job_engsec_high = 0
|
job_engsec_high = 0
|
||||||
job_engsec_med = 0
|
job_engsec_med = 0
|
||||||
job_engsec_low = 0
|
job_engsec_low = 0
|
||||||
|
job_alt_titles = new()
|
||||||
underwear = 1
|
underwear = 1
|
||||||
be_special = 0
|
be_special = 0
|
||||||
be_random_name = 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_med"] << src.job_engsec_med
|
||||||
F["job_engsec_low"] << src.job_engsec_low
|
F["job_engsec_low"] << src.job_engsec_low
|
||||||
|
|
||||||
|
F["job_alt_titles"] << job_alt_titles
|
||||||
|
|
||||||
//Body data
|
//Body data
|
||||||
F["hair_red"] << src.r_hair
|
F["hair_red"] << src.r_hair
|
||||||
F["hair_green"] << src.g_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_med"] >> src.job_engsec_med
|
||||||
F["job_engsec_low"] >> src.job_engsec_low
|
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
|
//NOTE: Conversion things go inside this if statement
|
||||||
//When updating the save file remember to add 1 to BOTH the savefile constants
|
//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
|
//Also take the old conversion things that no longer apply out of this if
|
||||||
|
|||||||
16520
maps/tgstation.2.0.8.dmm
16520
maps/tgstation.2.0.8.dmm
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user