Difference between revisions of "Final Fantasy Hacktics:Sandbox"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (expansion 1)
(Replaced content with "= General Tools = == FFTPatcher Suite File:win.png File:psx.png File:psp.png == Tools that will help you edit general stats, text, sprites, and apply ASM hack...")
Tag: Replaced
 
Line 1: Line 1:
[http://xifanie.ffhacktics.com/CONFIG.INI Download the latest CONFIG.INI (2014-04-10)]
+
= General Tools =
__FORCETOC__
 
==Mini-Guides==
 
*[[Making a unit enter/leave the map]]
 
  
 +
== FFTPatcher Suite [[File:win.png]] [[File:psx.png]] [[File:psp.png]] ==
 +
Tools that will help you edit general stats, text, sprites, and apply ASM hacks.
 +
* [https://github.com/Glain/FFTPatcher/releases/download/v0.494.2/FFTPatcher_494.rar Download v0.494]
 +
* github page here
 +
* Authors: melonhead and Glain
  
New Instructions exclusive:
+
== Level Up Simulator [[File:win.png]] [[File:psx.png]] ==
*[[Handling BlockLoop]]
+
Simulate a unit's stat growth by level
 
+
* [{{filepath:LvlSimv1.0.7z}} Download v1.0]
 
 
==Instructions==
 
 
 
{| class="wikitable"
 
|-
 
!|Instruction Name
 
!|Example
 
!|History
 
|-
 
|'''[[Event_Instruction_10|<span title="This instruction is used to display any text stored after the event's instruction in various ways like a character thinking, speaking, or simply printing text on the screen.">{10} DisplayMessage</span>]]'''
 
|'''DisplayMessage(x10,<span title="Dialog Type" style="color:green">xDT</span>,<span title="Message ID" style="color:green">xMSG#</span>,<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Portrait Row" style="color:green">xPR</span>,<span title="X Coordinate" style="color:green">+XXXXX</span>,<span title="Y Coordinate" style="color:green">+YYYYY</span>,<span title="Arrow Position" style="color:green">+ARPOS</span>,<span title="Dialog Box Opening Type" style="color:green">xOT</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_11|<span title="This instruction is used load a humanoid shaped sprite off EVTCHR.BIN on a sprite using the original unit's palette.">{11} UnitAnim</span>]]'''
 
|'''UnitAnim(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Animation ID (SEQ/EVTCHR)" style="color:green">xANIM</span>,x00)'''
 
|Structure Altered
 
|-
 
|'''[[Event_Instruction_12|{12}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_13|<span title="Changes the map the event is currently played in. Not recommended for use.">{13} ChangeMapBeta</span>]]'''
 
|'''ChangeMapBeta(<span title="Map" style="color:green">MAP</span>,x00)'''
 
|Renamed (ChangeMap)
 
|-
 
|'''[[Event_Instruction_16|<span title="Pause the event and resume it when the player presses either O (confirm), X (cancel) or select.">{16} Pause</span>]]'''
 
|'''Pause()'''
 
|
 
|-
 
|'''[[Event_Instruction_17|{17}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_18|<span title="Uses an ability or effect on target Unit.  Only one Effect can play at a time or the game will freeze.">{18} Effect</span>]]'''
 
|'''Effect(<span title="Ability/Effect ID" style="color:green">xEFID</span>,<span title="Unit ID" style="color:green">xID</span>,<span title="X Coordinate" style="color:green">XXX</span>,<span title="Y Coordinate" style="color:green">YYY</span>,<span title="Unknown" style="color:green">x00</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_19|<span title="Moves camera around the map, like a small helicopter.
 
 
 
The coordinates used are the map's absolute coordinates, not relative ones to where the camera currently is.
 
 
 
All entry fields can range from -32768 to 32767. Tiles are 28x28, and Camera motion is 4x more precise, so 112 = 1 Tile. 1h is 12 pixels high, so 48 = 1h, and regular units are 3h tall.">{19} Camera</span>]]'''
 
|'''Camera(<span title="X axis" style="color:green">+XXXXX</span>,<span title="Z axis" style="color:green">+ZZZZZ</span>,<span title="Y axis" style="color:green">+YYYYY</span>,<span title="Angle" style="color:green">+ANGLE</span>,<span title="Map Rotation" style="color:green">+MAPRT</span>,<span title="Camera Rotation" style="color:green">+CAMRT</span>,<span title="Zoom" style="color:green">+ZOOM%</span>,<span title="Time" style="color:green">+TIMER</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_1A|<span title="Modifies the color of the map's lighting.
 
 
 
Battle-friendly.">{1A} MapDarkness</span>]]'''
 
|'''MapDarkness(<span title="Blending Mode" style="color:green">xBM</span>,<span title="Red" style="color:green">+RED</span>,<span title="Green" style="color:green">+GRN</span>,<span title="Blue" style="color:green">+BLU</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_1B|<span title="Controls the map's lighting, and has the ability to change the color of the light.
 
 
 
Battle-friendly.">{1B} MapLight</span>]]'''
 
|'''MapLight(<span title="Unknown (Controls Lighting)" style="color:green">+00000</span>,<span title="Unknown (Controls Lighting)" style="color:green">+00000</span>,<span title="Unknown (Controls Lighting)" style="color:green">+?????</span>,<span title="Red" style="color:green">+RRRED</span>,<span title="Green" style="color:green">+GREEN</span>,<span title="Blue" style="color:green">+BBLUE</span>,<span title="Time" style="color:green">+TIMER</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_1C|<span title="This instruction determines the speed the event will play. It is only used alongside Lucavi transformation and death Effects to slow them down.">{1C} EventSpeed</span>]]'''
 
|'''EventSpeed(<span title="Speed" style="color:green">xSP</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_1D|<span title="Place many camera instructions in this block make them transition smoothly.">{1D} CameraFusionStart</span>]]'''
 
|'''CameraFusionStart()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_1E|<span title="Place many camera instructions in this block make them transition smoothly.">{1E} CameraFusionEnd</span>]]'''
 
|'''CameraFusionEnd()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_1F|<span title="The next Camera instruction will automatically center between Unit 1 and Unit 2. If the two are the same unit, it focuses on that single unit.">{1F} Focus</span>]]'''
 
|'''Focus(<span title="Unit 1 ID" style="color:green">xID</span>,x00,<span title="Unit 2 ID" style="color:green">xID</span>,x00,<span title="Unknown" style="color:green">x00</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_21|<span title="Terminate currently playing sound created by this instruction & plays the indexed sound once.">{21} Sound</span>]]'''
 
|'''Sound(<span title="Sound ID" style="color:green">xSDID</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_22|<span title="Toggle between the first and second song assigned in ATTACK.OUT for the scenario.">{22} Music</span>]]'''
 
|'''Music(x01,<span title="Volume" style="color:green">+VOL</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_23|{23}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_24|{24}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_25|{25}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_26|{26}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_27|<span title="Reloads the map with new, currently stored settings such as map arrangement (Variable x0030), weather and daytime. Map arrangements and daytime can be viewed using map2gl.">{27} ReloadMapState</span>]]'''
 
|'''ReloadMapState()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_28|<span title="Make a unit attempt walking to given location.
 
 
 
If the unit cannot reach destination, it will only enter walking state and not move at all.
 
 
 
Jump value affects the path the unit will take.">{28} WalkTo</span>]]'''
 
|'''WalkTo(<span title="Unit ID" style="color:green">xID</span>,<span title="Unknown" style="color:green">x00</span>,<span title="X Coordinate" style="color:green">XXX</span>,<span title="Y Coordinate" style="color:green">YYY</span>,<span title="Elevation" style="color:green">xEL</span>,<span title="Unknown" style="color:green">x00</span>,<span title="Speed" style="color:green">+SPD</span>,<span title="Unknown" style="color:green">x01</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_29|<span title="Resumes instructions when the given unit arrives at destination.">{29} WaitWalk</span>]]'''
 
|'''WaitWalk(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_2A|<span title="A block is a portion of the event played in a separate process.
 
 
 
When the game finds a block, it will start executing it and will also resume the event whatever there is after the block at the same time.">{2A} BlockStart</span>]]'''
 
|'''BlockStart()'''
 
|
 
|-
 
|'''[[Event_Instruction_2B|<span title="A block is a portion of the event played in a separate process.
 
 
 
When the game finds a block, it will start executing it and will also resume the event whatever there is after the block at the same time.">{2B} BlockEnd</span>]]'''
 
|'''BlockEnd()'''
 
|
 
|-
 
|'''[[Event_Instruction_2C|<span title="A copy of {53} FaceUnit with one a certain value set to 0 instead of 1. Visually, there doesn't seem to be any difference with the other.
 
Makes unit(s) rotate to face a specified unit. The rotation direction is the shortest one (Clockwise as default).">{2C} FaceUnit2</span>]]'''
 
|'''FaceUnit2(<span title="Faced Unit ID" style="color:green">xFU</span>,x00,<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Clockwise or Counter-clockwise" style="color:green">xCL</span>,<span title="Rotation Speed" style="color:green">xRS</span>,<span title="Delay" style="color:green">xDL</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_2D|<span title="The unit will rotate to a given direction.">{2D} RotateUnit</span>]]'''
 
|'''RotateUnit(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Direction" style="color:green">xDR</span>,<span title="Clockwise or Counter-clockwise" style="color:green">xCL</span>,<span title="Rotation Speed" style="color:green">xRS</span>,<span title="Delay" style="color:green">xDL</span>)'''
 
|Structure Altered
 
|-
 
|'''[[Event_Instruction_2E|<span title="Creates a gradient background gradually by ignoring its current state using RGB.
 
 
 
(0,0,0) is black and (255,255,255) is white.">{2E} Background</span>]]'''
 
|'''Background(<span title="Red (Top)" style="color:green">RDT</span>,<span title="Green (Top)" style="color:green">GRT</span>,<span title="Blue (Top)" style="color:green">BLT</span>,<span title="Red (Bottom)" style="color:green">RDB</span>,<span title="Green (Bottom)" style="color:green">GRB</span>,<span title="Blue (Bottom)" style="color:green">BLB</span>,<span title="Time" style="color:green">TIM</span>,<span title="Unknown" style="color:green">x00</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_31|<span title="Colors Background to new value based on the current coloration, allowing better blending but ineffective on pure-black backgrounds.">{31} ColorBGBeta</span>]]'''
 
|'''ColorBGBeta(<span title="Pre-set Color" style="color:green">xPR</span>,<span title="Red" style="color:green">+RED</span>,<span title="Green" style="color:green">+GRN</span>,<span title="Blue" style="color:green">+BLU</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_32|<span title="Colors a unit gradually depending on its current state.
 
 
 
(+127,-128,-128) is red and (+127,+127,+127) is white while (+000,+000,+000) returns the unit to its original color.">{32} ColorUnit</span>]]'''
 
|'''ColorUnit(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Pre-set Color" style="color:green">xPR</span>,<span title="Red" style="color:green">+RED</span>,<span title="Green" style="color:green">+GRN</span>,<span title="Blue" style="color:green">+BLU</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_33|<span title="Colors entire map specified colors.
 
 
 
(-128,-128,-128) is black and (+127,+127,+127) is white while (+000,+000,+000) returns the map to its original color.">{33} ColorField</span>]]'''
 
|'''ColorField(<span title="Pre-set Color" style="color:green">xPR</span>,<span title="Red" style="color:green">+RED</span>,<span title="Green" style="color:green">+GRN</span>,<span title="Blue" style="color:green">+BLU</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_37|{37}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_38|<span title="Sets the traveling speed for the camera instruction using Focus' settings.">{38} FocusSpeed</span>]]'''
 
|'''FocusSpeed(<span title="Travel Speed" style="color:green">+SPEED</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_39|{39}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_3A|{3A}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_3B|<span title="Moves Target Unit to specified coordinates relative to its starting position, ignoring the field and the units statistics such as Jump.">{3B} SpriteMove</span>]]'''
 
|'''SpriteMove(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="X Movement" style="color:green">+XXXXX</span>,<span title="Z Movement" style="color:green">+ZZZZZ</span>,<span title="Y Movement" style="color:green">+YYYYY</span>,<span title="Movement Type" style="color:green">xMV</span>,<span title="Unknown" style="color:green">x??</span>,<span title="Time" style="color:green">+TIMER</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_3C|<span title="Controls the weather's power, but not the weather type.">{3C} Weather</span>]]'''
 
|'''Weather(<span title="Weather Power" style="color:green">xWP</span>,<span title="Unknown" style="color:green">x01</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_3D|<span title="Removes a unit from the field and memory entirely.">{3D} RemoveUnit</span>]]'''
 
|'''RemoveUnit(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_3E|<span title="Colors the whole screen, in different possible ways. The Initial Color is applied immediately, while the Target Color gradually changes with a given amount of time assigned.
 
 
 
(255,255,255) is white while (000,000,000) is no coloration.
 
 
 
Not battle-friendly.">{3E} ColorScreen</span>]]'''
 
|'''ColorScreen(<span title="Blending Mode" style="color:green">xBM</span>,<span title="Initial Red" style="color:green">IRD</span>,<span title="Initial Green" style="color:green">IGR</span>,<span title="Initial Blue" style="color:green">IBL</span>,<span title="Target Red" style="color:green">TRD</span>,<span title="Target Green" style="color:green">TGR</span>,<span title="Target Blue" style="color:green">TBL</span>,<span title="Time" style="color:green">+TIMER</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_3F|{3F}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_40|{40}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_41|<span title="Cause a seism with given parameters, but it does not control any sound related to it.
 
 
 
Not battle-friendly.">{41} EarthquakeStart</span>]]'''
 
|'''EarthquakeStart(<span title="Magnitude" style="color:green">MAG</span>,<span title="Mercalli Intensity Scale" style="color:green">MER</span>,<span title="Secondary Shock Magnitude" style="color:green">SMG</span>,<span title="Secondary Shock Delay" style="color:green">SSD</span>)'''
 
|Renamed (Earthquake)
 
|-
 
|'''[[Event_Instruction_42|<span title="Stops an ongoing earthquake.">{42} EarthquakeEnd</span>]]'''
 
|'''EarthquakeEnd()'''
 
|
 
|-
 
|'''[[Event_Instruction_43|<span title="Can call various different functions to alter many different things in the game.">{43} CallFunction</span>]]'''
 
|'''CallFunction(<span title="Function" style="color:green">xFC</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_44|<span title="Draws a loaded unit that is currently not being displayed.">{44} Draw</span>]]'''
 
|'''Draw(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_45|<span title="Adds a unit to the event that is not currently loaded.">{45} AddUnit</span>]]'''
 
|'''AddUnit(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Drawing" style="color:green">xDR</span>)'''
 
|Renamed (UnitPresent)
 
|-
 
|'''[[Event_Instruction_46|<span title="Erase a unit whose sprite is currently being displayed. Unit can be re-drawn later.">{46} Erase</span>]]'''
 
|'''Erase(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_47|<span title="Adds a fake unit on the map which can be mostly controlled like a regular unit, with some exceptions. In battle, the unit cannot take action or be targeted, and units will be able to walk through it. You can use any spritesheet you want, but be warned: Adding a new spritesheet will leave you with the impossibility of removing the spritesheet even if you remove the Ghost Unit.">{47} AddGhostUnit</span>]]'''
 
|'''AddGhostUnit(<span title="Spritesheet ID" style="color:green">xSP</span>,x00,<span title="Assigned Unit ID" style="color:green">xID</span>,<span title="X Coordinate" style="color:green">XXX</span>,<span title="Y Coordinate" style="color:green">YYY</span>,<span title="Elevation" style="color:green">xEL</span>,<span title="Facing Direction" style="color:green">xFD</span>,<span title="Drawing" style="color:green">xDR</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_48|<span title="Waits until a normal or ghost unit is loaded into the event before resuming.">{48} WaitAddUnit</span>]]'''
 
|'''WaitAddUnit()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_49|<span title="Creates an independently running block inside the event to load one or many units in the game. Does not slow down the event in any way, but make sure to use {4B} WaitAddUnitEnd before using instructions on the new units.
 
 
 
There is no need to use {48} WaitAddUnit after each unit inside this block.">{49} AddUnitStart</span>]]'''
 
|'''AddUnitStart()'''
 
|Renamed (AddUnitPrep)
 
|-
 
|'''[[Event_Instruction_4A|<span title="Creates an independently running block inside the event to load one or many units in the game. Does not slow down the event in any way, but make sure to use {4B} WaitAddUnitEnd before using instructions on the new units.
 
 
 
There is no need to use {48} WaitAddUnit after each unit inside this block.">{4A} AddUnitEnd</span>]]'''
 
|'''AddUnitEnd()'''
 
|Renamed (AddUnitStart)
 
|-
 
|'''[[Event_Instruction_4B|<span title="Waits until a currently running {49} AddUnitStart/{4A} AddUnitEnd block has completed before resuming.">{4B} WaitAddUnitEnd</span>]]'''
 
|'''WaitAddUnitEnd()'''
 
|Renamed (AddUnitEnd)
 
|-
 
|'''[[Event_Instruction_4C|<span title="Fades to black, then changes the map, reloading all the settings such as Weather or State.">{4C} ChangeMap</span>]]'''
 
|'''ChangeMap(<span title="Map" style="color:green">MAP</span>,x00)'''
 
|Renamed (BlackoutBeta)
 
|-
 
|'''[[Event_Instruction_4D|<span title="Progressively reveals the screen to unveil the scene. Required to start a new scenario.">{4D} Reveal</span>]]'''
 
|'''Reveal(<span title="Time" style="color:green">TIM</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_4E|<span title="Remove or add back the shadow of a unit.
 
 
 
Battle-friendly.">{4E} UnitShadow</span>]]'''
 
|'''UnitShadow(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Shadow" style="color:green">xSH</span>)'''
 
|Renamed (AddUnit)
 
|-
 
|'''[[Event_Instruction_4F|<span title="Stores day or night for the next time you will load/reload a map.">{4F} SetDaytime</span>]]'''
 
|'''SetDaytime(<span title="Daytime" style="color:green">xDT</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_50|<span title="Sets the column that will be used to load a custom portrait from EVTFACE.BIN for the following Dialog Boxes.">{50} PortraitCol</span>]]'''
 
|'''PortraitCol(<span title="Portrait Column" style="color:green">xPC</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_51|<span title="Changes the content of a Dialog Box or closes it.">{51} ChangeDialog</span>]]'''
 
|'''ChangeDialog(<span title="Target Dialog Box" style="color:green">xDB</span>,<span title="New Message ID" style="color:green">xMSG#</span>,<span title="Portrait Row" style="color:green">xPR</span>,<span title="Portrait Palette" style="color:green">xPP</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_53|<span title="Makes unit(s) rotate to face a specified unit. The rotation direction is the shortest one (Clockwise as default).">{53} FaceUnit</span>]]'''
 
|'''FaceUnit(<span title="Faced Unit ID" style="color:green">xFU</span>,x00,<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Clockwise or Counter-clockwise" style="color:green">xCL</span>,<span title="Rotation Speed" style="color:green">xRS</span>,<span title="Delay" style="color:green">xDL</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_54|<span title="Use an object that has a 3D animation.">{54} Use3DObject</span>]]'''
 
|'''Use3DObject(<span title="Object ID" style="color:green">xID</span>,<span title="New State" style="color:green">xST</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_55|<span title="Changes the state of an object on the map.">{55} UseFieldObject</span>]]'''
 
|'''UseFieldObject(<span title="State Change ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_56|<span title="Waits until all activated 3D objects are done animating before resuming.">{56} Wait3DObject</span>]]'''
 
|'''Wait3DObject()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_57|<span title="Waits for an object being used to complete its cycle before resuming.">{57} WaitFieldObject</span>]]'''
 
|'''WaitFieldObject()'''
 
|
 
|-
 
|'''[[Event_Instruction_58|<span title="Loads an EVTCHR slot from the CD to temporary memory.">{58} LoadEVTCHR</span>]]'''
 
|'''LoadEVTCHR(<span title="Memory Block" style="color:green">xBL</span>,<span title="EVTCHR Slot" style="color:green">xEV</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_59|<span title="Saves the loaded EVTCHR Slot to a specific block in order to use its frames and animations.">{59} SaveEVTCHR</span>]]'''
 
|'''SaveEVTCHR(<span title="Memory Block" style="color:green">xBL</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_5A|<span title="Allows to save an EVTCHR slot once more in the given memory block.">{5A} SaveEVTCHRClear</span>]]'''
 
|'''SaveEVTCHRClear(<span title="Memory Block" style="color:green">xBL</span>,x00)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_5B|<span title="Allows to load an EVTCHR slot once more in the given memory block.">{5B} LoadEVTCHRClear</span>]]'''
 
|'''LoadEVTCHRClear(<span title="Memory Block" style="color:green">xBL</span>,x00)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_5C|{5C}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_5D|{5D}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_5E|<span title="Terminates the currently playing song immediately.">{5E} EndSong</span>]]'''
 
|'''EndSong(<span title="Unknown" style="color:green">x??</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_5F|<span title="Warps a unit to a new location instantly.">{5F} WarpUnit</span>]]'''
 
|'''WarpUnit(<span title="UnitID" style="color:green">xID</span>,x00,<span title="X Coordinate" style="color:green">XXX</span>,<span title="Y Coordinate" style="color:green">YYY</span>,<span title="Elevation" style="color:green">xEL</span>,<span title="Facing Direction" style="color:green">xFD</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_60|<span title="Progressively fade sounds and music until they stop playing completely.">{60} FadeSound</span>]]'''
 
|'''FadeSound(x00,<span title="Time" style="color:green">TIM</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_61|{61}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_62|{62}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_63|<span title="Unknown. This instruction writes a value to 0x80166054; value which is read every time a Camera instruction starts.">{63}</span>]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_64|<span title="Waits for a unit to finish rotating/facing another unit before resuming.">{64} WaitRotateUnit</span>]]'''
 
|'''WaitRotateUnit(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_65|<span title="Waits for every unit to finish rotating/facing another unit before resuming.">{65} WaitRotateAll</span>]]'''
 
|'''WaitRotateAll()'''
 
|Renamed (WaitFaceUnit)
 
|-
 
|'''[[Event_Instruction_66|{66}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_68|<span title="Mirrors a sprite and all its animations/ETVCHR as if they were facing left instead of right, and vice versa.">{68} MirrorSprite</span>]]'''
 
|'''MirrorSprite(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Mirror" style="color:green">xMI</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_69|<span title="Makes unit(s) rotate to face a specified tile. The rotation direction is the shortest one (Clockwise as default).">{69} FaceTile</span>]]'''
 
|'''FaceTile(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="X Coordinate" style="color:green">XXX</span>,<span title="Y Coordinate" style="color:green">YYY</span>,<span title="Unknown" style="color:green">x00</span>,<span title="Clockwise or Counter-clockwise" style="color:green">xCL</span>,<span title="Rotation Speed" style="color:green">xRS</span>,<span title="Delay" style="color:green">xDL</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_6A|<span title="Edits a currently playing Background sound.">{6A} EditBGSound</span>]]'''
 
|'''EditBGSound(<span title="Sound ID" style="color:green">xSD</span>,<span title="Volume" style="color:green">+VOL</span>,<span title="Echo" style="color:green">+ECH</span>,<span title="Unknown" style="color:green">x00</span>,<span title="Unknown" style="color:green">x??</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_6B|<span title="Plays the indexed background sound effect.">{6B} BGSound</span>]]'''
 
|'''BGSound(<span title="Sound ID" style="color:green">xSD</span>,<span title="Volume" style="color:green">+VOL</span>,<span title="Echo" style="color:green">+ECH</span>,<span title="Sound Stacking" style="color:green">xST</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_6C|{6C}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_6D|{6D}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_6E|<span title="Very similar to its sister instruction, but instead uses different movement types and uses speed instead of time.
 
 
 
Moves Target Unit to specified coordinates relative to its starting position, ignoring the field and the units statistics such as Jump.">{6E} SpriteMoveBeta</span>]]'''
 
|'''SpriteMoveBeta(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="X Movement" style="color:green">+XXXXX</span>,<span title="Z Movement" style="color:green">+ZZZZZ</span>,<span title="Y Movement" style="color:green">+YYYYY</span>,<span title="Movement Type" style="color:green">xMV</span>,<span title="Unknown" style="color:green">x??</span>,<span title="Speed" style="color:green">+SPEED</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_6F|<span title="Wait for a unit to complete its custom movement before resuming.">{6F} WaitSpriteMove</span>]]'''
 
|'''WaitSpriteMove(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_70|<span title="The given unit will jump up or down 1-4 tiles distance. It works perfectly for jumping down, but might look weird when trying to jump to tiles too height. Does not have an elevation parameter. If the height difference is very minimal, the unit will just walk instead.
 
 
 
If the target tile is off the map, the unit will freeze in its frame and slide off the screen.">{70} Jump</span>]]'''
 
|'''Jump(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Distance" style="color:green">DST</span>,<span title="Direction" style="color:green">xDR</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_71|{71}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_72|{72}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_73|{73}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_74|{74}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_75|{75}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_76|<span title="Create a dark screen that allows units to join your party, display winning conditions and save your party back to formation.">{76} DarkScreen</span>]]'''
 
|'''DarkScreen(x00,<span title="Shape" style="color:green">xSH</span>,<span title="Screen Expansion Speed" style="color:green">ESP</span>,<span title="Rotation Speed" style="color:green">RTS</span>,x00,<span title="Square Expansion Speed" style="color:green">SES</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_77|<span title="Removes the dark screen with the same parameters it was called with.">{77} RemoveDarkScreen</span>]]'''
 
|'''RemoveDarkScreen()'''
 
|
 
|-
 
|'''[[Event_Instruction_78|<span title="Display a Winning condition, Congratulations, War Trophies or Bonus Money received after the battle.">{78} DisplayConditions</span>]]'''
 
|'''DisplayConditions(<span title="Message" style="color:green">xMG</span>,<span title="Display Time" style="color:green">DST</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_79|<span title="Applies a normal or an EVTCHR animation to a given unit when it arrives at destination.">{79} WalkToAnim</span>]]'''
 
|'''WalkToAnim(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Animation ID (SEQ/EVTCHR)" style="color:green">xANIM</span>)'''
 
|Renamed (MovementAnim)
 
|-
 
|'''[[Event_Instruction_7A|<span title="Removes the first unit which matches the given Special Job ID from the player's roster.">{7A} DismissUnit</span>]]'''
 
|'''DismissUnit(<span title="Special Job ID" style="color:green">xJB</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_7B|{7B}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_7C|{7C}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_7D|<span title="Gradually prints a graphic on the screen, and erases it the same way.">{7D} ShowGraphic</span>]]'''
 
|'''ShowGraphic(<span title="Graphic ID" style="color:green">xGR</span>)'''
 
|Renamed (ShowChapter)
 
|-
 
|'''[[Event_Instruction_7E|<span title="Waits until a given value has reached at least a certain amount before resuming.">{7E} WaitValue</span>]]'''
 
|'''WaitValue(<span title="Address" style="color:green">xADDR</span>,<span title="Value" style="color:green">xVALU</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_7F|<span title="Changes the palette of a character by loading one from an EVTCHR Block.">{7F} EVTCHRPalette</span>]]'''
 
|'''EVTCHRPalette(<span title="UnitID" style="color:green">xID</span>,x00,<span title="EVTCHR Block" style="color:green">xBL</span>,<span title="Palette ID" style="color:green">xPL</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_80|<span title="Make units start their walking animation, ready to fight. Even if not called, this instruction is automatically executed when a battle starts with 0 frames between units.">{80} March</span>]]'''
 
|'''March(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Time" style="color:green">TIM</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_81|{81}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_82|<span title="Unknown. Only ever used inside {49} AddUnitStart + {4A} AddUnitEnd blocks. High tendency to break the game when {43} CallFunction(x06) is used afterwards. Even though the original game achieves this without crashing, the procedure is unknown.">{82}</span>]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_83|<span title="Change the stats of affected units.">{83} ChangeStats</span>]]'''
 
|'''ChangeStats(<span title="Affected Units" style="color:green">xAU</span>,<span title="Multi Targeting" style="color:green">xMT</span>,<span title="Stat" style="color:green">xST</span>,<span title="Value" style="color:green">+VALUE</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_84|<span title="Plays a song file. Don't get excited, the list is very short and mostly useless.">{84} PlaySong</span>]]'''
 
|'''PlaySong(<span title="Song ID" style="color:green">xSG</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_85|<span title="Sets the unlocking date of a treasure/land to the current day.">{85} UnlockDate</span>]]'''
 
|'''UnlockDate(<span title="Treasure/Land" style="color:green">xTL</span>)'''
 
|Renamed (Date)
 
|-
 
|'''[[Event_Instruction_86|<span title="Gives unit a temporary weapon to swing. Does not affect equipped items.">{86} TempWeapon</span>]]'''
 
|'''TempWeapon(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Item ID" style="color:green">xIT</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_87|<span title="Adds an arrow or bolt the next time a unit that has a bow (arrow) or a crossbow (bolt) shoots with a SEQ animation of x53, x54 or x55.">{87} Arrow</span>]]'''
 
|'''Arrow(<span title="Target's Unit ID" style="color:green">xTG</span>,x00,<span title="Shooter's Unit ID" style="color:green">xSH</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_88|<span title="Allows animations of a map again.">{88} MapUnfreeze</span>]]'''
 
|'''MapUnfreeze()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_89|<span title="Freezes all animations of a map.">{89} MapFreeze</span>]]'''
 
|'''MapFreeze()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_8A|<span title="Must be used in a block to activate the animation of a previously set Effect file.">{8A} EffectStart</span>]]'''
 
|'''EffectStart()'''
 
|
 
|-
 
|'''[[Event_Instruction_8B|<span title="Must be used in a block to activate the animation of a previously set Effect file.">{8B} EffectEnd</span>]]'''
 
|'''EffectEnd()'''
 
|
 
|-
 
|'''[[Event_Instruction_8C|<span title="Makes the unit immediately rotate to a certain direction and execute an animation.">{8C} UnitAnimRotate</span>]]'''
 
|'''UnitAnimRotate(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Direction" style="color:green">xDR</span>,<span title="Animation ID" style="color:green">xANIM</span>,x00)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_8E|<span title="Waits until a graphic generated by {7D} ShowGraphic is done animating, fully showing on the screen, before resuming.">{8E} WaitGraphicPrint</span>]]'''
 
|'''WaitGraphicPrint()'''
 
|Renamed (ShowChapterEnd)
 
|-
 
|'''[[Event_Instruction_8F|{8F}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_90|{90}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_91|<span title="Displays a 256x20 4bit image (EVENT\MAPTITLE.BIN) of the current map's title on the screen. Only Map 1 to 120 have a graphic assigned to them. Trying to display the title of other maps will result in rubbish.">{91} ShowMapTitle</span>]]'''
 
|'''ShowMapTitle(<span title="X Axis" style="color:green">+XXX</span>,<span title="Y Axis" style="color:green">+YYY</span>,<span title="Speed" style="color:green">+SPD</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_92|<span title="Inflict a status on a given unit.">{92} InflictStatus</span>]]'''
 
|'''InflictStatus(<span title="Unit ID" style="color:green">xID</span>,x00,<span title="Status" style="color:green">xSS</span>,<span title="Unknown" style="color:green">x0C</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_93|{93}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_94|<span title="Unit will teleport out of the field.">{94} TeleportOut</span>]]'''
 
|'''TeleportOut(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_95|{95}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_96|<span title="Append map changes to be loaded during a {43} CallFunction event with an effect.">{96} AppendMapState</span>]]'''
 
|'''AppendMapState()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_97|<span title="Resets the palette color of a unit to its original state.">{97} ResetPalette</span>]]'''
 
|'''ResetPalette(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|Renamed (ResetUnitColor)
 
|-
 
|'''[[Event_Instruction_98|<span title="Unit will teleport onto the field.">{98} TeleportIn</span>]]'''
 
|'''TeleportIn(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_99|<span title="Remove a non-Charmed enemy team unit from the map with a blue hueing.">{99} BlueRemoveUnit</span>]]'''
 
|'''BlueRemoveUnit(<span title="Unit ID" style="color:green">xID</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_A0|<span title="Less Than or Equal | Variable 0x0000 = If ( Variable 0x0000 &#60;= Variable 0x0001 )">{A0} LTE</span>]]'''
 
|'''LTE()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_A1|<span title="Greater Than or Equal | Variable 0x0000 = If ( Variable 0x0000 &#62;= Variable 0x0001 )">{A1} GTE</span>]]'''
 
|'''GTE()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_A2|<span title="Equal | Variable 0x0000 = If ( Variable 0x0000 == Variable 0x0001 )">{A2} EQ</span>]]'''
 
|'''EQ()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_A3|<span title="Not Equal | Variable 0x0000 = If ( Variable 0x0000 != Variable 0x0001 )">{A3} NEQ</span>]]'''
 
|'''NEQ()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_A4|<span title="Less Than | Variable 0x0000 = If ( Variable 0x0000 &#60; Variable 0x0001 )">{A4} LT</span>]]'''
 
|'''LT()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_A5|<span title="Greater Than | Variable 0x0000 = If ( Variable 0x0000 &#62; Variable 0x0001 )">{A5} GT</span>]]'''
 
|'''GT()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_B0|<span title="Add Immediate | Variable = Variable + ImmediateValue (Can overflow)">{B0} ADD</span>]]'''
 
|'''ADD(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_B1|<span title="Add Variable | Variable1 = Variable1 + Variable2 (Can overflow)">{B1} ADDVar</span>]]'''
 
|'''ADDVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_B2|<span title="Subtract Immediate | Variable = Variable - ImmediateValue (Can overflow)">{B2} SUB</span>]]'''
 
|'''SUB(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_B3|<span title="Subtract Variable | Variable1 = Variable1 - Variable2 (Can overflow)">{B3} SUBVar</span>]]'''
 
|'''SUBVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_B4|<span title="Multiply Immediate | Variable = Variable × ImmediateValue (low 32bit)
 
 
 
