Vesly's ASM / C

Just set their condition to already moved after you reverse the dead condition. Assuming you are doing it via events.

1 Like

Ah, makes sense given it’s an flag based system. Thanks!

Shop Expansion

Scraiza already made this but I wasn’t sure if there was a version floating around that works with skillsys / icon rework, so I made my own quick version. I set the shop to max 100 items, but you’ll probably run out of space in icon vram a bit before that. Scraiza solved this issue, but I think in doing so he made it incompatible with skillsys / icon rework.

mGBAYVQlQwuyVf

10 Likes

I made a few little fixes to the unit expansion code. Not too impactful, but they weren’t that easy to fix.

  1. Pressing B on status screen for units outside regular unit ram will now return you to their position, rather than to the last unit in regular unit ram.
  2. Scrolling between characters in stat screen in prep can now go to characters outside of regular unit ram.
  3. Unit names outside regular unit ram no longer get their first letter cutoff.

It seems to be working smoothly so far in pokemblem, but I’m not testing it outside of pokemblem and it’s an overcomplicated patch, so no promises that it works perfectly. Feel free to test and report any issues to me.

3 Likes

Does this apply for FE6 and FE7 as well?

No, it’s unrelated to the fe6/7 stuff.

In fegba, there’s a limit of 50-62 recruited units at once (including dead). This code aims to expand that for fe8u.

Stats and classes above a certain value also aren’t saved between chapters or when suspending, but most people use ExModularSave to fix this for fe8. I wrote my own fix for fe6/7 so I can have higher stats / classes.

1 Like

Register Data Fix

Since I started pokemblem, there’s been this very rare, but awful black screen of death when proceeding to the next chapter. As it was so rare, it made reproducing and fixing the bug rather difficult.

gFrameTmRegister is shortly before the ram for procs, and if RegisterDataMove / RegisterFillTile use up more than the 32 available slots for these data transfers within one frame, then it overflows into procs and breaks the game.

The solution is simple: if we go past the 32 slots, then immediately do the data transfers instead of waiting until next frame. At worst, this will change the infinite loop or crash into a single frame with disrupted graphics. (This hack has no effect unless the game was going to crash from this overflow.)

I’m not 100% sure what’s actually using all 32 data transfers within one frame. It’s likely related to large numbers of units/sprites.


I’ve confirmed that this vanilla unit group uses 6 data transfers within one frame with 6 unique classes. So I’d expect that loading many unique classes at once has the potential to break the game without this fix. But that said, I don’t think I generally load many classes in one unit group in pokemblem, and the crashes were occurring when no units were being loaded.

tl;dr I’m unable to say if you need this patch or not, but it should prevent a specific type of crash, and there’s no harm in installing this.

4 Likes

Provoke Command

This adds a Provoke unit command which causes enemies to attack you, protecting your other units as a result.

This overwrites the effect of the provoke skill, effectively making the skill display only. (If you want to force a player/npc to have provoke active, then you’ll need to enable that unit’s state 0x20000000 every turn.)

This also installs the emotion bubble patch to use as a graphic.


mGBA_bshBxoBC2L
(You don’t have to use it with danger bones, but you probably shoud.)

To install this, copy the ProvokeCommand folder into your FEBuilderGBA\config\patch2\FE8U\ folder, then install it via febuilder patches.

This was a request by xpodo. You’re welcome lol.

3 Likes

This is pretty cool! Can it also be made to be tied to the skill? As in, Provoke skill gives access to the Provoke command.

Also. Could it be tied to an item, so that, when you use the item, it has the effect of the command, and consumes a use?

No, it’s not tied to a skill anymore, just the usability you fill out in the installer. Likewise, it is not tied to using an item. If you want it to deplete an item’s uses, then use GetItemAfterUse in the code.

Yes. I understand that is not the case now. I was asking if it could be edited so that it could be made into a skill or an item, unless it would require a major code rewrite.

Yeah, the source is included so it should be very easy for you to add a call to SkillTester or whatever you like if you want to.

3 Likes

does this affect the provoke behavior at all, or will default skillsys provoke still have that bug where it doesn’t work if the enemy sees a kill on the provoke unit?

I included @ditto’s fix to provoke:

You can easily install this fix on your rom, as it was done inline. You don’t need my provoke command to install this fix, but installing my provoke command also installs the fix.

3 Likes