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"