Fixes blind AI (lack of power) staying blind if transfered to a mech or a card.
Fixes magboots action button icon not updating when toggling the boots on.
Fixes Area teleport spells not having a cancel button when choosing the destination area.
Fixes spell action button not being removed when the spell is refunded.
Fixes revenant spell action button icons not being updated when the revenant is inhibited by a null rod.
The "set internals" button of tank items now turn green when it's used as internals.
Removed research scanner from drones (since cyborgs don't have it, it's more consistent)
Removed the ignore_madkadjust mask var.
The sechailer mask now has an adjust mask action button, so I removed the adjust verb that it was using.
The item's action are now created on item/New() instead of trying to create it every time someone picks the item up.
I split hud/action.dm, the datum/action stuff is now in the datum folder (/datum/action.dm), whereas the code for action buttons is kept in the hud folder under action_button.dm. Also I moved some /datum/action code that was in some files back into datum/action.dm where it belongs.
The action buttons now update their icon instantly.
Fixes versions of pickup(),equipped() and dropped not calling the parent.
Fixes drone not being able to remove a defib from their storage.
You can now cycle the mime mask by clicking it in your hand.
The action buttons for hardsuit and hooded suits now only appears when you're wearing the suit.
Created two mob helper procs getBeltSlot() and getBackSlot().
Created /datum/species/proc/on_species_loss() to handle stuff when our race change, currently only used by jelly and slime race to remove their exotic blood from our reagents and to remove slime people's action buttons.
The current code for runes is god-awful. Like, seriously terrible. This PR aims to fix that. Rather than having every rune effect defined in a single attack_hand proc, this PR will separate the runes into subtypes, which supports for more modular runes as well as cleans up the code.
It also separates invocation into a two different procs. The first of these will determine if the rune can be invoked; if that passes, the second will cause the rune's effects. There is also a third proc that will cause effects if the rune fails to invoke.
Research words have been removed, and all runes are now available from the start of the round. This is highly subject to change once some feedback is in from actual cult rounds.
Miscellaneous tweaks:
Blood boil runes now explode when used
Convert runes can now work solo, but take time
Armor runes now only provide the basic armor set
Tomes now do a static 15 burn damage and play a sound
If the Escape objective is rolled, the amount of people that must escape will scale with the round population to a factor of 5 (i.e. 50 players = 10 cultists)
- Fixes the lack of handcuff icon on the hand screen object for alien humanoids..
- fix legcuff overlay not showing on monkey.
- fixes fire overlay for monkey, aliens and cyborg, no longer looks human shaped.
- Made the regenerate_icons's subprocs at the carbon level more OOP.
At some point someone changed the armor system to always block, which I
understand, because RNG is annoying, but they didn't lower the armor
values to compensate.
Right now a basic security officer blocks 50% of all melee damage. It
would take 7 hits from an esword/punches from a Juggernaut to reliably
down an officer, and just a single stun baton to down a guy with an
esword.
It takes 20 hits from an inactive baton to crit a basic officer, 8 hits
from an arblade, etc.
In short, melee is completely awful as soon as someone throws on a basic
vest. It makes melee weapons impossible to balance because even if
they're strong enough to crit a random med doctor in 4 hits they're limp
noodles vs a helmet. We can't move away from "I stun you lose" combat if
stun weapons are 8-20 times as effective as anything else.
I lowered the values around half for melee and tweaked laser resist a
bit as well (again, it shouldn't take 10 lasers to down someone vs their
one taser). I'm not overly attached to these values, nor are they
particularly deeply thought about, I just wanted to get a conversation
on git started where everyone would see it.