diff --git a/GainStation13/code/game/objects/items/docility_implant.dm b/GainStation13/code/game/objects/items/docility_implant.dm new file mode 100644 index 00000000..5cedf064 --- /dev/null +++ b/GainStation13/code/game/objects/items/docility_implant.dm @@ -0,0 +1,134 @@ +/obj/item/implant/docile + name = "docility implant" + activated = FALSE + /// What fatness level does the target need to be for the implant to work? + var/required_fatness = FATNESS_LEVEL_BLOB + /// What traits do we want to give the implanted mob? + var/list/traits_list = list( + TRAIT_WEIGHT_LOSS_IMMUNE, + TRAIT_PACIFISM, + TRAIT_CLUMSY, + TRAIT_FAT_GOOD, + TRAIT_HEAVY_SLEEPER, + TRAIT_DOCILE, + ) + +/obj/item/implant/docile/can_be_implanted_in(mob/living/target) + var/mob/living/carbon/human/target_human = target + if(!istype(target_human) || (target_human.fatness_real < required_fatness)) + return FALSE + + if(HAS_TRAIT(target_human, TRAIT_DOCILE)) + return FALSE //They probably already have an implant, they likely don't need this. + + return target?.client?.prefs?.fatness_vulnerable + +/obj/item/implant/docile/implant(mob/living/target, mob/user, silent = FALSE) + . = ..() + if(!.) + return + + var/mob/living/carbon/human/target_human = target + if(!istype(target_human)) + return + + for(var/trait in traits_list) + ADD_TRAIT(target, trait, src) + + target_human.nutri_mult += 1 + return TRUE + +/obj/item/implant/docile/removed(mob/living/source, silent = FALSE, special = 0) + . = ..() + if(!.) + return + + var/mob/living/carbon/human/target_human = source + if(!istype(target_human)) + return + + for(var/trait in traits_list) + REMOVE_TRAIT(target_human, trait, src) + + target_human.nutri_mult -= 1 + return TRUE + + +/obj/item/implant/docile/livestock + name = "livestock implant" + traits_list = list( + TRAIT_WEIGHT_LOSS_IMMUNE, + TRAIT_PACIFISM, + TRAIT_CLUMSY, + TRAIT_FAT_GOOD, + TRAIT_HEAVY_SLEEPER, + TRAIT_DOCILE, + TRAIT_LIVESTOCK, + TRAIT_NO_MISC, + TRAIT_NORUNNING, + ) + + /// What is the name of the mob before we change it? + var/stored_name = "" + /// What name do we want to give the mob before adding the randomized number + var/name_to_give = "Livestock" + /// How much do we want to modifiy the productivity stats of the mob's current sex organs by? + var/productivity_mult = 4 + +/obj/item/implant/docile/livestock/can_be_implanted_in(mob/living/target) + . = ..() + if(!.) + return FALSE + + return target?.client?.prefs?.extreme_fatness_vulnerable + +/obj/item/implant/docile/livestock/implant(mob/living/target, mob/user, silent) + . = ..() + if(!.) + return + + var/mob/living/carbon/human/target_human = target + stored_name = target_human.real_name + var/new_name = "[name_to_give] ([rand(0,999)])" + + target_human.real_name = new_name + target_human.name = new_name + + if(target_human?.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/balls = target_human?.getorganslot("testicles") + balls.fluid_mult = balls.fluid_mult * productivity_mult + balls.fluid_max_volume = balls.fluid_max_volume * productivity_mult + + if(target_human?.getorganslot("breasts")) + var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot("breasts") + boobs.fluid_mult = boobs.fluid_mult * productivity_mult + boobs.fluid_max_volume = boobs.fluid_max_volume * productivity_mult + +/obj/item/implant/docile/livestock/removed(mob/living/source, silent, special) + . = ..() + if(!.) + return FALSE + + var/mob/living/carbon/human/target_human = source + target_human.real_name = stored_name + target_human.name = stored_name + + if(target_human?.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/balls = target_human?.getorganslot("testicles") + balls.fluid_mult = balls.fluid_mult / productivity_mult + balls.fluid_max_volume = balls.fluid_max_volume / productivity_mult + + if(target_human?.getorganslot("breasts")) + var/obj/item/organ/genital/breasts/boobs = target_human?.getorganslot("breasts") + boobs.fluid_mult = boobs.fluid_mult / productivity_mult + boobs.fluid_max_volume = boobs.fluid_max_volume / productivity_mult + +/obj/item/implantcase/docile + name = "implant case - 'Docility'" + desc = "A glass case containing a docility implant. Used to make those at high weights docile." + imp_type = /obj/item/implant/docile + +/obj/item/implantcase/docile/livestock + name = "implant case - 'Livestock'" + desc = "A glass case containing a livestock implant. Functions similar to the docility implant, but changes the implantee's name and makes them even more helpless. cannot be combined with the docility implant." + imp_type = /obj/item/implant/docile/livestock diff --git a/GainStation13/code/machinery/supply_teleporter.dm b/GainStation13/code/machinery/supply_teleporter.dm new file mode 100644 index 00000000..c3320363 --- /dev/null +++ b/GainStation13/code/machinery/supply_teleporter.dm @@ -0,0 +1,15 @@ +/obj/machinery/quantumpad/supply_only + name = "supply pad" + desc = "A modified version of the quantum pad, only able to teleport supplies and livestock." + circuit = /obj/item/circuitboard/machine/quantumpad/supply_only + +/obj/machinery/quantumpad/supply_only/check_mob_teleportability(mob/living/mob_to_check) + if(istype(mob_to_check, /mob/living/simple_animal)) + return TRUE + + return HAS_TRAIT(mob_to_check, TRAIT_LIVESTOCK) + +/obj/item/circuitboard/machine/quantumpad/supply_only + name = "Supply Pad (Machine Board)" + build_path = /obj/machinery/quantumpad/supply_only + diff --git a/GainStation13/code/mechanics/den abductors/purchaseble_goodies.dm b/GainStation13/code/mechanics/den abductors/purchaseble_goodies.dm index a070abc3..1fdf85db 100644 --- a/GainStation13/code/mechanics/den abductors/purchaseble_goodies.dm +++ b/GainStation13/code/mechanics/den abductors/purchaseble_goodies.dm @@ -69,3 +69,15 @@ credit_cost = 1500 item_to_dispense = /obj/item/storage/box/rndboards initial_stock = 2 + +/datum/feeders_den_goodie/docility_implant + name = "Docility Implant" + credit_cost = 100 + item_to_dispense = /obj/item/implantcase/docile + initial_stock = 5 + +/datum/feeders_den_goodie/docility_implant/livestock + name = "Livestock Implant" + credit_cost = 250 + item_to_dispense = /obj/item/implantcase/docile/livestock + initial_stock = 5 diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index 7a968916..4da0f2e2 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -21,6 +21,10 @@ var/weight_gain_extreme = FALSE ///stuckage var/stuckage = FALSE + /// Are items that only affect those at high weights able to affect the player? + var/fatness_vulnerable = FALSE + /// Similar to fatness_vulnerable, but with more extreme effects such as transformation/hypno. + var/extreme_fatness_vulnerable = FALSE // Helplessness, a set of prefs that make things extra tough at higher weights. If set to FALSE, they won't do anything. ///What fatness level disables movement? diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 65687a2a..fda8c6fc 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -95,7 +95,7 @@ "ca" = (/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/chemistry) "cb" = (/turf/open/floor/plasteel/white/side,/area/ruin/unpowered/syndicate_lava_base/virology) "cc" = (/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/mineral/plastitanium,/area/ruin/unpowered/syndicate_lava_base/cargo) -"cd" = (/obj/structure/rack,/obj/item/flashlight{pixel_x = -3; pixel_y = 3},/obj/item/flashlight,/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) +"cd" = (/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "cf" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable/yellow{icon_state = "0-2"},/obj/machinery/power/apc/syndicate{dir = 1; name = "Cargo Bay APC"; pixel_y = 24},/obj/structure/closet/emcloset/anchored,/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "cg" = (/obj/structure/closet/firecloset/full{anchored = 1},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "ch" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/mineral/plastitanium,/area/ruin/unpowered/syndicate_lava_base/testlab) @@ -222,7 +222,7 @@ "eZ" = (/obj/effect/mob_spawn/human/lavaland_syndicate{dir = 4; icon_state = "sleeper_s"},/turf/open/floor/plasteel/grimy,/area/ruin/unpowered/syndicate_lava_base/dormitories) "fa" = (/obj/structure/cable/yellow{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 9},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main) "fb" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/unpowered/syndicate_lava_base/virology) -"fc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) +"fc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/obj/structure/rack,/obj/item/flashlight,/obj/item/flashlight{pixel_x = -3; pixel_y = 3},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "fe" = (/obj/effect/turf_decal/stripes/corner,/obj/machinery/firealarm{dir = 4; pixel_x = 26},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "ff" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/unpowered/syndicate_lava_base/virology) "fh" = (/obj/structure/grille,/obj/structure/window/plastitanium,/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/virology) @@ -235,7 +235,7 @@ "fo" = (/turf/open/floor/plasteel/white/side{dir = 1},/area/ruin/unpowered/syndicate_lava_base/main) "fq" = (/turf/closed/wall/mineral/plastitanium/explosive,/area/ruin/unpowered/syndicate_lava_base/virology) "fr" = (/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{dir = 1},/obj/structure/disposalpipe/segment{dir = 5},/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/unpowered/syndicate_lava_base/virology) -"fs" = (/obj/machinery/door/firedoor,/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/obj/machinery/door/airlock/mining/glass{name = "Warehouse"; req_access_txt = "150"},/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/unpowered/syndicate_lava_base/cargo) +"fs" = (/obj/machinery/door/firedoor,/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/obj/machinery/door/airlock/mining/glass{name = "Supply Station"; req_access_txt = "150"},/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/unpowered/syndicate_lava_base/cargo) "ft" = (/obj/structure/grille,/obj/structure/window/plastitanium,/obj/machinery/door/firedoor,/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/cargo) "fu" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table,/obj/item/folder/yellow,/obj/item/stack/wrapping_paper{pixel_y = 5},/obj/item/stack/packageWrap,/obj/item/hand_labeler,/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "fv" = (/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/obj/effect/turf_decal/tile/brown{dir = 1},/obj/item/stack/credits{amount = 30},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) @@ -556,6 +556,7 @@ "nt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 9},/obj/structure/cable/yellow{icon_state = "1-8"},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "nu" = (/obj/machinery/air_sensor{frequency = 1442; id_tag = "syndie_lavaland_n2_sensor"},/turf/open/floor/plating/airless,/area/ruin/unpowered/syndicate_lava_base/engineering) "nw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"nx" = (/obj/machinery/porta_turret/syndicate{dir = 5},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/unpowered/syndicate_lava_base/cargo) "ny" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{dir = 4; name = "Medbay"},/turf/open/floor/plasteel/white,/area/ruin/unpowered/syndicate_lava_base/medbay) "nz" = (/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/unpowered/syndicate_lava_base/medbay) "nB" = (/obj/machinery/atmospherics/miner/nitrogen,/obj/machinery/light/small{dir = 4},/turf/open/floor/plating/airless,/area/ruin/unpowered/syndicate_lava_base/engineering) @@ -594,6 +595,7 @@ "oP" = (/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/testlab) "pi" = (/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/cable/yellow{icon_state = "2-4"},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "pY" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"qX" = (/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "rF" = (/obj/effect/turf_decal/stripes/corner,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "rI" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "150"},/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "150"},/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/testlab) "rO" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) @@ -607,11 +609,13 @@ "uX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 9},/obj/structure/cable/yellow{icon_state = "4-8"},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/medbay) "vx" = (/obj/structure/table/wood,/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{dir = 1},/obj/structure/sign/barsign{pixel_y = -32; req_access = null; req_access_txt = "0"},/turf/open/floor/wood,/area/ruin/unpowered/syndicate_lava_base/bar) "vD" = (/obj/structure/closet/emcloset/anchored,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 6},/obj/structure/cable/yellow{icon_state = "2-4"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"wG" = (/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "wN" = (/obj/machinery/hydroponics/constructable,/obj/structure/window/reinforced{dir = 8},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/machinery/firealarm{dir = 1; pixel_y = 24},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "xn" = (/obj/machinery/hydroponics/constructable,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "xo" = (/obj/structure/sink/kitchen{dir = 4; pixel_x = -13},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/bar) "xF" = (/obj/structure/table/reinforced,/obj/item/stock_parts/cell/high/plus{pixel_x = 7; pixel_y = -5},/obj/item/stock_parts/cell/high/plus{pixel_x = -8; pixel_y = -3},/obj/item/multitool{pixel_x = -1; pixel_y = -13},/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/white/side{dir = 4},/area/ruin/unpowered/syndicate_lava_base/circuits) "xO" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/external{req_access_txt = "150"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"xP" = (/obj/effect/turf_decal/box,/obj/machinery/quantumpad/supply_only{map_pad_id = "lavalandbase"; map_pad_link_id = "denbase"},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "xT" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/circuits) "yq" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "zy" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{dir = 2},/obj/structure/cable/yellow{icon_state = "1-4"},/obj/structure/cable/yellow{icon_state = "1-8"},/turf/open/floor/plasteel/white/side{dir = 4},/area/ruin/unpowered/syndicate_lava_base/arrivals) @@ -621,6 +625,7 @@ "Ax" = (/obj/structure/table/reinforced,/obj/machinery/plantgenes{density = 0; pixel_y = 6},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "AL" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/circuits) "Bk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"BJ" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "CD" = (/obj/machinery/power/apc/syndicate{dir = 4; name = "Medbay APC"; pixel_x = 24},/obj/structure/cable/yellow,/obj/machinery/computer/operating{dir = 8},/turf/open/floor/plasteel/white/side{dir = 4},/area/ruin/unpowered/syndicate_lava_base/medbay) "CL" = (/obj/machinery/hydroponics/constructable,/obj/structure/window/reinforced{dir = 8},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Dc" = (/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},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) @@ -638,6 +643,7 @@ "Ml" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/stripes/white/corner{dir = 1},/turf/open/floor/circuit/telecomms,/area/ruin/unpowered/syndicate_lava_base/nanites) "Mn" = (/turf/closed/wall/mineral/plastitanium/explosive,/area/ruin/unpowered/syndicate_lava_base/bar) "MY" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"Nf" = (/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "NH" = (/obj/machinery/portable_atmospherics/scrubber,/obj/effect/turf_decal/bot,/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/engineering) "NZ" = (/obj/machinery/button/door{id = "lavalandsyndi_telecomms"; name = "Telecomms Blast Door Control"; pixel_x = 26; req_access_txt = "150"},/obj/item/storage/box/disks_nanite,/obj/item/storage/box/disks_nanite,/obj/item/nanite_scanner,/obj/item/nanite_remote/comm,/obj/item/nanite_remote,/obj/structure/closet/crate,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/nanites) "Ov" = (/obj/effect/turf_decal/stripes/line{dir = 6},/obj/structure/lattice/catwalk,/turf/open/lava/smooth/lava_land_surface,/area/ruin/unpowered/syndicate_lava_base/arrivals) @@ -645,6 +651,7 @@ "Pa" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/unpowered/syndicate_lava_base/circuits) "Px" = (/obj/structure/table/reinforced,/obj/item/stock_parts/cell/high/plus{pixel_x = -5; pixel_y = 9},/obj/item/stock_parts/cell/high/plus{pixel_x = -8; pixel_y = -3},/obj/item/multitool,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/unpowered/syndicate_lava_base/circuits) "PE" = (/obj/structure/table/reinforced,/obj/item/integrated_circuit_printer/upgraded,/turf/open/floor/plasteel/white/side{dir = 6},/area/ruin/unpowered/syndicate_lava_base/circuits) +"Qa" = (/obj/effect/turf_decal/tile/brown{dir = 8},/obj/effect/turf_decal/tile/brown,/obj/machinery/door/airlock/mining/glass{name = "Supply Station"; req_access_txt = "150"},/obj/effect/turf_decal/tile/brown{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo) "Qk" = (/obj/item/toy/plush/nukeplushie{desc = "This one seems to be quite worn. It even has a different tag. It reads: Property of Aeterna. Please dry wash only."},/turf/open/floor/circuit/red,/area/ruin/unpowered/syndicate_lava_base/main) "Qm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Ra" = (/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/table/optable,/obj/item/surgical_drapes,/obj/effect/decal/cleanable/generic,/turf/open/floor/plasteel/white/side{dir = 4},/area/ruin/unpowered/syndicate_lava_base/medbay) @@ -660,14 +667,18 @@ "TB" = (/obj/structure/table/reinforced,/obj/machinery/smartfridge/disks{density = 0; pixel_y = 2},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Ug" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/medbay) "UM" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) +"Vl" = (/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "Vu" = (/obj/effect/turf_decal/stripes/line{dir = 10},/obj/effect/turf_decal/stripes/white/line{dir = 5},/turf/open/floor/circuit/telecomms,/area/ruin/unpowered/syndicate_lava_base/nanites) "Wt" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 10},/obj/structure/noticeboard{dir = 8; pixel_x = 27},/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},/obj/effect/turf_decal/stripes/white/line{dir = 1; icon_state = "steel_decals9"},/obj/effect/turf_decal/stripes/white/line{dir = 4; icon_state = "steel_decals9"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/nanites) "Xa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/machinery/power/apc/syndicate{dir = 1; name = "Arrival Hallway APC"; pixel_y = 24},/obj/structure/cable/yellow{icon_state = "0-4"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Xm" = (/obj/effect/turf_decal/loading_area{dir = 9; icon_state = "steel_panel"; name = "steel pannel"},/obj/effect/turf_decal/loading_area{dir = 6; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "XL" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/structure/closet{name = "Hydroponics locker"},/obj/item/storage/box/disks_plantgene,/obj/item/storage/box/disks_plantgene,/obj/item/hatchet,/obj/item/hatchet,/obj/item/watertank,/obj/item/reagent_containers/glass/bucket,/obj/item/reagent_containers/glass/bucket,/obj/item/storage/bag/plants,/obj/item/storage/bag/plants,/obj/item/plant_analyzer,/obj/item/plant_analyzer,/obj/item/storage/box/disks_plantgene,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/arrivals) "Yj" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/medbay) +"YE" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) +"Zr" = (/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) "Zv" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals) "ZK" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/stripes/white/line{dir = 6; icon_state = "steel_decals6"},/obj/effect/turf_decal/stripes/white/line{dir = 10; icon_state = "steel_decals6"},/obj/effect/turf_decal/stripes/white/line{dir = 9; icon_state = "steel_decals6"},/obj/effect/turf_decal/stripes/white/line{dir = 5; icon_state = "steel_decals6"},/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/nanites) +"ZL" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/light/small{dir = 8},/turf/open/floor/engine,/area/ruin/unpowered/syndicate_lava_base/cargo) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -677,11 +688,11 @@ aaaaaaaaaaaaabaaababababababababababababababababababababababababababaaababababab aaaaaaaaabaaabababababiiaeaeaeaeaeaeaeaeaeaeaeaeacabababababababababababababababababababababaaaaaaaa aaaaaaaaabababababababaeadaFagaFaeahaiajdraFaFaFaeababababababababababababababababababababaaaaaaaaaa aaaaaaababababababababaeaFaFaFalaxaHdddianaFaAaqaeababababababababababababababababababababababaaaaaa -aaaaaaaaababababababawaeaFaFaFaFanbebiaMaxbjbjayaeaBabababababababababababababababababababababaaaaaa -aaaaaaabababababababaIaeaFaFaFaFdrbeaYcZdraFaFaFaeaKasaLaLaLasabababababababababababababababaaaaaaaa -aaaaabababababababababaeaFaFaQaFaedcddbKanaFaFaXaeasasataZbbasacbgababababababababababababababaaaaaa -aaaaababababababababawaeaeaeaeaeaecqbNbhaxbjbjayblbnbPbScabpasasdydydydybrababababababababababaaaaaa -aaabababababababababawbraecTbtcTdrbQdibxdraFaFaFaeducrcAcAbAbBasbDbEbIdydydydydydyabababababababaaaa +aaaaaaaaababababababawaeaFaFaFaFanbebiaMaxbjbjayaeaBabababababababababdydydydynxabababababababaaaaaa +aaaaaaabababababababaIaeaFaFaFaFdrbeaYcZdraFaFaFaeaKasaLaLaLasababababdyqXBJwGdyababababababaaaaaaaa +aaaaabababababababababaeaFaFaQaFaedcddbKanaFaFaXaeasasataZbbasacbgababdyZLxPVldyabababababababaaaaaa +aaaaababababababababawaeaeaeaeaeaecqbNbhaxbjbjayblbnbPbScabpasasdydydydyNfYEZrdyabababababababaaaaaa +aaabababababababababawbraecTbtcTdrbQdibxdraFaFaFaeducrcAcAbAbBasbDbEbIdydyQadydydyabababababababaaaa aaababababababababababawaeaOaNbJbOazdibKrIaFaAaqaedBbRbRdEdIbTasdLdMbXccdycdcfcgdyacababababababaaaa aaabababababababababababaecTaUcTdrdddfbhaxchchcxaedUdVdXdYdZcyasebecdbeceeefegGfcEcFababababababaaaa aaabababababababababababaeaeaeaeaeckcHcMaeaeaeaeaedqdsdvevewasasdxdHcQdOfteCeDeEeFcFabababababababaa diff --git a/_maps/RandomRuins/SpaceRuins/feeders_den.dmm b/_maps/RandomRuins/SpaceRuins/feeders_den.dmm index 5d99b05f..877cd915 100644 --- a/_maps/RandomRuins/SpaceRuins/feeders_den.dmm +++ b/_maps/RandomRuins/SpaceRuins/feeders_den.dmm @@ -13,7 +13,7 @@ "bW" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/item/reagent_containers/food/snacks/carpmeat,/obj/item/reagent_containers/food/snacks/carpmeat,/obj/item/reagent_containers/food/snacks/carpmeat,/obj/item/reagent_containers/food/snacks/carpmeat,/obj/item/reagent_containers/food/snacks/carpmeat,/obj/item/reagent_containers/food/snacks/meat/rawbacon,/obj/item/reagent_containers/food/snacks/meat/rawbacon,/obj/item/reagent_containers/food/snacks/meat/rawbacon,/obj/item/reagent_containers/food/snacks/meat/slab/bear,/obj/item/reagent_containers/food/snacks/meat/slab/bear,/obj/item/reagent_containers/food/snacks/meat/slab/bear,/obj/structure/window/reinforced/tinted{dir = 8},/turf/open/floor/plasteel/freezer,/area/ruin/space/has_grav/feedersden) "bX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/meter,/turf/open/floor/plating,/area/ruin/space/has_grav/feedersden) "cd" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/feedersden) -"cn" = (/obj/structure/table,/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},/obj/item/grenade/chem_grenade/lipoifier_weak{pixel_x = -12},/turf/open/floor/plasteel,/area/ruin/space/has_grav/feedersden) +"cn" = (/obj/structure/table,/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},/obj/item/grenade/chem_grenade/lipoifier_weak{pixel_x = -12},/obj/item/implanter{pixel_x = 9; pixel_y = 15},/obj/item/implanter{pixel_x = 9; pixel_y = 11},/turf/open/floor/plasteel,/area/ruin/space/has_grav/feedersden) "cw" = (/obj/machinery/light{dir = 8},/turf/open/floor/wood,/area/ruin/space/has_grav/feedersden) "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/feedersden) "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/feedersden) @@ -87,7 +87,7 @@ "lQ" = (/obj/structure/chair/sofa/right,/turf/open/floor/carpet/orange,/area/ruin/space/has_grav/feedersden) "lR" = (/obj/machinery/iv_drip/feeding_tube,/obj/machinery/light/small{dir = 1},/turf/open/floor/carpet/black,/area/ruin/space/has_grav/feedersden) "ma" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/ruin/space/has_grav/feedersden) -"mf" = (/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/structure/reagent_dispensers/keg/milk,/turf/open/floor/plasteel,/area/ruin/space/has_grav/feedersden) +"mf" = (/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/machinery/quantumpad/supply_only{map_pad_id = "denbase"; map_pad_link_id = "lavalandbase"},/turf/open/floor/plasteel,/area/ruin/space/has_grav/feedersden) "mm" = (/obj/machinery/vending/mealdor{free = 1},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/feedersden) "mD" = (/obj/structure/closet/emcloset/anchored,/obj/effect/turf_decal/stripes/white/line{dir = 2},/obj/effect/turf_decal/stripes/white/line{dir = 1; icon_state = "steel_decals_central4"},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel,/area/ruin/space/has_grav/feedersden) "mJ" = (/obj/structure/chair/sofa/corner{dir = 1},/turf/open/floor/carpet/orange,/area/ruin/space/has_grav/feedersden) @@ -227,6 +227,7 @@ "Eq" = (/obj/machinery/shower{dir = 8},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/freezer,/area/ruin/space/has_grav/feedersden) "Es" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/closed/wall/r_wall/syndicate,/area/ruin/space/has_grav/feedersden) "Ex" = (/obj/item/trash/boritos,/turf/open/floor/wood,/area/ruin/space/has_grav/feedersden) +"EH" = (/obj/structure/reagent_dispensers/keg/milk,/turf/open/floor/plating,/area/ruin/space/has_grav/feedersden) "EU" = (/obj/structure/table/wood,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/item/paper/fluff/ruins/feeder_den/report4,/obj/item/pen/red,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/feedersden) "EW" = (/obj/machinery/porta_turret/fattening,/obj/item/stack/marker_beacon{anchored = 1; icon_state = "markerburgundy-on"; light_color = "#FA644B"; light_power = 3; light_range = 2; name = "landing marker"; picked_color = "Burgundy"},/obj/structure/lattice/catwalk,/turf/open/floor/plating,/area/ruin/space/has_grav/feedersden) "Ff" = (/obj/structure/sign/poster/contraband/eat{pixel_y = 32},/turf/open/floor/carpet/black,/area/ruin/space/has_grav/feedersden) @@ -387,7 +388,7 @@ FEFEFEFEfmBrBrBrnrZnNBLvAjNRgZKWNRAjNXTGTGTGTGBDTGXWZhZhZhqquOuOuOuOuOrJZOWrndWr FEFEFEfmfmBrBrBrDcDcNJNJDcnrnrnrnrnrnrnrnrnrDcWJiONxgUgUgUuXZpTKDcnrnrQFnrnrnrnrnrnrDciuiuDcDcBrFEFEFEFEFEFEFE FEFEBrZCfmISBrBrBrnrMaEqnrikNggqnrWNYEfncnbanrDxvYFDLNdCsRiNvYSsnrZeIoxCkoPgnrridlkCnrfNginrBrBrBrFEFEFEFEFEFE FEFEBrBrfmfmBrBrBrnrtyEqnrIGJhJhWsDOlsuklslsvtDxvYSyBeaaaaUBvYmUnrcWmaUerscxtVbXJhkMnrfNdAnrBrBrBrFEFEFEFEFEFE -FEFEFEBrwwfmeEBrBrDcnrnrDcnrxGHpNkDOtHguboygaQoYvYvYvYvYvYvwvYkdnrgFXsFHYpDBnrzlJhXPDcnrnrDcBrBrBrFEFEFEFEFEFE +FEFEFEBrwwfmeEBrBrDcnrnrDcxGHpEHNkDOtHguboygaQoYvYvYvYvYvYvwvYkdnrgFXsFHYpDBnrzlJhXPDcnrnrDcBrBrBrFEFEFEFEFEFE FEFEFEBrxZfmfmBrBrBrBrBrDcDcnrnrDcmflsucaEBPnrvYaDMYMdRhDKjhANYUnrnrnrTPJhfKDcnrRanrDcBrEWYNxZBrBrBrFEFEFEFEFE FEFEFEFEfmfmBrBrBrBrBrBrnrnKEfWKnrqhlslszcVFDczAnrnrnrkgnrnrnrnrDcmDnQddRCuFnrNtVWdvnrISVefmfmfxBrBrFEFEFEFEFE FEFEFEFEFEfmBrBrBrBrBrBrnrNUcVgkcRDOrfrfYhdzPItjfhnroHoHoHdrVxnwAaYAtBTYzGzEHivLMisCkgeEfmFEFEebFEFEFEFEFEFEFE diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 91e67196..f2c4d5dc 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -227,6 +227,8 @@ #define TRAIT_NO_MISC "no_misc" #define TRAIT_NO_BACKPACK "no_backpack" #define TRAIT_NO_BUCKLE "no_buckle" +#define TRAIT_DOCILE "docile" +#define TRAIT_LIVESTOCK "livestock" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index 01f94565..d7a81bc2 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -162,6 +162,9 @@ if(QDELETED(ROI)) continue //sleeps in CHECK_TICK + if(isliving(ROI) && !check_mob_teleportability(ROI)) + continue + // if is anchored, don't let through if(ROI.anchored) if(isliving(ROI)) @@ -184,6 +187,10 @@ linked_pad = link . = TRUE +/// Checks if the mob is able to be teleported. +/obj/machinery/quantumpad/proc/check_mob_teleportability(mob/living/mob_to_check) + return TRUE + /obj/item/paper/guides/quantumpad name = "Quantum Pad For Dummies" info = "
Dummies Guide To Quantum Pads


