Kali¶
Assumptions¶
It is assumed that there is a Beetle in the enemy party alongside this enemey. For the most part, everything this enemy does is related to Beetle so they are meant to be fought together. If multiple Beetle exists, the first occurence will be addressed.
It is also assumed that this enemy has an eventondeath set to the proper EventDialogue because this EventDialogue will allow Beetle to die with this enemy.
data usage¶
At the start of the action, if data is null or empty, it's initialised to be 1 element with a starting value of 0.
data[0]: This remains at 0 until the first time that the Beetle revive move is used where it is set to 1. When it is 1, the SetText call portion of the move at the start will not be used so it essentially enforces that it only happens once per battle, but the revival will still occur no matter what when the move is used
Move selection¶
5 moves are possible:
- Heals 5
hpto Beetle - Inflicts the DefenseUp condition to Beetle
- Inflicts the AttackUp condition to Beetle
- Sets Beetle's
chargeto 2 - Revives Beetle leaving them with 33.5% floored of their
hp
Move 5 is always used (and only used) when this is the last enemydata left and reservedata is not empty.
Move 1 through 4's usage all requires that Beetle is present in the enemy party (this should be guaranteed since if they weren't, they would normally be revived by move 5). If he is present, the move usage decision is done based on the following odds:
| Move | Odds |
|---|---|
| 1 | 1/6 |
| 2 | 2/6 |
| 3 | 2/6 |
| 4 | 1/6 |
However, move 1 will not be used if Beetle's HPPercent is 0.9 or higher. If the move is selected and fails this requirement, move 2 is used instead
Move 1 - Heals Beetle¶
Heals 5 hp to Beetle. No damages are dealt
Logic sequence¶
- The enemy party member of
Beetleis obtained Magicsound plays- animstate set to 100
- Yield for a second
- Heal called to heal
Beetlefor 5 of itshp - Yield for a second
- animstate set to 0 (
Idle) flipset to false
Move 2 - Inflicts DefenseUp to Beetle¶
Inflicts the DefenseUp condition to Beetle for 2 main turns (effectively 1 main turns since the current main turn advances soon enough). No damages are dealt.
Logic sequence¶
- The enemy party member of
Beetleis obtained Magicsound plays- animstate set to 100
- Yield for a second
StatUpsound plays- SetCondition called to inflict the DefenseUp condition on
Beetlefor 2 main turns (effectively 1 main turns since the current main turn advances soon enough) - StatEffect called on
Beetlewith type 1 (blue up arrow) - Yield for a second
- animstate set to 0 (
Idle) flipset to false
Move 3 - Inflicts AttackUp to Beetle¶
Inflicts the AttackUp condition to Beetle for 2 main turns (effectively 1 main turns since the current main turn advances soon enough). No damages are dealt.
Logic sequence¶
- The enemy party member of
Beetleis obtained Magicsound plays- animstate set to 101
- Yield for a second
StatUpsound plays- SetCondition called to inflict the AttackUp condition on
Beetlefor 2 main turns (effectively 1 main turns since the current main turn advances soon enough) - StatEffect called on
Beetlewith type 0 (red up arrow) - Yield for a second
- animstate set to 0 (
Idle) flipset to false
Move 4 - Sets Beetle's charge to 2¶
Sets Beetle's charge to 2. No damages are dealt.
Logic sequence¶
- The enemy party member of
Beetleis obtained Magicsound plays- animstate set to 101
- Yield for a second
StatUpsound playsBeetle'schargeis set to 2- StatEffect called on
Beetlewith type 4 (green up arrow) - Yield for a second
- animstate set to 0 (
Idle) flipset to false
Move 5 - Revives Beetle¶
Revives Beetle leaving them with 33.5% floored of their hp. No damages are dealt.
Logic sequence¶
- If
data[0]is 0 (this portion of the move wasn't done before in the battle):- Yield for 0.5 seconds
data[0]is set to 1- SetText is called in dialogue with the following:
- text:
commondialogue[159] - fonttype: 0 (
BubblegumSans) - linebreak:
messagebreak - tridimensional: false
- position: Vector3.zero
- size: Vector3.one
- parent: This enemy
- caller: null
- text:
- Yield all frames until the message lock is released
- Yield for 0.5 seconds
- animstate set to 102
- Yield for 0.66 seconds
HealBreathsound playsHealSmokeparticles plays at this enemy position + (-1.0, 1.5, -0.1) with an alivetime of 5.0- Yield for 0.5 seconds
- The first
reservedatais obtained which should always beBeetle - Yield all frames until
Beetle'sdeathroutineis null (meaning it completed as it is possible it isn't fully done) Beetlehas ShakeSprite called on them with intensity of 0.1 and frametimer of 30.0- Yield for 0.5 seconds
Beetlehas Jump called on them- ReviveEnemy called to revive reserveid 0 (should be
Beetle) with an hppercent of 0.335 without canmove - Yield for a frame
- ShowDamageCounter called to show an amount of 1
hpstarting atBeetleposition + 1.0 in y and ending atBeetleposition + 2.0 in y. NOTE: While it shows 1, the real amount healed is percentage based and it is possible that 33.5% floored is higher than 1 Healsound plays- Yield all frames until
Beetleisonground Beetle'sexpis set to 0 (avoids gaining double theexpby killing them again)Beetleanimstate set to 13 (BattleIdle)- Yield for 0.5 seconds