Sme’s ASM and Miscellany

Could that deny counters ASM be expanded to make Firesweep weapons?

1 Like

You can already make uncounterable weapons without asm

2 Likes

But, doesn’t that force it into long-range battle anims mode? That itself could be a thing to change… :thinking:

[ASM] Dancer Ring Refresh (FE8)

Fairly self-explanatory, lets dancer rings refresh like Dance in addition to applying their effect.

rKgZip0fTc

Download

10 Likes

[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).

Download

Installation instructions are included in the download package.

13 Likes

[ASM] Holy Blood (FE8)

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.

Download

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.

13 Likes

[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.

Download

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.

8 Likes

[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.

9mkYx2N0d6

Download

#include ItemSpecificWTA.event and add ItemSpecificWTA to the skill system WTA calc loop to install.

6 Likes

[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 total, C gives 3 total, 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.

Download

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.

Installation Instructions
  • #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 Tables subfolder 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 ModularStatScreen subfolder. 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 EMS subfolder. 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 Text subfolder.

  • In the Skill System Post-Battle Calc Loop (SkillSystem/Internals/CalcLoops/PostBattleCalcLoop), add 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 FatiguedStatPenalty to the stat getter loops for the stats you wish to debuff (halves stats by default).

Special thanks to @Pandan, @Snakey1, @circleseverywhere, @Teraspark, and @Pikmin1211 for help in various aspects of this system and @cardcafe for the S Drink icon included with the download package.

22 Likes

I am in love. Thank you, Sme.

I’ll be sure to follow up with questions once I try to get this working.

1 Like

Some quick questions:

  1. Does this work with the leadership star patch? I’m assuming the MSS parts just overwrites the visuals for it?
  2. What do you believe is the current max number of player characters this patch will allow?
  3. Is there a “lord is immune to fatigue” like with Leif option?
  4. Is there a version where being over fatigued only causes the stat debuff and still allows you to redeploy?

Question of my own is this compatible with FE_Builder_GBA or should I use another software to implement it? Also this looks awesome. Fatigued never gets any love, it’s actually a really smart mechanic.

Yes, you just need to make an MSS layout that shows both

It only adds 4 bytes to each saved character pushing it to 0x30 bytes each, the save chunk is 0x0AA8 bytes long so the cap becomes 56 (previously 62). There is an additional 0x21C bytes of free space that the save chunk size could be expanded by, so setting the size to 0xBA0 would restore the cap to 62.

Oh poop I forgot to mention this part
There’s a list of unit IDs immune to fatigue, as well as a setting for first chapter where fatigue should apply.

Not natively, but if you alter the function that hooks at the prep screen to always return false, units will not be denied deployment

Intended to be applied with EA as part of a buildfile, but if you manually handle the parts that would be handled there you can apply it to any given rom in theory; I would recommend applying this to a clean rom using skillsystem buildfile first then building your hack off of there

1 Like

Fatigue sounds like it would be really useful. I will definitely be using this in a future project…

[ASM] Split Promotion Items (FE8)

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.

Download

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.

22 Likes

Pikmin’s gonna love this.

2 Likes

Great! I was thinking about having vanilla seals for regular classes and special seals for future hybrid classes.

1 Like

I think I found a bug.

If you use an item that heals fatigue based on might, and the value becomes negative, it causes the fatigue value to loop.

1 2 3

I believe this section of the fatigueitem.s file is the culprit:

@apply fatigue modifier
mov r1,r4
add r1,#0x3B
ldrb r2,[r1]
sub r2,r0
strb r2,[r1]

Because there is no check if the subtraction results in a negative number, it just stores the looped value.

Nice catch, I likely forgot the “if <0 set to 0” check because I did s drinks first and they don’t need a check like this. I have fixed this and updated the download package, the only changed files are FatigueItems.s and FatigueItems.lyn.event.

1 Like

forgot to release this lol

[ASM] Fixed Damage Weapons (FE8)

A la crossbows. Configurable list of weapons that ignore user’s atk in mt calc and just use the weapon’s mt directly.
HwCdbWSoP4

Download

To install, just #include "FixedDamageWeapons.event" and add POIN FixedDamageWeapons to the end of the skill system pre-battle calc loop.

19 Likes

Yet another step closer to a Radiant Dawn demake

Map affinity when

6 Likes