Do you hate the concept of having to use your legs, let alone walk to places? Well, with the Quantum Pad (tm), never again will the fear of cardio keep you from going places!

How to set up your Quantum Pad(tm)


1.Unscrew the Quantum Pad(tm) you wish to link.
2. Use your multi-tool to cache the buffer of the Quantum Pad(tm) you wish to link.
3. Apply the multi-tool to the secondary Quantum Pad(tm) you wish to link to the first Quantum Pad(tm)

If you followed these instructions carefully, your Quantum Pad(tm) should now be properly linked together for near-instant movement across the station! Bear in mind that this is technically a one-way teleport, so you'll need to do the same process with the secondary pad to the first one if you wish to travel between both.
" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index eeeb311e..f781c3ba 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1070,6 +1070,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "

GS13 Gameplay Preferences

" dat += "Stuckage (weight results in getting stuck in doors):[stuckage == TRUE ? "Enabled" : "Disabled"]
" + dat += "This preference will allow items that work based on weight to work to you, usually to your detriment.
" + dat += "Fatness Vulnerability:[fatness_vulnerable == TRUE ? "Enabled" : "Disabled"]
" + dat += "This preference functions similar to the one before but allows for items with more drastic effects. Do not enable this if you aren't okay with more drastic things happening to your character.
" + dat += "Extreme Fatness Vulnerability:[extreme_fatness_vulnerable == TRUE ? "Enabled" : "Disabled"]
" dat += "Extreme Weight Gain (Sprite Size scales with weight):[weight_gain_extreme == TRUE ? "Enabled" : "Disabled"]
" dat += "

