;;; General ;;; { Ripper. Moves horizontally forever, turns if hits a wall Ripper ii, jet powered ripper. Slightly more damage, drops supers Gripper, grapplable jet powered ripper. Grapplable, confined to arbitrary X position limits Enemy ID: $D3FF: Gripper $D43F: Ripper ii $D47F: Ripper Bank: $A2 Enemy projectiles: None ; Gripper Parameter 0 low: Speed table index. Range 0..40h. Speed = v * 0.1000h px/frame Parameter 0 high: Supposed to be initial direction, but has no effect (see $A2:E1D3) 0: Left 1: Right Parameter 1: Minimum X position Parameter 2: Maximum X position ; Ripper (ii) Parameter 0: Unused Parameter 1: Speed table index. Range 0..40h. Speed = v * 0.1000h px/frame Parameter 2: Initial direction 0: Left 1: Right Properties must have process instructions bit set } ;;; Behaviour ;;; { } ;;; WRAM ;;; { $0FA8: Minimum X position. Gripper only $0FAA: Maximum X position. Gripper only $0FAC: X subvelocity $0FAE: X velocity $0FB0: X speed table index } ;;; 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 | | | | | | | | ; Debug D43F, 0040,06A0, 0000, 2800,0000, 0020,0001 ; Ripper ii D47F, 0068,01A0, 0000, 2000,0000, 0010,0001 ; Ripper ; Room $92FD, state $932E. Crateria mainstreet - event "Zebes is awake" is set D47F, 01B8,0228, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 03AD,01E8, 0000, 2000,0000, 0010,0000 ; Ripper ; Room $93FE. Wrecked Ship entrance D3FF, 0590,0430, 0010, 2800,0000, 0560,05C0 ; Gripper ; Room $A253. Red Brinstar mainstreet D47F, 0098,0208, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0060,00E8, 0000, 2000,0000, 0010,0001 ; Ripper D47F, 0098,0140, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0068,01A0, 0000, 2000,0000, 0010,0001 ; Ripper D47F, 0098,0948, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 005F,08E8, 0000, 2000,0000, 0010,0001 ; Ripper D47F, 009D,0888, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0068,0800, 0000, 2000,0000, 0010,0001 ; Ripper ; Room $9AD9. Green Brinstar mainstreet D43F, 006C,03F6, 0000, 2000,0000, 0018,0001 ; Ripper ii D43F, 0043,0548, 0000, 2000,0000, 0018,0001 ; Ripper ii ; Room $B2DA. Ripper ii room D43F, 01D8,0078, 0000, 2800,0000, 0040,0000 ; Ripper ii D43F, 01D8,0058, 0000, 2800,0000, 0040,0000 ; Ripper ii D43F, 0268,0068, 0000, 2800,0000, 0040,0000 ; Ripper ii D43F, 0268,0088, 0000, 2800,0000, 0040,0000 ; Ripper ii D43F, 0268,0048, 0000, 2800,0000, 0040,0000 ; Ripper ii D43F, 0158,0098, 0000, 2800,0000, 0040,0000 ; Ripper ii ; Room $AA82. Post Crocomire room D3FF, 0100,0050, 0010, 2800,0000, 00E8,0130 ; Gripper ; Room $ADAD. Pre wave beam room D3FF, 02E8,00F0, 0010, 2000,0000, 0298,0338 ; Gripper ; Room $AB8F. Huge jump room D3FF, 00D1,009B, 0010, 2000,0000, 00B1,0111 ; Gripper D3FF, 0198,0068, 0120, 2800,0000, 0168,01C8 ; Gripper D3FF, 0228,0098, 0020, 2800,0000, 0210,0268 ; Gripper D3FF, 0360,0058, 0110, 2800,0000, 0300,03C0 ; Gripper ; Room $ACB3. Bubble Norfair mainstreet D43F, 0178,0370, 0000, 2800,0000, 0020,0000 ; Ripper ii ; Room $A865. Ice beam practice room D43F, 0158,00A8, 0000, 2800,0000, 0018,0000 ; Ripper ii ; Room $D30B. Maridia -> Crateria elevator D47F, 00D0,0314, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0070,0384, 0000, 2000,0000, 0010,0001 ; Ripper D47F, 0080,03F4, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0090,0454, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0040,04C8, 0000, 2000,0000, 0010,0000 ; Ripper D47F, 0038,02D0, 0000, 2000,0000, 0010,0000 ; Ripper } ;;; Enemy header ;;; { _________________ Gripper | __________ Ripper ii | | ___ Ripper | | | 0400 0400 0400 ; 0: Tile data size E17B E2C0 E457 ; 2: Palette 00C8 00C8 00C8 ; 4: Health 000A 000A 0005 ; 6: Damage 0008 0008 0008 ; 8: Width 0008 0004 0004 ; Ah: Height A2 A2 A2 ; Ch: Bank 00 00 00 ; Dh: Hurt AI time 003E 003E 003E ; Eh: Cry 0000 0000 0000 ; 10h: Boss ID E1D3 E318 E49F ; 12h: Initialisation AI 0001 0001 0001 ; 14h: Number of parts E221 E353 E4DA ; 18h: Main AI 8005 800F 800F ; 1Ah: Grapple AI 804C 804C 804C ; 1Ch: Hurt AI 8041 8041 8041 ; 1Eh: Frozen AI 0000 0000 0000 ; 20h: Time is frozen AI 0000 0000 0000 ; 22h: Death animation 0000 0000 0000 ; 28h: Power bomb reaction 0000 E477 E477 ; 2Ah: Sidehopper variant index 8023 8023 8023 ; 30h: Enemy touch E3A9 E3A9 802D ; 32h: Enemy shot AEC520 AEC520 AEC520 ; 36h: Tile data 05 05 05 ; 39h: Layer F2C6 F2C6 F308 ; 3Ah: Drop chances ($B4) EF4A EDEA EDEA ; 3Ch: Vulnerabilities ($B4) E099 E099 E08B ; 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 Gripper: 00 ; Power 00 ; Wave 00 ; Ice 00 ; Ice + wave 00 ; Spazer 00 ; Spazer + wave 80 ; Spazer + ice 00 ; Spazer + ice + wave 00 ; Plasma 00 ; Plasma + wave 00 ; Plasma + ice 00 ; Plasma + ice + wave 02 ; Missile 02 ; Super missile 00 ; Bomb 02 ; Power bomb 00 ; Speed booster 02 ; Shinespark 02 ; Screw attack 00 ; Charged beam 00 ; Pseudo screw attack 02 ; Unused Ripper (ii): 00 ; Power 00 ; Wave FF ; Ice FF ; Ice + wave 00 ; Spazer 00 ; Spazer + wave FF ; Spazer + ice FF ; Spazer + ice + wave 00 ; Plasma 00 ; Plasma + wave FF ; Plasma + ice FF ; Plasma + ice + wave 00 ; Missile 02 ; Super missile 00 ; Bomb 02 ; Power bomb 00 ; Speed booster 00 ; Shinespark 02 ; Screw attack 00 ; Charged beam 00 ; Pseudo screw attack 02 ; Unused } ;;; Enemy drop chances ;;; { ____ Gripper / ripper ii | _ Ripper | | 00 50 ; 31.4% Small health 01 14 ; 0.4% 7.8% Big health 00 50 ; 31.4% Missiles 00 41 ; 25.5% Nothing FE 05 ; 99.6% 2.0% Super missiles 00 05 ; 2.0% Power bombs }