This makes an [OPEN] link appear on all radio messages the AI hears (to the right of the follow link). When clicked, it allows the AI to open
the door nearest to the speaker (or, if it is a voice changer, the door
nearest to the poor sap who had his voice stolen).
AI, Open This Door!
Port of https://github.com/VOREStation/VOREStation/pull/7897
* Adds preference to control multilingual behaviour
Examine mode preference should persist across reconnections to a single round
Still looking into how to properly get these to go into the savefile
* typos
- Add additional can_atmos_pass value ATMOS_PASS_PROC which indicates custom behavior requiring calling the CanZASPass proc.
- The benefit being for the other three values we DON'T need to call CanZASPass at all! We already know the behavior without the overhead of a proc call.
- Obviously any atom with can_atmos_pass = ATMOS_PASS_PROC cannot now call ..() in CanZASPass() since the default behavior would be to (recursively) call CanZASPass()
- This required re-numbering the constants, so I also fixed all code that assumed particular values for the constants.
- Switched all types which overrode CanZASPass with custom logic to be can_atmos_pass = ATMOS_PASS_PROC
- Changed /turf/c_airblock() to skip calling /atom/movable/c_airblock() for the three can_atmos_pass values that don't require calling the proc.
- CanZASPass is supposed to return boolean. Nobody noticed this bug because ATMOS_PASS_YES and ATMOS_PASS_NO happen to be defined as 1 and 0. But thats not a good assumption to make, so lets fix it!
* Large amount of work; Animal taming, shearing. Random animal spawns on sif grass/forest turfs. New PoIs, thermal poncho.
* Combat drone DMI moved to drones folder. Mining Drone subtype added. "Tameable" with ores, will collect and store ores when not in active combat.
- Organic looking synths have a normal speech bubble, until they pass their lookssynthetic check (usually due to damage)
- Organics with a synthetic voicebox sound synthetic.