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.
[Mapping] Improved FE8 Desert Tileset
Being largely unhappy with how bare-bones FE8’s desert tileset is, chapter 15 for GFE1R and after @DerTheVaporeon mentioned that a large part of its graphics are from the cave tileset and unused, I set to work adding some of the missing elements to this tileset.
-Palm Tree on Grass
-Shadow Tiles for Floors
-Horizontal and Vertical Stairs + 1-Tile Floor Stairs
-House, Vendor, Armory, and Fort on Grass
-Arena on Sand and on Grass
-2 otherwise unused colors on last palette to make walls, doors, and stairs look correct
I also attempted to add the following, but they did not work mostly due to having to redraw them pixel by pixel and that turning out poorly:
-Other varieties of floor tiles
-Sand to Water transition tiles
-Added some grass cliffs at the request of @DerTheVaporeon (I’m apparently trying to see how many times I can ping him in a single post)
-Added @Feaw’s rocks, supplied by @Dancer_A
-Broke the ballista letter tiles, oops
-Added more variations of stair tiles
-Added Sacae huts (this was an amazing idea that I never would have thought to do thank you @LordGlenn)
-Added side desert cliffs
-Fixed right side of large Sacae hut
Included in the download package is the raw graphics, TSA configuration, and palette, as well as the assembled tileset as its own image (see: the image at the top of this post) for use in your map editor of choice.
In the Tileset Palette Editor, navigate to the desert tileset. Click the import tile config button in the bottom left and import
BetterDesert.mapchip_config. Click the import image button and import
BetterDesert.png. In the Palette section, go to Palette 4 and click Clipboard. Paste this in and press Change:
Somewhere in your buildfile, place the
Tileset Installer.event. In the folder with that file, make a new folder called
Tileset. In the
Tileset folder, place
BetterDesertPalette.dmp. #include the Tileset Installer. It will write over the vanilla desert tileset, as it doesn’t change anything about that tileset it shouldn’t break any maps already using it.
Credit goes to @DerTheVaporeon for making a cave tileset installer whose structure I used for the installer here.
[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