diff --git a/GainStation13/code/game/area/ruins.dm b/GainStation13/code/game/area/ruins.dm new file mode 100644 index 00000000..26c70878 --- /dev/null +++ b/GainStation13/code/game/area/ruins.dm @@ -0,0 +1,17 @@ +//Stuff for the quantum hub +/area/ruin/space/has_grav/powered/quantum_hub + name = "Quantum Pad Hub" + icon_state = "purple" + +/obj/item/storage/box/quantum_pad_parts + name = "box of quantum pad parts" + desc = "Contains a all the parts you'd need to make a quantum pad." + icon_state = "syndiebox" + +/obj/item/storage/box/quantum_pad_parts/PopulateContents() + new /obj/item/circuitboard/machine/quantumpad(src) + new /obj/item/stack/ore/bluespace_crystal(src) + new /obj/item/stock_parts/capacitor/quadratic(src) + new /obj/item/stock_parts/manipulator/femto(src) + new /obj/item/stack/cable_coil(src, 15) + new /obj/item/stack/sheet/metal/twenty(src) diff --git a/GainStation13/code/mechanics/fatness.dm b/GainStation13/code/mechanics/fatness.dm index df6750bb..370055a7 100644 --- a/GainStation13/code/mechanics/fatness.dm +++ b/GainStation13/code/mechanics/fatness.dm @@ -28,6 +28,9 @@ fatness += amount_to_change fatness = max(fatness, MINIMUM_FATNESS_LEVEL) //It would be a little silly if someone got negative fat. + if(client.prefs.max_weight) + fatness = min(fatness, (client.prefs.max_weight - 1)) + return TRUE diff --git a/GainStation13/code/mobs/cakegolem.dm b/GainStation13/code/mobs/cakegolem.dm index 01eea0b0..031d6cb5 100644 --- a/GainStation13/code/mobs/cakegolem.dm +++ b/GainStation13/code/mobs/cakegolem.dm @@ -43,8 +43,9 @@ /mob/living/simple_animal/friendly/cakegolem/attack_hand(mob/living/L) . = ..() + //if(.) //the attack was blocked //return if(L.a_intent == INTENT_HARM && L.reagents && !stat) L.reagents.add_reagent(/datum/reagent/consumable/nutriment, 0.4) - L.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.4) \ No newline at end of file + L.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.4) diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index 09748049..f7f591be 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -16,3 +16,6 @@ ///Does the person wish to be involved with non-con weight gain events? var/noncon_weight_gain = FALSE + + ///What is the max weight that the person wishes to be? If set to FALSE, there will be no max weight + var/max_weight = FALSE diff --git a/_maps/RandomRuins/SpaceRuins/feeders_den.dmm b/_maps/RandomRuins/SpaceRuins/feeders_den.dmm index e537920e..5c7f221a 100644 --- a/_maps/RandomRuins/SpaceRuins/feeders_den.dmm +++ b/_maps/RandomRuins/SpaceRuins/feeders_den.dmm @@ -11,7 +11,7 @@ "bX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/meter,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "cd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "cn" = (/obj/structure/table,/obj/item/organ/cyberimp/chest/nutriment/plus{pixel_y = 12; pixel_x = 9},/obj/item/organ/cyberimp/chest/nutriment{pixel_x = -5; pixel_y = 13},/obj/item/gun/ballistic/automatic/pistol/suppressed{pixel_x = -14; pixel_y = 7},/obj/machinery/recharger,/obj/effect/turf_decal/tile/brown{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) -"cw" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate{pixel_x = -10},/obj/item/clothing/head/helmet/space/syndicate{pixel_x = -10},/obj/item/clothing/mask/gas{pixel_x = -10; pixel_y = 3},/obj/item/clothing/suit/space/syndicate/orange{pixel_x = 8; name = "extra stretchy space suit"},/obj/item/clothing/head/helmet/space/syndicate/orange{pixel_x = 10},/obj/item/clothing/mask/gas{pixel_x = 10; pixel_y = 3},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) +"cw" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate{pixel_x = -10},/obj/item/clothing/head/helmet/space/syndicate{pixel_x = -10},/obj/item/clothing/mask/gas{pixel_x = -10; pixel_y = 3},/obj/item/clothing/suit/space/syndicate/orange{pixel_x = 8; name = "extra stretchy space suit"},/obj/item/clothing/head/helmet/space/syndicate/orange{pixel_x = 10},/obj/item/clothing/mask/gas{pixel_x = 10; pixel_y = 3},/obj/item/tank/jetpack/carbondioxide/eva,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "cx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/obj/structure/cable{icon_state = "2-8"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "cy" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/food/snacks/store/cake/chocolate,/obj/machinery/light/small{dir = 1},/turf/open/floor/mineral/basaltstone_floor,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "cV" = (/obj/structure/sign/poster/contraband/syndicate_recruitment{pixel_x = -28},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) @@ -115,7 +115,7 @@ "uc" = (/obj/structure/rack/shelf,/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets/donkpocketberry{pixel_y = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "uy" = (/obj/machinery/iv_drip/feeding_tube,/turf/open/floor/carpet/black,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "uA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) -"uF" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high/plus,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) +"uF" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high/plus,/obj/structure/cable{icon_state = "1-2"},/obj/item/gps{tracking = 0},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "uO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "uX" = (/obj/machinery/computer/security/telescreen/entertainment,/obj/effect/turf_decal/tile/bar,/obj/effect/turf_decal/tile/bar{dir = 1},/obj/structure/disposalpipe/segment,/turf/closed/wall/r_wall/syndicate,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) "vk" = (/obj/structure/window/reinforced/spawner/east,/obj/structure/table/wood,/obj/item/storage/fancy/cigarettes/cigpack_syndicate{pixel_x = -3},/obj/item/lighter{pixel_x = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation{name = "Unknown Outpost"}) diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm index ae8578d1..4f833033 100644 --- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm @@ -3,7 +3,7 @@ "ac" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation) "ad" = (/obj/machinery/computer/message_monitor{dir = 2},/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/paper/monitorkey,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) "ae" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/libraryconsole/bookmanagement,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) -"af" = (/obj/structure/rack{dir = 8},/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = 3},/obj/effect/turf_decal/stripes/line,/turf/open/floor/mineral/plastitanium/red,/area/ruin/space/has_grav/listeningstation) +"af" = (/obj/structure/rack{dir = 8},/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = 3},/obj/effect/turf_decal/stripes/line,/obj/item/tank/jetpack/carbondioxide/eva,/turf/open/floor/mineral/plastitanium/red,/area/ruin/space/has_grav/listeningstation) "ag" = (/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/effect/baseturf_helper/asteroid/airless,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation) "ah" = (/obj/machinery/computer/camera_advanced{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/newscaster{pixel_y = 32},/obj/item/radio/intercom{freerange = 1; name = "Syndicate Radio Intercom"; pixel_x = -30},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) "ai" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) @@ -26,7 +26,7 @@ "az" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/autolathe/hacked,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) "aA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) "aB" = (/obj/structure/filingcabinet,/obj/item/paper/fluff/ruins/listeningstation/reports/april,/obj/item/paper/fluff/ruins/listeningstation/reports/may,/obj/item/paper/fluff/ruins/listeningstation/reports/june,/obj/item/paper/fluff/ruins/listeningstation/reports/july,/obj/item/paper/fluff/ruins/listeningstation/reports/august,/obj/item/paper/fluff/ruins/listeningstation/reports/september,/obj/item/paper/fluff/ruins/listeningstation/reports/october,/obj/item/paper/fluff/ruins/listeningstation/receipt,/obj/effect/decal/cleanable/dirt,/obj/item/paper/fluff/ruins/listeningstation/odd_report,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) -"aC" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/storage/bag/ore,/obj/effect/decal/cleanable/dirt,/obj/item/shovel,/obj/item/pickaxe/mini,/obj/item/t_scanner/adv_mining_scanner/lesser,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) +"aC" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/storage/bag/ore,/obj/effect/decal/cleanable/dirt,/obj/item/shovel,/obj/item/pickaxe/mini,/obj/item/t_scanner/adv_mining_scanner/lesser,/obj/item/gps{tracking = 0},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation) "aD" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/closet/emcloset/anchored,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation) "aE" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/tank_dispenser/oxygen{oxygentanks = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation) "aF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation) diff --git a/_maps/RandomRuins/SpaceRuins/quantum_hub.dmm b/_maps/RandomRuins/SpaceRuins/quantum_hub.dmm new file mode 100644 index 00000000..4abddbbc --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/quantum_hub.dmm @@ -0,0 +1,60 @@ +"a" = (/turf/open/space/basic,/area/space) +"b" = (/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"c" = (/obj/machinery/door/airlock{dir = 1},/obj/structure/fans/tiny,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"d" = (/obj/machinery/door/airlock{id_tag = "quantum_door_three"; dir = 1},/obj/structure/fans/tiny,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"e" = (/obj/machinery/door/airlock{id_tag = "quantum_door_two"; dir = 1},/obj/structure/fans/tiny,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"f" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"g" = (/obj/item/twohanded/required/kirbyplants/photosynthetic,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"h" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"i" = (/turf/closed/wall/mineral/plastitanium,/area/ruin/space/has_grav/powered/quantum_hub) +"j" = (/obj/machinery/light{dir = 4},/obj/item/twohanded/required/kirbyplants/random,/obj/machinery/button/door{id = "quantum_door_one"; name = "Room 1 Lock"; normaldoorcontrol = 1; specialfunctions = 4; pixel_y = 4; pixel_x = 21; dir = 0},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"l" = (/obj/structure/rack,/obj/item/multitool,/obj/item/screwdriver,/obj/item/wrench,/obj/machinery/light,/obj/item/storage/box/quantum_pad_parts,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"m" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/vending/gato,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/powered/quantum_hub) +"n" = (/obj/structure/window/reinforced,/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"o" = (/obj/machinery/quantumpad,/obj/effect/turf_decal/box,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"p" = (/turf/open/space/basic,/area/space/nearstation) +"r" = (/obj/item/beacon{anchored = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"s" = (/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/ruin/space/has_grav/powered/quantum_hub) +"t" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/powered/quantum_hub) +"v" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/ruin/space/has_grav/powered/quantum_hub) +"y" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"z" = (/obj/structure/window/reinforced{dir = 1},/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"A" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/powered/quantum_hub) +"B" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/mealdor,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/powered/quantum_hub) +"D" = (/obj/machinery/quantumpad{map_pad_id = "quantum hub"; map_pad_link_id = "quantum hub xenoarch"},/obj/effect/turf_decal/box,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"F" = (/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/ruin/space/has_grav/powered/quantum_hub) +"G" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/space/basic,/area/ruin/space/has_grav/powered/quantum_hub) +"H" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/vending/snack/random,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/powered/quantum_hub) +"I" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/vending/cigarette,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/powered/quantum_hub) +"J" = (/obj/structure/chair,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"L" = (/obj/machinery/door/airlock{id_tag = "quantum_door_one"; dir = 4},/obj/structure/fans/tiny,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"M" = (/obj/machinery/light{dir = 8},/obj/structure/table/reinforced,/obj/item/gps{gpstag = "Quantum Hub"},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"N" = (/obj/machinery/light,/obj/item/twohanded/required/kirbyplants/random,/obj/machinery/button/door{id = "quantum_door_three"; name = "Room 3 Lock"; normaldoorcontrol = 1; specialfunctions = 4; pixel_y = -21; pixel_x = 4; dir = 0},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"O" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"P" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"Q" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"R" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/circuit,/area/ruin/space/has_grav/powered/quantum_hub) +"T" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/external/glass,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"U" = (/obj/structure/rack,/obj/item/multitool,/obj/item/screwdriver,/obj/item/wrench,/obj/machinery/light{dir = 4},/obj/item/storage/box/quantum_pad_parts,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"V" = (/turf/open/floor/plasteel/cafeteria,/area/ruin/space/has_grav/powered/quantum_hub) +"W" = (/obj/machinery/door/airlock{dir = 4},/obj/structure/fans/tiny,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"Y" = (/obj/structure/closet,/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) +"Z" = (/obj/machinery/light,/obj/item/twohanded/required/kirbyplants/random,/obj/machinery/button/door{id = "quantum_door_two"; name = "Room 2 Lock"; normaldoorcontrol = 1; specialfunctions = 4; pixel_y = -21; pixel_x = 4; dir = 0},/turf/open/floor/plasteel,/area/ruin/space/has_grav/powered/quantum_hub) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaa +aGGGGiaaaiGGGiaaaaa +aGJOYtaaatJOYtaaaaa +aGbobtaaatbobtaaaaa +aGZbltaaatNbltaaaaa +aitetiaaaitdiiaaaaa +aaphppppppphpaaABIa +aapRQQQzQQQfpaaFVsa +aappppphppphpaamVHa +aitttiphpitctippvpa +aGYbUtphptPbgGGGcGa +aGOobLQnQWbDrWbbbTa +aGybjtppptMbgGGGGGa +aitttiaaaitttippppa +aaaaaaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/Mining/Lavaland_Lower.dmm b/_maps/map_files/Mining/Lavaland_Lower.dmm index 881c9161..d89adf92 100644 --- a/_maps/map_files/Mining/Lavaland_Lower.dmm +++ b/_maps/map_files/Mining/Lavaland_Lower.dmm @@ -6632,6 +6632,17 @@ dir = 1 }, /area/xenoarch/gen) +"xt" = ( +/obj/structure/cable, +/obj/machinery/quantumpad{ + map_pad_id = "quantum hub xenoarch"; + map_pad_link_id = "quantum hub"; + mapped_quantum_pads = list("ldemone","demone") + }, +/turf/open/floor/plasteel, +/area/xenoarch/bot{ + name = "Demon Teleporter" + }) "xG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy{ @@ -6723,6 +6734,7 @@ pixel_y = 8; pixel_x = -4 }, +/obj/item/crowbar, /turf/open/floor/plating, /area/xenoarch/bot{ name = "Demon Teleporter" @@ -6730,6 +6742,17 @@ "FE" = ( /turf/open/floor/plasteel/grimy, /area/xenoarch/nothinghere) +"FL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/xenoarch/bot{ + name = "Demon Teleporter" + }) "FT" = ( /obj/machinery/light/broken{ dir = 4 @@ -18477,10 +18500,10 @@ jN jN jN FZ -sO -VE -VE -VE +FL +Ed +Ed +xt Fl Gq Gq diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 09b0618c..05fe0e6a 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -167,6 +167,11 @@ #define FATNESS_LEVEL_FATTER 250 #define FATNESS_LEVEL_FAT 170 +//Math stuff for fatness movement speed +#define FATNESS_DIVISOR 860 +#define FATNESS_MAX_MOVE_PENALTY 4 +#define FATNESS_WEAKLEGS_MODIFIER 20 + //Nutrition levels for humans #define NUTRITION_LEVEL_FULL 550 #define NUTRITION_LEVEL_WELL_FED 450 diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm index 652a771b..fdba747f 100644 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ b/code/datums/diseases/advance/symptoms/weight.dm @@ -66,8 +66,8 @@ Bonus symptom_delay_min = 15 symptom_delay_max = 45 threshold_desc = list( - "Transmission 7" = "Increases the rate of cell replication.", - "Transmission 12" = "Increases the rate of cell replication further" + "Stage Speed 7" = "Increases the rate of cell replication.", + "Stage Speed 12" = "Increases the rate of cell replication further" ) @@ -83,9 +83,9 @@ Bonus to_chat(M, "[pick("You feel oddly full...", "You feel more plush...", "You feel more huggable...", "You hear an odd gurgle from your stomach")]") else to_chat(M, "[pick("You feel your body churn...", "You feel heavier...", "You hear an ominous gurgle from your belly...", "You feel bulkier...")]") - if(A.properties["transmittable"] >= 12) //get chunkier quicker + if(A.properties["stage_rate"] >= 12) //get chunkier quicker M.adjust_fatness(70, FATTENING_TYPE_VIRUS) - else if(A.properties["transmittable"] >= 7) + else if(A.properties["stage_rate"] >= 7) M.adjust_fatness(40, FATTENING_TYPE_VIRUS) else M.adjust_fatness(15, FATTENING_TYPE_VIRUS) diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index 5b5cb2b5..c808b58b 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -330,3 +330,11 @@ suffix = "fastfood.dmm" name = "Fast Food Restaurant" description = "In GATO controlled space, it isn't uncommon to find various space restaurants, famous for the abundance of corn oil in their foods." + +/datum/map_template/ruin/space/quantum_hub //GS13 + id = "quantum_hub" + suffix = "quantum_hub.dmm" + name = "Quantum Hub" + description = "A small hub containing a quantum pad connected to xenoarch along with three other rooms containing unlinked quantum pads and the parts needed to make new quantum pads." + cost = 0 + always_place = TRUE diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 1493274d..2493ab15 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1020,6 +1020,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
" //GS13 stuff goes here dat += "

