Difference between revisions of "InflictStatus"
(→{92} {{IE_92}}: Added a note about the Float bug, and a note about Glain's possible discovery of a Delay parameter.) |
|||
Line 7: | Line 7: | ||
See Also: [[Event_Instruction_83|{83} {{IE_83}}]] ― [[Event_Instruction_E5|{E5} {{IE_E5}}]](x43,x00) | See Also: [[Event_Instruction_83|{83} {{IE_83}}]] ― [[Event_Instruction_E5|{E5} {{IE_E5}}]](x43,x00) | ||
+ | |||
+ | Warning: A vanilla bug with InflictStatus causes any event with an InflictStatus command to instantly apply it at the start of the event to any Floating unit with a matching Unit ID, even if the event wasn't actually going to run the command. This can be countered with the AlterParameter command (requires [[Event Instruction Upgrade]]): SET(x0000,xUNID); AlterParameter(x00,x00), InflictStatus(...) | ||
Line 88: | Line 90: | ||
== Unknown : Byte (hex) == | == Unknown : Byte (hex) == | ||
− | Often 0x0C, else 0x01. | + | Often 0x0C, else 0x01. |
+ | |||
+ | This may be a parameter for how long to wait after inflicting the status. | ||
{{x00}} | {{x00}} |
Revision as of 06:14, 19 April 2022
Contents
{92} InflictStatus
InflictStatus(xID,x00,xSS,x0C,x00)
Inflict a status on a given unit. The changes are visible even outside of battle.
Statuses can be stacked, but sometimes need to be applied in the correct order; for example, Chicken needs to be applied before Float.
See Also: {83} ChangeStats ― {E5} WaitForInstruction(x43,x00)
Warning: A vanilla bug with InflictStatus causes any event with an InflictStatus command to instantly apply it at the start of the event to any Floating unit with a matching Unit ID, even if the event wasn't actually going to run the command. This can be countered with the AlterParameter command (requires Event Instruction Upgrade): SET(x0000,xUNID); AlterParameter(x00,x00), InflictStatus(...)
Unit ID : Byte (hex)
ID of the unit specified in the ENTD.
x00 : Byte (hex)
This value is always set to x00 in the original game; it probably doesn't have a function.
Status : Byte (hex)
- x00: Revive with 1 HP if necessary. Note that the use of this command will block any attempts at event-based HP restoration on this unit within the same event. See below for an alternative.
- (It will also play a sound effect.)
- x01: Crystal
- x02: Poison + Critical
- x80-xFF: Applies any singular status. Requires Event Instruction Upgrade hack v1.35+.
- x80: Performing
- x81: Defending
- x82: Jump
- x83: Charging
- x84: Undead
- x85: Dead
- x86: Crystal
- x87:
- x88: Treasure
- x89: Cursed
- x8A: Blood Suck
- x8B: Silence
- x8C: Confusion
- x8D: Darkness
- x8E: Invite
- x8F: Petrify
- x90: Critical
- x91: Frog
- x92: Chicken
- x93: Berserk
- x94: Transparent
- x95: Reraise
- x96: Float
- x97: Oil
- x98: Wall
- x99: Stop
- x9A: Slow
- x9B: Haste
- x9C: Shell
- x9D: Protect
- x9E: Regen
- x9F: Poison
- xA0: Death Sentence
- xA1: Reflect
- xA2: Don't Act
- xA3: Don't Move
- xA4: Sleep
- xA5: Charm
- xA6: Innocent
- xA7: Faith
In order to revive a dead unit with full HP, use the following commands. (Requires the Event Instruction Upgrade hack.)
UnitAddress(x??,x70)
LoadAddress(x71,x0058,x70,001)
AND(x0071,x00DF)
SaveAddress(x71,x0058,x70,001)
LoadAddress(x71,x01BB,x70,001)
AND(x0071,x00DF)
SaveAddress(x71,x01BB,x70,001)
ChangeStats(x??,x00,x00,+00999)
RemoveUnit(x??,x00)
AddUnit(x??,x00,x00)
WaitAddUnit()
Unknown : Byte (hex)
Often 0x0C, else 0x01.
This may be a parameter for how long to wait after inflicting the status.
x00 : Byte (hex)
This value is always set to x00 in the original game; it probably doesn't have a function.