I don’t even know where I’d start for making a weapon be more than one weapon type simultaneously, lol. If that were to be a thing it both could and probably would exist outside the umbrella of a magic sword rework anyhow. The closest to this is as I said, registering a magic sword as an anima magic type in the hack for that since it’s a sub-weapon type that’s checked separately from normal weapon types.
By choosing whether or not it stays the assigned weapon type in melee, I’m referring to the part where you set the magic type of the weapon. Normally at 1-range it’s considered a sword, but you can set a thing to instead use the magic type at 1-range.
Alright, another update for Magic Sword Rework, now it can hit defense. The only file adjusted is the installer event file since all it took was changing a handful of bytes in the middle of an existing function. However, apparently the hit highest/lowest defensive stat settings always hit res not as a side effect of being unable to hit defense but as a side effect of something else, so for the time being they are technically non-functional. Should be a lot easier to debug and fix than the not hitting defense part though, but still wanted to push out the larger fix as soon as possible.
Unless my math is wrong, 8 str + 8 mt + 1 WTA - 5 def = 12 atk at melee, 8/2 str + 8 mt - 2 res = 10 atk at range.
EDIT: Well, that fix was a lot easier than I thought it would be. Grab the updated dmp from the download and everything should be working now.
It’there’s another thing you may not notice, if all magic swords are attacked by magic.
The display of status page intelligence has not been updated to magic attack values.
The Dark Sword’s intelligence display address is 2A4B8 -11 and displays all magic attack data.
Made a variant of Magic Sword Rework that uses Res instead of Str/2, for compatibility with a Res as Mag hack. It’s in the preexisting MSR download folder (linked in OP) as separate files, you’ll need to change the filenames in the installer/of the files themselves if you want to use it instead of the default.
(re: above, that’s a vanilla thing; it’s calculated from static weapon stats and the damage it can deal is variable based on range and settings, so which to display it wouldn’t know. vanilla does this with magic swords normally, you don’t get the str/2 attack value there)
Been a while since I put anything here I’ve been working on, so thought it was about time for an update post.
Starting off, @Snakey1 did a version of Magic Sword Rework for the str/mag split that was recently completed. The relevant files have been added to the MSR folder and labelled appropriately.
Now, for some new stuff:
[ASM] ASMC Check Suite (FE8)
A set of 23 ASMC checks to supplement the existing event commands. The following checks are made available through these macros (thanks to @P33RL355 for writing the macros):
No check for luck, since CHECK_LUCK is a vanilla event command. Note that CheckMagic is commented out by default, you’ll have to uncomment it if you want to use it. All of these can take either a direct character ID or 0xFFFF to use the active character; vanilla commands can also be told to use the character ID in memory slot 0xB, however these checks cannot.
To install just #include the .event file, then you can use the macros in your events.
[ASM] Save Globals Through Suspend (FE8)
This hack will write global event flags to the save file whenever the game writes suspend data, which it does after every action a unit takes, as well as when you select Suspend from the menu. It lets you do cool things like this:
Note that you’ll need to unset the flag set that tells the game to go to the world map, or you’ll just immediately go to the world map upon reloading: ENUF $89
Now they’re proper map objects which entirely removes the need for event ID toggles. Definitions are included in the installer for them. Everything else still works the same, but now you can have all 3 objectives in the same chapter at once.
Noob here, how do I install the escape/arrive condition? I’m using FEbuilder (not nightmare or buildfiles) & I’m not using the skills system.
edit:
4 errors encountered:
File EscapeEvent.event, Line 20, Column 1: No code named NoFade found.
File EscapeEvent.event, Line 30, Column 1: No code named NoFade found.
File Escape Installer.event, Line 40, Column 1: No code named jumpToHack found.
File Escape Installer.event, Line 5, Column 1: Symbol EscapeQuoteTable isn't in scope
I take it “NoFade” and “jumpToHack” are macros which I don’t have defined, and would the 4th error be connected to the .csv table?
I have none of the folders listed in your installation instructions (except for Escape/Arrive) & I assume it’s because i’m not doing buildfiles/don’t have skills system.
This may be exceedingly stupid, but would it work to just manually insert each of the dmp files?
I swear there was less information here when I last saw this and then I forgot to respond I’m sorry
NoFade is an EA stlib def, just add #include "EAstdlib.event" to the beginning of your file and that will fix that error; jumpToHack is a macro that needs you to #include "Extensions/Hack Installation.txt" to use. In a buildfile setting these would already be included elsewhere, so the installer here wouldn’t need them, so I forgot to add them, my bad. You’re correct that your fourth error is the CSV table, if you want to construct it without a CSV make a label in the installer with the table name and then put halfwords for text IDs in order of character ID.
This hack will let you specify an arbitrary number of character ID + song ID pairs for music to change after fighting the unit once, like the Demon King does in vanilla. Note the song ID you’re specifying is the version without an intro, you should set the version with an intro on the Boss Music List. Additionally, every one of these uses the same global event flag and as such using multiple in the same chapter may be difficult.
Thanks to help from @Snakey1 and @Runa, Magic Sword Rework should now be bug-free; previously there was an issue with hit lower/hit higher stat swords that they would only work for the attacker. Now they function properly no matter who is using them, as well as some Runesword hardcoding shenanigans turning every magic sword into a Dark weapon. Additionally, setting the Always Magic bit in the MSR table now has the added effect of also using Str/2 when attacking in melee though the previous behavior was not a bug, but a feature. As always, if you find any more issues please report them so I may fix them.
Updated are all 3 versions of Magic Sword Rework: Str/2 (Vanilla), Res as Mag, and Str Mag Split, as well as the .event installer.
Next on my todo list for arbitrary lists for battle things is the effect where the Demon King forces animations on but for every class, so be on the lookout for that soon.
This hack puts the Biorhythm mechanic from FE9/FE10 into FE8.
There are 7 biorhythm effect states: Worst, Bad, Poor, Neutral, Good, Great, and Best. All of these save for Worst and Best can be approached from either direction, making a total of 12 actual states. States begin from Worst, ascending at 0 and progress through to Bad, descending at 11 before looping back to 0. This makes Neutral, ascending be 3 and Neutral, descending be 9. The Hit/Avo bonus/buff you get from each can be defined in Biorhythm.event, as can the text ID of the name for each state. Note that whether the effect is positive, negative, or neutral cannot be edited from the .event file and are hardcoded to each state.
The Biorhythm Table is where you set each character’s biorhythm initial position and rate of progression. This table is indexed by character ID and has two values per entry: initial position and amplitude. The initial position uses the values as laid out above and the rate of progression, or “amplitude” of their biorhythm wave, is number of states to advance per turn * 4. This means an amplitude of 4 will advance 1 state per turn, an amplitude of 1 will advance 1 state every 4 turns, and an amplitude of 12 will advance one full cycle forward to the current position every turn. Using an amplitude of 12 and a neutral starting position will effectively act as if there is no biorhythm for the character you set it on.
This does require Skill System by virtue of using its pre-battle calc loop to apply Biorhythm effects, as well as needing Modular Stat Screen to be on the menu. Included in the download is a readme with install instructions, the above usage explanation, and everything you’ll need to implement biorhythm yourself.
And sure, I’ll finish off tonight with a hat trick
[ASM] Character-Based Animation Forcer (FE8)
This uses the vanilla check for the Demon King class to force animations on against the final boss and expands it to an arbitrary user-defined list and also to characters instead of classes, as I figured having to make a unique class for everyone you want to force animations on for would get annoying and space-consuming very quickly.
A pair of hacks related to the eggs of lovely and deadly gorgons.
[ASM] Deny Stat Screen Access (FE8)
In vanilla, you cannot view the stat screen of gorgon eggs with the R button, nor can you scroll to them from another stat screen of the same allegiance. This hack takes that functionality and expands it to an arbitrary list of classes. Unlike the hack below, this one is harder to change the requirements off of anything class-based, as various functions here are only passed the class data and not the character struct.
The way gorgon eggs work is they always have the weapon they’ll have once hatched in their inventory. To prevent them from counterattacking when you attack them as an egg, there is a hardcoded check that disables their ability to counterattack. This hack extends that to an arbitrary list of classes. Additionally, this hack may be used as a jumping off point for applying this status in other circumstances.
Something I saw done in the FE8J hack “The Nameless Heroes”, and here it is functionally recreated in FE8U. Refuge allows you to “rescue” yourself into another unit that is capable of rescuing you (if your con is less than their aid, you can Refuge into them).
Big thanks to @StanH, whose Heroes Movement Skills and general doc were an invaluable resource for seeing how target selection and unit actions work.
This hack requires Skill System for its post-action loop and Stan’s Unit Action Rework for implementing the refuge action itself (Unit Action Rework is included with Skill System).
Akin to FE4/FE5 and FE16’s systems comes holy blood. For each blood type, you can define:
Name
Description
Growth boosts for each stat
Whether or not it allows access to dragon veins
Holy Blood locks per weapon
You can give units major or minor blood, major blood causing an icon to appear on their status screen, doubling growth bonuses, and granting access to weapons locked to that blood type.
As an example, Iron Sword is set to be locked to Donate blood.
Requires skill system’s weapon usability calc loop (this hack is the reason I made that calc loop in the first place), MSS, and dragon veins (which all come with skill system) to be fully featured.
Hacks for these have existed for a long time, but there is currently no version compatible with the skill system. This uses the proc skills loop to integrate with the skill system, so it is fully compatible.
To install, just #include StatusWeapons.event and add Proc_StatusWeapons to the proc skills loop.
To make a weapon a status weapon, just give it weapon effect 0xD and put the ID of the status you wish to inflict at item data +0x22 (the second unused byte at the end of each table entry, the same one used by Item Effect Revamp). Statuses applied during battles are hardcoded to always last 5 turns; if you want to change this amount, the byte at 0x178EA is the duration shifted 4 bits left (the default value is 0x50 which equates to 5 turns, 0x30 would equate to 3 turns, etc).
Escape/Arrive Update
An update to Escape/Arrive has removed everything still tied to event ID flags. Additionally, I have created macros for easily implementing Thracian Escape. The macro EscapeCapturedCheck(charID,flagID) will check if the specified character is still on the map, and if so will REMA them and set the specified flag (It calls a macro event, so no worries about gigantic events for your chapter it’s only 6 instructions long). Implementing this has involved making some minor behind the scenes tweaks, most notably that characters are no longer REMA’d when escaping as they used to be. These updates are available at the download link in the first post and will be integrated into the skill system repository’s version of this hack soon.