Use this instruction for general multiplication.">{B4} MULT</span>]]'''
 
|'''MULT(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_B5|<span title="Multiply Variable | Variable1 = Variable1 × Variable2 (low 32bit)
 
 
 
Use this instruction for general multiplication.">{B5} MULTVar</span>]]'''
 
|'''MULTVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_B6|<span title="Divide Immediate | Variable = Variable ÷ ImmediateValue (low 32bit)
 
 
 
Use this instruction for general division.">{B6} DIV</span>]]'''
 
|'''DIV(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_B7|<span title="Divide Variable | Variable1 = Variable1 ÷ Variable2 (low 32bit)
 
 
 
Use this instruction for general division.">{B7} DIVVar</span>]]'''
 
|'''DIVVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_B8|<span title="Divide Immediate (modulus) | Variable = Variable % ImmediateValue (high 32bit)">{B8} DIVHI</span>]]'''
 
|'''DIVHI(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|Renamed (MULTHI)
 
|-
 
|'''[[Event_Instruction_B9|<span title="Divide Immediate | Variable = Variable ÷ ImmediateValue (high 32bit)">{B9} DIVHIVar</span>]]'''
 
|'''DIVHIVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Renamed (DIVHI)
 
|-
 
|'''[[Event_Instruction_BA|<span title="AND bitwise operand | Variable = Variable AND ImmediateValue">{BA} AND</span>]]'''
 
