LoROM ;//[$E17F = RIDLEY] org $A0E17F dw $2000 ;//gfx size dw $E14F ;//palette pointer dw $4650 ;//energy dw $00A0 ;//damage dw $0008 ;//width dw $0008 ;//height db $A6 ;//AI bank db $08 ;//hurt flash duration dw $0000 ;//hurt sound dw $0005 ;//boss value dw $A0F5 ;//initiation AI dw $0001 ;//possessors dw $0000 ;//extra AI $0016,x dw $B227 ;//main AI dw $800F ;//grapple AI dw $B297 ;//hurt AI dw $8041 ;//frozen AI dw $B28A ;//xray AI dw $0000 ;//death animation dw $0000 ;//extra AI $0024,x dw $0000 ;//extra AI $0026,x dw $DFB2 ;//pb AI dw $0000 ;//extra AI $002A,x dw $0000 ;//extra AI $002C,x dw $0000 ;//extra AI $002E,x dw $8023 ;//touch AI dw $DF8A ;//shot AI dw $0000 ;//extra AI $0034,x dl $B09400 ;//graphics pointer db $02 ;//layer priority dw $F44C ;//drops pointer dw $F1B2 ;//weakness pointer dw $0000 ;//name pointer ;//[First off is boss bits. (01=main,02=mini,04=torizo)] ;//[1320FC = 29 01 00 (AND #$0001) check if ridley is dead, also ceres ridley uses this] ;//[1345DF = A9 01 00 (LDA #$0001) set boss bits for area] org $A6A0F5 JSR RIDLEY_EXTEND NOP : NOP : NOP : NOP NOP : NOP : NOP ;LDX $079F ;// ;LDA $7ED828,x ;// ;AND #$0001 ;//[It involves what looks like a palette for ceres blue doors, a large dragon, & a certain baby metroid.] ;//[13236C = C0 02 00 (CPY #$0002) this checks for norfair's region number] ;org $A6A36C ;JSR CERESPAL ;//[Now for the good stuff. (CRE-BRN-NRF-WRS-MRD-TRN-CRS-DBG)] ;//[13215F = C9 02 00 region number, hiding ridley before fight begins] ;//[132427 = C9 02 00 region number, boss fight music] ;//[13246C = C9 02 00 region number, frames b4 revealing ridley] ;//[13247B = C9 02 00 region number, bg fade in & lava rising] ;//[135917 = C9 02 00 region number, ridley takes off the first time & has left the screen] ;//[13593E = C9 02 00 region number, screen shake] ;//[135F8D = C9 02 00 region number, ridley is hit] ;//[1364D5 = C9 02 00 region number, ridley projectiles] org $A6A15C NOP : NOP : NOP NOP : NOP : NOP BRA $03 org $A6A424 NOP : NOP : NOP NOP : NOP : NOP BRA $06 org $A6A469 NOP : NOP : NOP NOP : NOP : NOP BRA $06 org $A6A478 NOP : NOP : NOP NOP : NOP : NOP NOP : NOP org $A6D914 NOP : NOP : NOP NOP : NOP : NOP BRA $38 org $A6D93B NOP : NOP : NOP NOP : NOP : NOP NOP : NOP BRA $05 org $A6DF8A NOP : NOP : NOP NOP : NOP : NOP BRA $1A org $A6E4D2 NOP : NOP : NOP NOP : NOP : NOP BRA $3A org $A0A569 JSL RIDLEY_DAMAGE ;//[$102 bytes of $144 bytes free space] org $A6FECB RIDLEY_EXTEND: LDA $079F ;//region number CMP #$0000 ;//crateria BEQ AREA_CRE CMP #$0001 ;//brinstar BEQ AREA_BRN CMP #$0002 ;//norfair BEQ AREA_NRF CMP #$0003 ;//wreckedship BEQ AREA_WRS CMP #$0004 ;//maridia BEQ AREA_MRD CMP #$0005 ;//tourian BEQ AREA_TRN CMP #$0006 ;//ceres BEQ AREA_CRS CMP #$0007 ;//debug BEQ AREA_DBG MAIN_AI: LDX $079F ;// LDA $7ED828,x ;// AND #$0001 RTS AREA_CRE: LDA #$1FFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_BRN: LDA #$3FFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_NRF: LDA #$5FFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_WRS: LDA #$7FFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_MRD: LDA #$9FFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_TRN: LDA #$BFFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_CRS: LDA #$DFFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI AREA_DBG: LDA #$FFFF ;//health for area ridley STA $0F8C ;// BRA MAIN_AI RIDLEY_DAMAGE: LDA $0F78 ;// CMP #$E17F ;//$E17F = RIDLEY BNE VANILLA LDA $A00006,x ;//enemy header damage PHA LDA $079F ;// CMP #$0000 BEQ RID_CRE CMP #$0001 BEQ RID_BRN CMP #$0002 BEQ RID_NRF CMP #$0003 BEQ RID_WRS CMP #$0004 BEQ RID_MRD CMP #$0005 BEQ RID_TRN CMP #$0006 BEQ RID_CRS CMP #$0007 BEQ RID_DBG VANILLA: LDA $A00006,x RTL RID_CRE: PLA STA $12 CLC ADC #$001F ;//AREA RIDLEY DAMAGE RTL RID_BRN: PLA STA $12 CLC ADC #$003F ;//AREA RIDLEY DAMAGE RTL RID_NRF: PLA STA $12 CLC ADC #$005F ;//AREA RIDLEY DAMAGE RTL RID_WRS: PLA STA $12 CLC ADC #$007F ;//AREA RIDLEY DAMAGE RTL RID_MRD: PLA STA $12 CLC ADC #$009F ;//AREA RIDLEY DAMAGE RTL RID_TRN: PLA STA $12 CLC ADC #$00BF ;//AREA RIDLEY DAMAGE RTL RID_CRS: PLA STA $12 CLC ADC #$00DF ;//AREA RIDLEY DAMAGE RTL RID_DBG: PLA STA $12 CLC ADC #$00FF ;//AREA RIDLEY DAMAGE RTL