* refactor: Attack chain, initial setup.
* migrate curtain to make dreamchecker happy
* update thurible
* don't call attacked_by separately for legacy attack chain
* remove duplicate proc
* condense similar code, put allowances for legacy code in new procs
* update docs, include diagram source
* add comment on how to update diagram
* fix admonition
* mindflayer updates
* remove commented out code
* clarify all steps
* after_attack should be overridable
* whoops
* retrofit recent changes
* duh, can't restrict this yet because of tool_acts
* i hate ore bags with the fire of a thousand suns
* return correct value for object attack logic
* Various cleanups.
We don't want to attempt to pull stuff out of `/obj/item/attackby`,
because those pieces are part of the related objects' migrations, not
`/obj/item` itself. Attempting to do this causes knockon effects where
things expected to call e.g. `/obj/item/storage/attackby` in the call
chain were not ferried over to the new item interaction code, because
the related objects hadn't actually been migrated over yet.
I've used refactoring /obj/vehicle as the example for migrating
`attackby` methods instead.
* simplify some argument names
* fuck it
* make it do the thing
* Rename CI module call
* Prove that CI works
* improve test output
* aaand fix it again
* fix curtain tool interactions
* fix compile error
* fix compile error
* Better docs, introduce migration plan tool.
* Switch a bunch of /obj/machinery from /New to /Initialize
This is an easy and uncontroversial batch.
No globs, no late init, and stuff.
* Move more machinery to Initialize
This time the ones dealing with GLOB vars,
as well as some simpler ones i missed previously.
* More tricky New -> Initialize migrations
* The last of machinery Initialize conversion
* fixups
* Newscaster armor fix
* styling
* Comment on armor handling
* Move newscaster armor definition back to datum
* farie82 review
* kill extra .=
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
* farie's review part 2
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
* Refactor closet and RCS code. Can't put items in closets on modes other than help
* Undef
* Styling tweaks
* Github reviews and extra
* glob.machines
* Adds support for self-filling reagent containers
* Sets tool_behaviour on the default set of tools
* Fixing merge conflicts
* Refactors welder to use tool behaviour
* The refactor: part I
* The refactor: part II
* Tool Refactor Part III: Revenge of the Maint
* Tool Refactor Part IV: A New Hope
* Tool Refactor Part V: The Oldcoder Strikes Back
* Tool Refactor Part VI: Return of the Coder
* VII
* Holy shit, it compiles?!
* Nannek I completed your TODO, you owe me ice cream
* Tool helpers; telepad is compliant
* Bugtest, Round 1: Fight
Fuck refactoring disposals
* Buggfixing, Round 2: Electric Boogaloo
* Personal crafting uses tool behaviours now
* Construction datums use new tool behaviours; better way of handling fueltank refuelling; more bugfixing
* multitool_check_buffer change; removes some useless things in tool_helpers
* proc name change
* TRUE/FALSE changes
* Bugfixing, Round 3: A Good Day To Bugfix Hard
Fixes multiple issues raised by the testmerge
* Minor style changes
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 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 first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.