SageMatthis's Palace

This is where I will put any assets that I make.
These are free to use and modify with appropriate credits.
Acceptable credits include: “SageMatthis”, “EgalLau37”, or “SageMatthis/EgalLau37”.

These are for FE7.
ASM:
I wrote all of these from scratch.
A set of instructions for how to use these is included in the download.
Download link

Extra character info page

This adds an extra page to the unit R-menu. This is similar to “Personal Info Page” by Runa (Runa Does an ASM).
The differences are that this version has an extra line for “Affiliation”, also allows for a quote, and has built-in conditions for faction and flags. The page also is always displayed but will display blank information for units without any texts assigned to it.

Expanded weapon abilities

This changes how the game interprets various weapon abilities (bytes 0x8~0xB, 0x1F) and splits various abilities into different flags.
The following is a break-down of weapon abilities with this installed; a “->” denotes a change from original to new:

field 1:
01 - equippable
02 - magic
04 - staff
08 - unbreakable
10 - unsellable/undroppable → unsellable
20 - brave
40 - magic weapon/no weapon EXP
80 - uncounterable/force long-range/decrement durability on miss → uncounterable

field 2:
01 - reverse triangle/double triangle effects → reverse triangle
02 - disable hammerne
04 - manakete lock/do not display stats
08 - weapon lock → cannot drop
10 - myrmidon-swordmaster lock → unused
20 - prf
40 - negate fly effectiveness
80 - negate criticals

field 3:
01 - unuseable
02 - negate def/res
04 - eliwood lock → nosferatu
08 - hector lock → eclipse
10 - lyn lock → apocalypse
20 - athos lock → devil
40 - unknown/unused → imhullu
80 - unknown/unused → starlight

field 4:
01 - unknown/unused → ignore triangle
02 - unknown/unused → double triangle effects
04 - unknown/unused → cannot critical
08 - unknown/unused → cannot double
10 - unknown/unused → cannot be doubled
20 - unknown/unused → force short-range
40 - unknown/unused → force long-range
80 - unknown/unused → decrement durability on miss

Byte 0x1F is now only used for determining whether the weapon inflicts poison.
If both Apocalypse and Eclipse are enabled, damage dealt will be equal to the target’s current HP.

Custom army status

This command is called “Fortune” in battle preparations by default.
This hack makes the “Reading” and “Rank” sub-menu commands read from a table rather than checking a specific portrait ID in chapter data. The Lyn-mode restriction has also been removed.

Force ranged animation

This hack changes the hardcoding for forcing ranged animation to instead read from a list of weapons that should force a unit to use ranged animations, even at 1-range.

Weapon type override

This hack changes the hardcoding for specific weapons to use a different weapon type depending on the range (Light brand is Light at range but Sword at melee) to instead read from a table to determine whether a weapon should use a different type, when this alternate typing should be used, and what type of damage should be dealt (magical versus physical).

Negate special effects

This changes character ability 0x8 at field 4 to “negate Luna, Eclipse, and Apocalypse”. Requires the expanded weapon abilities to work in its current form. Luna will not set target def/res to 0, and Eclipse and Apocalypse will deal damage as if they were standard weapons.

Per affinity texts

This hack adds a routine to the R-button help description for affinity. Each affinity will instead display a different text ID rather than a generic help description.

AI cannot steal

This hack adds an extra check to the AI steal check. If flag 0x80 in AI4 is set, the AI unit will not steal. Useful for bosses that have the steal ability that are intended to guard a specific tile.

Casual mode option

This hack adds coding for a menu option for casual mode. A hack that adds casual mode is required for this menu option to have any gameplay effect. The option ID is 0x10.

Unit conditional texts

This hack adds code to allow a unit to display an alternate name and description if certain conditions are met. If a text ID is not specified, the default text ID will be used instead.
Conditions include: chapter ID, faction, class, mode, flags, and allows use of a custom ASM check routine.

Custom level cap

This hack makes the level cap be based on a table on a per-class basis. I recall seeing this hack somewhere many years ago but decided to just write my own. It should function the same as that one.

Custom unit palettes

This hack adds code to allow unique palettes for specific units, including palettes for map sprites, HP boxes, map battle stats, and battle forecast. I recall seeing something similar years ago, and the idea for this hack came from that. Not sure if this is the original one I saw, but the filenames look fairly similar to what I saw in the past: Spooky ASM .
The differences include optional conditionals for each palette and the ability to assign an already-existing map sprite palette as a custom sprite color to avoid using the extra map sprite palette if that unit should just use the default map sprite palette for its faction.
Another tweak/fix included with this hack is that Wall/Snag uses the other/fourth palette for map battle stats instead of the player/ally palette.
Conditions include: faction, flag, and allows for custom ASM check routine.

Custom army commander

This hack allows specification of a unit to be designated as the army commander on a per-chapter basis. This affects the status screen and auto-cursor.

17 Likes

I recall some years ago seeing this:

At that time, I did not have a need of it(or saw it was FE8 only), so I simply kept it in memory without saving the direct link. I now have need of it and searched for it but realized that this was for FE8. Another search did not yield an FE7 version.
Thus, I downloaded it and tweaked the values so that it works for FE7:


This is an FE7 port of the FE8 cloud fix by Tequila that also implements the adjusted skybox to fill in the void in the center.

Download link:

☼☼☼

I noticed an oversight in my expanded weapon abilities code; the cannot critical flag only changed the non-combat critical display to 0 but failed to actually set the critical rate to 0 for combat calculations and combat itself. The patch link has been updated.



An additional parameter option has also been added with regards to the expanded weapon abilities. For the “Uncounterable” flag, there is now a toggle to choose between three options: vanilla, attackerOnly, and defenderOnly.
Vanilla leaves the uncounterable flag as it appears by default where if either attacker or defender are equipped with a weapon with “Uncounterable”, counters are disabled for that battle.

attackerOnly changes it so that only the wielder cannot be countered if its currently equipped weapon has “Uncounterable”.
Example:
Lau (Xhonzeir) vs. Albert (Tonobogiri [“uncounterable”])
If I initiate an attack against Albert, he can counter back during this attack.
However, when Albert initiates an attack against me during the enemy turn, I am unable to counter him in that attack:

defenderOnly prevents the one equipped with “Uncounterable” from countering.

A bug I noticed with the expanded weapon abilities is that all weapons always decremented durability, even on miss, regardless of what ability flags an item had. This has been fixed.

3 Likes