SPLURT Station 13 - Modules - TypesVar Details - Proc Details

block_parry_data

Carries data like list data that would be a waste of memory if we initialized the list on every /item as we can cache datums easier.

Vars

autoparry_cooldown_absoluteHard autoparry cooldown
autoparry_mouse_delay_maximumADVANCED - Autoparry requirement for time since last moused over for a specific object
autoparry_sequence_simulationAutoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?
autoparry_sequence_start_timeDecisecond of sequence to start on. -1 to start to 0th tick of active parry window.
autoparry_single_efficiencySingle attack autoparry - efficiency
autoparry_single_efficiency_overrideSingle attack autoparry - efficiency overrides by attack type, see above
block_active_priorityThe priority we get in mob/do_run_block() while we're being used to parry.
block_automatic_directionsDirections that you can autoblock in. Null to default to normal directions.
block_automatic_enabledCan this item automatically block?
block_automatic_mitigation_multiplierEffectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!
block_automatic_stamina_multiplierStamina cost multiplier for automated block
block_damage_absorptionAmount of "free" damage blocking absorbs
block_damage_absorption_overrideOverride absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]
block_damage_limitUpper bound of damage block, anything above this will go right through.
block_damage_limit_overrideOverride upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]
block_damage_multiplierRatio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.
block_damage_multiplier_overrideOverride damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]
block_end_click_cd_addClickdelay added to user after block ends
block_lock_attackingDisallow attacking during block
block_lock_sprintingDisallow sprinting during block
block_no_stambuffer_regenerationPrevent stamina buffer regeneration while block?
block_no_stamina_regenerationPrevent stamina regeneration while block?
block_projectile_mitigationThe blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.
block_resting_attack_types_anydirBitfield for attack types that we can block while down. This will work in any direction.
block_resting_attack_types_directionalBitfield for attack types that we can block while down but only in our normal directions.
block_resting_stamina_penalty_multiplierMultiplier to stamina damage taken for attacks blocked while downed.
block_resting_stamina_penalty_multiplier_overrideOverride list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)
block_slowdownOur slowdown added while blocking
block_soundsSounds for blocking
block_stamina_buffer_ratioRatio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.
block_stamina_cost_per_secondStamina dealt directly via UseStaminaBuffer() per SECOND of block.
block_stamina_efficiencyDefault damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".
block_stamina_efficiency_overrideOverride damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)
block_stamina_limb_ratioRatio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.
block_start_delayWindup before we have our blocking active.
can_block_attack_typesAttacks we can block
can_block_directions//////// BLOCKING //////////// NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! See defines. Point of reference is someone facing north.
parry_allow_repeated_counterattacksAllow multiple counterattacks per parry sequence. Bad idea.
parry_attack_typesAttack types we can block
parry_automatic_enabledCan this data automatically parry? This is off by default because this is something that requires thought to balance.
parry_cooldownParrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.
parry_dataParry effect data.
parry_effect_icon_stateVisual icon state override for parrying
parry_efficiency_considered_successfulEfficiency must be at least this to be considered successful
parry_efficiency_perfectEfficiency in percent on perfect parry.
parry_efficiency_perfect_overrideOverride for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.
parry_efficiency_to_counterattackEfficiency must be at least this to run automatic counterattack
parry_failed_clickcd_durationClickdelay duration post-parry if you fail to parry an attack
parry_failed_cooldown_durationParry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!
parry_failed_stagger_durationStagger duration post-parry if you fail to parry an attack
parry_flagsParry flags
parry_imperfect_falloff_percentParry "efficiency" falloff in percent per decisecond once perfect window is over.
parry_imperfect_falloff_percent_override[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_max_attacksMaximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.
parry_respect_clickdelay//////// PARRYING //////////// Priority for mob/do_run_block() while we're being used to parry. Parry doesn't work if you aren't able to otherwise attack due to clickdelay
parry_soundsSounds for parrying
parry_stamina_costParry stamina cost
parry_start_soundParry start sound
parry_time_activeMain parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]
parry_time_active_visual_overrideIf set, overrides visual duration of active period
parry_time_perfectPerfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.
parry_time_perfect_leewayTime on both sides of perfect parry that still counts as part of the perfect window.
parry_time_perfect_leeway_override[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)
parry_time_spindownParry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.
parry_time_spindown_visual_overrideIf set, overrides visual duration of spindown
parry_time_windupParry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.
parry_time_windup_visual_overrideIf set, overrides visual duration of windup
perfect_parry_block_return_flagsFlags added to return value
perfect_parry_block_return_listList appended to block return