|'''AND(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_BB|<span title="AND Variable bitwise operand | Variable1 = Variable1 AND Variable2">{BB} ANDVar</span>]]'''
 
|'''ANDVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_BC|<span title="OR bitwise operand | Variable = Variable OR ImmediateValue">{BC} OR</span>]]'''
 
|'''OR(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_BD|<span title="OR Variable bitwise operand | Variable1 = Variable1 OR Variable2">{BD} ORVar</span>]]'''
 
|'''ORVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_BE|<span title="Zero | Variable = 0">{BE} ZERO</span>]]'''
 
|'''ZERO(<span title="Variable" style="color:green">xVARI</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_C0|{C0}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_D0|<span title="Jumps to {D2} ForwardTarget if Variable 0x0000 is equal to 0. Otherwise simply keeps advancing.
 
 
 
Must be placed before {D2} ForwardTarget!">{D0} JumpForwardIfNot</span>]]'''
 
|'''JumpForwardIfNot(<span title="JumpForward ID" style="color:green">xJF</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_D1|<span title="Jumps to {D2} ForwardTarget.
 
 
 
Must be placed before {D2} ForwardTarget!">{D1} JumpForward</span>]]'''
 
|'''JumpForward(<span title="JumpForward ID" style="color:green">xJF</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_D2|<span title="Target Destination of {D0} JumpForwardIfNot/{D1} JumpForward.
 
 
 
Must be placed after {D0} JumpForwardIfNot/{D1} JumpForward!">{D2} ForwardTarget</span>]]'''
 
