@@ -64,8 +64,50 @@ public void QualityOfLifeHacks(Flags flags, Preferences preferences)
64
64
{
65
65
UninterruptedMusic ( ) ;
66
66
}
67
-
68
-
67
+ if ( preferences . MagicShopMenuChange )
68
+ {
69
+ MagicShopsMatchEquipShops ( ) ;
70
+ }
71
+ }
72
+ public void MagicShopsMatchEquipShops ( )
73
+ {
74
+ // QoS to make magic shop function like weapon/armor shops
75
+ PutInBank ( 0x0E , 0xA360 , Blob . FromHex ( "A90D205BAA2089A9B0EDA662BD00038D0C032065AA20C2A8B0DEA562D0DA20EBA49008A910205BAA4C65A320E4A8B0C8A5626A6A6A29C08D0A0320DFAA20CDA4AE0A03AD0B039D00634C60A3" ) ) ;
76
+
77
+ //assembly for QoS
78
+ // LDA #$0D # load 'what do you want' text
79
+ // JSR $AA5B # display ^ text
80
+ // JSR $A989 # select spell
81
+ // BCS $357 # return to start if B
82
+ // LDX $62 # get cursor in register X
83
+ // LDA $0300,X # load item ID from register X
84
+ // STA $030C # store item ID in A
85
+ // JSR $AA65 # draw price and buy confirm
86
+ // JSR $A8C2 # loop for input
87
+ // BCS $A358 # return to start if B
88
+ // LDA $62 # get cursor in register A
89
+ // BNE $A358 # return to start if no
90
+ // JSR $A4EB # check can afford
91
+ // BCC $A39D # jump to finalize section; update this address if 'who will learn' message added
92
+ // LDA #$10 # load 'can't afford text'
93
+ // JSR $AA5B # display ^ text
94
+ // JMP $A365 # return to start
95
+ // ;; LDA #$17 # 'Who will learn' message text
96
+ // ;; JSR $AA5B # Display ^ text
97
+ // JSR $A8E4 # select character
98
+ // BCS $A358 # return to start if B
99
+ // LDA $62 # load cursor into register A
100
+ // ROR A # bit shift register A right
101
+ // ROR A # bit shift register A right
102
+ // ROR A # bit shift register A right
103
+ // AND #$C0 # bit shift register A right and mask to get character index
104
+ // STA $030A # store character index in register A
105
+ // JSR $AADF # check if character can learn
106
+ // JSR $A4CD # pay for selection
107
+ // LDX $030A # get empty slot in register X
108
+ // LDA $030B # get adjusted spell ID
109
+ // STA $6300,X # add to characters spell list
110
+ // JMP $A360 # return to start of shop
69
111
}
70
112
public void DisableDamageTileFlicker ( )
71
113
{
0 commit comments