;;; General ;;; { Evir, mini-Draygon. Moves up and down Evir projectile. Shoots at Samus, regenerates at evir position once far off-screen Enemy ID: $E63F: Evir $E67F: Evir projectile Bank: $A8 Enemy projectiles: None ; Evir Parameter 0: Parameter 1: Part 0: Body 1: Arms Parameter 2 low: Speed table index. Range 0..40h. Speed = v * 0.1000h px/frame Parameter 2 high: Movement timer ; Evir projectile Parameter 0: Unused Parameter 1: Unused Parameter 2: Unused Properties must have process instructions bit set Body, arms and projectile enemies must be placed together in that order } ;;; Behaviour ;;; { } ;;; WRAM ;;; { ; Evir { $0FAA: Facing direction { 0: Left 1: Right } $0FAC: Function { $8922: Handle body/arms } $0FB0: Movement timer $7E:7800: Movement direction { 0: Up 1: Down } $7E:7802: Instruction list $7E:7804: New instruction list $7E:7806: Down subvelocity $7E:7808: Down velocity $7E:780A: Up subvelocity $7E:780C: Up velocity } ; Evir projectile { $0FAA: Facing direction { 0: Left 1: Right } $0FAC: Function { $8A34: Idle $8A3B: Moving $8A78: Regenerating } $0FB2: Regeneration X offset $7E:7802: Instruction list $7E:7804: New instruction list $7E:780E: X velocity $7E:7810: X subvelocity $7E:7812: Y velocity $7E:7814: Y subvelocity $7E:7816: Moving flag $7E:7818: Regenerating flag } } ;;; Enemy population ;;; { ________________________________________ Enemy ID | __________________________________ X position | | _____________________________ Y position | | | _______________________ Initialisation parameter | | | | _________________ Properties. 2000h = process instructions, 800h = process whilst off-screen, 400h = intangible | | | | | ____________ Extra properties | | | | | | ______ Parameter 1 | | | | | | | _ Parameter 2 | | | | | | | | ; Debug E63F, 0100,0100, 0000, 2000,0000, 0000,1010 ; Evir E63F, 0100,0100, 0000, 2400,0000, 0001,0000 ; Evir E67F, 0100,0100, 0000, 2800,0000, 0002,0000 ; Evir projectile ; Room $D461. Evir hall west E63F, 01F8,00A0, 0000, 2000,0000, 0000,F808 ; Evir E63F, 01F8,00A0, 0000, 2400,0000, 0001,0000 ; Evir E67F, 01F8,00A0, 0000, 2800,0000, 0002,0000 ; Evir projectile E63F, 02E0,0078, 0000, 2000,0000, 0000,D00C ; Evir E63F, 02E0,0078, 0000, 2400,0000, 0001,0000 ; Evir E67F, 02E0,0078, 0000, 2800,0000, 0002,0000 ; Evir projectile E63F, 0340,00A0, 0000, 2000,0000, 0000,F808 ; Evir E63F, 0340,00A0, 0000, 2400,0000, 0001,0000 ; Evir E67F, 0340,00A0, 0000, 2800,0000, 0002,0000 ; Evir projectile ; Room $D4C2. Evir hall east E63F, 00A8,00A0, 0000, 2000,0000, 0000,F808 ; Evir E63F, 00A8,00A0, 0000, 2400,0000, 0001,0000 ; Evir E67F, 00A8,00A0, 0000, 2800,0000, 0002,0000 ; Evir projectile E63F, 0100,0078, 0000, 2000,0000, 0000,D00C ; Evir E63F, 0100,0078, 0000, 2400,0000, 0001,0000 ; Evir E67F, 0100,0078, 0000, 2800,0000, 0002,0000 ; Evir projectile E63F, 0220,0078, 0000, 2000,0000, 0000,D00C ; Evir E63F, 0220,0078, 0000, 2400,0000, 0001,0000 ; Evir E67F, 0220,0078, 0000, 2800,0000, 0002,0000 ; Evir projectile } ;;; Enemy header ;;; { __________ Evir | ___ Evir projectile | | 0600 0600 ; 0: Tile data size 8687 8687 ; 2: Palette 012C 012C ; 4: Health 0064 0064 ; 6: Damage 0010 0008 ; 8: Width 0014 0008 ; Ah: Height A8 A8 ; Ch: Bank 00 00 ; Dh: Hurt AI time 004A 0000 ; Eh: Cry 0000 0000 ; 10h: Boss ID 87E0 88B0 ; 12h: Initialisation AI 0003 0001 ; 14h: Number of parts 891B 899E ; 18h: Main AI 800F 800F ; 1Ah: Grapple AI 804C 804C ; 1Ch: Hurt AI 8041 8041 ; 1Eh: Frozen AI 0000 0000 ; 20h: Time is frozen AI 0004 0000 ; 22h: Death animation 8B0C 804C ; 28h: Power bomb reaction 0000 0000 ; 2Ah: Sidehopper variant index 8B06 8023 ; 30h: Enemy touch 8B12 804C ; 32h: Enemy shot B19400 B19400 ; 36h: Tile data 05 05 ; 39h: Layer F350 F350 ; 3Ah: Drop chances ($B4) EFCE EFE4 ; 3Ch: Vulnerabilities ($B4) DE23 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 Evir: 02 ; Power 02 ; Wave FF ; Ice FF ; Ice + wave 02 ; Spazer 02 ; Spazer + wave FF ; Spazer + ice FF ; Spazer + ice + wave 02 ; Plasma 02 ; Plasma + wave 82 ; Plasma + ice 82 ; 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 Evir projectile: 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 ;;; { 50 ; 31.4% Small health 50 ; 31.4% Big health 50 ; 31.4% Missiles 05 ; 2.0% Nothing 05 ; 2.0% Super missiles 05 ; 2.0% Power bombs }