Label GS13 changes

Since commit 5084020 on Jan 30, 2023
This commit is contained in:
psq95
2023-08-29 21:05:42 +01:00
parent 8e09f3b9ca
commit cb43bf0dfc
77 changed files with 253 additions and 247 deletions
+1
View File
@@ -1023,6 +1023,7 @@ structure_check() searches for nearby cultist structures required for the invoca
var/datum/round_event_control/mice_migration/M = new()
D.runEvent()
M.runEvent()
// GS13: Disable radiation_storm
// if(11 to 20)
// var/datum/round_event_control/radiation_storm/RS = new()
// RS.runEvent()
@@ -36,8 +36,8 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
new /datum/disease_ability/symptom/powerful/fire,
new /datum/disease_ability/symptom/powerful/flesh_eating,
// new /datum/disease_ability/symptom/powerful/genetic_mutation,
new /datum/disease_ability/symptom/powerful/inorganic_adaptation,
new /datum/disease_ability/symptom/medium/undead_adaptation,
new /datum/disease_ability/symptom/powerful/inorganic_adaptation, // GS13
new /datum/disease_ability/symptom/medium/undead_adaptation, // GS13
new /datum/disease_ability/symptom/powerful/heal/starlight,
new /datum/disease_ability/symptom/powerful/heal/oxygen,
new /datum/disease_ability/symptom/powerful/heal/chem,
@@ -411,12 +411,12 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
cost = 8
*/
/datum/disease_ability/symptom/powerful/inorganic_adaptation
/datum/disease_ability/symptom/powerful/inorganic_adaptation // GS13
symptoms = list(/datum/symptom/inorganic_adaptation)
short_desc = "Allows to infect inorganic races."
long_desc = "Allows to infect inorganic races. Includes plasmamen and golems."
/datum/disease_ability/symptom/medium/undead_adaptation
/datum/disease_ability/symptom/medium/undead_adaptation // GS13
symptoms = list(/datum/symptom/undead_adaptation)
short_desc = "Allows to infect undead races."
long_desc = "Allows to infect undead races. Includes skeletons, zombies, and vampires."
@@ -429,17 +429,15 @@ GLOBAL_LIST_INIT(disease_ability_singletons, list(
short_desc = "Cause victims to become eternally young."
long_desc = "Cause victims to become eternally young. Provides boosts to all stats except transmissibility."
//GS13 additions
/datum/disease_ability/symptom/medium/heal/weight_gain
/datum/disease_ability/symptom/medium/heal/weight_gain // GS13
symptoms = list(/datum/symptom/weight_gain)
short_desc = "Cause victims to gain weight."
long_desc = "Cause victims to gain weight. Boosts stage speed, but weakens all other stats."
/datum/disease_ability/symptom/medium/robotic_adaptation
/datum/disease_ability/symptom/medium/robotic_adaptation // GS13
symptoms = list(/datum/symptom/robotic_adaptation)
short_desc = "Allows to infect robotic races."
long_desc = "Allows to infect robotic races. Includes synthetic lizards and ipcs."
//--end here
/****HEALING SUBTYPE****/
@@ -1,6 +1,6 @@
#define CHALLENGE_TELECRYSTALS 280
#define PLAYER_SCALING 1.5
#define CHALLENGE_TIME_LIMIT 10000
#define CHALLENGE_TIME_LIMIT 10000 // GS13 edit
#define CHALLENGE_PLAYERS_TARGET 50 //target players population. anything below is a malus to the challenge tc bonus.
#define TELECRYSTALS_MALUS_SCALING 1 //the higher the value, the bigger the malus.
#define CHALLENGE_SHUTTLE_DELAY 15000 // 25 minutes, so the ops have at least 5 minutes before the shuttle is callable.
@@ -662,8 +662,7 @@ This is here to make the tiles around the station mininuke change when it's arme
var/datum/round_event_control/operative/loneop = locate(/datum/round_event_control/operative) in SSevents.control
if(istype(loneop))
loneop.weight += 1
// if(loneop.weight % 5 == 0)
// message_admins("[src] is stationary in [ADMIN_VERBOSEJMP(newturf)]. The weight of Lone Operative is now [loneop.weight].") // Commenting this out because it's a fucking pain for the admins - GLDW
// GS13: Remove admin notification
log_game("[src] is stationary for too long in [loc_name(newturf)], and has increased the weight of the Lone Operative event to [loneop.weight].")
else
lastlocation = newturf
+1 -1
View File
@@ -398,7 +398,7 @@
/obj/item/stack/tile/carpet/red/fifty,
/obj/item/stack/tile/carpet/royalblue/fifty,
/obj/item/stack/tile/carpet/royalblue/fifty,
/obj/item/stack/tile/carpet/gato/fifty,
/obj/item/stack/tile/carpet/gato/fifty, // GS13
/obj/item/stack/tile/carpet/gato/fifty,
/obj/item/stack/tile/carpet/royalblack/fifty,
/obj/item/stack/tile/carpet/royalblack/fifty,
+12 -14
View File
@@ -95,9 +95,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/skin_tone = "caucasian1" //Skin color
var/eye_color = "000" //Eye color
var/wing_color = "fff" //Wing color
var/grad_style //Hair gradient style
// GS13: Hair gradients from Skyrat
var/grad_color = "FFFFFF" //Hair gradient color
var/grad_style = "000" //Hair gradient style
//HS13
var/body_size = 100 //Body Size in percent
@@ -514,14 +514,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<a href='?_src_=prefs;preference=previous_facehair_style;task=input'>&lt;</a> <a href='?_src_=prefs;preference=next_facehair_style;task=input'>&gt;</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[facial_hair_color];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=facial;task=input'>Change</a><BR>"
// GS13: Hair gradients from Skyrat
dat += "<h3>Hair Gradient</h3>"
dat += "<a style='display:block;width:100px' href='?_src_=prefs;preference=grad_style;task=input'>[grad_style]</a>"
dat += "<a href='?_src_=prefs;preference=previous_grad_style;task=input'>&lt;</a> <a href='?_src_=prefs;preference=next_grad_style;task=input'>&gt;</a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[grad_color];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=grad_color;task=input'>Change</a><BR>"
dat += "</td>"
//Mutant stuff
var/mutant_category = 0
@@ -948,6 +947,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["belly_color"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=belly_color;task=input'>Change</a><br>"
dat += "<b>Hide on Round-Start:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=hide_belly'>[features["hide_belly"] == 1 ? "Yes" : "No"]</a>"
// GS13: tweak inflation description
dat += "<b>Inflation (climax with and manual belly size change in arousal menu):</b><a style='display:block;width:50px' href='?_src_=prefs;preference=inflatable_belly'>[features["inflatable_belly"] == 1 ? "Yes" : "No"]</a>"
dat += "</td>"
@@ -1883,26 +1883,22 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("previous_facehair_style")
facial_hair_style = previous_list_item(facial_hair_style, GLOB.facial_hair_styles_list)
// GS13: Hair gradients from Skyrat
if("grad_color")
var/new_grad_color = input(user, "Choose your character's gradient colour:", "Character Preference","#"+grad_color) as color|null
if(new_grad_color)
grad_color = sanitize_hexcolor(new_grad_color, 6)
if("grad_style")
var/new_grad_style
new_grad_style = input(user, "Choose your character's hair gradient style:", "Character Preference") as null|anything in GLOB.hair_gradients_list
if(new_grad_style)
grad_style = new_grad_style
if("next_grad_style")
grad_style = next_list_item(grad_style, GLOB.hair_gradients_list)
if("previous_grad_style")
grad_style = previous_list_item(grad_style, GLOB.hair_gradients_list)
if("cycle_bg")
bgstate = next_list_item(bgstate, bgstate_options)
@@ -2587,6 +2583,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["inflatable_belly"] = FALSE
features["belly_size"] = 1
// GS13
if("weight_gain_items")
weight_gain_items = !weight_gain_items
if("weight_gain_chems")
@@ -2599,11 +2596,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
weight_gain_magic = !weight_gain_magic
if("weight_gain_viruses")
weight_gain_viruses = !weight_gain_viruses
if("noncon_weight_gain")
noncon_weight_gain = !noncon_weight_gain
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")
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")
@@ -2625,8 +2624,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("Immobile")
max_weight = FATNESS_LEVEL_BLOB
if("inflatable_belly")
features["inflatable_belly"] = !features["inflatable_belly"]
if("hide_belly")
@@ -2935,10 +2932,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.hair_style = hair_style
character.facial_hair_style = facial_hair_style
// GS13: Hair gradients from Skyrat
character.grad_style = grad_style
character.grad_color = grad_color
character.underwear = underwear
character.underwear = underwear
character.saved_underwear = underwear
character.undershirt = undershirt
character.saved_undershirt = undershirt
+8 -5
View File
@@ -349,6 +349,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
// GS13: Hair gradients from Skyrat
S["grad_style"] >> grad_style
S["grad_color"] >> grad_color
S["underwear"] >> underwear
@@ -532,9 +533,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
socks_color = sanitize_hexcolor(socks_color, 3, 0, initial(socks_color))
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
hair_color = sanitize_hexcolor(hair_color, 3, 0)
facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0)
grad_style = sanitize_inlist(grad_style, GLOB.hair_gradients_list)
grad_color = sanitize_hexcolor(grad_color, 6, FALSE)
facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0)
// GS13: Hair gradients from Skyrat
grad_style = sanitize_inlist(grad_style, GLOB.hair_gradients_list)
grad_color = sanitize_hexcolor(grad_color, 6, FALSE)
eye_color = sanitize_hexcolor(eye_color, 3, 0)
skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones)
wing_color = sanitize_hexcolor(wing_color, 3, FALSE, "#FFFFFF")
@@ -611,8 +613,9 @@ 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["grad_style"] , grad_style)
WRITE_FILE(S["grad_color"] , grad_color)
// GS13: Hair gradients from Skyrat
WRITE_FILE(S["grad_style"] , grad_style)
WRITE_FILE(S["grad_color"] , grad_color)
WRITE_FILE(S["underwear"] , underwear)
WRITE_FILE(S["body_size"] , body_size)
WRITE_FILE(S["starting_weight"] , starting_weight)
+2 -2
View File
@@ -517,8 +517,8 @@
icon_state = "letterman_s"
item_state = "letterman_s"
/obj/item/clothing/suit/jacket/letterman_gato
name = "Gato letterman jacket"
/obj/item/clothing/suit/jacket/letterman_gato // GS13
name = "GATO letterman jacket"
desc = "A GATO themed letterman jacket. Perfect for repping your pride in the company as you violently murder russian mobsters"
icon_state = "letterman_gato"
item_state = "letterman_gato"
+2 -1
View File
@@ -22,7 +22,8 @@
/datum/round_event/disease_outbreak/start()
var/advanced_virus = FALSE
max_severity = 3 + CLAMP(FLOOR((world.time - control.earliest_start)/6000, 1),0, 5) //3 symptoms at 20 minutes, plus 1 per 10 minutes, maximum 8 to prevent it getting all symptoms
// GS13: 3 symptoms at 20 minutes, plus 1 per 10 minutes, maximum 8 to prevent it getting all symptoms
max_severity = 3 + CLAMP(FLOOR((world.time - control.earliest_start)/6000, 1),0, 5)
if(prob(20 + (10 * max_severity)))
advanced_virus = TRUE
+1 -1
View File
@@ -5,7 +5,7 @@
max_occurrences = 0
min_players = 400 // To avoid shafting lowpop
// Made the event impossible to come across to bolster server's RP quality a bit - GLDW
// GS13: Made the event impossible to come across to bolster server's RP quality a bit - GLDW
/datum/round_event/heart_attack/start()
var/list/heart_attack_contestants = list()
@@ -6,7 +6,7 @@
earliest_start = 900 MINUTES
min_players = 100
// I made the event practically impossible, as an RP tweak - GLDW
// GS13: Made the event practically impossible, as an RP tweak - GLDW
/datum/round_event/spontaneous_appendicitis
fakeable = FALSE
@@ -751,7 +751,7 @@
tastes = list("pastry" = 1, "sweetness" = 1)
foodtype = GRAIN | SUGAR
#define PANCAKE_MAX_STACK 20 //Doubled the stacking size. Snack away, snacksters! - GLDW
#define PANCAKE_MAX_STACK 20 // GS13: Doubled the stacking size. Snack away, snacksters! - GLDW
/obj/item/reagent_containers/food/snacks/pancakes
name = "pancake"
@@ -1087,7 +1087,7 @@
"Solid Plasma" = IC_PINTYPE_NUMBER,
"Uranium" = IC_PINTYPE_NUMBER,
"Bananium" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER, // GS13
"Titanium" = IC_PINTYPE_NUMBER,
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
"Biomass" = IC_PINTYPE_NUMBER,
@@ -1099,8 +1099,10 @@
)
spawn_flags = IC_SPAWN_RESEARCH
power_draw_per_use = 40
var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_BIOMASS)
// GS13 calorite
var/list/mtypes = list(
MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA,
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_BIOMASS)
/obj/item/integrated_circuit/input/matscan/do_work()
var/atom/movable/H = get_pin_data_as_type(IC_INPUT, 1, /atom/movable)
@@ -372,7 +372,7 @@
"Solid Plasma" = IC_PINTYPE_NUMBER,
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
"Bananium" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER, // GS13
"Titanium" = IC_PINTYPE_NUMBER,
)
outputs = list(
@@ -387,7 +387,7 @@
"Solid Plasma" = IC_PINTYPE_NUMBER,
"Bluespace Mesh" = IC_PINTYPE_NUMBER,
"Bananium" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER,
"Calorite" = IC_PINTYPE_NUMBER, // GS13
"Titanium" = IC_PINTYPE_NUMBER
)
activators = list(
@@ -402,12 +402,19 @@
power_draw_per_use = 40
ext_cooldown = 1
cooldown_per_use = 10
var/list/mtypes = list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE)
// GS13 calorite
var/list/mtypes = list(
MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA,
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE)
/obj/item/integrated_circuit/manipulation/matman/Initialize()
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE), 0,
FALSE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
// GS13 calorite
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(
MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA,
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE),
0, FALSE, /obj/item/stack,
CALLBACK(src, .proc/is_insertion_ready),
CALLBACK(src, .proc/AfterMaterialInsert))
materials.max_amount =100000
materials.precise_insertion = TRUE
.=..()
@@ -11,7 +11,7 @@
desc = "It's watching you suspiciously."
/obj/structure/closet/crate/necropolis/tendril/PopulateContents()
var/loot = rand(1,34)
var/loot = rand(1,33)
switch(loot)
if(1)
new /obj/item/shared_storage/red(src)
@@ -65,7 +65,7 @@
new /obj/item/circuitboard/machine/plantgenes/vault
if(23)
new /obj/item/grenade/clusterbuster/soap(src)
new /obj/item/grenade/chem_grenade/glitter/pink(src)
new /obj/item/grenade/chem_grenade/glitter/pink(src) // GS13
new /obj/item/grenade/chem_grenade/glitter/blue(src)
if(24)
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
@@ -79,8 +79,9 @@
new /obj/item/bedsheet/cult(src)
if(28)
new /obj/item/clothing/neck/necklace/memento_mori(src)
// GS13
if(29)
new /obj/item/book/granter/spell/fattening(src) //GS13 STUFF
new /obj/item/book/granter/spell/fattening(src)
new /obj/item/grenade/chem_grenade/lipoifier_weak(src)
if(30)
new /obj/item/book/granter/spell/fattening/transfer(src)
@@ -91,8 +92,6 @@
new /obj/item/gun/energy/fatoray/cannon(src)
if(33)
new /obj/item/gun/magic/wand/food(src)
// if(29)
// new /obj/item/clothing/gloves/gauntlets(src)
//KA modkit design discs
/obj/item/disk/design_disk/modkit_disc
@@ -190,6 +189,7 @@
to_chat(itemUser, failText)
return
if(do_after(itemUser, 30, target = itemUser))
// GS13: "sentient creatures"
itemUser.say("I will remember that I remain a member of society, with special obligations to all my fellow sentient creatures, those sound of mind and body as well as the infirm.", forced = "hippocratic oath")
else
to_chat(itemUser, failText)
+4 -7
View File
@@ -7,9 +7,7 @@
layer = WALL_OBJ_LAYER
var/list/hit_sounds = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg',\
'sound/weapons/punch1.ogg', 'sound/weapons/punch2.ogg', 'sound/weapons/punch3.ogg', 'sound/weapons/punch4.ogg')
//GS13 EDIT
///How much fatness is lost when punching?
var/loss_per_punch = 2.5
var/loss_per_punch = 2.5 // GS13
/obj/structure/punching_bag/attack_hand(mob/user as mob)
. = ..()
@@ -22,7 +20,7 @@
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise)
L.apply_status_effect(STATUS_EFFECT_EXERCISED)
//GS13 EDIT
//GS13
var/mob/living/carbon/puncher = user
if(puncher)
puncher.adjust_fatness(-loss_per_punch, FATTENING_TYPE_WEIGHT_LOSS)
@@ -33,8 +31,7 @@
density = TRUE
anchored = TRUE
var/icon_state_inuse
//GS13 EDIT
///How much fatness is lost when using the machine?
//GS13
var/loss_per_use = 30
/obj/structure/weightmachine/proc/AnimateMachine(mob/living/user)
@@ -66,7 +63,7 @@
to_chat(user, finishmessage)
user.apply_status_effect(STATUS_EFFECT_EXERCISED)
//GS13 Edit
//GS13
var/mob/living/carbon/lifter = user
if(lifter)
lifter.adjust_fatness(-loss_per_use, FATTENING_TYPE_WEIGHT_LOSS)
+5 -1
View File
@@ -82,7 +82,11 @@
/obj/machinery/mineral/processing_unit/Initialize()
. = ..()
proximity_monitor = new(src, 1)
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE), INFINITY, TRUE, /obj/item/stack)
// GS13 calorite
AddComponent(/datum/component/material_container, list(
MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA,
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE),
INFINITY, TRUE, /obj/item/stack)
stored_research = new /datum/techweb/specialized/autounlocking/smelter
/obj/machinery/mineral/processing_unit/Destroy()
+13 -1
View File
@@ -17,7 +17,19 @@
var/ore_pickup_rate = 15
var/sheet_per_ore = 1
var/point_upgrade = 1
var/list/ore_values = list(MAT_GLASS = 1, MAT_METAL = 1, MAT_PLASMA = 15, MAT_SILVER = 16, MAT_GOLD = 18, MAT_TITANIUM = 30, MAT_URANIUM = 30, MAT_DIAMOND = 50, MAT_BLUESPACE = 50, MAT_BANANIUM = 60, MAT_CALORITE = 40)
// GS13 calorite
var/list/ore_values = list(
MAT_GLASS = 1,
MAT_METAL = 1,
MAT_PLASMA = 15,
MAT_SILVER = 16,
MAT_GOLD = 18,
MAT_TITANIUM = 30,
MAT_URANIUM = 30,
MAT_DIAMOND = 50,
MAT_BLUESPACE = 50,
MAT_BANANIUM = 60,
MAT_CALORITE = 40)
var/message_sent = FALSE
var/list/ore_buffer = list()
var/datum/techweb/stored_research
+5 -8
View File
@@ -15,14 +15,11 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
/obj/machinery/ore_silo/Initialize(mapload)
. = ..()
AddComponent(/datum/component/material_container,
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
INFINITY,
FALSE,
/obj/item/stack,
null,
null,
TRUE)
// GS13 calorite
AddComponent(/datum/component/material_container, list(
MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA,
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
INFINITY, FALSE, /obj/item/stack, null, null, TRUE)
if (!GLOB.ore_silo_default && mapload && is_station_level(z))
GLOB.ore_silo_default = src
+1
View File
@@ -28,6 +28,7 @@
attack_sound = 'sound/weapons/circsawhit.ogg'
sentience_type = SENTIENCE_MINEBOT
speak_emote = list("states")
// GS13 calorite
wanted_objects = list(/obj/item/stack/ore/diamond, /obj/item/stack/ore/gold, /obj/item/stack/ore/silver,
/obj/item/stack/ore/plasma, /obj/item/stack/ore/uranium, /obj/item/stack/ore/iron,
/obj/item/stack/ore/bananium, /obj/item/stack/ore/calorite, /obj/item/stack/ore/titanium)
+5 -1
View File
@@ -15,7 +15,11 @@
/obj/machinery/mineral/mint/Initialize()
. = ..()
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM, MAT_CALORITE), MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack)
// GS13 calorite
AddComponent(/datum/component/material_container, list(
MAT_METAL, MAT_PLASMA, MAT_SILVER, MAT_GOLD,
MAT_URANIUM, MAT_DIAMOND, MAT_BANANIUM, MAT_CALORITE),
MINERAL_MATERIAL_AMOUNT * 50, FALSE, /obj/item/stack)
/obj/machinery/mineral/mint/process()
var/turf/T = get_step(src, input_dir)
@@ -290,7 +290,7 @@
observer.started_as_observer = TRUE
src.client.respawn_observing = 1
src.client.lastrespawn = world.time + 180 SECONDS //reset respawn.
src.client.lastrespawn = world.time + respawn_time SECONDS
close_spawn_windows()
var/obj/effect/landmark/observer_start/O = locate(/obj/effect/landmark/observer_start) in GLOB.landmarks_list
to_chat(src, "<span class='notice'>Now teleporting.</span>")
@@ -833,8 +833,7 @@
icon_state = "hair_tailhair2"
ckeys_allowed = list("quotefox")
//Hair gradients
// GS13: Hair gradients from Skyrat
/datum/sprite_accessory/hair_gradient
icon = 'icons/mob/hair_gradients.dmi'
+3 -2
View File
@@ -287,9 +287,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
// CITADEL EDIT
if(istype(loc, /obj/machinery/cryopod))
var/response = alert(src, "Are you -sure- you want to ghost?\n(If you ghost now, you will have to wait a minute before you are able to respawn!)","Are you sure you want to ghost?","Ghost","Stay in body")
// GS13: "a minute"
var/response = alert(src, "Are you -sure- you want to ghost?\n(If you ghost now, you will have to wait [respawn_time] seconds before you are able to respawn!)","Are you sure you want to ghost?","Ghost","Stay in body")
if(response != "Ghost")//darn copypaste
client.lastrespawn = world.time + 180 SECONDS //set respawn time
client.lastrespawn = world.time + respawn_time SECONDS
return
var/obj/machinery/cryopod/C = loc
C.despawn_occupant()
@@ -386,7 +386,7 @@
if(digitalcamo)
msg += "[t_He] [t_is] moving [t_his] body in an unnatural and blatantly inhuman manner.\n"
if(client?.prefs?.noncon_weight_gain)
if(client?.prefs?.noncon_weight_gain) // GS13
msg += "<span class='purple'><b>Non-con fattening is allowed</b></span>\n"
if (length(msg))
@@ -10,13 +10,9 @@
var/hair_color = "000"
var/hair_style = "Bald"
///Colour used for the hair gradient.
var/grad_color = "000"
///Style used for the hair gradient.
var/grad_style
// GS13: Hair gradients from Skyrat
var/grad_color = "FFFFFF"
var/grad_style = "000"
//Facial hair colour and style
var/facial_hair_color = "000"
@@ -16,10 +16,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/hair_alpha = 255 // the alpha used by the hair. 255 is completely solid, 0 is transparent.
var/wing_color
///The gradient style used for the mob's hair.
var/grad_style
///The gradient color used to color the gradient.
var/grad_color
// GS13: Hair gradients from Skyrat
var/grad_style // The gradient style used for the mob's hair.
var/grad_color // The gradient color used to color the gradient.
var/use_skintones = 0 // does it use skintones or not? (spoiler alert this is only used by humans)
var/exotic_blood = "" // If your race wants to bleed something other than bog standard blood, change this to reagent id.
@@ -468,8 +467,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
else
hair_overlay.color = "#" + H.hair_color
//Gradients
// GS13: Hair gradients from Skyrat
grad_style = H.grad_style
grad_color = H.grad_color
if(grad_style)
@@ -480,7 +478,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
gradient_overlay.icon = temp
gradient_overlay.color = "#" + grad_color
else
hair_overlay.color = forced_colour
hair_overlay.alpha = hair_alpha
@@ -1249,6 +1246,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
//LIFE//
////////
// GS13 Procs to handle fatness
/datum/species/proc/update_body_size(mob/living/carbon/human/H, size_change)
if (!H)
return
@@ -1647,32 +1645,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/grav_force = min(gravity - STANDARD_GRAVITY,3)
. += 1 + grav_force
/*var/datum/component/mood/mood = H.GetComponent(/datum/component/mood)
//removed because mood now influences action speed. Hyperstation 13.
if(mood && !flight) //How can depression slow you down if you can just fly away from your problems?
switch(mood.sanity)
if(SANITY_INSANE to SANITY_CRAZY)
. += 1.5
if(SANITY_CRAZY to SANITY_UNSTABLE)
. += 1
if(SANITY_UNSTABLE to SANITY_DISTURBED)
. += 0.5
*/
/* if(HAS_TRAIT(H, TRAIT_FAT))
. += (1 - flight)
if(HAS_TRAIT(H, TRAIT_OBESE))//GS13 fat levels move speed decrease
. += (1.5 - flight)
if(HAS_TRAIT(H, TRAIT_MORBIDLYOBESE))
. += (2 - flight)
if(HAS_TRAIT(H, TRAIT_IMMOBILE))
. += 3 // No wings are going to lift that much off the ground
if(HAS_TRAIT(H, TRAIT_BLOB))
. += 4
if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD))
. += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR
return .
*/
if(H.fatness)
// Hyperstation 13: Mood now influences action speed.
if(H.fatness) // GS13
var/fatness_delay = (H.fatness / FATNESS_DIVISOR)
if(H.fatness < FATNESS_LEVEL_BARELYMOBILE)
fatness_delay = fatness_delay - flight
@@ -1681,6 +1656,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
fatness_delay = fatness_delay * FATNESS_STRONGLEGS_MODIFIER
fatness_delay = min(fatness_delay, FATNESS_MAX_MOVE_PENALTY)
if(HAS_TRAIT(H, TRAIT_WEAKLEGS))
if(H.fatness <= FATNESS_LEVEL_IMMOBILE)
fatness_delay += fatness_delay * FATNESS_WEAKLEGS_MODIFIER / 100
@@ -1694,9 +1670,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
. += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR
return .
//////////////////
// ATTACK PROCS //
//////////////////
//////////////////
// ATTACK PROCS //
@@ -3,6 +3,7 @@
name = "Podperson"
id = "pod"
default_color = "59CE00"
// GS13: Podpeople Customisation
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAIR,FACEHAIR,WINGCOLOR)
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID
mutant_bodyparts = list("mam_tail", "mam_ears", "mam_body_markings", "mam_snouts","mam_waggingtail","spines", "horns", "frills", "legs", "taur", "deco_wings")
@@ -31,7 +32,7 @@
C.faction -= "plants"
C.faction -= "vines"
/datum/species/pod/qualifies_for_rank(rank, list/features)
/datum/species/pod/qualifies_for_rank(rank, list/features) // GS13
return TRUE
@@ -75,6 +76,7 @@
if(/obj/item/projectile/energy/florayield)
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
// GS13 edit
/datum/species/pod/spec_death(gibbed, mob/living/carbon/human/H)
if(H)
stop_wagging_tail(H)
@@ -101,6 +103,7 @@
mutant_bodyparts -= "mam_waggingtail"
mutant_bodyparts |= "mam_tail"
H.update_body()
// GS13 edit end
/datum/species/pod/pseudo_weak
id = "podweak"
+1 -1
View File
@@ -628,7 +628,7 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put
if(slurring || drunkenness)
slurring = max(slurring-1,0,drunkenness)
if(burpslurring)
if(burpslurring) // GS13
burpslurring = max(burpslurring-1,0)
if(cultslurring)
+1 -1
View File
@@ -93,7 +93,7 @@
if (client)
client.move_delay = initial(client.move_delay)
client.lastrespawn = world.time + 1800 SECONDS //on death, 30 min respawn time.
client.lastrespawn = world.time + respawn_time SECONDS
for(var/s in ownedSoullinks)
var/datum/soullink/S = s
+3 -2
View File
@@ -1,4 +1,5 @@
/mob
var/respawn_time = 60
/mob/Destroy()//This makes sure that mobs with clients/keys are not just deleted from the game.
GLOB.mob_list -= src
@@ -473,7 +474,7 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA
qdel(M)
return
usr.client.lastrespawn = world.time + 180 SECONDS
usr.client.lastrespawn = world.time + respawn_time SECONDS
usr.client.respawn_observing = 0
message_admins("[client.ckey] respawned.")
M.ckey = ckey //shamelessly copied to
+1 -2
View File
@@ -61,8 +61,7 @@
var/dizziness = 0//Carbon
var/jitteriness = 0//Carbon
///How full is the parent mob?
var/fullness = FULLNESS_LEVEL_HALF_FULL
var/fullness = FULLNESS_LEVEL_HALF_FULL // GS13
var/nutrition = NUTRITION_LEVEL_START_MIN // randomised in Initialize
var/thirst = THIRST_LEVEL_START_MIN //same for this
var/satiety = 0//Carbon
+1
View File
@@ -28,6 +28,7 @@
/obj/item/paper/contract/employment/update_text()
name = "paper- [target] employment contract"
// GS13: "galactic sector", unbound clause
info = "<center>Conditions of Employment</center><BR><BR><BR><BR>This Agreement is made and entered into as of the date of last signature below, by and between [target] (hereafter referred to as SLAVE), and GATO (hereafter referred to as the omnipresent and helpful watcher of this galactic sector).<BR>WITNESSETH:<BR>WHEREAS, SLAVE is a natural born human or humanoid, possessing skills upon which he can aid the omnipresent and helpful watcher of this galactic sector, who seeks employment in the omnipresent and helpful watcher of this galactic sector.<BR>WHEREAS, the omnipresent and helpful watcher of this galactic sector agrees to regularly provide payment to SLAVE, in exchange for permanent servitude.<BR>NOW THEREFORE in consideration of the mutual covenants herein contained, and other good and valuable consideration, the parties hereto mutually agree as follows:<BR>In exchange for payments, SLAVE agrees to work for the omnipresent and helpful watcher of this galactic sector, for the remainder of his or her current and future lives.<BR>Further, SLAVE agrees to transfer ownership of his or her soul to the loyalty department of the omnipresent and helpful watcher of this galactic sector.<BR>Should transfership of a soul not be possible, a lien shall be placed instead. The contract may only be unbound by supervision of proper Central Command officials, under strict terms previously discussed between SLAVE and the omnipresent and helpful watcher of this galactic sector. <BR>Signed,<BR><i>[target]</i>"
@@ -1,4 +1,4 @@
/obj/item/gun/fatbeam
/obj/item/gun/fatbeam // GS13
name = "Fatbeam Gun"
desc = "Apparently used to treat malnourished patients from a safe distance... But we all know what it will truly be used for."
icon = 'icons/obj/fatbeam.dmi'
+1 -1
View File
@@ -209,7 +209,7 @@
/mob/living/simple_animal/hostile/lizard,
/mob/living/simple_animal/pet/fox,
/mob/living/simple_animal/butterfly,
/mob/living/simple_animal/friendly/cakegolem //pet/cat/cak,
/mob/living/simple_animal/friendly/cakegolem,
/mob/living/simple_animal/chick)
new_mob = new path(M.loc)
@@ -453,7 +453,7 @@
taste_description = "slime"
/datum/reagent/consumable/cornoil/on_mob_life(mob/living/carbon/M)
if(M && M?.client?.prefs.weight_gain_chems)
if(M && M?.client?.prefs.weight_gain_chems) // GS13
M.nutrition += 20 * REAGENTS_METABOLISM
else
M.nutrition += 1
@@ -819,7 +819,8 @@
/datum/reagent/mulligan
name = "Mulligan Toxin"
description = "This toxin will rapidly change the DNA of sentient creature. Commonly used by Syndicate spies and assassins in need of an emergency ID change."
// GS13: "sentient creatures"
description = "This toxin will rapidly change the DNA of sentient creatures. Commonly used by Syndicate spies and assassins in need of an emergency ID change."
color = "#5EFF3B" //RGB: 94, 255, 59
metabolization_rate = INFINITY
taste_description = "slime"
@@ -1899,14 +1900,12 @@
name = "Liquid GATO-style Carpet"
color = "#6d3392"
/datum/reagent/carpet/gato/reaction_turf(turf/T, reac_volume)
/datum/reagent/carpet/gato/reaction_turf(turf/T, reac_volume) // GS13
if(isplatingturf(T) || istype(T, /turf/open/floor/plasteel))
var/turf/open/floor/F = T
F.PlaceOnTop(/turf/open/floor/carpet/gato)
..()
/datum/reagent/carpet/red
name = "Liquid Red Carpet"
color = "#871515"
@@ -135,7 +135,7 @@
pH = 8
/datum/reagent/toxin/minttoxin/on_mob_life(mob/living/carbon/M)
if(HAS_TRAIT(M, TRAIT_BLOB))
if(HAS_TRAIT(M, TRAIT_BLOB)) // GS13
M.gib()
return ..()
@@ -607,6 +607,7 @@
taste_description = "mothballs"
reagent_state = LIQUID
color = "#F0FFF0"
// GS13 tweak
metabolization_rate = 0.7 * REAGENTS_METABOLISM
overdose_threshold = 105
@@ -697,7 +697,7 @@
required_reagents = list(/datum/reagent/carpet = 1, /datum/reagent/stable_plasma = 1)
/datum/chemical_reaction/carpet/purple //GS13
name = "liquid gato carpet"
name = "liquid GATO carpet"
id = /datum/reagent/carpet/gato
results = list(/datum/reagent/carpet/gato = 2)
required_reagents = list(/datum/reagent/carpet = 1, /datum/reagent/consumable/sugar = 1)
+12 -3
View File
@@ -119,8 +119,17 @@
scan_state = "rock_Strange"
/turf/closed/mineral/random/volcanic/strangerock
// GS13 calorite
mineralSpawnChanceList = list(
/turf/closed/mineral/uranium/volcanic = 2, /turf/closed/mineral/diamond/volcanic = 1, /turf/closed/mineral/gold/volcanic = 4, /turf/closed/mineral/titanium/volcanic = 4,
/turf/closed/mineral/silver/volcanic = 10, /turf/closed/mineral/plasma/volcanic = 15, /turf/closed/mineral/bscrystal/volcanic = 1, /turf/closed/mineral/gibtonite/volcanic = 2,
/turf/closed/mineral/iron/volcanic = 40, /obj/item/stack/ore/calorite = 1, /turf/closed/mineral/strange = 15)
/turf/closed/mineral/uranium/volcanic = 2,
/turf/closed/mineral/diamond/volcanic = 1,
/turf/closed/mineral/gold/volcanic = 4,
/turf/closed/mineral/titanium/volcanic = 4,
/turf/closed/mineral/silver/volcanic = 10,
/turf/closed/mineral/plasma/volcanic = 15,
/turf/closed/mineral/bscrystal/volcanic = 1,
/turf/closed/mineral/gibtonite/volcanic = 2,
/turf/closed/mineral/iron/volcanic = 40,
/obj/item/stack/ore/calorite = 1,
/turf/closed/mineral/strange = 15)
+1
View File
@@ -60,6 +60,7 @@
/obj/item/golem_shell/attackby(obj/item/I, mob/user, params)
..()
// GS13 calorite
var/static/list/golem_shell_species_types = list(
/obj/item/stack/sheet/metal = /datum/species/golem,
/obj/item/stack/sheet/glass = /datum/species/golem/glass,
@@ -83,7 +83,7 @@
/obj/effect/gluttony/CanPass(atom/movable/mover, turf/target)//So bullets will fly over and stuff.
if(ishuman(mover))
var/mob/living/carbon/human/H = mover
if(H.fatness >= 1000)
if(H.fatness >= 1000) // GS13
H.visible_message("<span class='warning'>[H] pushes through [src]!</span>", "<span class='notice'>You've seen and eaten worse than this.</span>")
return TRUE
else
@@ -13,8 +13,8 @@
var/hunger_threshold = NUTRITION_LEVEL_STARVING
var/synthesizing = 0
var/poison_amount = 5
var/nutrition_amount = 50
var/message = "<span class='notice'>You feel less hungry...</span>"
var/nutrition_amount = 50 // GS13
var/message = "<span class='notice'>You feel less hungry...</span>" // GS13
slot = ORGAN_SLOT_STOMACH_AID
/obj/item/organ/cyberimp/chest/nutriment/on_life()
+1
View File
@@ -6,6 +6,7 @@
icon_deny = "clothes-deny"
product_slogans = "Dress for success!;Prepare to look swagalicious!;Look at all this free swag!;Why leave style up to fate? Use the ClothesMate!"
vend_reply = "Thank you for using the ClothesMate!"
// GS13: GATO Letterman Jacket
products = list(/obj/item/clothing/head/that = 4,
/obj/item/clothing/head/fedora = 3,
/obj/item/clothing/suit/jacket/letterman_gato = 5,