Adds a fairly simple system that allows adjusting various numbers like max health, incoming damage, outgoing melee damage, etc. The nice part is that changing certain variables this way (like max health) is a lot safer than manually setting the max health var directly.
Changes a lot of short lines of code to point towards a variable's getter or setter helper instead of reading the var directly so the modifiers can work.
Endoarmor, delayed toxin sting, Enfeebling sting, and recursive adrenaline overdose now use the modifier system.
Enfeebling sting now only lasts two minutes, from five minutes, however it now also reduces the victim's melee damage by 25%/50%, and increases the damage they suffer by 10%/35%, for normal and recursive respectively.
Delayed Toxin Sting's effects are now felt all at once instead of over the course of a few minutes.
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
Conflicts:
code/game/objects/items/weapons/clown_items.dm
code/game/objects/items/weapons/material/kitchen.dm
code/game/objects/items/weapons/stunbaton.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/carbon/human/species/xenomorphs/alien_facehugger.dm
code/modules/mob/living/simple_animal/friendly/spiderbot.dm
code/modules/mob/living/simple_animal/simple_animal.dm
Refactors and cleans up item_attack.dm and related mob attack code
Conflicts:
code/_onclick/item_attack.dm
code/game/objects/items.dm
code/modules/mob/living/bot/bot.dm
code/modules/mob/living/carbon/human/human_defense.dm
code/modules/mob/living/living_defense.dm
code/modules/mob/living/simple_animal/simple_animal.dm
Replaced some attack() overrides with apply_hit_effect() or other attack
procs where appropriate.
Removed the attack() override from reagent_containers.
Fixes weirdness with knifing where attempting to knife someone before
`world.time >= (G.last_action + 20)` could be met.
Knifing damage scales with weapon force and an attempted measure of
throat protection.
Knifing switches on harm intent.
Still have: doors, windoors, cameras, windows, grilles, blobs, resisting, alien stuff, mechas, spray bottles.
Setting changeNextMove is now responsibility of the item being attacked.
Adds a config option to eliminate click cooldowns completely. Intended to be used by devs.
Conflicts:
code/game/objects/items/weapons/stunbaton.dm
Made all obj/item/weapons have "swing_hit" as their default hitsound.
Made hitsound not play when the attack misses.
Adds agonyforce var to stun batons, which causes halloss and eye blur.
Also did some clean up of stun batons, and fixed the stun baton's bcell
var being of type weapon/cell/high instead of weapon/cell.