Turn in Triforce pieces support
This commit is contained in:
63
elder.asm
Normal file
63
elder.asm
Normal file
@@ -0,0 +1,63 @@
|
||||
NewElderCode:
|
||||
{
|
||||
LDA $8A : CMP #$1B : BEQ .newCodeContinue
|
||||
;Restore Jump we can keep the RTL so JML
|
||||
JML $05F0CD
|
||||
.newCodeContinue
|
||||
PHB : PHK : PLB
|
||||
LDA.b #$07 : STA $0F50, X ;Palette
|
||||
JSR Elder_Draw
|
||||
JSL Sprite_PlayerCantPassThrough
|
||||
JSR Elder_Code
|
||||
|
||||
PLB
|
||||
RTL
|
||||
|
||||
|
||||
Elder_Draw:
|
||||
{
|
||||
|
||||
LDA.b #$02 : STA $06 : STZ $07 ;Number of Tiles
|
||||
|
||||
LDA $0DC0, X : ASL #04
|
||||
|
||||
ADC.b #.animation_states : STA $08
|
||||
LDA.b #.animation_states>>8 : ADC.b #$00 : STA $09
|
||||
|
||||
JSL Sprite_DrawMultiple_player_deferred
|
||||
JSL Sprite_DrawShadowLong
|
||||
|
||||
RTS
|
||||
|
||||
.animation_states
|
||||
;Frame0
|
||||
dw 0, -9 : db $C6, $00, $00, $02
|
||||
dw 0, 0 : db $C8, $00, $00, $02
|
||||
;Frame1
|
||||
dw 0, -8 : db $C6, $00, $00, $02
|
||||
dw 0, 0 : db $CA, $40, $00, $02
|
||||
}
|
||||
|
||||
Elder_Code:
|
||||
{
|
||||
LDA GoalItemRequirement : BEQ .despawn
|
||||
LDA TurnInGoalItems : BNE +
|
||||
.despawn
|
||||
STZ $0DD0, X ; despawn self
|
||||
RTS
|
||||
+
|
||||
|
||||
LDA.b #$96
|
||||
LDY.b #$01
|
||||
|
||||
JSL Sprite_ShowSolicitedMessageIfPlayerFacing : BCC .dont_show
|
||||
LDA !GOAL_COUNTER
|
||||
CMP GoalItemRequirement : !BLT +
|
||||
JSL.l ActivateGoal
|
||||
+
|
||||
.dont_show
|
||||
|
||||
.done
|
||||
LDA $1A : LSR #5 : AND.b #$01 : STA $0DC0, X
|
||||
RTS
|
||||
}
|
||||
85
hooks.asm
85
hooks.asm
@@ -2349,3 +2349,88 @@ Dungeon_OpenKeyedObject_bigChest:
|
||||
org $01EC38 ; <- 0EC38 - bank01.asm : 13809 (.smallChest)
|
||||
Dungeon_OpenKeyedObject_smallChest:
|
||||
;================================================================================
|
||||
|
||||
;================================================================================
|
||||
; Murahdahla (The brother who re-assembles the triforce pieces)
|
||||
;--------------------------------------------------------------------------------
|
||||
org $06C092 ; bank06.asm:1864 (JSL Sprite_ElderLong) [22 CD F0 05]
|
||||
JSL NewElderCode
|
||||
;--------------------------------------------------------------------------------
|
||||
; Add him to Castle Map post-rain, and post aga1
|
||||
;--------------------------------------------------------------------------------
|
||||
org $09D0AC
|
||||
db #$18, #$0F, #$43, #$FF;remove heart from tree adjancent map [LW1]
|
||||
db #$12, #$19, #$16 ;add sahasrala in castle Y, X, Sprite ID
|
||||
org $09C937
|
||||
db #$B0, #$D0 ;change [LW1] map 01C pointers
|
||||
org $09D421
|
||||
db #$18, #$0F, #$45, #$FF;remove heart from tree adjancent map [LW2]
|
||||
db #$12, #$19, #$16 ;add sahasrala in castle Y, X, Sprite ID
|
||||
org $09CA57
|
||||
db #$25, #$D4 ;change [LW2] map 01C pointers
|
||||
;--------------------------------------------------------------------------------
|
||||
; Expanded trinexx sheet gfx.
|
||||
;--------------------------------------------------------------------------------
|
||||
org $00CFC0+178 : db #$33
|
||||
org $00D09F+178 : db #$90
|
||||
org $00D17E+178 : db #$00
|
||||
; Use above sheet in Hyrule castle courtyard after rain state.
|
||||
org $00DB9E ; Hyrule Castle GFX Sprite Sheet 4 on [LW1]
|
||||
db #$3F
|
||||
org $00DC0A ; Hyrule Castle GFX Sprite Sheet 4 on [LW2]
|
||||
db #$3F
|
||||
;--------------------------------------------------------------------------------
|
||||
; Updated evil barrier animation table
|
||||
;--------------------------------------------------------------------------------
|
||||
org $1DF0E1;Evil Barrier new draw code
|
||||
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
dw -29, 3 : db $EA, $00, $00, $00
|
||||
dw -29, 11 : db $FA, $00, $00, $00
|
||||
dw 37, 3 : db $EA, $40, $00, $00
|
||||
dw 37, 11 : db $FA, $40, $00, $00
|
||||
dw -24, -2 : db $CE, $00, $00, $02
|
||||
dw -8, -2 : db $CE, $00, $00, $02
|
||||
dw 8, -2 : db $CE, $40, $00, $02
|
||||
dw 24, -2 : db $CE, $40, $00, $02
|
||||
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
dw -29, 3 : db $EB, $00, $00, $00
|
||||
dw -29, 11 : db $FB, $00, $00, $00
|
||||
dw 37, 3 : db $EB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
|
||||
dw 0, 0 : db $EC, $00, $00, $02
|
||||
dw -29, 3 : db $EB, $00, $00, $00
|
||||
dw -29, 11 : db $FB, $00, $00, $00
|
||||
dw 37, 3 : db $EB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw -24, -2 : db $CE, $80, $00, $02
|
||||
dw -8, -2 : db $CE, $80, $00, $02
|
||||
dw 8, -2 : db $CE, $C0, $00, $02
|
||||
dw 24, -2 : db $CE, $C0, $00, $02
|
||||
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
dw -29, 3 : db $EA, $00, $00, $00
|
||||
dw -29, 11 : db $FA, $00, $00, $00
|
||||
dw 37, 3 : db $EA, $40, $00, $00
|
||||
dw 37, 11 : db $FA, $40, $00, $00
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
dw 0, 0 : db $CC, $00, $00, $02
|
||||
|
||||
dw -29, 3 : db $EB, $00, $00, $00
|
||||
dw -29, 11 : db $FB, $00, $00, $00
|
||||
dw 37, 3 : db $EB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
dw 37, 11 : db $FB, $40, $00, $00
|
||||
;================================================================================
|
||||
11
newitems.asm
11
newitems.asm
@@ -31,6 +31,7 @@
|
||||
; #$65 - Progressive Bow
|
||||
; #$6A - Goal Item (Single/Triforce)
|
||||
; #$6B - Goal Item (Multi/Power Star)
|
||||
; #$6C - Goal Item (Multi/Triforce Piece)
|
||||
; #$6D- Server Request
|
||||
; #$6E - Server Request (Dungeon Drop)
|
||||
; #$70 - Maps
|
||||
@@ -162,7 +163,10 @@ ProcessEventItems:
|
||||
|
||||
LDA GoalItemRequirement : BEQ ++
|
||||
LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER
|
||||
CMP GoalItemRequirement : !BLT ++ : JSL.l ActivateGoal : ++
|
||||
CMP GoalItemRequirement : !BLT ++
|
||||
LDA TurnInGoalItems : BNE ++
|
||||
JSL.l ActivateGoal
|
||||
++
|
||||
|
||||
LDX.b #$01 : BRA .done
|
||||
+
|
||||
@@ -309,7 +313,10 @@ AddReceivedItemExpandedGetItem:
|
||||
.multi_collect
|
||||
LDA GoalItemRequirement : BEQ ++
|
||||
LDA !GOAL_COUNTER : INC : STA !GOAL_COUNTER
|
||||
CMP GoalItemRequirement : !BLT ++ : JSL.l ActivateGoal : ++
|
||||
CMP GoalItemRequirement : !BLT ++ :
|
||||
LDA TurnInGoalItems : BNE ++
|
||||
JSL.l ActivateGoal
|
||||
++
|
||||
BRL .done
|
||||
+ CMP.b #$6D : BNE + ; Server Request
|
||||
JSL ItemGetServiceRequest
|
||||
|
||||
BIN
sheet178.gfx
Normal file
BIN
sheet178.gfx
Normal file
Binary file not shown.
@@ -911,8 +911,12 @@ db #$00 ; #$00 = Locked (Default) - #$01 = Restart
|
||||
org $308193 ; PC 0x180193
|
||||
ServerRequestMode:
|
||||
db #$00 ; #$00 = Off (Default) - #$01 = Synchronous - #$02 = Asychronous
|
||||
;---------------------------------------------------------------------------------
|
||||
org $308194 ; PC 0x180194
|
||||
TurnInGoalItems:
|
||||
db #$01 ; #$00 = Instant win if last goal item collected. $01 must turn in goal items
|
||||
;--------------------------------------------------------------------------------
|
||||
; 0x180194 - 0x1801FF (unused)
|
||||
; 0x180195 - 0x1801FF (unused)
|
||||
;================================================================================
|
||||
org $308200 ; PC 0x180200 - 0x18020F
|
||||
RedClockAmount:
|
||||
|
||||
Reference in New Issue
Block a user