Procs

attack_type_list_scanQuirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.
get_parry_efficiencyGets the percentage efficiency of our parry.
render_html_readoutGenerates a HTML render of this datum for self-documentation Maybe make this tgui-next someday haha god this is ugly as sin. Does NOT include the popout or title or anything. Just the variables and explanations..

Var Details

autoparry_cooldown_absolute

Hard autoparry cooldown

autoparry_mouse_delay_maximum

ADVANCED - Autoparry requirement for time since last moused over for a specific object

autoparry_sequence_simulation

Autoparry : Simulate a parry sequence starting at a certain tick, or simply simulate a single attack parry?

autoparry_sequence_start_time

Decisecond of sequence to start on. -1 to start to 0th tick of active parry window.

autoparry_single_efficiency

Single attack autoparry - efficiency

autoparry_single_efficiency_override

Single attack autoparry - efficiency overrides by attack type, see above

block_active_priority

The priority we get in mob/do_run_block() while we're being used to parry.

block_automatic_directions

Directions that you can autoblock in. Null to default to normal directions.

block_automatic_enabled

Can this item automatically block?

block_automatic_mitigation_multiplier

Effectiveness multiplier for automated block. Only applies to efficiency, absorption and limits stay the same!

block_automatic_stamina_multiplier

Stamina cost multiplier for automated block

block_damage_absorption

Amount of "free" damage blocking absorbs

block_damage_absorption_override

Override absorption, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_absorption]

block_damage_limit

Upper bound of damage block, anything above this will go right through.

block_damage_limit_override

Override upper bound of damage block, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_limit]

block_damage_multiplier

Ratio of damage to allow through above absorption and below limit. Multiplied by damage to determine how much to let through. Lower is better.

block_damage_multiplier_override

Override damage overrun efficiency, list("[ATTACK_TYPE_DEFINE]" = absorption), see [block_damage_efficiency]

block_end_click_cd_add

Clickdelay added to user after block ends

block_lock_attacking

Disallow attacking during block

block_lock_sprinting

Disallow sprinting during block

block_no_stambuffer_regeneration

Prevent stamina buffer regeneration while block?

block_no_stamina_regeneration

Prevent stamina regeneration while block?

block_projectile_mitigation

The blocked variable of on_hit() on projectiles is impacted by this. Higher is better, 0 to 100, percentage.

block_resting_attack_types_anydir

Bitfield for attack types that we can block while down. This will work in any direction.

block_resting_attack_types_directional

Bitfield for attack types that we can block while down but only in our normal directions.

block_resting_stamina_penalty_multiplier

Multiplier to stamina damage taken for attacks blocked while downed.

block_resting_stamina_penalty_multiplier_override

Override list for multiplier to stamina damage taken for attacks blocked while down. list("[ATTACK_TYPE_DEFINE]" = multiplier_number)

block_slowdown

Our slowdown added while blocking

block_sounds

Sounds for blocking

block_stamina_buffer_ratio

Ratio of stamina incurred by chest (so after [block_stamina_limb_ratio] runs) that is buffered.

block_stamina_cost_per_second

Stamina dealt directly via UseStaminaBuffer() per SECOND of block.

block_stamina_efficiency

Default damage-to-stamina coefficient, higher is better. This is based on amount of damage BLOCKED, not initial damage, to prevent damage from "double dipping".

block_stamina_efficiency_override

