PDA

View Full Version : [Script Tutorial] Epic Ganon (CJC5th)



CJC
08-20-2014, 09:13 PM
As I have been eliminated from the contest, I thought I would share the secrets of my epic Ganon battle (therefore saving people the trouble of reverse engineering it from the quest file). First, the code:

-=SPOILER=-
In essence, the script creates 'secret blocker' enemies that keep screen secrets from triggering until the boss has cleared all of its phases (Each phase is a separate enemy in the editor; the idea is built off of Tribble On Death but is applicable to all enemy types, including bosses). This changer does not require any special headers outside of the default, but the FFC setup is a little specific (You'll want to read the prologue comment).

BossFire is a script designed by SUCCESSOR that makes all projectiles on screen unblockable. It is included primarily to give the two Aquamentus phases more punch. Note that weapons that use the circle attack style will clump together in a single projectile due to this adjustment: this is because they depend on their direction to move and the direction is effectively nullified. I'm sure a workaround is possible but I am not interested in pursuing it.

Here's the enemy data for my custom Ganon phases:

Phase 1 (Shielded)
Uses the shielded animation (Second Highest Ganon tiles in attachment)

Weapon: Fireball (Rising)
Type: Digdogger
O. Anim: Digdogger
HP 48
Dam 8
W Dam 4
Random 7
Turn 3
Step 35
F. Rate 72
All others 0, use standard Ganon Palette (Palette Set 3)

Enemy 1 ID: Ganon Fire Bat
Enemy 1 Qty: 4
Type: Digdogger (Don't make it a child, this will cause problems!)
Sound effects should both be "Boss is Hit".

Ganon Room Type Spawn Flag


Ganon Fire Bat
Uses the bat two-frame tiles in a red CSet (Usually CSet 8)

Weapon: Flame
Type: Wizzrobe
O. Anim: 2-Frame Flying
HP 24
Dam 4
W Dam 4
Random 2
Halt 8
Homing 12
Step 60
F. Rate 0
All others 0, use red CSet

Walk: Phase
Shot: 1
Solid OK: No
Sound effect should be "Boss is hit" for damage and "Enemy dies" for death.

Defenses 1: 1/2 ALL
Defenses 2: 1/2 ALL except Sword & SBeams (None for those)


Phase 2 (Fireballs Right)
Uses the Aquamentus animation (Second from bottom in attachment)

Weapon: Fireball (Rising)
Type: Aquamentus
O. Anim: Aquamentus
HP 36
Dam 32
W Dam 16
Random 3
Halt 2
Step 50
F. Rate 0
All others 0, use standard Ganon Palette (Palette Set 3)

Side: Right
Sound effects should be "Boss is hit" for both.

Defenses 1: Block ALL except Arrow (Ignore <1 instead)
Defenses 2: Block ALL but Sword & SBeams (1/4 instead)


Phase 3 (Fireballs Left)
*Identical to Phase 2 except Side is Left. Be sure to place on a spawner at the left side of the screen.*

Weapon: Fireball (Rising)
Type: Aquamentus
O. Anim: Aquamentus
HP 36
Dam 32
W Dam 16
Random 3
Halt 2
Step 50
F. Rate 0
All others 0, use standard Ganon Palette (Palette Set 3)

Side: Left
Sound effects should be "Boss is Hit" for both.

Defenses 1: Block ALL except Arrow (Ignore <1 instead)
Defenses 2: Block ALL but Sword & SBeams (1/4 instead)


Phase 4 (Swarm of Bats)
Triforce (Big) with both bat frames following. Use a red CSet (Such as CSet 8)

Weapon: Flame
Type: Patra
O. Anim: Flip
HP 16
Dam 8
W Dam 12
Random 3
Turn 8
Step 40
F. Rate 8
All others 0, use red CSet (CSet 8)

Outer Eyes: 2
Inner Eyes: 3
Eyes' HP: 4
Movement: Oval
Shooters: Inner Eyes
Pattern Odds: 1
Pattern Cycles: 4
Eye Offset: 24
Eye Cset: 8
Type: 1x1
Sound effects should be "Boss is Hit" for hit and "Enemy dies" for death.

Defenses 1: Block ALL except Arrow (Ignore <1 instead) and Wand Melee (1/4 instead)
Defenses 2: Block ALL but Sword & SBeams (1/4 instead)


Phase 5 (Flames of Power)
Three Cool Poses (Lowest Ganon sprites on attached sheet), 'extra' tiles should be set to the blank in front of the three copies of the Big Triforce

Weapon: Flame
Type: Gleeok
O. Anim: Gleeok
HP 48
Dam 12
W Dam 4
Step 100
F. Rate 0
All others 0, use red CSet (CSet 8)

Heads: 1
Head HP: 200
Shot Type: Breath
Neck Segments: 2
Neck Offset 1: 6
Neck Offset 2: 7
Head Offset: 8
Sound effects should be "Boss is Hit" for damage and "Ganon's Fanfare" for death.

Defenses 1: Block ALL except Arrow (Ignore <1 instead)
Defenses 2: Block ALL but Sword & SBeams (1/4 instead)


Phase 6 (Stab Into Darkness)
Use the Normal Ganon Sprites (The ones at the top of the attachment)

Weapon: Fireball
Type: Ganon
O. Anim: Ganon
HP 53
Dam 16
W Dam 4
Random 5
Homing 72
Step 100
F. Rate 0
All others 0, use standard Ganon Palette (Palette Set 3)

Sound effects should be "Boss is Hit" and "Boss Dies" respectively.

Never Returns After Death




Due to the way the script is designed, Ganon will respawn every time you enter the room, triggering the Triforce lighting the darkness. When he dies, he'll leave a dust pile, but if you've beaten him once before he will not drop the Triforce of Power a second time. It is recommended that you one-way shutter the entrance to Ganon's room and then one-way shutter the room AFTER the Ganon fight (so the player doesn't accidentally turn back and have to fight him again). You could, of course, do whatever you please, and I could see a vindictive questmaker forcing players through the Ganon fight room multiple times (Might make an interesting if not cruel dungeon).
Also, turn off the Boss Roar flag on the screen; the fight is long and it gets in the way of the mood.


If you have any questions, this is the place to ask. I warn you in advance, I write 'quick and dirty' scripts that are useful for my situations but might not play nice with the work of others. In early setups I encountered some VERY erratic behavior from this script, randomly spawning and killing bosses every frame. It takes a little testing to get it to run just right; be sure you check your work when using anything I made.


EDIT: Confirmed that script as written does not work with Shooters or Traps, since they mess up the enemy count that dictates when to change phases.

Nightmare
08-24-2014, 09:05 PM
Scripting part was generally easy CJC, but I think you need to detail more how the sprites work. I'm not even totally sure.

-James