Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This commit overhauls a bunch of systems so that buckling works for
any subtype of /obj. This means that space vines and chairs and beds all
use the same system. A lot of stuff has been touched.
This commit overhauls the examine system to baystation's latest system,
including a more efficient verb approach, and a new status panel tab,
which shows more information for pre-defined objects.
This commit does the following:
- Replaces all instances of magic intent words, like "harm" and
"help" with defines, I_HELP, I_DISARM, I_GRAB, I_HARM
- Fixes a few manual grab instances left over in attack_alien, they
will now used grabbedby()
- Tables can't have NODROP or ABSTRACT items placed on them anymore,
same for lockers and crates.
- Fixes a runtime with trying to strip a NODROP or ABSTRACT item.
- Adds ABSTRACT flag to relevant items, removes abstract var.
- Adds checks for ABSTRACT where relevant.
- Also removes extra define of golem gas mask.
- Adds NODROP to changeling mutations so I don't have to do that later.
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
Two separate changes were required. 1) commenting out the (assumedly
bad) re-declaration of RangedAttack in other_mobs.dm and 2) moving the
line "if(!mutations.len) return" BELOW the power glove line. This means
people without powers can use the gloves also.
It's tested as working, but I haven't tested to see if it's broken any
other ranged attacks due to what I changed. You may want to text xeno
projectiles etc and anything else that uses RangedAttack.