mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-29 04:17:52 -05:00
Rename statuses and activePokemon
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 MoveMatchesChargingStatus(Entity *pokemon, Move *move);
|
||||
bool8 MoveMatchesBideClassStatus(Entity *pokemon, Move *move);
|
||||
// checkCharge = Check for the move named Charge.
|
||||
bool8 IsChargingAnyTwoTurnMove(Entity *pokemon, bool8 checkCharge);
|
||||
|
||||
|
||||
@@ -35,13 +35,13 @@ void Conversion2StatusTarget(Entity * pokemon, Entity * target);
|
||||
void VitalThrowStatusTarget(Entity * pokemon, Entity * target);
|
||||
void sub_8079F20(Entity * pokemon, Entity * target, u8 param_3, u8 param_4);
|
||||
void sub_807A0CC(Entity * pokemon, Entity * target);
|
||||
void SendSleepEndMessage(Entity * pokemon, Entity * target, bool8 param_3, bool8 param_4);
|
||||
void SendNonVolatileEndMessage(Entity * pokemon, Entity * target);
|
||||
void EndSleepClassStatus(Entity * pokemon, Entity * target, bool8 param_3, bool8 param_4);
|
||||
void EndBurnClassStatus(Entity * pokemon, Entity * target);
|
||||
void EndFrozenClassStatus(Entity * pokemon, Entity *target);
|
||||
void SendVolatileEndMessage(Entity * pokemon, Entity *target);
|
||||
void SendProtectionEndMessage(Entity * pokemon, Entity *target);
|
||||
void SendWaitingEndMessage(Entity * pokemon, Entity * target, u8 waitingStatus);
|
||||
void SendLinkedEndMessage(Entity * pokemon, Entity * target);
|
||||
void EndCringeClassStatus(Entity * pokemon, Entity *target);
|
||||
void EndReflectClassStatus(Entity * pokemon, Entity *target);
|
||||
void EndCurseClassStatus(Entity * pokemon, Entity * target, u8 curseClassStatus);
|
||||
void EndLeechSeedClassStatus(Entity * pokemon, Entity * target);
|
||||
void SendMoveEndMessage(Entity * pokemon, Entity * target);
|
||||
void SendTransformEndMessage(Entity * pokemon, Entity *target);
|
||||
void SendEyesightEndMessage(Entity * pokemon,Entity * target);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_CONSTANTS_STATUS_H
|
||||
#define GUARD_CONSTANTS_STATUS_H
|
||||
|
||||
// Sleep statuses
|
||||
// Sleep class statuses
|
||||
#define STATUS_NONE 0
|
||||
#define STATUS_SLEEP 1
|
||||
#define STATUS_SLEEPLESS 2
|
||||
@@ -9,13 +9,13 @@
|
||||
#define STATUS_YAWNING 4
|
||||
#define STATUS_NAPPING 5
|
||||
|
||||
// Non-volatile statuses
|
||||
// Burn class statuses
|
||||
#define STATUS_BURN 1
|
||||
#define STATUS_POISONED 2
|
||||
#define STATUS_BADLY_POISONED 3
|
||||
#define STATUS_PARALYSIS 4
|
||||
|
||||
// Immobilize statuses
|
||||
// Frozen class statuses
|
||||
#define STATUS_FROZEN 1
|
||||
#define STATUS_SHADOW_HOLD 2
|
||||
#define STATUS_WRAP 3
|
||||
@@ -24,7 +24,7 @@
|
||||
#define STATUS_PETRIFIED 6
|
||||
#define STATUS_CONSTRICTION 7
|
||||
|
||||
// Volatile statuses
|
||||
// Cringe class statuses
|
||||
#define STATUS_CRINGE 1
|
||||
#define STATUS_CONFUSED 2
|
||||
#define STATUS_PAUSED 3
|
||||
@@ -33,7 +33,7 @@
|
||||
#define STATUS_ENCORE 6
|
||||
#define STATUS_INFATUATED 7
|
||||
|
||||
// Charging statuses
|
||||
// Bide class statuses
|
||||
#define STATUS_BIDE 1
|
||||
#define STATUS_SOLARBEAM 2
|
||||
#define STATUS_SKY_ATTACK 3
|
||||
@@ -47,7 +47,7 @@
|
||||
#define STATUS_CHARGING 11
|
||||
#define STATUS_ENRAGED 12
|
||||
|
||||
// Protection statuses
|
||||
// ReflectClassStatus statuses
|
||||
#define STATUS_REFLECT 1
|
||||
#define STATUS_SAFEGUARD 2
|
||||
#define STATUS_LIGHT_SCREEN 3
|
||||
@@ -63,31 +63,31 @@
|
||||
#define STATUS_VITAL_THROW 13
|
||||
#define STATUS_MIST 14
|
||||
|
||||
// Waiting statuses
|
||||
// Curse class statuses
|
||||
#define STATUS_CURSED 1
|
||||
#define STATUS_DECOY 2
|
||||
#define STATUS_SNATCH 3
|
||||
|
||||
// Linked statuses
|
||||
// Leech Seed class statuses
|
||||
#define STATUS_LEECH_SEED 1
|
||||
#define STATUS_DESTINY_BOND 2
|
||||
|
||||
// Move statuses
|
||||
// Sure Shot class statuses
|
||||
#define STATUS_SURE_SHOT 1
|
||||
#define STATUS_WHIFFER 2
|
||||
#define STATUS_SET_DAMAGE 3
|
||||
#define STATUS_FOCUS_ENERGY 4
|
||||
|
||||
// Item statuses
|
||||
// Long Toss class statuses
|
||||
#define STATUS_LONG_TOSS 1
|
||||
#define STATUS_PIERCE 2
|
||||
|
||||
// Transform statuses
|
||||
// Invisible class statuses
|
||||
#define STATUS_INVISIBLE 1
|
||||
#define STATUS_TRANSFORMED 2
|
||||
#define STATUS_MOBILE 3
|
||||
|
||||
// Eyesight statuses
|
||||
// Blinker class statuses
|
||||
#define STATUS_BLINKER 1
|
||||
#define STATUS_CROSS_EYED 2
|
||||
#define STATUS_EYEDROPS 3
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
u8 sub_8075BF4(Entity * pokemon, s32 sleepTurns);
|
||||
u8 sub_8075BF4(Entity * pokemon, s32 sleepClassStatusTurns);
|
||||
void sub_8075C58(Entity * pokemon, Entity * target, s32 turns, bool8 displayMessage);
|
||||
bool8 CannotSleep(Entity * pokemon, Entity * target, u8 param_3, bool8 displayMessage);
|
||||
void NightmareStatusTarget(Entity * pokemon, Entity * target, s32 turns);
|
||||
|
||||
@@ -69,93 +69,93 @@ typedef struct AITarget
|
||||
|
||||
} AITarget;
|
||||
|
||||
typedef struct Sleep
|
||||
typedef struct SleepClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 sleep;
|
||||
/* 0x1 */ u8 sleepTurns;
|
||||
} Sleep;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} SleepClassStatus;
|
||||
|
||||
typedef struct NonVolatile
|
||||
typedef struct BurnClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 nonVolatileStatus;
|
||||
/* 0x1 */ u8 nonVolatileStatusTurns;
|
||||
/* 0x2 */ u8 nonVolatileStatusDamageCountdown;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
/* 0x2 */ u8 damageCountdown;
|
||||
/* 0x3 */ u8 unk4;
|
||||
} NonVolatile;
|
||||
} BurnClassStatus;
|
||||
|
||||
typedef struct Immobilize
|
||||
typedef struct FrozenClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 immobilizeStatus;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x4 */ s32 unk4;
|
||||
/* 0x8 */ u8 immobilizeStatusTurns;
|
||||
/* 0x9 */ u8 immobilizeStatusDamageCountdown;
|
||||
} Immobilize;
|
||||
/* 0x8 */ u8 turns;
|
||||
/* 0x9 */ u8 damageCountdown;
|
||||
} FrozenClassStatus;
|
||||
|
||||
typedef struct Volatile
|
||||
typedef struct CringeClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 volatileStatus;
|
||||
/* 0x1 */ u8 volatileStatusTurns;
|
||||
} Volatile;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} CringeClassStatus;
|
||||
|
||||
typedef struct Charging
|
||||
typedef struct BideClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 chargingStatus;
|
||||
/* 0x1 */ u8 chargingStatusTurns;
|
||||
/* 0x2 */ u8 chargingStatusMoveIndex; // The position of the move in the Pokémon's moveset that triggered the status.
|
||||
} Charging;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
/* 0x2 */ u8 moveSlot; // The position of the move in the Pokémon's moveset that triggered the status.
|
||||
} BideClassStatus;
|
||||
|
||||
typedef struct Protection
|
||||
typedef struct ReflectClassStatus
|
||||
{
|
||||
/* 0x0 */ u8 protectionStatus;
|
||||
/* 0x1 */ u8 protectionStatusTurns;
|
||||
} Protection;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} ReflectClassStatus;
|
||||
|
||||
typedef struct Waiting
|
||||
typedef struct CurseClassStatus
|
||||
{
|
||||
/* 0xC8 */ u8 waitingStatus;
|
||||
/* 0xC9 */ bool8 decoyApplierNonTeamMemberFlag; // True if the Pokémon is a decoy and a wild Pokémon (i.e., not an allied Pokémon).
|
||||
u8 unkCA;
|
||||
/* 0xCB */ u8 waitingStatusTurns;
|
||||
/* 0xCC */ u8 curseDamageCountdown;
|
||||
} Waiting;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ bool8 applierNonTeamMemberFlag; // True if the Pokémon is a decoy and a wild Pokémon (i.e., not an allied Pokémon).
|
||||
u8 unk2;
|
||||
/* 0x3 */ u8 turns;
|
||||
/* 0x4 */ u8 damageCountdown;
|
||||
} CurseClassStatus;
|
||||
|
||||
typedef struct Linked
|
||||
typedef struct LeechSeedClassStatus
|
||||
{
|
||||
/* 0xD0 */ u8 linkedStatus;
|
||||
/* 0xD4 */ u32 unkD4;
|
||||
/* 0xD8 */ u8 unkD8;
|
||||
/* 0xD9 */ u8 linkedStatusTurns;
|
||||
/* 0xDA */ u8 linkedStatusDamageCountdown;
|
||||
} Linked;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x4 */ u32 unkD4;
|
||||
/* 0x8 */ u8 unkD8;
|
||||
/* 0x9 */ u8 turns;
|
||||
/* 0xA */ u8 damageCountdown;
|
||||
} LeechSeedClassStatus;
|
||||
|
||||
|
||||
typedef struct MoveStatus
|
||||
typedef struct SureShotClassStatus
|
||||
{
|
||||
/* 0xDC */ u8 moveStatus;
|
||||
/* 0xDD */ u8 moveStatusTurns;
|
||||
} MoveStatus;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} SureShotClassStatus;
|
||||
|
||||
typedef struct ItemStatus
|
||||
typedef struct LongTossClassStatus
|
||||
{
|
||||
/* 0xE0 */ u8 itemStatus;
|
||||
} ItemStatus;
|
||||
/* 0x0 */ u8 status;
|
||||
} LongTossClassStatus;
|
||||
|
||||
typedef struct TransformStatus
|
||||
typedef struct InvisibleClassStatus
|
||||
{
|
||||
/* 0xE4 */ u8 transformStatus;
|
||||
/* 0xE5 */ u8 transformStatusTurns;
|
||||
} TransformStatus;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} InvisibleClassStatus;
|
||||
|
||||
typedef struct EyesightStatus
|
||||
typedef struct BlinkerClassStatus
|
||||
{
|
||||
/* 0xE8 */ u8 eyesightStatus;
|
||||
/* 0xE9 */ u8 eyesightStatusTurns;
|
||||
} EyesightStatus;
|
||||
/* 0x0 */ u8 status;
|
||||
/* 0x1 */ u8 turns;
|
||||
} BlinkerClassStatus;
|
||||
|
||||
typedef struct Muzzled
|
||||
{
|
||||
/* 0xEC */ bool8 muzzled;
|
||||
/* 0xED */ u8 muzzledTurns;
|
||||
/* 0x0 */ bool8 muzzled;
|
||||
/* 0x1 */ u8 turns;
|
||||
} Muzzled;
|
||||
|
||||
typedef struct Unk_Entity_x184
|
||||
@@ -235,18 +235,18 @@ typedef struct EntityInfo
|
||||
u8 fillA5[0xA8 - 0xA5];
|
||||
// Statuses are split into groups based on which ones can't overlap.
|
||||
// See status.h for which statuses are in each group.
|
||||
/* 0xA8 */ Sleep sleep;
|
||||
/* 0xAC */ NonVolatile nonVolatile;
|
||||
/* 0xB0 */ Immobilize immobilize;
|
||||
/* 0xBC */ Volatile volatileStatus;
|
||||
/* 0xC0 */ Charging charging;
|
||||
/* 0xC4 */ Protection protection;
|
||||
/* 0xC8 */ Waiting waitingStruct;
|
||||
/* 0xD0 */ Linked linked;
|
||||
/* 0xDC */ MoveStatus moveStatus;
|
||||
/* 0xE0 */ ItemStatus itemStatus;
|
||||
/* 0xE4 */ TransformStatus transformStatus;
|
||||
/* 0xE8 */ EyesightStatus eyesightStatus;
|
||||
/* 0xA8 */ SleepClassStatus sleepClassStatus;
|
||||
/* 0xAC */ BurnClassStatus burnClassStatus;
|
||||
/* 0xB0 */ FrozenClassStatus frozenClassStatus;
|
||||
/* 0xBC */ CringeClassStatus cringeClassStatus;
|
||||
/* 0xC0 */ BideClassStatus bideClassStatus;
|
||||
/* 0xC4 */ ReflectClassStatus reflectClassStatus;
|
||||
/* 0xC8 */ CurseClassStatus curseClassStatus;
|
||||
/* 0xD0 */ LeechSeedClassStatus linked;
|
||||
/* 0xDC */ SureShotClassStatus sureShotClassStatus;
|
||||
/* 0xE0 */ LongTossClassStatus longTossClassStatus;
|
||||
/* 0xE4 */ InvisibleClassStatus invisibleClassStatus;
|
||||
/* 0xE8 */ BlinkerClassStatus blinkerClassStatus;
|
||||
/* 0xEC */ Muzzled muzzled;
|
||||
/* 0xF0 */ bool8 powerEars;
|
||||
/* 0xF1 */ bool8 scanning;
|
||||
|
||||
@@ -383,7 +383,7 @@ typedef struct Dungeon
|
||||
u8 fill1357A[0x1357C - 0x1357A];
|
||||
/* 0x1357C */ Entity *teamPokemon[MAX_TEAM_MEMBERS];
|
||||
/* 0x1358C */ Entity *wildPokemon[DUNGEON_MAX_WILD_POKEMON];
|
||||
/* 0x135CC */ Entity *activeMonsterPtrs[DUNGEON_MAX_POKEMON]; // Contains both team and wild Pokémon
|
||||
/* 0x135CC */ Entity *activePokemon[DUNGEON_MAX_POKEMON]; // Contains both team and wild Pokémon
|
||||
/* 0x1361C */ Entity *items[DUNGEON_MAX_ITEMS];
|
||||
/* 0x1371C */ Entity *traps[DUNGEON_MAX_TRAPS];
|
||||
/* 0x1381C */ Entity teamPokemonEntities[MAX_TEAM_MEMBERS];
|
||||
|
||||
Reference in New Issue
Block a user