Here are the leftover tidbits that I had on FE8 (I figured that with the new tutorial being written that I would take them out of mine in order to make the tut shorter):
While FE6 and FE7 use pointers for "Bad" units to put enemies on prep screen maps, in FE8, any enemies loaded prior to the preparations screen will appear (that's a major space saver, trust me).
UNIT characterID classID leader Level(#,side,autolevel?) [X,Y] flags 0x00 amount REinforcementDAta [Item 1,Item 2,Item 3,Item 4] AI
- characterID and classID can be found in the EAstdlib, or in the Nightmare Modules' character editor (don't forget that you can define names yourself!).
- The "leader" is the character that the auto-cursor goes on, and the character that appears as the Army Commander in the Status screen. The character that is the leader should have 0x00 as his value for that byte.
- The level part included works with the Event Assembler. Level(10,Ally,False) tells the EA I want a Level 10 Ally with no autolevel. To use autolevel, type the word "True." Possible value for side are "Ally" "Enemy" or "NPC."
- Unlike FE7 & FE6, there is only one set of coordinates. These are the coordinates your unit appear on when loaded.
- For flags, we only know of two values (both defined by the EAstdlib). "MonsterTemplate" makes the unit function like a unit in the Tower/Ruins. "DropItem" makes the last item drop-able upon death.
- amount is the...amount of REDA's (REinforcement DAtas) the unit has. This will make more sense when REDAs are explained in a bit.
- The pointer to a unit's REDA's.
- Items are pretty self-explanatory, you can only specify four (not five, which is the maximum # of items holdable).
- Values for AI can be found with the Chapter Unit Editor Nightmare Modules. There are definitions for AI combos in the EAstdlib for FE7.
So, let's go over REDAs. In FE7 & FE6 you specify two coordinates. Coordinates for a unit to load on and then a second set that the unit instantly moves to upon loading. FE8 handles this very differently.
REDA [X,Y] Speed Rescuer Delay
You can have a series of REDA codes, making specific complex movements quite possible. These also enable units to rescue one another; when not rescuing, however, the Rescuer parameter should be 0x00. Speed handles the unit's movement speed, and Delay is just, ya know, putting a delay before the movement is executed.
Here's an example:
UNIT Forde Cavalier 0x00 Level(1,Ally,False) [9,8] DropItem 0x00 0x02 FordeMove [SilverSword,0x00,0x00,0x00] NoAI
REDA [12,3] 0x5 0x00 0x20
REDA [10,4] 0x1 0x00 0x00
Scripted Fight Sequences: FE8
Fights work somewhat differently than FE7. The FIG1 command triggers a fight, it does not contain a pointer to a fight command. Instead you specify what happens in the fight directly before the FIG1 command. Here's an example:
FIG1 Attacker Defender
FIG1 starts the fight with animations on. Alternatively you can use FIG2 for map battles (everything else between the two codes is the same).
CMDS begins the listing for the fight commands. Always have it before your list of battle actions.
Each battle action triggers one attack, the code I used above has only two attacks. Theoretically you can have many more attacks for a death-match of sorts. Be sure to end your action list with "EndBattle" as shown above.
For the value of the combatant, you can use 0 for the fighter on the left or 1 for the fighter on the right. For the HP value you can leave it as 0 to do damage normally. If you input any other numeric value, that is the damage that will be dealt by the attack. Big Shield's effect does not automatically apply, so you need to trigger the animation, then have the following attack by the opponent deal severely reduced damage. Since 0 tells the game to apply damage normally, doing 1 damage would be the only way to semi-replicate the effect.
Special thanks to Mage Knight 404 for his great documentation of FE8 fights, and to @CT075 for the creation of the FE8 fight macros.
Note for FE8: The CURF command doesn't exist in FE8. This macro was created for FE8-users to give them an easy-to-use cursor command.
time can be set to anything, but 60 is equivalent to FE7/FE6's automatically-timed cursor.