Spiders can now be tamed and ridden (#95194)

## About The Pull Request
This lets people ride and tame spiders by feeding them mouse, lizard,
moth, fly, and worm meat. You can only do this when a spider is a
spiderling or young; once it's fully grown, it's no longer possible.

This also refactors some tameable code to use `TRAIT_TAMED` instead of
setting variables on mobs individually.

## Why It's Good For The Game
It looks cool.

<img width="1920" height="1080" alt="dreamseeker_97k7fgzdhv"
src="https://github.com/user-attachments/assets/87d53102-468d-4dd7-b0a7-004f9a98df17"
/>


## Changelog
🆑
add: Spiders can now be tamed and ridden. They eat mouse, lizard, moth,
fly, and worm meat and can only be tamed when they are spiderlings or
young.
code: Refactored tameable code to use TRAIT_TAMED instead of setting
individual variables on each mob.
/🆑
This commit is contained in:
Tim
2026-03-15 19:20:57 +00:00
committed by GitHub
parent 03cb799009
commit 5602082624
20 changed files with 80 additions and 19 deletions
@@ -91,6 +91,7 @@
///Proc to run on a successful taming attempt
/mob/living/basic/pet/dog/tamed(mob/living/tamer, atom/food)
. = ..()
visible_message(span_notice("[src] licks at [tamer] in a friendly manner!"))
/// A dog bone fully heals a dog, and befriends it if it's not your friend.
@@ -447,6 +447,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return returnable_list
/mob/living/basic/parrot/tamed(mob/living/tamer, atom/food)
. = ..()
new /obj/effect/temp_visual/heart(drop_location())
/mob/living/basic/parrot/proc/drop_item_on_signal(mob/living/user)