GS13 Helplessness Preferences

" @@ -2666,6 +2670,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) bot_feeding = !bot_feeding if("stuckage") stuckage = !stuckage + if("fatness_vulnerable") + fatness_vulnerable = !fatness_vulnerable + if("extreme_fatness_vulnerable") + extreme_fatness_vulnerable = !extreme_fatness_vulnerable if("blueberry_inflation") blueberry_inflation = !blueberry_inflation if("max_fatness") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index ad1f1f0a..5461d004 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -171,6 +171,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["helplessness_clothing_back"] >> helplessness_clothing_back S["helplessness_no_buckle"] >> helplessness_no_buckle S["stuckage"] >> stuckage + S["fatness_vulnerable"] >> fatness_vulnerable + S["extreme_fatness_vulnerable"] >> extreme_fatness_vulnerable S["blueberry_inflation"] >> blueberry_inflation @@ -325,6 +327,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["helplessness_clothing_back"], helplessness_clothing_back) WRITE_FILE(S["helplessness_no_buckle"], helplessness_no_buckle) WRITE_FILE(S["stuckage"], stuckage) + WRITE_FILE(S["fatness_vulnerable"], fatness_vulnerable) + WRITE_FILE(S["extreme_fatness_vulnerable"], extreme_fatness_vulnerable) WRITE_FILE(S["blueberry_inflation"], blueberry_inflation) return 1 diff --git a/tgstation.dme b/tgstation.dme index 581031ed..b0244a77 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3087,6 +3087,7 @@ #include "GainStation13\code\game\sound.dm" #include "GainStation13\code\game\area\ruins.dm" #include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm" +#include "GainStation13\code\game\objects\items\docility_implant.dm" #include "GainStation13\code\game\objects\items\RCD.dm" #include "GainStation13\code\game\objects\items\storage\bags.dm" #include "GainStation13\code\game\turfs\closed.dm" @@ -3095,6 +3096,7 @@ #include "GainStation13\code\machinery\adipoelectric_transformer.dm" #include "GainStation13\code\machinery\fattening_turret.dm" #include "GainStation13\code\machinery\feeding_tube.dm" +#include "GainStation13\code\machinery\supply_teleporter.dm" #include "GainStation13\code\mechanics\fatness.dm" #include "GainStation13\code\mechanics\fattening_trap.dm" #include "GainStation13\code\mechanics\helplessness.dm"