Skip to content

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:

  1. Heals 5 hp to Beetle
  2. Inflicts the DefenseUp condition to Beetle
  3. Inflicts the AttackUp condition to Beetle
  4. Sets Beetle's charge to 2
  5. 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 Beetle is obtained
  • Magic sound plays
  • animstate set to 100
  • Yield for a second
  • Heal called to heal Beetle for 5 of its hp
  • Yield for a second
  • animstate set to 0 (Idle)
  • flip set 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 Beetle is obtained
  • Magic sound plays
  • animstate set to 100
  • Yield for a second
  • StatUp sound plays
  • SetCondition called to inflict the DefenseUp condition on Beetle for 2 main turns (effectively 1 main turns since the current main turn advances soon enough)
  • StatEffect called on Beetle with type 1 (blue up arrow)
  • Yield for a second
  • animstate set to 0 (Idle)
  • flip set 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 Beetle is obtained
  • Magic sound plays
  • animstate set to 101
  • Yield for a second
  • StatUp sound plays
  • SetCondition called to inflict the AttackUp condition on Beetle for 2 main turns (effectively 1 main turns since the current main turn advances soon enough)
  • StatEffect called on Beetle with type 0 (red up arrow)
  • Yield for a second
  • animstate set to 0 (Idle)
  • flip set 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 Beetle is obtained
  • Magic sound plays
  • animstate set to 101
  • Yield for a second
  • StatUp sound plays
  • Beetle's charge is set to 2
  • StatEffect called on Beetle with type 4 (green up arrow)
  • Yield for a second
  • animstate set to 0 (Idle)
  • flip set 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
    • Yield all frames until the message lock is released
    • Yield for 0.5 seconds
  • animstate set to 102
  • Yield for 0.66 seconds
  • HealBreath sound plays
  • HealSmoke particles plays at this enemy position + (-1.0, 1.5, -0.1) with an alivetime of 5.0
  • Yield for 0.5 seconds
  • The first reservedata is obtained which should always be Beetle
  • Yield all frames until Beetle's deathroutine is null (meaning it completed as it is possible it isn't fully done)
  • Beetle has ShakeSprite called on them with intensity of 0.1 and frametimer of 30.0
  • Yield for 0.5 seconds
  • Beetle has 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 hp starting at Beetle position + 1.0 in y and ending at Beetle position + 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
  • Heal sound plays
  • Yield all frames until Beetle is onground
  • Beetle's exp is set to 0 (avoids gaining double the exp by killing them again)
  • Beetle animstate set to 13 (BattleIdle)
  • Yield for 0.5 seconds