Override damage-to-stamina coefficient, see [block_efficiency], this should be list("[ATTACK_TYPE_DEFINE]" = coefficient_number)

block_stamina_limb_ratio

Ratio of stamina incurred by blocking that goes to the arm holding the object instead of the chest. Has no effect if this is not held in hand.

block_start_delay

Windup before we have our blocking active.

can_block_attack_types

Attacks we can block

can_block_directions

//////// BLOCKING //////////// NOTE: FOR ATTACK_TYPE_DEFINE, you MUST wrap it in "[DEFINE_HERE]"! The defines are bitflags, and therefore, NUMBERS! See defines. Point of reference is someone facing north.

parry_allow_repeated_counterattacks

Allow multiple counterattacks per parry sequence. Bad idea.

parry_attack_types

Attack types we can block

parry_automatic_enabled

Can this data automatically parry? This is off by default because this is something that requires thought to balance.

parry_cooldown

Parrying cooldown, separate of clickdelay. It must be this much deciseconds since their last parry for them to parry with this object.

parry_data

Parry effect data.

parry_effect_icon_state

Visual icon state override for parrying

parry_efficiency_considered_successful

Efficiency must be at least this to be considered successful

parry_efficiency_perfect

Efficiency in percent on perfect parry.

parry_efficiency_perfect_override

Override for attack types, list("[ATTACK_TYPE_DEFINE]" = perecntage) for perfect efficiency.

parry_efficiency_to_counterattack

Efficiency must be at least this to run automatic counterattack

parry_failed_clickcd_duration

Clickdelay duration post-parry if you fail to parry an attack

parry_failed_cooldown_duration

Parry cooldown post-parry if failed. This is ADDED to parry_cooldown!!!

parry_failed_stagger_duration

Stagger duration post-parry if you fail to parry an attack

parry_flags

Parry flags

parry_imperfect_falloff_percent

Parry "efficiency" falloff in percent per decisecond once perfect window is over.

parry_imperfect_falloff_percent_override

[parry_imperfect_falloff_percent] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_max_attacks

Maximum attacks to parry successfully or unsuccessfully (but not efficiency < 0) during active period, hitting this immediately ends the sequence.

parry_respect_clickdelay

//////// PARRYING //////////// Priority for mob/do_run_block() while we're being used to parry. Parry doesn't work if you aren't able to otherwise attack due to clickdelay

parry_sounds

Sounds for parrying

parry_stamina_cost

Parry stamina cost

parry_start_sound

Parry start sound

parry_time_active

Main parry window in deciseconds. This is between [parry_time_windup] and [parry_time_spindown]

parry_time_active_visual_override

If set, overrides visual duration of active period

parry_time_perfect

Perfect parry window in deciseconds from the start of the main window. 3 with main 5 = perfect on third decisecond of main window.

parry_time_perfect_leeway

Time on both sides of perfect parry that still counts as part of the perfect window.

parry_time_perfect_leeway_override

[parry_time_perfect_leeway] override for attack types, list("[ATTACK_TYPE_DEFINE]" = deciseconds)

parry_time_spindown

Parry spindown duration in deciseconds. main stage end to this is the spindown stage, afterwards the parry fully ends.

parry_time_spindown_visual_override

If set, overrides visual duration of spindown

parry_time_windup

Parry windup duration in deciseconds. 0 to this is windup, afterwards is main stage.

parry_time_windup_visual_override

If set, overrides visual duration of windup

perfect_parry_block_return_flags

Flags added to return value

perfect_parry_block_return_list

List appended to block return

Proc Details

attack_type_list_scan

Quirky proc to get average of flags in list that are in attack_type because why is attack_type a flag.

get_parry_efficiency

Gets the percentage efficiency of our parry.

Returns a percentage in normal 0 to 100 scale, but not clamped to just 0 to 100. This is a proc to allow for overriding. @params

render_html_readout

Generates a HTML render of this datum for self-documentation Maybe make this tgui-next someday haha god this is ugly as sin. Does NOT include the popout or title or anything. Just the variables and explanations..