Bottomswell

The Bottomswell is a boss in Final Fantasy VII. A little girl called Priscilla is attacked by Bottomswell while playing with her dolphin in the lower section of Junon. After the boss's defeat, Cloud must perform CPR to bring Priscilla back to life.

Strategy
Similar to Reno, Bottomswell can imprison characters using Waterball trapping them inside a Waterpolo, but they can be freed by casting a spell on the character. When group-casting spells with All Materia, the spell will target both the Bottomswell and the Waterpolo. The bubbles keep draining the victim's HP as long as they are trapped inside, and if all party members are imprisoned, it is Game Over.

Bottomswell uses a Big Wave attack to inflict mediocre damage on the entire party. Bottomswell is considered to be a long range opponent, so unless the party has a Long Range Materia (one of which is conveniently located in the Mythril Mines prior to Junon) only Barret and Yuffie can attack Bottomswell physically, so the other party members must use magic or Limit Breaks to attack. If players are able to defeat Midgar Zolom prior to exploring the Mythril Mines, its powerful Beta attack inflicts 1,000 or more damage and can thus defeat Bottomswell in three hits. Once Bottomswell is defeated it will cast Big Wave as a final attack.

On lower levels, the player can easily win simply by poisoning Bottomswell. This is because Bottomswell only uses the deadly Waterball after a counterattack after losing a certain amount of its HP.

AI Script
AI: Setup {
 * Turn off Death Handling for Bottomswell
 * TempVar:HitsTilNextStage = 6
 * Bottomswell's Range = 16

} AI: Main {
 * TempVar:AttackAll = 0
 * If (Bottomswell's IdleAnim == 1st Form) Then
 * If (Count == 0 or 1 or 2) Then
 * Choose Random Opponent
 * Use Tail Attack on Target
 * Count = Count + 1
 * } Else {
 * 1/3 Chance:
 * TempVar:AttackAll = 1
 * TempVar:ChosenAtt = Tail Attack
 * }
 * 2/3 Chance:
 * Choose Random Opponent with Highest HP
 * Use  (Low Hit% Version) on Target
 * }
 * Count = 0
 * }
 * } Else If (Bottomswell's IdleAnim == 2nd Form) Then {
 * If (Count == 0) Then {
 * TempVar:AttackAll = 1
 * TempVar:ChosenAtt = Moonstrike
 * Count = 1
 * } Else If (Count == 1) Then {
 * Choose Random Opponent with Highest HP
 * Use  (High Hit% Version) on Target
 * Count = 2
 * } Else If (Count == 2) Then {
 * Choose Random Opponent
 * Use Moonstrike on Target
 * Count = 3
 * } Else {
 * If (Stage < 1) Then
 * Choose Self
 * Use  on Target
 * Bottomswell's IdleAnim = 1st Form
 * Count = 0
 * TempVar:HitsTilNextStage = 6
 * } Else {
 * Choose Random Opponent
 * Use Moonstrike on Target
 * 1/2 Chance: Count = 0
 * 1/2 Chance: Count = 1
 * }
 * }
 * } Else {
 * If (Count == 0) Then {
 * TempVar:Group = Opponents (incl. Dead) with neither Death nor
 * Imprisoned Status
 * If (TempVar:Group has more than one Opponent) Then
 * TempVar:PoloTarget = Choose Random Opponent in TempVar:Group
 * } Else {
 * TempVar:PoloTarget = [2040]
 * }
 * If (TempVar:PoloTarget != [2040]) Then
 * Choose TempVar:PoloTarget
 * Use  on Target
 * Remove Death Status from Waterpolo
 * Activate Waterpolo
 * Waterpolo's HP = Waterpolo's Max HP
 * Waterpolo's Physical Immunity = On
 * }
 * Count = 1
 * } Else If (Count == 1 or 2) Then {
 * Count = Count + 1
 * } Else If (Count == 3) Then {
 * If (Stage < 2) Then
 * Choose Self
 * Use  on Target
 * Bottomswell's IdleAnim = 1st Form
 * Count = 0
 * TempVar:HitsTilNextStage = 6
 * } Else {
 * Choose All Opponents
 * Use Big Wave on Target
 * Count = 4
 * }
 * } Else {
 * If ((At Least One Opponent has Imprisoned Status)
 * & (At Least One Opponent has Death Status)) Then
 * Count = 1
 * } Else {
 * Count = 0
 * }
 * }
 * }
 * If (TempVar:AttackAll == 1) Then
 * If (2nd Opponent doesn't have Death Status) Then
 * Choose 2nd Opponent
 * Use TempVar:ChosenAtt on Target
 * }
 * If (1st Opponent doesn't have Death Status) Then
 * Choose 1st Opponent
 * Use TempVar:ChosenAtt on Target
 * }
 * If (3rd Opponent doesn't have Death Status) Then
 * Choose 3rd Opponent
 * Use TempVar:ChosenAtt on Target
 * }
 * }
 * Use TempVar:ChosenAtt on Target
 * }
 * If (1st Opponent doesn't have Death Status) Then
 * Choose 1st Opponent
 * Use TempVar:ChosenAtt on Target
 * }
 * If (3rd Opponent doesn't have Death Status) Then
 * Choose 3rd Opponent
 * Use TempVar:ChosenAtt on Target
 * }
 * }
 * }
 * }

} AI: Counter - General {
 * If (Bottomswell's HP <= 50% of Bottomswell's Max HP) Then
 * Stage = 2
 * TempVar:HitsTilNextStage = 0
 * } Else If (Bottomswell's HP <= 75% of Bottomswell's Max HP) Then {
 * Stage = 1
 * TempVar:HitsTilNextStage = 0
 * } Else {
 * Stage = 0
 * }
 * If (Bottomswell's IdleAnim == 1st Form) Then
 * Bottomswell's HurtAnim = 1
 * If (TempVar:HitsTilNextStage == 0) Then
 * Choose Self
 * Use  on Target
 * Bottomswell's IdleAnim = 2nd Form
 * Count = 0
 * TempVar:HitsTilNextStage = 6
 * If (Stage == 2) Then
 * Choose Self
 * Use  on Target
 * Bottomswell's IdleAnim = 3rd Form
 * Count = 0
 * TempVar:HitsTilNextStage = 3
 * }
 * } Else {
 * TempVar:HitsTilNextStage = TempVar:HitsTilNextStage - 1
 * }
 * } Else If (Bottomswell's IdleAnim == 2nd Form) Then {
 * Bottomswell's HurtAnim = 7
 * If (TempVar:HitsTilNextStage == 0) Then
 * Choose Self
 * Use  on Target
 * Bottomswell's IdleAnim = 3rd Form
 * Count = 0
 * TempVar:HitsTilNextStage = 3
 * } Else {
 * TempVar:HitsTilNextStage = TempVar:HitsTilNextStage - 1
 * }
 * } Else {
 * Bottomswell's HurtAnim = 13
 * }
 * TempVar:HitsTilNextStage = TempVar:HitsTilNextStage - 1
 * }
 * } Else {
 * Bottomswell's HurtAnim = 13
 * }

} AI: Counter - Death {
 * Choose All Opponents
 * Use Big Wave on Target
 * If (At Least One Target is Imprisoned) Then
 * Choose All Targets with Imprisoned Status
 * Remove Imprisoned Status from Target
 * }
 * Choose Self
 * Use  on Target
 * Remove Waterpolos
 * Remove Waterpolos

}

Related Enemies

 * Waterpolo