|'''ForwardTarget(<span title="JumpForward ID" style="color:green">xJF</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_D3|<span title="Jumps back to {D5} BackTarget.
 
 
 
Must be placed after {D5} BackTarget!">{D3} JumpBack</span>]]'''
 
|'''JumpBack(<span title="JumpBack ID" style="color:green">xJB</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_D4|{D4}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_D5|<span title="Target Destination of {D3} JumpBack.
 
 
 
Must be placed before {D3} JumpBack!">{D5} BackTarget</span>]]'''
 
|'''BackTarget(<span title="JumpBack ID" style="color:green">xJB</span>)'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_D8|{D8}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_D9|{D9}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_DA|{DA}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_DB|<span title="Marks the end of the event.">{DB} EventEnd</span>]]'''
 
|'''EventEnd()'''
 
|
 
|-
 
|'''[[Event_Instruction_DC|{DC}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_E0|{E0}]]''' Never used
 
|
 
|
 
|-
 
|'''[[Event_Instruction_E3|<span title="A perfect copy of the other EventEnd. Marks the end of the event.">{E3} EventEnd2</span>]]'''
 
|'''EventEnd2()'''
 
|Introduced
 
|-
 
|'''[[Event_Instruction_E5|<span title="Wait for any given instruction type instance to complete before resuming.">{E5} WaitForInstruction</span>]]'''
 
