;;; General ;;; { Geruta, Norfair rio. Swoops at Samus if she gets nearby Enemy ID: $D2FF Bank: $A2 Enemy projectiles: None Parameter 0: Unused Parameter 1: Part 0: Main part 8000h: Flames. Used for graphics only Parameter 2: Unused Properties must have process instructions bit set Main part should be placed followed by flame part, but main part can be used without flame part too } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FA8: Y velocity. Unit 1/100h px/frame $0FAA: X velocity. Unit 1/100h px/frame $0FB2: Function { $C281: Flames $C2E7: Idle $C33F: Start swoop $C361: Swoop - descending $C3B1: Swoop - ascending $C406: Finish swoop } $0FB4: Part { 0: Main 8000h: Flames } $7E:7800: Instruction list { $C0F1: Main - idle $C107: Main - swoop - start descending $C12F: Main - swoop - descending $C145: Main - swoop - start ascending $C179: Main - swoop - ascending $C18F: Flames - ascending $C1A3: Flames - descending } $7E:7802: Finished swoop start animation flag $7E:7804: Flames Y offset } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 2000h = process instructions, 400h = intangible | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Debug D2FF, 0048,0080, 0000, 2000,0000, 0000,0000 D2FF, 0048,0080, 0005, 2400,0000, 8000,0000 ; Room $AA0E. Norfair grapple ceiling room D2FF, 0396,007F, 0000, 2000,0000, 0000,0000 D2FF, 0396,007F, 0005, 2400,0000, 8000,0000 ; Room $AC83. Pre Bubble Norfair reserve tank room D2FF, 0184,0060, 0000, 2000,0000, 0000,0000 D2FF, 0184,0060, 0005, 2400,0000, 8000,0000 ; Room $A788. Lava missile room D2FF, 00A1,0053, 0000, 2000,0000, 0000,0000 D2FF, 00A1,0053, 0005, 2400,0000, 8000,0000 D2FF, 01DE,0141, 0000, 2000,0000, 0000,0000 D2FF, 01DE,0141, 0005, 2400,0000, 8000,0000 D2FF, 0224,007D, 0000, 2000,0000, 0000,0000 D2FF, 0224,007D, 0005, 2400,0000, 8000,0000 ; Room $ACF0. Speed booster lavaquake D2FF, 0388,0128, 0000, 2000,0000, 0000,0000 D2FF, 0388,0128, 0005, 2400,0000, 8000,0000 D2FF, 0488,0128, 0000, 2000,0000, 0000,0000 D2FF, 0488,0128, 0005, 2400,0000, 8000,0000 D2FF, 062C,0188, 0000, 2000,0000, 0000,0000 D2FF, 062C,0188, 0005, 2400,0000, 8000,0000 } ;;; Enemy header ;;; { 0600 ; 0: Tile data size C0D1 ; 2: Palette 0078 ; 4: Health 003C ; 6: Damage 0010 ; 8: Width 0009 ; Ah: Height A2 ; Ch: Bank 00 ; Dh: Hurt AI time 0036 ; Eh: Cry 0000 ; 10h: Boss ID C242 ; 12h: Initialisation AI 0002 ; 14h: Number of parts C277 ; 18h: Main AI 800F ; 1Ah: Grapple AI 804C ; 1Ch: Hurt AI 8041 ; 1Eh: Frozen AI 0000 ; 20h: Time is frozen AI 0002 ; 22h: Death animation 0000 ; 28h: Power bomb reaction 0000 ; 2Ah: Sidehopper variant index 8023 ; 30h: Enemy touch 802D ; 32h: Enemy shot AED520 ; 36h: Tile data 05 ; 39h: Layer F1F4 ; 3Ah: Drop chances ($B4) EE42 ; 3Ch: Vulnerabilities ($B4) DE85 ; 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 02 ; Power 02 ; Wave 04 ; Ice 04 ; Ice + wave 02 ; Spazer 02 ; Spazer + wave 04 ; Spazer + ice 04 ; Spazer + ice + wave 02 ; Plasma 02 ; Plasma + wave 04 ; Plasma + ice 04 ; Plasma + ice + wave 02 ; 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 ;;; { 3C ; 23.5% Small health 3C ; 23.5% Big health 3C ; 23.5% Missiles 05 ; 2.0% Nothing 3C ; 23.5% Super missiles 0A ; 3.9% Power bombs }