Skip to content

Numb

A stopping condition that gives the actor a point of defense (with caveats, see CalculateBaseDamage documentation for details). It also allows the target to process a ShockTrooper medal which can bypass damage calculation.

About isnumb

This condition feature a field that tells if it's present or not called isnumb. However, it's redundant: a HasCondition call gives the same information. It is nonetheless used in very specific edgecases instead of calling this method. The field is frequently updated to match the presence of the condition so in practice, this field can be ignored and treated as if a HasCondition returns above 0.

It is mentioned here because it remains important to make sure this field is updated if the condition's presence changes.

Resistance

This condition has a dedicated resistance field for actors to use: numbres. If it's 100 or above, the actor is immune to it. Inflictions that requires a resistance check will use this field.

Resistance increases for player party members

For player party member, the resistance can only be increased by processing the NumbRes BadgeEffects with the value acting as the amount to increase it by. This only matters for enemy inflicting the player party member, it does not matter for user infliction using items.

Resistance increases for enemy party members

For player party member target when property is Numb or Numb1Turn and when successfully inflicting this condition, CalculateBaseDamage, target.numbres is increased by 17. The increase is 22 instead if HardMode returns true

IsStopped

This condition is considered a stop condition and will always make this method returns true (unless skipimmobile is false while the actor'a actimmobile is true). This include the lite version used in the enemy phase. Being stopped makes the actor unable to act regardless of their cantmove as well as a bunch of feature they no longer get access to.

GetFreePlayerAmmount

This condition makes a player party member not count as free. This affects many logic such as knowing if a player can act.

SetCondition

When amending the condition:

  • If the actor is an enemy party member, isdefending is set to false and the infliction overwrites the turn counter to the new one (meaning it won't stack)
  • If the actor is a player party member, the infliction overwrites the turn counter if the new one is higher (meaning it won't stack, it can just reset it to a higher amount). An exception to this is when using an item that inflicted it which makes it stack

When inflicted as a new condition, if the actor is an enemy party member, its isdefending is set to false.

Any method call updates isnumb accordingly.

AddDelayedCondition

This condition supports delayed infliction via AddDelayedCondition. Check its documentation to learn more.

StatusEffect

This condition is supported by this method and it might be inflicted to the actor when called.

GetChoiceInput (Relay -> SelectPlayer)

This condition will deny the confirmation of a player party member when selecting who to relay to when handling the Relay choice for a SelectPlayer action.

DoDamage

This condition overrides block to be false meaning blocking is always denied for a player party member with this condition.

This condition allows a target with a ShockTrooper medal to be considered Invulnerable and bypass damage calculation completely. In such case, the damage ammount is overriden to 0 unless property is NoExceptions where it's overriden by the original damageammount sent to the method.

CalculateBaseDamage

This condition may be inflicted if the property is Numb or Numb1Turn (it's the same as Numb, but it always inflict for 1 turn). This means it's also supported by the StatusMirror medal.

This condition prevents toppling on enemy party members with a ToppleFirst or ToppleAirOnly AttackProperty in their weakness.

This condition gives a point of defense recognised by TrueDef and will result in a -1 damage. NOTE: this has several caveats, check CalculateBaseDamage's documentation to learn more.

AdvanceTurnEntity

When the condition is processed (when hp is above 0):

  • The ElecFast particles are played at the battleentity position + Vector3.up
  • A ShakeSprite coroutine is started on the battleentity with the intensity being (0.1, 0.15, 0.0) for 40.0 frames
  • The Shock sound is played on the battleentity at 1.25 pitch
  • A yield of 0.75 seconds is set to happen after the method is done
  • The turn counter of the condition is decremented
  • If the condition just expired, the actor's cantmove is set to 1 (this will become 0 if their hp is above 0 since turn advancement has yet to happen)
  • isnumb is updated accordingly with the new status of the condition and if it's still true, the cantmove of the actor is set to 1 if it's an enemy party members and to 0 if it's a player party members. NOTE: It means removing the condition for enemy party members may leave the cantmove at 1 even if the enemy party member should have been able to act during their phase

RemoveCondition

Removing this condition via this method will have the actor's isnumb set to false.

HealConditions

This condition is supported by this method and it will be removed when called on top of setting the actor's isnumb to false.

GetBlock

For all alive (hp above 0 and not dead) player party members with this condition and whose battleentity.overrideanim is false, their battleentity.animstate is set to 11 (Hurt).

UpdateAnim

For all alive (hp above 0) player party members with this condition and whose battleentity.overrideanim is false, their battleentity.animstate is set to 11 (Hurt).

EntityControl.LateUpdate

For any battle entities that isn't dead or iskill while not in a terminal flow, Numb is called if isnumb is true which plays the periodic numbing visual effects.