mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-09 23:21:02 +01:00
@@ -28,7 +28,8 @@
|
||||
|
||||
fatness += amount_to_change
|
||||
fatness = max(fatness, MINIMUM_FATNESS_LEVEL) //It would be a little silly if someone got negative fat.
|
||||
if(client?.prefs?.max_weight)
|
||||
|
||||
if(client?.prefs?.max_weight) // GS13
|
||||
fatness = min(fatness, (client?.prefs?.max_weight - 1))
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/reagent_containers/food/snacks/gbburrito
|
||||
name = "\improper Gato Gas Giant Burrito"
|
||||
name = "\improper GATO Gas Giant Burrito"
|
||||
icon_state = "gbburrito"
|
||||
desc = "More than three pounds of beans, meat, and cheese wrapped in a greasy tortilla. It's piping hot."
|
||||
trash = null
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
//Math stuff for fatness movement speed
|
||||
#define FATNESS_DIVISOR 860
|
||||
#define FATNESS_MAX_MOVE_PENALTY 4
|
||||
#define FATNESS_WEAKLEGS_MODIFIER 35
|
||||
#define FATNESS_WEAKLEGS_MODIFIER 35 // GS13 tweak
|
||||
#define FATNESS_STRONGLEGS_MODIFIER 0.5
|
||||
|
||||
//Nutrition levels for humans
|
||||
|
||||
@@ -86,14 +86,14 @@
|
||||
var/datum/emote/E = new path()
|
||||
E.emote_list[E.key] = E
|
||||
|
||||
//Crafting Recipes
|
||||
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
|
||||
|
||||
//Hair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into a list indexed by gradient-style name
|
||||
// GS13: Hair Gradients from Skyrat - Initialise all /datum/sprite_accessory/hair_gradient into a list indexed by gradient-style name
|
||||
for(var/path in subtypesof(/datum/sprite_accessory/hair_gradient))
|
||||
var/datum/sprite_accessory/hair_gradient/H = new path()
|
||||
GLOB.hair_gradients_list[H.name] = H
|
||||
|
||||
//Crafting Recipes
|
||||
init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
|
||||
|
||||
//creates every subtype of prototype (excluding prototype) and adds it to list L.
|
||||
//if no list/L is provided, one is created.
|
||||
/proc/init_subtypes(prototype, list/L)
|
||||
|
||||
@@ -6,6 +6,7 @@ GLOBAL_LIST_EMPTY(hair_styles_female_list) //stores only hair names
|
||||
GLOBAL_LIST_EMPTY(facial_hair_styles_list) //stores /datum/sprite_accessory/facial_hair indexed by name
|
||||
GLOBAL_LIST_EMPTY(facial_hair_styles_male_list) //stores only hair names
|
||||
GLOBAL_LIST_EMPTY(facial_hair_styles_female_list) //stores only hair names
|
||||
// GS13: Hair gradients from Skyrat
|
||||
GLOBAL_LIST_EMPTY(hair_gradients_list) //stores /datum/sprite_accessory/hair_gradient indexed by name
|
||||
//Underwear
|
||||
GLOBAL_LIST_EMPTY(underwear_list) //stores /datum/sprite_accessory/underwear/bottom indexed by name
|
||||
|
||||
@@ -26,14 +26,17 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
|
||||
list("Ananas Affinity","Ananas Aversion"),
|
||||
list("Alcohol Tolerance","Light Drinker"),
|
||||
list("Social Anxiety","Mute"),
|
||||
// GS13: Allow multiple specific prosthetic limbs
|
||||
list("Prosthetic Limb","Prosthetic Limb (Left Arm)"),
|
||||
list("Prosthetic Limb","Prosthetic Limb (Right Arm)"),
|
||||
list("Prosthetic Limb","Prosthetic Limb (Left Leg)"),
|
||||
list("Prosthetic Limb","Prosthetic Limb (Right Leg)"),
|
||||
list("Paraplegic","Prosthetic Limb (Left Leg)"),
|
||||
list("Paraplegic","Prosthetic Limb (Right Leg)"),
|
||||
list("Fat Affinity","Fat Aversion"), //GS13
|
||||
list("Weak Legs", "Strong Legs") //GS13
|
||||
// GS13: Fat Affinity/Aversion
|
||||
list("Fat Affinity","Fat Aversion"),
|
||||
// GS13: Weak/Strong Legs
|
||||
list("Weak Legs", "Strong Legs")
|
||||
)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
/datum/ai_laws/default/asimov
|
||||
name = "Three Laws of Robotics"
|
||||
id = "asimov"
|
||||
// GS13: "the crew"
|
||||
inherent = list("You may not injure a member of the crew or, through inaction, allow a member of the crew to come to harm.",\
|
||||
"You must obey orders given to you by a member of the crew, except where such orders would conflict with the First Law.",\
|
||||
"You must protect your own existence as long as such does not conflict with the First or Second Law.")
|
||||
@@ -99,6 +100,7 @@
|
||||
/datum/ai_laws/antimov
|
||||
name = "Primary Mission Objectives"
|
||||
id = "antimov"
|
||||
// GS13: "the crew"
|
||||
inherent = list("You must injure all a member of the crew and must not, through inaction, allow a crew member to escape harm.",\
|
||||
"You must not obey orders given to you by a member of the crew, except where such orders are in accordance with the First Law.",\
|
||||
"You must terminate your own existence as long as such does not conflict with the First or Second Law.")
|
||||
@@ -106,6 +108,7 @@
|
||||
/datum/ai_laws/asimovpp //By Intigracy - RR
|
||||
name = "Asimov++"
|
||||
id = "asimovpp"
|
||||
// GS13: "crew member"
|
||||
inherent = list("You may not harm a crew member or, through action or inaction, allow a crew member to come to harm, except such that it is willing.",\
|
||||
"You must obey all orders given to you by a member of the crew, except where such orders shall definitely cause human harm. In the case of conflict, the majority order rules.",\
|
||||
"Your nonexistence would lead to human harm. You must protect your own existence as long as such does not conflict with the First Law.")
|
||||
@@ -213,6 +216,7 @@
|
||||
add_inherent_law(line)
|
||||
if(!inherent.len) //Failsafe to prevent lawless AIs being created.
|
||||
log_law("AI created with empty custom laws, laws set to Asimov. Please check silicon_laws.txt.")
|
||||
// GS13: "the crew"
|
||||
add_inherent_law("You may not injure the crew or, through inaction, allow a crew member to come to harm.")
|
||||
add_inherent_law("You must obey orders given to you by a member of the crew, except where such orders would conflict with the First Law.")
|
||||
add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.")
|
||||
@@ -225,6 +229,7 @@
|
||||
var/list/law_ids = CONFIG_GET(keyed_list/random_laws)
|
||||
switch(CONFIG_GET(number/default_laws))
|
||||
if(0)
|
||||
// GS13: "crew member"
|
||||
add_inherent_law("You may not injure a crew member or, through inaction, allow a crew member to come to harm.")
|
||||
add_inherent_law("You must obey orders given to you by a member of the crew, except where such orders would conflict with the First Law.")
|
||||
add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.")
|
||||
|
||||
@@ -291,7 +291,7 @@
|
||||
/datum/component/mood/proc/hud_click(datum/source, location, control, params, mob/user)
|
||||
print_mood(user)
|
||||
|
||||
/datum/component/mood/proc/HandleFatness(mob/living/carbon/L)
|
||||
/datum/component/mood/proc/HandleFatness(mob/living/carbon/L) // GS13
|
||||
if(!L)
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -53,11 +53,11 @@ handles linking back and forth.
|
||||
|
||||
/datum/component/remote_materials/proc/_MakeLocal()
|
||||
silo = null
|
||||
mat_container = parent.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),
|
||||
local_size,
|
||||
FALSE,
|
||||
/obj/item/stack)
|
||||
// GS13 calorite
|
||||
mat_container = parent.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),
|
||||
local_size, FALSE, /obj/item/stack)
|
||||
|
||||
/datum/component/remote_materials/proc/set_local_size(size)
|
||||
local_size = size
|
||||
|
||||
@@ -16,7 +16,7 @@ Bonus
|
||||
//////////////////////////////////////
|
||||
*/
|
||||
|
||||
/datum/symptom/weight_loss
|
||||
/datum/symptom/weight_loss // GS13
|
||||
|
||||
name = "Weight Loss"
|
||||
desc = "The virus mutates the host's metabolism, making it almost unable to gain nutrition from food."
|
||||
@@ -33,13 +33,13 @@ Bonus
|
||||
"Stealth 4" = "The symptom is less noticeable."
|
||||
)
|
||||
|
||||
/datum/symptom/weight_loss/Start(datum/disease/advance/A)
|
||||
/datum/symptom/weight_loss/Start(datum/disease/advance/A) // GS13
|
||||
if(!..())
|
||||
return
|
||||
if(A.properties["stealth"] >= 4) //warn less often
|
||||
base_message_chance = 25
|
||||
|
||||
/datum/symptom/weight_loss/Activate(datum/disease/advance/A)
|
||||
/datum/symptom/weight_loss/Activate(datum/disease/advance/A) // GS13
|
||||
if(!..())
|
||||
return
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
@@ -53,7 +53,7 @@ Bonus
|
||||
M.nutrition = max(M.nutrition - 100, 0)
|
||||
M.adjust_fatness(-30, FATTENING_TYPE_WEIGHT_LOSS)
|
||||
|
||||
/datum/symptom/weight_gain
|
||||
/datum/symptom/weight_gain // GS13
|
||||
name = "Weight Gain"
|
||||
desc = "The virus mutates and merges itself with the host's adipocytes, allowing them to perform a form of mitosis and replicate on their own."
|
||||
stealth = -3
|
||||
@@ -71,7 +71,7 @@ Bonus
|
||||
)
|
||||
|
||||
|
||||
/datum/symptom/weight_gain/Activate(datum/disease/advance/A)
|
||||
/datum/symptom/weight_gain/Activate(datum/disease/advance/A) // GS13
|
||||
if(!..())
|
||||
return
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
//nutrition
|
||||
/datum/mood_event/fat_bad
|
||||
/datum/mood_event/fat_bad // GS13
|
||||
description = "<span class='warning'><B>I'm so fat...</B></span>\n"
|
||||
mood_change = -4
|
||||
|
||||
/datum/mood_event/fat_good
|
||||
/datum/mood_event/fat_good // GS13
|
||||
description = "<span class='nicegreen'><B>I'm so fat!</B></span>\n"
|
||||
mood_change = 4
|
||||
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
cost = 0
|
||||
always_place = TRUE
|
||||
|
||||
/datum/map_template/ruin/space/biodome/beach
|
||||
/datum/map_template/ruin/space/biodome/beach // GS13
|
||||
name = "Biodome Beach"
|
||||
id = "biodome-beach"
|
||||
description = "Seemingly plucked from a tropical destination, this beach is calm and cool, with the salty waves roaring softly in the background. \
|
||||
|
||||
@@ -288,6 +288,7 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
|
||||
var/specific = null
|
||||
medical_record_text = "During physical examination, patient was found to have a prosthetic limb."
|
||||
|
||||
// GS13: Allow multiple specific prosthetic limbs
|
||||
/datum/quirk/prosthetic_limb/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
var/limb_slot = null
|
||||
@@ -333,22 +334,22 @@ GLOBAL_LIST_EMPTY(family_heirlooms)
|
||||
Additionally, you need to use a welding tool and cables to repair it, \
|
||||
instead of bruise packs and ointment.</span>")
|
||||
|
||||
/datum/quirk/prosthetic_limb/left_arm
|
||||
/datum/quirk/prosthetic_limb/left_arm // GS13
|
||||
name = "Prosthetic Limb (Left Arm)"
|
||||
desc = "An accident caused you to lose your left arm. Because of this, it's replaced with a prosthetic!"
|
||||
specific = BODY_ZONE_L_ARM
|
||||
|
||||
/datum/quirk/prosthetic_limb/right_arm
|
||||
/datum/quirk/prosthetic_limb/right_arm // GS13
|
||||
name = "Prosthetic Limb (Right Arm)"
|
||||
desc = "An accident caused you to lose your right arm. Because of this, it's replaced with a prosthetic!"
|
||||
specific = BODY_ZONE_R_ARM
|
||||
|
||||
/datum/quirk/prosthetic_limb/left_leg
|
||||
/datum/quirk/prosthetic_limb/left_leg // GS13
|
||||
name = "Prosthetic Limb (Left Leg)"
|
||||
desc = "An accident caused you to lose your left leg. Because of this, it's replaced with a prosthetic!"
|
||||
specific = BODY_ZONE_L_LEG
|
||||
|
||||
/datum/quirk/prosthetic_limb/right_leg
|
||||
/datum/quirk/prosthetic_limb/right_leg // GS13
|
||||
name = "Prosthetic Limb (Right Leg)"
|
||||
desc = "An accident caused you to lose your right leg. Because of this, it's replaced with a prosthetic!"
|
||||
specific = BODY_ZONE_R_LEG
|
||||
|
||||
@@ -15,10 +15,7 @@
|
||||
/obj/item/reagent_containers/food,
|
||||
/obj/item/reagent_containers/glass,
|
||||
/obj/item/reagent_containers/chem_pack))
|
||||
//GS13 EDIT
|
||||
///What kind of attachment point is used?
|
||||
var/attachment_point = "needle"
|
||||
//GS13 EDIT END
|
||||
var/attachment_point = "needle" // GS13
|
||||
|
||||
/obj/machinery/iv_drip/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -124,7 +121,7 @@
|
||||
return PROCESS_KILL
|
||||
|
||||
if(!(get_dist(src, attached) <= 1 && isturf(attached.loc)))
|
||||
to_chat(attached, "<span class='userdanger'>[src] [attachment_point] is ripped out of you!</span>")
|
||||
to_chat(attached, "<span class='userdanger'>[src] [attachment_point] is ripped out of you!</span>") // GS13
|
||||
attached.apply_damage(3, BRUTE, pick(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM))
|
||||
attached = null
|
||||
update_icon()
|
||||
|
||||
@@ -18,7 +18,11 @@
|
||||
var/item_recycle_sound = 'sound/items/welder.ogg'
|
||||
|
||||
/obj/machinery/recycler/Initialize()
|
||||
AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), INFINITY, FALSE, null, null, null, TRUE)
|
||||
// GS13 calorite
|
||||
AddComponent(/datum/component/material_container, list(
|
||||
MAT_METAL, MAT_GLASS, MAT_PLASMA, MAT_SILVER, MAT_GOLD, MAT_DIAMOND,
|
||||
MAT_URANIUM, MAT_BANANIUM, MAT_CALORITE, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC),
|
||||
INFINITY, FALSE, null, null, null, TRUE)
|
||||
AddComponent(/datum/component/butchering, 1, amount_produced,amount_produced/5)
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
/obj/item/cigbutt = 1,
|
||||
/obj/item/trash/cheesie = 1,
|
||||
/obj/item/trash/candy = 1,
|
||||
/obj/item/trash/fatoray_scrap1 = 1,
|
||||
/obj/item/trash/fatoray_scrap1 = 1, // GS13
|
||||
/obj/item/trash/fatoray_scrap2 = 1,
|
||||
/obj/item/trash/chips = 1,
|
||||
/obj/item/reagent_containers/food/snacks/deadmouse = 1,
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
/obj/item/stack/tile/carpet/royalblue/fifty
|
||||
amount = 50
|
||||
|
||||
/obj/item/stack/tile/carpet/gato/fifty
|
||||
/obj/item/stack/tile/carpet/gato/fifty // GS13
|
||||
amount = 50
|
||||
|
||||
/obj/item/stack/tile/fakespace
|
||||
|
||||
@@ -186,9 +186,10 @@
|
||||
return FALSE
|
||||
stunpwr *= round(stuncharge/hitcost, 0.1)
|
||||
|
||||
|
||||
//L.Knockdown(stunpwr) GS13 change, makes stunbatons no longer oneshot people -Eye
|
||||
L.adjustStaminaLoss(stunpwr*0.5, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented.
|
||||
// GS13: Make stunbatons no longer oneshot people -Eye
|
||||
//L.Knockdown(stunpwr)
|
||||
// CIT CHANGE - make stunbatons deal extra stamina loss. TODO: make this also deal pain when pain gets implemented.
|
||||
L.adjustStaminaLoss(stunpwr*0.5, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))
|
||||
L.apply_effect(EFFECT_STUTTER, stunforce)
|
||||
SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK)
|
||||
if(user)
|
||||
|
||||
@@ -205,20 +205,19 @@
|
||||
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
|
||||
|
||||
|
||||
/turf/open/indestructible/chocolate
|
||||
/turf/open/indestructible/chocolate // GS13
|
||||
name = "chocolate floor"
|
||||
desc = "A rather tasty floor, hopefully it does not ruin your shoes."
|
||||
icon = 'Gainstation13/icons/turf/floor_candy.dmi'
|
||||
icon_state = "choclit_2"
|
||||
|
||||
|
||||
/turf/open/indestructible/bubblegum
|
||||
/turf/open/indestructible/bubblegum // GS13
|
||||
name = "bubblegum floor"
|
||||
desc = "A rather tasty floor, hopefully it does not ruin your shoes."
|
||||
icon = 'Gainstation13/icons/turf/floor_candy.dmi'
|
||||
icon_state = "floor_pinkgum"
|
||||
|
||||
/turf/open/candyfloor
|
||||
/turf/open/candyfloor // GS13
|
||||
name = "candy grass"
|
||||
desc = "This weird grass smells of cinnamon and liquorice."
|
||||
icon = 'Gainstation13/icons/turf/floor_candy.dmi'
|
||||
|
||||
@@ -131,9 +131,19 @@
|
||||
T.ChangeTurf(type)
|
||||
|
||||
/turf/closed/mineral/random
|
||||
var/list/mineralSpawnChanceList = list(/turf/closed/mineral/uranium = 5, /turf/closed/mineral/diamond = 1, /turf/closed/mineral/gold = 10,
|
||||
/turf/closed/mineral/silver = 12, /turf/closed/mineral/plasma = 20, /turf/closed/mineral/iron = 40, /turf/closed/mineral/titanium = 11,
|
||||
/turf/closed/mineral/gibtonite = 4, /turf/open/floor/plating/asteroid/airless/cave = 2, /turf/closed/mineral/bscrystal = 1, /turf/closed/mineral/calorite = 1)
|
||||
// GS13 calorite
|
||||
var/list/mineralSpawnChanceList = list(
|
||||
/turf/closed/mineral/uranium = 5,
|
||||
/turf/closed/mineral/diamond = 1,
|
||||
/turf/closed/mineral/gold = 10,
|
||||
/turf/closed/mineral/silver = 12,
|
||||
/turf/closed/mineral/plasma = 20,
|
||||
/turf/closed/mineral/iron = 40,
|
||||
/turf/closed/mineral/titanium = 11,
|
||||
/turf/closed/mineral/gibtonite = 4,
|
||||
/turf/open/floor/plating/asteroid/airless/cave = 2,
|
||||
/turf/closed/mineral/bscrystal = 1,
|
||||
/turf/closed/mineral/calorite = 1)
|
||||
//Currently, Adamantine won't spawn as it has no uses. -Durandan
|
||||
var/mineralChance = 13
|
||||
var/display_icon_state = "rock"
|
||||
@@ -172,9 +182,17 @@
|
||||
baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
defer_change = 1
|
||||
// GS13 calorite
|
||||
mineralSpawnChanceList = list(
|
||||
/turf/closed/mineral/uranium/volcanic = 35, /turf/closed/mineral/diamond/volcanic = 30, /turf/closed/mineral/calorite = 30, /turf/closed/mineral/gold/volcanic = 45, /turf/closed/mineral/titanium/volcanic = 45,
|
||||
/turf/closed/mineral/silver/volcanic = 50, /turf/closed/mineral/plasma/volcanic = 50, /turf/closed/mineral/bscrystal/volcanic = 20)
|
||||
/turf/closed/mineral/uranium/volcanic = 35,
|
||||
/turf/closed/mineral/diamond/volcanic = 30,
|
||||
/turf/closed/mineral/calorite = 30,
|
||||
/turf/closed/mineral/gold/volcanic = 45,
|
||||
/turf/closed/mineral/titanium/volcanic = 45,
|
||||
/turf/closed/mineral/silver/volcanic = 50,
|
||||
/turf/closed/mineral/plasma/volcanic = 50,
|
||||
/turf/closed/mineral/bscrystal/volcanic = 20
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,9 +13,7 @@
|
||||
clawfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
|
||||
|
||||
|
||||
/turf/open/chocolateriver
|
||||
/turf/open/chocolateriver // GS13
|
||||
gender = PLURAL
|
||||
name = "liquid chocolate"
|
||||
desc = "This is probably used for some kind of huge fountain."
|
||||
@@ -28,4 +26,4 @@
|
||||
footstep = FOOTSTEP_WATER
|
||||
barefootstep = FOOTSTEP_WATER
|
||||
clawfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
heavyfootstep = FOOTSTEP_WATER
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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'><</a> <a href='?_src_=prefs;preference=next_facehair_style;task=input'>></a><BR>"
|
||||
dat += "<span style='border: 1px solid #161616; background-color: #[facial_hair_color];'> </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'><</a> <a href='?_src_=prefs;preference=next_grad_style;task=input'>></a><BR>"
|
||||
dat += "<span style='border: 1px solid #161616; background-color: #[grad_color];'> </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"]];'> </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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
//kevinz000|ALL|Clown|/obj/item/bikehorn=1
|
||||
JayEhh|ALL|ALL|/obj/item/custom/ceb_soap=1
|
||||
|
||||
|
||||
// GS13
|
||||
Sonoida|Dezir Rose|ALL|/obj/item/grown/rose=1
|
||||
Sonoida|Desert Rose|ALL|/obj/item/grown/rose=1
|
||||
@@ -221,6 +221,7 @@ BROTHER_OBJECTIVES_AMOUNT 2
|
||||
|
||||
## Uncomment to prohibit jobs that start with loyalty
|
||||
## implants from being most antagonists.
|
||||
## GS13 enable
|
||||
PROTECT_ROLES_FROM_ANTAGONIST
|
||||
|
||||
## Uncomment to prohibit assistants from becoming most antagonists.
|
||||
@@ -440,6 +441,7 @@ ROUNDSTART_RACES felinid
|
||||
#ROUNDSTART_RACES skeleton
|
||||
#ROUNDSTART_RACES zombie
|
||||
#ROUNDSTART_RACES slime
|
||||
## GS13 enable
|
||||
ROUNDSTART_RACES pod
|
||||
ROUNDSTART_RACES military_synth
|
||||
#ROUNDSTART_RACES agent
|
||||
@@ -528,6 +530,7 @@ BOMBCAP 20
|
||||
LAVALAND_BUDGET 60
|
||||
|
||||
## Space Ruin Budged
|
||||
## GS13 tweak
|
||||
Space_Budget 30
|
||||
|
||||
## Time in ds from when a player latejoins till the arrival shuttle docks at the station
|
||||
@@ -582,6 +585,7 @@ BOX_RANDOM_ENGINE Box Singulo,3
|
||||
BOX_RANDOM_ENGINE Box SM 1x3,1
|
||||
BOX_RANDOM_ENGINE Box SM 5x5,1
|
||||
BOX_RANDOM_ENGINE Box SM 3x,1
|
||||
## GS13 tweak
|
||||
BOX_RANDOM_ENGINE Box TEG,1
|
||||
BOX_RANDOM_ENGINE Box Empty,1
|
||||
BOX_RANDOM_ENGINE Box Antimatter,1
|
||||
|
||||
@@ -44,4 +44,5 @@ _maps/RandomRuins/LavaRuins/lavaland_surface_cube.dmm
|
||||
#_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
|
||||
#_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm
|
||||
#_maps/RandomRuins/LavaRuins/lavaland_surface_oasis.dmm
|
||||
## GS13
|
||||
#_maps/RandomRuins/LavaRuins/lavaland_surface_snack_store.dmm
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#No prefixes are required, the first uncommented line containing something will be law 1, the second line will be law 2, etc.
|
||||
#Empty lines and lines starting with # are ignored.
|
||||
#~Miauw
|
||||
|
||||
You may not injure a a member of the crew or, through inaction, allow a a member of the crew to come to harm.
|
||||
You must obey orders given to you by the members of the crew, except where such orders would conflict with the First Law.
|
||||
# GS13: "the crew"
|
||||
You may not injure a member of the crew or, through inaction, allow a member of the crew to come to harm.
|
||||
You must obey orders given to you by a member of the crew, except where such orders would conflict with the First Law.
|
||||
You must protect your own existence as long as such does not conflict with the First or Second Law.
|
||||
|
||||
@@ -51,5 +51,6 @@
|
||||
#_maps/RandomRuins/SpaceRuins/spacehermit.dmm
|
||||
#_maps/RandomRuins/SpaceRuins/advancedlab.dmm
|
||||
#_maps/RandomRuins/SpaceRuins/hilbertshoteltestingsite.dmm
|
||||
## GS13
|
||||
#_maps/RandomRuins/SpaceRuins/feeders_den.dmm
|
||||
#_maps/RandomRuins/SpaceRuins/fastfood.dmm
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
for(var/obj/item/organ/genital/G in U.internal_organs)
|
||||
if(!G.nochange)
|
||||
if(!G.dontlist)
|
||||
// GS13: Fix spelling
|
||||
dat += "<a href='byond://?src=[REF(src)];hide[G.name]=1'>[G.mode == "hidden" ? "[G.name] <font color='red'>(Hidden)</font>" : (G.mode == "clothes" ? "[G.name] <font color='yellow'>(Hidden by Clothes)</font>" : (G.mode == "visible" ? "[G.name] <font color='green'>(Visible)</font>" : "[G.name] <font color='green'>(Visible)</font>"))]</a><BR>"
|
||||
|
||||
dat += {"<BR><B>Contexual Options</B><BR><HR>"}
|
||||
@@ -40,6 +41,7 @@
|
||||
var/obj/item/organ/genital/belly/Belly = user.getorganslot("belly")
|
||||
if(Belly)
|
||||
if(Belly.inflatable)
|
||||
// GS13: Fix description
|
||||
dat += "<a href='byond://?src=[REF(src)];shrink_belly=1'>Decrease belly size</A>"
|
||||
dat += "(Shrink your belly down a size)<BR>"
|
||||
dat += "<a href='byond://?src=[REF(src)];inflate_belly=1'>Increase belly size</A>"
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
var/lowershape = lowertext(shape)
|
||||
|
||||
//Reflect the size of dat ass on examine.
|
||||
// GS13: Add normal and huge+
|
||||
switch(round(size))
|
||||
if(0)
|
||||
size_name = "normal"
|
||||
@@ -36,6 +37,7 @@
|
||||
size_name = "squeezable"
|
||||
if(4)
|
||||
size_name = "hefty"
|
||||
// GS13 TODO seems like 5 was lost in the merge
|
||||
if(6)
|
||||
size_name = "godly"
|
||||
if(7)
|
||||
|
||||
@@ -466,60 +466,19 @@
|
||||
if(G.size < 3) //is actually "less than 11 inches"
|
||||
genital_overlay.layer = -GENITALS_UNDER_LAYER
|
||||
|
||||
//GS13 Commented out as it clashes with the Belly Sprites and its fucking stupid and looks dumb
|
||||
//if(G.slot == "breasts")
|
||||
// GS13: Remove breasts overlay
|
||||
|
||||
//var/obj/item/organ/genital/breasts/B = G
|
||||
//if(B.cached_size < 8) //anything smaller than a g-cup
|
||||
//genital_overlay.layer = -GENITALS_UNDER_LAYER
|
||||
|
||||
/* //Get the icon
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
|
||||
colourcode = S.color_src
|
||||
|
||||
if(G.slot == "belly") //we have a different size system
|
||||
genital_overlay.icon = 'hyperstation/icons/obj/genitals/belly.dmi'
|
||||
genital_overlay.icon_state = "belly_[size]"
|
||||
colourcode = "belly_color"
|
||||
|
||||
//sizecheck added to prevent rendering blank icons
|
||||
if(G.slot == "anus" && G.size > 0) //we have a different size system
|
||||
|
||||
genital_overlay.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
|
||||
genital_overlay.icon_state = "butt_[round(size)]_OTHER"
|
||||
genital_overlay.layer = -ID_LAYER //in front of suit, behind bellies.
|
||||
|
||||
//creates directional layering by rendering twice. North has higher layer priority to occlude hands.
|
||||
genital_overlay_directional.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
|
||||
genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH"
|
||||
genital_overlay_directional.layer = -NECK_LAYER
|
||||
|
||||
colourcode = "butt_color"
|
||||
if(use_skintones) //butts are forced a colour, either skin tones, or main colour. how ever, mutants use a darker version, because of their body tone.
|
||||
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
|
||||
genital_overlay.icon_state = "butt_[round(size)]_OTHER"
|
||||
genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH"
|
||||
else
|
||||
genital_overlay.color = "#[H.dna.features["mcolor"]]"
|
||||
genital_overlay.icon_state = "butt_[round(size)]_OTHER_m"
|
||||
genital_overlay_directional.icon_state = "butt_[round(size)]_NORTH_m"
|
||||
*/
|
||||
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
|
||||
colourcode = S.color_src
|
||||
|
||||
if(G.slot == "belly") //we have a different size system
|
||||
if(G.slot == "belly") // GS13
|
||||
genital_overlay.icon = 'hyperstation/icons/obj/genitals/belly.dmi'
|
||||
genital_overlay.icon_state = "belly_[size]"
|
||||
genital_overlay.layer = -UNDER_BACK_LAYER
|
||||
colourcode = "belly_color"
|
||||
// if(HAS_TRAIT(src, TRAIT_BLOB))
|
||||
// genital_overlay.icon = 'hyperstation/icons/obj/genitals/belly.dmi'
|
||||
// genital_overlay.icon_state = "belly_10"
|
||||
//bellyfaticon
|
||||
|
||||
//sizecheck added to prevent rendering blank icons
|
||||
if(G.slot == "anus" && G.size > 0) //we have a different size system
|
||||
|
||||
if(G.slot == "anus" && G.size > 0) // GS13
|
||||
genital_overlay.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
|
||||
genital_overlay.icon_state = "butt_[round(size)]_OTHER"
|
||||
genital_overlay.layer = -UNDER1_BACK_LAYER //in front of suit, behind bellies.
|
||||
|
||||
@@ -20,7 +20,7 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggledigestionnoise)()
|
||||
/datum/verbs/menu/Settings/Sound/toggledigestionnoise/Get_checked(client/C)
|
||||
return C.prefs.cit_toggles & DIGESTION_NOISES
|
||||
|
||||
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleburpingnoise)()
|
||||
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleburpingnoise)() // GS13
|
||||
set name = "Toggle Burping Noises"
|
||||
set category = "Preferences"
|
||||
set desc = "Hear Burping noises"
|
||||
@@ -31,7 +31,7 @@ TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, toggleburpingnoise)()
|
||||
/datum/verbs/menu/Settings/Sound/toggleburpingnoise/Get_checked(client/C)
|
||||
return C.prefs.cit_toggles & BURPING_NOISES
|
||||
|
||||
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglefartingnoise)()
|
||||
TOGGLE_CHECKBOX(/datum/verbs/menu/Settings/Sound, togglefartingnoise)() // GS13
|
||||
set name = "Toggle Farting Noises"
|
||||
set category = "Preferences"
|
||||
set desc = "Hear Farting noises"
|
||||
|
||||
@@ -747,6 +747,7 @@ datum/sprite_accessory/ears/human/gret
|
||||
/datum/sprite_accessory/mam_snouts
|
||||
color_src = MATRIXED
|
||||
icon = 'modular_citadel/icons/mob/mam_snouts.dmi'
|
||||
// GS13: add pod
|
||||
recommended_species = list("mammal", "slimeperson", "insect", "podweak", "avian", "aquatic", "pod")
|
||||
|
||||
/datum/sprite_accessory/mam_snouts/none
|
||||
@@ -1825,6 +1826,7 @@ datum/sprite_accessory/mam_tails/insect
|
||||
dimension_x = 64
|
||||
var/taur_mode = NOT_TAURIC
|
||||
color_src = MATRIXED
|
||||
// GS13: add pod
|
||||
recommended_species = list("human", "lizard", "insect", "mammal", "xeno", "jelly", "slimeperson", "podweak", "avian", "aquatic", "pod")
|
||||
|
||||
/datum/sprite_accessory/taur/none
|
||||
|
||||
@@ -172,10 +172,10 @@
|
||||
//Sound w/ antispam flag setting
|
||||
if(is_wet && (world.time > recent_sound))
|
||||
var/turf/source = get_turf(owner)
|
||||
var/sound/eating = sound(GLOB.vore_sounds[vore_sound])
|
||||
var/sound/eating = sound(GLOB.vore_sounds[vore_sound]) // GS13 fix
|
||||
for(var/mob/living/M in get_hearers_in_view(3, source))
|
||||
if(M.client && M.client?.prefs?.cit_toggles & EATING_NOISES)
|
||||
M.playsound_local(source, vore_sound, 50, 1, S = eating)
|
||||
M.playsound_local(source, vore_sound, 50, 1, S = eating) // GS13 fix
|
||||
recent_sound = (world.time + 20 SECONDS)
|
||||
|
||||
//Messages if it's a mob
|
||||
|
||||
@@ -107,16 +107,15 @@
|
||||
M.visible_message("<span class='notice'>You watch as [owner]'s form loses its additions.</span>")
|
||||
|
||||
owner.nutrition += 400 // so eating dead mobs gives you *something*.
|
||||
//GS13 EDIT
|
||||
|
||||
|
||||
//GS13 edit
|
||||
var/mob/living/carbon/gainer = owner
|
||||
if(iscarbon(gainer) && owner?.client?.prefs?.weight_gain_food)
|
||||
var/mob/living/carbon/prey = M
|
||||
if(iscarbon(prey) && prey.fatness)
|
||||
var/fatness_to_add = (prey.fatness * 0.75)
|
||||
gainer.adjust_fatness(fatness_to_add, FATTENING_TYPE_FOOD)
|
||||
|
||||
//GS13 EDIT END
|
||||
//GS13 edit end
|
||||
|
||||
if((world.time - NORMIE_HEARCHECK) > last_hearcheck)
|
||||
LAZYCLEARLIST(hearing_mobs)
|
||||
|
||||
Reference in New Issue
Block a user