Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Archie
2021-10-20 23:26:05 -03:00
122 changed files with 912 additions and 1355 deletions
+5
View File
@@ -89,6 +89,9 @@
/datum/client_colour/glass_colour/yellow
colour = "#ffff66"
/datum/client_colour/glass_colour/lightyellow
colour = "#ffffdd"
/datum/client_colour/glass_colour/red
colour = "#ffaaaa"
@@ -107,6 +110,8 @@
/datum/client_colour/glass_colour/gray
colour = "#cccccc"
/datum/client_colour/glass_colour/white
colour = "#ffffff" // Just to force an action where there is no shade.
/datum/client_colour/monochrome
colour = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
+11 -2
View File
@@ -140,7 +140,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"cock_length" = 6,
"belly_size" = 1,
"butt_size" = 1,
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
"cock_girth_ratio" = 0.25,
"cock_color" = "fff",
"has_sheath" = FALSE,
"sheath_color" = "fff",
@@ -434,7 +434,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Custom Species Name:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=custom_species;task=input'>[custom_species ? custom_species : "None"]</a><BR>"
dat += "<a style='display:block;width:100px' href='?_src_=prefs;preference=all;task=random'>Random Body</A><BR>"
dat += "<b>Always Random Body:</b><a href='?_src_=prefs;preference=all'>[be_random_body ? "Yes" : "No"]</A><BR>"
//dat += "<br><b>Cycle background:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=cycle_bg;task=input'>[bgstate]</a><BR>"
dat += "<br><b>Cycle background:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=cycle_bg;task=input'>[bgstate]</a><BR>"
var/use_skintones = pref_species.use_skintones
if(use_skintones)
@@ -845,6 +845,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<span style='border: 1px solid #161616; background-color: #[features["cock_color"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=cock_color;task=input'>Change</a><br>"
dat += "<b>Penis Shape:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=cock_shape;task=input'>[features["cock_shape"]]</a>"
dat += "<b>Penis Length:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=cock_length;task=input'>[features["cock_length"]] inch(es)</a>"
dat += "<b>Girth Ratio:</b> <a style='display:block;width:50px' href='?_src_=prefs;preference=cock_girth_ratio;task=input'>[features["cock_girth_ratio"]]</a>"
dat += "<b>Has Testicles:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=has_balls'>[features["has_balls"] == TRUE ? "Yes" : "No"]</a>"
if(features["has_balls"])
if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE)
@@ -1255,6 +1256,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(jobban_isbanned(user, rank))
HTML += "<font color=red>[rank]</font></td><td><a href='?_src_=prefs;jobbancheck=[rank]'> BANNED</a></td></tr>"
continue
if((rank in GLOB.silly_positions) && (!sillyroles))
HTML += "<font color=red>[rank]</font></td><td><a href='?_src_=prefs;jobbancheck=[rank]'> WHITELIST</a></td></tr>"
continue
var/required_playtime_remaining = job.required_playtime_remaining(user.client)
if(required_playtime_remaining)
HTML += "<font color=red>[rank]</font></td><td><font color=red> \[ [get_exp_format(required_playtime_remaining)] as [job.get_exp_req_type()] \] </font></td></tr>"
@@ -2253,6 +2257,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_length)
features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN)
if("cock_girth_ratio")
var/new_girth = input(user, "Penis to girth ratio:\n([COCK_GIRTH_RATIO_MIN]-[COCK_GIRTH_RATIO_MAX]) This will affect your girth examine text in relation to length!\n(Whole numbers become fractions 25->.25, 30->.3)", "Character Preference") as num|null
if(new_girth)
features["cock_girth_ratio"] = (max(min( round(text2num(new_girth)), 42),15))/100
if("balls_size")
var/new_balls_size = input(user, "Testicle circumference in inches:\n([BALLS_SIZE_MIN]-[BALLS_SIZE_MAX])", "Character Preference") as num|null
if(new_balls_size)
+2 -1
View File
@@ -5,7 +5,7 @@
// You do not need to raise this if you are adding new values that have sane defaults.
// Only raise this value when changing the meaning/format/name/layout of an existing value
// where you would want the updater procs below to run
#define SAVEFILE_VERSION_MAX 24
#define SAVEFILE_VERSION_MAX 25
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
@@ -410,6 +410,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_cock_color"] >> features["cock_color"]
S["feature_cock_length"] >> features["cock_length"]
S["feature_cock_girth"] >> features["cock_girth"]
S["feature_cock_girth_ratio"] >> features["cock_girth_ratio"]
S["feature_has_sheath"] >> features["sheath_color"]
//balls features
S["feature_has_balls"] >> features["has_balls"]
@@ -14,7 +14,7 @@
//Service
/datum/job/assistant
alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist")
alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist", "Clerk")
/datum/job/cook
alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie", "Poissonier")
@@ -23,7 +23,7 @@
alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper", "Vintner")
/datum/job/curator
alt_titles = list("Journalist", "Librarian", "Keeper")
alt_titles = list("Journalist", "Librarian", "Keeper", "Artist") // Curator has it's own art window section
/datum/job/chaplain
alt_titles = list("Priest", "Priestess", "Bishop", "Prior", "Monk", "Nun", "Counselor")
@@ -48,7 +48,7 @@
alt_titles = list("Research Manager", "Science Administrator")
/datum/job/scientist
alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Pyrotechnician")
alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Toxins Researcher")
/datum/job/roboticist
alt_titles = list("Biomechanical Engineer", "Mechatronic Engineer", "Mechanic")
@@ -84,7 +84,7 @@
alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent")
/datum/job/officer
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet")
alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet", "Police Officer")
/datum/job/detective
alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe")
@@ -99,7 +99,7 @@
alt_titles = list("Mail Man", "Mail Woman", "Mailroom Technician", "Deliveries Officer", "Logistics Technician")
/datum/job/mining
alt_titles = list("Exotic Ore Miner", "Fauna Hunter", "Explorer", "Digger") //Just because you're a hunter does not excuse you from rock collecting!!!!!!!!!!!!
alt_titles = list("Exotic Ore Miner", "Digger") //Fauna Hunters and Explorers have lost their privileges
//Command
/datum/job/captain
+4
View File
@@ -60,6 +60,10 @@ GLOBAL_LIST_INIT(nonhuman_positions, list(
"Cyborg",
ROLE_PAI))
GLOBAL_LIST_INIT(silly_positions, list(
"Clown",
"Mime"))
GLOBAL_LIST_INIT(exp_jobsmap, list(
EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | civilian_positions | list("AI","Cyborg")), // crew positions
EXP_TYPE_COMMAND = list("titles" = command_positions),
+181 -2
View File
@@ -63,6 +63,15 @@
if(HAS_TRAIT(user, TRAIT_SOOTHED_THROAT))
return FALSE
/datum/emote/living/cough/run_emote(mob/user, params)
. = ..()
if(. && ishuman(user))
var/mob/living/carbon/C = user
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/female_cough1.ogg', 'hyperstation/sound/voice/emotes/female_cough2.ogg', 'hyperstation/sound/voice/emotes/female_cough3.ogg', 'hyperstation/sound/voice/emotes/female_cough4.ogg', 'hyperstation/sound/voice/emotes/female_cough5.ogg', 'hyperstation/sound/voice/emotes/female_cough6.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/male_cough1.ogg', 'hyperstation/sound/voice/emotes/male_cough2.ogg', 'hyperstation/sound/voice/emotes/male_cough3.ogg', 'hyperstation/sound/voice/emotes/male_cough4.ogg'), 50, 1)
/datum/emote/living/dance
key = "dance"
key_third_person = "dances"
@@ -151,6 +160,15 @@
emote_type = EMOTE_AUDIBLE
stat_allowed = UNCONSCIOUS
/datum/emote/living/gasp/run_emote(mob/user, params)
. = ..()
if(. && ishuman(user))
var/mob/living/carbon/C = user
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/gasp_female1.ogg', 'hyperstation/sound/voice/emotes/gasp_female2.ogg', 'hyperstation/sound/voice/emotes/gasp_female3.ogg', 'hyperstation/sound/voice/emotes/gasp_female4.ogg', 'hyperstation/sound/voice/emotes/gasp_female5.ogg', 'hyperstation/sound/voice/emotes/gasp_female6.ogg', 'hyperstation/sound/voice/emotes/gasp_female7.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/gasp_male1.ogg', 'hyperstation/sound/voice/emotes/gasp_male2.ogg', 'hyperstation/sound/voice/emotes/gasp_male3.ogg', 'hyperstation/sound/voice/emotes/gasp_male4.ogg', 'hyperstation/sound/voice/emotes/gasp_male5.ogg', 'hyperstation/sound/voice/emotes/gasp_male6.ogg', 'hyperstation/sound/voice/emotes/gasp_male7.ogg'), 50, 1)
/datum/emote/living/giggle
key = "giggle"
key_third_person = "giggles"
@@ -158,6 +176,17 @@
message_mime = "giggles silently!"
emote_type = EMOTE_AUDIBLE
/datum/emote/living/giggle/run_emote(mob/user, params)
. = ..()
if(. && ishuman(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/female_giggle1.ogg', 'hyperstation/sound/voice/emotes/female_giggle2.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/male_laugh3b.ogg'), 50, 1)
/datum/emote/living/glare
key = "glare"
key_third_person = "glares"
@@ -222,9 +251,9 @@
return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, 'sound/voice/human/womanlaugh.ogg', 50, 1)
playsound(C, pick('hyperstation/sound/voice/emotes/female_laugh1.ogg', 'hyperstation/sound/voice/emotes/female_laugh2.ogg', 'hyperstation/sound/voice/emotes/female_laugh3.ogg', 'hyperstation/sound/voice/emotes/female_laugh4.ogg'), 50, 1)
else
playsound(C, pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg'), 50, 1)
playsound(C, pick('hyperstation/sound/voice/emotes/male_laugh1.ogg', 'hyperstation/sound/voice/emotes/male_laugh1b.ogg', 'hyperstation/sound/voice/emotes/male_laugh2.ogg', 'hyperstation/sound/voice/emotes/male_laugh2b.ogg',/*'hyperstation/sound/voice/emotes/male_laugh3.ogg',*/'hyperstation/sound/voice/emotes/male_laugh3b.ogg', 'hyperstation/sound/voice/emotes/male_laugh4.ogg'), 50, 1)
/datum/emote/living/look
key = "look"
@@ -295,6 +324,18 @@
message = "sighs."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/sigh/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/sigh_female.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/sigh_male.ogg'), 50, 1)
/datum/emote/living/sit
key = "sit"
key_third_person = "sits"
@@ -311,6 +352,24 @@
message = "sneezes."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/sneeze/can_run_emote(mob/living/user, status_check = TRUE)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
return !C.silent
/datum/emote/living/sneeze/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)//mimes can't sneeze because fuck you that's why
return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/sneezef1.ogg', 'hyperstation/sound/voice/emotes/sneezef2.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/sneezem1.ogg', 'hyperstation/sound/voice/emotes/sneezem2.ogg'), 50, 1)
/datum/emote/living/smug
key = "smug"
key_third_person = "smugs"
@@ -322,6 +381,15 @@
message = "sniffs."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/sniff/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
playsound(C, pick('hyperstation/sound/voice/emotes/sniff.ogg'), 50, 1)
/datum/emote/living/snore
key = "snore"
key_third_person = "snores"
@@ -388,6 +456,18 @@
message = "whimpers."
message_mime = "appears hurt."
/datum/emote/living/whimper/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/whimper_female1.ogg', 'hyperstation/sound/voice/emotes/whimper_female2.ogg', 'hyperstation/sound/voice/emotes/whimper_female3.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/whimper_male1.ogg', 'hyperstation/sound/voice/emotes/whimper_male2.ogg', 'hyperstation/sound/voice/emotes/whimper_male3.ogg'), 50, 1)
/datum/emote/living/wsmile
key = "wsmile"
key_third_person = "wsmiles"
@@ -399,6 +479,18 @@
message = "yawns."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/yawn/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
if(user.gender == FEMALE)
playsound(C, pick('hyperstation/sound/voice/emotes/female_yawn1.ogg', 'hyperstation/sound/voice/emotes/female_yawn2.ogg', 'hyperstation/sound/voice/emotes/female_yawn3.ogg'), 50, 1)
else
playsound(C, pick('hyperstation/sound/voice/emotes/male_yawn1.ogg', 'hyperstation/sound/voice/emotes/male_yawn2.ogg'), 50, 1)
/datum/emote/living/custom
key = "me"
key_third_person = "custom"
@@ -510,3 +602,90 @@
to_chat(user, "<span class='notice'>You ready your slapping hand.</span>")
else
to_chat(user, "<span class='warning'>You're incapable of slapping in your current state.</span>")
//Carl wuz here
/datum/emote/living/tesh_sneeze
key = "tesh_sneeze"
key_third_person = "sneezes"
message = "sneezes."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/tesh_sneeze/can_run_emote(mob/living/user, status_check = TRUE)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
return !C.silent
/datum/emote/living/tesh_sneeze/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)//no cute sneezing for you.
return
if(ishumanbasic(C))
playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
if(is_species(user, /datum/species/avian))//This is required(related to subtypes), otherwise it doesn't play the noises. Sometimes. Always sometimes. Just how it be.
playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
if(is_species(user, /datum/species/mammal))//Just because the avian subspecies doesn't have proper sprites. Some people can't use it.
playsound(C, pick('hyperstation/sound/voice/emotes/tesh_sneeze1.ogg', 'hyperstation/sound/voice/emotes/tesh_sneeze1b.ogg'), 50, 1)
/datum/emote/living/racc
key = "racc_chitter"
key_third_person = "chitters"
message = "chitters."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/racc/can_run_emote(mob/living/user, status_check = TRUE)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
return !C.silent
/datum/emote/living/racc/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
playsound(C, pick('hyperstation/sound/voice/emotes/racc_chitter_1.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_2.ogg',\
'hyperstation/sound/voice/emotes/racc_chitter_3.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_4.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_5.ogg',\
'hyperstation/sound/voice/emotes/racc_chitter_6.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_7.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_8.ogg'), 50, 1)
if(is_species(user, /datum/species/mammal))
playsound(C, pick('hyperstation/sound/voice/emotes/racc_chitter_1.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_2.ogg',\
'hyperstation/sound/voice/emotes/racc_chitter_3.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_4.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_5.ogg',\
'hyperstation/sound/voice/emotes/racc_chitter_6.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_7.ogg', 'hyperstation/sound/voice/emotes/racc_chitter_8.ogg'), 50, 1)
/datum/emote/living/bat
key = "bat_chitter"
key_third_person = "chitters"
message = "chitters."
emote_type = EMOTE_AUDIBLE
/datum/emote/living/bat/can_run_emote(mob/living/user, status_check = TRUE)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
return !C.silent
/datum/emote/living/bat/run_emote(mob/user, params)
. = ..()
if(. && iscarbon(user))
var/mob/living/carbon/C = user
if(!C.mind || C.mind.miming)
return
if(ishumanbasic(C))
playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
if(is_species(user, /datum/species/mammal))
playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
if(is_species(user, /datum/species/avian))//this and mammal should be considered the same AAAAAAAAAAAA
playsound(C, pick('hyperstation/sound/voice/emotes/bat_c1.ogg', 'hyperstation/sound/voice/emotes/bat_c2.ogg', 'hyperstation/sound/voice/emotes/bat_c3.ogg',\
'hyperstation/sound/voice/emotes/bat_c4.ogg', 'hyperstation/sound/voice/emotes/bat_c5.ogg',\
'hyperstation/sound/voice/emotes/bat_c6.ogg', 'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
'hyperstation/sound/voice/emotes/bat_c9.ogg'), 50, 1)
+7 -4
View File
@@ -48,12 +48,15 @@
name = "paper- 'Chemical Information'"
info = "Known Onboard Toxins:<BR>\n\tGrade A Semi-Liquid Plasma:<BR>\n\t\tHighly poisonous. You cannot sustain concentrations above 15 units.<BR>\n\t\tA gas mask fails to filter plasma after 50 units.<BR>\n\t\tWill attempt to diffuse like a gas.<BR>\n\t\tFiltered by scrubbers.<BR>\n\t\tThere is a bottled version which is very different<BR>\n\t\t\tfrom the version found in canisters!<BR>\n<BR>\n\t\tWARNING: Highly Flammable. Keep away from heat sources<BR>\n\t\texcept in an enclosed fire area!<BR>\n\t\tWARNING: It is a crime to use this without authorization.<BR>\nKnown Onboard Anti-Toxin:<BR>\n\tAnti-Toxin Type 01P: Works against Grade A Plasma.<BR>\n\t\tBest if injected directly into bloodstream.<BR>\n\t\tA full injection is in every regular Med-Kit.<BR>\n\t\tSpecial toxin Kits hold around 7.<BR>\n<BR>\nKnown Onboard Chemicals (other):<BR>\n\tRejuvenation T#001:<BR>\n\t\tEven 1 unit injected directly into the bloodstream<BR>\n\t\t\twill cure unconscious and sleep toxins.<BR>\n\t\tIf administered to a dying patient it will prevent<BR>\n\t\t\tfurther damage for about units*3 seconds.<BR>\n\t\t\tit will not cure them or allow them to be cured.<BR>\n\t\tIt can be administered to a non-dying patient<BR>\n\t\t\tbut the chemicals disappear just as fast.<BR>\n\tMorphine T#054:<BR>\n\t\t5 units will induce precisely 1 minute of sleep.<BR>\n\t\t\tThe effect are cumulative.<BR>\n\t\tWARNING: It is a crime to use this without authorization"
/*
* Stations
*/
//replacing that stupid paper that caused issues because WHY WOULD IT NOT
/obj/item/paper/fluff/candle
name = "paper- 'Candle'"
info = "Charlie, remember to reconnect the gas mix monitor if it's having issues, by the way, if the heat gets too high, don't be afraid to space this part of engineering and use a voidsuit or a hardsuit. There's one in the crates... <br> And remember. When the candle is lit... The burn is good."
/*
* Stations
*/
/////////// CentCom
/obj/item/paper/fluff/stations/centcom/disk_memo
@@ -37,30 +37,22 @@ GLOBAL_LIST_INIT(adv_artifact,list( /obj/item/shield/riot/roman=1,
))
GLOBAL_LIST_INIT(ult_artifact,list( /obj/item/nuke_core/supermatter_sliver=1,
/obj/item/storage/belt/sabre/rapier=1,
/obj/item/guardiancreator=1,
/obj/item/flashlight/emp=1,
/obj/item/encryptionkey/binary=1,
/obj/item/gun/medbeam=1,
/obj/item/storage/box/syndie_kit/imp_storage=1,
/obj/item/pen/edagger=1,
/obj/item/melee/transforming/energy/sword/pirate=1,
/obj/item/storage/box/syndie_kit/chameleon=1,
/obj/item/clothing/glasses/phantomthief/syndicate=1,
/obj/item/organ/brain/alien=1,
/obj/item/organ/alien/plasmavessel/large/queen=1,
/obj/item/organ/alien/plasmavessel/small=1,
/obj/item/melee/baton/stunsword=1,
/obj/item/grenade/clusterbuster/cleaner=1,
/obj/item/clothing/gloves/combat=1,
/obj/item/storage/toolbox/syndicate=1,
/obj/item/storage/toolbox/brass/prefilled/ratvar=1,
/obj/item/stack/sheet/mineral/abductor=1,
/obj/item/clothing/suit/space/hardsuit/syndi=1,
/obj/item/gun/ballistic/automatic/pistol/antitank/syndicate=1,
/obj/item/survivalcapsule/deluxe=1,
/obj/item/dice/d20/fate/one_use=1,
/obj/item/healthanalyzer/rad_laser=1,
/obj/item/clothing/suit/hooded/cloak/drake=1,
/obj/item/crowbar/abductor=1,
/obj/item/screwdriver/abductor=1,
@@ -75,7 +67,6 @@ GLOBAL_LIST_INIT(ult_artifact,list( /obj/item/nuke_core/supermatter_sliver=1,
/obj/item/surgicaldrill/alien=1,
/obj/item/cautery/alien=1,
/obj/item/compressionkit=1,
/obj/item/circuitboard/machine/plantgenes/vault=1,
/obj/item/disk/design_disk/golem_shell=1,
/obj/item/disk/tech_disk/illegal=1
))
@@ -710,8 +710,8 @@ datum/status_effect/stabilized/blue/on_remove()
/datum/status_effect/stabilized/cerulean
id = "stabilizedcerulean"
colour = "cerulean"
var/mob/living/clone
//var/mob/living/clone
/*
/datum/status_effect/stabilized/cerulean/on_apply()
var/typepath = owner.type
clone = new typepath(owner.loc)
@@ -743,7 +743,7 @@ datum/status_effect/stabilized/blue/on_remove()
clone.visible_message("<span class='warning'>[clone] dissolves into a puddle of goo!</span>")
clone.unequip_everything()
qdel(clone)
*/
/datum/status_effect/stabilized/pyrite
id = "stabilizedpyrite"
colour = "pyrite"
@@ -869,12 +869,12 @@ datum/status_effect/stabilized/blue/on_remove()
id = "stabilizedoil"
colour = "oil"
examine_text = "<span class='warning'>SUBJECTPRONOUN smells of sulfer and oil!</span>"
/*
/datum/status_effect/stabilized/oil/tick()
if(owner.stat == DEAD)
explosion(get_turf(owner),1,2,4,flame_range = 5)
return ..()
*/
/datum/status_effect/stabilized/black
id = "stabilizedblack"
colour = "black"
@@ -239,7 +239,7 @@ Burning extracts:
/obj/item/slimecross/burning/oil
colour = "oil"
/*
/obj/item/slimecross/burning/oil/do_effect(mob/user)
user.visible_message("<span class='danger'>[src] begins to shake with rapidly increasing force!</span>")
addtimer(CALLBACK(src, .proc/boom), 50)
@@ -247,7 +247,7 @@ Burning extracts:
/obj/item/slimecross/burning/oil/proc/boom()
explosion(get_turf(src), 2, 4, 4) //Same area as normal oils, but increased high-impact values by one each, then decreased light by 2.
qdel(src)
*/
/obj/item/slimecross/burning/black
colour = "black"
@@ -199,7 +199,7 @@ Charged extracts:
/obj/item/slimecross/charged/oil
colour = "oil"
/*
/obj/item/slimecross/charged/oil/do_effect(mob/user)
user.visible_message("<span class='danger'>[src] begins to shake with rapidly increasing force!</span>")
addtimer(CALLBACK(src, .proc/boom), 50)
@@ -207,7 +207,7 @@ Charged extracts:
/obj/item/slimecross/charged/oil/proc/boom()
explosion(get_turf(src), 3, 2, 1) //Much smaller effect than normal oils, but devastatingly strong where it does hit.
qdel(src)
*/
/obj/item/slimecross/charged/black
colour = "black"
@@ -132,9 +132,9 @@ Chilling extracts:
/obj/item/slimecross/chilling/bluespace
colour = "bluespace"
var/list/allies = list()
var/active = FALSE
//var/list/allies = list()
//var/active = FALSE
/*
/obj/item/slimecross/chilling/bluespace/afterattack(atom/target, mob/user, proximity)
if(!proximity || !isliving(target) || active)
return
@@ -168,7 +168,7 @@ Chilling extracts:
S.interrupted = TRUE
M.remove_status_effect(S)
..()
*/
/obj/item/slimecross/chilling/sepia
colour = "sepia"
var/list/allies = list()
@@ -262,7 +262,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/oil
colour = "oil"
/*
/obj/item/slimecross/chilling/oil/do_effect(mob/user)
user.visible_message("<span class='danger'>[src] begins to shake with muted intensity!</span>")
addtimer(CALLBACK(src, .proc/boom), 50)
@@ -270,7 +270,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/oil/proc/boom()
explosion(get_turf(src), -1, -1, 10, 0) //Large radius, but mostly light damage, and no flash.
qdel(src)
*/
/obj/item/slimecross/chilling/black
colour = "black"
+2
View File
@@ -39,6 +39,8 @@
/obj/item/clothing/under/scratch/skirt = 2,
/obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 2,
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt = 2,
/obj/item/clothing/neck/cloak/polychromic/ = 5,
/obj/item/clothing/neck/cloak/polychromic/half = 5,
/obj/item/clothing/neck/tie/blue = 3,
/obj/item/clothing/neck/tie/red = 3,
/obj/item/clothing/neck/tie/black = 3,