Fixes unscrewing a broken computer only dropping one glass shard instead of two.
Fixes AI holopad, recharger, keycard authentication device, reagent_dispensers reagentgrinder, and APC not being attackable.
Fixes APC cover knockdown being random, it now uses the take_damage() proc, which also allows animals and xenos to knock down the cover of a broken apc.
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.
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
* Added the ability to make Apiaries and Honey frames with wood
* Added the ability to make Royal Bee Jelly from 10 Mutagen and 40 Honey
* Added the ability to make more Queen Bees from Royal Bee Jelly by using it on an existing Queen, to split her into two Queens
* Made homeless bees more obvious
* Fixed a typo that made almost all bees homeless, severely reducing the odds of getting honeycomb
* Made bee progress reports (50% towards new honeycomb, etc.) always show, even if it's 0%
* Made some feedback text more obvious
* Fixed being able to duplicate the bee holder object, this was not exploity, just weird
* Fixed being able to put two (or more) queens in the same apiary
* Fixed some runtimes from hydro code assuming a plant gene exists
* Fixed runtime when you use a honeycomb in your hand
* It now takes and uses 5u of a reagent to give a bee that reagent
* Removed unused icon file
* Plant Health gained per pollination is now half the bees health (down from all the bees health, which was only 10 max anyway)
* Pests are now only reduced in 33% of pollinations (33% chance to reduce pests, down from 100%)
* Yieldmod is now only increased 5% of the time (down from 100%)
* Yieldmod is now a new variable, innate_yieldmod on plants, this is so having bees and THEN using chemicals on the plants doesn't magically undo the bee's work, it is added onto the yield mod of the tray.
* To make up for the above, there is now a 50% chance per pollination (up from 0%) for the potency (how many reagents the plant gets) to go up by 1, this isn't much, but 50% of the time adds up
Beeboxes have honey_frames which determine the amount of honeycomb+bees they can maintain.
Bees now have a beegent (Bee reagent, geddit?) that they use during their attacks AND that their produced honeycomb contains, this allows you to farm chemicals using bees.