|'''WaitForInstruction(<span title="Instruction Type" style="color:green">xIN</span>,x00)'''
 
|
 
|-
 
|'''[[Event_Instruction_F0|{F0}]]'''
 
|
 
|
 
|-
 
|'''[[Event_Instruction_F1|<span title="Wait for a given number of frames before resuming.">{F1} Wait</span>]]'''
 
|'''Wait(<span title="Time" style="color:green">TIMER</span>)'''
 
|
 
|-
 
|'''[[Event_Instruction_F2|<span title="Doesn't do anything. Ideal for hex editing parts of the event out without any risk.">{F2} Pad</span>]]'''
 
|'''Pad()'''
 
|Introduced
 
|}
 
 
 
 
 
==New Instructions==
 
These instructions require the [[Event Instruction Upgrade]] hack.
 
 
 
{| class="wikitable"
 
|-
 
!|Instruction Name
 
!|Example
 
|-
 
|'''[[Event_Instruction_2F|<span title="This instruction allows looping a block until the defined variable reaches, or is set to 0. It has to be placed inside a block in order to work.
 
 
 
A block left running will prevent the event from ending!">{2F} BlockLoop</span>]]'''
 
|'''BlockLoop(<span title="Loop Amount" style="color:green">LPA</span>,<span title="Variable" style="color:green">xVR</span>,<span title="Destination" style="color:green">xDEST</span>)'''
 
|-
 
|'''[[Event_Instruction_AC|<span title="Load Upper Immediate | Variable = Immediate Value &#60;&#60; 16">{AC} LUI</span>]]'''
 
|'''LUI(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|-
 
|'''[[Event_Instruction_AE|<span title="Set | Variable = Immediate Value">{AE} SET</span>]]'''
 
|'''SET(<span title="Variable" style="color:green">xVARI</span>,<span title="Immediate Value" style="color:green">xVALU</span>)'''
 
|-
 
|'''[[Event_Instruction_AF|<span title="Set Variable (copy) | Variable1 = Variable2">{AF} SETVar</span>]]'''
 
|'''SETVar(<span title="Variable 1" style="color:green">xVAR1</span>,<span title="Variable 2" style="color:green">xVAR2</span>)'''
 
|-
 
|'''[[Event_Instruction_BF|<span title="Calls the RNG routine and stores the resulting number in a given variable.">{BF} Random</span>]]'''
 
|'''Random(<span title="Variable" style="color:green">xVR</span>)'''
 
|-
 
|'''[[Event_Instruction_C1|<span title="Loads a value to a given variable. Works essentially the same as lbu/lhu/lw, but using variables.">{C1} LoadAddress</span>]]'''
 
|'''LoadAddress(<span title="Variable" style="color:green">xVR</span>,<span title="Immediate Value" style="color:green">xVALU</span>,<span title="Variable Address" style="color:green">xVA</span>,<span title="Byte Length" style="color:green">LEN</span>)'''
 
|-
 
|'''[[Event_Instruction_C2|<span title="Searches for the given Unit ID and returns the address to alter its stats. Returns 0 if no unit matched.">{C2} UnitAddress</span>]]'''
 
|'''UnitAddress(<span title="Unit ID" style="color:green">xID</span>,<span title="Variable" style="color:green">xVR</span>)'''
 
|-
 
|'''[[Event_Instruction_C3|<span title="Searches for the given Unit ID and returns the address to alter its world (non-battle) stats. Returns 0 if no unit matched.">{C3} WorldUnitAddress</span>]]'''
 
|'''WorldUnitAddress(<span title="Unit ID" style="color:green">xID</span>,<span title="Variable" style="color:green">xVR</span>)'''
 
|-
 
|'''[[Event_Instruction_C4|<span title="Saves a variable to a given address. Works essentially the same as sb/sh/sw, but using variables.">{C4} SaveAddress</span>]]'''
 
|'''SaveAddress(<span title="Variable" style="color:green">xVR</span>,<span title="Immediate Value" style="color:green">xVALU</span>,<span title="Variable Address" style="color:green">xVA</span>,<span title="Byte Length" style="color:green">LEN</span>)'''
 
|-
 
|'''[[Event_Instruction_C5|<span title="Updates a unit's characteristics in special ways that cannot be easily achieved manually. Can currently only update statuses on a unit.">{C5} UpdateUnit</span>]]'''
 
|'''UpdateUnit(<span title="Unit ID" style="color:green">xID</span>,<span title="Parameters" style="color:green">xPR</span>)'''
 
|-
 
|'''[[Event_Instruction_C6|<span title="Alters a variable's value when it is too small or too great so that it fits within a given range.">{C6} MinMax</span>]]'''
 
|'''MinMax(<span title="Variable" style="color:green">xVR</span>,<span title="Parameters" style="color:green">xPR</span>,<span title="Minimum Value" style="color:green">MINIM</span>,<span title="Maximum Value" style="color:green">MAXIM</span>)'''
 
|-
 
|'''[[Event_Instruction_CF|<span title="Runs/executes a routine at any address. r1 to r16 are automatically already freed and at your disposal.">{CF} Routine</span>]]'''
 
|'''Routine(<span title="Routine Address" style="color:green">rROUTINEA</span>)'''
 
|}
 

Latest revision as of 20:47, 21 January 2023

General Tools

FFTPatcher Suite Win.png Psx.png Psp.png

Tools that will help you edit general stats, text, sprites, and apply ASM hacks.

Level Up Simulator Win.png Psx.png

Simulate a unit's stat growth by level