mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
document some bugs (#884)
This commit is contained in:
parent
8bcb66b1f2
commit
3364ec3fcb
|
|
@ -19,6 +19,13 @@ this is some code
|
|||
- [Acid Rain](#acid-rain)
|
||||
- [Fire Fang Always Bypasses Wonder Guard](#fire-fang-always-bypasses-wonder-guard)
|
||||
- [Post-KO Switch-In AI Scoring Overflow](#post-ko-switch-in-ai-scoring-overflow)
|
||||
- [Using a non-Rage Move After Rage Clears Every Volatile Status Except Rage](#using-a-non-rage-move-after-rage-clears-every-volatile-status-except-rage)
|
||||
- [Battle Animations](#battle-animations)
|
||||
- [Using Facade Moves the Attacker's Sprite One Pixel Up](#using-facade-moves-the-attackers-sprite-one-pixel-up)
|
||||
- [Using DynamicPunch Moves the Target's Sprite One Pixel Left](#using-dynamicpunch-moves-the-targets-sprite-one-pixel-left)
|
||||
- [Using Helping Hand Moves the Target's Sprite One Pixel Left](#using-helping-hand-moves-the-targets-sprite-one-pixel-left)
|
||||
- [Using Strength Moves the Attacker's Sprite Two Pixels Right](#using-strength-moves-the-attackers-sprite-two-pixels-right)
|
||||
- [Using Spit Up Moves the Attacker's Sprite Two Pixels Right](#using-spit-up-moves-the-attackers-sprite-two-pixels-right)
|
||||
- [Wild Encounters](#wild-encounters)
|
||||
- [Fishing Encounters ignore Sticky Hold and Suction Cups](#fishing-encounters-ignore-sticky-hold-and-suction-cups)
|
||||
- [Title Screen](#title-screen)
|
||||
|
|
@ -142,6 +149,94 @@ as having a score equivalent to 65 rather than 320.
|
|||
+ u32 score, maxScore;
|
||||
```
|
||||
|
||||
### Using a non-Rage Move After Rage Clears Every Volatile Status Except Rage
|
||||
|
||||
**Fix:** Edit the routine `BattleController_CheckPreMoveActions` in [`src/battle/battle_controller_player.c`](https://github.com/pret/pokeplatinum/blob/e7c9da4c9ff9e9c70c82fd03714cf9a9674d71cc/src/battle/battle_controller_player.c#L845):
|
||||
|
||||
```diff
|
||||
- battleCtx->battleMons[battler].statusVolatile &= VOLATILE_CONDITION_RAGE;
|
||||
+ battleCtx->battleMons[battler].statusVolatile &= ~VOLATILE_CONDITION_RAGE;
|
||||
```
|
||||
|
||||
## Battle Animations
|
||||
|
||||
### Using Facade Moves the Attacker's Sprite One Pixel Up
|
||||
|
||||
Due to the delays between scale commands being too short, they overlap with
|
||||
each other, resulting in the sprite permanently moving upward.
|
||||
|
||||
**Fix:** Increase the `Delay` values in [`res/battle/moves/facade/anim.s`](https://github.com/pret/pokeplatinum/blob/main/res/battle/moves/facade/anim.s)
|
||||
|
||||
```diff
|
||||
- Delay 8
|
||||
+ Delay 10
|
||||
```
|
||||
|
||||
Also update the sound effect timings to sync with the new delays:
|
||||
|
||||
```diff
|
||||
- PlayLoopedSoundEffectL SEQ_SE_DP_W207, 8, 6
|
||||
+ PlayLoopedSoundEffectL SEQ_SE_DP_W207, 10, 6
|
||||
```
|
||||
|
||||
### Using DynamicPunch Moves the Target's Sprite One Pixel Left
|
||||
|
||||
Due to the delays between shake commands being too short, they overlap with
|
||||
each other, resulting in the sprite permanently moving left.
|
||||
|
||||
**Fix:** Increase the `Delay` value in [`res/battle/moves/dynamic_punch/anim.s`](https://github.com/pret/pokeplatinum/blob/e7c9da4c9ff9e9c70c82fd03714cf9a9674d71cc/res/battle/moves/dynamic_punch/anim.s#L18)
|
||||
|
||||
```diff
|
||||
- Delay 3
|
||||
+ Delay 4
|
||||
```
|
||||
|
||||
### Using Helping Hand Moves the Target's Sprite One Pixel Left
|
||||
|
||||
Due to the delays between shake commands being too short, they overlap with
|
||||
each other, resulting in the sprite permanently moving left.
|
||||
|
||||
**Fix:** Move the `Delay 1` command into the loop in [`res/battle/moves/helping_hand/anim.s`](https://github.com/pret/pokeplatinum/blob/e7c9da4c9ff9e9c70c82fd03714cf9a9674d71cc/res/battle/moves/helping_hand/anim.s#L19)
|
||||
|
||||
|
||||
```diff
|
||||
- EndLoop
|
||||
- Delay 1
|
||||
+ Delay 1
|
||||
+ EndLoop
|
||||
```
|
||||
|
||||
### Using Strength Moves the Attacker's Sprite Two Pixels Right
|
||||
|
||||
The animation moves the attacker's sprite right and left 2 pixels every other frame
|
||||
as it shrinks. Since this happens an odd number of times, the sprite is moved permanently.
|
||||
|
||||
**Fix:** Edit the routine `BattleAnimTask_Strength` in [`src/battle_anim/script_funcs_0.c`](https://github.com/pret/pokeplatinum/blob/e7c9da4c9ff9e9c70c82fd03714cf9a9674d71cc/src/battle_anim/script_funcs_0.c#L771)
|
||||
|
||||
```diff
|
||||
} else {
|
||||
+ Point2D *pos;
|
||||
+ BattleAnimUtil_GetBattlerDefaultPos(ctx->battleAnimSys, BattleAnimSystem_GetAttacker(ctx->battleAnimSys), pos);
|
||||
+ PokemonSprite_SetAttribute(ctx->sprite, MON_SPRITE_X_CENTER, pos->x);
|
||||
ctx->state++;
|
||||
}
|
||||
```
|
||||
|
||||
### Using Spit Up Moves the Attacker's Sprite Two Pixels Right
|
||||
|
||||
Essentially the same as Strength.
|
||||
|
||||
**Fix:** Edit the routine `BattleAnimTask_ShakeAndScaleAttacker` in [`src/battle_anim/script_funcs_3.c`](https://github.com/pret/pokeplatinum/blob/e7c9da4c9ff9e9c70c82fd03714cf9a9674d71cc/src/battle_anim/script_funcs_3.c#L2286)
|
||||
|
||||
```diff
|
||||
} else {
|
||||
+ Point2D *pos;
|
||||
+ BattleAnimUtil_GetBattlerDefaultPos(ctx->battleAnimSys, BattleAnimSystem_GetAttacker(ctx->battleAnimSys), pos);
|
||||
+ PokemonSprite_SetAttribute(ctx->sprite, MON_SPRITE_X_CENTER, pos->x);
|
||||
ctx->state++;
|
||||
}
|
||||
```
|
||||
|
||||
## Wild Encounters
|
||||
### Fishing Encounters ignore Sticky Hold and Suction Cups
|
||||
|
||||
|
|
|
|||
|
|
@ -840,8 +840,9 @@ static void BattleControllerPlayer_CheckPreMoveActions(BattleSystem *battleSys,
|
|||
|
||||
case PRE_MOVE_ACTION_STATE_CHECK_RAGE_FLAG:
|
||||
for (battler = 0; battler < maxBattlers; battler++) {
|
||||
if ((battleCtx->battleMons[battler].statusVolatile & VOLATILE_CONDITION_RAGE)
|
||||
if (battleCtx->battleMons[battler].statusVolatile & VOLATILE_CONDITION_RAGE
|
||||
&& Battler_SelectedMove(battleCtx, battler) != MOVE_RAGE) {
|
||||
// bug: clears every volatile status except rage
|
||||
battleCtx->battleMons[battler].statusVolatile &= VOLATILE_CONDITION_RAGE;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user