;;; General ;;; { Sidehopper. Hops towards Samus Desgeega. More health and damage Super-sidehopper. More health and larger Super-desgeega. More health and damage, resists weak beams Tourian super-sidehopper. More health, less damage, vulnerable only to super missiles Enemy ID: $D93F: Sidehopper $D97F: Desgeega $D9BF: Super-sidehopper $D9FF: Tourian super-sidehopper $DA3F: Super-desgeega Bank: $A3 Enemy projectiles: None Parameter 0: Unused Parameter 1: Upside down flag Parameter 2: Unused Properties must have process instructions bit set } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FAA: Function $0FAC: Y speed table index $0FAE: X velocity $0FB0: Y speed table index delta $7E:7800: Instruction list $7E:7802: Small hop initial Y speed table index $7E:7804: Big hop initial Y speed table index $7E:7806: Falling flag $7E:7808: Ready to hop flag $7E:780A: Hop table index $7E:780C: Sidehopper variant index. Initialised to [$A0:002A + [enemy ID]] * 2 { 0: Sidehopper 1: Super-sidehopper 2: Super-desgeega 3: Desgeega } } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 2000h = process instructions | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Debug DA3F, 0100,0100, 0000, 2000,0000, 8000,0000 ; Super-desgeega D97F, 0100,0100, 0000, 2000,0000, 0001,0000 ; Desgeega D9BF, 0100,0100, 0000, 2000,0000, 0000,0000 ; Super-sidehopper D93F, 0100,0100, 0000, 2000,0000, 0001,0000 ; Sidehopper ; Room $9B9D. Pre Brinstar map room hall D93F, 0244,003B, 0000, 2000,0000, 0001,0000 ; Sidehopper ; Room $A37C. Red Brinstar power bomb floor room D9BF, 00F0,0058, 0000, 2000,0000, 8000,0000 ; Super-sidehopper D9BF, 0170,0058, 0000, 2000,0000, 8000,0000 ; Super-sidehopper D9BF, 0078,0058, 0000, 2000,0000, 8000,0000 ; Super-sidehopper ; Room $9E9F, state $9ECB. Morph ball room - event "Zebes is awake" is set D9BF, 0098,02A6, 0000, 2000,0000, 0000,0000 ; Super-sidehopper D9BF, 017C,02A6, 0000, 2000,0000, 0000,0000 ; Super-sidehopper D9BF, 0107,026C, 0000, 2000,0000, 8000,0000 ; Super-sidehopper ; Room $9D19. Charge beam room D93F, 0239,00FC, 0000, 2000,0000, 0001,0000 ; Sidehopper D93F, 02F8,00ED, 0000, 2000,0000, 0001,0000 ; Sidehopper D93F, 0250,0418, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 02B0,0418, 0000, 2000,0000, 0000,0000 ; Sidehopper ; Room $9E11. Brinstar super-sidehopper power bomb room D9BF, 00F1,00A6, 0000, 2000,0000, 0000,0000 ; Super-sidehopper D9BF, 0068,0064, 0000, 2000,0000, 8000,0000 ; Super-sidehopper ; Room $A130. Brinstar wave-gate sidehopper room D9BF, 00B5,01B5, 0000, 2000,0000, 0000,0000 ; Super-sidehopper D93F, 00F8,01A0, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 006A,01C1, 0000, 2000,0000, 0000,0000 ; Sidehopper ; Room $9BC8. Early supers room D93F, 01BA,01A8, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 0200,01A8, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 0142,0085, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 01C3,0084, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 0183,003D, 0000, 2000,0000, 0001,0000 ; Sidehopper ; Room $9E52. Brinstar diagonal room D93F, 0400,02A0, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 0500,0300, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 0687,03B6, 0000, 2000,0000, 0000,0000 ; Sidehopper D93F, 06D0,0350, 0000, 2000,0000, 0001,0000 ; Sidehopper D93F, 0718,0350, 0000, 2000,0000, 0001,0000 ; Sidehopper ; Room $A815. Ice beam mockball hall D97F, 0104,03AF, 0000, 2000,0000, 0000,0000 ; Desgeega D97F, 0195,035F, 0000, 2000,0000, 0001,0000 ; Desgeega D97F, 0222,03B2, 0000, 2000,0000, 0000,0000 ; Desgeega ; Room $B40A. Lower Norfair multi-level one-way shaft DA3F, 03C0,038B, 0000, 2000,0000, 0000,0000 ; Super-desgeega DA3F, 0357,038A, 0000, 2000,0000, 0000,0000 ; Super-desgeega DA3F, 01B1,038B, 0000, 2000,0000, 0000,0000 ; Super-desgeega DA3F, 0105,0380, 0000, 2000,0000, 8000,0000 ; Super-desgeega DA3F, 026A,0381, 0000, 2000,0000, 8000,0000 ; Super-desgeega ; Room $A7B3. First hot room D97F, 0188,019F, 0000, 2000,0000, 0000,0000 ; Desgeega D97F, 022F,019E, 0000, 2000,0000, 0000,0000 ; Desgeega ; Room $B5D5. Lower Norfair spike platform room DA3F, 0288,005A, 0000, 2000,0000, 8000,0000 ; Super-desgeega DA3F, 0228,00A8, 0000, 2000,0000, 0000,0000 ; Super-desgeega DA3F, 02F0,00A8, 0000, 2000,0000, 0000,0000 ; Super-desgeega DA3F, 0138,0058, 0000, 2000,0000, 8000,0000 ; Super-desgeega ; Room $DC19. Tourian super-sidehopper room D9FF, 00F8,0061, 0000, 2000,0000, 8000,0000 ; Tourian super-sidehopper D9FF, 0086,00A9, 0000, 2000,0000, 0000,0000 ; Tourian super-sidehopper } ;;; Enemy header ;;; { _______________________________ Sidehopper | ________________________ Desgeega | | _________________ Super-sidehopper | | | __________ Tourian super-sidehopper | | | | ___ Super-desgeega | | | | | 0400 0400 0600 0600 0400 ; 0: Tile data size AA48 AF85 B085 B0A5 B217 ; 2: Palette 003C 0078 0140 05DC 0320 ; 4: Health 0014 0050 0050 0078 00A0 ; 6: Damage 0010 0010 0018 0018 0018 ; 8: Width 000D 000D 0014 0014 0014 ; Ah: Height A3 A3 A3 A3 A3 ; Ch: Bank 00 00 00 00 00 ; Dh: Hurt AI time 0023 005F 0023 0023 0030 ; Eh: Cry 0000 0000 0000 0000 0000 ; 10h: Boss ID AB09 AB09 AB09 AB09 AB09 ; 12h: Initialisation AI 0001 0001 0001 0001 0001 ; 14h: Number of parts ABCF ABCF ABCF ABCF ABCF ; 18h: Main AI 800F 800F 800F 800F 800F ; 1Ah: Grapple AI 804C 804C 804C 804C 804C ; 1Ch: Hurt AI 8041 8041 8041 8041 8041 ; 1Eh: Frozen AI 0000 0000 0000 0000 0000 ; 20h: Time is frozen AI 0002 0002 0004 0004 0004 ; 22h: Death animation 0000 0000 0000 0000 0000 ; 28h: Power bomb reaction 0000 0003 0001 0001 0002 ; 2Ah: Sidehopper variant index 8023 8023 8023 8023 8023 ; 30h: Enemy touch 802D 802D 802D 802D 802D ; 32h: Enemy shot ABAC00 ABB000 AEAA00 AEAA00 AED120 ; 36h: Tile data 05 05 05 05 05 ; 39h: Layer F326 F2DE F32C F32C F28A ; 3Ah: Drop chances ($B4) EC1C EC1C EC1C F07E EC32 ; 3Ch: Vulnerabilities ($B4) E14F E0ED E117 E117 DDF9 ; 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 Sidehopper / desgeega / super-sidehopper: default Super-desgeega: 00 ; Power 00 ; Wave 00 ; Ice 00 ; Ice + wave 01 ; Spazer 01 ; Spazer + wave 01 ; Spazer + ice 01 ; Spazer + ice + wave 02 ; Plasma 02 ; Plasma + wave 02 ; Plasma + ice 02 ; Plasma + ice + wave 02 ; Missile 02 ; Super missile 02 ; Bomb 02 ; Power bomb 02 ; Speed booster 02 ; Shinespark 02 ; Screw attack 02 ; Charged beam 02 ; Pseudo screw attack 02 ; Unused Tourian super-sidehopper: 00 ; Power 00 ; Wave 00 ; Ice 00 ; Ice + wave 00 ; Spazer 00 ; Spazer + wave 00 ; Spazer + ice 00 ; Spazer + ice + wave 00 ; Plasma 00 ; Plasma + wave 00 ; Plasma + ice 00 ; Plasma + ice + wave 00 ; Missile 02 ; Super missile 00 ; Bomb 00 ; Power bomb 00 ; Speed booster 00 ; Shinespark 00 ; Screw attack 00 ; Charged beam 00 ; Pseudo screw attack 00 ; Unused } ;;; Enemy drop chances ;;; { __________ Sidehopper | _______ Desgeega | | ____ Super-sidehopper | | | _ Super-desgeega | | | | 14 01 14 50 ; 7.8% 0.4% 7.8% 31.4% Small health 28 00 14 14 ; 15.7% 7.8% 7.8% Big health 55 00 37 32 ; 33.3% 21.6% 19.6% Missiles 64 00 64 5F ; 39.2% 39.2% 37.3% Nothing 05 00 37 05 ; 2.0% 21.6% 2.0% Super missiles 05 FE 05 05 ; 2.0% 99.6% 2.0% 2.0% Power bombs }