;;; General ;;; { Oum, Maridia large indestructible snail. Rolls at Samus if touched by her, then rolls all the way back Enemy ID: $D37F Bank: $A2 Enemy projectiles: None Parameter 0: Unused Parameter 1: Unused Parameter 2: Unused Properties must have solid enemy and process instructions bits set } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FA8: Function { $CDE6: Idle $CE2B: Rolling $CF40: Attacking } $0FAA: Y speed table index $0FAC: Time until attack is allowed $0FAE: Movement direction { 0: Right 1: Left } $0FB0: Bounce counter $0FB2: Bounce function { $CF66: Falling $CFA9: Rising } $7E:7800: New instruction list index { 0: Idle - facing right 1: Idle - facing left 2: Rolling forwards - facing right 3: Rolling forwards - facing left 4: Attacking - facing right 5: Attacking - facing left 6: Rolling backwards - facing right 7: Rolling backwards - facing left } $7E:7802: Instruction list index { 0: Idle - facing right 1: Idle - facing left 2: Rolling forwards - facing right 3: Rolling forwards - facing left 4: Attacking - facing right 5: Attacking - facing left 6: Rolling backwards - facing right 7: Rolling backwards - facing left } $7E:7804: Animation finished flag $7E:7806: Attack allowing rotation flag $7E:7808: Touching Samus flag $7E:780A: Direction to Samus { 0: Samus is to the right 1: Samus is to the left } $7E:780C: Previous X position $7E:7810: Previous Y position $7E:7816: Stop flag } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 8000h = solid enemy, 2000h = process instructions, 800h = process whilst off-screen | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Debug D37F, 0100,0100, 0000, A000,0004, 0000,0000 ; Room $D913. Maridia grapple wall shaft D37F, 0250,0260, 0000, A800,0004, 0000,0000 D37F, 02D0,0260, 0000, A800,0004, 0000,0000 D37F, 0370,0260, 0000, A800,0004, 0000,0000 } ;;; Enemy header ;;; { 0800 ; 0: Tile data size CA2B ; 2: Palette 012C ; 4: Health 0064 ; 6: Damage 0010 ; 8: Width 0010 ; Ah: Height A2 ; Ch: Bank 00 ; Dh: Hurt AI time 0000 ; Eh: Cry 0000 ; 10h: Boss ID CCD4 ; 12h: Initialisation AI 0001 ; 14h: Number of parts CD13 ; 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 D38C ; 30h: Enemy touch D3B4 ; 32h: Enemy shot AF8000 ; 36h: Tile data 05 ; 39h: Layer F338 ; 3Ah: Drop chances ($B4) EEC6 ; 3Ch: Vulnerabilities ($B4) DFFF ; 3Eh: Enemy name ($B4) } ;;; Enemy vulnerabilities ;;; { ; Indestructible } ;;; Enemy drop chances ;;; { 46 ; 27.5% Small health 1E ; 11.8% Big health 46 ; 27.5% Missiles 4B ; 29.4% Nothing 05 ; 2.0% Super missiles 05 ; 2.0% Power bombs }