Give credit, as you always should.
Please let me know of any glitches you find, and I will fix them ASAP.
I use lyn for my hooks. Learn more here. Just make sure you have lyn.exe in your "Tools" folder of EA, place the folder of the ASM you want in the folder of the .event file, and use the installers I provide.
Download here. Keep reading for detailed descriptions.
Anima Magic Triangle
This works much like the the Tellius anima triangle.
Fire beats wind.
Wind beats thunder.
Thunder beats fire.
#inctext lyn "AnimaTriangle/AnimaTriangle.elf" "AnimaTriangle/Definitions.elf"
// Example lists:
BYTE Fire Elfire Arcfire Bolganone Meteor 0x00
BYTE Thunder Elthunder Arcthunder Thoron 0x00
BYTE Wind Elwind Arcwind Tornado Aircalibur WindSword 0x00
Pretty straightforward. This goes in your .event file.
Under FireList, make a list of all items you want to be included in the triangle as fire. Complete ThunderList and WindList except with thunder and wind items. Terminate each list with an 0x00.
Just fill out those lists and stick the AnimaTriangle folder in the folder containing the .event file, and you're good to go!
This one's pretty simple. It just doubles EXP, but it maxes at 100 EXP per battle round.
#inctext lyn "DoubleEXP/DoubleEXP.elf" "DoubleEXP/Definitions.elf"
I worked this off of Paragon. It used to be a bad edit of it, but I've fixed it since then.
Level Up ASM
Does anyone like empty level ups? No one? Okay good. This ASM prevents those!
Including this will ensure at least one stat growth in a randomly selected stat if no level up stat growths are detected.
If a stat is maxed, it will not choose that one. If all stats are maxed, no growth will occur, so, I guess empty level ups are still possible...
#inctext lyn "LevelUP/LevelUP.elf" "LevelUp/Definitions.elf"
This one could use a little more testing, but it would be very tedious to test it as extensively as I would like. If anything happens that's weird with this included, please let me know. I think it should work without a hitch.
Hopefully, this should make unit placement easier in buildfiles. It certainly does for me. Just #include it somewhere.
What this does is it writes all basic REDA data for moving to coordinates between 0-30 for X and Y.
UNIT Haedrican Fighter Leon Level(7,Enemy,True) [0,11] 0x00 0x00 0x01 REDA8R15 [HandAxe] NoAI
This unit will spawn at [0,11], then will move to [8,15].
In each UNIT code you need a REDA in, put
0x01 REDA(X)R(Y). For
(# of REDA's to read) and (Pointer to REDA data).
REDA8R15 is included in my file with REDA data to move the unit to [8,15].
Conditionally Loading Portraits
As in, load this portrait if event ID X is triggered. Load this one if not.
Okay. I can't provide a download for this one. I wrote this for Legends of Avenir (shameless self-promotion lol), but the ASM would be so dependent on your needs (event IDs to check, number of event IDs to check, text control code, etc. ) that any source I post would be useless except as documentation. If you're interested, find me on Discord and I'll help you out.
I hope to have some new projects coming out . Find me on Discord if you have any questions or suggestions!
EDIT: There were bugs with Double EXP because it was bad. I finally forced myself to redo it, but it should be fine now. Also, I almost forgot: Shoutouts to the helpful wizards who helped me along!