;;; General ;;; { Shitroid Enemy ID: $EEBF Bank: $A9 Enemy projectiles: None Parameter 0: Unused Parameter 1: Unused Parameter 2: Unused Must be slot 0 in room, with initially alive sidehopper corpse in slot 1 } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FA8: Function { $EFDF: Disappeared $EFE6: Wait for camera $F02B: Let sidehopper live for a bit $F037: Queue battle music $F049: Rush to middle of room $F06D: Rush to sidehopper $F094: Latch onto sidehopper $F0E6: Draining sidehopper $F125: Make sidehopper rottable $F138: Move up and unlock camera $F180: Stare down Samus $F1FA: Latch onto Samus $F20E: Start draining Samus $F21B: Draining Samus $F2A2: Start heel realisation $F2AE: Heel realisation $F2C0: Back off guiltily $F2FB: Go left guiltily $F324: Go right guiltily $F360: Flee remorsefully $F36D: Fleeing $F3A3: Samus recovering $F3BE: Remorse } $0FAA: X velocity $0FAC: Y velocity $0FAE: Palette frame timer $0FAF: Palette handler timer $0FB0: Palette handler delay $0FB2: Function timer $0FB6: Contact reaction flag $7E:7802: Aggro timer $7E:7804: Stare down contact counter $7E:7808: Cry sound effect flag $7E:780A: Cry sound effect timer } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 2000h = process instructions, 800h = process whilst off-screen | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Room $DCB1. Shitroid room EEBF, 0180,0040, 0000, 2800,0000, 0000,0000 } ;;; Enemy header ;;; { 0C00 ; 0: Tile data size F8E6 ; 2: Palette 0C80 ; 4: Health 0028 ; 6: Damage 0028 ; 8: Width 0028 ; Ah: Height A9 ; Ch: Bank 00 ; Dh: Hurt AI time 0000 ; Eh: Cry 0000 ; 10h: Boss ID EF37 ; 12h: Initialisation AI 0001 ; 14h: Number of parts EFC5 ; 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 EFBA ; 28h: Power bomb reaction 0000 ; 2Ah: Sidehopper variant index F789 ; 30h: Enemy touch F842 ; 32h: Enemy shot B18400 ; 36h: Tile data 02 ; 39h: Layer 0000 ; 3Ah: Drop chances ($B4) F12E ; 3Ch: Vulnerabilities ($B4) 0000 ; 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 00 ; Plasma 00 ; Plasma + wave 00 ; Plasma + ice 00 ; Plasma + ice + wave 00 ; Missile 00 ; 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 ;;; { ; Nothing }