Okay, finally getting in a proper reply. I've been helping someone clean out a flooded storage unit (and making trips to a landfill). It's been super fun.
LightBaneX, block is just super good. It's been discussed to death earlier in this thread (I don't expect everyone to have read this thread, just pointing that out that's something I'm aware of). A partial summary:
- I didn't make Manual_Block and I find it hard to edit; I did manage to add Blocking_Drains_Stamina eventually at least
- I don't like finicky timed blocks; I like blocking as a state where you can turtle and decide what to do next
- You can't do anything while blocking, so it doesn't matter if you can't get hurt, you also aren't attacking
- The player should be rewarded for tactical play (one char blocks everything, while other char attacks)
- It makes some bosses who rely heavily on blockable attacks a joke to fight: this is a reward for a player remembering to block; the best example might be Spiky Tiger, who is normally a rather BS fight, especially considering it's early game where the player's still learning the ropes, but if you block he's a proper difficulty (easy) for being only the third boss
- Block protects from melee and non-spell enemy attacks: some "fancy" enemy / boss attacks that seem like spells are part of the melee system, actual spells ignore blocking
- Even with how good it is, you can both easily go through the game without using it, and it's literally faster (if you care about being faster) to not use it; if it was worse it would just be not worth using ever
While I would like to polish the manual blocking mechanic further, it's low on my to-do list because it works (both literally functions as expected and it fulfills its objectives), while there are still bugs to squash and new things to make elsewhere.
Speaking of bugs, no, no weapons had their procs changed (yet, I keep meaning to add something to the L2 Spear, L2 Bow and L4 Boomerang, but haven't).
You're probably running into a bug where you have the stats for one weapon but the graphics of another equipped. I don't remember the exact process to make it happen (which is part of why I haven't gotten around to fixing it). This game's speed running community probably has notes on it. The L3 Spear has Balloon as a proc, so that's almost definitely where you were getting that effect from.
hmsong, what kethinov did was pick 3 unused events (it doesn't technically matter which, he just made sure there was enough free space without relocating them to add the event code he needed), have a shared Neko event jump to the first of his events which decided between two further events based on an event flag, and each of those events set event flag FA (like you're doing) to control which shop to show, so that one initial event could show two different shops. Because the shop flag is set during what is essentially the buy event (they all eventually lead to event 312), it suffers from the same sell-before-buy wrong shop issue.
Like kethinov said, event flags aren't a table of data somewhere in the ROM, they're numbers held in RAM (and in save data when you save and load) which the game uses to make decisions. In RAM they're at $7ECF00-$7ECFFF, so 256 bytes in a block. When you load a save, they're copied from the save to $7ECF00, and when you save your game, they're copied from $7ECF00 to one of the 4 save data "slots" (depending on which "slot" you saved to). When you start a new game, they're all initialized to 00, so all flags start at 0 and are changed by events.
To answer questions about how to know which events are unused, and what event flags do, the answer is the same for both: to begin, use somedit to get preliminary info.
In the "Events & Dialogue" section, there are "Edit" and "Search" tabs. Pick search, pick the "Event" sub-tab, and enter an event number and click search. Likewise for the "Event Flag" sub-tab. While it's not 100% accurate, it's a good starting point and more importantly, very easy to use.
To be more accurate for either requires searching for event numbers and event flag numbers among various parts of the game's data because somedit parses some things wrong, or seems to just entirely miss a few things.
I'm trying to catalog event usage as notes in the Turbo ZPS file; I had done so months ago but that data was unfortunately lost and I hadn't wanted to re-do the work until now. -_-
I'm really happy with what you're doing with the Neko shops, but this past week I've been overhauling how event patches work in the Turbo ZPS, so the bad news is it's going to take a little more work to get them adapted for use with the new system. Let me finish it and then I'll get your patch integrated and explain stuff.
A "quick" example of the new system; the following:
&(mods)\Misc\WhipGather
REQ [Quality_of_Life]
REQ No_Whip_Tile_Gather
ASM <.asm>
FILE <VWF>
FILE <Reloc>
&(mods)\Misc\WhipGather\.asm
'[Event 6D7: Prepare For Whip Post Jump]
@OFF $CA90D0
'\event \lock
'\event \gather
'\event \camera_center
\event \flag== 03 01
\event \whip_post
\event \end
' padding
RAW 00 00 00 00
''[Event 6D8: Initial Whip Check]
'@OFF $CA90DA
'\event \if_stats1==_leader== E4 04 \goto 6D7
'\event \end
&(mods)\Misc\WhipGather\VWF
REQ [Text]
REQ VWF_Edition ' compat
IF Relocalized
REQ FALSE
ENDIF
ASM <.asm>
&(mods)\Misc\WhipGather\VWF\.asm
'[Event 6D7: Prepare For Whip Post Jump]
@OFF $E2EB9D
\event \flag== 03 01
\event \whip_post
\event \end
' padding
RAW 00 00 00 00
&(mods)\Misc\WhipGather\Reloc
REQ [Text]
REQ Relocalized ' compat
ASM <.asm>
&(mods)\Misc\WhipGather\Reloc\.asm
'sig 06 03 2D08 300301 1F10 00
'[Event 6D7: Prepare For Whip Post Jump]
@OFF $E2EC6F
\event \flag== 03 01
\event \whip_post
\event \end
' padding
RAW 00 00 00 00
...becomes the much more concise:
&(mods)\Misc\WhipGather
REQ [Quality_of_Life]
REQ No_Whip_Tile_Gather
ASM <.asm>
&(mods)\Misc\WhipGather\.asm
%OFF% Event6D7
\event \flag== 03 01
\event \whip_post
\event \end
' padding
RAW 00 00 00 00
No need for byte signature notes, event number comments, manually typed addresses or triplicated data.
It gets trickier when you want to make changes to text, but even then it's still an easier system. I'm currently still converting all existing event patches to that format.
--- Will edit this post / reply again with more after lunch, gotta run! ---