Enhancement: Add "Stop" Button/ModSetting for Zoneable Creatures Like Intelligent Animals and Undraftable Mechs
Currently it seems the logic for showing the "Stop" button is regarding whether or not the thing is draftable (colonist or mechanoid).
If this is just a matter of maintaining vanilla limitations, then this isn't technically accurate.
Anything that can be zoned into an Allowed Area is stoppable. The vanilla equivalent is creating a new 1x1 Allowed Area that is their current position, changing them to this Area, then changing them back to their previous Area.
This will effectively Stop them, even in pure vanilla.
(Maybe you can't stop roaming/penned animals anymore in vanilla since they don't have allowed areas.)
Please consider expanding the Stop button (or at least the options) accordingly, for Mechanoids even if undraftable, and for intelligent animals, both by virtue of still respecting Allowed Area.
What you probably would actually want to check are things like __instance.playerSettings?.RespectsAllowedArea and !__instance.InMentalState or something.
Enhancement: Add "Stop" Button/ModSetting for Zoneable Creatures Like Intelligent Animals and Undraftable Mechs
Currently it seems the logic for showing the "Stop" button is regarding whether or not the thing is draftable (colonist or mechanoid).
If this is just a matter of maintaining vanilla limitations, then this isn't technically accurate.
Anything that can be zoned into an Allowed Area is stoppable. The vanilla equivalent is creating a new 1x1 Allowed Area that is their current position, changing them to this Area, then changing them back to their previous Area.
This will effectively Stop them, even in pure vanilla.
(Maybe you can't stop roaming/penned animals anymore in vanilla since they don't have allowed areas.)
Please consider expanding the Stop button (or at least the options) accordingly, for Mechanoids even if undraftable, and for intelligent animals, both by virtue of still respecting Allowed Area.
What you probably would actually want to check are things like
__instance.playerSettings?.RespectsAllowedArea
and!__instance.InMentalState
or something.