GS13 Preferences

" + + dat += "Maximum Weight:[max_weight == FALSE ? "None" : max_weight]
" dat += "NonCon - Weight Gain:[noncon_weight_gain == TRUE ? "Enabled" : "Disabled"]
" dat += "

GS13 Weight Gain

" @@ -2559,6 +2561,30 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("noncon_weight_gain") noncon_weight_gain = !noncon_weight_gain + if("max_fatness") + var/pickedweight = input(user, "Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit", "Character Preference", "None") as null|anything in list("None", "Fat", "Fatter", "Very Fat", "Obese", "Morbidly Obese", "Extremely Obese", "Barely Mobile", "Immobile") + if(pickedweight) + switch(pickedweight) + if("None") + max_weight = FALSE + if("Fat") + max_weight = FATNESS_LEVEL_FATTER + if("Fatter") + max_weight = FATNESS_LEVEL_VERYFAT + if("Very Fat") + max_weight = FATNESS_LEVEL_OBESE + if("Obese") + max_weight = FATNESS_LEVEL_MORBIDLY_OBESE + if("Morbidly Obese") + max_weight = FATNESS_LEVEL_EXTREMELY_OBESE + if("Extremely Obese") + max_weight = FATNESS_LEVEL_BARELYMOBILE + if("Barely Mobile") + max_weight = FATNESS_LEVEL_IMMOBILE + if("Immobile") + max_weight = FATNESS_LEVEL_BLOB + + if("inflatable_belly") features["inflatable_belly"] = !features["inflatable_belly"] diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 47b6893a..43e5f64d 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -154,6 +154,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["weight_gain_viruses"] >> weight_gain_viruses S["weight_gain_weapons"] >> weight_gain_weapons S["noncon_weight_gain"] >> noncon_weight_gain + S["max_weight"] >> max_weight + //try to fix any outdated data if necessfary if(needs_update >= 0) @@ -285,6 +287,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["weight_gain_chems"], weight_gain_chems) WRITE_FILE(S["weight_gain_weapons"], weight_gain_weapons) WRITE_FILE(S["noncon_weight_gain"], noncon_weight_gain) + WRITE_FILE(S["max_weight"], max_weight) return 1 diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index a4fa219b..d5b97ab1 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1818,26 +1818,20 @@ GLOBAL_LIST_EMPTY(roundstart_races) . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR return . */ - if(HAS_TRAIT(H, TRAIT_FAT)) - . += (1 - flight) - if(HAS_TRAIT(H, TRAIT_FATTER)) - . += (1.1 - flight) - if(HAS_TRAIT(H, TRAIT_VERYFAT)) - . += (1.25 - flight) - if(HAS_TRAIT(H, TRAIT_OBESE))//GS13 fat levels move speed decrease - . += (1.5 - flight) - if(HAS_TRAIT(H, TRAIT_MORBIDLYOBESE)) - . += (2 - flight) - if(HAS_TRAIT(H, TRAIT_EXTREMELYOBESE)) - . += (2.5 - flight) - if(HAS_TRAIT(H, TRAIT_BARELYMOBILE)) - . += 2.7 - if(HAS_TRAIT(H, TRAIT_IMMOBILE)) - . += 3 // No wings are going to lift that much off the ground - if(HAS_TRAIT(H, TRAIT_BLOB)) - . += 4 + if(H.fatness) + var/fatness_delay = (H.fatness / FATNESS_DIVISOR) + if(H.fatness < FATNESS_LEVEL_BARELYMOBILE) + fatness_delay = fatness_delay - flight + + fatness_delay = min(fatness_delay, FATNESS_MAX_MOVE_PENALTY) + if(HAS_TRAIT(H, TRAIT_WEAKLEGS) && (H.fatness > FATNESS_LEVEL_BLOB)) + fatness_delay += ((H.fatness - FATNESS_LEVEL_BLOB) * FATNESS_WEAKLEGS_MODIFIER) / FATNESS_DIVISOR + + . += fatness_delay + if(H.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) . += (BODYTEMP_COLD_DAMAGE_LIMIT - H.bodytemperature) / COLD_SLOWDOWN_FACTOR + return . ////////////////// // ATTACK PROCS // diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 0c83178a..c1a85768 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -85,8 +85,6 @@ if(!mob.Process_Spacemove(direct)) return FALSE - if(HAS_TRAIT(mob,TRAIT_BLOB) && HAS_TRAIT(mob,TRAIT_WEAKLEGS)) // GS13 are we too fat to move? - return FALSE //We are now going to move var/add_delay = mob.movement_delay() mob.set_glide_size(DELAY_TO_GLIDE_SIZE(add_delay * (((direct & 3) && (direct & 12)) ? 2 : 1))) // set it now in case of pulled objects diff --git a/tgstation.dme b/tgstation.dme index d255ecf6..bc359fba 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3072,6 +3072,7 @@ #include "code\modules\zombie\items.dm" #include "code\modules\zombie\organs.dm" #include "GainStation13\code\clothing\calorite_collar.dm" +#include "GainStation13\code\game\area\ruins.dm" #include "GainStation13\code\machinery\feeding_tube.dm" #include "GainStation13\code\mechanics\fatness.dm" #include "GainStation13\code\mechanics\spells.dm"