Boss Introduction message

Go down

20140805

Post 

Boss Introduction message Empty Boss Introduction message




Information: With this asm you can give a text message to any room, like Boss introductions
Rom: ALTTP (US), without header; expanded to 1.5 MB (Minimum)
Screenshot:

Boss Introduction message All-in11

Instructions:
this asm covers 10 (boss) rooms (can be decresed or increased easily). This asm can also only be used for rooms < 256 and monologues < 256 (however this can be recoded if necessary). For XX write your Boss rooms in hex, for YY write your monologue numbers in hex

Literally, you should be able to give a message to every room (except entrance rooms), independent from accessing it through a pit, teleport, walking, staircase. But... be careful about the layouts. The code covers complete rooms so if you have a room containing of 4 squares, the message will be displayed in every square that you enter. No Problem by a 4 squared-merged layout (layout 7). But if you use e.g., 2x2 merged sqaured (layout 1-6)or 4 single square layout (layout 0), the other squares or roomparts should remain unused.
A Boss e.g., uses only one of the 4 squares, the others you are usually not able to access, so this will work


Code:


; This asm is for giving a boss introduction message
; WRITTEN: by Conn


;header
lorom

org $028d79 ; jump to main code
JSL $20A000
nop

org $20A000
STZ $11
STZ $0642

     
LDA $A1    ; check room <256; code Needs to be recoded to use in room >256
BEQ $01
RTL 
LDA $A0    ; load room to check whether you're in a boss room   

; boss1
CMP #$XX  ; check room boss 1. replace XX in HEX! e.g., HM room dec:144 (vitreous) would be hex:90           
BNE $05
LDA #$YY  ; display monologue YY. Replace yy in HEX! e.g., HM monologue dec: 234 (FT monologue) would be hex:ea
jmp $a100
 
; boss2
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss3
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss4
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss5
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss6
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss7
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss8
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss9
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

; boss10
CMP #$XX             
BNE $05   
LDA #$YY
jmp $a100

   
RTL           

org $20A100
TAY             
REP #$30           
LDA $A0    ; check whether boss is defeated
ASL A         
TAX           
LDA $7EF000,x
AND #$0800        ; Isolate Boss bit
BEQ $03
Sep #$30   
RTL         

Sep #$30   
TYA           
STA $1CF0 
STZ $1CF1  ; display monologue
LDA #$02     
STA $11   
LDA $10      ; restore dungeon value later
STA $010C
LDA #$0E       
STA $10   
   
RTL

org $0080b5  ; bug fixes
jsl $20a140
nop

org $20a140
lda $10
cmp #$0e
beq $06
ldy $10
LDA $8061,y
rtl
lda $11
cmp #$05
beq $06
ldy $10
LDA $8061,y
rtl
lda $010c
cmp #$07
beq $06
ldy $10
LDA $8061,y
rtl
lda #$02
sta $11
ldy $010c
LDA $8061,y
rtl


Conn
Conn

Boss Introduction message Image212

Since : 2013-06-30

Back to top Go down

Share this post on: reddit

Boss Introduction message :: Comments

Thanatos-Zero

Post Thu 24 Sep 2015 - 11:13 by Thanatos-Zero

Hehehe... With this, one could easly replicate the boss monologes from Alundra.

"Thief! Infidel! You shall regret the mere thought of defiling this sacred ground!
Now, regret shall consume your thoughts as your soul is bled of what life remains in it!"

"..............................
He that treads foolishly into the sacred keep shall reap the pain of a thousand crushed souls!"

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum