diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 8e46be856e3..052aee9740c 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -26928,7 +26928,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, -/mob/living/simple_animal/sloth/citrus, +/mob/living/basic/sloth/citrus, /turf/open/floor/iron, /area/station/cargo/storage) "jHE" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 3df03ace134..ff106565a42 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -9692,14 +9692,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"coZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/mob/living/basic/goat/pete, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "cpf" = ( /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -80137,6 +80129,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uao" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/mob/living/basic/goat/pete, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "uaE" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -95382,7 +95382,7 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/mob/living/simple_animal/sloth/citrus, +/mob/living/basic/sloth/citrus, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) @@ -128137,7 +128137,7 @@ hXw btc hFP xAt -coZ +uao oTB sqM oYs diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 174f4fb23e4..6aa6f438643 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -18137,7 +18137,7 @@ /area/station/maintenance/starboard/aft) "fya" = ( /obj/structure/cable, -/mob/living/simple_animal/sloth/paperwork, +/mob/living/basic/sloth/paperwork, /turf/open/floor/iron, /area/station/cargo/storage) "fyc" = ( @@ -58398,15 +58398,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"rPv" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "rPL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -68896,6 +68887,15 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) +"vhr" = ( +/mob/living/basic/goat/pete{ + desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; + habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); + minimum_survivable_temperature = 150; + name = "Snowy Pete" + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "vhB" = ( /obj/structure/chair/plastic, /obj/effect/turf_decal/bot_red, @@ -182416,7 +182416,7 @@ dEB dMS jBB mQk -rPv +vhr wMP fwB fwB diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index f2a999d3f38..df3e1b7490a 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -25335,7 +25335,7 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/mob/living/simple_animal/sloth/citrus, +/mob/living/basic/sloth/citrus, /turf/open/floor/iron, /area/station/cargo/storage) "jhD" = ( diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 818f9b9c23f..535f37974ba 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -1738,12 +1738,6 @@ /obj/item/experi_scanner, /turf/open/floor/iron/white, /area/station/science/lower) -"avK" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/mob/living/basic/goat/pete, -/turf/open/floor/iron/kitchen_coldroom/freezerfloor, -/area/station/service/kitchen/coldroom) "avM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30717,7 +30711,7 @@ /turf/open/floor/plating, /area/station/maintenance/floor3/starboard/fore) "idf" = ( -/mob/living/simple_animal/sloth/paperwork, +/mob/living/basic/sloth/paperwork, /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -58602,6 +58596,12 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port/aft) +"pmG" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/mob/living/basic/goat/pete, +/turf/open/floor/iron/kitchen_coldroom/freezerfloor, +/area/station/service/kitchen/coldroom) "pmO" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -251184,7 +251184,7 @@ xsQ cgR diA sGW -avK +pmG exw awV sGW diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 7105d158218..735aed3768f 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -3371,7 +3371,7 @@ anchored = 1; name = "Citrus's bed" }, -/mob/living/simple_animal/sloth/citrus, +/mob/living/basic/sloth/citrus, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/qm) "aWY" = ( diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 40fd20e9e23..638f7512d67 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -18350,6 +18350,17 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"fvf" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/mob/living/basic/goat/pete, +/turf/open/floor/iron/kitchen_coldroom, +/area/station/service/kitchen/coldroom) "fvn" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -53566,7 +53577,7 @@ /turf/open/floor/iron/white, /area/station/science/lower) "sha" = ( -/mob/living/simple_animal/sloth/paperwork, +/mob/living/basic/sloth/paperwork, /turf/open/floor/glass, /area/station/cargo/storage) "shw" = ( @@ -54717,17 +54728,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) -"szP" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/effect/turf_decal/weather/snow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/mob/living/basic/goat/pete, -/turf/open/floor/iron/kitchen_coldroom, -/area/station/service/kitchen/coldroom) "szZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -102542,7 +102542,7 @@ dyC kUg nUP gvC -szP +fvf bje iRL snQ diff --git a/code/datums/ai/basic_mobs/basic_subtrees/climb_tree.dm b/code/datums/ai/basic_mobs/basic_subtrees/climb_tree.dm index 1beab6ec907..bad349030f1 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/climb_tree.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/climb_tree.dm @@ -1,4 +1,5 @@ /datum/ai_planning_subtree/climb_trees + operational_datums = list(/datum/component/tree_climber) ///chance to climb a tree var/climb_chance = 35 diff --git a/code/datums/components/tree_climber.dm b/code/datums/components/tree_climber.dm index b3c70153c71..9f506ae516f 100644 --- a/code/datums/components/tree_climber.dm +++ b/code/datums/components/tree_climber.dm @@ -12,6 +12,8 @@ return COMPONENT_INCOMPATIBLE src.climbing_distance = climbing_distance + ADD_TRAIT(parent, TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM, type) + /datum/component/tree_climber/RegisterWithParent() RegisterSignals(parent, list(COMSIG_HOSTILE_PRE_ATTACKINGTARGET, COMSIG_LIVING_CLIMB_TREE), PROC_REF(climb_tree)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index f57f6c2e9dd..26bbc689afa 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -158,8 +158,8 @@ /datum/station_trait/cargorilla/proc/replace_cargo(datum/source) SIGNAL_HANDLER - var/mob/living/simple_animal/sloth/cargo_sloth = GLOB.cargo_sloth - if(!cargo_sloth) + var/mob/living/basic/sloth/cargo_sloth = GLOB.cargo_sloth + if(isnull(cargo_sloth)) return cargorilla = new(cargo_sloth.loc) diff --git a/code/modules/antagonists/traitor/objectives/kill_pet.dm b/code/modules/antagonists/traitor/objectives/kill_pet.dm index 51a54d99e30..f90599e6c35 100644 --- a/code/modules/antagonists/traitor/objectives/kill_pet.dm +++ b/code/modules/antagonists/traitor/objectives/kill_pet.dm @@ -26,8 +26,8 @@ JOB_CHIEF_MEDICAL_OFFICER = /mob/living/simple_animal/pet/cat/runtime, JOB_CHIEF_ENGINEER = /mob/living/simple_animal/parrot/poly, JOB_QUARTERMASTER = list( - /mob/living/simple_animal/sloth/citrus, - /mob/living/simple_animal/sloth/paperwork, + /mob/living/basic/sloth/citrus, + /mob/living/basic/sloth/paperwork, /mob/living/simple_animal/hostile/gorilla/cargo_domestic, ) ) diff --git a/code/modules/events/ghost_role/sentience.dm b/code/modules/events/ghost_role/sentience.dm index 6cdc66472c1..abc57d33a07 100644 --- a/code/modules/events/ghost_role/sentience.dm +++ b/code/modules/events/ghost_role/sentience.dm @@ -11,13 +11,13 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( /mob/living/basic/pig, /mob/living/basic/rabbit, /mob/living/basic/sheep, + /mob/living/basic/sloth, /mob/living/basic/snake, /mob/living/basic/spider/giant/sgt_araneus, /mob/living/simple_animal/bot/secbot/beepsky, /mob/living/simple_animal/hostile/retaliate/goose/vomit, /mob/living/simple_animal/parrot, /mob/living/simple_animal/pet, - /mob/living/simple_animal/sloth, ))) /datum/round_event_control/sentience diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index 10f7a484ecc..a9664d8dd47 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -13,12 +13,12 @@ GLOBAL_LIST_INIT(petsplosion_candidates, typecacheof(list( /mob/living/basic/pig, /mob/living/basic/rabbit, /mob/living/basic/sheep, + /mob/living/basic/sloth, /mob/living/basic/snake, /mob/living/basic/spider/giant/sgt_araneus, /mob/living/simple_animal/hostile/retaliate/goose/vomit, /mob/living/simple_animal/parrot, /mob/living/simple_animal/pet, - /mob/living/simple_animal/sloth, ))) /datum/round_event_control/wizard/petsplosion //the horror diff --git a/code/modules/mob/living/basic/pets/sloth.dm b/code/modules/mob/living/basic/pets/sloth.dm new file mode 100644 index 00000000000..5058e7d5334 --- /dev/null +++ b/code/modules/mob/living/basic/pets/sloth.dm @@ -0,0 +1,97 @@ +GLOBAL_DATUM(cargo_sloth, /mob/living/basic/sloth) + +/mob/living/basic/sloth + name = "sloth" + desc = "An adorable, sleepy creature." + icon = 'icons/mob/simple/pets.dmi' + icon_state = "sloth" + icon_living = "sloth" + icon_dead = "sloth_dead" + + speak_emote = list("yawns") + + can_be_held = TRUE + held_state = "sloth" + + 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" + + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + attack_sound = 'sound/weapons/bite.ogg' + attack_vis_effect = ATTACK_EFFECT_BITE + + mob_biotypes = MOB_ORGANIC|MOB_BEAST + gold_core_spawnable = FRIENDLY_SPAWN + + melee_damage_lower = 18 + melee_damage_upper = 18 + health = 50 + maxHealth = 50 + speed = 10 // speed is fucking weird man. they aren't fast though don't worry + butcher_results = list(/obj/item/food/meat/slab = 3) + + ai_controller = /datum/ai_controller/basic_controller/sloth + +/mob/living/basic/sloth/Initialize(mapload) + . = ..() + AddElement(/datum/element/pet_bonus, "slowly smiles!") + AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_CLAW) + AddElement(/datum/element/ai_retaliate) + AddComponent(/datum/component/tree_climber) + + if(!mapload || isnull(GLOB.cargo_sloth) || !is_station_level(z)) + return + + // If someone adds non-cargo sloths to maps we'll have a problem but we're fine for now + GLOB.cargo_sloth = src + +/mob/living/basic/sloth/Destroy() + if(GLOB.cargo_sloth == src) + GLOB.cargo_sloth = null + + return ..() + +/mob/living/basic/sloth/paperwork + name = "Paperwork" + desc = "Cargo's pet sloth. About as useful as the rest of the techs." + gender = MALE + gold_core_spawnable = NO_SPAWN + +/mob/living/basic/sloth/citrus + name = "Citrus" + desc = "Cargo's pet sloth. She's dressed in a horrible sweater." + icon_state = "cool_sloth" + icon_living = "cool_sloth" + icon_dead = "cool_sloth_dead" + gender = FEMALE + butcher_results = list(/obj/item/toy/spinningtoy = 1) + gold_core_spawnable = NO_SPAWN + +/// They're really passive in game, so they just wanna get away if you start smacking them. No trees in space from them to use for clawing your eyes out, but they will try if desperate. +/datum/ai_controller/basic_controller/sloth + blackboard = list( + BB_TARGETTING_DATUM = new /datum/targetting_datum/basic/ignore_faction, + BB_BASIC_MOB_FLEEING = TRUE, + BB_FLEE_TARGETTING_DATUM = new /datum/targetting_datum/basic/ignore_faction, + ) + + ai_traits = STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + + planning_subtrees = list( + /datum/ai_planning_subtree/target_retaliate/to_flee, + /datum/ai_planning_subtree/flee_target/from_flee_key, + /datum/ai_planning_subtree/climb_trees, + /datum/ai_planning_subtree/random_speech/sloth, + ) + +/datum/ai_planning_subtree/random_speech/sloth + speech_chance = 1 + emote_hear = list("snores.", "yawns.") + emote_see = list("dozes off.", "looks around sleepily.") diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm deleted file mode 100644 index 8e308c58d12..00000000000 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ /dev/null @@ -1,68 +0,0 @@ -GLOBAL_DATUM(cargo_sloth, /mob/living/simple_animal/sloth) - -/mob/living/simple_animal/sloth - name = "sloth" - desc = "An adorable, sleepy creature." - icon = 'icons/mob/simple/pets.dmi' - icon_state = "sloth" - icon_living = "sloth" - icon_dead = "sloth_dead" - speak_emote = list("yawns") - emote_hear = list("snores.","yawns.") - emote_see = list("dozes off.", "looks around sleepily.") - speak_chance = 1 - turns_per_move = 5 - can_be_held = TRUE - butcher_results = list(/obj/item/food/meat/slab = 3) - 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" - mob_biotypes = MOB_ORGANIC|MOB_BEAST - gold_core_spawnable = FRIENDLY_SPAWN - melee_damage_lower = 18 - melee_damage_upper = 18 - health = 50 - maxHealth = 50 - speed = 10 - held_state = "sloth" - ///In the case 'melee_damage_upper' is somehow raised above 0 - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - attack_sound = 'sound/weapons/bite.ogg' - attack_vis_effect = ATTACK_EFFECT_BITE - - footstep_type = FOOTSTEP_MOB_CLAW - -/mob/living/simple_animal/sloth/Initialize(mapload) - . = ..() - AddElement(/datum/element/pet_bonus, "slowly smiles!") - // If someone adds non-cargo sloths to maps we'll have a problem but we're fine for now - if(!GLOB.cargo_sloth && mapload && is_station_level(z)) - GLOB.cargo_sloth = src - -/mob/living/simple_animal/sloth/Destroy() - if(GLOB.cargo_sloth == src) - GLOB.cargo_sloth = null - - return ..() - -//Cargo Sloth -/mob/living/simple_animal/sloth/paperwork - name = "Paperwork" - desc = "Cargo's pet sloth. About as useful as the rest of the techs." - gold_core_spawnable = NO_SPAWN - -//Cargo Sloth 2 - -/mob/living/simple_animal/sloth/citrus - name = "Citrus" - desc = "Cargo's pet sloth. She's dressed in a horrible sweater." - icon_state = "cool_sloth" - icon_living = "cool_sloth" - icon_dead = "cool_sloth_dead" - gender = FEMALE - butcher_results = list(/obj/item/toy/spinningtoy = 1) - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 78501f282d2..84da6f68478 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -198,9 +198,6 @@ /mob/living/simple_animal/slime/pet, /mob/living/simple_animal/slime/random, /mob/living/simple_animal/slime/transformed_slime, - /mob/living/simple_animal/sloth, - /mob/living/simple_animal/sloth/citrus, - /mob/living/simple_animal/sloth/paperwork, /mob/living/simple_animal/soulscythe, //MODULAR SKYRAT ENTRIES diff --git a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm index 68865d44b21..422a2d16c01 100644 --- a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm +++ b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm @@ -9,8 +9,8 @@ JOB_CHIEF_MEDICAL_OFFICER = /mob/living/simple_animal/pet/cat/runtime, JOB_CHIEF_ENGINEER = /mob/living/simple_animal/parrot/poly, JOB_QUARTERMASTER = list( - /mob/living/simple_animal/sloth/citrus, - /mob/living/simple_animal/sloth/paperwork, + /mob/living/basic/sloth/citrus, + /mob/living/basic/sloth/paperwork, /mob/living/simple_animal/hostile/gorilla/cargo_domestic, ), // Non-heads like the warden, these are automatically medium-risk at minimum diff --git a/tgstation.dme b/tgstation.dme index c7d43e0317b..fee2981a998 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4518,6 +4518,7 @@ #include "code\modules\mob\living\basic\pets\fox.dm" #include "code\modules\mob\living\basic\pets\penguin.dm" #include "code\modules\mob\living\basic\pets\pet.dm" +#include "code\modules\mob\living\basic\pets\sloth.dm" #include "code\modules\mob\living\basic\pets\dog\_dog.dm" #include "code\modules\mob\living\basic\pets\dog\corgi.dm" #include "code\modules\mob\living\basic\pets\dog\dog_subtypes.dm" @@ -4768,7 +4769,6 @@ #include "code\modules\mob\living\simple_animal\friendly\cat.dm" #include "code\modules\mob\living\simple_animal\friendly\gondola.dm" #include "code\modules\mob\living\simple_animal\friendly\pet.dm" -#include "code\modules\mob\living\simple_animal\friendly\sloth.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\drone_say.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\drone_tools.dm" diff --git a/tools/UpdatePaths/Scripts/78752_simple_to_basic_sloths.txt b/tools/UpdatePaths/Scripts/78752_simple_to_basic_sloths.txt new file mode 100644 index 00000000000..0312b163295 --- /dev/null +++ b/tools/UpdatePaths/Scripts/78752_simple_to_basic_sloths.txt @@ -0,0 +1 @@ +/mob/living/simple_animal/sloth/@SUBTYPES : /mob/living/basic/sloth/@SUBTYPES{@OLD}