makes xenobio stuff use interact_with_atom (#93918)

## About The Pull Request
Makes slime potions, injector, and cookies use item_interaction.
generizices behavoir that potions typed under
`obj/item/slimepotion/slime/` only affect slimes, moves the handful of
potions that did not do that out of that type.
removed a random type casting for slime cookies to verify there human
before it checks for `TRAIT_AGEUSIA` as there is no reason other mobs
wouldn't be able to taste it.
do to the refactor you wont "bash" a lot of items if the interaction
fails.

## Why It's Good For The Game
<img width="439" height="68" alt="image"
src="https://github.com/user-attachments/assets/f398fb6c-8cbd-4092-9a64-8cccce87f8b6"
/>
This commit is contained in:
FalloutFalcon
2025-11-20 19:06:23 -06:00
committed by GitHub
parent 94dd056a3b
commit 5eeb3e4d53
10 changed files with 210 additions and 179 deletions
@@ -409,7 +409,7 @@
required_reagents = list(/datum/reagent/toxin/plasma = 1)
/datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
new /obj/item/slimepotion/slime/sentience(get_turf(holder.my_atom))
new /obj/item/slimepotion/sentience(get_turf(holder.my_atom))
..()
/datum/chemical_reaction/slime/renaming
@@ -417,7 +417,7 @@
required_reagents = list(/datum/reagent/water = 1)
/datum/chemical_reaction/slime/renaming/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
new /obj/item/slimepotion/slime/renaming(holder.my_atom.drop_location())
new /obj/item/slimepotion/renaming(holder.my_atom.drop_location())
..()
@@ -454,7 +454,7 @@
required_container = /obj/item/slime_extract/bluespace
/datum/chemical_reaction/slime/slimeradio/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
new /obj/item/slimepotion/slime/slimeradio(get_turf(holder.my_atom))
new /obj/item/slimepotion/slimeradio(get_turf(holder.my_atom))
..()
//Cerulean