AI can now alt+left click turfs in camera view to list and interact with objects in the status tab. For example allows for interacting with emergency shutters beneath grills.
alt-clicking doors now notifies the AI when they are electrified/un-electrified as, unlike most other shortcuts, this doesn't have a visual cue.
When interacting with doors and the AI-control is disabled hacking is now automatically initiated, as if the AI had attempted to open the door 'menu'.
When borgs/AIs try to interact with an emagged door they now receive a feedback message that it's unresponsive.
Parts of implementation done by porting code from tg-station.
Conflicts:
code/_onclick/ai.dm
code/_onclick/click.dm
code/modules/mob/living/silicon/ai/freelook/cameranet.dm
code/modules/mob/mob.dm
Before: multiple screen_shake's could queue up prior to screenshake being set on the mob setting
oldeye on the last one to queue up to be the random location from the previous screen shake
so sometimes peoples clients were stuck on a location instead of back on the mob.
Now we set screenshake before the spawn so we don't spawn up multiple screen_shakes on the same mob.
Test: Be ghost, hammer the spawn meteors secret 10 times or so, watch as your camera returns back to your mob.
Yay.
Conflicts:
code/modules/mob/mob_helpers.dm
Before: Tasers do 40 halloss damage and that drops to 39 on next life() tick so most people won't be slowed down by the first taser hit.
After: If you have any halloss you will slow down some. I've set it at 1 delay for every 10 halloss, this might need adjusting (15 instead of 10 possibly)
Conflicts:
code/modules/mob/living/carbon/human/human_movement.dm
i can't believe after all this time animals still use FEA instead of ZAS.
this should fix the "random" animal deaths.
Conflicts:
code/modules/mob/living/simple_animal/simple_animal.dm
...based on distance, similar to projectiles.
Conflicts:
code/defines/obj.dm
code/game/machinery/kitchen/smartfridge.dm
code/game/machinery/vending.dm
code/game/mecha/equipment/weapons/weapons.dm
code/modules/games/cards.dm
code/modules/mob/living/carbon/carbon.dm
code/modules/mob/living/living_defense.dm
Also makes setting a thrown atom's throwing var the responsibility of
the handler, so that impact handling code can decide if the thrown atom
should keep on going.
Conflicts:
code/game/atoms.dm
code/modules/mob/living/carbon/alien/special/facehugger.dm
code/modules/mob/living/living_defense.dm
fun fact: I'm never porting say-related stuff from bay.
Conflicts:
code/game/objects/items/devices/radio/encryptionkey.dm
code/game/objects/items/devices/radio/headset.dm
code/modules/mob/living/say.dm
code/modules/mob/living/silicon/ai/ai.dm