Users browsing this thread: 1 Guest(s)
Patch: Informative Miss
09-23-2020, 01:44 PM
Huh... I encountered the same bug but thought it was an oops with my monster scripting.
I ended up deleting all the 'when attacked' counters and replacing them with 'when attacked by Fight or Fight'. Doesn't work quite as well, but it's a good stop-gap compromise for the benefits Informative Miss provides.
I ended up deleting all the 'when attacked' counters and replacing them with 'when attacked by Fight or Fight'. Doesn't work quite as well, but it's a good stop-gap compromise for the benefits Informative Miss provides.
I somehow missed this patch before. It looks really awesome! It always bothered me that you aren't sure whether or not your spell simply missed or if the monster is immune to it. I would use it with my hack, but I have concerns about the incompatibility with the Vanish/Doom bugfix and the loss of the "when attacked" monster script command. I use this command dozens of times in my hack, especially when the characters are at high levels - so the loss of this command is a deal breaker for me. Maybe one day we will get an update in which the monster counter attacks aren't crippled?
07-08-2023, 08:28 PM
The MissType routine overwrites the X register, which causes counter attack scripts to fail. You can fix it by adding PHX and PLX like so:
Code:
MissType:
PHX
CLC ; default to no "miss" text
LDX #$04 ; point to "fail" bytes first
.loop
BIT !msgs,X ; is this miss message flagged
BNE .done ; exit with X offset if so
DEX #2 ; point to next lowest message
BNE .loop
.done
TRB !miss ; test and reset miss flag
BNE .set_msg ; if set, convert X to message value
DEX ; else check if "null" or "fail" was set
BMI .exit ; if not, exit
TSB !miss ; else, show fail/null on next loop
.exit
PLX
RTS
.set_msg
TRB !fail ; clear "fail" bit
TRB !null ; clear "null" bit
SEC ; indicate "miss" text
TXA ; get message flag in A
XBA ; move to hi byte
PLX
RTS
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)