Starting to collect a few creations I’d like to make easily accessible and thought to make individual threads for all of them might get a little bit ludicrous so this thread is for whatever I cook up. For now, starting off with this:
[ASM] Escape / Arrive (FE8)
This hack offers two new map objectives, Escape and Arrive, modeled after their Tellius implementation. With Arrive, when any unit reaches the point and uses the command the chapter will end. With Escape, when any non-lord unit reaches the point and uses the command they will leave the map (this uses REMU, you’ll have to use standard event implementations to reveal them again for later chapters). When the lord unit reaches the point and uses the command the chapter will end.
Creating Arrive and Escape points is simple; they use Seize points, but when event ID flag 0x21 is set Seize becomes Arrive and when event ID flag 0x22 is set Seize becomes Escape. NOTE: Event ID flag 0x23 is also used in the process of escaping units, if you set this the next time a unit ends its turn it will vanish. Avoid using these three IDs (there are 24 before this point that you can use + 5 after, there should be plenty still).
Know that this hack is highly integrated with the Skill System and will not work without it. No longer requires Skill System, works standalone, Skill System portion still present if you wish to use it.
Everything in the
Post Combat Skills folder needs to go in
Skill System/Post Combat Skills; this piggybacks off of existing post combat things from the skill system to properly let units escape (+ this edits skill system’s canto routines so you can’t canto after escaping)
Everything in the
Escape/Arrive folder should probably go in its own folder in
Engine Hacks; you’ll want to
Escape Installer.event, probably in your Master Hack Installer, which will handle installing everything. Additionally, at the bottom of the skill system’s Master Hack Installer is the unit menu command list; you’ll want to replace the line
UM_Seize with the following four lines:
MenuCommand(0x67A, 0x6CC, BlueText, NewSeizeCheck|IsPointer, $8023021) MenuCommand(ArriveName, ArriveDesc, BlueText, ArriveCheck|IsPointer, $8023021) MenuCommand(EscapeName, EscapeDesc, BlueText, EscapeLordUsability|IsPointer, $8023021) MenuCommand(EscapeName, EscapeDesc, BlueText, EscapeGeneralUsability|IsPointer, EscapeGeneralEffect|IsPointer)
These will make Escape and Arrive show up in the menu and make Seize play nice with them; you can change the menu command colors here if you so desire (the color defines are in
[ASM] Magic Sword Rework (FE8)
Magic Sword Rework
Lets you define as many weapons as you’d like as magic swords, so they’ll use Str/2 and hit Res when attacking at 2+ range but act as normal swords in melee. You can set the weapon type the sword uses at 2+ range (Anima/Light/Dark, or something else if you’re feeling crazy) as well as whether or not to use magic damage in melee, like with the Runesword (won’t use magic animations in melee though, but @circleseverywhere did a hack a while ago that takes care of that part: [FE8] Always display ranged animation for some weapons ).
To install, just put
MagicSwordRework.dmp in the same directory and #include the event file. Within the event file, you can define what items are magic swords. Each entry in the magic sword list is 3 bytes long; first is item ID, the second is weapon type (there are definitions for it as well), and third is whether or not to use magic damage in melee (True to use, False to not). Make sure you set bit 0x40 in the item ability 1 byte for your new magic swords as well, that’s what lets it hit res at range.
[ASM] Super Arena (FE8)
Unused in all 3 GBA Fire Emblem games is a setting for the arena that makes the enemies more difficult across the board. With this hack, after winning 2 arena fights Super Arena is turned on for that unit.
The vanilla text will not properly display due to going 3 lines before clearing the text and text scrolling doesn’t work properly in the arena. Here’s a fixed version:
Welcome to the arena.[A][NL] Oh! It's you again.[A][2NL] I've lost a lot of gold[NL] thanks to you...[A][2NL] If you want to continue,[A][2NL] we're going to have to[NL] do things differently.[A][2NL] I'm going to prepare some[NL] more challenging foes.[A][X]
Install to text ID
0x8D1 to replace the existing broken version.
[ASM] Separate Shop Music (FE8)
Unique Shop Musics
Ever wanted your secret shops to have unique music? Well, now they can! This hack changes the vanilla check of
if armory play armory, else play vendor with a case for all 3 shop types. The song each has is changable from the EA installer as well.
[ASM] Save Globals Through Suspend (FE8)
Globals Through Suspend
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:
Once again to install just #include the .event file.
[ASM] Change Weapon Ranks ASMC (FE8)
Weapon Ranks ASMC
A way to change any unit’s weapon ranks through events, intended to allow giving characters access to weapon types they normally wouldn’t get through story events or likewise, as well as removing weapon ranks so a character can have their access to a weapon type their class would normally get revoked without affecting all units with that class.
Install it to anywhere in free space then call it with ASMC. It takes 3 arguments; character ID in memory slot 1, weapon type in memory slot 2, and weapon rank in slot 3.
A few examples of how it could be used:
Revoke Moulder’s Staff rank:
SVAL 1 Moulder SVAL 2 4 SVAL 3 0 ASMC ChangeWeaponRankASMC|1
Give Eirika a D lance rank:
SVAL 1 Eirika SVAL 2 1 SVAL 3 31 ASMC ChangeWeaponRankASMC|1
[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):
CheckLevel(Character) CheckExperience(Character) CheckMaxHP(Character) CheckCurrentHP(Character) CheckStrength(Character) CheckSkill(Character) CheckSpeed(Character) CheckDefense(Character) CheckResistance(Character) CheckConstitution(Character) CheckMovement(Character) CheckInventory(Character,Item) CheckSwordRank(Character) CheckLanceRank(Character) CheckAxeRank(Character) CheckBowRank(Character) CheckStaffRank(Character) CheckAnimaRank(Character) CheckLightRank(Character) CheckDarkRank(Character) CheckStatusEffect(Character) CheckStatusDuration(Character) CheckMagic(Character) //needs strmag split
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] Modular Changing Battle BGM (FE8)
Changing Battle BGM
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.
[ASM] Arbitrary List of Classes With Dancer Music (FE8)
This hack allows you to define an arbitrary list of classes for whom the dancer music will play when dancing.
Here you can see the various scenarios without this hack vs with this hack.
[ASM] Biorhythm (FE8)
This hack puts the Biorhythm mechanic from FE9/FE10 into FE8.
There are 7 biorhythm effect states:
Best. All of these save for
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
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.
[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.
[ASM] Deny Stat Screen Access (FE8)
Deny Stat Screen
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.
[ASM] Deny Counterattacks (FE8)
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.
[ASM] Dancer Ring Refresh (FE8)
Dancer Ring Refresh
Fairly self-explanatory, lets dancer rings refresh like Dance in addition to applying their effect.
[ASM] Refuge (FE8U)
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).
Installation instructions are included in the download package.
[ASM] Holy Blood (FE8)
Akin to FE4/FE5 and FE16’s systems comes holy blood. For each blood type, you can define:
- 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.
[ASM] Status-Inflicting Weapons (FE8U)
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).
[ASM] Item-Specific WTA (FE8)
Off the Community ASM Bounty List. It allows you to set WTA effects on specific weapons vs. specific other weapons.
#include ItemSpecificWTA.event and add
ItemSpecificWTA to the skill system WTA calc loop to install.
[ASM] Fatigue (FE8)
Per request of a few, an FE5-style fatigue system in FE8.
Fatigue will increment by 1 after every Combat, Staff, Dance, Steal, or Summon action you take, and for staves will increase by an additional 1 per weapon level above E the used staff requires (D gives 2, C gives 3, etc.). If your fatigue exceeds your maximum HP, you will be unable to be deployed at the next preparations screen. Sitting out for a chapter, no matter your fatigue level, will reset it to 0 at the next prep screen. Optionally, you can set stat debuffs to occur if a unit becomes fatigued mid-chapter. S Drinks can be used to restore your fatigue to 0 no matter where it’s at, and you can also create items that restore an amount of fatigue equal to their might value.
Fatigue changes a few things with how much the game saves by slightly extending the amount of data it saves per unit, so it may cut the total number of player units that can be saved ever so slightly. To do this, it requires Expanded Modular Save. To actually increment fatigue, it requires the skill system post-battle calc loop. For items to be usable on the prep screen, it requires Teraspark’s Item Effect Revamp. It also integrates with Modular Stat Screen for displaying fatigue.
#include “Fatigue/Fatigue.event” to install the meat of the system. This will also install Teraspark’s Item Effect Revamp v0.8 by default as it is necessary to make items usable at the prep screen properly; make sure to manually uninclude this if you are already using it. If you have custom item use routines and are not using Item Effect Revamp, you may need to move the pointers to their routines to the IE Revamp table, as it moves four separate vanilla item use routine pointer tables to its own singular table. See the IE Revamp thread for more information on the function of Item Effect Revamp.
Item Effect Revamp requires a set of tables, some of which replace vanilla tables. These are in the
Tablessubfolder and should be placed with the rest of your CSV tables. By default, S Drinks are set to effect ID 0x38 and general fatigue restore items to 0x39.
Fatigue stat screen layout is in the
ModularStatScreensubfolder. Note that this is a strmag split layout, although the Fatigue section of it may be relocated to any MSS file you desire.
The ExpandedModularSave module for saving fatigue is in the
EMSsubfolder. Note that as this is built with compatibility in mind, it saves Snakey’s Stairs byte through suspend as well as str/mag split Magic stat through suspend and saving in addition to fatigue. If you are not using one or both of these it will still function, but it is compatible with them. Further note that as this extends the length of the saved unit data very slightly, it may reduce the maximum number of player units that can be saved by a small amount.
Necessary text is in the
In the Skill System Post-Battle Calc Loop (
POIN PostCombatIncrementFatigue PostCombatStaffIncrementFatigue. This is the part that actually gives you fatigue after taking actions.
To create S Drinks, give the item you want to be an S Drink the use effect of 0x38. To create any other fatigue-restoring item, set the might of the item to the amount of fatigue you want it to restore and give it use effect 0x39. The effect IDs can be changed if necessary by fiddling with IE Revamp tables.
You can cause stat debuffs for becoming fatigued mid-chapter by adding
FatiguedStatPenaltyto the stat getter loops for the stats you wish to debuff (halves stats by default).
[ASM] Split Promotion Items (FE8)
Split Promo Items
Allows the usage of different promo items to result in different classes when used, similar to the Elysian Whip in DSFE.
It also retains the function of vanilla FE8 split promotions, so you can have items like the Master Seal give a choice and separate promotion items to force one or the other pick.
This hack is completely standalone and does not require or integrate with anything else. Afaik it doesn’t conflict with anything else either. To install, just #include “SplitPromoItems.event”. The lists for associating used promo item with list to reference, list of master seal items, and lists of class-promotion pairs for each class are included in that installer.
The default class settings are only present so things don’t get funky when a class can use a promo item and there is no associated promotion option on the table, it’s in no way balanced or even thoroughly thought through and you are free to change it as you see fit.
[NMM] FE6/7/8 Sound Room Nightmare Modules
Sound Room Modules
Saw this didn’t exist and needed to edit Sound Room for a project, so I wrote nightmare modules for FE7 and FE8’s sound rooms.
[NMM] FE8 Boss Music Editor
Boss Music Editor
Couldn’t find this one anywhere so I did it myself