|
Digimon World 3 decomp
The European version, SLES_039.36
|
What FIGHTSTG asks WFIGHTMN about techniques: the final battles' records, the gauge, the start of a technique and its idle motions, and the damage limits of the special battles. More...
#include "battle/normal_battle.h"Go to the source code of this file.
Functions | |
| void | WFIGHTMN_recordTech (u8 side, s32 id) |
| In BATTLE_KIND_FINAL, keeps the partner's technique ID in FIGHTSTG_battle.state.tech when its script is not 5 or 12 and it has an effect (not 0-1, 9-10 or 12) or an element; WFIGHTMN_bringLastEnemy makes technique 440 from it. | |
| void | WFIGHTMN_chargeGauge (u8 side, s32 damage) |
| Adds what damage gives to the current partner's gauge (BATTLE_SETUP.gauges), up to 1000. | |
| static void | choosePartnerScript (BattleScript *task, TechData *info, BattleStats *own, BattleStats *other) |
| Picks the script of the partner's technique: 8 with the triple hit, 6 with an action effect or a weapon of the enemy's family, else its own one. | |
| static void | setTechIdleMotions (TechData *info, u8 actor, s32 id, s32 damage) |
| Sets the fighters' idle motions for the damage a technique does; an attack also counts for the final battles, anything else ends the enemy's weakness. | |
| static s32 | getHealDamage (u8 actor, s32 id) |
| Returns what a technique that does not attack heals, as negative damage. | |
| static void | chooseEnemyScript (BattleScript *task, TechData *info, BattleStats *other) |
| Gives the enemy's technique its own script, and its stage effect when it has an element or the target's family. | |
| BattleScript * | WFIGHTMN_startTech (u8 actor, s32 id) |
| Starts the effect of actor's move id (FIGHTSTG's FIGHTSTG_createBattleScript): its kind and motions from TECHS (choosePartnerScript, chooseEnemyScript), which hits land from FIGHTSTG_action, then sets the fighters' idle motions for the damage it does (setTechIdleMotions) | |
| s32 | WFIGHTMN_setIdleMotion (u8 id, s32 damage) |
| Sets the idle motion of side id >> 4's fighter: 1 (weak) if damage leaves it with a quarter of its HP or less; returns whether it did. | |
| void | WFIGHTMN_countHit (u8 side, s32 damage) |
| In BATTLE_KIND_FINAL_LAST, the partner's third hit that does damage weakens the enemy (FIGHTSTG's FIGHTSTG_weakenEnemy) | |
| void | WFIGHTMN_endWeakness (u8 side) |
| In BATTLE_KIND_FINAL_LAST, anything the partner does but an attack ends the enemy's weakness (FIGHTSTG's FIGHTSTG_endEnemyWeakness) | |
| s32 | WFIGHTMN_limitDamage (u8 side, s32 damage, s32 hits) |
| In BATTLE_KIND_ESCAPE and BATTLE_KIND_UNK2, cuts the damage that the partner's hits do so that the enemy keeps at least an eleventh of its HP; in BATTLE_KIND_NO_DAMAGE the partner does none. | |
What FIGHTSTG asks WFIGHTMN about techniques: the final battles' records, the gauge, the start of a technique and its idle motions, and the damage limits of the special battles.
Definition in file techs.c.
In BATTLE_KIND_FINAL, keeps the partner's technique ID in FIGHTSTG_battle.state.tech when its script is not 5 or 12 and it has an effect (not 0-1, 9-10 or 12) or an element; WFIGHTMN_bringLastEnemy makes technique 440 from it.
< battle 0x144, the last one: its first enemy
Definition at line 11 of file techs.c.
Referenced by setTechIdleMotions().
Adds what damage gives to the current partner's gauge (BATTLE_SETUP.gauges), up to 1000.
Definition at line 35 of file techs.c.
Referenced by FIGHTSTG_updateCounterattack(), FIGHTSTG_updateEnemyAttack(), FIGHTSTG_updateFirstTech(), FIGHTSTG_updateTechAction(), and showOtherAttackResult().
|
inlinestatic |
Picks the script of the partner's technique: 8 with the triple hit, 6 with an action effect or a weapon of the enemy's family, else its own one.
< under it, the technique has none
< FIGHTSTG_rollHit and FIGHTSTG_computeDamage
Definition at line 50 of file techs.c.
Referenced by WFIGHTMN_startTech().
Sets the fighters' idle motions for the damage a technique does; an attack also counts for the final battles, anything else ends the enemy's weakness.
< FIGHTSTG_rollHit and FIGHTSTG_computeDamage
< FIGHTSTG_rollMagicHit and FIGHTSTG_computeMagicDamage
< HP, in 128ths of the damage
Definition at line 101 of file techs.c.
Referenced by WFIGHTMN_startTech().
Returns what a technique that does not attack heals, as negative damage.
Definition at line 116 of file techs.c.
Referenced by WFIGHTMN_startTech().
|
inlinestatic |
Gives the enemy's technique its own script, and its stage effect when it has an element or the target's family.
Definition at line 135 of file techs.c.
Referenced by WFIGHTMN_startTech().
| BattleScript * WFIGHTMN_startTech | ( | u8 | actor, |
| s32 | id | ||
| ) |
Starts the effect of actor's move id (FIGHTSTG's FIGHTSTG_createBattleScript): its kind and motions from TECHS (choosePartnerScript, chooseEnemyScript), which hits land from FIGHTSTG_action, then sets the fighters' idle motions for the damage it does (setTechIdleMotions)
WFIGHTMN's functions FIGHTSTG calls.
< two magic hits, as techniques 0x1B9 and 0x1BA
< in BATTLE_KIND_UNK2: takes 70 percent of the partner's HP, ends as BATTLE_FLED
< in BATTLE_KIND_UNK2: takes 70 percent of the partner's HP, ends as BATTLE_FLED
< FIGHTSTG_rollHit and FIGHTSTG_computeDamage
< FIGHTSTG_rollMagicHit and FIGHTSTG_computeMagicDamage
Definition at line 150 of file techs.c.
Referenced by FIGHTSTG_updateEnemyAttack(), FIGHTSTG_updateFirstTech(), FIGHTSTG_updateOneHpTurn(), startTechScript(), and WFIGHTMN_recover().
Sets the idle motion of side id >> 4's fighter: 1 (weak) if damage leaves it with a quarter of its HP or less; returns whether it did.
< WFIGHTMN's battle menu
< its third enemy; winning plays the ending
Definition at line 280 of file techs.c.
Referenced by FIGHTSTG_updateEnemyAttack(), FIGHTSTG_updateEnemyTurn(), playCounterTech(), setItemScript(), setTechIdleMotions(), setUpDrain(), setUpItemTech(), WFIGHTMN_countHit(), WFIGHTMN_digidevolve(), WFIGHTMN_endBlast(), WFIGHTMN_knockOut(), WFIGHTMN_recover(), WFIGHTMN_tag(), and WFIGHTMN_takeDamage().
In BATTLE_KIND_FINAL_LAST, the partner's third hit that does damage weakens the enemy (FIGHTSTG's FIGHTSTG_weakenEnemy)
< its third enemy; winning plays the ending
Definition at line 301 of file techs.c.
Referenced by FIGHTSTG_runItemScript(), playCounterTech(), and setTechIdleMotions().
| void WFIGHTMN_endWeakness | ( | u8 | side | ) |
In BATTLE_KIND_FINAL_LAST, anything the partner does but an attack ends the enemy's weakness (FIGHTSTG's FIGHTSTG_endEnemyWeakness)
< its third enemy; winning plays the ending
Definition at line 312 of file techs.c.
Referenced by FIGHTSTG_runItemScript(), setTechIdleMotions(), startTechScript(), and WFIGHTMN_runCommand().
In BATTLE_KIND_ESCAPE and BATTLE_KIND_UNK2, cuts the damage that the partner's hits do so that the enemy keeps at least an eleventh of its HP; in BATTLE_KIND_NO_DAMAGE the partner does none.
< the enemy runs away under a tenth of its HP
< the enemy keeps an eleventh of its HP
< the partner's hits do no damage
Definition at line 321 of file techs.c.
Referenced by FIGHTSTG_startAction(), FIGHTSTG_updateCounterattack(), and setUpItemTech().