Merge branch 'MrSky12:master' into nutribot

This commit is contained in:
SeepingVisage
2024-08-13 21:20:34 -04:00
committed by GitHub
120 changed files with 88139 additions and 84456 deletions
+7 -1
View File
@@ -222,7 +222,11 @@
//GS13
#define TRAIT_WEIGHT_LOSS_IMMUNE "weight_loss_immune"
#define TRAIT_UNIVERSAL_GAINER "universal_gainer"
#define TRAIT_NO_MOVE "no_move"
#define TRAIT_NO_JUMPSUIT "no_jumpsuit"
#define TRAIT_NO_MISC "no_misc"
#define TRAIT_NO_BACKPACK "no_backpack"
#define TRAIT_NO_BUCKLE "no_buckle"
// common trait sources
#define TRAIT_GENERIC "generic"
@@ -284,3 +288,5 @@
#define NUKEOP_TRAIT "nuke-op"
#define MEGAFAUNA_TRAIT "megafauna"
#define DEATHSQUAD_TRAIT "deathsquad"
#define HELPLESSNESS_TRAIT "helplessness"
+10 -1
View File
@@ -114,13 +114,22 @@ GLOBAL_LIST_INIT(maintenance_loot, list(
/obj/item/trash/fatoray_scrap1 = 1, //GS13 - added for researching fat guns
/obj/item/trash/fatoray_scrap2 = 1, //GS13
/obj/item/trash/odd_disk = 1, //GS13
/obj/item/clothing/neck/petcollar/calorite = 1,
/obj/item/reagent_containers/food/drinks/soda_cans/fizzwiz = 2,
/obj/item/clothing/mask/gas/fattening = 1,
/obj/item/stack/sheet/plastic/five = 1,
/obj/item/wrench/bronze = 1,
/obj/item/kitchen/knife/combat/bone = 1,
/obj/item/storage/pill_bottle/butt_enlargement = 1,
/obj/item/clothing/mask/cowmask/gag = 1,
/obj/item/clothing/mask/pig/gag = 1,
/obj/item/grown/bananapeel = 1,
/obj/item/clothing/shoes/wheelys = 1,
/obj/item/clothing/shoes/kindleKicks = 1,
/obj/item/autosurgeon/penis = 1,
/obj/item/autosurgeon/testicles = 1,
/obj/item/autosurgeon/vagina = 1,
/obj/item/autosurgeon/breasts = 1,
/obj/item/autosurgeon/womb = 1,
/obj/item/toy/plush/random = 1,
/obj/item/grenade/spawnergrenade/clustaur = 1,
/obj/effect/spawner/lootdrop/grille_or_trash = 5
+21 -12
View File
@@ -155,12 +155,12 @@
/obj/screen/alert/blob
name = "Fatty Blob"
desc = "Every last piece of your corpulent body is now plush and bloated with vast rolls of blubber. Your corpulence is such that you are akin to a gigantic, towering wad of dough. Your thoughts are scattered, and the only thing in your mind is that you want to eat more and more"
desc = "Every last piece of your corpulent body is now plush and bloated with vast rolls of blubber. Your corpulence is such that you are akin to a gigantic, towering wad of dough."
icon_state = "blob"
/obj/screen/alert/immobile
name = "Immobile"
desc = "Fat has taken over your body, now colossal in size and loaded with cumbersome flab. You are completely unable to move the bulk that has set upon your body. But for whatever reason, you can't help but blush with strange fascination at every moment you're aware of your tremendous size..."
desc = "Fat has taken over your body, now colossal in size and loaded with cumbersome flab. You are having a lot difficulty with moving the bulk that has set upon your body."
icon_state = "immobile"
/obj/screen/alert/barelymobile
@@ -175,22 +175,22 @@
/obj/screen/alert/morbidlyobese
name = "Morbidly Obese"
desc = "Every inch of you is stuffed with copious amounts of fat, you feel yourself struggling to haul the heft of your body. Your thoughts wander to strange, fleeting fantasies of growing bigger yet..."
desc = "Every inch of you is beginning to pack away lard, making your movements awkward and clunky. If your weight gain continues, walking might become a real issue."
icon_state = "morbobese"
/obj/screen/alert/obese
name = "Obese"
desc = "Your body is swollen with lard, and it's challenging to move. Despite this, there's something... pleasing about being so large."
desc = "Your body is swollen with lard, and your movement is starting to be slightly hindered by your weight."
icon_state = "obese"
/obj/screen/alert/veryfat
name = "Very fat"
desc = "You're beginning to inch closer and closer to proper obesity. The way your thighs rub against each and the rumbles your stomach produces suggests that you won't remain in this state for long..."
desc = "You're beginning to inch closer and closer to proper obesity. Your body is starting to slightly jiggle when you move around."
icon_state = "veryfat"
/obj/screen/alert/fatter
name = "Fat"
desc = "Clothes begin to cling onto your frame tighter and tighter, as your body begins to display first signs of fatness. It's still no big deal, right?"
desc = "Clothes begin to cling onto your frame tighter and tighter, as your body begins to display first signs of fatness."
icon_state = "fatter"
/obj/screen/alert/fat
@@ -201,20 +201,29 @@
//GS13 - fullness alerts
/obj/screen/alert/bloated
name = "Bloated stomach"
desc = "Your stomach is a bit too full"
name = "Bloated"
desc = "Your stomach is starting to feel packed."
icon_state = "Stuffed"
/obj/screen/alert/stuffed
name = "Completely stuffed"
desc = "Whatever you ate, you ate too much. Your stomach has stretched to accomodate its contents, forming a very obvious belly"
name = "Stuffed"
desc = "Whatever you ate, you ate too much. Your stomach has stretched to accomodate its contents, forming a very obvious stuffed belly."
icon_state = "Bloated"
/obj/screen/alert/beegbelly
name = "Walking belly"
desc = "You've somehow managed to fit even more in your stomach. Can you even stand?"
name = "Overfilled"
desc = "You've somehow managed to fit even more in your stomach, barely allowing for any more room inside."
icon_state = "beegbelly"
/obj/screen/alert/sated
name = "Sated"
desc = "You're perfectly rather sated right now."
icon_state = "sated"
/obj/screen/alert/full
name = "Full"
desc = "You're rather full right now. Eating more food would result in weight gain."
icon_state = "full"
/obj/screen/alert/hungry
name = "Hungry"
@@ -20,6 +20,28 @@
tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER)
category = CAT_MISC
/datum/crafting_recipe/weightmachine/stacklifter
name ="Stack Lifter"
result = /obj/structure/weightmachine/stacklifter
time = 50
reqs = list(/obj/item/stack/sheet/metal = 10)
category = CAT_MISC
/datum/crafting_recipe/weightmachine/weightlifter
name ="Weight Lifter"
result = /obj/structure/weightmachine/weightlifter
time = 50
reqs = list(/obj/item/stack/sheet/metal = 8,
/obj/item/stack/rods = 4)
category = CAT_MISC
/datum/crafting_recipe/punching_bag
name ="Punching Bag"
result = /obj/structure/punching_bag
time = 35
reqs = list(/obj/item/storage/backpack = 1,
/obj/item/stack/cable_coil = 2)
category = CAT_MISC
///////////////////
//Tools & Storage//
///////////////////
-16
View File
@@ -71,19 +71,3 @@
name = "Blueberry virus bottle"
desc = "A small bottle. Contains blueberry virus in synthblood medium."
spawned_disease = /datum/disease/advance/berry_virus
//admin variant of berry virus
/datum/disease/advance/berry_virus_extreme
copy_type = /datum/disease/advance
/datum/disease/advance/berry_virus_extreme/New(make_typecache = TRUE)
name = "Blueberry Virus"
symptoms = list(new/datum/symptom/berry/extreme)
..()
/obj/item/reagent_containers/glass/bottle/berry_extreme
name = "Blueberry virus bottle"
desc = "A small bottle. Contains blueberry virus in synthblood medium."
spawned_disease = /datum/disease/advance/berry_virus_extreme
+3
View File
@@ -76,6 +76,9 @@
/area/ruin/unpowered/syndicate_lava_base/circuits
name = "Syndicate Lavaland Circuit Lab"
/area/ruin/unpowered/syndicate_lava_base/nanites
name = "Syndicate Lavaland Nanite Lab"
/area/ruin/unpowered/syndicate_lava_base/outdoors //Putting this area down should prevent fauna from spawning nearby
name = "Syndicate Lavaland Approach"
icon_state = "red"
+4 -1
View File
@@ -128,7 +128,7 @@
return examine(user)
//Start growing a human clone in the pod!
/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, mutation_index, mindref, datum/species/mrace, list/features, factions, list/quirks, experimental = FALSE)
/obj/machinery/clonepod/proc/growclone(ckey, clonename, ui, mutation_index, mindref, datum/species/mrace, list/features, factions, list/quirks, experimental = FALSE, fatness)
if(panel_open)
return FALSE
if(mess || attempting)
@@ -223,6 +223,9 @@
var/mob/living/current = clonemind.current //gets body of current mind
if(!isnull(current))
size = current.size_multiplier * 100
if(fatness)
H.fatness_real = fatness
return TRUE
+7 -2
View File
@@ -76,7 +76,7 @@
if(pod.occupant)
continue //how though?
if(pod.growclone(R.fields["ckey"], R.fields["name"], R.fields["UI"], R.fields["SE"], R.fields["mind"], R.fields["mrace"], R.fields["features"], R.fields["factions"], R.fields["quirks"]))
if(pod.growclone(R.fields["ckey"], R.fields["name"], R.fields["UI"], R.fields["SE"], R.fields["mind"], R.fields["mrace"], R.fields["features"], R.fields["factions"], R.fields["quirks"], fatness=R.fields["fatness"]))
temp = "[R.fields["name"]] => <font class='good'>Cloning cycle in progress...</font>"
records -= R
@@ -416,7 +416,7 @@
else if(pod.occupant)
temp = "<font class='bad'>Cloning cycle already in progress.</font>"
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
else if(pod.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["features"], C.fields["factions"], C.fields["quirks"]))
else if(pod.growclone(C.fields["ckey"], C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["features"], C.fields["factions"], C.fields["quirks"], fatness=C.fields["fatness"]))
temp = "[C.fields["name"]] => <font class='good'>Cloning cycle in progress...</font>"
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
records.Remove(C)
@@ -495,6 +495,11 @@
R.fields["features"] = dna.features
R.fields["factions"] = mob_occupant.faction
R.fields["quirks"] = list()
R.fields["fatness"] = FALSE
var/mob/living/carbon/human/human_occupant = mob_occupant
if(istype(human_occupant))
R.fields["fatness"] = human_occupant.fatness_real
for(var/V in mob_occupant.roundstart_quirks)
var/datum/quirk/T = V
R.fields["quirks"][T.type] = T.clone_data()
@@ -641,7 +641,7 @@
always_up = 1
use_power = NO_POWER_USE
has_cover = 0
scan_range = 9
scan_range = 8
req_access = list(ACCESS_SYNDICATE)
mode = TURRET_LETHAL
stun_projectile = /obj/item/projectile/bullet
+6 -6
View File
@@ -125,9 +125,9 @@
icon_state = "brutepack"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_brute = 15
self_delay = 20
grind_results = list(/datum/reagent/medicine/styptic_powder = 10)
heal_brute = 7
self_delay = 30
grind_results = list(/datum/reagent/medicine/styptic_powder = 5)
/obj/item/stack/medical/bruise_pack/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
@@ -181,9 +181,9 @@
icon_state = "ointment"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
heal_burn = 15
self_delay = 20
grind_results = list(/datum/reagent/medicine/silver_sulfadiazine = 10)
heal_burn = 7
self_delay = 30
grind_results = list(/datum/reagent/medicine/silver_sulfadiazine = 5)
/obj/item/stack/medical/ointment/suicide_act(mob/living/user)
user.visible_message("<span class='suicide'>[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?</span>")
+10 -2
View File
@@ -340,12 +340,20 @@
/obj/item/storage/pill_bottle/breast_enlargement
name = "breast enlargement pills"
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warning states not to take more than 10u at a time."
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warning states not to take more than 30u at a time."
/obj/item/storage/pill_bottle/breast_enlargement/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/pill/breast_enlargement(src)
/obj/item/storage/pill_bottle/butt_enlargement
name = "butt enlargement pills"
desc = "Made by Fermichem - They have a figure with an ass larger than they are on them. The warning states not to take more than 30u at a time."
/obj/item/storage/pill_bottle/butt_enlargement/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/pill/butt_enlargement(src)
/////////////
//Organ Box//
/////////////
@@ -413,4 +421,4 @@
/obj/item/storage/pill_bottle/paxpsych/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/reagent_containers/pill/paxpsych(src)
new /obj/item/reagent_containers/pill/paxpsych(src)
+16
View File
@@ -151,3 +151,19 @@
pixel_x = 0
pixel_y = 0
return TRUE
//GS13 - a variant of lattice, used for maint wire protection
/obj/structure/catwalk_maint
name = "maint catwalk"
desc = "This catwalk seems to be placed in maintenance, in order to protect the wires."
max_integrity = 50
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk"
density = FALSE
anchored = TRUE
armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50)
max_integrity = 50
layer = HIGH_OBJ_LAYER
obj_flags = BLOCK_Z_FALL
+1 -1
View File
@@ -725,7 +725,7 @@
job_description = "Feeder Fanatic"
short_desc = "You are a member of a niche branch of Syndicate with... strange goals."
flavour_text = "After months of construction and gathering equipment, your den is finished - a monument to gluttony, equipped with every tool to turn any sharp body into a quivering mound of lard..."
important_info = "Keep your den in one piece and away from curious eyes! YOU AREN'T ALLOWED TO CAPTURE / FATTEN UP PEOPLE WHO DON'T DO NON-CON OR DIDN'T AGREE TO IT! Despite being able to leave the outpost, you do NOT have a permission to antag or grief."
important_info = "Keep your den in one piece and away from curious eyes! YOU AREN'T ALLOWED TO CAPTURE / FATTEN UP PEOPLE WHO DON'T DO NON-CON OR DIDN'T AGREE TO IT! Despite being able to leave the outpost, you do NOT have a permission to antag or grief. You're supposed to stay covert, not show yourself to the whole station!"
outfit = /datum/outfit/feeders_den/fanatic
faction = ROLE_SYNDICATE
mirrorcanloadappearance = TRUE
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -237,9 +237,9 @@
required_count = 5
wanted_types = list(/obj/structure/chair/plaswood)
/datum/bounty/item/assistant/condom
name = "Filled Condom"
description = "Something wack is happening at Central Command, and now they requested some filled condoms?"
reward = 1150
required_count = 5
wanted_types = list(/obj/item/condom/filled)
//datum/bounty/item/assistant/condom
// name = "Filled Condom"
// description = "Something wack is happening at Central Command, and now they requested some filled condoms?"
// reward = 1150
// required_count = 5
// wanted_types = list(/obj/item/condom/filled)
+42 -26
View File
@@ -107,6 +107,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/starting_weight = 0 //how thicc you wanna be at start
var/wg_rate = 0.5
var/wl_rate = 0.5
var/voice = "human"
//HS13 jobs
var/sillyroles = TRUE //for clown and mime
@@ -446,6 +447,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h2>Body</h2>"
dat += "<b>Gender:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]</a><BR>"
dat += "<b>Species:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=species;task=input'>[pref_species.id]</a><BR>"
dat += "<b>Voice:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=voice_select;task=input'>[voice ? voice : "None"]</a><BR>"
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>"
@@ -913,8 +915,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Vagina Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["vag_color"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=vag_color;task=input'>Change</a><br>"
dat += "<b>Has Womb:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=has_womb'>[features["has_womb"] == TRUE ? "Yes" : "No"]</a>"
if(features["has_womb"])
dat += "<b>Can Get Pregnant:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=can_get_preg'>[features["can_get_preg"] == TRUE ? "Yes" : "No"]</a>"
dat += "</td>"
dat += APPEARANCE_CATEGORY_COLUMN
dat += "<h3>Breasts</h3>"
@@ -1070,6 +1070,19 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Stuckage (weight results in getting stuck in doors):</b><a href='?_src_=prefs;preference=stuckage'>[stuckage == TRUE ? "Enabled" : "Disabled"]</a><BR>"
dat += "<b>Extreme Weight Gain (Sprite Size scales with weight):</b><a href='?_src_=prefs;preference=weight_gain_extreme'>[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]</a><BR>"
dat += "<h2>GS13 Helplessness Preferences</h2>"
dat += "<b>Please be careful when using these mechanics as not to use them in a way that negatively impacts those around you. If you are seriously needed for something, especially something station critical, do not use these as an excuse to ignore your duty.</b><BR><BR>"
dat += "<b>No Movement:</b><a href='?_src_=prefs;preference=helplessness_no_movement'>[helplessness_no_movement == FALSE ? "Disabled" : helplessness_no_movement]</a><BR>"
dat += "<b>Clumsy:</b><a href='?_src_=prefs;preference=helplessness_clumsy'>[helplessness_clumsy == FALSE ? "Disabled" : helplessness_clumsy]</a><BR>"
dat += "<b>Nearsighted:</b><a href='?_src_=prefs;preference=helplessness_nearsighted'>[helplessness_nearsighted == FALSE ? "Disabled" : helplessness_nearsighted]</a><BR>"
dat += "<b>Hidden Face:</b><a href='?_src_=prefs;preference=helplessness_hidden_face'>[helplessness_hidden_face == FALSE ? "Disabled" : helplessness_hidden_face]</a><BR>"
dat += "<b>Mute:</b><a href='?_src_=prefs;preference=helplessness_mute'>[helplessness_mute == FALSE ? "Disabled" : helplessness_mute]</a><BR>"
dat += "<b>Immobile Arms:</b><a href='?_src_=prefs;preference=helplessness_immobile_arms'>[helplessness_immobile_arms == FALSE ? "Disabled" : helplessness_immobile_arms]</a><BR>"
dat += "<b>Clothing Jumpsuit:</b><a href='?_src_=prefs;preference=helplessness_clothing_jumpsuit'>[helplessness_clothing_jumpsuit == FALSE ? "Disabled" : helplessness_clothing_jumpsuit]</a><BR>"
dat += "<b>Clothing, Suit, Boots, and Gloves:</b><a href='?_src_=prefs;preference=helplessness_clothing_misc'>[helplessness_clothing_misc == FALSE ? "Disabled" : helplessness_clothing_misc]</a><BR>"
dat += "<b>Clothing Back:</b><a href='?_src_=prefs;preference=helplessness_clothing_back'>[helplessness_clothing_back == FALSE ? "Disabled" : helplessness_clothing_back]</a><BR>"
dat += "<b>No Buckle:</b><a href='?_src_=prefs;preference=helplessness_no_buckle'>[helplessness_no_buckle == FALSE ? "Disabled" : helplessness_no_buckle]</a><BR>"
//Add the Hyper stuff below here
dat += "<h2>Hyper Preferences</h2>"
dat += "<b>NonCon - Bottom:</b><a href='?_src_=prefs;preference=noncon'>[noncon == TRUE ? "Enabled" : "Disabled"]</a><BR>"
@@ -1996,6 +2009,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
custom_species = null
if("voice_select")
var/chosenvoice = input(user, "Select your character's voice.", "Voice Selection", voice) in list("human", "roach", "lizard")
voice = chosenvoice
if("mutant_color")
var/new_mutantcolor = input(user, "Choose your character's alien/mutant color:", "Character Preference","#"+features["mcolor"]) as color|null
if(new_mutantcolor)
@@ -2648,30 +2665,28 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("blueberry_inflation")
blueberry_inflation = !blueberry_inflation
if("max_fatness")
var/pickedweight = input(user,
"Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit",
"Character Preference", "None") as null|anything in list(
"None", "Fat", "Fatter", "Very Fat", "Obese", "Morbidly Obese", "Extremely Obese", "Barely Mobile", "Immobile")
if(pickedweight)
switch(pickedweight)
if("None")
max_weight = FALSE
if("Fat")
max_weight = FATNESS_LEVEL_FATTER
if("Fatter")
max_weight = FATNESS_LEVEL_VERYFAT
if("Very Fat")
max_weight = FATNESS_LEVEL_OBESE
if("Obese")
max_weight = FATNESS_LEVEL_MORBIDLY_OBESE
if("Morbidly Obese")
max_weight = FATNESS_LEVEL_EXTREMELY_OBESE
if("Extremely Obese")
max_weight = FATNESS_LEVEL_BARELYMOBILE
if("Barely Mobile")
max_weight = FATNESS_LEVEL_IMMOBILE
if("Immobile")
max_weight = FATNESS_LEVEL_BLOB
max_weight = chose_weight("Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit", user)
if("helplessness_no_movement")
helplessness_no_movement = chose_weight("Choose the level of fatness that you would like to be made completely able to move at. None will disable this alltogether", user)
if("helplessness_clumsy")
helplessness_clumsy = chose_weight("Choose the level of fatness that you would like to be made clumsy at. None will disable this alltogether", user)
if("helplessness_nearsighted")
helplessness_nearsighted = chose_weight("Choose the level of fatness that you would like to be made nearsighted at. None will disable this alltogether", user)
if("helplessness_hidden_face")
helplessness_hidden_face = chose_weight("Choose the level of fatness that you would like to have you face hidden at. None will disable this alltogether", user)
if("helplessness_mute")
helplessness_mute = chose_weight("Choose the level of fatness that you would like to be made unable to speak at. None will disable this alltogether", user)
if("helplessness_immobile_arms")
helplessness_immobile_arms = chose_weight("Choose the level of fatness that you would like to be made unable to use your arms at. None will disable this alltogether", user)
if("helplessness_clothing_jumpsuit")
helplessness_clothing_jumpsuit = chose_weight("Choose the level of fatness that you would like to be made unable to wear jumpsuits at. None will disable this alltogether", user)
if("helplessness_clothing_misc")
helplessness_clothing_misc = chose_weight("Choose the level of fatness that you would like to be made unable to wear other non-jumpsuit clothing at. None will disable this alltogether", user)
if("helplessness_clothing_back")
helplessness_clothing_back = chose_weight("Choose the level of fatness that you would like to be made unable to wear anything on your back at. None will disable this alltogether", user)
if("helplessness_no_buckle")
helplessness_no_buckle = chose_weight("Choose the level of fatness that you would like to be made unable to be buckled to anything at. None will disable this alltogether", user)
if("inflatable_belly")
features["inflatable_belly"] = !features["inflatable_belly"]
@@ -2957,6 +2972,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.name = character.real_name
character.nameless = nameless
character.custom_species = custom_species
character.voice = voice
//h13 character custom body size, make sure to set to 100% if the player hasn't choosen one yet.
character.custom_body_size = body_size
@@ -159,6 +159,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["wl_rate"] >> wl_rate
S["noncon_weight_gain"] >> noncon_weight_gain
S["max_weight"] >> max_weight
S["helplessness_no_movement"] >> helplessness_no_movement
S["helplessness_clumsy"] >> helplessness_clumsy
S["helplessness_nearsighted"] >> helplessness_nearsighted
S["helplessness_hidden_face"] >> helplessness_hidden_face
S["helplessness_mute"] >> helplessness_mute
S["helplessness_immobile_arms"] >> helplessness_immobile_arms
S["helplessness_clothing_jumpsuit"] >> helplessness_clothing_jumpsuit
S["helplessness_clothing_misc"] >> helplessness_clothing_misc
S["helplessness_clothing_back"] >> helplessness_clothing_back
S["helplessness_no_buckle"] >> helplessness_no_buckle
S["stuckage"] >> stuckage
S["blueberry_inflation"] >> blueberry_inflation
@@ -302,6 +312,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["wl_rate"], wl_rate)
WRITE_FILE(S["noncon_weight_gain"], noncon_weight_gain)
WRITE_FILE(S["max_weight"], max_weight)
WRITE_FILE(S["helplessness_no_movement"], helplessness_no_movement)
WRITE_FILE(S["helplessness_clumsy"], helplessness_clumsy)
WRITE_FILE(S["helplessness_nearsighted"], helplessness_nearsighted)
WRITE_FILE(S["helplessness_hidden_face"], helplessness_hidden_face)
WRITE_FILE(S["helplessness_mute"], helplessness_mute)
WRITE_FILE(S["helplessness_immobile_arms"], helplessness_immobile_arms)
WRITE_FILE(S["helplessness_clothing_jumpsuit"], helplessness_clothing_jumpsuit)
WRITE_FILE(S["helplessness_clothing_misc"], helplessness_clothing_misc)
WRITE_FILE(S["helplessness_clothing_back"], helplessness_clothing_back)
WRITE_FILE(S["helplessness_no_buckle"], helplessness_no_buckle)
WRITE_FILE(S["stuckage"], stuckage)
WRITE_FILE(S["blueberry_inflation"], blueberry_inflation)
return 1
@@ -372,6 +392,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["skin_tone"] >> skin_tone
S["hair_style_name"] >> hair_style
S["facial_style_name"] >> facial_hair_style
S["voice"] >> voice
// GS13: Hair gradients from Skyrat
S["grad_style"] >> grad_style
S["grad_color"] >> grad_color
@@ -638,6 +659,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["skin_tone"] , skin_tone)
WRITE_FILE(S["hair_style_name"] , hair_style)
WRITE_FILE(S["facial_style_name"] , facial_hair_style)
WRITE_FILE(S["voice"] , voice)
// GS13: Hair gradients from Skyrat
WRITE_FILE(S["grad_style"] , grad_style)
WRITE_FILE(S["grad_color"] , grad_color)
+2 -2
View File
@@ -4,8 +4,8 @@
weight = 10
/datum/round_event/mice_migration
var/minimum_mice = 5
var/maximum_mice = 15
var/minimum_mice = 3
var/maximum_mice = 8
/datum/round_event/mice_migration/announce(fake)
var/cause = pick("space-winter", "budget-cuts", "Ragnarok",
@@ -105,6 +105,14 @@
result = /obj/item/reagent_containers/food/snacks/baguette
subcategory = CAT_MISCFOOD
/datum/crafting_recipe/food/peel
name = "Peel Egg-Plants"
time = 5
reqs = list(/obj/item/reagent_containers/food/snacks/grown/shell/eggy = 1)
result = /obj/item/reagent_containers/food/snacks/egg
subcategory = CAT_MISCFOOD
////////////////////////////////////////////////TOAST////////////////////////////////////////////////
/datum/crafting_recipe/food/slimetoast
@@ -25,7 +25,7 @@
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
armor = list("melee" = 30, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
armor = list("melee" = 35, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
resistance_flags = FIRE_PROOF
/obj/item/clothing/suit/hooded/explorer/standard
@@ -138,7 +138,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
hoodtype = /obj/item/clothing/head/hooded/explorer/seva
armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 25)
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
resistance_flags = FIRE_PROOF
/obj/item/clothing/head/hooded/explorer/seva
name = "SEVA Hood"
@@ -147,7 +147,7 @@
item_state = "seva"
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
armor = list("melee" = 10, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 25, "fire" = 100, "acid" = 25)
resistance_flags = FIRE_PROOF | GOLIATH_WEAKNESS
resistance_flags = FIRE_PROOF
/obj/item/clothing/mask/gas/seva
name = "SEVA Mask"
@@ -167,7 +167,7 @@
w_class = WEIGHT_CLASS_BULKY
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
hoodtype = /obj/item/clothing/head/hooded/explorer/exo
armor = list("melee" = 60, "bullet" = 15, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
armor = list("melee" = 50, "bullet" = 15, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
/obj/item/clothing/head/hooded/explorer/exo
@@ -175,7 +175,7 @@
desc = "A recent model of a tactical helmet that lacks camouflage. It is not known how it made its way into GATO. The helmet is designed to provide a squad leader with strategic superiority over the enemy via its many scanners and satellite communications devices, which have not been installed in this particular helmet. Comes with multi-layered Kevlar protection and armored elements."
icon_state = "exo"
item_state = "exo"
armor = list("melee" = 60, "bullet" = 15, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
armor = list("melee" = 50, "bullet" = 15, "laser" = 5, "energy" = 5, "bomb" = 60, "bio" = 25, "rad" = 10, "fire" = 0, "acid" = 0)
resistance_flags = FIRE_PROOF | GOLIATH_RESISTANCE
/obj/item/clothing/mask/gas/exo
+6 -2
View File
@@ -308,7 +308,7 @@
/obj/item/storage/backpack/duffelbag/mining_cloned
name = "mining replacement kit"
desc = "A large bag that has advance tools and a spare jumpsuit, boots, and gloves for a newly cloned miner to get back in the field. Even as a new Id!"
desc = "A large bag that has advance tools and a spare jumpsuit, boots, and gloves for a newly cloned miner to get back in the field. Even has a new Id!"
/obj/item/storage/backpack/duffelbag/mining_cloned/PopulateContents()
new /obj/item/pickaxe/mini(src)
@@ -330,13 +330,17 @@
/obj/machinery/mineral/equipment_vendor/proc/RedeemSVoucher(obj/item/suit_voucher/voucher, mob/redeemer)
var/items = list( "Exo-suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "exo"),
"SEVA suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "seva"))
"SEVA suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "seva"),
"explorer suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "explorer"))
var/selection = show_radial_menu(redeemer, src, items, require_near = TRUE, tooltips = TRUE)
if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer)
return
var/drop_location = drop_location()
switch(selection)
if("explorer suit")
new /obj/item/clothing/suit/hooded/explorer(drop_location)
new /obj/item/clothing/mask/gas/explorer(drop_location)
if("Exo-suit")
new /obj/item/clothing/suit/hooded/explorer/exo(drop_location)
new /obj/item/clothing/mask/gas/exo(drop_location)
@@ -79,3 +79,5 @@
var/account_id
can_be_held = "micro"
appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE
var/voice = "human"
@@ -1354,7 +1354,189 @@ GLOBAL_LIST_EMPTY(roundstart_races)
ADD_TRAIT(H, trait_gain, OBESITY)
update_body_size(H, 1)
/datum/species/proc/handle_helplessness(mob/living/carbon/human/fatty)
var/datum/preferences/preferences = fatty?.client?.prefs
if(!istype(preferences))
return FALSE
if(preferences.helplessness_no_movement)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_no_movement)
to_chat(fatty, "<span class='warning'>You have become too fat to move anymore.</span>")
ADD_TRAIT(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_no_movement)
to_chat(fatty, "<span class='notice'>You have become thin enough to regain some of your mobility.</span>")
REMOVE_TRAIT(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_NO_MOVE, HELPLESSNESS_TRAIT)
if(preferences.helplessness_clumsy)
if(!HAS_TRAIT_FROM(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_clumsy)
to_chat(fatty, "<span class='warning'>Your newfound weight has made it hard to manipulate objects.</span>")
ADD_TRAIT(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_clumsy)
to_chat(fatty, "<span class='notice'>You feel like you have lost enough weight to recover your dexterity.</span>")
REMOVE_TRAIT(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_CLUMSY, HELPLESSNESS_TRAIT)
if(preferences.helplessness_nearsighted)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NEARSIGHT, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_nearsighted)
to_chat(fatty, "<span class='warning'>Your fat makes it difficult to see the world around you. </span>")
fatty.become_nearsighted(HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_nearsighted)
to_chat(fatty, "<span class='notice'>You are thin enough to see your enviornment again. </span>")
fatty.cure_nearsighted(HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NEARSIGHT, HELPLESSNESS_TRAIT))
fatty.cure_nearsighted(HELPLESSNESS_TRAIT)
if(preferences.helplessness_hidden_face)
if(!HAS_TRAIT_FROM(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_hidden_face)
to_chat(fatty, "<span class='warning'>You have gotten fat enough that your face is now unrecognizable. </span>")
ADD_TRAIT(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_hidden_face)
to_chat(fatty, "<span class='notice'>You have lost enough weight to allow people to now recognize your face.</span>")
REMOVE_TRAIT(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_DISFIGURED, HELPLESSNESS_TRAIT)
if(preferences.helplessness_mute)
if(!HAS_TRAIT_FROM(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_mute)
to_chat(fatty, "<span class='warning'>Your fat makes it impossible for you to speak.</span>")
ADD_TRAIT(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_mute)
to_chat(fatty, "<span class='notice'>You are thin enough now to be able to speak again. </span>")
REMOVE_TRAIT(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_MUTE, HELPLESSNESS_TRAIT)
if(preferences.helplessness_immobile_arms)
if(!HAS_TRAIT_FROM(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_immobile_arms)
to_chat(fatty, "<span class='warning'>Your arms are now engulfed in fat, making it impossible to move your arms. </span>")
ADD_TRAIT(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT)
ADD_TRAIT(fatty, TRAIT_PARALYSIS_R_ARM, HELPLESSNESS_TRAIT)
fatty.update_disabled_bodyparts()
else if(fatty.fatness < preferences.helplessness_immobile_arms)
to_chat(fatty, "<span class='notice'>You are able to move your arms again. </span>")
REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT)
REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_R_ARM, HELPLESSNESS_TRAIT)
fatty.update_disabled_bodyparts()
else
if(HAS_TRAIT_FROM(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_L_ARM, HELPLESSNESS_TRAIT)
REMOVE_TRAIT(fatty, TRAIT_PARALYSIS_R_ARM, HELPLESSNESS_TRAIT)
fatty.update_disabled_bodyparts()
if(preferences.helplessness_clothing_jumpsuit)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_clothing_jumpsuit)
ADD_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)
var/obj/item/clothing/under/jumpsuit = fatty.w_uniform
if(istype(jumpsuit) && !istype(jumpsuit, /obj/item/clothing/under/color/grey/modular))
to_chat(fatty, "<span class='warning'>[jumpsuit] can no longer contain your weight!</span>")
fatty.dropItemToGround(jumpsuit)
else if(fatty.fatness < preferences.helplessness_clothing_jumpsuit)
to_chat(fatty, "<span class='notice'>You feel thin enough to put on jumpsuits now. </span>")
REMOVE_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_NO_JUMPSUIT, HELPLESSNESS_TRAIT)
if(preferences.helplessness_clothing_misc)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_clothing_misc)
ADD_TRAIT(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT)
var/obj/item/clothing/suit/worn_suit = fatty.wear_suit
if(istype(worn_suit))
to_chat(fatty, "<span class='warning'>[worn_suit] can no longer contain your weight!</span>")
fatty.dropItemToGround(worn_suit)
var/obj/item/clothing/gloves/worn_gloves = fatty.gloves
if(istype(worn_gloves))
to_chat(fatty, "<span class='warning'>[worn_gloves] can no longer contain your weight!</span>")
fatty.dropItemToGround(worn_gloves)
var/obj/item/clothing/shoes/worn_shoes = fatty.shoes
if(istype(worn_shoes))
to_chat(fatty, "<span class='warning'>[worn_shoes] can no longer contain your weight!</span>")
fatty.dropItemToGround(worn_shoes)
else if(fatty.fatness < preferences.helplessness_clothing_misc)
to_chat(fatty, "<span class='notice'>You feel thin enough to put on suits, shoes, and gloves now. </span>")
REMOVE_TRAIT(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_NO_MISC, HELPLESSNESS_TRAIT)
if(preferences.helplessness_clothing_back)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_clothing_back)
ADD_TRAIT(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT)
var/obj/item/back_item = fatty.back
if(istype(back_item))
to_chat(fatty, "<span class='warning'>Your weight makes it impossible for you to carry [back_item].</span>")
fatty.dropItemToGround(back_item)
else if(fatty.fatness < preferences.helplessness_clothing_back)
to_chat(fatty, "<span class='notice'>You feel thin enough to hold items on your back now. </span>")
REMOVE_TRAIT(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_NO_BACKPACK, HELPLESSNESS_TRAIT)
if(preferences.helplessness_no_buckle)
if(!HAS_TRAIT_FROM(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT))
if(fatty.fatness >= preferences.helplessness_no_buckle)
to_chat(fatty, "<span class='warning'>You feel like you've gotten too big to fit on anything.</span>")
ADD_TRAIT(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT)
else if(fatty.fatness < preferences.helplessness_no_buckle)
to_chat(fatty, "<span class='notice'>You feel thin enough to sit on things again. </span>")
REMOVE_TRAIT(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT)
else
if(HAS_TRAIT_FROM(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT))
REMOVE_TRAIT(fatty, TRAIT_NO_BUCKLE, HELPLESSNESS_TRAIT)
/datum/species/proc/handle_fatness(mob/living/carbon/human/H)
handle_helplessness(H)
if(HAS_TRAIT(H, TRAIT_BLOB))
handle_fatness_trait(
H,
+3
View File
@@ -497,6 +497,9 @@
. = ..()
message = null
emote_type = EMOTE_VISIBLE
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
playsound(usr.loc, "GainStation13/sound/voice/voices/[H.voice].ogg", 90, 10)
/datum/emote/living/custom/replace_pronoun(mob/user, message)
return message
+1 -2
View File
@@ -21,8 +21,7 @@
if(m_intent == MOVE_INTENT_WALK)
mod = CONFIG_GET(number/movedelay/walk_delay)
else
//mod = CONFIG_GET(number/movedelay/run_delay)
mod = 1.30
mod = CONFIG_GET(number/movedelay/run_delay)
if(!isnum(mod))
mod = 1
add_movespeed_modifier(MOVESPEED_ID_MOB_WALK_RUN_CONFIG_SPEED, TRUE, 100, override = TRUE, multiplicative_slowdown = mod)
+19
View File
@@ -219,6 +219,25 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(pressure < ONE_ATMOSPHERE*0.4) //Thin air, let's italicise the message
spans |= SPAN_ITALICS
if(ishuman(src))
var/mob/living/carbon/human/H = src
var/vmod = ""
switch(say_mod(message, message_mode))
if("asks")
vmod = "_ask"
if("exclaims")
vmod = "_exclaim"
if("yells")
vmod = "_exclaim"
switch(say_mod(message, message_mode))
if("whispers")
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 45, 5, -3)
if("yells")
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 130, 10, message_range+2)
else
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 90, 10, message_range)
//playsound(user.loc, pick('GainStation13/sound/voice/voices/speak_1.ogg', 'GainStation13/sound/voice/voices/speak_1_ask.ogg', 'GainStation13/sound/voice/voices/speak_1_exclaim.ogg'), 90, 10)
send_speech(message, message_range, src, bubble_type, spans, language, message_mode)
if(succumbed)
@@ -24,6 +24,7 @@
verb_ask = "flutters inquisitively"
verb_exclaim = "flutters intensely"
verb_yell = "flutters intensely"
blood_volume = 0
/mob/living/simple_animal/butterfly/Initialize()
. = ..()
+4
View File
@@ -84,6 +84,10 @@
if(!mob.Process_Spacemove(direct))
return FALSE
//GS13 EDIT
if(HAS_TRAIT(mob, TRAIT_NO_MOVE))
return FALSE
//We are now going to move
var/add_delay = mob.movement_delay()
+4
View File
@@ -72,6 +72,10 @@ proc/get_top_level_mob(var/mob/S)
if(M.stat == DEAD && M.client && (M.client?.prefs?.chat_toggles & CHAT_GHOSTSIGHT) && !(M in viewers(T, null)))
M.show_message(message)
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
playsound(usr.loc, "GainStation13/sound/voice/voices/[H.voice].ogg", 90, 10)
if(emote_type == EMOTE_AUDIBLE)
user.audible_message(message=message,hearing_distance=1)
else
@@ -329,7 +329,7 @@
if(STAGE_ONE)
steps = 1
if(STAGE_TWO)
steps = 3//Yes this is right
steps = 2
if(STAGE_THREE)
steps = 3
if(STAGE_FOUR)
@@ -1,7 +1,7 @@
/obj/item/projectile/bullet
name = "bullet"
icon_state = "bullet"
damage = 60
damage = 55
damage_type = BRUTE
nodamage = FALSE
candink = TRUE
@@ -14,7 +14,7 @@
icon_state = "spark"
color = "#FFFF00"
nodamage = 1
knockdown = 100
knockdown = 50
stutter = 5
jitter = 20
hitsound = 'sound/weapons/taserhit.ogg'
@@ -160,7 +160,7 @@
damage = 8
damage_type = TOX
nodamage = 0
knockdown = 100
knockdown = 50
stutter = 5
/obj/item/projectile/energy/bolt/halloween
@@ -4,7 +4,7 @@
damage = 8
damage_type = TOX
nodamage = 0
knockdown = 100
knockdown = 50
stutter = 5
drowsy = 50
@@ -282,4 +282,5 @@
name = "butt enlargement pill"
list_reagents = list(/datum/reagent/fermi/butt_enlarger = 10)
price = 4
icon_state = "pill_lewd"
icon_state = "pill_lewd"
+3 -3
View File
@@ -285,7 +285,7 @@
display_name = "Applied Bluespace Research"
description = "Using bluespace to make things faster and better."
prereq_ids = list("bluespace_basic", "engineering")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "tray_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 5000
@@ -377,7 +377,7 @@
display_name = "Advanced Robotics Research"
description = "It can even do the dishes!"
prereq_ids = list("robotics")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_arcd")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
export_price = 5000
@@ -403,7 +403,7 @@
display_name = "Cyborg Upgrades: Utility"
description = "Utility upgrades for cyborgs."
prereq_ids = list("engineering", "robotics")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped", "borg_tray_hold")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
export_price = 5000
@@ -91,6 +91,7 @@
/obj/item/seeds/gatfruit,
/obj/item/seeds/kudzu,
/obj/item/seeds/firelemon,
/obj/item/seeds/lipoplant, //GS13
/obj/item/seeds/random
))
+569
View File
@@ -0,0 +1,569 @@
/datum/map_template/shuttle
name = "Base Shuttle Template"
var/prefix = "_maps/shuttles/"
var/suffix
var/port_id
var/shuttle_id
var/description
var/prerequisites
var/admin_notes
var/credit_cost = INFINITY
var/can_be_bought = TRUE
var/port_x_offset
var/port_y_offset
/datum/map_template/shuttle/proc/prerequisites_met()
return TRUE
/datum/map_template/shuttle/New()
shuttle_id = "[port_id]_[suffix]"
mappath = "[prefix][shuttle_id].dmm"
. = ..()
/datum/map_template/shuttle/preload_size(path, cache)
. = ..(path, TRUE) // Done this way because we still want to know if someone actualy wanted to cache the map
if(!cached_map)
return
discover_port_offset()
if(!cache)
cached_map = null
/datum/map_template/shuttle/proc/discover_port_offset()
var/key
var/list/models = cached_map.grid_models
for(key in models)
if(findtext(models[key], "[/obj/docking_port/mobile]")) // Yay compile time checks
break // This works by assuming there will ever only be one mobile dock in a template at most
for(var/i in cached_map.gridSets)
var/datum/grid_set/gset = i
var/ycrd = gset.ycrd
for(var/line in gset.gridLines)
var/xcrd = gset.xcrd
for(var/j in 1 to length(line) step cached_map.key_len)
if(key == copytext(line, j, j + cached_map.key_len))
port_x_offset = xcrd
port_y_offset = ycrd
return
++xcrd
--ycrd
/datum/map_template/shuttle/load(turf/T, centered, register=TRUE)
. = ..()
if(!.)
return
var/list/turfs = block( locate(.[MAP_MINX], .[MAP_MINY], .[MAP_MINZ]),
locate(.[MAP_MAXX], .[MAP_MAXY], .[MAP_MAXZ]))
for(var/i in 1 to turfs.len)
var/turf/place = turfs[i]
if(istype(place, /turf/open/space)) // This assumes all shuttles are loaded in a single spot then moved to their real destination.
continue
if(length(place.baseturfs) < 2) // Some snowflake shuttle shit
continue
place.baseturfs.Insert(3, /turf/baseturf_skipover/shuttle)
for(var/obj/docking_port/mobile/port in place)
if(register)
port.register()
if(isnull(port_x_offset))
continue
switch(port.dir) // Yeah this looks a little ugly but mappers had to do this in their head before
if(NORTH)
port.width = width
port.height = height
port.dwidth = port_x_offset - 1
port.dheight = port_y_offset - 1
if(EAST)
port.width = height
port.height = width
port.dwidth = height - port_y_offset
port.dheight = port_x_offset - 1
if(SOUTH)
port.width = width
port.height = height
port.dwidth = width - port_x_offset
port.dheight = height - port_y_offset
if(WEST)
port.width = height
port.height = width
port.dwidth = port_y_offset - 1
port.dheight = width - port_x_offset
for(var/obj/structure/closet/closet in place)
if(closet.anchorable)
closet.anchored = TRUE
for(var/obj/structure/table/table in place)
table.AddComponent(/datum/component/magnetic_catch)
for(var/obj/structure/rack/rack in place)
rack.AddComponent(/datum/component/magnetic_catch)
//Whatever special stuff you want
/datum/map_template/shuttle/proc/on_bought()
return
/datum/map_template/shuttle/emergency
port_id = "emergency"
name = "Base Shuttle Template (Emergency)"
/datum/map_template/shuttle/cargo
port_id = "cargo"
name = "Base Shuttle Template (Cargo)"
/datum/map_template/shuttle/ferry
port_id = "ferry"
name = "Base Shuttle Template (Ferry)"
/datum/map_template/shuttle/whiteship
port_id = "whiteship"
/datum/map_template/shuttle/labour
port_id = "labour"
can_be_bought = FALSE
/datum/map_template/shuttle/mining
port_id = "mining"
can_be_bought = FALSE
/datum/map_template/shuttle/cargo
port_id = "cargo"
can_be_bought = FALSE
/datum/map_template/shuttle/arrival
port_id = "arrival"
can_be_bought = FALSE
/datum/map_template/shuttle/infiltrator
port_id = "infiltrator"
can_be_bought = FALSE
/datum/map_template/shuttle/aux_base
port_id = "aux_base"
can_be_bought = FALSE
/datum/map_template/shuttle/escape_pod
port_id = "escape_pod"
can_be_bought = FALSE
/datum/map_template/shuttle/assault_pod
port_id = "assault_pod"
can_be_bought = FALSE
/datum/map_template/shuttle/pirate
port_id = "pirate"
can_be_bought = FALSE
/datum/map_template/shuttle/ruin //For random shuttles in ruins
port_id = "ruin"
can_be_bought = FALSE
/datum/map_template/shuttle/snowdin
port_id = "snowdin"
can_be_bought = FALSE
// Shuttles start here:
/datum/map_template/shuttle/emergency/backup
suffix = "backup"
name = "Backup Shuttle"
can_be_bought = FALSE
/datum/map_template/shuttle/emergency/construction
suffix = "construction"
name = "Build your own shuttle kit"
description = "For the enterprising shuttle engineer! The chassis will dock upon purchase, but launch will have to be authorized as usual via shuttle call. Comes stocked with construction materials."
admin_notes = "No brig, no medical facilities, no shuttle console."
credit_cost = 2500
/datum/map_template/shuttle/emergency/airless/prerequisites_met()
// first 30 minutes only
return world.time - SSticker.round_start_time < 18000
/datum/map_template/shuttle/emergency/airless/on_bought()
//enable buying engines from cargo
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/engineering/shuttle_engine]
P.special_enabled = TRUE
/datum/map_template/shuttle/emergency/asteroid
suffix = "asteroid"
name = "Asteroid Station Emergency Shuttle"
description = "A respectable mid-sized shuttle that first saw service shuttling GATO crew to and from their asteroid belt embedded facilities."
credit_cost = 3000
/datum/map_template/shuttle/emergency/bar
suffix = "bar"
name = "The Emergency Escape Bar"
description = "Features include sentient bar staff (a Bardrone and a Barmaid), bathroom, a quality lounge for the heads, and a large gathering table."
admin_notes = "Bardrone and Barmaid are GODMODE, will be automatically sentienced by the fun balloon at 60 seconds before arrival. \
Has medical facilities."
credit_cost = 5000
/datum/map_template/shuttle/emergency/russiafightpit
suffix = "russiafightpit"
name = "Mother Russia Bleeds"
description = "Dis is a high-quality shuttle, da. Many seats, lots of space, all equipment! Even includes entertainment! Such as lots to drink, and a fighting arena for drunk crew to have fun! If arena not fun enough, simply press button of releasing bears. Do not worry, bears trained not to break out of fighting pit, so totally safe so long as nobody stupid or drunk enough to leave door open. Try not to let asimov babycons ruin fun!"
admin_notes = "Includes a small variety of weapons. And bears. Only captain-access can release the bears. Bears won't smash the windows themselves, but they can escape if someone lets them."
credit_cost = 5000 // While the shuttle is rusted and poorly maintained, trained bears are costly.
/datum/map_template/shuttle/emergency/meteor
suffix = "meteor"
name = "Asteroid With Engines Strapped To It"
description = "A hollowed out asteroid with engines strapped to it. Due to its size and difficulty in steering it, this shuttle may damage the docking area."
admin_notes = "This shuttle will likely crush escape, killing anyone there."
credit_cost = -5000
/datum/map_template/shuttle/emergency/luxury
suffix = "luxury"
name = "Luxury Shuttle"
description = "A luxurious golden shuttle complete with an indoor swimming pool. Each crewmember wishing to board must bring 500 credits, payable in cash and mineral coin."
admin_notes = "Due to the limited space for non paying crew, this shuttle may cause a riot."
credit_cost = 10000
/datum/map_template/shuttle/emergency/discoinferno
suffix = "discoinferno"
name = "Disco Inferno"
description = "The glorious results of centuries of plasma research done by GATO employees. This is the reason why you are here. Get on and dance like you're on fire, burn baby burn!"
admin_notes = "Flaming hot. The main area has a dance machine as well as plasma floor tiles that will be ignited by players every single time."
credit_cost = 10000
/datum/map_template/shuttle/emergency/arena
suffix = "arena"
name = "The Arena"
description = "The crew must pass through an otherworldy arena to board this shuttle. Expect massive casualties. The source of the Bloody Signal must be tracked down and eliminated to unlock this shuttle."
admin_notes = "RIP AND TEAR."
credit_cost = 10000
/datum/map_template/shuttle/emergency/arena/prerequisites_met()
if("bubblegum" in SSshuttle.shuttle_purchase_requirements_met)
return TRUE
return FALSE
/datum/map_template/shuttle/emergency/birdboat
suffix = "birdboat"
name = "Birdboat Station Emergency Shuttle"
description = "Though a little on the small side, this shuttle is feature complete, which is more than can be said for the pattern of station it was commissioned for."
credit_cost = 1000
/datum/map_template/shuttle/emergency/box
suffix = "box"
name = "Box Station Emergency Shuttle"
credit_cost = 2000
description = "The gold standard in emergency exfiltration, this tried and true design is equipped with everything the crew needs for a safe flight home."
/datum/map_template/shuttle/emergency/clown
suffix = "clown"
name = "Snappop(tm)!"
description = "Hey kids and grownups! \
Are you bored of DULL and TEDIOUS shuttle journeys after you're evacuating for probably BORING reasons. Well then order the Snappop(tm) today! \
We've got fun activities for everyone, an all access cockpit, and no boring security brig! Boo! Play dress up with your friends! \
Collect all the bedsheets before your neighbour does! Check if the AI is watching you with our patent pending \"Peeping Tom AI Multitool Detector\" or PEEEEEETUR for short. \
Have a fun ride!"
admin_notes = "Brig is replaced by anchored greentext book surrounded by lavaland chasms, stationside door has been removed to prevent accidental dropping. No brig."
credit_cost = 8000
/datum/map_template/shuttle/emergency/cramped
suffix = "cramped"
name = "Secure Transport Vessel 5 (STV5)"
description = "Well, looks like CentCom only had this ship in the area, they probably weren't expecting you to need evac for a while. \
Probably best if you don't rifle around in whatever equipment they were transporting. I hope you're friendly with your coworkers, because there is very little space in this thing.\n\
\n\
Contains contraband armory guns, maintenance loot, and abandoned crates!"
admin_notes = "Due to origin as a solo piloted secure vessel, has an active GPS onboard labeled STV5. Has roughly as much space as Hi Daniel, except with explosive crates."
/datum/map_template/shuttle/emergency/meta
suffix = "meta"
name = "Meta Station Emergency Shuttle"
credit_cost = 4000
description = "A fairly standard shuttle, though larger and slightly better equipped than the Box Station variant."
/datum/map_template/shuttle/emergency/kilo
suffix = "kilo"
name = "Kilo Station Emergency Shuttle"
credit_cost = 5000
description = "A fully functional shuttle including a complete infirmary, storage facilties and regular amenities."
/datum/map_template/shuttle/emergency/mini
suffix = "mini"
name = "Ministation emergency shuttle"
credit_cost = 1000
description = "Despite its namesake, this shuttle is actually only slightly smaller than standard, and still complete with a brig and medbay."
/datum/map_template/shuttle/emergency/scrapheap
suffix = "scrapheap"
name = "Standby Evacuation Vessel \"Scrapheap Challenge\""
credit_cost = -1000
description = "Due to a lack of functional emergency shuttles, we bought this second hand from a scrapyard and pressed it into service. Please do not lean too heavily on the exterior windows, they are fragile."
admin_notes = "An abomination with no functional medbay, sections missing, and some very fragile windows. Surprisingly airtight."
/datum/map_template/shuttle/emergency/syndicate
suffix = "syndicate"
name = "Syndicate GM Battlecruiser"
credit_cost = 20000
description = "Manufactured by the Gorlex Marauders, this cruiser has been specially designed with high occupancy in mind, while remaining robust in combat situations. Features a fully stocked EVA storage, armory, medbay, and bar!"
admin_notes = "An emag exclusive, stocked with syndicate equipment and turrets that will target any simplemob."
/datum/map_template/shuttle/emergency/syndicate/prerequisites_met()
if("emagged" in SSshuttle.shuttle_purchase_requirements_met)
return TRUE
return FALSE
/datum/map_template/shuttle/emergency/narnar
suffix = "narnar"
name = "Shuttle 667"
description = "Looks like this shuttle may have wandered into the darkness between the stars on route to the station. Let's not think too hard about where all the bodies came from."
admin_notes = "Contains real cult ruins, mob eyeballs, and inactive constructs. Cult mobs will automatically be sentienced by fun balloon. \
Cloning pods in 'medbay' area are showcases and nonfunctional."
/datum/map_template/shuttle/emergency/pubby
suffix = "pubby"
name = "Pubby Station Emergency Shuttle"
description = "A train but in space! Complete with a first, second class, brig and storage area."
admin_notes = "Choo choo motherfucker!"
credit_cost = 1000
/datum/map_template/shuttle/emergency/cere
suffix = "cere"
name = "Cere Station Emergency Shuttle"
description = "The large, beefed-up version of the box-standard shuttle. Includes an expanded brig, fully stocked medbay, enhanced cargo storage with mech chargers, \
an engine room stocked with various supplies, and a crew capacity of 80+ to top it all off. Live large, live Cere."
admin_notes = "Seriously big, even larger than the Delta shuttle."
credit_cost = 10000
/datum/map_template/shuttle/emergency/supermatter
suffix = "supermatter"
name = "Hyperfractal Gigashuttle"
description = "\"I dunno, this seems kinda needlessly complicated.\"\n\
\"This shuttle has very a very high safety record, according to CentCom Officer Cadet Yins.\"\n\
\"Are you sure?\"\n\
\"Yes, it has a safety record of N-A-N, which is apparently larger than 100%.\""
admin_notes = "Supermatter that spawns on shuttle is special anchored 'hugbox' supermatter that cannot take damage and does not take in or emit gas. \
Outside of admin intervention, it cannot explode. \
It does, however, still dust anything on contact, emits high levels of radiation, and induce hallucinations in anyone looking at it without protective goggles. \
Emitters spawn powered on, expect admin notices, they are harmless."
credit_cost = 100000
/datum/map_template/shuttle/emergency/imfedupwiththisworld
suffix = "imfedupwiththisworld"
name = "Oh, Hi Daniel"
description = "How was space work today? Oh, pretty good. We got a new space station and the company will make a lot of money. What space station? I cannot tell you; it's space confidential. \
Aw, come space on. Why not? No, I can't. Anyway, how is your space roleplay life?"
admin_notes = "Tiny, with a single airlock and wooden walls. What could go wrong?"
credit_cost = -5000
/datum/map_template/shuttle/emergency/goon
suffix = "goon"
name = "NES Port"
description = "The GATO Emergency Shuttle Port(NES Port for short) is a shuttle used at other less known GATO facilities and has a more open inside for larger crowds, but fewer onboard shuttle facilities."
credit_cost = 500
/datum/map_template/shuttle/emergency/wabbajack
suffix = "wabbajack"
name = "GATO Lepton Violet"
description = "The research team based on this vessel went missing one day, and no amount of investigation could discover what happened to them. \
The only occupants were a number of dead rodents, who appeared to have clawed each other to death. \
Needless to say, no engineering team wanted to go near the thing, and it's only being used as an Emergency Escape Shuttle because there is literally nothing else available."
admin_notes = "If the crew can solve the puzzle, they will wake the wabbajack statue. It will likely not end well. There's a reason it's boarded up. Maybe they should have just left it alone."
credit_cost = 15000
/datum/map_template/shuttle/emergency/omega
suffix = "omega"
name = "Omegastation Emergency Shuttle"
description = "On the smaller size with a modern design, this shuttle is for the crew who like the cosier things, while still being able to stretch their legs."
credit_cost = 1000
/datum/map_template/shuttle/ferry/base
suffix = "base"
name = "transport ferry"
description = "Standard issue Box/Metastation CentCom ferry."
/datum/map_template/shuttle/ferry/meat
suffix = "meat"
name = "\"meat\" ferry"
description = "Ahoy! We got all kinds o' meat aft here. Meat from plant people, people who be dark, not in a racist way, just they're dark black. \
Oh and lizard meat too,mighty popular that is. Definitely 100% fresh, just ask this guy here. *person on meatspike moans* See? \
Definitely high quality meat, nothin' wrong with it, nothin' added, definitely no zombifyin' reagents!"
admin_notes = "Meat currently contains no zombifying reagents, lizard on meatspike must be spawned in."
/datum/map_template/shuttle/ferry/lighthouse
suffix = "lighthouse"
name = "The Lighthouse(?)"
description = "*static*... part of a much larger vessel, possibly military in origin. \
The weapon markings aren't anything we've seen ...static... by almost never the same person twice, possible use of unknown storage ...static... \
seeing ERT officers onboard, but no missions are on file for ...static...static...annoying jingle... only at The LIGHTHOUSE! \
Fulfilling needs you didn't even know you had. We've got EVERYTHING, and something else!"
admin_notes = "Currently larger than ferry docking port on Box, will not hit anything, but must be force docked. Trader and ERT bodyguards are not included."
/datum/map_template/shuttle/ferry/fancy
suffix = "fancy"
name = "fancy transport ferry"
description = "At some point, someone upgraded the ferry to have fancier flooring... and less seats."
/datum/map_template/shuttle/ferry/kilo
suffix = "kilo"
name = "kilo transport ferry"
description = "Standard issue CentCom Ferry for Kilo pattern stations. Includes additional equipment and rechargers."
/datum/map_template/shuttle/whiteship/box
suffix = "box"
name = "Hospital Ship"
/datum/map_template/shuttle/whiteship/meta
suffix = "meta"
name = "Salvage Ship"
/datum/map_template/shuttle/whiteship/pubby
suffix = "pubby"
name = "GATO White UFO"
/datum/map_template/shuttle/whiteship/cere
suffix = "cere"
name = "GATO Construction Vessel"
/datum/map_template/shuttle/whiteship/delta
suffix = "delta"
name = "GATO Frigate"
/datum/map_template/shuttle/whiteship/pod
suffix = "whiteship_pod"
name = "Salvage Pod"
/datum/map_template/shuttle/cargo/box
suffix = "box"
name = "supply shuttle (Box)"
/datum/map_template/shuttle/cargo/birdboat
suffix = "birdboat"
name = "supply shuttle (Birdboat)"
/datum/map_template/shuttle/emergency/delta
suffix = "delta"
name = "Delta Station Emergency Shuttle"
description = "A large shuttle for a large station, this shuttle can comfortably fit all your overpopulation and crowding needs. Complete with all facilities plus additional equipment."
admin_notes = "Go big or go home."
credit_cost = 7500
/datum/map_template/shuttle/emergency/raven
suffix = "raven"
name = "CentCom Raven Battlecruiser"
description = "The CentCom Raven Battlecruiser is currently docked at the CentCom ship bay awaiting a mission, this Battlecruiser has been reassigned as an emergency escape shuttle for currently unknown reasons. The CentCom Raven Battlecruiser should comfortably fit a medium to large crew size crew and is complete with all required facitlities including a top of the range CentCom Medical Bay."
admin_notes = "Comes with turrets that will target any simplemob."
credit_cost = 12500
/datum/map_template/shuttle/arrival/box
suffix = "box"
name = "arrival shuttle (Box)"
/datum/map_template/shuttle/cargo/box
suffix = "box"
name = "cargo ferry (Box)"
/datum/map_template/shuttle/mining/box
suffix = "box"
name = "mining shuttle (Box)"
/datum/map_template/shuttle/labour/box
suffix = "box"
name = "labour shuttle (Box)"
/datum/map_template/shuttle/infiltrator/basic
suffix = "basic"
name = "basic syndicate infiltrator"
/datum/map_template/shuttle/cargo/delta
suffix = "delta"
name = "cargo ferry (Delta)"
/datum/map_template/shuttle/mining/delta
suffix = "delta"
name = "mining shuttle (Delta)"
/datum/map_template/shuttle/labour/delta
suffix = "delta"
name = "labour shuttle (Delta)"
/datum/map_template/shuttle/arrival/delta
suffix = "delta"
name = "arrival shuttle (Delta)"
/datum/map_template/shuttle/arrival/kilo
suffix = "kilo"
name = "arrival shuttle (Kilo)"
/datum/map_template/shuttle/mining/kilo
suffix = "kilo"
name = "mining shuttle (Kilo)"
/datum/map_template/shuttle/cargo/kilo
suffix = "kilo"
name = "supply shuttle (Kilo)"
/datum/map_template/shuttle/labour/kilo
suffix = "kilo"
name = "labour shuttle (Kilo)"
/datum/map_template/shuttle/arrival/pubby
suffix = "pubby"
name = "arrival shuttle (Pubby)"
/datum/map_template/shuttle/arrival/omega
suffix = "omega"
name = "arrival shuttle (Omega)"
/datum/map_template/shuttle/aux_base/default
suffix = "default"
name = "auxilliary base (Default)"
/datum/map_template/shuttle/aux_base/small
suffix = "small"
name = "auxilliary base (Small)"
/datum/map_template/shuttle/escape_pod/default
suffix = "default"
name = "escape pod (Default)"
/datum/map_template/shuttle/escape_pod/large
suffix = "large"
name = "escape pod (Large)"
/datum/map_template/shuttle/assault_pod/default
suffix = "default"
name = "assault pod (Default)"
/datum/map_template/shuttle/pirate/default
suffix = "default"
name = "pirate ship (Default)"
/datum/map_template/shuttle/ruin/caravan_victim
suffix = "caravan_victim"
name = "Small Freighter"
/datum/map_template/shuttle/ruin/pirate_cutter
suffix = "pirate_cutter"
name = "Pirate Cutter"
/datum/map_template/shuttle/ruin/syndicate_dropship
suffix = "syndicate_dropship"
name = "Syndicate Dropship"
/datum/map_template/shuttle/ruin/syndicate_fighter_shiv
suffix = "syndicate_fighter_shiv"
name = "Syndicate Fighter"
/datum/map_template/shuttle/snowdin/mining
suffix = "mining"
name = "Snowdin Mining Elevator"
/datum/map_template/shuttle/snowdin/excavation
suffix = "excavation"
name = "Snowdin Excavation Elevator"
/datum/map_template/shuttle/snowdin/transit
suffix = "transit"
name = "Snowdin Transit Shuttle"
+4 -4
View File
@@ -122,7 +122,7 @@
uses = 1
starting_organ = /obj/item/organ/genital/breasts
/obj/item/autosurgeon/womb
desc = "A single use autosurgeon that contains a womb. A screwdriver can be used to remove it, but implants can't be placed back in."
uses = 1
starting_organ = /obj/item/organ/genital/womb
// /obj/item/autosurgeon/womb
// desc = "A single use autosurgeon that contains a womb. A screwdriver can be used to remove it, but implants can't be placed back in."
// uses = 1
// starting_organ = /obj/item/organ/genital/womb
+6
View File
@@ -11,6 +11,12 @@
/obj/item/clothing/head/fedora = 3,
/obj/item/clothing/suit/jacket/letterman_gato = 5, //GS13
/obj/item/clothing/under/color/grey/modular = 6, //GS13
/obj/item/clothing/suit/hooded/hoodie = 3,
/obj/item/clothing/suit/hooded/hoodie/purple = 3,
/obj/item/clothing/suit/hooded/hoodie/red = 3,
/obj/item/clothing/suit/hooded/hoodie/blue = 3,
/obj/item/clothing/suit/hooded/hoodie/green = 3,
/obj/item/clothing/suit/hooded/hoodie/black = 3,
/obj/item/clothing/glasses/monocle = 3,
/obj/item/clothing/suit/jacket = 4,
/obj/item/clothing/suit/jacket/flannel = 4,