diff --git a/GainStation13/code/clothing/calorite_collar.dm b/GainStation13/code/clothing/calorite_collar.dm
index a458ce82e8..b7d08ca77a 100644
--- a/GainStation13/code/clothing/calorite_collar.dm
+++ b/GainStation13/code/clothing/calorite_collar.dm
@@ -20,7 +20,7 @@
if(!weight_gain_rate_modifier)
return FALSE
- if(!iscarbon(wearer) || !(wearer.get_item_by_slot(SLOT_NECK) == src) || !wearer?.client?.prefs?.weight_gain_items)
+ if(!iscarbon(wearer) || !(wearer.get_item_by_slot(ITEM_SLOT_NECK) == src) || !wearer?.client?.prefs?.weight_gain_items)
return FALSE
wearer.weight_gain_rate = (wearer.weight_gain_rate / weight_gain_rate_modifier)
diff --git a/GainStation13/code/clothing/fat_mask.dm b/GainStation13/code/clothing/fat_mask.dm
index 2788960812..24d0a8440d 100644
--- a/GainStation13/code/clothing/fat_mask.dm
+++ b/GainStation13/code/clothing/fat_mask.dm
@@ -8,7 +8,7 @@
/obj/item/clothing/mask/gas/fattening/equipped(mob/M, slot)
. = ..()
- if (slot ==ITEM_SLOT_WEAR_MASK)
+ if (slot == ITEM_SLOT_MASK)
if(iscarbon(M))
C = M
START_PROCESSING(SSobj, src)
diff --git a/GainStation13/code/game/objects/items/RCD.dm b/GainStation13/code/game/objects/items/RCD.dm
index f192f8d330..fcd5d1c1c5 100644
--- a/GainStation13/code/game/objects/items/RCD.dm
+++ b/GainStation13/code/game/objects/items/RCD.dm
@@ -3,7 +3,7 @@
desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly. This model works at a distance."
id = "arcd_design"
build_type = PROTOLATHE
- materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
+ materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/glass = MINERAL_MATERIAL_AMOUNT, /datum/material/diamond = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
build_path = /obj/item/construction/rcd/arcd
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
@@ -41,6 +41,6 @@
id = "borg_arcd"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/arcd
- materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
+ materials = list(/datum/material/iron = MINERAL_MATERIAL_AMOUNT, /datum/material/glass = MINERAL_MATERIAL_AMOUNT, /datum/material/diamond = 500, MAT_BLUESPACE = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
diff --git a/GainStation13/code/game/objects/items/storage/bags.dm b/GainStation13/code/game/objects/items/storage/bags.dm
index 786e375c5f..5df51f9ed6 100644
--- a/GainStation13/code/game/objects/items/storage/bags.dm
+++ b/GainStation13/code/game/objects/items/storage/bags.dm
@@ -13,7 +13,7 @@
desc = "A serving tray for food, now somehow using bluespace to hold more stuff."
id = "tray_holding"
build_type = PROTOLATHE
- materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
+ materials = list(/datum/material/gold = 250, /datum/material/uranium = 500)
build_path =/obj/item/storage/bag/tray/holding
category = list("Bluespace Designs")
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
@@ -43,6 +43,6 @@
id = "borg_tray_hold"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/tray_hold
- materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
+ materials = list(/datum/material/gold = 250, /datum/material/uranium = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
diff --git a/GainStation13/code/machinery/adipoelectric_generator.dm b/GainStation13/code/machinery/adipoelectric_generator.dm
index e8b8d25c3f..a9605d0c82 100644
--- a/GainStation13/code/machinery/adipoelectric_generator.dm
+++ b/GainStation13/code/machinery/adipoelectric_generator.dm
@@ -55,7 +55,7 @@
/obj/machinery/power/adipoelectric_generator/emp_act(severity)
. = ..()
- if(!(stat & (BROKEN|NOPOWER)))
+ if(!(machine_stat & (BROKEN|NOPOWER)))
emp_timer = world.time + 600
if(occupant)
src.visible_message("The [src] buzzes and expels anyone inside!.")
diff --git a/GainStation13/code/machinery/adipoelectric_transformer.dm b/GainStation13/code/machinery/adipoelectric_transformer.dm
index 15fbaa9e78..98e44741f7 100644
--- a/GainStation13/code/machinery/adipoelectric_transformer.dm
+++ b/GainStation13/code/machinery/adipoelectric_transformer.dm
@@ -59,7 +59,7 @@ GLOBAL_LIST_EMPTY(adipoelectric_transformer)
/obj/machinery/adipoelectric_transformer/emp_act(severity)
. = ..()
- if(!(stat & (BROKEN|NOPOWER)))
+ if(!(machine_stat & (BROKEN|NOPOWER)))
if(occupant)
src.visible_message("[src] emits ominous cracking noises!")
emp_timer = world.time //stuck in for 600 ticks, about 60 seconds
@@ -97,7 +97,7 @@ GLOBAL_LIST_EMPTY(adipoelectric_transformer)
/obj/machinery/adipoelectric_transformer/close_machine()
. = ..()
if(LAZYLEN(GLOB.adipoelectric_transformer) < 1 && occupant)
- var/turf/T = loc
+ var/turf/T = loc
if(isturf(T) && !T.intact)
attached = locate() in T
add_fingerprint(occupant)
diff --git a/GainStation13/code/machinery/fattening_turret.dm b/GainStation13/code/machinery/fattening_turret.dm
index c928150312..b5b4adee51 100644
--- a/GainStation13/code/machinery/fattening_turret.dm
+++ b/GainStation13/code/machinery/fattening_turret.dm
@@ -20,10 +20,6 @@
lethal_projectile = /obj/item/projectile/beam/fattening/cannon
shot_delay = 30
-/obj/machinery/porta_turret/fattening/ComponentInitialize()
- . = ..()
- AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES)
-
/obj/machinery/porta_turret/fattening/setup()
return
diff --git a/GainStation13/code/machinery/supply_teleporter.dm b/GainStation13/code/machinery/supply_teleporter.dm
index c33203633e..67142a1bf2 100644
--- a/GainStation13/code/machinery/supply_teleporter.dm
+++ b/GainStation13/code/machinery/supply_teleporter.dm
@@ -1,3 +1,7 @@
+/// Checks if the mob is able to be teleported.
+/obj/machinery/quantumpad/proc/check_mob_teleportability(mob/living/mob_to_check)
+ return TRUE
+
/obj/machinery/quantumpad/supply_only
name = "supply pad"
desc = "A modified version of the quantum pad, only able to teleport supplies and livestock."
diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm
index 568116eb8e..9d70113a23 100644
--- a/GainStation13/code/mechanics/fatness.dm
+++ b/GainStation13/code/mechanics/fatness.dm
@@ -1,4 +1,4 @@
-GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/crew_quarters, /area/maintenance, /area/security/prison, /area/holodeck, /area/security/vacantoffice, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab))
+GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/maintenance, /area/security/prison, /area/holodeck, /area/vacantoffice, /area/space, /area/ruin, /area/lavaland, /area/awaymission, /area/centcom, /area/fatlab))
/mob/living/carbon
//Due to the changes needed to create the system to hide fatness, here's some notes:
@@ -24,6 +24,9 @@ GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/crew_quarters,
var/fullness_reduction_timer = 0
var/burpslurring = 0
+ var/overeatduration = 0 // How long this guy is overeating //Carbon
+ var/fullness_reducion_timer = 0 // When was the last time they emoted to reduce their fullness
+
/**
* Adjusts the fatness level of the parent mob.
*
diff --git a/GainStation13/code/mechanics/helplessness.dm b/GainStation13/code/mechanics/helplessness.dm
index fd0e5ca4c5..2de149b3c8 100644
--- a/GainStation13/code/mechanics/helplessness.dm
+++ b/GainStation13/code/mechanics/helplessness.dm
@@ -9,11 +9,11 @@
to_chat(H, "You are too fat to wear anything on your back.")
return FALSE
- if(!istype(I, /obj/item/clothing/under/color/grey/modular) && HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot ==ITEM_SLOT_W_UNIFORM)
+ if(!istype(I, /obj/item/clothing/under/color/grey/modular) && HAS_TRAIT(H, TRAIT_NO_JUMPSUIT) && slot == ITEM_SLOT_ICLOTHING)
to_chat(H, "You are too fat to wear [I].")
return FALSE
- if(HAS_TRAIT(H, TRAIT_NO_MISC) && (slot ==ITEM_SLOT_SHOES || slot ==ITEM_SLOT_GLOVES || slot ==ITEM_SLOT_WEAR_SUIT))
+ if(HAS_TRAIT(H, TRAIT_NO_MISC) && (slot == ITEM_SLOT_FEET || slot ==ITEM_SLOT_GLOVES || slot == ITEM_SLOT_OCLOTHING))
to_chat(H, "You are too fat to wear [I].")
return FALSE
diff --git a/GainStation13/code/mechanics/infestation.dm b/GainStation13/code/mechanics/infestation.dm
index 69a33afe44..97881031a9 100644
--- a/GainStation13/code/mechanics/infestation.dm
+++ b/GainStation13/code/mechanics/infestation.dm
@@ -17,12 +17,8 @@
/area/hallway/primary,
/area/hallway/secondary,
/area/hallway/secondary/entry,
- /area/engine/supermatter,
- /area/engine/atmospherics_engine,
- /area/engine/engineering/reactor_core,
- /area/engine/engineering/reactor_control,
+ /area/engineering/supermatter,
/area/ai_monitored/turret_protected,
- /area/layenia/cloudlayer,
/area/asteroid/nearstation,
/area/science/server,
/area/science/explab,
@@ -36,7 +32,7 @@
spawncount = rand(4, 7)
/datum/round_event/dessert_infestation/announce(fake)
- priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg')
+ priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'GainStation13/sound/ai/aliens.ogg')
/datum/round_event/dessert_infestation/start()
var/list/area/stationAreas = list()
diff --git a/GainStation13/code/mechanics/spells.dm b/GainStation13/code/mechanics/spells.dm
index 198bc0bf66..5b1450bab2 100644
--- a/GainStation13/code/mechanics/spells.dm
+++ b/GainStation13/code/mechanics/spells.dm
@@ -35,11 +35,11 @@
/obj/item/melee/touch_attack/fattening/afterattack(atom/target, mob/living/carbon/user, proximity)
if(!proximity || !iscarbon(target) || target == user)
return FALSE
-
+
var/mob/living/carbon/gainer = target
if(!gainer || !weight_to_add)
return FALSE
-
+
if(!gainer.adjust_fatness(weight_to_add, FATTENING_TYPE_MAGIC))
to_chat(user,"")
return FALSE
@@ -83,7 +83,7 @@
if(. != null && !.)
return FALSE
- user.adjust_fatness(-weight_to_add, FATTENING_TYPE_MAGIC)
+ user.adjust_fatness(-weight_to_add, FATTENING_TYPE_MAGIC)
/obj/effect/proc_holder/spell/aoe_turf/conjure/the_traps/fat
name = "Fat Traps!"
@@ -114,7 +114,6 @@
icon = 'GainStation13/icons/obj/spells/spellbooks.dmi'
icon_state = "add_weight"
desc = "This book feels warm to the touch."
- page_time = 10
/obj/item/book/granter/spell/fattening/transfer
name = "weight transfer tome"
diff --git a/GainStation13/code/mechanics/wand.dm b/GainStation13/code/mechanics/wand.dm
index d345ca008a..3aad9258e3 100644
--- a/GainStation13/code/mechanics/wand.dm
+++ b/GainStation13/code/mechanics/wand.dm
@@ -19,7 +19,7 @@
/obj/item/projectile/magic/food
name = "bolt of food"
- pass_flags = PASSGLASS|PASSDOOR|PASSGRILLE
+ pass_flags = PASSGLASS|PASSGRILLE
///What foods are able to be spawned by the wand?
var/list/spawnable_foods = list(
/obj/item/reagent_containers/food/snacks/burger/bigbite,
@@ -33,7 +33,7 @@
/obj/item/reagent_containers/food/snacks/pizza/margherita,
/obj/item/reagent_containers/food/snacks/pizza/meat,
)
-
+
///How much Lipoifier should be added to the spawned in food? Keep this at 10 maximum.
var/lipoifier_to_add = 5
@@ -44,14 +44,14 @@
if(!floor || iswallturf(floor))
return FALSE
- var/food_to_spawn = pick(spawnable_foods)
+ var/food_to_spawn = pick(spawnable_foods)
var/obj/item/reagent_containers/food/snacks/spawned_food = new food_to_spawn(floor)
if(!spawned_food)
return FALSE
- spawned_food.reagents.add_reagent(/datum/reagent/consumable/lipoifier, lipoifier_to_add)
+ spawned_food.reagents.add_reagent(/datum/reagent/consumable/lipoifier, lipoifier_to_add)
return TRUE
-
+
/obj/item/projectile/magic/food/strong
name = "strong bolt of food"
lipoifier_to_add = 10
diff --git a/GainStation13/code/mechanics/water_sponge.dm b/GainStation13/code/mechanics/water_sponge.dm
index 0068f33089..6453dc8204 100644
--- a/GainStation13/code/mechanics/water_sponge.dm
+++ b/GainStation13/code/mechanics/water_sponge.dm
@@ -40,6 +40,7 @@
var/mob/living/carbon/L = AM
L.reagents.add_reagent(/datum/reagent/water, 3)
+/* Disabling this for now.
/mob/living/carbon/proc/water_check(datum/gas_mixture/breath)
if(HAS_TRAIT(src, TRAIT_WATER_SPONGE))
if(breath)
@@ -49,6 +50,7 @@
var/H2O_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/water_vapor])
reagents.add_reagent(/datum/reagent/water, H2O_pp/10)
breath_gases[/datum/gas/water_vapor] -= H2O_pp
+*/
/obj/structure/sink
var/mob/living/attached
diff --git a/GainStation13/code/mechanics/web_weaving.dm b/GainStation13/code/mechanics/web_weaving.dm
index 2295327d54..5902a2314e 100644
--- a/GainStation13/code/mechanics/web_weaving.dm
+++ b/GainStation13/code/mechanics/web_weaving.dm
@@ -68,7 +68,7 @@
return FALSE
user.visible_message("[user] attempts to wrap [target] inside of [wrapping]!", "You attempt to wrap [target] inside of [wrapping].")
- if(!do_after_mob(user, target, 20 SECONDS) || !target.equip_to_slot_if_possible(wrapping,ITEM_SLOT_WEAR_SUIT, TRUE, TRUE))
+ if(!do_after_mob(user, target, 20 SECONDS) || !target.equip_to_slot_if_possible(wrapping, ITEM_SLOT_OCLOTHING, TRUE, TRUE))
user.visible_message("[user] fails to wrap [target] inside of [wrapping]!", "You fail to wrap [target] inside of [wrapping].")
return FALSE
@@ -79,7 +79,7 @@
name = "web bindings"
desc = "A mesh of sticky web that binds whoever is stuck inside of it"
icon = 'GainStation13/icons/obj/clothing/web.dmi'
- alternate_worn_icon = 'GainStation13/icons/mob/web.dmi'
+ worn_ico = 'GainStation13/icons/mob/web.dmi'
icon_state = "web_bindings"
item_state = "web_bindings"
breakouttime = 600 //1 minute is reasonable.
@@ -89,7 +89,7 @@
/obj/item/clothing/suit/straight_jacket/web/equipped(mob/user, slot)
. = ..()
- if((user.get_item_by_slot(SLOT_WEAR_SUIT)) != src && !QDELETED(src))
+ if((user.get_item_by_slot(SLOT_WEAR_OCLOTHING)) != src && !QDELETED(src))
qdel(src)
/obj/structure/spider/cocoon/quirk
diff --git a/GainStation13/code/mobs/slugcat.dm b/GainStation13/code/mobs/slugcat.dm
index 1ac82e29a5..ad47b4d175 100644
--- a/GainStation13/code/mobs/slugcat.dm
+++ b/GainStation13/code/mobs/slugcat.dm
@@ -36,7 +36,7 @@
devourable = 1
digestable = 1
feeding = 1
- var/obj/item/twohanded/spear/weapon
+ var/obj/item/spear/weapon
/mob/living/simple_animal/pet/slugcat/Initialize(mapload)
. = ..()
@@ -61,7 +61,7 @@
if(!isitem(A))
return
- if(!weapon && istype(A, /obj/item/twohanded/spear))
+ if(!weapon && istype(A, /obj/item/spear))
visible_message("[src] pick up the [A].", "You pick up the [A].")
weapon = A
weapon.forceMove(src)
@@ -71,7 +71,7 @@
melee_damage_type = weapon.damtype
attack_sound = weapon.hitsound
update_icons()
- else if(!weapon && !istype(A, /obj/item/twohanded/spear))
+ else if(!weapon && !istype(A, /obj/item/spear))
to_chat(src, "You do not know how to wield the [A]!")
/mob/living/simple_animal/pet/slugcat/RangedAttack(atom/A, params)
diff --git a/GainStation13/code/modules/clothing/under/jobs/clothing.dm b/GainStation13/code/modules/clothing/under/jobs/clothing.dm
new file mode 100644
index 0000000000..a6066151be
--- /dev/null
+++ b/GainStation13/code/modules/clothing/under/jobs/clothing.dm
@@ -0,0 +1,2 @@
+/obj/item/clothing
+ var/alternate_worn_icon
diff --git a/GainStation13/code/modules/food_and_drinks/recipes_bigpizza.dm b/GainStation13/code/modules/food_and_drinks/recipes_bigpizza.dm
index 35e30b0f05..29ef6485c9 100644
--- a/GainStation13/code/modules/food_and_drinks/recipes_bigpizza.dm
+++ b/GainStation13/code/modules/food_and_drinks/recipes_bigpizza.dm
@@ -65,7 +65,7 @@
tastes = list("crust" = 1, "tomato" = 1, "cheese" = 1, "delight" = 5)
foodtype = GRAIN | VEGETABLES | DAIRY | JUNKFOOD
-/obj/item/reagent_containers/food/snacks/pizza/framewrecker/attackby(var/obj/item/weapon/W, var/mob/living/user)
+/obj/item/reagent_containers/food/snacks/pizza/framewrecker/attackby(var/obj/item/W, var/mob/living/user)
if(istype(W,/obj/item/kitchen/knife))
user.visible_message("\The [user] starts to slowly cut through The One Pizza.", "You start to slowly cut through The One Pizza.")
if(!src)
diff --git a/GainStation13/code/modules/gym/gym.dm b/GainStation13/code/modules/gym/gym.dm
index cf69367b4d..0220bececb 100644
--- a/GainStation13/code/modules/gym/gym.dm
+++ b/GainStation13/code/modules/gym/gym.dm
@@ -8,7 +8,7 @@
w_class = WEIGHT_CLASS_BULKY
throw_speed = 2
throw_range = 3
- materials = list(MAT_METAL=10)
+ custom_materials = list(/datum/material/iron=10)
pressure_resistance = 2
var/reps = 0
var/using = FALSE
@@ -16,7 +16,7 @@
/obj/item/dumbbell/dropped(mob/user, silent)
reps = 0
. = ..()
-
+
/obj/item/dumbbell/attack_self(mob/user)
. = ..()
if(!using)
@@ -42,12 +42,12 @@
var/fatloss = -10
/obj/machinery/treadmill/Uncross(atom/movable/AM, atom/newloc)
- if(stat & BROKEN)
+ if(machine_stat & BROKEN)
return ..()
if(!isliving(AM))
return ..()
var/mob/living/M = AM
- if(M.throwing || M.floating || M.is_flying()) //Make sure they're not going over it
+ if(M.throwing || (M.movement_type & FLOATING) || M.is_flying()) //Make sure they're not going over it
return ..()
if(AM.dir != dir) //Make sure they're going into the treadmill
return ..()
@@ -64,11 +64,11 @@
C.adjust_fatness(fatloss, FATTENING_TYPE_WEIGHT_LOSS)
flick("conveyor-1", src)
return FALSE
-
+
/obj/machinery/treadmill/RefreshParts(obj/item/O, mob/user, params)
for(var/obj/item/stock_parts/manipulator/M in component_parts)
fatloss += M.rating * -10
-
+
/obj/machinery/treadmill/attackby(obj/item/O, mob/living/user, params)
if(default_deconstruction_screwdriver(user, "conveyor0", "conveyor0", O))
return TRUE
@@ -90,7 +90,7 @@
name = "Treadmill Board"
id = "treadmill"
build_type = AUTOLATHE | PROTOLATHE
- materials = list(MAT_METAL = 50, MAT_GLASS = 50)
+ materials = list(/datum/material/iron = 50, /datum/material/glass = 50)
build_path = /obj/item/circuitboard/machine/treadmill
category = list("inital", "Construction")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
@@ -99,7 +99,7 @@
name = "Dumbbell"
id = "dumbbell"
build_type = AUTOLATHE
- materials = list(MAT_METAL = 2000)
+ materials = list(/datum/material/iron = 2000)
build_path = /obj/item/dumbbell
category = list("initial", "Tools")
/*
@@ -107,7 +107,7 @@
name = "Treadmill"
id = "treadmill"
build_type = AUTOLATHE
- materials = list(MAT_METAL = 5000)
+ materials = list(/datum/material/iron = 5000)
build_path = /obj/item/conveyor_construct/treadmill
category = list("initial", "Construction")
*/
diff --git a/GainStation13/code/modules/hydroponics/lipoplant.dm b/GainStation13/code/modules/hydroponics/lipoplant.dm
index e321f7a2d6..d669a1095b 100644
--- a/GainStation13/code/modules/hydroponics/lipoplant.dm
+++ b/GainStation13/code/modules/hydroponics/lipoplant.dm
@@ -35,7 +35,6 @@
attack_verb = list("klonked", "donked", "bonked")
distill_reagent = "creme_de_coconut"
var/opened = FALSE
- sharpness = IS_BLUNT
/obj/item/reagent_containers/food/snacks/grown/lipofruit/attackby(obj/item/W, mob/user, params)
if(!opened && W.sharpness)
diff --git a/GainStation13/code/modules/hydroponics/munchies_weed.dm b/GainStation13/code/modules/hydroponics/munchies_weed.dm
index f25bd743c8..e6ef646985 100644
--- a/GainStation13/code/modules/hydroponics/munchies_weed.dm
+++ b/GainStation13/code/modules/hydroponics/munchies_weed.dm
@@ -1,6 +1,10 @@
/mob/living/carbon
var/nutri_mult = 1
+/datum/plant_gene/trait/glow/orange
+ name = "Orange Bioluminescence"
+ glow_color = "#ff9166"
+
/obj/item/seeds/cannabis/munchies
name = "pack of munchies weed seeds"
desc = "These seeds grow into munchies weed."
diff --git a/GainStation13/code/modules/mapping/areas.dm b/GainStation13/code/modules/mapping/areas.dm
new file mode 100644
index 0000000000..5d18d2efbe
--- /dev/null
+++ b/GainStation13/code/modules/mapping/areas.dm
@@ -0,0 +1,33 @@
+/area/fatlab //GS13 - move this elsewhere later
+ name = "Mysterious Facility"
+ icon_state = "centcom"
+ dynamic_lighting = DYNAMIC_LIGHTING_FORCED
+ requires_power = FALSE
+ has_gravity = STANDARD_GRAVITY
+ flags_1 = NONE
+
+/area/crew_quarters/fitness/sauna
+ name = "Saunas"
+ icon_state = "dk_yellow"
+
+/area/xenoarch/caloriteresearch_powered
+ name = "Research Facility Ruins"
+ icon_state = "dk_yellow"
+ power_light = TRUE
+
+/area/xenoarch/caloriteresearch_unpowered
+ name = "Research Facility Ruins"
+ icon_state = "dk_yellow"
+ power_light = TRUE
+
+/area/ruin/space/has_grav/fastfood_main
+ name = "GATO Restaurant - Main Area"
+ has_gravity = TRUE
+
+/area/ruin/space/has_grav/fastfood_employee
+ name = "Restaurant Employee Area"
+ has_gravity = TRUE
+
+/area/ruin/space/has_grav/feedersden
+ name = "Unknown Outpost"
+ has_gravity = TRUE
diff --git a/GainStation13/code/modules/mob/living/emote.dm b/GainStation13/code/modules/mob/living/emote.dm
index 1b4a2a2ad0..8926b4a995 100644
--- a/GainStation13/code/modules/mob/living/emote.dm
+++ b/GainStation13/code/modules/mob/living/emote.dm
@@ -22,10 +22,11 @@
. = ..()
if(!.)
return FALSE
-
+
playsound_prefed(user, noise_type, noise_pref, 100, TRUE, -4)
- user.reduce_fullness(rand(reduction_min,reduction_max))
+ var/mob/living/carbon/carbon_user = user
+ carbon_user.reduce_fullness(rand(reduction_min,reduction_max))
/datum/emote/living/burp/fart //Butt burp.
key = "fart"
@@ -77,7 +78,7 @@
key = "goonfart"
key_third_person = "goonfarts"
noise_type = 'goon/sound/voice/farts/fart4.ogg'
-
+
//Shhh... It's a secret! Don't tell or I'll steal your legs
/datum/emote/living/burunyu
key = "burunyu"
@@ -96,5 +97,6 @@
. = ..()
if(!.)
return FALSE
-
- user.reduce_fullness(rand(4,16), FALSE)
+
+ var/mob/living/carbon/carbon_user = user
+ carbon_user.reduce_fullness(rand(4,16), FALSE)
diff --git a/GainStation13/code/modules/mob/living/emote_ported.dm b/GainStation13/code/modules/mob/living/emote_ported.dm
index 77c401b652..b869f01b63 100644
--- a/GainStation13/code/modules/mob/living/emote_ported.dm
+++ b/GainStation13/code/modules/mob/living/emote_ported.dm
@@ -1,8 +1,8 @@
// This is an emote file for random shit we've ported. Im just copying the style recipes_ported.dm did, yell at me if im wrong later.
-// It said it was lazy but personally I think this might be a better way of organizing otherwise unique content that we're porting
+// It said it was lazy but personally I think this might be a better way of organizing otherwise unique content that we're porting
// for ourselves. -Reo
-// I found this tacked onto the bottom of code/modules/mob/living/emote.dm. No //code add: notice or anything. Moving it here,
+// I found this tacked onto the bottom of code/modules/mob/living/emote.dm. No //code add: notice or anything. Moving it here,
// since it seems to all be ported emotes. -Reo
/*
//Carl wuz here
@@ -96,6 +96,28 @@
//End of the random emotes I found in mob/living
+/datum/emote/living
+ /// What sound do we want to play?
+ var/sound
+
+/datum/emote/living/proc/get_sound()
+ return
+
+
+/datum/emote/living/run_emote(mob/living/user, params, type_override, intentional)
+ . = ..()
+ if(!. || user.is_muzzled())
+ return
+
+ var/sound_to_play = sound
+ if(!sound)
+ sound_to_play = get_sound()
+
+ if(!sound_to_play)
+ return
+
+ playsound(user.loc, sound_to_play, 50, 1, 4, 1.2)
+
//Rewrites of the above start.
/datum/emote/living/carbon/racc
key = "racc_chitter"
@@ -121,7 +143,7 @@
'hyperstation/sound/voice/emotes/bat_c5.ogg','hyperstation/sound/voice/emotes/bat_c6.ogg', \
'hyperstation/sound/voice/emotes/bat_c7.ogg', 'hyperstation/sound/voice/emotes/bat_c8.ogg',\
'hyperstation/sound/voice/emotes/bat_c9.ogg')
-
+
//Rewrites of the above end.
//Ported from Vorestation
diff --git a/GainStation13/code/modules/mob/living/fullness.dm b/GainStation13/code/modules/mob/living/fullness.dm
index a21a7304cc..3a6f4b97ae 100644
--- a/GainStation13/code/modules/mob/living/fullness.dm
+++ b/GainStation13/code/modules/mob/living/fullness.dm
@@ -1,12 +1,12 @@
-/mob/living/proc/reduce_fullness(amount, notify = TRUE) // fullness_amount should be between 5 and 20 for balance and below 80 for functionality
+/mob/living/carbon/proc/reduce_fullness(amount, notify = TRUE) // fullness_amount should be between 5 and 20 for balance and below 80 for functionality
if(!ishuman(src))
- return
+ return
if(fullness >= FULLNESS_LEVEL_BLOATED && fullness_reducion_timer + FULLNESS_REDUCTION_COOLDOWN < world.time)
-
+
fullness -= amount // Remove Fullness
- if(!notify)
+ if(!notify)
return
if(amount <= 5)
diff --git a/GainStation13/code/modules/research/designs/autolathe.dm b/GainStation13/code/modules/research/designs/autolathe.dm
index 0232b44ad7..dddaf1b041 100644
--- a/GainStation13/code/modules/research/designs/autolathe.dm
+++ b/GainStation13/code/modules/research/designs/autolathe.dm
@@ -2,6 +2,6 @@
name = "Fatness Infrared Emitter"
id = "fatness_infrared_emitter"
build_type = AUTOLATHE
- materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
+ materials = list(/datum/material/iron = 1000, /datum/material/glass = 500)
build_path = /obj/item/assembly/infra/fat
category = list("initial", "Misc")
diff --git a/GainStation13/code/modules/research/designs/nutri_designs.dm b/GainStation13/code/modules/research/designs/nutri_designs.dm
index bd9319cfd7..ff57450075 100644
--- a/GainStation13/code/modules/research/designs/nutri_designs.dm
+++ b/GainStation13/code/modules/research/designs/nutri_designs.dm
@@ -8,7 +8,7 @@
name = "Basic Fatoray"
id = "fatoray_weak"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
+ materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 75
build_path = /obj/item/gun/energy/fatoray/weak
category = list("Weapons")
@@ -18,7 +18,7 @@
name = "Basic Cannonshot Fatoray"
id = "fatoray_cannon_weak"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 20000)
+ materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 20000)
construction_time = 200
build_path = /obj/item/gun/energy/fatoray/cannon_weak
category = list("Weapons")
@@ -28,7 +28,7 @@
name = "AL-T-Ray: Metabolism"
id = "alter_ray_metabolism"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 26000)
+ materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 26000)
construction_time = 200
build_path = /obj/item/gun/energy/laser/alter_ray/gainrate
category = list("Weapons")
@@ -39,7 +39,7 @@
name = "AL-T-Ray: Reverser"
id = "alter_ray_reverser"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 10000, MAT_GLASS = 8000, MAT_CALORITE = 26000)
+ materials = list(/datum/material/iron = 10000, /datum/material/glass = 8000, /datum/material/calorite = 26000)
construction_time = 200
build_path = /obj/item/gun/energy/laser/alter_ray/noloss
category = list("Weapons")
@@ -51,7 +51,7 @@
desc = "A collar that amplifies caloric intake of the wearer."
id = "calorite_collar"
build_type = PROTOLATHE
- materials = list(MAT_METAL = 1000, MAT_CALORITE = 4000)
+ materials = list(/datum/material/iron = 1000, /datum/material/calorite = 4000)
construction_time = 75
build_path = /obj/item/clothing/neck/petcollar/calorite
category = list("Equipment", "Misc", "Medical Designs")
@@ -63,7 +63,7 @@
id = "ci-nutrimentturbo"
build_type = PROTOLATHE | MECHFAB
construction_time = 100
- materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 750, MAT_URANIUM = 1000)
+ materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 750, /datum/material/uranium = 1000)
build_path = /obj/item/organ/cyberimp/chest/nutriment/turbo
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -74,7 +74,7 @@
id = "ci-fatmobility"
build_type = PROTOLATHE | MECHFAB
construction_time = 100
- materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 750, MAT_URANIUM = 1000)
+ materials = list(/datum/material/iron = 800, /datum/material/glass = 800, /datum/material/gold = 750, /datum/material/uranium = 1000)
build_path = /obj/item/organ/cyberimp/chest/mobility
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -85,7 +85,7 @@
id = "bluespace_belt"
build_type = PROTOLATHE
construction_time = 100
- materials = list(MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 2000, )
+ materials = list(/datum/material/silver = 4000, /datum/material/gold = 4000, MAT_BLUESPACE = 2000, )
build_path = /obj/item/bluespace_belt
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
@@ -96,7 +96,7 @@
id = "cookie_synthesizer"
build_type = PROTOLATHE
construction_time = 100
- materials = list(MAT_SILVER = 4000, MAT_URANIUM = 1000, MAT_BLUESPACE = 1000, MAT_CALORITE = 2000)
+ materials = list(/datum/material/silver = 4000, /datum/material/uranium = 1000, MAT_BLUESPACE = 1000, /datum/material/calorite = 2000)
build_path = /obj/item/cookiesynth
category = list("Misc", "Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SERVICE
@@ -107,7 +107,7 @@
id = "borg_upgrade_cookiesynthesizer"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/cookiesynth
- materials = list(MAT_METAL=10000, MAT_GOLD=1500, MAT_URANIUM=250, MAT_PLASMA=1500)
+ materials = list(/datum/material/iron=10000, /datum/material/gold=1500, /datum/material/uranium=250, MAT_PLASMA=1500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -116,7 +116,7 @@
id = "borg_upgrade_fatoray"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/fatoray
- materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
+ materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -125,7 +125,7 @@
id = "borg_upgrade_feedingtube"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/feedtube
- materials = list(MAT_METAL = 8000, MAT_GLASS = 6000, MAT_CALORITE = 10000)
+ materials = list(/datum/material/iron = 8000, /datum/material/glass = 6000, /datum/material/calorite = 10000)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -138,7 +138,7 @@
/obj/item/borg/upgrade/cookiesynth/action(mob/living/silicon/robot/R, user = usr)
. = ..()
- if(.)
+ if(.)
var/obj/item/cookiesynth/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
@@ -167,7 +167,7 @@
/obj/item/borg/upgrade/fatoray/action(mob/living/silicon/robot/R, user = usr)
. = ..()
- if(.)
+ if(.)
var/obj/item/gun/energy/fatoray/weak/cyborg/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
@@ -203,7 +203,7 @@
if(!istype(M))
return
if(R.total_volume && M.can_inject(user, 1, user.zone_selected,bypass_protection))
-
+
if(M == user.pulling && ishuman(user.pulling))
starttime = world.time
while(starttime + 300 > world.time && in_range(user, M))
@@ -239,7 +239,7 @@
/obj/item/borg/upgrade/feedtube/action(mob/living/silicon/robot/R, user = usr)
. = ..()
- if(.)
+ if(.)
var/obj/item/reagent_containers/borghypo/feeding_tube/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
diff --git a/GainStation13/code/modules/weapons/grenades.dm b/GainStation13/code/modules/weapons/grenades.dm
new file mode 100644
index 0000000000..78615c30a5
--- /dev/null
+++ b/GainStation13/code/modules/weapons/grenades.dm
@@ -0,0 +1,36 @@
+//GS13 - fattening grenade presets
+
+/obj/item/grenade/chem_grenade/lipoifier_strong
+ name = "lipoifier grenade"
+ desc = "For when you want everyone in the room to gain a couple hundred pounds."
+
+/obj/item/grenade/chem_grenade/lipoifier_strong/Initialize(mapload)
+ . = ..()
+ var/obj/item/reagent_containers/glass/beaker/bluespace/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/bluespace/B2 = new(src)
+
+ B1.reagents.add_reagent(/datum/reagent/consumable/lipoifier, 250)
+ B1.reagents.add_reagent(/datum/reagent/potassium, 40)
+ B2.reagents.add_reagent(/datum/reagent/phosphorus, 40)
+ B2.reagents.add_reagent(/datum/reagent/consumable/sugar, 40)
+
+ beakers += B1
+ beakers += B2
+
+
+/obj/item/grenade/chem_grenade/lipoifier_weak
+ name = "lipoifier grenade"
+ desc = "For when you want everyone in the room to gain a couple dozen pounds."
+
+/obj/item/grenade/chem_grenade/lipoifier_weak/Initialize(mapload)
+ . = ..()
+ var/obj/item/reagent_containers/glass/beaker/large/B1 = new(src)
+ var/obj/item/reagent_containers/glass/beaker/large/B2 = new(src)
+
+ B1.reagents.add_reagent(/datum/reagent/consumable/lipoifier, 40)
+ B1.reagents.add_reagent(/datum/reagent/potassium, 20)
+ B2.reagents.add_reagent(/datum/reagent/phosphorus, 20)
+ B2.reagents.add_reagent(/datum/reagent/consumable/sugar, 20)
+
+ beakers += B1
+ beakers += B2
diff --git a/GainStation13/code/obj/weapons/fatbeam.dm b/GainStation13/code/obj/weapons/fatbeam.dm
index ea28ecd671..407bc13bd9 100644
--- a/GainStation13/code/obj/weapons/fatbeam.dm
+++ b/GainStation13/code/obj/weapons/fatbeam.dm
@@ -41,7 +41,7 @@
on_beam_release(current_target)
current_target = null
-/obj/item/gun/fatbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stan_cost = 0)
+/obj/item/gun/fatbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, stam_cost = 0)
if(isliving(user))
add_fingerprint(user)
diff --git a/GainStation13/sound/ai/aimalf.ogg b/GainStation13/sound/ai/aimalf.ogg
new file mode 100644
index 0000000000..50b7688d5a
Binary files /dev/null and b/GainStation13/sound/ai/aimalf.ogg differ
diff --git a/GainStation13/sound/ai/airlock.ogg b/GainStation13/sound/ai/airlock.ogg
new file mode 100644
index 0000000000..7d2edcf72c
Binary files /dev/null and b/GainStation13/sound/ai/airlock.ogg differ
diff --git a/GainStation13/sound/ai/aliens.ogg b/GainStation13/sound/ai/aliens.ogg
new file mode 100644
index 0000000000..cde49938a7
Binary files /dev/null and b/GainStation13/sound/ai/aliens.ogg differ
diff --git a/GainStation13/sound/ai/animes.ogg b/GainStation13/sound/ai/animes.ogg
new file mode 100644
index 0000000000..bd74b2b0be
Binary files /dev/null and b/GainStation13/sound/ai/animes.ogg differ
diff --git a/GainStation13/sound/ai/attention.ogg b/GainStation13/sound/ai/attention.ogg
new file mode 100644
index 0000000000..54322af468
Binary files /dev/null and b/GainStation13/sound/ai/attention.ogg differ
diff --git a/GainStation13/sound/ai/beep.ogg b/GainStation13/sound/ai/beep.ogg
new file mode 100644
index 0000000000..7d34f7af59
Binary files /dev/null and b/GainStation13/sound/ai/beep.ogg differ
diff --git a/GainStation13/sound/ai/carp.ogg b/GainStation13/sound/ai/carp.ogg
new file mode 100644
index 0000000000..cff0b9c7a1
Binary files /dev/null and b/GainStation13/sound/ai/carp.ogg differ
diff --git a/GainStation13/sound/ai/cleaning.ogg b/GainStation13/sound/ai/cleaning.ogg
new file mode 100644
index 0000000000..a97a913055
Binary files /dev/null and b/GainStation13/sound/ai/cleaning.ogg differ
diff --git a/GainStation13/sound/ai/commandreport.ogg b/GainStation13/sound/ai/commandreport.ogg
new file mode 100644
index 0000000000..9006666901
Binary files /dev/null and b/GainStation13/sound/ai/commandreport.ogg differ
diff --git a/GainStation13/sound/ai/granomalies.ogg b/GainStation13/sound/ai/granomalies.ogg
new file mode 100644
index 0000000000..05ae453411
Binary files /dev/null and b/GainStation13/sound/ai/granomalies.ogg differ
diff --git a/GainStation13/sound/ai/harmalarm.ogg b/GainStation13/sound/ai/harmalarm.ogg
new file mode 100644
index 0000000000..b9107f6e44
Binary files /dev/null and b/GainStation13/sound/ai/harmalarm.ogg differ
diff --git a/GainStation13/sound/ai/intercept.ogg b/GainStation13/sound/ai/intercept.ogg
new file mode 100644
index 0000000000..77db2fa24b
Binary files /dev/null and b/GainStation13/sound/ai/intercept.ogg differ
diff --git a/GainStation13/sound/ai/intercept2.ogg b/GainStation13/sound/ai/intercept2.ogg
new file mode 100644
index 0000000000..e69573ed19
Binary files /dev/null and b/GainStation13/sound/ai/intercept2.ogg differ
diff --git a/GainStation13/sound/ai/ionstorm.ogg b/GainStation13/sound/ai/ionstorm.ogg
new file mode 100644
index 0000000000..2c50bc0061
Binary files /dev/null and b/GainStation13/sound/ai/ionstorm.ogg differ
diff --git a/GainStation13/sound/ai/meteors.ogg b/GainStation13/sound/ai/meteors.ogg
new file mode 100644
index 0000000000..d34c313403
Binary files /dev/null and b/GainStation13/sound/ai/meteors.ogg differ
diff --git a/GainStation13/sound/ai/newAI.ogg b/GainStation13/sound/ai/newAI.ogg
new file mode 100644
index 0000000000..64edd0ca4a
Binary files /dev/null and b/GainStation13/sound/ai/newAI.ogg differ
diff --git a/GainStation13/sound/ai/outbreak5.ogg b/GainStation13/sound/ai/outbreak5.ogg
new file mode 100644
index 0000000000..7c95c0b0ec
Binary files /dev/null and b/GainStation13/sound/ai/outbreak5.ogg differ
diff --git a/GainStation13/sound/ai/outbreak7.ogg b/GainStation13/sound/ai/outbreak7.ogg
new file mode 100644
index 0000000000..aa9c79f7bf
Binary files /dev/null and b/GainStation13/sound/ai/outbreak7.ogg differ
diff --git a/GainStation13/sound/ai/poweroff.ogg b/GainStation13/sound/ai/poweroff.ogg
new file mode 100644
index 0000000000..ffdca3fa4e
Binary files /dev/null and b/GainStation13/sound/ai/poweroff.ogg differ
diff --git a/GainStation13/sound/ai/poweron.ogg b/GainStation13/sound/ai/poweron.ogg
new file mode 100644
index 0000000000..4a0b695a31
Binary files /dev/null and b/GainStation13/sound/ai/poweron.ogg differ
diff --git a/GainStation13/sound/ai/radiation.ogg b/GainStation13/sound/ai/radiation.ogg
new file mode 100644
index 0000000000..15c6bc7d1d
Binary files /dev/null and b/GainStation13/sound/ai/radiation.ogg differ
diff --git a/GainStation13/sound/ai/shuttlecalled.ogg b/GainStation13/sound/ai/shuttlecalled.ogg
new file mode 100644
index 0000000000..f56fa6abcc
Binary files /dev/null and b/GainStation13/sound/ai/shuttlecalled.ogg differ
diff --git a/GainStation13/sound/ai/shuttledock.ogg b/GainStation13/sound/ai/shuttledock.ogg
new file mode 100644
index 0000000000..be6a3b3bfa
Binary files /dev/null and b/GainStation13/sound/ai/shuttledock.ogg differ
diff --git a/GainStation13/sound/ai/shuttlerecalled.ogg b/GainStation13/sound/ai/shuttlerecalled.ogg
new file mode 100644
index 0000000000..50afd06d74
Binary files /dev/null and b/GainStation13/sound/ai/shuttlerecalled.ogg differ
diff --git a/GainStation13/sound/ai/spanomalies.ogg b/GainStation13/sound/ai/spanomalies.ogg
new file mode 100644
index 0000000000..9b37f44f88
Binary files /dev/null and b/GainStation13/sound/ai/spanomalies.ogg differ
diff --git a/GainStation13/sound/ai/welcome.ogg b/GainStation13/sound/ai/welcome.ogg
new file mode 100644
index 0000000000..28c895cb3c
Binary files /dev/null and b/GainStation13/sound/ai/welcome.ogg differ
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index fa11db38aa..4be8af77b4 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -135,3 +135,6 @@
//defines for the two colour schemes, advanced and old
#define OLD_CHARACTER_COLORING "old_color_system"
#define ADVANCED_CHARACTER_COLORING "advanced_color_system"
+
+#define FARTING_NOISES (1<<4) //GS13
+#define BURPING_NOISES (1<<5) //GS13
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index cff97790e9..77f99543f6 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -408,3 +408,22 @@
#define FATNESS_MAX_MOVE_PENALTY 4
#define FATNESS_WEAKLEGS_MODIFIER 35 // GS13 tweak
#define FATNESS_STRONGLEGS_MODIFIER 0.5
+
+#define RESIZE_MACRO 6
+#define RESIZE_HUGE 4
+#define RESIZE_BIG 2
+#define RESIZE_NORMAL 1
+#define RESIZE_SMALL 0.75
+#define RESIZE_TINY 0.50
+#define RESIZE_MICRO 0.25
+
+#define MOVESPEED_ID_SIZE "SIZECODE"
+#define MOVESPEED_ID_STOMP "STEPPY"
+
+//averages
+#define RESIZE_A_MACROHUGE (RESIZE_MACRO + RESIZE_HUGE) / 2
+#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2
+#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2
+#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2
+#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2
+#define RESIZE_A_TINYMICRO (RESIZE_TINY + RESIZE_MICRO) / 2
diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm
index 6529237a3e..dda494f2ea 100644
--- a/code/game/machinery/quantum_pad.dm
+++ b/code/game/machinery/quantum_pad.dm
@@ -160,6 +160,18 @@
if(QDELETED(ROI))
continue //sleeps in CHECK_TICK
+ //GS13 EDIT START
+ if(isliving(ROI) && !check_mob_teleportability(ROI))
+ continue
+
+ var/able_to_teleport_item = TRUE
+ for(var/mob/living/found_mob in ROI.contents)
+ if(isliving(found_mob) && !check_mob_teleportability(found_mob))
+ able_to_teleport_item = FALSE
+
+ if(!able_to_teleport_item)
+ continue
+
// if is anchored, don't let through
if(ROI.anchored)
if(isliving(ROI))
diff --git a/hyperstation/code/datums/elements/holder_micro.dm b/hyperstation/code/datums/elements/holder_micro.dm
index 781ec69444..a7b1224341 100644
--- a/hyperstation/code/datums/elements/holder_micro.dm
+++ b/hyperstation/code/datums/elements/holder_micro.dm
@@ -35,7 +35,7 @@
var/obj/item/clothing/head/mob_holder/micro/holder = new(get_turf(source), source, worn_state, alt_worn, right_hand, left_hand, inv_slots)
if(!holder)
return
- user.equip_to_slot(holder,ITEM_SLOT_SHOES)
+ user.equip_to_slot(holder, ITEM_SLOT_FEET)
return
/datum/element/mob_holder/micro/proc/mob_try_pickup_micro(mob/living/source, mob/user)
diff --git a/hyperstation/code/modules/cargo/sweatshop/sweatshop.dm b/hyperstation/code/modules/cargo/sweatshop/sweatshop.dm
index 2bb17bc1c7..a6fef8ad7b 100644
--- a/hyperstation/code/modules/cargo/sweatshop/sweatshop.dm
+++ b/hyperstation/code/modules/cargo/sweatshop/sweatshop.dm
@@ -13,7 +13,7 @@
force = 8
sharpness = TRUE
w_class = WEIGHT_CLASS_HUGE
- materials = list(MAT_METAL=50)
+ materials = list(/datum/material/iron=50)
attack_verb = list("slashed", "sawed")
/obj/item/carpentry/hammer
@@ -24,7 +24,7 @@
force = 7
sharpness = FALSE
w_class = WEIGHT_CLASS_NORMAL
- materials = list(MAT_METAL=100)
+ materials = list(/datum/material/iron=100)
attack_verb = list("bonked", "nailed")
/obj/item/carpentry/glue
@@ -44,7 +44,7 @@
force = 3
sharpness = TRUE
w_class = WEIGHT_CLASS_SMALL
- materials = list(MAT_METAL=25)
+ materials = list(/datum/material/iron=25)
attack_verb = list("bored", "drilled")
/obj/item/carpentry/sandpaper
@@ -54,7 +54,7 @@
force = 1
sharpness = FALSE
w_class = WEIGHT_CLASS_TINY
- materials = list(MAT_GLASS=1) //lmao
+ materials = list(/datum/material/glass=1) //lmao
attack_verb = list("sanded", "licked")
/obj/item/nails
@@ -65,7 +65,7 @@
force = 0
sharpness = TRUE
w_class = WEIGHT_CLASS_TINY
- materials = list(MAT_METAL=10)
+ materials = list(/datum/material/iron=10)
attack_verb = list("nailed", "screwed")
/obj/item/cushion
diff --git a/hyperstation/code/modules/clothing/sizeaccessories.dm b/hyperstation/code/modules/clothing/sizeaccessories.dm
index 9a0d65efe2..0e88b03568 100644
--- a/hyperstation/code/modules/clothing/sizeaccessories.dm
+++ b/hyperstation/code/modules/clothing/sizeaccessories.dm
@@ -51,6 +51,8 @@
//For glove slots
/obj/item/clothing/gloves/ring/syntech/equipped(mob/living/user, slot)
+ . = ..()
+
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
if(slot ==ITEM_SLOT_GLOVES)
@@ -59,6 +61,7 @@
normalize_mob_size(human_target)
/obj/item/clothing/gloves/ring/syntech/dropped(mob/living/user, slot)
+ . = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
@@ -87,6 +90,7 @@
//For neck items
/obj/item/clothing/neck/syntech/equipped(mob/living/user, slot)
+ . = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
if(slot ==ITEM_SLOT_NECK)
@@ -95,6 +99,7 @@
normalize_mob_size(human_target)
/obj/item/clothing/neck/syntech/dropped(mob/living/user, slot)
+ . = ..()
if(ishuman(user))
var/mob/living/carbon/human/human_target = user
diff --git a/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm b/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
index 619c5526b0..f957ed7d6c 100644
--- a/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
@@ -38,7 +38,7 @@
return
if(!ishuman(user))
return
- if(slot ==ITEM_SLOT_WEAR_SUIT)
+ if(slot == ITEM_SLOT_SUIT)
if(!firstpickup)
SEND_SOUND(user, sound('hyperstation/sound/halflife/hevsuit_pickup.ogg', volume = 50))
else
diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm
index 294086826f..1779c62065 100644
--- a/hyperstation/code/modules/resize/resizing.dm
+++ b/hyperstation/code/modules/resize/resizing.dm
@@ -1,32 +1,14 @@
//I am not a coder. Please fucking tear apart my code, and insult me for how awful I am at coding. Please and thank you. -Dahlular
//alright bet -BoxBoy
-#define RESIZE_MACRO 6
-#define RESIZE_HUGE 4
-#define RESIZE_BIG 2
-#define RESIZE_NORMAL 1
-#define RESIZE_SMALL 0.75
-#define RESIZE_TINY 0.50
-#define RESIZE_MICRO 0.25
-
//Moving these here - Jay
/mob/living
var/size_multiplier = 1 //multiplier for the mob's icon size atm
var/previous_size = 1
+ var/custom_body_size = 100
//Cyanosis - Action that resizes the sprite for the client but nobody else. Say goodbye to attacking yourself when someone's above you lmao
var/datum/action/sizecode_resize/small_sprite
-#define MOVESPEED_ID_SIZE "SIZECODE"
-#define MOVESPEED_ID_STOMP "STEPPY"
-
-//averages
-#define RESIZE_A_MACROHUGE (RESIZE_MACRO + RESIZE_HUGE) / 2
-#define RESIZE_A_HUGEBIG (RESIZE_HUGE + RESIZE_BIG) / 2
-#define RESIZE_A_BIGNORMAL (RESIZE_BIG + RESIZE_NORMAL) / 2
-#define RESIZE_A_NORMALSMALL (RESIZE_NORMAL + RESIZE_SMALL) / 2
-#define RESIZE_A_SMALLTINY (RESIZE_SMALL + RESIZE_TINY) / 2
-#define RESIZE_A_TINYMICRO (RESIZE_TINY + RESIZE_MICRO) / 2
-
//Scale up a mob's icon by the size_multiplier
/mob/living/update_transform()
ASSERT(!iscarbon(src)) //the source isnt carbon should always be true
@@ -142,7 +124,7 @@
now_pushing = 0
H.forceMove(tmob.loc)
sizediffStamLoss(tmob)
- H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10) //Full stop
+ H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/size, multiplicative_slowdown = 10) //Full stop
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/, remove_movespeed_modifier), MOVESPEED_ID_STOMP), 3) //0.3 seconds
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle" || H.dna.features["taur"] == "Fat Naga" || H.dna.features["taur"] == "Alt Naga")
@@ -171,7 +153,7 @@
sizediffStamLoss(tmob)
sizediffBruteloss(tmob)
playsound(loc, 'sound/misc/splort.ogg', 50, 1)
- H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10)
+ H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/size, multiplicative_slowdown = 10)
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/, remove_movespeed_modifier), MOVESPEED_ID_STOMP), 10) //1 second
//H.Stun(20)
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
diff --git a/tgstation.dme b/tgstation.dme
index c116221b75..48d544706e 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3943,7 +3943,6 @@
#include "GainStation13\code\mechanics\den abductors\purchaseble_goodies.dm"
#include "GainStation13\code\mobs\cakegolem.dm"
#include "GainStation13\code\mobs\chocoslime.dm"
-#include "GainStation13\code\mobs\slugcat.dm"
#include "GainStation13\code\mobs\races\caloritegolem.dm"
#include "GainStation13\code\modules\client\preferences\preferences.dm"
#include "GainStation13\code\modules\clothing\under\jobs\modcivilian.dm"
@@ -3956,6 +3955,7 @@
#include "GainStation13\code\modules\hydroponics\lipoplant.dm"
#include "GainStation13\code\modules\hydroponics\munchies_weed.dm"
#include "GainStation13\code\modules\hydroponics\grown\berries.dm"
+#include "GainStation13\code\modules\mapping\areas.dm"
#include "GainStation13\code\modules\mob\living\emote.dm"
#include "GainStation13\code\modules\mob\living\emote_modular.dm"
#include "GainStation13\code\modules\mob\living\emote_ported.dm"
@@ -3978,6 +3978,7 @@
#include "GainStation13\code\modules\surgery\organs\augments.dm"
#include "GainStation13\code\modules\vending\gatocola.dm"
#include "GainStation13\code\modules\vending\mealdor.dm"
+#include "GainStation13\code\modules\weapons\grenades.dm"
#include "GainStation13\code\obj\items\bluespace_belt.dm"
#include "GainStation13\code\obj\items\circuits.dm"
#include "GainStation13\code\obj\items\holy.dm"
@@ -3995,6 +3996,7 @@
#include "GainStation13\code\obj\weapons\feeder_ebow.dm"
#include "GainStation13\code\structures\trapped_items.dm"
#include "GainStation13\icons\obj\vairous_weapons.dm"
+#include "hyperstation\code\modules\clothing\sizeaccessories.dm"
#include "hyperstation\code\modules\resize\resize_action.dm"
#include "hyperstation\code\modules\resize\resizing.dm"
#include "hyperstation\code\modules\resize\sizechems.dm"