From a9446a5c317d97b9a87208f374ad8626c3c65545 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sun, 3 Dec 2023 06:37:58 +0100 Subject: [PATCH 1/3] [MIRROR] basic cats and mini kitchen helpers [MDB IGNORE] (#25330) * basic cats and mini kitchen helpers (#79800) this pr transforms cats into basic pets! cats now have some new behavior. they can carry fish and hunted mice in their mouths to deliver it to kittens, and kittens will eat them. ![catmouse](https://github.com/tgstation/tgstation/assets/138636438/8f146be4-c7b2-41d3-8301-734be49b5efc) ![catfish](https://github.com/tgstation/tgstation/assets/138636438/f8df54f2-9183-406d-afbd-f90f415f7f3d) if a kitten sees you holding food, it will point at you and meow loudly until u give it the food. becareful when putting male cats near each other, there is a small chance they get into a heated argument and meow loudly at each other until one of them flees. also added a new small cat house for cats. cats will use these homes if u build one near them (using 5 wood planks) ![cathouse](https://github.com/tgstation/tgstation/assets/138636438/9515a78c-fdfe-461b-bad2-6b497117c694) Chefs can craft the cake cat and breadcat. these are useful cats because they can help the chef around in the kitchen. they will turn stoves and grills off when food is ready, so they dont burn. and the cake cat will help the chef decorate his donuts refactors cats into basic mobs and gives them a deeper ai :cl: refactor: cats are now basic pets. please report any bugs. add: the cake cat and bread cat can now help the chef around in the kitchen /:cl: * basic cats and mini kitchen helpers * Modular --------- Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com> --- .../SpaceRuins/derelict_sulaco.dmm | 2 +- .../SpaceRuins/mrow_thats_right.dmm | 2 +- .../SpaceRuins/skyrat/interdynefob.dmm | 2 +- _maps/RandomZLevels/moonoutpost19.dmm | 66 +-- _maps/map_files/Birdshot/birdshot.dmm | 52 ++ .../map_files/Deltastation/DeltaStation2.dmm | 384 ++++++------- .../map_files/IceBoxStation/IceBoxStation.dmm | 64 +-- _maps/map_files/MetaStation/MetaStation.dmm | 56 +- _maps/map_files/NSVBlueshift/Blueshift.dmm | 6 +- _maps/map_files/NorthStar/north_star.dmm | 512 +++++++++--------- _maps/map_files/VoidRaptor/VoidRaptor.dmm | 6 +- _maps/map_files/tramstation/tramstation.dmm | 68 +-- _maps/shuttles/emergency_hugcage.dmm | 2 +- _maps/shuttles/skyrat/whiteship_blueshift.dmm | 2 +- _maps/virtual_domains/pipedream.dmm | 104 ++-- code/__DEFINES/ai/monsters.dm | 28 + code/__DEFINES/is_helpers.dm | 2 +- code/__DEFINES/traits/declarations.dm | 2 + code/_globalvars/traits/_traits.dm | 1 + .../ai/basic_mobs/basic_subtrees/find_food.dm | 6 +- .../basic_subtrees/speech_subtree.dm | 8 + code/datums/ai/generic/find_and_set.dm | 7 + .../ai/hunting_behavior/hunting_behaviors.dm | 4 +- code/datums/components/bakeable.dm | 3 + code/datums/elements/consumable_mob.dm | 32 ++ code/datums/memory/_memory.dm | 4 +- .../infuser_tier_zero_entries.dm | 2 +- .../objects/items/devices/laserpointer.dm | 14 - .../items/stacks/sheets/sheet_types.dm | 1 + code/game/objects/structures/cat_house.dm | 46 ++ .../heretic/magic/eldritch_shapeshift.dm | 2 +- .../traitor/objectives/kill_pet.dm | 2 +- code/modules/cargo/packs/livestock.dm | 20 +- .../experisci/experiment/experiments.dm | 2 +- code/modules/explorer_drone/loot.dm | 2 +- .../recipes/tablecraft/recipes_bread.dm | 2 +- .../recipes/tablecraft/recipes_cake.dm | 2 +- code/modules/holodeck/holo_effect.dm | 4 +- .../mob/living/basic/pets/cat/bread_cat_ai.dm | 62 +++ code/modules/mob/living/basic/pets/cat/cat.dm | 189 +++++++ .../mob/living/basic/pets/cat/cat_ai.dm | 299 ++++++++++ .../mob/living/basic/pets/cat/keeki.dm | 59 ++ .../mob/living/basic/pets/cat/kitten_ai.dm | 67 +++ .../mob/living/basic/pets/cat/runtime.dm | 99 ++++ .../living/basic/space_fauna/bear/_bear.dm | 5 + .../basic/space_fauna/demon/demon_subtypes.dm | 2 +- code/modules/mob/living/living.dm | 5 +- .../mob/living/simple_animal/friendly/cat.dm | 332 ------------ code/modules/mob/transform_procs.dm | 2 +- code/modules/research/experimentor.dm | 6 +- .../vatgrowing/samples/cell_lines/common.dm | 2 +- .../unit_tests/simple_animal_freeze.dm | 9 - icons/mob/pets.dmi | Bin 79131 -> 79103 bytes icons/mob/simple/pets.dmi | Bin 81179 -> 83384 bytes .../traitor/objectives/kill_pet.dm | 2 +- modular_skyrat/modules/pet_owner/pet_owner.dm | 4 +- tgstation.dme | 9 +- .../UpdatePaths/Scripts/79800_basic_cats.txt | 1 + 58 files changed, 1649 insertions(+), 1029 deletions(-) create mode 100644 code/datums/elements/consumable_mob.dm create mode 100644 code/game/objects/structures/cat_house.dm create mode 100644 code/modules/mob/living/basic/pets/cat/bread_cat_ai.dm create mode 100644 code/modules/mob/living/basic/pets/cat/cat.dm create mode 100644 code/modules/mob/living/basic/pets/cat/cat_ai.dm create mode 100644 code/modules/mob/living/basic/pets/cat/keeki.dm create mode 100644 code/modules/mob/living/basic/pets/cat/kitten_ai.dm create mode 100644 code/modules/mob/living/basic/pets/cat/runtime.dm delete mode 100644 code/modules/mob/living/simple_animal/friendly/cat.dm create mode 100644 tools/UpdatePaths/Scripts/79800_basic_cats.txt diff --git a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm index 1f616ced8d2..f8ec15738e1 100644 --- a/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm +++ b/_maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm @@ -824,7 +824,7 @@ /turf/open/floor/carpet, /area/ruin/space/has_grav/derelictsulaco) "BQ" = ( -/mob/living/simple_animal/pet/cat{ +/mob/living/basic/pet/cat{ name = "Jonesy"; desc = "Old and grumpy cat- wait, how the hell is he still alive?!" }, diff --git a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm index 9597a976d84..0a51efbd58a 100644 --- a/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm +++ b/_maps/RandomRuins/SpaceRuins/mrow_thats_right.dmm @@ -245,7 +245,7 @@ /obj/structure/bed/dogbed{ name = "kitty bed" }, -/mob/living/simple_animal/pet/cat/space, +/mob/living/basic/pet/cat/space, /turf/open/floor/carpet, /area/ruin/space/has_grav/powered/cat_man) "aS" = ( diff --git a/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm b/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm index 2c13cd12d70..c86038452d7 100644 --- a/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm +++ b/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm @@ -5283,7 +5283,7 @@ /area/ruin/space/has_grav/skyrat/interdynefob/medbay) "yb" = ( /obj/effect/turf_decal/stripes/red/corner, -/mob/living/simple_animal/pet/cat/kitten{ +/mob/living/basic/pet/cat/kitten{ desc = "What appears to be a single-celled organism with a pronounced low-level intelligence."; name = "Murder-Mittens" }, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 47abe5bb4af..f6acf37d02a 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -2140,6 +2140,15 @@ /obj/machinery/door/airlock/maintenance, /turf/open/floor/plating, /area/awaymission/moonoutpost19/arrivals) +"ob" = ( +/mob/living/basic/pet/cat/space{ + desc = "With survival instincts like these, it's no wonder cats survived to the 26th century."; + name = "Jones" + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/main) "od" = ( /obj/effect/decal/cleanable/xenoblood/xgibs/larva/body, /turf/open/misc/asteroid/moon{ @@ -2775,16 +2784,6 @@ dir = 1 }, /area/awaymission/moonoutpost19/research) -"rF" = ( -/obj/structure/secure_safe/directional/east, -/obj/effect/decal/cleanable/blood/splatter, -/obj/item/pen, -/obj/item/paper/crumpled/awaymissions/moonoutpost19/hastey_note, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/awaymission/moonoutpost19/research) "rH" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/siding/purple{ @@ -3366,6 +3365,17 @@ /obj/item/stack/cable_coil/cut, /turf/open/floor/plating, /area/awaymission/moonoutpost19/research) +"vu" = ( +/obj/structure/table, +/obj/item/storage/briefcase/secure, +/obj/item/taperecorder{ + pixel_x = -3 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/awaymission/moonoutpost19/research) "vx" = ( /obj/structure/table/reinforced, /obj/machinery/button/door{ @@ -5047,17 +5057,6 @@ /obj/effect/mapping_helpers/airalarm/unlocked, /turf/open/floor/plating, /area/awaymission/moonoutpost19/syndicate) -"Hr" = ( -/obj/structure/table, -/obj/item/storage/briefcase/secure, -/obj/item/taperecorder{ - pixel_x = -3 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/awaymission/moonoutpost19/research) "Hs" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -5129,15 +5128,6 @@ dir = 8 }, /area/awaymission/moonoutpost19/research) -"HP" = ( -/mob/living/simple_animal/pet/cat/space{ - desc = "With survival instincts like these, it's no wonder cats survived to the 26th century."; - name = "Jones" - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/main) "HS" = ( /obj/structure/chair/stool/directional/east{ pixel_x = 9 @@ -6853,6 +6843,16 @@ dir = 5 }, /area/awaymission/moonoutpost19/research) +"Tx" = ( +/obj/structure/secure_safe/directional/east, +/obj/effect/decal/cleanable/blood/splatter, +/obj/item/pen, +/obj/item/paper/crumpled/awaymissions/moonoutpost19/hastey_note, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/awaymission/moonoutpost19/research) "Tz" = ( /obj/machinery/power/shuttle_engine/propulsion/burst/left{ dir = 4 @@ -29319,7 +29319,7 @@ ac ac My My -HP +ob My My My @@ -35484,8 +35484,8 @@ ik OC aJ Um -rF -Hr +Tx +vu ea of TS diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 3b08b25111f..05650f04d1f 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -51296,6 +51296,18 @@ /obj/structure/railing/corner, /turf/open/space/basic, /area/space/nearstation) +"rSG" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/decal/cleanable/dirt, +/obj/item/clothing/gloves/color/fyellow{ + pixel_y = 7 + }, +/obj/structure/fluff/broken_canister_frame, +/obj/machinery/camera/autoname/directional/north, +/obj/item/stack/sticky_tape/super, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/station/commons/storage/tools) "rST" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -61207,6 +61219,25 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/service/cafeteria) +"vgd" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table, +/obj/item/folder/red, +/obj/item/food/monkeycube/bee{ + name = "monkey cube"; + pixel_y = 17 + }, +/obj/item/food/monkeycube/chicken{ + pixel_y = 15; + pixel_x = 6; + name = "monkey cube"; + desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!" + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/tools) "vgf" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/stool/directional/west, @@ -67166,6 +67197,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"wVb" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/bed/dogbed/runtime, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron/white/small, +/area/station/command/heads_quarters/cmo) "wVg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/event_spawn, @@ -89662,7 +89702,11 @@ ueX slY slY slY +<<<<<<< HEAD gQx +======= +rSG +>>>>>>> 7dd661f34 ([MIRROR] basic cats and mini kitchen helpers [MDB IGNORE] (#25330)) hbv rkr hmj @@ -90179,7 +90223,11 @@ hXf oQM hbI hgd +<<<<<<< HEAD fBl +======= +vgd +>>>>>>> 7dd661f34 ([MIRROR] basic cats and mini kitchen helpers [MDB IGNORE] (#25330)) xrZ sRg xat @@ -100284,7 +100332,11 @@ oNd fFD cbO vDV +<<<<<<< HEAD mVs +======= +wVb +>>>>>>> 7dd661f34 ([MIRROR] basic cats and mini kitchen helpers [MDB IGNORE] (#25330)) clt jbr guF diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index dff513abc40..534b8b3662e 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -9156,24 +9156,6 @@ "cjN" = ( /turf/closed/wall/r_wall, /area/station/security/office) -"cjO" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/generic, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "ckb" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -13841,12 +13823,6 @@ dir = 4 }, /area/station/science/lobby) -"dsb" = ( -/obj/machinery/netpod, -/obj/structure/sign/poster/random/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "dse" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16131,6 +16107,9 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science) +"dVq" = ( +/turf/closed/wall, +/area/station/cargo/bitrunning/den) "dVv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19322,6 +19301,11 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"eMd" = ( +/obj/machinery/netpod, +/obj/effect/decal/cleanable/robot_debris, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "eMu" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ @@ -27299,10 +27283,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/research) -"gHq" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/bitrunning/den) "gHt" = ( /obj/item/kirbyplants/random, /obj/machinery/button/door/directional/north{ @@ -28389,11 +28369,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/storage/primary) -"gVv" = ( -/obj/machinery/netpod, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "gVx" = ( /obj/structure/cable, /obj/machinery/door/window/brigdoor/right/directional/south{ @@ -29892,28 +29867,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/maintenance/starboard/aft) -"hrz" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "hrG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -32168,9 +32121,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/maintenance/department/science) -"hXg" = ( -/turf/closed/wall, -/area/station/cargo/bitrunning/den) "hXi" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -35773,6 +35723,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"iSm" = ( +/obj/machinery/quantum_server, +/obj/effect/turf_decal/bot/left, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/cargo/bitrunning/den) "iSI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42185,17 +42142,6 @@ /obj/structure/cable/layer3, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) -"kuj" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/door/airlock/mining/glass{ - name = "Bitrunning Den" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "kun" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -43259,6 +43205,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/department/eva/abandoned) +"kIU" = ( +/obj/structure/bed/dogbed/runtime, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron, +/area/station/command/heads_quarters/cmo) "kJb" = ( /obj/structure/cable, /obj/structure/closet/secure_closet/detective, @@ -47375,11 +47330,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"lJw" = ( -/obj/machinery/computer/quantum_console, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/cargo/bitrunning/den) "lJB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, @@ -50799,6 +50749,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/kitchen/abandoned) +"mEL" = ( +/obj/machinery/netpod, +/obj/structure/sign/poster/random/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "mFi" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/emergency, @@ -52763,6 +52719,11 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/medical/break_room) +"ngl" = ( +/obj/machinery/computer/quantum_console, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/dark/smooth_corner, +/area/station/cargo/bitrunning/den) "ngp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54113,6 +54074,23 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/theater) +"nyV" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "nyW" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -58921,6 +58899,10 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"oMy" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/cargo/bitrunning/den) "oML" = ( /obj/machinery/door/window/left/directional/west, /obj/machinery/atmospherics/components/binary/pump{ @@ -62202,13 +62184,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"pDz" = ( -/obj/machinery/quantum_server, -/obj/effect/turf_decal/bot/left, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/cargo/bitrunning/den) "pDE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63000,6 +62975,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/service/lawoffice) +"pLT" = ( +/obj/machinery/light/directional/south, +/obj/machinery/byteforge, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "pMa" = ( /obj/item/reagent_containers/cup/bucket, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -65691,21 +65672,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/detectives_office) -"quh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "qul" = ( /obj/structure/chair/stool/bar/directional/south, /turf/open/floor/wood, @@ -66511,6 +66477,28 @@ }, /turf/open/floor/iron, /area/station/medical/virology) +"qDW" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "qDZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -66947,6 +66935,18 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"qJt" = ( +/obj/effect/decal/cleanable/oil/streak, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 7 + }, +/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ + pixel_x = 5 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "qJy" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -69781,6 +69781,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) +"rvq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/door/airlock/mining/glass{ + name = "Bitrunning Den" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "rvu" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -72868,6 +72879,24 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"shp" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "shJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 4 @@ -74669,6 +74698,22 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"sEw" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "sEF" = ( /obj/structure/cable, /obj/machinery/duct, @@ -76247,11 +76292,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"sYn" = ( -/obj/machinery/netpod, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "sYw" = ( /obj/effect/landmark/start/hangover, /obj/effect/landmark/event_spawn, @@ -76957,12 +76997,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/cargo/storage) -"tjo" = ( -/obj/machinery/light/directional/south, -/obj/machinery/byteforge, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "tjp" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, @@ -78419,6 +78453,11 @@ }, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"tCP" = ( +/obj/machinery/netpod, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "tCQ" = ( /obj/effect/turf_decal/loading_area{ dir = 4 @@ -79024,6 +79063,21 @@ /obj/item/pen, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) +"tJG" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "tJT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -80249,22 +80303,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/carpet/blue, /area/station/commons/vacant_room/office) -"tYI" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "tYL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -81817,15 +81855,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"utz" = ( -/obj/structure/bed/dogbed/runtime, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron, -/area/station/command/heads_quarters/cmo) "utK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -82397,18 +82426,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/auxlab/firing_range) -"uAi" = ( -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 7 - }, -/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind{ - pixel_x = 5 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "uAo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -91889,23 +91906,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/maintenance/port) -"wTL" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "wTN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -134821,7 +134821,7 @@ rEO lrK pMF jDq -utz +kIU loe eoE jbc @@ -140913,11 +140913,11 @@ xhW xhW nPo xce -hXg -hXg -hXg -hXg -hXg +dVq +dVq +dVq +dVq +dVq seX mEv vPp @@ -141170,11 +141170,11 @@ rWo gpD kLA qbd -gHq -lJw -tYI -uAi -hXg +oMy +ngl +sEw +qJt +dVq lDY tpZ kOj @@ -141427,11 +141427,11 @@ oYr pGR bmo bFA -gHq -pDz -quh -tjo -hXg +oMy +iSm +tJG +pLT +dVq fmH tpZ aaa @@ -141684,11 +141684,11 @@ rid vFg eQG vXy -kuj -cjO -hrz -wTL -hXg +rvq +shp +qDW +nyV +dVq uoz tpZ aaa @@ -141941,11 +141941,11 @@ rWo xdZ nMi tJp -hXg -dsb -sYn -gVv -hXg +dVq +mEL +tCP +eMd +dVq uoz tpZ aad @@ -142198,11 +142198,11 @@ aJE vMq izK rWo -hXg -hXg -hXg -hXg -hXg +dVq +dVq +dVq +dVq +dVq mwM tpZ aaa diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 2169321b0cf..6c8be9c8ff4 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -2132,6 +2132,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) +"aJC" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "chemistry_lower_shutters"; + name = "Chemistry Exterior Shutters" + }, +/obj/structure/cable, +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/chemistry) "aJG" = ( /obj/machinery/light/directional/west, /obj/structure/cable, @@ -38461,11 +38473,6 @@ "lLm" = ( /turf/open/floor/iron/cafeteria, /area/station/maintenance/port/aft) -"lLE" = ( -/obj/machinery/netpod, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "lLN" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, @@ -40878,13 +40885,6 @@ "mAe" = ( /turf/open/floor/glass/reinforced, /area/station/security/lockers) -"mAo" = ( -/obj/structure/bed/dogbed/runtime, -/obj/item/toy/cattoy, -/obj/machinery/newscaster/directional/north, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "mAz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -51538,18 +51538,6 @@ dir = 8 }, /area/station/medical/chem_storage) -"pHT" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "chemistry_lower_shutters"; - name = "Chemistry Exterior Shutters" - }, -/obj/structure/cable, -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/chemistry) "pHX" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -59526,6 +59514,13 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/commons/fitness) +"sfM" = ( +/obj/structure/bed/dogbed/runtime, +/obj/item/toy/cattoy, +/obj/machinery/newscaster/directional/north, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "sfY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59642,6 +59637,11 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"shW" = ( +/obj/machinery/netpod, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "sib" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -177710,12 +177710,12 @@ iDt iDt eXH eXH -pHT -pHT -pHT -pHT -pHT -pHT +aJC +aJC +aJC +aJC +aJC +aJC eXH hjM hjM @@ -231688,7 +231688,7 @@ eMa nRt lPK jFJ -lLE +shW pBE qjQ rVe @@ -251203,7 +251203,7 @@ qEM lso bGT vBG -mAo +sfM moG vBG ayR diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 00e39a64876..fda76eb5ea1 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -11809,6 +11809,13 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"eok" = ( +/obj/machinery/computer/quantum_console, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "eol" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, @@ -26183,15 +26190,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"juO" = ( -/obj/structure/bed/dogbed/runtime, -/obj/item/toy/cattoy, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "juV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34234,15 +34232,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"mrm" = ( -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/door/airlock/public/glass{ - name = "Bar" - }, -/turf/open/floor/iron, -/area/station/commons/lounge) "mru" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -35372,13 +35361,6 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) -"mJt" = ( -/obj/machinery/computer/quantum_console, -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "mJE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42191,6 +42173,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"pgf" = ( +/obj/structure/bed/dogbed/runtime, +/obj/item/toy/cattoy, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "pgD" = ( /obj/machinery/door/airlock/maintenance{ name = "Chapel Maintenance" @@ -53432,6 +53423,15 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tbl" = ( +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/door/airlock/public/glass{ + name = "Bar" + }, +/turf/open/floor/iron, +/area/station/commons/lounge) "tbp" = ( /obj/machinery/door/airlock/command/glass{ name = "Server Access" @@ -85114,7 +85114,7 @@ jXu kXA ufv jXu -mJt +eok aQP pFU hKg @@ -92890,7 +92890,7 @@ gQG tFr tar cOR -juO +pgf uyw pcM cNk @@ -101340,7 +101340,7 @@ myG rac bvJ bvJ -mrm +tbl cNA bvJ bvJ diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index dfb2e863343..d497ab9bdbf 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -19904,7 +19904,7 @@ "dLv" = ( /obj/structure/bed/dogbed/runtime, /obj/item/toy/cattoy, -/mob/living/simple_animal/pet/cat/runtime, +/mob/living/basic/pet/cat/runtime, /obj/machinery/requests_console/directional/east{ department = "Chief Medical Officer's Desk"; name = "Chief Medical Officer's Requests Console" @@ -29839,7 +29839,7 @@ /obj/effect/decal/cleanable/dirt{ icon_state = "dirt-flat-1" }, -/mob/living/simple_animal/pet/cat, +/mob/living/basic/pet/cat, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -85351,7 +85351,7 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "qoz" = ( -/mob/living/simple_animal/pet/cat/space{ +/mob/living/basic/pet/cat/space{ dir = 4 }, /obj/effect/decal/cleanable/dirt{ diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 877c513bf33..e632d4e2006 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -295,24 +295,6 @@ /obj/effect/turf_decal/trimline/blue/line, /turf/open/floor/carpet/blue, /area/station/command/meeting_room) -"acR" = ( -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/line, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "adk" = ( /obj/structure/grille, /obj/structure/sign/directions/medical/directional/north, @@ -1936,6 +1918,17 @@ /obj/structure/sign/warning/docking, /turf/closed/wall/r_wall, /area/station/security/execution/transfer) +"ayQ" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/trunk/multiz, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "ayU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/red/dim/directional/east, @@ -6602,21 +6595,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/checker, /area/station/cargo/miningdock) -"bED" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 7 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "bEK" = ( /obj/structure/holosign/barrier, /turf/open/floor/iron/dark, @@ -6749,6 +6727,20 @@ /mob/living/basic/pet/fox, /turf/open/floor/noslip, /area/station/maintenance/floor1/port) +"bGW" = ( +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/stripes, +/obj/effect/turf_decal/trimline/brown/line, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "bHw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9260,6 +9252,22 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/floor1/port) +"cot" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/door/airlock/mining/glass{ + name = "Bitrunning Den" + }, +/turf/open/floor/pod/dark, +/area/station/cargo/bitrunning/den) "cow" = ( /turf/open/floor/iron/smooth, /area/station/cargo/sorting) @@ -11083,17 +11091,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet/neon/simple/pink/nodots, /area/station/maintenance/floor2/port/fore) -"cOT" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "cPg" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/atmospherics/components/binary/pump/on{ @@ -11622,6 +11619,21 @@ dir = 4 }, /area/station/service/chapel) +"cWb" = ( +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = 7 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "cWf" = ( /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/floor/grass, @@ -13036,25 +13048,6 @@ /obj/machinery/light/broken/directional/south, /turf/open/floor/plating, /area/station/medical/abandoned) -"dqM" = ( -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 8 - }, -/area/station/cargo/bitrunning/den) "dqQ" = ( /turf/closed/wall/r_wall, /area/station/security/medical) @@ -13949,6 +13942,24 @@ }, /turf/open/floor/wood/tile, /area/station/service/library) +"dDe" = ( +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/line, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "dDk" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 8 @@ -14813,6 +14824,16 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/pod/light, /area/station/maintenance/floor1/port) +"dPd" = ( +/obj/machinery/netpod, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -12; + pixel_y = -13 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "dPf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14843,12 +14864,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"dPx" = ( -/obj/machinery/computer/quantum_console{ - dir = 4 - }, -/turf/open/floor/iron/dark/smooth_corner, -/area/station/cargo/bitrunning/den) "dPC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -17072,13 +17087,6 @@ dir = 8 }, /area/station/hallway/floor2/fore) -"etY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "eub" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22575,6 +22583,9 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/lobby) +"fXh" = ( +/turf/closed/wall, +/area/station/cargo/bitrunning/den) "fXm" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/brown{ @@ -25763,6 +25774,15 @@ /obj/item/reagent_containers/spray/cleaner, /turf/open/floor/carpet/royalblue, /area/station/medical/break_room) +"gNB" = ( +/obj/structure/sign/poster/random/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "gNN" = ( /turf/open/floor/pod/dark, /area/station/maintenance/floor1/starboard) @@ -32609,15 +32629,6 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor3/starboard) -"iCP" = ( -/obj/structure/sign/poster/random/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/decal/cleanable/oil, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "iCQ" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34090,6 +34101,13 @@ /obj/item/storage/toolbox/mechanical/old, /turf/open/floor/plating/foam, /area/station/maintenance/floor1/port/aft) +"iXD" = ( +/obj/machinery/quantum_server, +/obj/effect/turf_decal/bot/left, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/station/cargo/bitrunning/den) "iXF" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory) @@ -34544,20 +34562,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"jdQ" = ( -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/stripes, -/obj/effect/turf_decal/trimline/brown/line, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "jdR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/sink/directional/east, @@ -35394,6 +35398,17 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/lobby) +"jpR" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "jpT" = ( /obj/machinery/flasher/portable, /obj/item/radio/intercom/directional/east, @@ -35410,21 +35425,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"jqm" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "jqx" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/heavy, @@ -36019,14 +36019,6 @@ /obj/machinery/recharger, /turf/open/floor/iron/dark, /area/station/security/range) -"jyn" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/byteforge, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "jyp" = ( /obj/machinery/door/airlock/security/glass{ name = "Head of Security Office" @@ -36306,6 +36298,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/starboard/fore) +"jBn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "jBu" = ( /obj/effect/decal/cleanable/dirt, /obj/item/assembly/igniter{ @@ -37780,6 +37779,13 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard) +"jVX" = ( +/obj/machinery/netpod, +/obj/structure/railing{ + layer = 3.1 + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "jWi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47307,22 +47313,6 @@ /obj/structure/stairs/south, /turf/open/floor/wood/parquet, /area/station/service/library) -"mps" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/door/airlock/mining/glass{ - name = "Bitrunning Den" - }, -/turf/open/floor/pod/dark, -/area/station/cargo/bitrunning/den) "mpy" = ( /obj/machinery/newscaster/directional/west, /obj/effect/decal/cleanable/dirt, @@ -51204,14 +51194,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"nnu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 8 - }, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "nnJ" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark/smooth_large, @@ -52241,6 +52223,14 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/pod, /area/station/maintenance/floor3/starboard) +"nAl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "nAm" = ( /obj/effect/turf_decal/bot, /obj/effect/spawner/random/structure/crate, @@ -54923,17 +54913,6 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"olH" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/trunk/multiz, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "olM" = ( /obj/effect/turf_decal/trimline/yellow/line{ dir = 9 @@ -58436,16 +58415,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"pjw" = ( -/obj/machinery/netpod, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = -12; - pixel_y = -13 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "pjB" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/chair{ @@ -60993,6 +60962,14 @@ /obj/machinery/griddle, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"pTH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/stairs{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "pTI" = ( /obj/structure/railing/corner{ dir = 4 @@ -61108,13 +61085,6 @@ "pUV" = ( /turf/open/floor/plating/airless, /area/station/solars/port/aft) -"pUY" = ( -/obj/machinery/quantum_server, -/obj/effect/turf_decal/bot/left, -/turf/open/floor/iron/dark/smooth_corner{ - dir = 4 - }, -/area/station/cargo/bitrunning/den) "pVd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -64805,6 +64775,25 @@ /obj/structure/marker_beacon/jade, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor3/port/aft) +"qSj" = ( +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/station/cargo/bitrunning/den) "qSl" = ( /turf/closed/wall, /area/station/maintenance/department/engine/atmos) @@ -65359,10 +65348,6 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/space/nearstation) -"qZU" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/bitrunning/den) "rac" = ( /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) @@ -69092,11 +69077,6 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) -"scn" = ( -/obj/machinery/netpod, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "sct" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -71814,15 +71794,6 @@ "sOU" = ( /turf/open/openspace, /area/station/maintenance/floor4/port/aft) -"sPg" = ( -/obj/structure/cable, -/obj/structure/bed/dogbed/runtime, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 5 - }, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "sPk" = ( /obj/machinery/door/airlock/hatch{ name = "Maintenance Bulkhead" @@ -75960,6 +75931,15 @@ dir = 4 }, /area/station/cargo/sorting) +"tSt" = ( +/obj/structure/cable, +/obj/structure/bed/dogbed/runtime, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 5 + }, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "tSD" = ( /obj/structure/closet/mini_fridge{ pixel_x = 6; @@ -76284,9 +76264,6 @@ /obj/structure/emergency_shield/regenerating, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"tXe" = ( -/turf/closed/wall, -/area/station/cargo/bitrunning/den) "tXg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, @@ -81391,14 +81368,6 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark/textured, /area/station/medical/paramedic) -"voF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/stairs{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "voG" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -82324,13 +82293,6 @@ /obj/effect/turf_decal/trimline/brown/arrow_ccw, /turf/open/floor/iron/dark/side, /area/station/cargo/lobby) -"vzo" = ( -/obj/machinery/netpod, -/obj/structure/railing{ - layer = 3.1 - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "vzu" = ( /obj/effect/landmark/start/psychologist, /obj/structure/sign/poster/official/random/directional/south, @@ -83439,6 +83401,11 @@ }, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/captain) +"vPt" = ( +/obj/machinery/netpod, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "vPu" = ( /obj/machinery/light/red/dim/directional/south, /obj/effect/decal/cleanable/dirt, @@ -86105,6 +86072,10 @@ /obj/machinery/camera/emp_proof/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos) +"wxa" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/cargo/bitrunning/den) "wxb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -87228,6 +87199,21 @@ "wKg" = ( /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"wKh" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/structure/railing{ + layer = 3.1 + }, +/obj/effect/decal/cleanable/robot_debris, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "wKi" = ( /obj/effect/turf_decal/tile/red/diagonal_edge, /turf/open/floor/iron/dark, @@ -89776,6 +89762,12 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/pod/dark, /area/station/maintenance/floor1/port/aft) +"xsU" = ( +/obj/machinery/computer/quantum_console{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/station/cargo/bitrunning/den) "xsX" = ( /obj/structure/railing/corner, /obj/structure/cable, @@ -92323,6 +92315,14 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ybb" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/oil/streak, +/obj/machinery/byteforge, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "ybe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -115524,11 +115524,11 @@ owI owI owI owI -tXe -tXe -tXe -tXe -tXe +fXh +fXh +fXh +fXh +fXh jGQ mMV oic @@ -115781,14 +115781,14 @@ owI owI owI owI -tXe -tXe -dPx -pUY -tXe -tXe -tXe -tXe +fXh +fXh +xsU +iXD +fXh +fXh +fXh +fXh gUS nOj dzo @@ -116038,14 +116038,14 @@ owI owI owI owI -tXe -tXe -iCP -nnu -voF -jdQ -jyn -tXe +fXh +fXh +gNB +nAl +pTH +bGW +ybb +fXh eps yiZ yiZ @@ -116295,14 +116295,14 @@ owI owI owI owI -tXe -tXe -cOT -olH -jqm -acR -etY -qZU +fXh +fXh +jpR +ayQ +wKh +dDe +jBn +wxa dQo qWJ qWJ @@ -116552,14 +116552,14 @@ owI owI owI owI -tXe -tXe -pjw -scn -vzo -dqM -bED -qZU +fXh +fXh +dPd +vPt +jVX +qSj +cWb +wxa rYA eEB lUY @@ -116809,14 +116809,14 @@ owI owI owI owI -tXe -tXe -tXe -tXe -tXe -mps -qZU -tXe +fXh +fXh +fXh +fXh +fXh +cot +wxa +fXh srf fve aSL @@ -190614,7 +190614,7 @@ pdY lGp xKy wHq -sPg +tSt hxy nCG nzJ diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index f080b79a59c..02c0a5b0fdb 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -11758,7 +11758,7 @@ /area/station/ai_monitored/turret_protected/ai_upload) "dzp" = ( /obj/structure/window/spawner/directional/south, -/mob/living/simple_animal/pet/cat/cak, +/mob/living/basic/pet/cat/cak, /turf/open/floor/iron/smooth_large, /area/station/maintenance/starboard/greater) "dzq" = ( @@ -12452,7 +12452,7 @@ anchored = 1; name = "Jerry's bed" }, -/mob/living/simple_animal/pet/cat/jerry, +/mob/living/basic/pet/cat/jerry, /turf/open/floor/wood, /area/station/security/prison/garden) "dIf" = ( @@ -71263,7 +71263,7 @@ /area/station/engineering/atmos) "tLD" = ( /obj/structure/bed/dogbed/runtime, -/mob/living/simple_animal/pet/cat/runtime{ +/mob/living/basic/pet/cat/runtime{ icon_dead = "original_dead"; icon_living = "original"; icon_state = "original" diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 1a4dccbb567..b7e5199bbc9 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -10598,6 +10598,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison) +"cCS" = ( +/obj/structure/bed/dogbed/runtime, +/obj/structure/sign/clock/directional/north, +/obj/machinery/light/cold/directional/north, +/mob/living/basic/pet/cat/runtime, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "cDd" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, @@ -14087,6 +14094,18 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"dOx" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/dogbed{ + desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off."; + name = "cat bed" + }, +/mob/living/basic/pet/cat/jerry, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "dOC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -19631,6 +19650,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) +"fUY" = ( +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "fVg" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -32233,18 +32264,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"kxC" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/dogbed{ - desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off."; - name = "cat bed" - }, -/mob/living/simple_animal/pet/cat/jerry, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "kxF" = ( /obj/item/kirbyplants/random/dead/research_director, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36395,18 +36414,6 @@ "lQM" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/central) -"lQS" = ( -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "lQT" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -51709,13 +51716,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"rsk" = ( -/obj/structure/bed/dogbed/runtime, -/obj/structure/sign/clock/directional/north, -/obj/machinery/light/cold/directional/north, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "rsz" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -104629,7 +104629,7 @@ eYs kFp kFp dcq -kxC +dOx qjU aaa qjU @@ -165821,7 +165821,7 @@ aNr apC abM mBq -rsk +cCS ojQ iTS eUJ @@ -179387,7 +179387,7 @@ aaa aaa eSQ nwB -lQS +fUY mgE cTU vSI diff --git a/_maps/shuttles/emergency_hugcage.dmm b/_maps/shuttles/emergency_hugcage.dmm index fc474764401..6e68506c433 100644 --- a/_maps/shuttles/emergency_hugcage.dmm +++ b/_maps/shuttles/emergency_hugcage.dmm @@ -289,7 +289,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "Hf" = ( -/mob/living/simple_animal/pet/cat/kitten, +/mob/living/basic/pet/cat/kitten, /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "IH" = ( diff --git a/_maps/shuttles/skyrat/whiteship_blueshift.dmm b/_maps/shuttles/skyrat/whiteship_blueshift.dmm index 998e435d1d5..533ea6484b0 100644 --- a/_maps/shuttles/skyrat/whiteship_blueshift.dmm +++ b/_maps/shuttles/skyrat/whiteship_blueshift.dmm @@ -3472,7 +3472,7 @@ /obj/effect/turf_decal/tile/bar{ dir = 1 }, -/mob/living/simple_animal/pet/cat{ +/mob/living/basic/pet/cat{ name = "Jones" }, /turf/open/floor/iron, diff --git a/_maps/virtual_domains/pipedream.dmm b/_maps/virtual_domains/pipedream.dmm index c443e8c4764..ffce92e9915 100644 --- a/_maps/virtual_domains/pipedream.dmm +++ b/_maps/virtual_domains/pipedream.dmm @@ -66,6 +66,19 @@ /obj/structure/railing, /turf/open/chasm, /area/virtual_domain) +"bL" = ( +/mob/living/basic/pet/cat/space, +/obj/structure/bed/dogbed{ + name = "cat bed" + }, +/obj/item/toy/plush/moth{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/machinery/light/small/dim/directional/south, +/obj/structure/sign/poster/official/moth_hardhat/directional/west, +/turf/open/floor/plating, +/area/virtual_domain) "bS" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -220,7 +233,6 @@ /area/virtual_domain) "gc" = ( /obj/structure/disposalpipe/broken, -/obj/effect/landmark/bitrunning/mob_segment, /turf/open/floor/plating, /area/virtual_domain) "gj" = ( @@ -363,6 +375,10 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/virtual_domain) +"lt" = ( +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plating, +/area/virtual_domain) "lx" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; @@ -474,6 +490,12 @@ }, /turf/open/floor/carpet/orange, /area/virtual_domain) +"pb" = ( +/obj/structure/broken_flooring/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/virtual_domain) "pf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/mapping_helpers/damaged_window, @@ -627,6 +649,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/virtual_domain) +"tE" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plating, +/area/virtual_domain) "ud" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/carpet/royalblue{ @@ -882,6 +911,12 @@ /obj/item/stack/rods/two, /turf/open/space/basic, /area/virtual_domain) +"Aw" = ( +/obj/structure/lattice/catwalk{ + name = "industrial lift" + }, +/turf/open/chasm, +/area/virtual_domain) "AJ" = ( /obj/effect/decal/cleanable/generic, /obj/structure/disposalpipe/segment, @@ -1040,10 +1075,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/virtual_domain) -"EK" = ( -/obj/structure/disposalpipe/broken, -/turf/open/floor/plating, -/area/virtual_domain) "Fa" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/maint, @@ -1239,10 +1270,9 @@ /turf/open/floor/plating, /area/virtual_domain) "KX" = ( -/obj/structure/lattice/catwalk{ - name = "industrial lift" - }, -/turf/open/chasm, +/obj/structure/disposalpipe/broken, +/obj/effect/landmark/bitrunning/mob_segment, +/turf/open/floor/plating, /area/virtual_domain) "Ln" = ( /obj/structure/disposalpipe/broken{ @@ -1363,10 +1393,6 @@ }, /turf/open/floor/plating, /area/virtual_domain) -"Ou" = ( -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/plating, -/area/virtual_domain) "OJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes{ @@ -1498,13 +1524,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/virtual_domain) -"Rs" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/landmark/bitrunning/mob_segment, -/turf/open/floor/plating, -/area/virtual_domain) "Ru" = ( /obj/machinery/door/airlock/external/glass/ruin, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -1582,12 +1601,6 @@ /obj/effect/mob_spawn/corpse/human/factory/qm, /turf/open/floor/iron, /area/virtual_domain) -"Tn" = ( -/obj/structure/broken_flooring/corner{ - dir = 4 - }, -/turf/open/floor/plating, -/area/virtual_domain) "Tp" = ( /obj/machinery/door/poddoor/shutters/indestructible{ dir = 4; @@ -1818,19 +1831,6 @@ /obj/structure/broken_flooring/corner/directional/west, /turf/open/floor/plating, /area/virtual_domain) -"Ym" = ( -/mob/living/simple_animal/pet/cat/space, -/obj/structure/bed/dogbed{ - name = "cat bed" - }, -/obj/item/toy/plush/moth{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/machinery/light/small/dim/directional/south, -/obj/structure/sign/poster/official/moth_hardhat/directional/west, -/turf/open/floor/plating, -/area/virtual_domain) "Yt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -2161,7 +2161,7 @@ vA Dr bw Jq -EK +gc eg RJ eg @@ -2259,8 +2259,8 @@ RJ eg uU gj -Ou -Tn +lt +pb OR eg RJ @@ -2506,7 +2506,7 @@ kU pv AP IZ -KX +Aw Wd uv DE @@ -2555,14 +2555,14 @@ mu uF xl AP -KX +Aw JT bG -Rs +tE DA DA zE -gc +KX mu Yz lW @@ -2605,8 +2605,8 @@ iz jS gj rJ -KX -KX +Aw +Aw Wd Ff lN @@ -2756,7 +2756,7 @@ Tp Tp Tp eg -Ym +bL eg eg xa @@ -2857,9 +2857,9 @@ Yl pJ eg kn -Tn +pb kU -Ou +lt kU Fa kU @@ -2909,7 +2909,7 @@ eg rc mu rM -EK +gc vQ vQ mu diff --git a/code/__DEFINES/ai/monsters.dm b/code/__DEFINES/ai/monsters.dm index 6f5f0364bec..aff00260705 100644 --- a/code/__DEFINES/ai/monsters.dm +++ b/code/__DEFINES/ai/monsters.dm @@ -220,6 +220,34 @@ /// Key for the next time we can cast a spell #define BB_WIZARD_SPELL_COOLDOWN "BB_wizard_spell_cooldown" + +//cat AI keys +/// key that holds the target we will battle over our turf +#define BB_TRESSPASSER_TARGET "tresspasser_target" +/// key that holds angry meows +#define BB_HOSTILE_MEOWS "hostile_meows" +/// key that holds the mouse target +#define BB_MOUSE_TARGET "mouse_target" +/// key that holds our dinner target +#define BB_CAT_FOOD_TARGET "cat_food_target" +/// key that holds the food we must deliver +#define BB_FOOD_TO_DELIVER "food_to_deliver" +/// key that holds things we can hunt +#define BB_HUNTABLE_PREY "huntable_prey" +/// key that holds target kitten to feed +#define BB_KITTEN_TO_FEED "kitten_to_feed" +/// key that holds our hungry meows +#define BB_HUNGRY_MEOW "hungry_meows" +/// key that holds maximum distance food is to us so we can pursue it +#define BB_MAX_DISTANCE_TO_FOOD "max_distance_to_food" +/// key that holds the stove we must turn off +#define BB_STOVE_TARGET "stove_target" +/// key that holds the donut we will decorate +#define BB_DONUT_TARGET "donut_target" +/// key that holds our home... +#define BB_CAT_HOME "cat_home" +/// key that holds the human we will beg +#define BB_HUMAN_BEG_TARGET "human_beg_target" //netguardians /// rocket launcher #define BB_NETGUARDIAN_ROCKET_ABILITY "netguardian_rocket" diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index e9963ca1f6a..8eec04ebe06 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define isdrone(A) (istype(A, /mob/living/basic/drone)) -#define iscat(A) (istype(A, /mob/living/simple_animal/pet/cat)) +#define iscat(A) (istype(A, /mob/living/basic/pet/cat)) #define isdog(A) (istype(A, /mob/living/basic/pet/dog)) diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 4aa6f4a74a4..6daa8ae1a32 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -990,6 +990,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MOB_BREEDER "mob_breeder" /// Trait given to mobs that we do not want to mindswap #define TRAIT_NO_MINDSWAP "no_mindswap" +///trait given to food that can be baked by /datum/component/bakeable +#define TRAIT_BAKEABLE "bakeable" /// Trait given to foam darts that have an insert in them #define TRAIT_DART_HAS_INSERT "dart_has_insert" diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 79facdd304c..4f90b902f2d 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -478,6 +478,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_TRANSFORM_ACTIVE" = TRAIT_TRANSFORM_ACTIVE, "TRAIT_UNCATCHABLE" = TRAIT_UNCATCHABLE, "TRAIT_WIELDED" = TRAIT_WIELDED, + "TRAIT_BAKEABLE" = TRAIT_BAKEABLE, ), /obj/item/ammo_casing = list( "TRAIT_DART_HAS_INSERT" = TRAIT_DART_HAS_INSERT, diff --git a/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm b/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm index b02ec8eaa85..9e3cd557b64 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/find_food.dm @@ -1,5 +1,9 @@ /// similar to finding a target but looks for food types in the // the what? /datum/ai_planning_subtree/find_food + ///behavior we use to find the food + var/datum/ai_behavior/finding_behavior = /datum/ai_behavior/find_and_set/in_list + ///key of foods list + var/food_list_key = BB_BASIC_FOODS /datum/ai_planning_subtree/find_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) . = ..() @@ -7,4 +11,4 @@ // Busy with something return - controller.queue_behavior(/datum/ai_behavior/find_and_set/in_list, BB_BASIC_MOB_CURRENT_TARGET, controller.blackboard[BB_BASIC_FOODS]) + controller.queue_behavior(finding_behavior, BB_BASIC_MOB_CURRENT_TARGET, controller.blackboard[food_list_key]) diff --git a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm index 7a3d5470b1a..5bd0f840488 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm @@ -214,6 +214,14 @@ emote_hear = list("rawrs.","grumbles.","grawls.", "stomps!") emote_see = list("stares ferociously.") +/datum/ai_planning_subtree/random_speech/cats + speech_chance = 10 + speak = list( + "mrawww!", + "meow!", + "maw!", + ) + /datum/ai_planning_subtree/random_speech/blackboard //literal tower of babel, subtree form speech_chance = 1 diff --git a/code/datums/ai/generic/find_and_set.dm b/code/datums/ai/generic/find_and_set.dm index d368641ce0c..84a007c2559 100644 --- a/code/datums/ai/generic/find_and_set.dm +++ b/code/datums/ai/generic/find_and_set.dm @@ -62,6 +62,13 @@ var/mob/living/living_pawn = controller.pawn return locate(locate_path) in living_pawn.held_items +/datum/ai_behavior/find_and_set/in_hands/given_list + +/datum/ai_behavior/find_and_set/in_hands/given_list/search_tactic(datum/ai_controller/controller, locate_paths) + var/list/found = typecache_filter_list(controller.pawn, locate_paths) + if(length(found)) + return pick(found) + /** * Variant of find and set that takes a list of things to find. */ diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.dm b/code/datums/ai/hunting_behavior/hunting_behaviors.dm index 3ea9feb2b34..3e747640be3 100644 --- a/code/datums/ai/hunting_behavior/hunting_behaviors.dm +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.dm @@ -60,10 +60,10 @@ if(!valid_dinner(living_mob, possible_dinner, hunt_range)) continue controller.set_blackboard_key(hunting_target_key, possible_dinner) - finish_action(controller, TRUE) + finish_action(controller, TRUE, hunting_target_key) return - finish_action(controller, FALSE) + finish_action(controller, FALSE, hunting_target_key) /datum/ai_behavior/find_hunt_target/proc/valid_dinner(mob/living/source, atom/dinner, radius) if(isliving(dinner)) diff --git a/code/datums/components/bakeable.dm b/code/datums/components/bakeable.dm index b4cde3c5752..a745be2b1a5 100644 --- a/code/datums/components/bakeable.dm +++ b/code/datums/components/bakeable.dm @@ -26,6 +26,8 @@ src.required_bake_time = required_bake_time src.positive_result = positive_result src.added_reagents = added_reagents + if(positive_result) + ADD_TRAIT(parent, TRAIT_BAKEABLE, REF(src)) // Inherit the new values passed to the component /datum/component/bakeable/InheritComponent(datum/component/bakeable/new_comp, original, bake_result, required_bake_time, positive_result, use_large_steam_sprite) @@ -45,6 +47,7 @@ /datum/component/bakeable/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_OVEN_PLACED_IN, COMSIG_ITEM_OVEN_PROCESS, COMSIG_ATOM_EXAMINE)) + REMOVE_TRAIT(parent, TRAIT_BAKEABLE, REF(src)) /// Signal proc for [COMSIG_ITEM_OVEN_PLACED_IN] when baking starts (parent enters an oven) /datum/component/bakeable/proc/on_baking_start(datum/source, atom/used_oven, mob/baker) diff --git a/code/datums/elements/consumable_mob.dm b/code/datums/elements/consumable_mob.dm new file mode 100644 index 00000000000..1a7c67a4312 --- /dev/null +++ b/code/datums/elements/consumable_mob.dm @@ -0,0 +1,32 @@ +/** + * element for mobs that can be consumed! + */ +/datum/element/consumable_mob + element_flags = ELEMENT_BESPOKE + argument_hash_start_idx = 2 + ///reagents to give our consumer + var/list/reagents_list + +/datum/element/consumable_mob/Attach(datum/target, list/reagents_list) + . = ..() + if(!isliving(target)) + return ELEMENT_INCOMPATIBLE + if(isnull((reagents_list))) + stack_trace("No valid reagents list provided!") + + src.reagents_list = reagents_list + RegisterSignal(target, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_consume)) + +/datum/element/consumable_mob/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_ATOM_ATTACK_HAND) + +/datum/element/consumable_mob/proc/on_consume(atom/movable/source, mob/living/consumer) + SIGNAL_HANDLER + if(!consumer.combat_mode || !consumer.reagents) + return + for(var/reagent_type in reagents_list) + if(isnull(reagents_list[reagent_type])) + return + consumer.reagents.add_reagent(reagent_type, reagents_list[reagent_type]) + diff --git a/code/datums/memory/_memory.dm b/code/datums/memory/_memory.dm index dd571c85746..57312774776 100644 --- a/code/datums/memory/_memory.dm +++ b/code/datums/memory/_memory.dm @@ -267,6 +267,8 @@ /mob/living/basic/mouse, /mob/living/basic/mushroom, /mob/living/basic/parrot, + /mob/living/basic/pet/cat, + /mob/living/basic/pet/cat/cak, /mob/living/basic/pet/dog/breaddog, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/dog/pug, @@ -277,8 +279,6 @@ /mob/living/basic/stickman, /mob/living/basic/stickman/dog, /mob/living/simple_animal/hostile/megafauna/dragon/lesser, - /mob/living/simple_animal/pet/cat, - /mob/living/simple_animal/pet/cat/cak, /obj/item/food/sausage/american, /obj/item/skub, ) diff --git a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm index b078b5c76ed..235986cbd0d 100644 --- a/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm +++ b/code/game/machinery/dna_infuser/infuser_entries/infuser_tier_zero_entries.dm @@ -78,7 +78,7 @@ "oh, let me guess, you're a big fan of those japanese tourist bots", ) input_obj_or_mob = list( - /mob/living/simple_animal/pet/cat, + /mob/living/basic/pet/cat, ) output_organs = list( /obj/item/organ/internal/ears/cat, diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index fae8d3950fd..f32b6600bfb 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -270,20 +270,6 @@ target_felinid.visible_message(span_notice("[target_felinid] looks briefly distracted by the light."), span_warning("You're briefly tempted by the shiny light...")) else target_felinid.visible_message(span_notice("[target_felinid] stares at the light."), span_warning("You stare at the light...")) - - //cats! - chance for any cat near the target to pounce at the light, stepping to the target - for(var/mob/living/simple_animal/pet/cat/target_kitty in view(1, targloc)) - if(target_kitty.stat == DEAD) - continue - if(prob(effectchance * diode.rating)) - if(target_kitty.resting) - target_kitty.set_resting(FALSE, instant = TRUE) - target_kitty.visible_message(span_notice("[target_kitty] pounces on the light!"), span_warning("LIGHT!")) - target_kitty.Move(targloc) - target_kitty.Immobilize(1 SECONDS) - else - target_kitty.visible_message(span_notice("[target_kitty] looks uninterested in your games."), span_warning("You spot [user] shining [src] at you. How insulting!")) - //The pointer is shining, change its sprite to show icon_state = "pointer_[pointer_icon_state]" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 9508730c8e7..7a78a0823e8 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -304,6 +304,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_DOORS), \ new/datum/stack_recipe("wooden stairs frame", /obj/structure/stairs_frame/wood, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("wooden fence", /obj/structure/railing/wooden_fence, 2, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("cat house", /obj/structure/cat_house, 5, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ diff --git a/code/game/objects/structures/cat_house.dm b/code/game/objects/structures/cat_house.dm new file mode 100644 index 00000000000..8baa9ce2416 --- /dev/null +++ b/code/game/objects/structures/cat_house.dm @@ -0,0 +1,46 @@ +/obj/structure/cat_house + name = "cat house" + desc = "cozy home for cats" + icon = 'icons/mob/simple/pets.dmi' + icon_state = "cat_house" + density = TRUE + anchored = TRUE + ///cat residing in this house + var/mob/living/resident_cat + +/obj/structure/cat_house/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ATOM_ATTACK_BASIC_MOB, PROC_REF(enter_home)) + +/obj/structure/cat_house/proc/enter_home(datum/source, mob/living/attacker) + SIGNAL_HANDLER + + if(isnull(resident_cat) && istype(attacker, /mob/living/basic/pet/cat)) + attacker.forceMove(src) + return + if(resident_cat == attacker) + attacker.forceMove(drop_location()) + +/obj/structure/cat_house/Entered(atom/movable/mover) + . = ..() + if(!istype(mover, /mob/living/basic/pet/cat)) + return + resident_cat = mover + update_appearance(UPDATE_OVERLAYS) + +/obj/structure/cat_house/Exited(atom/movable/mover) + . = ..() + if(mover != resident_cat) + return + resident_cat = null + update_appearance(UPDATE_OVERLAYS) + +/obj/structure/cat_house/update_overlays() + . = ..() + if(isnull(resident_cat)) + return + var/image/cat_icon = image(icon = resident_cat.icon, icon_state = resident_cat.icon_state, layer = LOW_ITEM_LAYER) + cat_icon.transform = cat_icon.transform.Scale(0.7, 0.7) + cat_icon.pixel_x = 0 + cat_icon.pixel_y = -9 + . += cat_icon diff --git a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm index b8a8f39fbc3..e598f1f9215 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm @@ -14,8 +14,8 @@ possible_shapes = list( /mob/living/basic/carp, /mob/living/basic/mouse, + /mob/living/basic/pet/cat, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/fox, /mob/living/simple_animal/bot/secbot, - /mob/living/simple_animal/pet/cat, ) diff --git a/code/modules/antagonists/traitor/objectives/kill_pet.dm b/code/modules/antagonists/traitor/objectives/kill_pet.dm index 01ab042f11b..21bf06eb386 100644 --- a/code/modules/antagonists/traitor/objectives/kill_pet.dm +++ b/code/modules/antagonists/traitor/objectives/kill_pet.dm @@ -23,7 +23,7 @@ /mob/living/basic/pet/dog/corgi/puppy/ian ), JOB_CAPTAIN = /mob/living/basic/pet/fox/renault, - JOB_CHIEF_MEDICAL_OFFICER = /mob/living/simple_animal/pet/cat/runtime, + JOB_CHIEF_MEDICAL_OFFICER = /mob/living/basic/pet/cat/runtime, JOB_CHIEF_ENGINEER = /mob/living/basic/parrot/poly, JOB_QUARTERMASTER = list( /mob/living/basic/gorilla/cargorilla, diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm index 942b1414cf9..676dfb0a2f7 100644 --- a/code/modules/cargo/packs/livestock.dm +++ b/code/modules/cargo/packs/livestock.dm @@ -31,18 +31,22 @@ name = "Cat Crate" desc = "The cat goes meow! Comes with a collar and a nice cat toy! Cheeseburger not included."//i can't believe im making this reference cost = CARGO_CRATE_VALUE * 10 //Cats are worth as much as corgis. - contains = list(/mob/living/simple_animal/pet/cat, - /obj/item/clothing/neck/petcollar, - /obj/item/toy/cattoy, - ) + contains = list( + /mob/living/basic/pet/cat, + /obj/item/clothing/neck/petcollar, + /obj/item/toy/cattoy, + ) crate_name = "cat crate" /datum/supply_pack/critter/cat/generate() . = ..() - if(prob(50)) - var/mob/living/simple_animal/pet/cat/C = locate() in . - qdel(C) - new /mob/living/simple_animal/pet/cat/_proc(.) + if(!prob(50)) + return + var/mob/living/basic/pet/cat/delete_cat = locate() in . + if(isnull(delete_cat)) + return + qdel(delete_cat) + new /mob/living/basic/pet/cat/_proc(.) /datum/supply_pack/critter/chick name = "Chicken Crate" diff --git a/code/modules/experisci/experiment/experiments.dm b/code/modules/experisci/experiment/experiments.dm index 1259f56597d..7dd423ed733 100644 --- a/code/modules/experisci/experiment/experiments.dm +++ b/code/modules/experisci/experiment/experiments.dm @@ -40,12 +40,12 @@ total_requirement = 3 max_requirement_per_type = 2 possible_types = list( + /mob/living/basic/pet/cat, /mob/living/basic/carp, /mob/living/basic/chicken, /mob/living/basic/cow, /mob/living/basic/pet/dog/corgi, /mob/living/basic/snake, - /mob/living/simple_animal/pet/cat, ) /datum/experiment/scanning/random/cytology/medium/one diff --git a/code/modules/explorer_drone/loot.dm b/code/modules/explorer_drone/loot.dm index 121880af7ce..3f3d6f6c520 100644 --- a/code/modules/explorer_drone/loot.dm +++ b/code/modules/explorer_drone/loot.dm @@ -96,10 +96,10 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) id = "pets" var/carrier_type = /obj/item/pet_carrier/biopod var/list/possible_pets = list( + /mob/living/basic/pet/cat/space, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/dog/pug, /mob/living/basic/pet/penguin/baby, - /mob/living/simple_animal/pet/cat/space, ) /datum/adventure_loot_generator/pet/generate() diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index e78efd293ff..c05446d3521 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -222,7 +222,7 @@ /datum/reagent/blood = 50, /datum/reagent/medicine/strange_reagent = 5 ) - result = /mob/living/simple_animal/pet/cat/breadcat + result = /mob/living/basic/pet/cat/breadcat category = CAT_BREAD /datum/crafting_recipe/food/frenchtoast diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm index 4a2c9f2935d..b34cc5f36e9 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -226,7 +226,7 @@ /datum/reagent/consumable/sprinkles = 5, /datum/reagent/teslium = 1 //To shock the whole thing into life ) - result = /mob/living/simple_animal/pet/cat/cak + result = /mob/living/basic/pet/cat/cak category = CAT_CAKE //Cat! Haha, get it? CAT? GET IT? We get it - Love Felines /datum/crafting_recipe/food/fruitcake diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index 76b3d320774..6b727a2c750 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -94,8 +94,8 @@ /mob/living/basic/pet/dog/pug, ) mobtype += pick( - /mob/living/simple_animal/pet/cat, - /mob/living/simple_animal/pet/cat/kitten, + /mob/living/basic/pet/cat, + /mob/living/basic/pet/cat/kitten, ) /obj/effect/holodeck_effect/mobspawner/bee diff --git a/code/modules/mob/living/basic/pets/cat/bread_cat_ai.dm b/code/modules/mob/living/basic/pets/cat/bread_cat_ai.dm new file mode 100644 index 00000000000..35a5d9e12af --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/bread_cat_ai.dm @@ -0,0 +1,62 @@ +/datum/ai_controller/basic_controller/cat/bread + planning_subtrees = list( + /datum/ai_planning_subtree/find_and_hunt_target/turn_off_stove, + /datum/ai_planning_subtree/find_and_hunt_target/hunt_mice, + /datum/ai_planning_subtree/find_and_hunt_target/find_cat_food, + /datum/ai_planning_subtree/haul_food_to_young, + /datum/ai_planning_subtree/random_speech/cats, + ) + +/datum/ai_planning_subtree/find_and_hunt_target/turn_off_stove + target_key = BB_STOVE_TARGET + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/stove_target + finding_behavior = /datum/ai_behavior/find_hunt_target/stove + hunt_targets = list(/obj/machinery/oven/range) + hunt_range = 9 + +/datum/ai_behavior/find_hunt_target/stove + +/datum/ai_behavior/find_hunt_target/stove/valid_dinner(mob/living/source, obj/machinery/oven/range/stove, radius) + if(!length(stove.used_tray?.contents) || stove.open) + return FALSE + //something in there is still baking... + for(var/atom/baking in stove.used_tray) + if(HAS_TRAIT(baking, TRAIT_BAKEABLE)) + return FALSE + return TRUE + +/datum/ai_behavior/hunt_target/unarmed_attack_target/stove_target + always_reset_target = TRUE + +/datum/ai_behavior/hunt_target/unarmed_attack_target/stove_target/target_caught(mob/living/hunter, obj/machinery/oven/range/stove) + if(stove.open) + return + return ..() + +/datum/ai_controller/basic_controller/cat/cake + planning_subtrees = list( + /datum/ai_planning_subtree/find_and_hunt_target/turn_off_stove, + /datum/ai_planning_subtree/find_and_hunt_target/decorate_donuts, + /datum/ai_planning_subtree/find_and_hunt_target/hunt_mice, + /datum/ai_planning_subtree/find_and_hunt_target/find_cat_food, + /datum/ai_planning_subtree/haul_food_to_young, + /datum/ai_planning_subtree/random_speech/cats, + ) + +/datum/ai_planning_subtree/find_and_hunt_target/decorate_donuts + target_key = BB_DONUT_TARGET + hunting_behavior = /datum/ai_behavior/hunt_target/decorate_donuts + finding_behavior = /datum/ai_behavior/find_hunt_target/decorate_donuts + hunt_targets = list(/obj/item/food/donut) + hunt_range = 9 + +/datum/ai_behavior/find_hunt_target/decorate_donuts/valid_dinner(mob/living/source, obj/item/food/donut/target, radius) + if(!target.is_decorated) + return FALSE + return can_see(source, target, radius) + +/datum/ai_behavior/hunt_target/decorate_donuts + always_reset_target = TRUE + +/datum/ai_behavior/hunt_target/decorate_donuts/target_caught(mob/living/hunter, atom/target) + hunter.spin(spintime = 4, speed = 1) diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm new file mode 100644 index 00000000000..425dd428ce5 --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/cat.dm @@ -0,0 +1,189 @@ +/mob/living/basic/pet/cat + name = "cat" + desc = "Kitty!!" + icon = 'icons/mob/simple/pets.dmi' + icon_state = "cat2" + icon_living = "cat2" + icon_dead = "cat2_dead" + speak_emote = list("purrs", "meows") + pass_flags = PASSTABLE + mob_size = MOB_SIZE_SMALL + mob_biotypes = MOB_ORGANIC|MOB_BEAST + unsuitable_atmos_damage = 0.5 + butcher_results = list( + /obj/item/food/meat/slab = 1, + /obj/item/organ/internal/ears/cat = 1, + /obj/item/organ/external/tail/cat = 1, + /obj/item/stack/sheet/animalhide/cat = 1 + ) + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT + gold_core_spawnable = FRIENDLY_SPAWN + collar_icon_state = "cat" + has_collar_resting_icon_state = TRUE + can_be_held = TRUE + ai_controller = /datum/ai_controller/basic_controller/cat + held_state = "cat2" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" + attack_sound = 'sound/weapons/slash.ogg' + attack_vis_effect = ATTACK_EFFECT_CLAW + ///can this cat breed? + var/can_breed = TRUE + ///can hold items? + var/can_hold_item = TRUE + ///can this cat interact with stoves? + var/can_interact_with_stove = FALSE + ///list of items we can carry + var/static/list/huntable_items = list( + /obj/item/fish, + /obj/item/food/deadmouse, + /obj/item/food/fishmeat, + ) + ///item we are currently holding + var/obj/item/held_food + ///mutable appearance for held item + var/mutable_appearance/held_item_overlay + +/mob/living/basic/pet/cat/Initialize(mapload) + . = ..() + AddElement(/datum/element/ai_retaliate) + AddElement(/datum/element/pet_bonus, "purrs!") + add_verb(src, /mob/living/proc/toggle_resting) + ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + ai_controller.set_blackboard_key(BB_HUNTABLE_PREY, typecacheof(huntable_items)) + if(can_breed) + add_breeding_component() + if(can_hold_item) + RegisterSignal(src, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(pre_attack)) + if(can_interact_with_stove) + RegisterSignal(src, COMSIG_LIVING_EARLY_UNARMED_ATTACK, PROC_REF(pre_unarmed_attack)) + +/mob/living/basic/pet/cat/proc/pre_attack(mob/living/source, atom/movable/target) + SIGNAL_HANDLER + if(!is_type_in_list(target, huntable_items) || held_food) + return + target.forceMove(src) + +/mob/living/basic/pet/cat/proc/pre_unarmed_attack(mob/living/hitter, atom/target, proximity, modifiers) + SIGNAL_HANDLER + + if(istype(target, /obj/machinery/oven/range)) + target.attack_hand(src) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/mob/living/basic/pet/cat/Exited(atom/movable/gone, direction) + . = ..() + if(gone != held_food) + return + held_food = null + update_appearance(UPDATE_OVERLAYS) + +/mob/living/basic/pet/cat/Entered(atom/movable/arrived, atom/old_loc, list/atom/old_locs) + if(is_type_in_list(arrived, huntable_items)) + held_food = arrived + update_appearance(UPDATE_OVERLAYS) + return ..() + +/mob/living/basic/pet/cat/update_overlays() + . = ..() + if(stat == DEAD || resting || !held_food) + return + if(istype(held_food, /obj/item/fish)) + held_item_overlay = mutable_appearance(icon, "cat_fish_overlay") + if(istype(held_food, /obj/item/food/deadmouse)) + held_item_overlay = mutable_appearance(icon, "cat_mouse_overlay") + . += held_item_overlay + +/mob/living/basic/pet/cat/update_resting() + . = ..() + if(stat == DEAD) + return + update_appearance(UPDATE_ICON_STATE) + +/mob/living/basic/pet/cat/update_icon_state() + . = ..() + if (resting) + icon_state = "[icon_living]_rest" + return + icon_state = "[icon_living]" + +/mob/living/basic/pet/cat/proc/add_breeding_component() + AddComponent(\ + /datum/component/breed,\ + can_breed_with = typecacheof(list(/mob/living/basic/pet/cat)),\ + baby_path = /mob/living/basic/pet/cat/kitten,\ + ) + +/mob/living/basic/pet/cat/space + name = "space cat" + desc = "They're a cat... in space!" + icon_state = "spacecat" + icon_living = "spacecat" + icon_dead = "spacecat_dead" + minimum_survivable_temperature = TCMB + maximum_survivable_temperature = T0C + 40 + held_state = "spacecat" + +/mob/living/basic/pet/cat/breadcat + name = "bread cat" + desc = "They're a cat... with a bread!" + icon_state = "breadcat" + icon_living = "breadcat" + icon_dead = "breadcat_dead" + ai_controller = /datum/ai_controller/basic_controller/cat/bread + collar_icon_state = null + held_state = "breadcat" + can_interact_with_stove = TRUE + butcher_results = list( + /obj/item/food/meat/slab = 2, + /obj/item/organ/internal/ears/cat = 1, + /obj/item/organ/external/tail/cat = 1, + /obj/item/food/breadslice/plain = 1 + ) + + +/mob/living/basic/pet/cat/original + name = "Batsy" + desc = "The product of alien DNA and bored geneticists." + gender = FEMALE + icon_state = "original" + icon_living = "original" + icon_dead = "original_dead" + collar_icon_state = null + unique_pet = TRUE + held_state = "original" + +/mob/living/basic/pet/cat/kitten + name = "kitten" + desc = "D'aaawwww." + icon_state = "kitten" + icon_living = "kitten" + icon_dead = "kitten_dead" + density = FALSE + pass_flags = PASSMOB + mob_size = MOB_SIZE_SMALL + collar_icon_state = "kitten" + can_breed = FALSE + ai_controller = /datum/ai_controller/basic_controller/cat/kitten + can_hold_item = FALSE + +/mob/living/basic/pet/cat/kitten/Initialize(mapload) + . = ..() + AddElement(/datum/element/basic_eating, food_types = huntable_items) + +/mob/living/basic/pet/cat/_proc + name = "Proc" + gender = MALE + gold_core_spawnable = NO_SPAWN + unique_pet = TRUE + +/mob/living/basic/pet/cat/jerry //Holy shit we left jerry on donut ~ Arcane ~Fikou + name = "Jerry" + desc = "Tom is VERY amused." + gender = MALE diff --git a/code/modules/mob/living/basic/pets/cat/cat_ai.dm b/code/modules/mob/living/basic/pets/cat/cat_ai.dm new file mode 100644 index 00000000000..b9436b555e5 --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/cat_ai.dm @@ -0,0 +1,299 @@ +/datum/ai_controller/basic_controller/cat + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_HOSTILE_MEOWS = list("Mawwww", "Mrewwww", "mhhhhng..."), + BB_BABIES_CHILD_TYPES = list(/mob/living/basic/pet/cat/kitten), + ) + + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + planning_subtrees = list( + /datum/ai_planning_subtree/reside_in_home, + /datum/ai_planning_subtree/flee_target/from_flee_key/cat_struggle, + /datum/ai_planning_subtree/find_and_hunt_target/hunt_mice, + /datum/ai_planning_subtree/find_and_hunt_target/find_cat_food, + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/haul_food_to_young, + /datum/ai_planning_subtree/territorial_struggle, + /datum/ai_planning_subtree/make_babies, + /datum/ai_planning_subtree/random_speech/cats, + ) + +/datum/ai_planning_subtree/reside_in_home + ///chance we enter our home + var/reside_chance = 5 + ///chance we leave our home + var/leave_home_chance = 15 + +/datum/ai_planning_subtree/reside_in_home/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + + if(controller.blackboard_key_exists(BB_CAT_HOME)) + controller.queue_behavior(/datum/ai_behavior/enter_cat_home, BB_CAT_HOME) + return + + if(istype(living_pawn.loc, /obj/structure/cat_house)) + if(SPT_PROB(leave_home_chance, seconds_per_tick)) + controller.set_blackboard_key(BB_CAT_HOME, living_pawn.loc) + return SUBTREE_RETURN_FINISH_PLANNING + + if(SPT_PROB(reside_chance, seconds_per_tick)) + controller.queue_behavior(/datum/ai_behavior/find_and_set/valid_home, BB_CAT_HOME, /obj/structure/cat_house) + +/datum/ai_behavior/find_and_set/valid_home/search_tactic(datum/ai_controller/controller, locate_path, search_range) + for(var/obj/structure/cat_house/home in oview(search_range, controller.pawn)) + if(home.resident_cat) + continue + return home + + return null + +/datum/ai_behavior/enter_cat_home + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION | AI_BEHAVIOR_REQUIRE_REACH + +/datum/ai_behavior/enter_cat_home/setup(datum/ai_controller/controller, target_key) + . = ..() + var/atom/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/enter_cat_home/perform(seconds_per_tick, datum/ai_controller/controller, target_key) + . = ..() + var/obj/structure/cat_house/home = controller.blackboard[target_key] + var/mob/living/basic/living_pawn = controller.pawn + if(living_pawn == home.resident_cat || isnull(home.resident_cat)) + living_pawn.melee_attack(home) + finish_action(controller, TRUE, target_key) + return + + finish_action(controller, FALSE, target_key) + +/datum/ai_behavior/enter_cat_home/finish_action(datum/ai_controller/controller, success, target_key) + . = ..() + controller.clear_blackboard_key(target_key) + + +/datum/ai_planning_subtree/flee_target/from_flee_key/cat_struggle + flee_behaviour = /datum/ai_behavior/run_away_from_target/cat_struggle + +/datum/ai_behavior/run_away_from_target/cat_struggle + clear_failed_targets = TRUE + +/datum/ai_planning_subtree/territorial_struggle + ///chance we become hostile to another cat + var/hostility_chance = 5 + +/datum/ai_planning_subtree/territorial_struggle/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + if(living_pawn.gender != MALE || !SPT_PROB(hostility_chance, seconds_per_tick)) + return + if(controller.blackboard_key_exists(BB_TRESSPASSER_TARGET)) + controller.queue_behavior(/datum/ai_behavior/territorial_struggle, BB_TRESSPASSER_TARGET, BB_HOSTILE_MEOWS) + return SUBTREE_RETURN_FINISH_PLANNING + + controller.queue_behavior(/datum/ai_behavior/find_and_set/cat_tresspasser, BB_TRESSPASSER_TARGET, /mob/living/basic/pet/cat) + +/datum/ai_behavior/find_and_set/cat_tresspasser/search_tactic(datum/ai_controller/controller, locate_path, search_range) + var/list/ignore_types = controller.blackboard[BB_BABIES_CHILD_TYPES] + for(var/mob/living/basic/pet/cat/potential_enemy in oview(search_range, controller.pawn)) + if(potential_enemy.gender != MALE) + continue + if(is_type_in_list(potential_enemy, ignore_types)) + continue + var/datum/ai_controller/basic_controller/enemy_controller = potential_enemy.ai_controller + if(isnull(enemy_controller)) + continue + //theyre already engaged in a battle, leave them alone! + if(enemy_controller.blackboard_key_exists(BB_TRESSPASSER_TARGET)) + continue + //u choose me and i choose u + enemy_controller.set_blackboard_key(BB_TRESSPASSER_TARGET, controller.pawn) + return potential_enemy + return null + +/datum/ai_behavior/territorial_struggle + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION | AI_BEHAVIOR_REQUIRE_REACH + action_cooldown = 5 SECONDS + ///chance the battle ends! + var/end_battle_chance = 25 + +/datum/ai_behavior/territorial_struggle/setup(datum/ai_controller/controller, target_key) + . = ..() + var/mob/living/living_pawn = controller.pawn + var/mob/living/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + if(target.ai_controller?.blackboard[target_key] != living_pawn) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/territorial_struggle/perform(seconds_per_tick, datum/ai_controller/controller, target_key, cries_key) + . = ..() + var/mob/living/target = controller.blackboard[target_key] + + if(QDELETED(target)) + finish_action(controller, TRUE, target_key) + return + + var/mob/living/living_pawn = controller.pawn + var/list/threaten_list = controller.blackboard[cries_key] + if(length(threaten_list)) + living_pawn.say(pick(threaten_list), forced = "ai_controller") + + if(!prob(end_battle_chance)) + return + + //50 50 chance we lose + var/datum/ai_controller/loser_controller = prob(50) ? controller : target.ai_controller + + loser_controller.set_blackboard_key(BB_BASIC_MOB_FLEE_TARGET, target) + target.ai_controller.clear_blackboard_key(BB_TRESSPASSER_TARGET) + finish_action(controller, TRUE, target_key) + +/datum/ai_behavior/territorial_struggle/finish_action(datum/ai_controller/controller, success, target_key) + . = ..() + controller.clear_blackboard_key(target_key) + +/datum/ai_planning_subtree/find_and_hunt_target/hunt_mice + target_key = BB_MOUSE_TARGET + hunting_behavior = /datum/ai_behavior/play_with_mouse + finding_behavior = /datum/ai_behavior/find_hunt_target/hunt_mice + hunt_targets = list(/mob/living/basic/mouse) + hunt_chance = 75 + hunt_range = 9 + +/datum/ai_planning_subtree/find_and_hunt_target/hunt_mice/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + var/list/items_we_carry = typecache_filter_list(living_pawn, controller.blackboard[BB_HUNTABLE_PREY]) + if(length(items_we_carry)) + return + return ..() + + +/datum/ai_behavior/find_hunt_target/hunt_mice/valid_dinner(mob/living/source, mob/living/mouse, radius) + if(mouse.stat == DEAD || mouse.mind) + return FALSE + return can_see(source, mouse, radius) + +//play as in kill +/datum/ai_behavior/play_with_mouse + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION | AI_BEHAVIOR_REQUIRE_REACH + action_cooldown = 10 SECONDS + ///chance we hunt the mouse! + var/consume_chance = 70 + +/datum/ai_behavior/play_with_mouse/setup(datum/ai_controller/controller, target_key) + . = ..() + var/mob/living/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/play_with_mouse/perform(seconds_per_tick, datum/ai_controller/controller, target_key) + . = ..() + var/mob/living/basic/mouse/target = controller.blackboard[target_key] + + if(QDELETED(target)) + finish_action(controller, TRUE, target_key) + return + + consume_chance = istype(target, /mob/living/basic/mouse/brown/tom) ? 5 : initial(consume_chance) + if(prob(consume_chance)) + target.splat() + finish_action(controller, TRUE, target_key) + return + finish_action(controller, FALSE, target_key) + +/datum/ai_behavior/play_with_mouse/finish_action(datum/ai_controller/controller, success, target_key) + . = ..() + var/mob/living/living_pawn = controller.pawn + var/atom/target = controller.blackboard[target_key] + controller.clear_blackboard_key(target_key) + if(isnull(target)) + return + var/manual_emote = "attempts to hunt [target]..." + var/end_result = success ? "and succeeds!" : "but fails!" + manual_emote += end_result + living_pawn.manual_emote(manual_emote) + +/datum/ai_planning_subtree/find_and_hunt_target/find_cat_food + target_key = BB_CAT_FOOD_TARGET + hunting_behavior = /datum/ai_behavior/hunt_target/unarmed_attack_target/find_cat_food + finding_behavior = /datum/ai_behavior/find_hunt_target/find_cat_food + hunt_targets = list(/obj/item/fish, /obj/item/food/deadmouse, /obj/item/food/fishmeat) + hunt_chance = 75 + hunt_range = 9 + +/datum/ai_behavior/hunt_target/unarmed_attack_target/find_cat_food + always_reset_target = TRUE + +/datum/ai_behavior/find_hunt_target/find_cat_food/valid_dinner(mob/living/source, atom/dinner, radius) + //this food is already near a kitten, let the kitten eat it + var/mob/living/nearby_kitten = locate(/mob/living/basic/pet/cat/kitten) in oview(2, dinner) + if(nearby_kitten && nearby_kitten != source) + return FALSE + return can_see(source, dinner, radius) + +/datum/ai_planning_subtree/haul_food_to_young/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + if(!controller.blackboard_key_exists(BB_FOOD_TO_DELIVER)) + controller.queue_behavior(/datum/ai_behavior/find_and_set/in_hands/given_list, BB_FOOD_TO_DELIVER, controller.blackboard[BB_HUNTABLE_PREY]) + return + if(!controller.blackboard_key_exists(BB_KITTEN_TO_FEED)) + controller.queue_behavior(/datum/ai_behavior/find_and_set/valid_kitten, BB_KITTEN_TO_FEED, /mob/living/basic/pet/cat/kitten) + return + + controller.queue_behavior(/datum/ai_behavior/deliver_food_to_kitten, BB_KITTEN_TO_FEED, BB_FOOD_TO_DELIVER) + +/datum/ai_behavior/find_and_set/valid_kitten + +/datum/ai_behavior/find_and_set/valid_kitten/search_tactic(datum/ai_controller/controller, locate_path, search_range) + var/mob/living/kitten = locate(locate_path) in oview(search_range, controller.pawn) + //kitten already has food near it, go feed another hungry kitten + + if(isnull(kitten)) + return null + + var/list/nearby_food = typecache_filter_list(oview(2, kitten), controller.blackboard[BB_HUNTABLE_PREY]) + if(kitten.stat != DEAD && !length(nearby_food)) + return kitten + return null + +/datum/ai_behavior/deliver_food_to_kitten +/datum/ai_behavior/deliver_food_to_kitten + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION | AI_BEHAVIOR_REQUIRE_REACH + action_cooldown = 5 SECONDS + +/datum/ai_behavior/deliver_food_to_kitten/setup(datum/ai_controller/controller, target_key, food_key) + . = ..() + var/mob/living/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/deliver_food_to_kitten/perform(seconds_per_tick, datum/ai_controller/controller, target_key, food_key) + . = ..() + var/mob/living/target = controller.blackboard[target_key] + + if(QDELETED(target)) + finish_action(controller, FALSE, target_key, food_key) + return + + var/mob/living/living_pawn = controller.pawn + var/atom/movable/food = controller.blackboard[food_key] + + if(isnull(food) || !(food in living_pawn)) + finish_action(controller, FALSE, target_key, food_key) + return + + food.forceMove(get_turf(living_pawn)) + finish_action(controller, TRUE, target_key, food_key) + +/datum/ai_behavior/deliver_food_to_kitten/finish_action(datum/ai_controller/controller, success, target_key, food_key) + . = ..() + controller.clear_blackboard_key(target_key) + controller.clear_blackboard_key(food_key) + + + + diff --git a/code/modules/mob/living/basic/pets/cat/keeki.dm b/code/modules/mob/living/basic/pets/cat/keeki.dm new file mode 100644 index 00000000000..5cf16552e9a --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/keeki.dm @@ -0,0 +1,59 @@ +/mob/living/basic/pet/cat/cak + name = "Keeki" + desc = "She is a cat made out of cake." + icon_state = "cak" + icon_living = "cak" + icon_dead = "cak_dead" + health = 50 + maxHealth = 50 + gender = FEMALE + butcher_results = list( + /obj/item/organ/internal/brain = 1, + /obj/item/organ/internal/heart = 1, + /obj/item/food/cakeslice/birthday = 3, + /obj/item/food/meat/slab = 2 + ) + response_harm_continuous = "takes a bite out of" + response_harm_simple = "take a bite out of" + ai_controller = /datum/ai_controller/basic_controller/cat/cake + attacked_sound = 'sound/items/eatfood.ogg' + death_message = "loses her false life and collapses!" + death_sound = SFX_BODYFALL + held_state = "cak" + can_interact_with_stove = TRUE + +/mob/living/basic/pet/cat/cak/Initialize(mapload) + . = ..() + AddComponent(/datum/component/regenerator,\ + regeneration_delay = 1 SECONDS,\ + brute_per_second = 5,\ + outline_colour = COLOR_PINK,\ + ) + var/static/list/on_consume = list( + /datum/reagent/consumable/nutriment = 0.4, + /datum/reagent/consumable/nutriment/vitamin = 0.4, + ) + AddElement(/datum/element/consumable_mob, reagents_list = on_consume) + +/mob/living/basic/pet/cat/cak/CheckParts(list/parts) + . = ..() + var/obj/item/organ/internal/brain/candidate = locate(/obj/item/organ/internal/brain) in contents + if(isnull(candidate?.brainmob?.mind)) + return + var/datum/mind/candidate_mind = candidate.brainmob.mind + candidate_mind.transfer_to(src) + candidate_mind.grab_ghost() + to_chat(src, "[span_boldbig("You are a cak!")] You're a harmless cat/cake hybrid that everyone loves. People can take bites out of you if they're hungry, but you regenerate health \ + so quickly that it generally doesn't matter. You're remarkably resilient to any damage besides this and it's hard for you to really die at all. You should go around and bring happiness and \ + free cake to the station!") + var/default_name = initial(name) + var/new_name = sanitize_name(reject_bad_text(tgui_input_text(src, "You are the [name]. Would you like to change your name to something else?", "Name change", default_name, MAX_NAME_LEN)), cap_after_symbols = FALSE) + if(new_name) + to_chat(src, span_notice("Your name is now [new_name]!")) + name = new_name + +/mob/living/basic/pet/cat/cak/spin(spintime, speed) + . = ..() + for(var/obj/item/food/donut/target in oview(1, src)) + if(!target.is_decorated) + target.decorate_donut() diff --git a/code/modules/mob/living/basic/pets/cat/kitten_ai.dm b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm new file mode 100644 index 00000000000..355ec4d3e48 --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/kitten_ai.dm @@ -0,0 +1,67 @@ + +/datum/ai_controller/basic_controller/cat/kitten + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_HUNGRY_MEOW = list("mrrp...", "mraw..."), + BB_MAX_DISTANCE_TO_FOOD = 2, + ) + + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate, + /datum/ai_planning_subtree/flee_target, + /datum/ai_planning_subtree/beg_human, + /datum/ai_planning_subtree/find_and_hunt_target/find_cat_food/kitten, + /datum/ai_planning_subtree/random_speech/cats, + ) + +//if the food is too far away, point at it or meow. if its near us then go eat it + +/datum/ai_planning_subtree/find_and_hunt_target/find_cat_food/kitten + + +/datum/ai_planning_subtree/find_and_hunt_target/find_cat_food/kitten/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/atom/target = controller.blackboard[BB_CAT_FOOD_TARGET] + if(target && get_dist(target, controller.pawn) > controller.blackboard[BB_MAX_DISTANCE_TO_FOOD]) + controller.queue_behavior(/datum/ai_behavior/beacon_for_food, BB_CAT_FOOD_TARGET, BB_HUNGRY_MEOW) + return + return ..() + +/datum/ai_behavior/beacon_for_food + action_cooldown = 5 SECONDS + +/datum/ai_behavior/beacon_for_food/perform(seconds_per_tick, datum/ai_controller/controller, target_key, meows_key) + . = ..() + var/atom/target = controller.blackboard[target_key] + if(QDELETED(target)) + finish_action(controller, FALSE) + var/mob/living/living_pawn = controller.pawn + var/list/meowing_list = controller.blackboard[meows_key] + if(length(meowing_list)) + living_pawn.say(pick(meowing_list), forced = "ai_controller") + living_pawn._pointed(target) + finish_action(controller, TRUE) + +/datum/ai_behavior/beacon_for_food/finish_action(datum/ai_controller/controller, success, target_key) + . = ..() + controller.clear_blackboard_key(target_key) + +/datum/ai_planning_subtree/beg_human + +/datum/ai_planning_subtree/beg_human/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + + if(controller.blackboard_key_exists(BB_HUMAN_BEG_TARGET)) + controller.queue_behavior(/datum/ai_behavior/beacon_for_food, BB_HUMAN_BEG_TARGET, BB_HUNGRY_MEOW) + return + + controller.queue_behavior(/datum/ai_behavior/find_and_set/human_beg, BB_HUMAN_BEG_TARGET, /mob/living/carbon/human) + +/datum/ai_behavior/find_and_set/human_beg/search_tactic(datum/ai_controller/controller, locate_path, search_range) + var/list/locate_items = controller.blackboard[BB_HUNTABLE_PREY] + for(var/mob/living/carbon/human/human_target in oview(search_range, controller.pawn)) + if(human_target.stat != CONSCIOUS || isnull(human_target.mind)) + continue + if(!length(typecache_filter_list(human_target.held_items, locate_items))) + continue + return human_target + + return null diff --git a/code/modules/mob/living/basic/pets/cat/runtime.dm b/code/modules/mob/living/basic/pets/cat/runtime.dm new file mode 100644 index 00000000000..9b3adac5a2a --- /dev/null +++ b/code/modules/mob/living/basic/pets/cat/runtime.dm @@ -0,0 +1,99 @@ +#define RUNTIME_SAVE_DATA "data/npc_saves/Runtime.sav" +#define RUNTIME_JSON_DATA "data/npc_saves/Runtime.json" +#define MAX_CAT_DEPLOY 50 + +/mob/living/basic/pet/cat/runtime + name = "Runtime" + desc = "GCAT" + icon_state = "cat" + icon_living = "cat" + icon_dead = "cat_dead" + gender = FEMALE + gold_core_spawnable = NO_SPAWN + unique_pet = TRUE + ///the family we will bring in when a round starts + var/list/family = null + ///saved list of kids + var/list/children = null + /// have we deployed the cats? + var/cats_deployed = FALSE + /// have we saved memory? + var/memory_saved = FALSE + ///callback we use to register our family + var/datum/callback/register_family + +/mob/living/basic/pet/cat/runtime/Initialize(mapload) + . = ..() + register_family = CALLBACK(src, PROC_REF(Write_Memory)) + SSticker.OnRoundend(register_family) + if(mapload) + read_memory() + deploy_the_cats() + + if(!prob(5)) + return + icon_state = "original" + icon_living = "original" + icon_dead = "original_dead" + update_appearance() + + +/mob/living/basic/pet/cat/runtime/add_breeding_component() + AddComponent(\ + /datum/component/breed,\ + can_breed_with = typecacheof(list(/mob/living/basic/pet/cat)),\ + baby_path = /mob/living/basic/pet/cat/kitten,\ + post_birth = CALLBACK(src, PROC_REF(after_birth)),\ + ) + +/mob/living/basic/pet/cat/runtime/proc/after_birth(mob/living/baby) + if(isnull(baby)) + return + LAZYADD(children, baby) + +/mob/living/basic/pet/cat/runtime/proc/read_memory() + if(fexists(RUNTIME_SAVE_DATA)) + var/savefile/save_data = new(RUNTIME_SAVE_DATA) + save_data["family"] >> family + fdel(RUNTIME_SAVE_DATA) + return + var/json_file = file(RUNTIME_JSON_DATA) + if(!fexists(json_file)) + return + var/list/json_list = json_decode(file2text(json_file)) + family = json_list["family"] + +/mob/living/basic/pet/cat/runtime/Destroy() + LAZYREMOVE(SSticker.round_end_events, register_family) + register_family = null + return ..() + +/mob/living/basic/pet/cat/runtime/Write_Memory(dead, gibbed) + . = ..() + if(!.) + return + var/json_file = file(RUNTIME_JSON_DATA) + var/list/file_data = list() + if(!dead) + for(var/mob/living/basic/pet/cat/kitten/kitten in children) + if(kitten.stat == DEAD) + continue + if(kitten.type in family) + family[kitten.type] += 1 + continue + family[kitten.type] = 1 + file_data["family"] = family + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data, JSON_PRETTY_PRINT)) + +/mob/living/basic/pet/cat/runtime/proc/deploy_the_cats() + cats_deployed = TRUE + for(var/cat_type in family) + if(isnull(family[cat_type])) + return + for(var/index in 1 to min(family[cat_type], MAX_CAT_DEPLOY)) + new cat_type(loc) + +#undef RUNTIME_SAVE_DATA +#undef RUNTIME_JSON_DATA +#undef MAX_CAT_DEPLOY diff --git a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm index 8ba6699648e..e23e022d00e 100644 --- a/code/modules/mob/living/basic/space_fauna/bear/_bear.dm +++ b/code/modules/mob/living/basic/space_fauna/bear/_bear.dm @@ -133,6 +133,11 @@ brute_per_second = 5,\ outline_colour = COLOR_YELLOW,\ ) + var/static/list/on_consume = list( + /datum/reagent/consumable/nutriment = 1, + /datum/reagent/consumable/nutriment/vitamin = 0.1, + ) + AddElement(/datum/element/consumable_mob, reagents_list = on_consume) /mob/living/basic/bear/butter/attack_hand(mob/living/user, list/modifiers) //Borrowed code from Cak, feeds people if they hit you. More nutriment but less vitamin to represent BUTTER. . = ..() diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm index d8c419ea2e3..e7fbfa5c2ec 100644 --- a/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm +++ b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm @@ -149,7 +149,7 @@ /// We do our own special thing on death, which is to spawn a kitten. /mob/living/basic/demon/slaughter/laughter/proc/on_death() SIGNAL_HANDLER - var/mob/living/simple_animal/pet/cat/kitten/kitty = new(drop_location()) + var/mob/living/basic/pet/cat/kitten/kitty = new(drop_location()) kitty.name = "Laughter" /mob/living/basic/demon/slaughter/laughter/ex_act(severity) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index dd40b8ac333..1acba6f725b 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1517,6 +1517,8 @@ /mob/living/basic/mouse, /mob/living/basic/mushroom, /mob/living/basic/parrot, + /mob/living/basic/pet/cat, + /mob/living/basic/pet/cat/cak, /mob/living/basic/pet/dog/breaddog, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/dog/pug, @@ -1527,11 +1529,8 @@ /mob/living/basic/stickman, /mob/living/basic/stickman/dog, /mob/living/simple_animal/hostile/megafauna/dragon/lesser, - /mob/living/simple_animal/pet/cat, - /mob/living/simple_animal/pet/cat/cak, ) new_mob = new picked_animal(loc) - if(WABBAJACK_HUMAN) var/mob/living/carbon/human/new_human = new(loc) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm deleted file mode 100644 index f1857a00e2c..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ /dev/null @@ -1,332 +0,0 @@ -//Cat -/mob/living/simple_animal/pet/cat - name = "cat" - desc = "Kitty!!" - icon = 'icons/mob/simple/pets.dmi' - icon_state = "cat2" - icon_living = "cat2" - icon_dead = "cat2_dead" - speak = list("Meow!", "Esp!", "Purr!", "HSSSSS") - speak_emote = list("purrs", "meows") - emote_hear = list("meows.", "mews.") - emote_see = list("shakes their head.", "shivers.") - speak_chance = 1 - turns_per_move = 5 - pass_flags = PASSTABLE - mob_size = MOB_SIZE_SMALL - mob_biotypes = MOB_ORGANIC|MOB_BEAST - minbodytemp = 200 - maxbodytemp = 400 - unsuitable_atmos_damage = 0.5 - animal_species = /mob/living/simple_animal/pet/cat - childtype = list(/mob/living/simple_animal/pet/cat/kitten = 1) - butcher_results = list(/obj/item/food/meat/slab = 1, /obj/item/organ/internal/ears/cat = 1, /obj/item/organ/external/tail/cat = 1, /obj/item/stack/sheet/animalhide/cat = 1) - response_help_continuous = "pets" - response_help_simple = "pet" - response_disarm_continuous = "gently pushes aside" - response_disarm_simple = "gently push aside" - response_harm_continuous = "kicks" - response_harm_simple = "kick" - mobility_flags = MOBILITY_FLAGS_REST_CAPABLE_DEFAULT - var/mob/living/basic/mouse/movement_target - gold_core_spawnable = FRIENDLY_SPAWN - collar_icon_state = "cat" - has_collar_resting_icon_state = TRUE - can_be_held = TRUE - held_state = "cat2" - attack_verb_continuous = "claws" - attack_verb_simple = "claw" - attack_sound = 'sound/weapons/slash.ogg' - attack_vis_effect = ATTACK_EFFECT_CLAW - - footstep_type = FOOTSTEP_MOB_CLAW - -/mob/living/simple_animal/pet/cat/Initialize(mapload) - . = ..() - AddElement(/datum/element/pet_bonus, "purrs!") - add_verb(src, /mob/living/proc/toggle_resting) - add_cell_sample() - ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) - -/mob/living/simple_animal/pet/cat/add_cell_sample() - AddElement(/datum/element/swabable, CELL_LINE_TABLE_CAT, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5) - - -/mob/living/simple_animal/pet/cat/space - name = "space cat" - desc = "They're a cat... in space!" - icon_state = "spacecat" - icon_living = "spacecat" - icon_dead = "spacecat_dead" - unsuitable_atmos_damage = 0 - minbodytemp = TCMB - maxbodytemp = T0C + 40 - held_state = "spacecat" - -/mob/living/simple_animal/pet/cat/breadcat - name = "bread cat" - desc = "They're a cat... with a bread!" - icon_state = "breadcat" - icon_living = "breadcat" - icon_dead = "breadcat_dead" - collar_icon_state = null - held_state = "breadcat" - butcher_results = list(/obj/item/food/meat/slab = 2, /obj/item/organ/internal/ears/cat = 1, /obj/item/organ/external/tail/cat = 1, /obj/item/food/breadslice/plain = 1) - -/mob/living/simple_animal/pet/cat/breadcat/add_cell_sample() - return - -/mob/living/simple_animal/pet/cat/original - name = "Batsy" - desc = "The product of alien DNA and bored geneticists." - gender = FEMALE - icon_state = "original" - icon_living = "original" - icon_dead = "original_dead" - collar_icon_state = null - unique_pet = TRUE - held_state = "original" - -/mob/living/simple_animal/pet/cat/original/add_cell_sample() - return - -/mob/living/simple_animal/pet/cat/kitten - name = "kitten" - desc = "D'aaawwww." - icon_state = "kitten" - icon_living = "kitten" - icon_dead = "kitten_dead" - density = FALSE - pass_flags = PASSMOB - mob_size = MOB_SIZE_SMALL - collar_icon_state = "kitten" - -//RUNTIME IS ALIVE! SQUEEEEEEEE~ -/mob/living/simple_animal/pet/cat/runtime - name = "Runtime" - desc = "GCAT" - icon_state = "cat" - icon_living = "cat" - icon_dead = "cat_dead" - gender = FEMALE - gold_core_spawnable = NO_SPAWN - unique_pet = TRUE - var/list/family = list()//var restored from savefile, has count of each child type - var/list/children = list()//Actual mob instances of children - var/static/cats_deployed = 0 - var/memory_saved = FALSE - held_state = "cat" - -/mob/living/simple_animal/pet/cat/runtime/Initialize(mapload) - if(prob(5)) - icon_state = "original" - icon_living = "original" - icon_dead = "original_dead" - Read_Memory() - . = ..() - -/mob/living/simple_animal/pet/cat/runtime/Life(seconds_per_tick = SSMOBS_DT, times_fired) - if(!cats_deployed && SSticker.current_state >= GAME_STATE_SETTING_UP) - Deploy_The_Cats() - if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) - Write_Memory() - memory_saved = TRUE - ..() - -/mob/living/simple_animal/pet/cat/runtime/make_babies() - var/mob/baby = ..() - if(baby) - children += baby - return baby - -/mob/living/simple_animal/pet/cat/runtime/death() - if(!memory_saved) - Write_Memory(TRUE) - ..() - -/mob/living/simple_animal/pet/cat/runtime/proc/Read_Memory() - if(fexists("data/npc_saves/Runtime.sav")) //legacy compatability to convert old format to new - var/savefile/S = new /savefile("data/npc_saves/Runtime.sav") - S["family"] >> family - fdel("data/npc_saves/Runtime.sav") - else - var/json_file = file("data/npc_saves/Runtime.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - family = json["family"] - if(isnull(family)) - family = list() - -/mob/living/simple_animal/pet/cat/runtime/Write_Memory(dead, gibbed) - . = ..() - if(!.) - return - var/json_file = file("data/npc_saves/Runtime.json") - var/list/file_data = list() - family = list() - if(!dead) - for(var/mob/living/simple_animal/pet/cat/kitten/C in children) - if(istype(C,type) || C.stat || !C.z || (C.flags_1 & HOLOGRAM_1)) - continue - if(C.type in family) - family[C.type] += 1 - else - family[C.type] = 1 - file_data["family"] = family - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - -/mob/living/simple_animal/pet/cat/runtime/proc/Deploy_The_Cats() - cats_deployed = 1 - for(var/cat_type in family) - if(family[cat_type] > 0) - for(var/i in 1 to min(family[cat_type],100)) //Limits to about 500 cats, you wouldn't think this would be needed (BUT IT IS) - new cat_type(loc) - -/mob/living/simple_animal/pet/cat/_proc - name = "Proc" - gender = MALE - gold_core_spawnable = NO_SPAWN - unique_pet = TRUE - - -/mob/living/simple_animal/pet/cat/update_resting() - . = ..() - if(stat == DEAD) - return - if (resting) - icon_state = "[icon_living]_rest" - else - icon_state = "[icon_living]" - - -/mob/living/simple_animal/pet/cat/Life(seconds_per_tick = SSMOBS_DT, times_fired) - if(!stat && !buckled && !client) - if(SPT_PROB(0.5, seconds_per_tick)) - manual_emote(pick("stretches out for a belly rub.", "wags [p_their()] tail.", "lies down.")) - set_resting(TRUE) - else if(SPT_PROB(0.5, seconds_per_tick)) - manual_emote(pick("sits down.", "crouches on [p_their()] hind legs.", "looks alert.")) - set_resting(TRUE) - icon_state = "[icon_living]_sit" - cut_overlays() // No collar support in sitting state - else if(SPT_PROB(0.5, seconds_per_tick)) - if (resting) - manual_emote(pick("gets up and meows.", "walks around.", "stops resting.")) - set_resting(FALSE) - else - manual_emote(pick("grooms [p_their()] fur.", "twitches [p_their()] whiskers.", "shakes out [p_their()] coat.")) - - //MICE! RATS! OH MY! - if((src.loc) && isturf(src.loc)) - if(!stat && !buckled) - //Targeting anything in the rat faction nearby - for(var/mob/living/M in view(1,src)) - if(!M.stat && Adjacent(M)) - if (FACTION_RAT in M.faction) - //Jerry can never catch Tom snowflaking - if(istype(M, /mob/living/basic/mouse/brown/tom) && inept_hunter) - if(COOLDOWN_FINISHED(src, emote_cooldown)) - visible_message(span_warning("[src] chases [M] around, to no avail!")) - step(M, pick(GLOB.cardinals)) - COOLDOWN_START(src, emote_cooldown, 1 MINUTES) - break - //Mouse splatting - if(ismouse(M)) - manual_emote("splats \the [M]!") - var/mob/living/basic/mouse/snack = M - snack.splat() - movement_target = null - stop_automated_movement = 0 - break - for(var/obj/item/toy/cattoy/T in view(1,src)) - if (T.cooldown < (world.time - 400)) - manual_emote("bats \the [T] around with \his paw!") - T.cooldown = world.time - - ..() - - make_babies() - - if(!stat && !resting && !buckled) - turns_since_scan++ - if(turns_since_scan > 5) - SSmove_manager.stop_looping(src) - turns_since_scan = 0 - if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) )) - movement_target = null - stop_automated_movement = 0 - if( !movement_target || !(movement_target.loc in oview(src, 3)) ) - movement_target = null - stop_automated_movement = 0 - //Targeting mice and mobs in the rat faction - for(var/mob/living/target in oview(src,3)) - if(isturf(target.loc) && !target.stat) - if(FACTION_RAT in target.faction) - movement_target = target - break - if(movement_target) - stop_automated_movement = 1 - SSmove_manager.move_to(src, movement_target, 0, 3) - -/mob/living/simple_animal/pet/cat/jerry //Holy shit we left jerry on donut ~ Arcane ~Fikou - name = "Jerry" - desc = "Tom is VERY amused." - inept_hunter = TRUE - gender = MALE - -/mob/living/simple_animal/pet/cat/cak //I told you I'd do it, Remie - name = "Keeki" - desc = "She is a cat made out of cake." - icon_state = "cak" - icon_living = "cak" - icon_dead = "cak_dead" - health = 50 - maxHealth = 50 - gender = FEMALE - harm_intent_damage = 10 - butcher_results = list(/obj/item/organ/internal/brain = 1, /obj/item/organ/internal/heart = 1, /obj/item/food/cakeslice/birthday = 3, \ - /obj/item/food/meat/slab = 2) - response_harm_continuous = "takes a bite out of" - response_harm_simple = "take a bite out of" - attacked_sound = 'sound/items/eatfood.ogg' - death_message = "loses her false life and collapses!" - death_sound = SFX_BODYFALL - held_state = "cak" - -/mob/living/simple_animal/pet/cat/cak/add_cell_sample() - return - -/mob/living/simple_animal/pet/cat/cak/CheckParts(list/parts) - ..() - var/obj/item/organ/internal/brain/candidate = locate(/obj/item/organ/internal/brain) in contents - if(!candidate || !candidate.brainmob || !candidate.brainmob.mind) - return - var/datum/mind/candidate_mind = candidate.brainmob.mind - candidate_mind.transfer_to(src) - candidate_mind.grab_ghost() - to_chat(src, "[span_boldbig("You are a cak!")] You're a harmless cat/cake hybrid that everyone loves. People can take bites out of you if they're hungry, but you regenerate health \ - so quickly that it generally doesn't matter. You're remarkably resilient to any damage besides this and it's hard for you to really die at all. You should go around and bring happiness and \ - free cake to the station!") - var/default_name = "Keeki" - var/new_name = sanitize_name(reject_bad_text(tgui_input_text(src, "You are the [name]. Would you like to change your name to something else?", "Name change", default_name, MAX_NAME_LEN)), cap_after_symbols = FALSE) - if(new_name) - to_chat(src, span_notice("Your name is now [new_name]!")) - name = new_name - -/mob/living/simple_animal/pet/cat/cak/Life(seconds_per_tick = SSMOBS_DT, times_fired) - ..() - if(stat) - return - if(health < maxHealth) - adjustBruteLoss(-4 * seconds_per_tick) //Fast life regen - for(var/obj/item/food/donut/D in range(1, src)) //Frosts nearby donuts! - if(!D.is_decorated) - D.decorate_donut() - -/mob/living/simple_animal/pet/cat/cak/attack_hand(mob/living/user, list/modifiers) - ..() - if(user.combat_mode && user.reagents && !stat) - user.reagents.add_reagent(/datum/reagent/consumable/nutriment, 0.4) - user.reagents.add_reagent(/datum/reagent/consumable/nutriment/vitamin, 0.4) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 6136f8c8189..1c5543bbb59 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -380,7 +380,7 @@ return FALSE //Verbs do not appear for players. //Good mobs! - if(ispath(MP, /mob/living/simple_animal/pet/cat)) + if(ispath(MP, /mob/living/basic/pet/cat)) return TRUE if(ispath(MP, /mob/living/basic/pet/dog/corgi)) return TRUE diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 17c425c4e2f..119f65a75de 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -90,7 +90,7 @@ . = ..() tracked_ian_ref = WEAKREF(locate(/mob/living/basic/pet/dog/corgi/ian) in GLOB.mob_living_list) - tracked_runtime_ref = WEAKREF(locate(/mob/living/simple_animal/pet/cat/runtime) in GLOB.mob_living_list) + tracked_runtime_ref = WEAKREF(locate(/mob/living/basic/pet/cat/runtime) in GLOB.mob_living_list) critical_items_typecache = typecacheof(list( /obj/item/construction/rcd, @@ -511,7 +511,7 @@ tracked_runtime.forceMove(drop_location()) investigate_log("Experimentor has stolen Runtime!", INVESTIGATE_EXPERIMENTOR) else - new /mob/living/simple_animal/pet/cat(loc) + new /mob/living/basic/pet/cat(loc) investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", INVESTIGATE_EXPERIMENTOR) ejectItem(TRUE) if(globalMalf > 76 && globalMalf < 98) @@ -642,10 +642,10 @@ /mob/living/basic/lizard, /mob/living/basic/mouse, /mob/living/basic/parrot, + /mob/living/basic/pet/cat, /mob/living/basic/pet/dog/corgi, /mob/living/basic/pet/dog/pug, /mob/living/basic/pet/fox, - /mob/living/simple_animal/pet/cat, ) for(var/counter in 1 to rand(1, 25)) var/mobType = pick(valid_animals) diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index 5e9045e751f..3230f44dabb 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -108,7 +108,7 @@ /datum/reagent/consumable/milk/chocolate_milk = -1) virus_suspectibility = 1.5 - resulting_atoms = list(/mob/living/simple_animal/pet/cat = 1) //The basic cat mobs are all male, so you mightt need a gender swap potion if you want to fill the fortress with kittens. + resulting_atoms = list(/mob/living/basic/pet/cat = 1) /datum/micro_organism/cell_line/corgi desc = "Canid cells" diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 1a8b4561140..fba922380d9 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -93,15 +93,6 @@ /mob/living/simple_animal/hostile/vatbeast, /mob/living/simple_animal/hostile/zombie, /mob/living/simple_animal/pet, - /mob/living/simple_animal/pet/cat, - /mob/living/simple_animal/pet/cat/_proc, - /mob/living/simple_animal/pet/cat/breadcat, - /mob/living/simple_animal/pet/cat/cak, - /mob/living/simple_animal/pet/cat/jerry, - /mob/living/simple_animal/pet/cat/kitten, - /mob/living/simple_animal/pet/cat/original, - /mob/living/simple_animal/pet/cat/runtime, - /mob/living/simple_animal/pet/cat/space, /mob/living/simple_animal/pet/gondola, /mob/living/simple_animal/pet/gondola/gondolapod, /mob/living/simple_animal/pet/gondola/virtual_domain, diff --git a/icons/mob/pets.dmi b/icons/mob/pets.dmi index 7c6800d602de3b9d32f97bb8b3ba394053060659..8ddeaa0c3f40cd729fe3ae30b4be4d8eebf207f7 100644 GIT binary patch literal 79103 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 literal 79131 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

0l5Fq5G=Q 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 QLf}vNu7<(~Ig8N$0f(LD!~g&Q diff --git a/icons/mob/simple/pets.dmi b/icons/mob/simple/pets.dmi index 78212b93c769ecd357cc5ef028458e1791558378..9bd7d69c06bc5ce9af73ca14489982a7a305e20b 100644 GIT binary patch delta 25713 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 Gq5lK&)!*{~ delta 23480 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 Date: Mon, 4 Dec 2023 12:20:13 +0300 Subject: [PATCH 2/3] update paths --- _maps/map_files/KiloStation2/KiloStation2.dmm | 2 +- _maps/map_files/NSSJourney/NSSJourney.dmm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/KiloStation2/KiloStation2.dmm b/_maps/map_files/KiloStation2/KiloStation2.dmm index 77d644ea302..055328a080a 100644 --- a/_maps/map_files/KiloStation2/KiloStation2.dmm +++ b/_maps/map_files/KiloStation2/KiloStation2.dmm @@ -4301,7 +4301,7 @@ /area/station/engineering/atmos) "buJ" = ( /obj/structure/bed/dogbed/runtime, -/mob/living/simple_animal/pet/cat/runtime, +/mob/living/basic/pet/cat/runtime, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) diff --git a/_maps/map_files/NSSJourney/NSSJourney.dmm b/_maps/map_files/NSSJourney/NSSJourney.dmm index bdcfa64ca6b..9ab16fab30a 100644 --- a/_maps/map_files/NSSJourney/NSSJourney.dmm +++ b/_maps/map_files/NSSJourney/NSSJourney.dmm @@ -54324,7 +54324,7 @@ /area/station/science/breakroom) "tJO" = ( /obj/structure/bed/dogbed/runtime, -/mob/living/simple_animal/pet/cat/runtime, +/mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) "tJW" = ( From 88c8d1668e3799decc93eecb8bb4a09531e2cb2c Mon Sep 17 00:00:00 2001 From: Iajret Date: Mon, 4 Dec 2023 14:33:04 +0300 Subject: [PATCH 3/3] Update birdshot.dmm --- _maps/map_files/Birdshot/birdshot.dmm | 436 ++++++++++++-------------- 1 file changed, 198 insertions(+), 238 deletions(-) diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index af7b0ac93b3..50f2b3ed7df 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -46,10 +46,6 @@ }, /turf/open/floor/iron, /area/station/security/tram) -"ach" = ( -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "acl" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -116,6 +112,12 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating, /area/station/engineering/atmos/project) +"adH" = ( +/obj/machinery/netpod, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "adL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3929,30 +3931,6 @@ }, /turf/open/floor/iron, /area/station/security/processing) -"bCh" = ( -/obj/effect/turf_decal/stripes{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/machinery/door/airlock/mining{ - name = "Bitrunning Den" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/turf/open/floor/iron/dark/smooth_half{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "bCi" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/components/binary/crystallizer{ @@ -6128,27 +6106,6 @@ "cvJ" = ( /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"cvP" = ( -/obj/effect/turf_decal/stripes{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark/smooth_half{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "cvZ" = ( /obj/structure/closet/secure_closet/evidence, /obj/effect/decal/cleanable/dirt, @@ -11107,10 +11064,6 @@ /obj/structure/frame/computer, /turf/open/floor/eighties/red, /area/station/service/abandoned_gambling_den/gaming) -"ejq" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/cargo/bitrunning/den) "ejt" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -14020,6 +13973,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"fkL" = ( +/obj/machinery/quantum_server, +/obj/effect/turf_decal/delivery, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "fkT" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/alien/weeds, @@ -16287,6 +16246,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"fXd" = ( +/turf/closed/wall, +/area/station/cargo/bitrunning/den) "fXg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -17805,6 +17767,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/grass, /area/station/service/hydroponics) +"gzl" = ( +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "gzu" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -18395,6 +18361,27 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"gKH" = ( +/obj/effect/turf_decal/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "gKK" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -19149,6 +19136,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"gWV" = ( +/obj/effect/turf_decal/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Bitrunning Den" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "gXf" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -21610,12 +21621,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"hNv" = ( -/obj/machinery/netpod, -/obj/machinery/light_switch/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "hNA" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, @@ -25270,6 +25275,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) +"jeB" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/stripes, +/obj/effect/turf_decal/trimline/brown/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "jeC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -26030,6 +26048,26 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/catwalk_floor/iron_dark, /area/station/commons/storage/tools) +"jux" = ( +/obj/effect/turf_decal/stripes{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "juJ" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -27427,6 +27465,13 @@ /obj/item/bedsheet/brown, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"jSp" = ( +/obj/machinery/computer/quantum_console{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark/textured_large, +/area/station/cargo/bitrunning/den) "jSw" = ( /obj/structure/railing, /turf/open/floor/catwalk_floor, @@ -27774,25 +27819,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/half, /area/station/hallway/primary/central/fore) -"jYV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table, -/obj/item/folder/red, -/obj/item/food/monkeycube/bee{ - name = "monkey cube"; - pixel_y = 17 - }, -/obj/item/food/monkeycube/chicken{ - pixel_y = 15; - pixel_x = 6; - name = "monkey cube"; - desc = "A new Nanotrasen classic, the monkey cube. Tastes like everything!" - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/tools) "jYY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30684,19 +30710,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"lbF" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/effect/turf_decal/stripes, -/obj/effect/turf_decal/trimline/brown/line, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "lbG" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -32878,20 +32891,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"lKH" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/bitrunner, -/turf/open/floor/iron/dark/smooth_half, -/area/station/cargo/bitrunning/den) "lKK" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -32907,13 +32906,6 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"lLq" = ( -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/oil, -/obj/machinery/byteforge, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "lLr" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -37842,13 +37834,6 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/station/science/xenobiology) -"nyf" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/food/cornchips/green, -/turf/open/floor/iron/dark/smooth_large, -/area/station/cargo/bitrunning/den) "nyi" = ( /turf/closed/wall/rust, /area/station/maintenance/hallway/abandoned_command) @@ -38199,13 +38184,6 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"nEl" = ( -/obj/machinery/computer/quantum_console{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "nEo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -38267,9 +38245,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"nFo" = ( -/turf/closed/wall, -/area/station/cargo/bitrunning/den) "nFp" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -39219,6 +39194,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) +"nXz" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/trimline/brown/corner, +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/station/cargo/bitrunning/den) "nXP" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -40806,9 +40801,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"oCG" = ( -/turf/closed/wall/rust, -/area/station/cargo/bitrunning/den) "oCM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/east, @@ -46359,6 +46351,10 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) +"qrE" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/cargo/bitrunning/den) "qrI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_half{ @@ -51052,26 +51048,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden/layer1, /turf/open/floor/catwalk_floor/iron_white, /area/station/engineering/atmos) -"rPx" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/trimline/brown/corner, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/smooth_edge{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "rPz" = ( /obj/structure/table/glass, /obj/item/flashlight/lamp/green{ @@ -51553,26 +51529,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rWP" = ( -/obj/effect/turf_decal/stripes{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half{ - dir = 1 - }, -/area/station/cargo/bitrunning/den) "rWW" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -52549,6 +52505,13 @@ /obj/structure/thermoplastic, /turf/open/floor/tram, /area/station/security/tram) +"snI" = ( +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/oil, +/obj/machinery/byteforge, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "snJ" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/light/small/directional/south, @@ -53458,6 +53421,12 @@ }, /turf/closed/wall, /area/station/commons/storage/art) +"sBO" = ( +/obj/machinery/netpod, +/obj/machinery/light_switch/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "sCc" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -57244,12 +57213,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"tPZ" = ( -/obj/machinery/netpod, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "tQx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/fueltank, @@ -62158,15 +62121,6 @@ /obj/machinery/duct, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/restrooms) -"vtq" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/bed/dogbed/runtime, -/mob/living/simple_animal/pet/cat/runtime, -/turf/open/floor/iron/white/small, -/area/station/command/heads_quarters/cmo) "vtv" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -62691,6 +62645,13 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) +"vCa" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/food/cornchips/green, +/turf/open/floor/iron/dark/smooth_large, +/area/station/cargo/bitrunning/den) "vCe" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -65793,18 +65754,6 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron/smooth, /area/station/cargo/office) -"wzp" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/gloves/color/fyellow{ - pixel_y = 7 - }, -/obj/structure/fluff/broken_canister_frame, -/obj/machinery/camera/autoname/directional/north, -/obj/item/stack/sticky_tape/super, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plating, -/area/station/commons/storage/tools) "wzK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66954,6 +66903,20 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"wRI" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/bitrunner, +/turf/open/floor/iron/dark/smooth_half, +/area/station/cargo/bitrunning/den) "wRL" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -71978,6 +71941,9 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"ygc" = ( +/turf/closed/wall/rust, +/area/station/cargo/bitrunning/den) "ygd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/engineering/atmospherics_portable, @@ -72351,12 +72317,6 @@ "ylD" = ( /turf/closed/wall, /area/station/maintenance/starboard/greater) -"ylH" = ( -/obj/machinery/quantum_server, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark/textured_large, -/area/station/cargo/bitrunning/den) "ylJ" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -84054,12 +84014,12 @@ slY ueX slY ueX -nFo -oCG -nFo -nFo -nFo -nFo +fXd +ygc +fXd +fXd +fXd +fXd lxy hzm jTA @@ -84311,12 +84271,12 @@ slY hfc jBb iNE -nFo -ach -lKH -ylH -nEl -ejq +fXd +gzl +wRI +fkL +jSp +qrE tvN lRc moz @@ -84568,12 +84528,12 @@ gZk iNE kwY kPW -nFo -tPZ -rPx -cvP -rWP -bCh +fXd +adH +nXz +gKH +jux +gWV jWA lTv oem @@ -84825,12 +84785,12 @@ slY hff kPW hfc -nFo -hNv -lbF -lLq -nyf -ejq +fXd +sBO +jeB +snI +vCa +qrE jkS lTN mRD @@ -85082,12 +85042,12 @@ slY jCo slY slY -nFo -nFo -nFo -nFo -nFo -nFo +fXd +fXd +fXd +fXd +fXd +fXd kZB lUz ohj @@ -89703,7 +89663,7 @@ ueX slY slY slY -wzp +rSG hbv rkr hmj @@ -90220,7 +90180,7 @@ hXf oQM hbI hgd -jYV +vgd xrZ sRg xat @@ -100325,7 +100285,7 @@ oNd fFD cbO vDV -vtq +wVb clt jbr guF