* 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.
* designs are now using the construction time var and the hacky /obj/item/mechavars is gone
* designs updated : there shouldn't be "no material" designs anymore
* cleaned the objects of their construction_cost and construction_time vars
* fixes the material name being displayed with $ character before
* this also fixes the overlay animation in inserting sheets
* the category var is now a list, so parts can be build/used with several chassis (fixes the Firefighter Chassis appearing when building Ripley)
* properly fix the href vulnerability when emptying (you can now remove all sheets of a materiel at once)
* the exofab now won't create a material sheet if there's not enough material (e.g 1000 metal)
* the exofab now won't accept a sheet if it would overstuff it (losing some material in the process)
* cleaned the code a bit (simplified, streamlined, using global vars, etc)
Finish #5722 and fixes#5954.