Have you ever wanted to move the currently acting unit, but experienced this instead?
While the vanilla command SET_ACTIVE 0 works by abruptly exiting the unit’s action, it won’t end player phase if it was the last unit to act, and it is buggy in that the cursor jumps, it’s preventing B presses, and it’s showing rainbow tiles if you want the unit to move again. UNCM patch can solve some of this, but may not be ideal.
Override Actor Coords
Given your desired coordinates in memory slot B, this patch prepares everything as if you had moved there. Use it before the movement occurs from the ENUN command.
It also works with “When player unit is moved to coordinate” type events. FEBuilder recommends not using these because vanilla fe8 doesn’t use them. They seem to work fine from my experience, though.
For example, here I have it take over your movement and send you to the nearest free land coordinate when you go into the current of water. You can still perform your action this way. I reset tiles moved to 0 as part of this, so the Charge skill will not get a bonus. This is so that pressing B will work as expected and not send you back to your starting coordinate.
If you don’t want the menu to appear in this case, use ASMC 0x804EF21 (EndAllMenus) and ASMC 0x804E885 (ClearBG0BG1) at the start of your event. This would essentially make “When player unit is moved to coordinate” events into customizable traps.
For some reason traps are hardcoded to use size 1 for ballistas and size 0 for everything else (eg. light runes). This fixes everything but ballistas to use whatever size you set in your SMS table. Compatible with or without Sme’s TrapRework (although there’s not really any point in using it without TrapRework).
AoE can now be set by weapon types, eg. all axes get “Cleave” by default.
Can run events on all affected units and/or debuff them, and probably more things I coded and forgot about
Default entries all deal 75% damage compared with regular attacks and use stats from your items so you don’t really need to enter anything. This should make it easy to use, but it is still extremely customizable should you decide to do so.
I’ve fixed it so it now actually saves the exp gained. It displayed popups perfectly, so I never noticed anything was broken until @Scraiza pointed it out. You can even see in the above gif that Franz’ gained exp is not saved…
Shoutout to @Contro for helping me figure out how to fix this.
Edit:
In other news, ShootArrow ASMC no longer hides the active unit.
Also I forgot to show that AoE updates also includes healing numbers:
I wrote a little guide yesterday on setting ram that will be used even after a new game via FEBuilder’s EventWriter patch, but I feel that doing it via ASMCs makes it a lot cleaner.
Single Try Events
In your prologue, ASMC InitializeNewGameRamFunc (if you want 32 flags per save file and 32 NewGame+ flags).
Use CheckSaveSlotFlag, SetSaveSlotFlag, and UnsetSaveSlotFlag ASMCs to have things that occur only once per the save slot (even on restart chapter, the flag will already be set).
Eg.
SVAL s1 32 // Write 32 to Memory Slot 1, which is the highest flag you can use.
ASMC CheckSaveSlotFlag
BNE 0 sC s0 // If the flag is on, jump to label 0
// Do stuff only once
SVAL s1 32
ASMC SetSaveSlotFlag // So this will not occur again
LABEL 0
New Game Unlocks
Use CheckNewGameFlag, SetNewGameFlag, and UnsetNewGameFlag to manage unlocks for the .sav file for new games.
Eg.
SVAL s1 128 // Highest flag number that can be used is 128 if you are not using SaveSlot flags.
//If you are using them, then 32 is the highest flag you can use.
ASMC CheckNewGameFlag
BEQ 0 sC s0 // If the flag is off, skip to label 0.
// This will only occur if the flag was previously set (eg. by you completing a later chapter)
SVAL s3 BraveSword
GIVEITEMTO Eirika
LABEL 0
and in a later chapter
CHECK_TURNS
SVAL s1 8
BGT 0 sC s1 // If number of turns is greater than 8, no NewGame+ reward.
SVAL s1 128
ASMC SetNewGameFlag
// Eirika will get a BraveSword on NewGame+
// after completing this chapter in 8 or fewer turns.
LABEL 0
You ultimately don’t need to use these ASMCs for a NewGame+, but if you want to have multiple unlocks, this makes it a lot more convenient.
I think I discovered a humorous bug involving BattleStatsWithAnimsOff v2 hack.
I grabbed the latest version from Github and applied it to my own hack with the only customization being that I used my own tiles instead of the vanilla-style included ones. Everything seemed to be working just fine, until I tried to heal a unit with a Mend:
There seems to be something funky going on with palettes here as the weapon icons are taking on the palette for the Mend map animation. Have you seen this before/any tips on how I might try to fix it?
Can you try out the febuilder patch? I think 7743 made it into a patch and possibly fixed this? I probably just forgot to merge his fix into my github.
ORG $114FA // frames to show "got item" popup
BYTE 45 //96 is vanilla
ORG $1166C // frames to show "got gold" popup
BYTE 45 //96 is vanilla
also popup rework (bundled with skillsys) seems to kill your ability to press A to close these faster. epic hack but will need to be fixed
and here’s faster map battle round animations or something
I think it makes the hp bar not stay on the screen so dang long when healing
should probably use it in conjunction with 7743’s faster vulnerary animation patch
// speed for battle map anim rounds
// just from the proc MapAnimBattle 9A49FC
// vanilla is 30 30 30 10 30
ORG $9A4A06
BYTE 10
ORG $9A4A16
BYTE 15
ORG $9A4A26
BYTE 10
ORG $9A4A36
BYTE 5
ORG $9A4A46
BYTE 15
//ORG $7BCE2 // double speed of vuln animation by 7743
//BYTE 0x08 0x34 0x24 0x04 0x24 0x0c 0x00 0x00 0x00 0x00 0x8c 0x42 0x09 0xda
I had an issue with @UltraxBlade’s save file in Pokemblem being wiped, so I had a look into save data to make it a bit safer, I hope.
PUSH
ORG $A644C // makes it so if checksum for a save file is bad, it will still load the save file
SHORT $2001 // mov r0, #1
ORG $A2D9C // makes it so if your metadata is bad, it will still load your resume data
SHORT $2001 // mov r0, #1
POP
This is a bandaid on the problem. But this should stop save files from being erased most of the time, I think. This way in the future we can analyze the corrupt save file and possibly fix that. As it is, if you write a random value to the first $D4 bytes of the savefile, the whole save file will be deleted.
This is useful to anyone who gets a report of save files being deleted for their hack.
Enjoy.
Edit: Since this I’ve had 3 people report their save file being wiped on v1.00 and nobody reporting it occurring on v1.01 or later, which released 10 days ago. So it’s probably safe to say that this fix worked! Still no idea what was causing the problem in the first place lmao
This is actually amazing though??? Being able to link events with items has kinda blossomed my mind with ideas to implement, thank you so much for your work!
I made it so it’ll only autosave at the start of your turn if you have the same number (or more) units as you did last turn. This way if a player is late to reset, they can still resume to the previous turn.
This uses a byte in ram. I’ve made the default 0x202bd33 which is padding in gChapterData.
So not all hacks end up working, and I’ve decided to throw in the towel for line of sight, where certain terrain blocks you from attacking through it.
The idea was to draw range normally and then erase the obstructed tiles. I think this was the wrong way to go about it, as a tile can be obstructed from 1 direction but still be targetable from another. Therefore the preview does not display correctly. This was bl’d to in AllMoveableSquares, AllWeaponsOneSquare, and ItemTURange.