Goonstation 13 - Modules - TypesVar Details

/datum/component/wearertargeting/energy_shield

Vars

activeare we turned on 😳
bleedthroughdo we bleed through on break?
power_drainhow much power do we draw every process cycle
shield_efficiencyefficiency 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_strengthwhat percent of damage should be blocked by the shield
typeinfo_typePersonal 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