/datum/component/wearertargeting/energy_shield
Vars | |
active | are we turned on 😳 |
---|---|
bleedthrough | do we bleed through on break? |
power_drain | how much power do we draw every process cycle |
shield_efficiency | efficiency of the shield, as a coefficient to damage blocked - i.e.: shield strength of 0.5, efficiency of 1.5, blocking a 100 damage attack, would cost 75 power (100 * 0.5 * 1.5). |
shield_strength | what percent of damage should be blocked by the shield |
typeinfo_type | Personal energy shield component |
Var Details
active
are we turned on 😳
bleedthrough
do we bleed through on break?
power_drain
how much power do we draw every process cycle
shield_efficiency
efficiency of the shield, as a coefficient to damage blocked - i.e.: shield strength of 0.5, efficiency of 1.5, blocking a 100 damage attack, would cost 75 power (100 * 0.5 * 1.5).
shield_strength
what percent of damage should be blocked by the shield
typeinfo_type
Personal energy shield component
Wearer-targeting? Add ability button to item to toggle component Uses power cell in the item - automatically create a cell_holder component if one does not exist?
How it blocks damage: attack code Sends a COMSIG_MOB_SHIELD_ACTIVATE(imcoming_damage, return_list) to the mob, energy shield component drains power cell of parent item if possible Addnl: Send a RETURNED_LIST, in the case of a partial block Proc sending the signal decides how to handle the damage Bleedthrough? On all hits, or only on shield-break? Determined by initialization var
Req hooking into a process scheduler for passive power drain
TODO: better sfx TODO: better text feedback? TODO: not copy-pasted vfx TODO: Have efficiency coefficients for different damage types defined on the component? TODO: support for granting mob properties? Consider subtype for CE shield - low efficiency but strong environmental resists