Changes

Jump to navigation Jump to search

FF7/Battle/Targeting Data

1,069 bytes removed, 16:47, 24 March 2018
Created page with "== Targeting Data == Before targeting is explained in full, some information of rows must be understood. There are two or three rows in any battle. Most normal battles have..."
== Targeting Data ==
Before targeting is explained in full, some information of rows must be understood. There are two or three rows in any battle. Most normal battles have two rows, allies and enemies. Pincer Attacks and Side Attacks have three rows. Two enemy rows for pincer attacks and one for side attacks. Furthermore, under most conditions, a "viable target" is a battle participant (enemy or ally) that is not inflicted with "Death".
Targeting is set by a single byte with eight different effects for each bit that is set:
{| borderclass="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="centerwikitable"!style="background:rgb(204,204,204)" | Bit!style="background:rgb(204,204,204)" | Effect on Target Selection!style="background:rgb(204,204,204)" | Explanation
|-
|style="background:rgb(255,255,255)" | 01h|style="background:rgb(255,255,255)" | Enable Selection|style="background:rgb(255,255,255)" | Cursor will move to the battle field and a target can be selected with the constraints in the following.
|-
|style="background:rgb(255,255,255)" | 02h|style="background:rgb(255,255,255)" | Start Cursor on Enemy Row|style="background:rgb(255,255,255)" | Cursor will start on the first enemy row.
|-
|style="background:rgb(255,255,255)" | 04h|style="background:rgb(255,255,255)" | Multiple Targets by Default|style="background:rgb(255,255,255)" | Cursor will select all targets in a given row.
|-
|style="background:rgb(255,255,255)" | 08h|style="background:rgb(255,255,255)" | Toggle Multiple/Single Targets|style="background:rgb(255,255,255)" | Caster can switch cursor between multiple targets or single targets. (Also indicates if damage will be split among targets)
|-
|style="background:rgb(255,255,255)" | 10h|style="background:rgb(255,255,255)" | One Row Only|style="background:rgb(255,255,255)" | Cursor will only target allies or enemies as defined in 02h and cannot be moved from the row.
|-
|style="background:rgb(255,255,255)" | 20h<br />&nbsp;|style="background:rgb(255,255,255)" | "Short Range"<br />(physical damage only)|style="background:rgb(255,255,255)" | *If the target or the caster is not in the front of their row, the target will take half damage.*For every attack this is enabled, they are constrained by the [[FF7/Battle/Battle_Scenes#Binary_.22Cover_Flags.22|Binary "Cover Flags"]]
|-
|style="background:rgb(255,255,255)" | 40h|style="background:rgb(255,255,255)" | All Rows|style="background:rgb(255,255,255)" | Cursor will select viable targets
|-
|style="background:rgb(255,255,255)" | 80h|style="background:rgb(255,255,255)" | Random Target among Selected |style="background:rgb(255,255,255)" | When multiple targets are selected, one will be selected at random to be the receiving target. Cursor will cycle among all viable targets.
|}
Targets are set in three places. On Commands, on Attacks, and on Weapons. The Command's target (if not NULL [FFh]) trumps any target information provided by the Attack or the Weapon. As such, it is analyzed first. Any additional settings are added through the weapon or attack.<br/>This is further trumped by "Confuse" and "Berserk" which will set the target data to C0h and 97h respectively. Confuse will pick any available command to perform and Berserk will just attack with the equipped weapon.
Although the cursor can move to an ally with the "Death" status, if no targets selected to receive the attack are viable the attack will "re-target". A dead enemy cannot be targeted, dead allies can. This is true for monsters and PCs.A "re-target" takes the original targeting data and multiple targets and random is added.
Eg1: Fire (Target of 0Fh) is selected to be performed on an enemy. That action is put into the queue, but the enemy dies before Fire is performed. Fire's targeting data (0Fh) is then and'd with 87h.
 
New Target = (0Fh And 87h) = 87h ' random enemy
 
Eg2: Cure (Target of 0Dh) is queued to heal a suffering ally. Before Cure is cast, the ally dies. Cure is re-targeted:
 
New Target = (0Dh And 87h) = 85h ' random ally
 
NOTE: Setting a target in enemy attack data does not control how the enemy selects targets. That is defined in their AI. Targets in enemy attack data only get used while they are being manipulated.
==Examples:==
Defend/Change: Has a target of 00h. This will only allow the caster to perform the command on itself.
Anonymous user

Navigation menu