Skip to content

Commit

Permalink
Adds correction about the first main turn for HoloVi and HoloKabbu
Browse files Browse the repository at this point in the history
  • Loading branch information
aldelaro5 committed Dec 9, 2024
1 parent 9f81c75 commit e48890a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/Battle system/Enemy actions/Enemies/HoloKabbu.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ At the start of the action, if `data` is null or empty, it's initialised to be 5
9. Simulate a turn relay by decrementing the `cantmove` of [HoloVi](HoloVi.md) or [HoloLeif](HoloLeif.md) which grants them an additional actor turn on this main turn
10. A single target underground strike

Move 1 is always used if `turns` is 0 (the first main turn).
Move 5 is always used if `turns` is 0 (the first main turn).

Otherwise, the decision of which move to use is based on the weigthed odds. However, these weighted odds have 3 possible distribution sets which will be numbered as follows (the first one that applies is used):

Expand Down
6 changes: 3 additions & 3 deletions docs/Battle system/Enemy actions/Enemies/HoloVi.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ The following all happens in the HoloVi coroutine:
8. Gets 3 `charge` while loosing 3 `hp`
9. A single target multiple hits needles attack that may inflict the [Numb](../../Actors%20states/BattleCondition/Numb.md), [Poison](../../Actors%20states/BattleCondition/Poison.md) or [Sleep](../../Actors%20states/BattleCondition/Sleep.md) condition

Move 5 is always used if `turns` is 0 (the first main turn) and it will always relay to [HoloKabbu](HoloKabbu.md) instead being determined randomly. However, if this target doesn't meet the requirements outlined in the table below, the move selection process reverts to the normal procedure described below and this first attempt is counted as a failure.
Move 5 is always used if `turns` is 0 (the first main turn) and it will always relay to [HoloLeif](HoloLeif.md) instead being determined randomly. However, if this target doesn't meet the requirements outlined in the table below, the move selection process reverts to the normal procedure described below and this first attempt is counted as a failure.

Otherwise, the decision of which move to use is based on weigthed odds. However, these weighted odds have 3 possible distribution sets which will be numbered as follows (the first one that applies is used):

Expand All @@ -71,7 +71,7 @@ Here are the odds for all distributions sets, their usage requirements and the s
|2|4/91|8/56|0/13|<ul><li>`data[0]` is less than 5 (move 2, 3 and 4 weren't used 5 times or more)</li><li>`data[1]` is 0 or less (move 2, 3 and 4 weren't used on the last 2 actor turns of this enemy)</li><li>`reservedata` isn't empty (there is someone available to be revived)</li></ul>|
|3|4/91|8/56|0/13|<ul><li>`data[0]` is less than 5 (move 2, 3 and 4 weren't used 5 times or more)</li><li>`data[1]` is 0 or less (move 2, 3 and 4 weren't used on the last 2 actor turns of this enemy)</li><li>This enemy doesn't have the [AttackUp](../../Actors%20states/BattleCondition/AttackUp.md) condition</li></ul>|
|4|6/91|12/56|0/13|<ul><li>`data[0]` is less than 5 (move 2, 3 and 4 weren't used 5 times or more)</li><li>`data[1]` is 0 or less (move 2, 3 and 4 weren't used on the last 2 actor turns of this enemy)</li><li>The average [HPPercent](../../Actors%20states/HPPercent.md) of all `enemydata` including this enemy is 0.8 or less</li></ul>|
|5|7/91|0/56|0/13|<ul><li>`data[2]` is 0 or less (this move wasn't used in the last 2 actor turns and [HoloKabbu](HoloKabbu.md) hasn't used their turn relay simulation move on this main turn)</li><li>The target of the relay is present and not IsStoppedLite (same as [IsStopped](../../Actors%20states/IsStopped.md), but [Flipped](../../Actors%20states/BattleCondition/Flipped.md) doesn't count as stopped). The target is determined randomly between [HoloKabbu](HoloKabbu.md) and [HoloLeif](HoloLeif.md) with 50/50 odds. NOTE: As explained above, there's an exception where `turns` is 0 (first main turn) where the target is always [HoloKabbu](HoloKabbu.md), but it's still possible that they don't meet these requirements which would cause a reroll like any other main turn</li></ul>|
|5|7/91|0/56|0/13|<ul><li>`data[2]` is 0 or less (this move wasn't used in the last 2 actor turns and [HoloKabbu](HoloKabbu.md) hasn't used their turn relay simulation move on this main turn)</li><li>The target of the relay is present and not IsStoppedLite (same as [IsStopped](../../Actors%20states/IsStopped.md), but [Flipped](../../Actors%20states/BattleCondition/Flipped.md) doesn't count as stopped). The target is determined randomly between [HoloKabbu](HoloKabbu.md) and [HoloLeif](HoloLeif.md) with 50/50 odds. NOTE: As explained above, there's an exception where `turns` is 0 (first main turn) where the target is always [HoloLeif](HoloLeif.md), but it's still possible that they don't meet these requirements which would cause a reroll like any other main turn</li></ul>|
|6|21/91|7/56|2/13|None, the move is always used when selected|
|7|14/91|0/56|7/13|None, the move is always used when selected|
|8|7/91|7/56|1/13|<ul><li>This enemy `hp` is 10 or more</li><li>This enemy has no `charge`</li></ul>|
Expand Down Expand Up @@ -197,7 +197,7 @@ Simulate a turn relay by decrementing the `cantmove` of [HoloKabbu](HoloKabbu.md
This move always sets `dontusecharge` to true which means `charges` will not get zeroed out in [post action](../../Battle%20flow/Action%20coroutines/DoAction.md#post-action).

### Logic sequence
The target is selected randomly between [HoloKabbu](HoloKabbu.md) and [HoloLeif](HoloLeif.md) unless `turns` is 0 (first main turn) where [HoloKabbu](HoloKabbu.md) is always selected. As explained in the move selection above, the target must be present and not be IsStoppedLite (same as [IsStopped](../../Actors%20states/IsStopped.md), but [Flipped](../../Actors%20states/BattleCondition/Flipped.md) doesn't count as stopped). This will assume this is the case:
The target is selected randomly between [HoloKabbu](HoloKabbu.md) and [HoloLeif](HoloLeif.md) unless `turns` is 0 (first main turn) where [HoloLeif](HoloLeif.md) is always selected. As explained in the move selection above, the target must be present and not be IsStoppedLite (same as [IsStopped](../../Actors%20states/IsStopped.md), but [Flipped](../../Actors%20states/BattleCondition/Flipped.md) doesn't count as stopped). This will assume this is the case:

- Yield return on EnemyRelay with the battleentity to the target:
- `dontusecharge` set to true
Expand Down

0 comments on commit e48890a

Please sign in to comment.