diff --git a/include/structs/dungeon_entity.h b/include/structs/dungeon_entity.h index 16c336ffe..9d5bfac1a 100644 --- a/include/structs/dungeon_entity.h +++ b/include/structs/dungeon_entity.h @@ -221,7 +221,7 @@ typedef struct EntityInfo /* 0xA8 */ Sleep sleep; /* 0xAC */ NonVolatile nonVolatile; /* 0xB0 */ Immobilize immobilize; - /* 0xBC */ Volatile Volatile; + /* 0xBC */ Volatile volatileStatus; /* 0xC0 */ Charging charging; /* 0xC4 */ Protection protection; /* 0xC8 */ Waiting waitingStruct; diff --git a/src/code_8041AD0.c b/src/code_8041AD0.c index b1ecfb663..935e46f66 100644 --- a/src/code_8041AD0.c +++ b/src/code_8041AD0.c @@ -215,7 +215,7 @@ void EntityUpdateStatusSprites(Entity *entity) spriteStatus = spriteStatus | gStatusSpriteMasks_NonVolatileStatus[entityInfo->nonVolatile.nonVolatileStatus] | gStatusSpriteMasks_ImmobilizeStatus[entityInfo->immobilize.immobilizeStatus] | - gStatusSpriteMasks_VolatileStatus[entityInfo->Volatile.volatileStatus] | + gStatusSpriteMasks_VolatileStatus[entityInfo->volatileStatus.volatileStatus] | gStatusSpriteMasks_ChargingStatus[entityInfo->charging.chargingStatus] | gStatusSpriteMasks_ProtectionStatus[entityInfo->protection.protectionStatus] | gStatusSpriteMasks_WaitingStatus[entityInfo->waitingStruct.waitingStatus] | diff --git a/src/code_8057824_1.c b/src/code_8057824_1.c index fa2c3ffb4..d22239daf 100644 --- a/src/code_8057824_1.c +++ b/src/code_8057824_1.c @@ -3816,7 +3816,6 @@ void CreateJirachiWishWarpTile(void) struct Tile *tile; tile = GetTileSafe(gDungeon->unkE220[7].x, gDungeon->unkE220[7].y); - //tile = GetTileSafe(gDungeon->unkE23C, gDungeon->unkE23E); tile->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); tile->terrainType |= TERRAIN_TYPE_IMPASSABLE_WALL; tile->terrainType &= ~TERRAIN_TYPE_STAIRS; @@ -3831,7 +3830,6 @@ void EnableJirachiWishWarpTile(void) struct Tile *tile; tile = GetTileSafe(gDungeon->unkE220[7].x, gDungeon->unkE220[7].y); - //tile = GetTileSafe(gDungeon->unkE23C, gDungeon->unkE23E); tile->terrainType &= ~(TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY); tile->terrainType |= TERRAIN_TYPE_NORMAL; tile->terrainType &= ~TERRAIN_TYPE_IMPASSABLE_WALL; diff --git a/src/code_8077274_1.c b/src/code_8077274_1.c index 6a65764ac..ffb0f8f52 100644 --- a/src/code_8077274_1.c +++ b/src/code_8077274_1.c @@ -1296,7 +1296,7 @@ void SendVolatileEndMessage(Entity * pokemon, Entity *target) } entityInfo = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - switch(entityInfo->Volatile.volatileStatus) { + switch(entityInfo->volatileStatus.volatileStatus) { case STATUS_NONE: case 8: break; @@ -1322,7 +1322,7 @@ void SendVolatileEndMessage(Entity * pokemon, Entity *target) sub_80522F4(pokemon,target, *gPtrMonNoLongerCringingMessage); break; } - entityInfo->Volatile.volatileStatus = STATUS_NONE; + entityInfo->volatileStatus.volatileStatus = STATUS_NONE; EntityUpdateStatusSprites(target); CalcSpeedStage(target); } diff --git a/src/dungeon_ai.c b/src/dungeon_ai.c index c8d6fd965..97888bd8b 100644 --- a/src/dungeon_ai.c +++ b/src/dungeon_ai.c @@ -144,7 +144,7 @@ void RunMonsterAI(Entity *pokemon, u32 unused) { return; } - if (pokemonInfo->Volatile.volatileStatus == STATUS_CONFUSED) + if (pokemonInfo->volatileStatus.volatileStatus == STATUS_CONFUSED) { SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); } @@ -159,7 +159,7 @@ void RunMonsterAI(Entity *pokemon, u32 unused) } else { - if (pokemonInfo->Volatile.volatileStatus == STATUS_CONFUSED) + if (pokemonInfo->volatileStatus.volatileStatus == STATUS_CONFUSED) { SetActionPassTurnOrWalk(&pokemonInfo->action, pokemonInfo->id); } diff --git a/src/dungeon_ai_attack.c b/src/dungeon_ai_attack.c index 6bc73012b..4d096b16c 100644 --- a/src/dungeon_ai_attack.c +++ b/src/dungeon_ai_attack.c @@ -67,7 +67,7 @@ void DecideAttack(Entity *pokemon) if (CannotAttack(pokemon, FALSE) || ShouldMonsterRunAwayAndShowEffect(pokemon, TRUE) || HasTactic(pokemon, TACTIC_KEEP_YOUR_DISTANCE) || - (pokemonInfo->Volatile.volatileStatus == STATUS_CONFUSED && DungeonRandOutcome(gConfusedAttackChance))) + (pokemonInfo->volatileStatus.volatileStatus == STATUS_CONFUSED && DungeonRandOutcome(gConfusedAttackChance))) { return; } @@ -353,7 +353,7 @@ s32 AIConsiderMove(struct AIPossibleMove *aiPossibleMove, Entity *pokemon, Move targetingFlags = GetMoveTargetAndRangeForPokemon(pokemon, move, TRUE); hasStatusChecker = IQSkillIsEnabled(pokemon, IQ_STATUS_CHECKER); aiPossibleMove->canBeUsed = FALSE; - if ((pokemonInfo->Volatile.volatileStatus == STATUS_TAUNTED && !MoveIgnoresTaunted(move)) || + if ((pokemonInfo->volatileStatus.volatileStatus == STATUS_TAUNTED && !MoveIgnoresTaunted(move)) || (hasStatusChecker && !CanUseOnSelfWithStatusChecker(pokemon, move))) { return 1; diff --git a/src/dungeon_ai_item_weight.c b/src/dungeon_ai_item_weight.c index b3b19f4b5..0fbd3769b 100644 --- a/src/dungeon_ai_item_weight.c +++ b/src/dungeon_ai_item_weight.c @@ -233,7 +233,7 @@ u32 EvaluateItem(Entity *targetPokemon, Item *item, u32 itemTargetFlags) } break; case ITEM_TOTTER_SEED: - if (pokemonInfo->Volatile.volatileStatus != STATUS_CONFUSED) + if (pokemonInfo->volatileStatus.volatileStatus != STATUS_CONFUSED) { if (CanTargetAdjacentPokemon(targetPokemon)) { diff --git a/src/dungeon_capabilities.c b/src/dungeon_capabilities.c index 2b4deaf85..35b81c449 100644 --- a/src/dungeon_capabilities.c +++ b/src/dungeon_capabilities.c @@ -25,8 +25,8 @@ bool8 CannotMove(Entity *pokemon, bool8 checkBlinker) || pokemonInfo->sleep.sleep == STATUS_SLEEP || pokemonInfo->sleep.sleep == STATUS_NAPPING || pokemonInfo->sleep.sleep == STATUS_NIGHTMARE - || pokemonInfo->Volatile.volatileStatus == STATUS_PAUSED - || pokemonInfo->Volatile.volatileStatus == STATUS_INFATUATED + || pokemonInfo->volatileStatus.volatileStatus == STATUS_PAUSED + || pokemonInfo->volatileStatus.volatileStatus == STATUS_INFATUATED || pokemonInfo->immobilize.immobilizeStatus == STATUS_PETRIFIED) return TRUE; @@ -49,14 +49,14 @@ bool8 sub_8070BC0(Entity* entity) || entityInfo->immobilize.immobilizeStatus == STATUS_FROZEN) return FALSE; - if (entityInfo->Volatile.volatileStatus == STATUS_CONFUSED) + if (entityInfo->volatileStatus.volatileStatus == STATUS_CONFUSED) return FALSE; if (entityInfo->sleep.sleep == STATUS_SLEEP) return FALSE; if (entityInfo->transformStatus.transformStatus == STATUS_INVISIBLE || entityInfo->sleep.sleep == STATUS_NAPPING) return FALSE; - if (entityInfo->Volatile.volatileStatus == STATUS_CRINGE) + if (entityInfo->volatileStatus.volatileStatus == STATUS_CRINGE) return FALSE; if (entityInfo->immobilize.immobilizeStatus == STATUS_WRAP) return FALSE; @@ -67,8 +67,8 @@ bool8 sub_8070BC0(Entity* entity) return FALSE; if (entityInfo->eyesightStatus.eyesightStatus == STATUS_BLINKER) return FALSE; - if (entityInfo->Volatile.volatileStatus != STATUS_INFATUATED - && entityInfo->Volatile.volatileStatus != STATUS_PAUSED) + if (entityInfo->volatileStatus.volatileStatus != STATUS_INFATUATED + && entityInfo->volatileStatus.volatileStatus != STATUS_PAUSED) return TRUE; return FALSE; @@ -128,9 +128,9 @@ bool8 CannotAttack(Entity *pokemon, bool8 skipSleep) pokemonInfo->immobilize.immobilizeStatus != STATUS_WRAP && pokemonInfo->immobilize.immobilizeStatus != STATUS_WRAPPED && pokemonInfo->immobilize.immobilizeStatus != STATUS_PETRIFIED && - pokemonInfo->Volatile.volatileStatus != STATUS_CRINGE && - pokemonInfo->Volatile.volatileStatus != STATUS_PAUSED && - pokemonInfo->Volatile.volatileStatus != STATUS_INFATUATED && + pokemonInfo->volatileStatus.volatileStatus != STATUS_CRINGE && + pokemonInfo->volatileStatus.volatileStatus != STATUS_PAUSED && + pokemonInfo->volatileStatus.volatileStatus != STATUS_INFATUATED && pokemonInfo->nonVolatile.nonVolatileStatus != STATUS_PARALYSIS && !ShouldMonsterRunAway(pokemon)) return FALSE; diff --git a/src/move_checks.c b/src/move_checks.c index 2dbcef0db..c9e30f1c1 100644 --- a/src/move_checks.c +++ b/src/move_checks.c @@ -592,7 +592,7 @@ bool8 CanUseOnTargetWithStatusChecker(Entity *user, Entity *target, Move *move) } break; case MOVE_ENCORE: - if (targetData->Volatile.volatileStatus == STATUS_ENCORE) + if (targetData->volatileStatus.volatileStatus == STATUS_ENCORE) { return FALSE; } @@ -774,7 +774,7 @@ bool8 CanUseOnTargetWithStatusChecker(Entity *user, Entity *target, Move *move) } break; case MOVE_TAUNT: - if (targetData->Volatile.volatileStatus == STATUS_TAUNTED) + if (targetData->volatileStatus.volatileStatus == STATUS_TAUNTED) { return FALSE; } @@ -825,7 +825,7 @@ bool8 CanUseOnTargetWithStatusChecker(Entity *user, Entity *target, Move *move) break; case MOVE_IMPRISON: case MOVE_OBSERVER: - if (targetData->Volatile.volatileStatus == STATUS_PAUSED) + if (targetData->volatileStatus.volatileStatus == STATUS_PAUSED) { return FALSE; } @@ -856,7 +856,7 @@ bool8 CanUseOnTargetWithStatusChecker(Entity *user, Entity *target, Move *move) } break; case MOVE_ATTRACT: - if (targetData->Volatile.volatileStatus == STATUS_INFATUATED) + if (targetData->volatileStatus.volatileStatus == STATUS_INFATUATED) { return FALSE; } @@ -895,7 +895,7 @@ bool8 CanUseOnTargetWithStatusChecker(Entity *user, Entity *target, Move *move) case MOVE_SWEET_KISS: case MOVE_TEETER_DANCE: case MOVE_TOTTER: - if (targetData->Volatile.volatileStatus == STATUS_CONFUSED) + if (targetData->volatileStatus.volatileStatus == STATUS_CONFUSED) { return FALSE; } diff --git a/src/move_effects_target.c b/src/move_effects_target.c index b0c26fd1a..6cf266fa9 100644 --- a/src/move_effects_target.c +++ b/src/move_effects_target.c @@ -155,11 +155,11 @@ void sub_8075BA4(Entity *param_1, u8 param_2) { EntityInfo * entityInfo = param_1->info; - if ((param_2 != 0) && (entityInfo->Volatile.volatileStatus == STATUS_COWERING)) { + if ((param_2 != 0) && (entityInfo->volatileStatus.volatileStatus == STATUS_COWERING)) { entityInfo->action.direction = (entityInfo->action.direction + 4) & DIRECTION_MASK; TargetTileInFront(param_1); } - else if (entityInfo->Volatile.volatileStatus == STATUS_CONFUSED) { + else if (entityInfo->volatileStatus.volatileStatus == STATUS_CONFUSED) { entityInfo->action.direction = DungeonRandInt(NUM_DIRECTIONS); TargetTileInFront(param_1); } @@ -412,9 +412,9 @@ void PausedStatusTarget(Entity * pokemon, Entity * target, u8 param_3, s32 turns return; } SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); - if (entityInfo->Volatile.volatileStatus != STATUS_PAUSED) { - entityInfo->Volatile.volatileStatus = STATUS_PAUSED; - entityInfo->Volatile.volatileStatusTurns = turns + 1; + if (entityInfo->volatileStatus.volatileStatus != STATUS_PAUSED) { + entityInfo->volatileStatus.volatileStatus = STATUS_PAUSED; + entityInfo->volatileStatus.volatileStatusTurns = turns + 1; nullsub_72(target); if (turns == 1) { sub_80522F4(pokemon,target,*gUnknown_80FB480); @@ -452,9 +452,9 @@ void InfatuateStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessa else { SetMessageArgument_2(gAvailablePokemonNames,entityInfo,0); - if (entityInfo->Volatile.volatileStatus != STATUS_INFATUATED) { - entityInfo->Volatile.volatileStatus = STATUS_INFATUATED; - entityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F00,TRUE) + 1; + if (entityInfo->volatileStatus.volatileStatus != STATUS_INFATUATED) { + entityInfo->volatileStatus.volatileStatus = STATUS_INFATUATED; + entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4F00,TRUE) + 1; sub_8041EF8(target); sub_80522F4(pokemon,target,*gUnknown_80FB50C); } diff --git a/src/move_util.c b/src/move_util.c index 464d5609a..44c451ef0 100644 --- a/src/move_util.c +++ b/src/move_util.c @@ -225,11 +225,11 @@ bool8 CanMonsterUseMove(Entity *pokemon, Move *move, bool8 hasPPChecker) { return FALSE; } - if (pokemonInfo->Volatile.volatileStatus == STATUS_TAUNTED && !MoveIgnoresTaunted(move)) + if (pokemonInfo->volatileStatus.volatileStatus == STATUS_TAUNTED && !MoveIgnoresTaunted(move)) { return FALSE; } - if (pokemonInfo->Volatile.volatileStatus == STATUS_ENCORE) + if (pokemonInfo->volatileStatus.volatileStatus == STATUS_ENCORE) { if (move->id == MOVE_STRUGGLE) { @@ -257,8 +257,8 @@ bool8 sub_805744C(Entity * pokemon, Move *move, bool8 param_3) return FALSE; } if (param_3 != 0) { - if ((entityInfo->Volatile.volatileStatus == STATUS_TAUNTED) && (!MoveIgnoresTaunted(move))) return FALSE; - if (entityInfo->Volatile.volatileStatus == STATUS_ENCORE) { + if ((entityInfo->volatileStatus.volatileStatus == STATUS_TAUNTED) && (!MoveIgnoresTaunted(move))) return FALSE; + if (entityInfo->volatileStatus.volatileStatus == STATUS_ENCORE) { if (move->id == MOVE_STRUGGLE) { if((entityInfo->struggleMoveFlags & MOVE_FLAG_LAST_USED) == 0) return FALSE; } diff --git a/src/status.c b/src/status.c index 2a948abba..dcbf5a560 100644 --- a/src/status.c +++ b/src/status.c @@ -403,10 +403,10 @@ void CringeStatusTarget(Entity * pokemon,Entity * target, bool8 displayMessage) else { entityInfo = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if(entityInfo->Volatile.volatileStatus != STATUS_CRINGE) + if(entityInfo->volatileStatus.volatileStatus != STATUS_CRINGE) { - entityInfo->Volatile.volatileStatus = STATUS_CRINGE; - entityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E3C, TRUE) + 1; + entityInfo->volatileStatus.volatileStatus = STATUS_CRINGE; + entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target, gUnknown_80F4E3C, TRUE) + 1; sub_80420A0(target); sub_80522F4(pokemon,target,*gUnknown_80FB2E0); } @@ -595,9 +595,9 @@ void ConfuseStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessage { sub_8041BE8(target); entityInfo = target->info; - if (entityInfo->Volatile.volatileStatus != STATUS_CONFUSED) { - entityInfo->Volatile.volatileStatus = STATUS_CONFUSED; - entityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E4C,TRUE) + 1; + if (entityInfo->volatileStatus.volatileStatus != STATUS_CONFUSED) { + entityInfo->volatileStatus.volatileStatus = STATUS_CONFUSED; + entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4E4C,TRUE) + 1; sub_80522F4(pokemon,target,*gUnknown_80FB25C); } else { @@ -615,9 +615,9 @@ void CowerStatusTarget(Entity * pokemon, Entity * target, bool8 displayMessage) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,displayMessage))) { entityInfo = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityInfo->Volatile.volatileStatus != STATUS_COWERING) { - entityInfo->Volatile.volatileStatus = STATUS_COWERING; - entityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ECC,TRUE) + 1; + if (entityInfo->volatileStatus.volatileStatus != STATUS_COWERING) { + entityInfo->volatileStatus.volatileStatus = STATUS_COWERING; + entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ECC,TRUE) + 1; sub_8041BF8(target); sub_80522F4(pokemon,target,*gUnknown_80FB940); } @@ -1114,9 +1114,9 @@ void TauntStatusTarget(Entity * pokemon, Entity * target) if ((EntityExists(target)) && (!HasSafeguardStatus(pokemon,target,TRUE))) { entityInfo = target->info; SetMessageArgument(gAvailablePokemonNames,target,0); - if (entityInfo->Volatile.volatileStatus != STATUS_TAUNTED) { - entityInfo->Volatile.volatileStatus = STATUS_TAUNTED; - entityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ED8,TRUE) + 1; + if (entityInfo->volatileStatus.volatileStatus != STATUS_TAUNTED) { + entityInfo->volatileStatus.volatileStatus = STATUS_TAUNTED; + entityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4ED8,TRUE) + 1; nullsub_73(target); sub_80522F4(pokemon,target,*gUnknown_80FB9F0); } @@ -1211,9 +1211,9 @@ void EncoreStatusTarget(Entity *pokemon,Entity *target) } else { SetMessageArgument(gAvailablePokemonNames,target,0); - if (EntityInfo->Volatile.volatileStatus != STATUS_ENCORE) { - EntityInfo->Volatile.volatileStatus = STATUS_ENCORE; - EntityInfo->Volatile.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EF4,TRUE) + 1; + if (EntityInfo->volatileStatus.volatileStatus != STATUS_ENCORE) { + EntityInfo->volatileStatus.volatileStatus = STATUS_ENCORE; + EntityInfo->volatileStatus.volatileStatusTurns = CalculateStatusTurns(target,gUnknown_80F4EF4,TRUE) + 1; nullsub_83(target); sub_80522F4(pokemon,target,*gUnknown_80FBB94); } diff --git a/src/status_checks.c b/src/status_checks.c index ee1779457..c5649c722 100644 --- a/src/status_checks.c +++ b/src/status_checks.c @@ -52,7 +52,7 @@ bool8 HasStatusAffectingActions(Entity *pokemon) case STATUS_PETRIFIED: return TRUE; } - switch (pokemonInfo->Volatile.volatileStatus) + switch (pokemonInfo->volatileStatus.volatileStatus) { case STATUS_PAUSED: SendMessage(pokemon, *gPtrPausedMessage); @@ -145,7 +145,7 @@ bool8 sub_80701A4(Entity *pokemon) return TRUE; } - switch(pokemonInfo->Volatile.volatileStatus) { + switch(pokemonInfo->volatileStatus.volatileStatus) { case STATUS_CONFUSED: flag = TRUE; goto _0807026C; diff --git a/src/status_checks_1.c b/src/status_checks_1.c index c26d774a0..72b6aea3c 100644 --- a/src/status_checks_1.c +++ b/src/status_checks_1.c @@ -135,7 +135,7 @@ bool8 HasNegativeStatus(Entity *pokemon) pokemonInfo->sleep.sleep == STATUS_YAWNING || pokemonInfo->nonVolatile.nonVolatileStatus != STATUS_NONE || (pokemonInfo->immobilize.immobilizeStatus != STATUS_INGRAIN && pokemonInfo->immobilize.immobilizeStatus != STATUS_NONE) || - pokemonInfo->Volatile.volatileStatus != STATUS_NONE || + pokemonInfo->volatileStatus.volatileStatus != STATUS_NONE || pokemonInfo->waitingStruct.waitingStatus == STATUS_CURSED || pokemonInfo->waitingStruct.waitingStatus == STATUS_DECOY || pokemonInfo->linked.linkedStatus == STATUS_LEECH_SEED || diff --git a/src/trap_1.c b/src/trap_1.c index 8f4fe7e59..9b19966de 100644 --- a/src/trap_1.c +++ b/src/trap_1.c @@ -338,7 +338,7 @@ void sub_8080E0C(unkStruct_8094924 *param_1,Entity *param_2) puStack_8c = &info->sleep; puStack_88 = &info->nonVolatile; puStack_84 = &info->immobilize; - puStack_80 = &info->Volatile; + puStack_80 = &info->volatileStatus; puStack_7c = &info->charging; puStack_78 = &info->protection; puStack_74 = &info->waitingStruct;