;;; General ;;; { Owtch, Maridia spikey shells. Move left and right, sinks underground and rises to attack Enemy ID: $D03F Bank: $A2 Enemy projectiles: None Parameter 0: Unused Parameter 1 low: Initial function index { 0: Moving left 1: Moving right 2: Underground 3: Sinking 4: Rising } Parameter 1 high: Underground timer table index. Range 0..5. Underground timer = 20h + v * 20h Parameter 2 low: Speed table index. Range 0..40h. Speed = v * 0.1000h px/frame Parameter 2 high: Max travel distance table index. Range 0..7. Max travel distance = 10h + v * 10h px Properties must have process instructions bit set } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FA8: Right subvelocity $0FAA: Right velocity $0FAC: Left subvelocity $0FAE: Left velocity $0FB0: Function index { 0: Moving left 1: Moving right 2: Underground 3: Sinking 4: Rising } $0FB2: Sink Y offset $7E:7800: Underground timer $7E:7802: Minimum X position $7E:7804: Maximum X position } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 2000h = process instructions | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Debug D03F, 0060,01C8, 0000, 2000,0000, 0301,0002 ; Room $D30B. Maridia -> Crateria elevator D03F, 0098,05C8, 0000, 2000,0000, 0300,0104 ; Room $D16D. Sandy Maridia memu room D03F, 0040,01C8, 0000, 2000,0000, 0101,0004 D03F, 00B8,01C8, 0000, 2000,0000, 0100,0108 D03F, 0170,01C8, 0000, 2000,0000, 0100,0308 D03F, 0198,01C8, 0000, 2000,0000, 0301,0104 D03F, 0290,01B8, 0000, 2000,0000, 0101,0008 D03F, 0308,01C8, 0000, 2000,0000, 0500,0104 D03F, 0378,01C8, 0000, 2000,0000, 0501,0108 ; Room $D1DD. Beach D03F, 0180,02B8, 0000, 2000,0000, 0101,0208 ; Room $D340. Sandy Maridia mainstreet D03F, 0350,04F8, 0000, 2000,0000, 0100,0304 D03F, 0338,04F8, 0000, 2000,0000, 0101,0204 D03F, 0170,0568, 0000, 2000,0000, 0301,0002 D03F, 01A0,05C8, 0000, 2000,0000, 0501,0204 ; Room $D6FD. Maridia speed blockade quicksand bottom D03F, 00C0,00A8, 0000, 2000,0000, 0101,031C } ;;; Enemy header ;;; { 0400 ; 0: Tile data size A38B ; 2: Palette 0014 ; 4: Health 0064 ; 6: Damage 0008 ; 8: Width 0008 ; Ah: Height A2 ; Ch: Bank 00 ; Dh: Hurt AI time 003E ; Eh: Cry 0000 ; 10h: Boss ID A3F9 ; 12h: Initialisation AI 0001 ; 14h: Number of parts A47E ; 18h: Main AI 800F ; 1Ah: Grapple AI 804C ; 1Ch: Hurt AI 8041 ; 1Eh: Frozen AI 0000 ; 20h: Time is frozen AI 0000 ; 22h: Death animation 0000 ; 28h: Power bomb reaction 0000 ; 2Ah: Sidehopper variant index 8023 ; 30h: Enemy touch A579 ; 32h: Enemy shot ACEA00 ; 36h: Tile data 05 ; 39h: Layer F34A ; 3Ah: Drop chances ($B4) EE84 ; 3Ch: Vulnerabilities ($B4) E16B ; 3Eh: Enemy name ($B4) } ;;; Enemy vulnerabilities ;;; { ; Vulnerability format: ; v = fddddddd ; If v = FFh: ; Freeze, no damage ; Else: ; d: Damage multiplier * 2 ; f: Does not freeze 00 ; Power 00 ; Wave 00 ; Ice 00 ; Ice + wave 00 ; Spazer 00 ; Spazer + wave 00 ; Spazer + ice 00 ; Spazer + ice + wave 02 ; Plasma 02 ; Plasma + wave 02 ; Plasma + ice 02 ; Plasma + ice + wave 00 ; Missile 02 ; Super missile 00 ; Bomb 02 ; Power bomb 02 ; Speed booster 02 ; Shinespark 02 ; Screw attack 02 ; Charged beam 02 ; Pseudo screw attack 02 ; Unused } ;;; Enemy drop chances ;;; { 50 ; 31.4% Small health 50 ; 31.4% Big health 50 ; 31.4% Missiles 05 ; 2.0% Nothing 05 ; 2.0% Super missiles 05 ; 2.0% Power bombs }