Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- lorom
- !SUB = "SEC : SBC"
- !ADD = "CLC : ADC"
- org $00FFD7 ; Set rom on 2mb
- db #$0C
- org $5FFFFF ; write at the last position to expand on 2mb
- db #$00
- org $068279
- NOP #$0A
- JSL sprite_bush_spawn
- NOP ; we keep the branch
- org $0DBA71
- GetRandomInt:
- org $408000 ;begining of the 3mb expanded - Skip 0x80(overworld) + 0x128 (dungeons)
- sprite_bush_spawn_table:
- {
- .sprites;SPRITE DATA TABLE GENERATED BY ENEMIZER
- skip #$1A8
- ;Old sprite table - Could be changed as well (for the item id 04)
- .random_sprites ; if item == 04
- db #$00, #$D8, #$E3, #$D8
- }
- sprite_bush_spawn:
- {
- STY $0D;restored code
- PHX : PHY ;save x,y just to be safe
- PHB : PHK : PLB ;setbank to 40
- CPY.b #$04 : BNE .not_random
- JSL GetRandomInt : AND.b #$03 : TAY
- LDA $81A8, Y
- BRL .return
- .not_random
- CPY.b #$01 : BNE + ;1 Rupee
- LDA #$D9 : BRL .return
- +
- CPY.b #$02 : BNE + ;Crab
- LDA #$3E : BRL .return
- +
- CPY.b #$03 : BNE + ;1 Bee
- LDA #$79 : BRL .return
- +
- CPY.b #$05 : BNE + ;1 Bomb
- LDA #$DC : BRL .return
- +
- CPY.b #$06 : BNE + ;1 Heart
- LDA #$D8 : BRL .return
- +
- CPY.b #$07 : BNE + ;Blue rupee
- LDA #$DA : BRL .return
- +
- CPY.b #$08 : BNE + ;Key
- LDA #$E4 : BRL .return
- +
- CPY.b #$09 : BNE + ;5 Arrow
- LDA #$E1 : BRL .return
- +
- CPY.b #$0A : BNE + ;Bomb
- LDA #$DD : BRL .return
- +
- CPY.b #$0B : BNE + ;Heart
- LDA #$D8 : BRL .return
- +
- CPY.b #$0C : BNE + ;Magic
- LDA #$DF : BRL .return
- +
- CPY.b #$0D : BNE + ;Big Magic
- LDA #$E0 : BRL .return
- +
- CPY.b #$12 : BNE + ;Big Magic
- LDA #$D4 : BRL .return
- +
- CPY.b #$13 : BNE + ;Heart
- LDA #$D8 : BRL .return
- +
- CPY.b #$14 : BNE + ;Fairy
- LDA #$E3 : BRL .return
- +
- CPY.b #$15 : BNE + ;Heart
- LDA #$D8 : BRL .return
- +
- CPY.b #$0F : BEQ .newSpriteSpawn
- CPY.b #$11 : BEQ .newSpriteSpawn
- CPY.b #$10 : BEQ .newSpriteSpawn
- CPY.b #$0E : BNE .return
- .newSpriteSpawn
- LDA $7E040A : TAY
- LDA $8000, Y ;LDA 408000 + area id
- .return
- PLB;restore bank to where it was
- PLY : PLX ;restore x,y
- RTL
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement