Freeze¶
A stopping condition that encases the actor in a block of ice. Most attacks will remove this condition and thaw out the ice, but with a +1 damage to the attack. It also allows the target to process a FrostBite
medal when attacked.
Resistance¶
This condition has a dedicated resistance field for actors to use: freezeres
. 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 FreezeRes
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¶
Here are the potential increases for the resistance associated (only applies to enemy party members):
- On StartBattle:
- If the calledfrom.entity or the battleentity is
inice
while it's aKrawler
orCursedSkull
enemy, the enemy party member'sfreezeres
is increased by 70 - If battleentity.
forcefire
or we are in theGiantLair
area except for theGiantLairFridgeInside
map while the enemy is aKrawler
,CursedSkull
orCape
, the enemy party member'sfreezeres
is set to 110 making them immune (this override the clause above if it applied)
- If the calledfrom.entity or the battleentity is
- On CalculateBaseDamage when sucessfully inflicting this condition when property is
Freeze
(mutually exclusive, only the first that applies):- If the corresponding endata of the target's
hasiceanim
is true and we are either at theGiantLairFridgeInside
map or in any maps outside of theGiantLair
area, target.freezeres
is increased by 70 - Otherwise, if target.
frozenlastturn
is true, target.freezeres
is increased by 25 - Otherwise, target.
freezeres
is increased by 13. The increase is 18 instead if HardMode returns true
- If the corresponding endata of the target's
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.
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.
CalculateBaseDamage¶
This condition may be inflicted if the property is Freeze
. 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 also implicates entire logic related to it unless the NoIceBreak
override is present. Check the CalculateBaseDamage documentation to learn more, but in summary:
- Special calculation logic when the target has the
FrostBite
medal - A +1 damage when
FrostBite
didn't apply followed by the removal of this condition alongside some other ice thawing logic
There is also special logic to remove this condition to the target in enemy to player flow when there's no NoIceBreak
override. However, this logic is incorrect for enemy party members because it sets their cantmove
to 0. If they have a moves higher than 1, they will loose all but 1 actor turn they should have available. The correct logic is the same than what AdvanceTurnEntity does which is setting cantmove
to -moves
+ 1.
EndPlayerTurn¶
All enemy party members who still have this condition on EndPlayerTurn without actimmobile will have their cantmove
set to 1. NOTE: It means removing the condition on the same main turn it was inflicted may leave the cantmove
at 1 even if the enemy party member should have been able to act during their phase.
AdvanceTurnEntity¶
When the condition is processed (when hp
is above 0):
- The
Freeze
sound is played on the battleentity at 1.5 pitch - battleentity.
shakeice
is set to true - 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 turn counter still hasn't reached 0:
frozenlastturn
is set to true which affects CalculateBaseDamage if property isFreeze
since it will increase target.freezeres
by 25 instead of 13 (18 when HardMode returns true). NOTE: while theFrigidCoffin
skill inflicts this condition outside of the damage pipeline, it still explicitly follow this logic and is therefore affected the same way- 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 thecantmove
at 1 even if the enemy party member should have been able to act during their phase
- Otherwise (the condition just expired)
frozenlastturn
is set to false- BreakIce is called on the actor's battleentity if its
icecube
exists - The actor's
cantmove
is set to 1 (this will become 0 if theirhp
is above 0 since turn advancement has yet to happen)
RemoveCondition¶
Removing this condition via this method will have BreakIce called on the entity if it exists (not the battleentity).
HealConditions¶
This condition is supported by this method and it will be removed when called.
ClearStatus¶
When this method is called while the actor has this condition, BreakIce is called on the battleentity.
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
).
AddExperience¶
All player party members who still had this condition when AddExperience occurs will have BreakIce called on their battleentity.
GetEnemySize¶
This condition causes this method to return the enemy party member's sizeonfreeze if it is above 0.1 instead of its size
. This can affect the following skills and player party members' attacks where the attacker will move to a slightly different position towards the target during the action:
firststrike
action (when the animid isBeetle
)Beetle
's basic attack (when the animid isBeetle
)HeavyStrike
NeedlePincer
Drop¶
The entity will drop to 0.0 instead of its minheight
when it has this condition.