* Replaces a bunch of manual OPENCONTAINER checks with helper procs
* Removes unnecessary vars
* Updates reagent bitflags, adds some new ones
* Replaces most of the is_open_container calls with more specific ones
* Puts new AMOUNT_VISIBLE flag to use
* Uses new helper procs in more objects
* Standardizes chemicals logging
* De-snowflakes two more checks
* Fixes
* Minor fixes and improvements
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* precision
* precision
* sanity checks
* itt kevinz doesn't know how cyberboss procs work
* fixes
* allows user cancellation
* im dumb
* itt: im still dumb
* fixes stuff, makes it set on init
* refactors reagentgrinder code
* more fixes, prevents melee attacks from going anyways
* ...? wtf is with usetopic
* Finally found out what's wrongw ith this thing.
* fixes a mistake
* Ports /vg/'s component system
* Fix component signalling itself for addition
* Fix the list arrangement for removal
* Whoops
* Return the existing component if the created one was deleted
* These can't be ints
* ,
* returning TRUE from a callback will mark the event as handled
* Small refactor
* Add powered components
* R e f a c t o r
* More wip
* Fixes et al
* Pure pain
* When bae tells you she was tabs but she was actually spaces
* RReee
* Needs arglist
* Fax
* Fax
* More better
* You fail me yet again git commit
* Some kajiggering, but there we go
* No more 3rd param = variadic
* fix
* Sanity
* Whoops
* Minor thing
* Whoops
* fax
* Better describe the function, + add ..()s
* Fix
* Port to Initialize
* fuk in git
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`
* Overlay queuing
* Fix SS flags
* Don't copy on assignment
* Flags processing
* Fix icon_smoothing
* MSO's helper proc
* Legacy detection
* Make it work
* Fixes shitcode
* Fix the flag
* |= -> +=
* OK, how did I fuck that up?
* shitcode
* Conditional assoc queue while initializing
* Cleanup everything
* Orange meme
* This isn't perfect, but its the best byond will give us.
* forgot about dir
* oh ya
* This was litterally the last thing i did last night before heading to bed
You can tell can't you?
* Fixes various shit
* Let's not ever pause
* Fix the flag
* Cleaned up some missing shit. Added image dummys
* Remove the one usage of FPRINT
* Jesus get rid of this
* Allows syringes and droppers to show their reagents when examined.
* rearranges my logic
* replaces SEMIOPENCONTAINER with TRANSPARENT
* Silly spelling error fix.
* Moves the defines from flags to container_type to avoid issues with conflicting flags
* changes it back to obj/item/O
* Moves the OPENCONTAINER and TRANSPARENT defines to the reagents.dm
Adds a large ash and large molten item decal (for future use)
simplifies decal/cleanable/replace_decal() code a bit.
Changes construction() proc to on_construction() for consistency, same for deconstruction().
Made a deconstruct() proc for machinery and computer (also for future use).
Added priority overlays to atoms, which will not be removed when overlays are cut and will always remain on top when new overlays are added. This requires everyone to use add_overlay() and cut_overlays() instead of overlays += and overlays.Cut(). These procs are found in __HELPERS/icons.dm, and the priority overlay list is found in game/atoms.dm. Everything else is replacing deprecated overlay manipulation.
This contains the changes to item_attack.dm
Obj/attackby() now follows a similar structure as mob/living/attackby. It calls attack_obj() (like attack() but for obj) which calls attacked_by (just like attack() does)
The use of the NOBLUDGEON flag changes a bit, it is now used to signify the item cannot be used as a melee weapon at all. No attack animation, no attack message. I've given this bitflag to many items that have an afterattack() so as to not both attack and do the special action (among those items: the rcd)
There's also the code changes to attacking machines: attacking any machine now give a proper message and a sound. And with this, I made more machines breakable (using a health var and the very little used BROKEN stat). Most notably, tables can now be attacked when on harm intent and be destroyed.
The newly destroyable machines have a take_damage() proc used by all sorts of attack (weapon, xeno, animal, hulk, mech melee, gun projectile, thrown items).
There's some more stuff in there, see the PR's description and comments.