Users browsing this thread: 1 Guest(s)
Giving Everyone the Same Desperation Attack
07-20-2018, 06:58 PM
(This post was last modified: 07-21-2018, 07:09 AM by NPCnextdoor.)
The following line:
Actually loads the status of the attacker into A. According the this document: https://www.ff6hacking.com/wiki/doku.php...battle_ram , the values for all the current statuses of the characters are there:
But I don't know how are stored the values of the statuses for each character. (Why is there such a gap between CS1&2 and CS3&4? Even by accounting for 4 characters, there is still a few unexplained bytes! May somebody share a light please?)
But anyway, you will want to loop through these four values and check if a given character is dead. For every dead character, you add #$55 to an unused variable (since you have at most 3 dead characters, that value will at most be #$FF). Then, at C2/15FB, instead of comparing with #$80, you will compare with the content of that variable.
Or, instead, you may want to start that variable value at #$FF and substract #$55 for every alive character so that if you are alone, you will have the same percentage of getting a Lvl 2 desperation attack as if you were with 3 dead characters. But doing so will force to add a condition to check whether the alive character is the attacker, ignoring him if that is the case.
Code:
C2/15F1: BD E4 3E LDA $3EE4,X
Actually loads the status of the attacker into A. According the this document: https://www.ff6hacking.com/wiki/doku.php...battle_ram , the values for all the current statuses of the characters are there:
Code:
$3EE4 Current Status 1
$3EE5 Current Status 2
$3EF8 Current Status 3
$3EF9 Current Status 4
But I don't know how are stored the values of the statuses for each character. (Why is there such a gap between CS1&2 and CS3&4? Even by accounting for 4 characters, there is still a few unexplained bytes! May somebody share a light please?)
But anyway, you will want to loop through these four values and check if a given character is dead. For every dead character, you add #$55 to an unused variable (since you have at most 3 dead characters, that value will at most be #$FF). Then, at C2/15FB, instead of comparing with #$80, you will compare with the content of that variable.
Or, instead, you may want to start that variable value at #$FF and substract #$55 for every alive character so that if you are alone, you will have the same percentage of getting a Lvl 2 desperation attack as if you were with 3 dead characters. But doing so will force to add a condition to check whether the alive character is the attacker, ignoring him if that is the case.
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 1 Guest(s)