Merge branch 'master' of https://github.com/GriffinRichards/pokefirered into clone-union
This commit is contained in:
+233
-196
@@ -44,39 +44,27 @@
|
||||
#define BIT_FLANK 2
|
||||
|
||||
// Battle Type Flags
|
||||
#define BATTLE_TYPE_DOUBLE 0x0001
|
||||
#define BATTLE_TYPE_LINK 0x0002
|
||||
#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set.
|
||||
#define BATTLE_TYPE_TRAINER 0x0008
|
||||
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
|
||||
#define BATTLE_TYPE_LINK_ESTABLISHED 0x0020 // Set when the link battle setup callback finishes.
|
||||
#define BATTLE_TYPE_MULTI 0x0040
|
||||
#define BATTLE_TYPE_SAFARI 0x0080
|
||||
#define BATTLE_TYPE_BATTLE_TOWER 0x0100
|
||||
#define BATTLE_TYPE_OLD_MAN_TUTORIAL 0x0200
|
||||
#define BATTLE_TYPE_ROAMER 0x0400
|
||||
#define BATTLE_TYPE_EREADER_TRAINER 0x0800
|
||||
#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000
|
||||
#define BATTLE_TYPE_LEGENDARY 0x2000
|
||||
#define BATTLE_TYPE_GHOST_UNVEILED 0x2000 // Re-use of BATTLE_TYPE_LEGENDARY, when combined with BATTLE_TYPE_GHOST
|
||||
#define BATTLE_TYPE_REGI 0x4000
|
||||
#define BATTLE_TYPE_GHOST 0x8000
|
||||
#define BATTLE_TYPE_POKEDUDE 0x10000
|
||||
#define BATTLE_TYPE_WILD_SCRIPTED 0x20000
|
||||
#define BATTLE_TYPE_LEGENDARY_FRLG 0x40000
|
||||
#define BATTLE_TYPE_TRAINER_TOWER 0x80000
|
||||
#define BATTLE_TYPE_x100000 0x100000
|
||||
#define BATTLE_TYPE_x200000 0x200000
|
||||
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
|
||||
#define BATTLE_TYPE_x800000 0x800000
|
||||
#define BATTLE_TYPE_RECORDED 0x1000000
|
||||
#define BATTLE_TYPE_x2000000 0x2000000
|
||||
#define BATTLE_TYPE_x4000000 0x4000000
|
||||
#define BATTLE_TYPE_SECRET_BASE 0x8000000
|
||||
#define BATTLE_TYPE_GROUDON 0x10000000
|
||||
#define BATTLE_TYPE_KYOGRE 0x20000000
|
||||
#define BATTLE_TYPE_RAYQUAZA 0x40000000
|
||||
#define BATTLE_TYPE_x80000000 0x80000000
|
||||
#define BATTLE_TYPE_DOUBLE (1 << 0)
|
||||
#define BATTLE_TYPE_LINK (1 << 1)
|
||||
#define BATTLE_TYPE_IS_MASTER (1 << 2) // In not-link battles, it's always set.
|
||||
#define BATTLE_TYPE_TRAINER (1 << 3)
|
||||
#define BATTLE_TYPE_FIRST_BATTLE (1 << 4)
|
||||
#define BATTLE_TYPE_LINK_IN_BATTLE (1 << 5) // Set on battle entry, cleared on exit. Checked rarely
|
||||
#define BATTLE_TYPE_MULTI (1 << 6)
|
||||
#define BATTLE_TYPE_SAFARI (1 << 7)
|
||||
#define BATTLE_TYPE_BATTLE_TOWER (1 << 8)
|
||||
#define BATTLE_TYPE_OLD_MAN_TUTORIAL (1 << 9) // Used in pokeemerald as BATTLE_TYPE_WALLY_TUTORIAL.
|
||||
#define BATTLE_TYPE_ROAMER (1 << 10)
|
||||
#define BATTLE_TYPE_EREADER_TRAINER (1 << 11)
|
||||
#define BATTLE_TYPE_KYOGRE_GROUDON (1 << 12)
|
||||
#define BATTLE_TYPE_LEGENDARY (1 << 13)
|
||||
#define BATTLE_TYPE_GHOST_UNVEILED (1 << 13) // Re-use of BATTLE_TYPE_LEGENDARY, when combined with BATTLE_TYPE_GHOST
|
||||
#define BATTLE_TYPE_REGI (1 << 14)
|
||||
#define BATTLE_TYPE_GHOST (1 << 15) // Used in pokeemerald as BATTLE_TYPE_TWO_OPPONENTS.
|
||||
#define BATTLE_TYPE_POKEDUDE (1 << 16) // Used in pokeemerald as BATTLE_TYPE_DOME.
|
||||
#define BATTLE_TYPE_WILD_SCRIPTED (1 << 17) // Used in pokeemerald as BATTLE_TYPE_PALACE.
|
||||
#define BATTLE_TYPE_LEGENDARY_FRLG (1 << 18) // Used in pokeemerald as BATTLE_TYPE_ARENA.
|
||||
#define BATTLE_TYPE_TRAINER_TOWER (1 << 19) // Used in pokeemerald as BATTLE_TYPE_FACTORY.
|
||||
|
||||
#define IS_BATTLE_TYPE_GHOST_WITHOUT_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && !((flags) & BATTLE_TYPE_GHOST_UNVEILED))
|
||||
#define IS_BATTLE_TYPE_GHOST_WITH_SCOPE(flags) ((flags) & BATTLE_TYPE_GHOST && (flags) & BATTLE_TYPE_GHOST_UNVEILED)
|
||||
@@ -85,103 +73,113 @@
|
||||
#define RIVAL_BATTLE_TUTORIAL 3
|
||||
|
||||
// Battle Outcome defines
|
||||
#define B_OUTCOME_WON 0x1
|
||||
#define B_OUTCOME_LOST 0x2
|
||||
#define B_OUTCOME_DREW 0x3
|
||||
#define B_OUTCOME_RAN 0x4
|
||||
#define B_OUTCOME_PLAYER_TELEPORTED 0x5
|
||||
#define B_OUTCOME_MON_FLED 0x6
|
||||
#define B_OUTCOME_CAUGHT 0x7
|
||||
#define B_OUTCOME_NO_SAFARI_BALLS 0x8
|
||||
#define B_OUTCOME_FORFEITED 0x9
|
||||
#define B_OUTCOME_MON_TELEPORTED 0xA
|
||||
#define B_OUTCOME_LINK_BATTLE_RAN 0x80
|
||||
#define B_OUTCOME_WON 1
|
||||
#define B_OUTCOME_LOST 2
|
||||
#define B_OUTCOME_DREW 3
|
||||
#define B_OUTCOME_RAN 4
|
||||
#define B_OUTCOME_PLAYER_TELEPORTED 5
|
||||
#define B_OUTCOME_MON_FLED 6
|
||||
#define B_OUTCOME_CAUGHT 7
|
||||
#define B_OUTCOME_NO_SAFARI_BALLS 8
|
||||
#define B_OUTCOME_FORFEITED 9
|
||||
#define B_OUTCOME_MON_TELEPORTED 10
|
||||
#define B_OUTCOME_LINK_BATTLE_RAN (1 << 7) // 128
|
||||
|
||||
// Non-volatile status conditions
|
||||
// These persist remain outside of battle and after switching out
|
||||
#define STATUS1_NONE 0x0
|
||||
#define STATUS1_SLEEP 0x7
|
||||
#define STATUS1_POISON 0x8
|
||||
#define STATUS1_BURN 0x10
|
||||
#define STATUS1_FREEZE 0x20
|
||||
#define STATUS1_PARALYSIS 0x40
|
||||
#define STATUS1_TOXIC_POISON 0x80
|
||||
#define STATUS1_TOXIC_COUNTER 0xF00
|
||||
#define STATUS1_NONE 0
|
||||
#define STATUS1_SLEEP (1 << 0 | 1 << 1 | 1 << 2) // First 3 bits (Number of turns to sleep)
|
||||
#define STATUS1_SLEEP_TURN(num) ((num) << 0) // Just for readability (or if rearranging statuses)
|
||||
#define STATUS1_POISON (1 << 3)
|
||||
#define STATUS1_BURN (1 << 4)
|
||||
#define STATUS1_FREEZE (1 << 5)
|
||||
#define STATUS1_PARALYSIS (1 << 6)
|
||||
#define STATUS1_TOXIC_POISON (1 << 7)
|
||||
#define STATUS1_TOXIC_COUNTER (1 << 8 | 1 << 9 | 1 << 10 | 1 << 11)
|
||||
#define STATUS1_TOXIC_TURN(num) ((num) << 8)
|
||||
#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON)
|
||||
#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON)
|
||||
|
||||
// Volatile status ailments
|
||||
// These are removed after exiting the battle or switching out
|
||||
#define STATUS2_CONFUSION 0x00000007
|
||||
#define STATUS2_FLINCHED 0x00000008
|
||||
#define STATUS2_UPROAR 0x00000070
|
||||
#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200
|
||||
#define STATUS2_LOCK_CONFUSE 0x00000C00
|
||||
#define STATUS2_MULTIPLETURNS 0x00001000
|
||||
#define STATUS2_WRAPPED 0x0000E000
|
||||
#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler
|
||||
#define STATUS2_CONFUSION (1 << 0 | 1 << 1 | 1 << 2)
|
||||
#define STATUS2_CONFUSION_TURN(num) ((num) << 0)
|
||||
#define STATUS2_FLINCHED (1 << 3)
|
||||
#define STATUS2_UPROAR (1 << 4 | 1 << 5 | 1 << 6)
|
||||
#define STATUS2_UPROAR_TURN(num) ((num) << 4)
|
||||
#define STATUS2_UNUSED (1 << 7)
|
||||
#define STATUS2_BIDE (1 << 8 | 1 << 9)
|
||||
#define STATUS2_BIDE_TURN(num) (((num) << 8) & STATUS2_BIDE)
|
||||
#define STATUS2_LOCK_CONFUSE (1 << 10 | 1 << 11) // e.g. Thrash
|
||||
#define STATUS2_LOCK_CONFUSE_TURN(num)((num) << 10)
|
||||
#define STATUS2_MULTIPLETURNS (1 << 12)
|
||||
#define STATUS2_WRAPPED (1 << 13 | 1 << 14 | 1 << 15)
|
||||
#define STATUS2_WRAPPED_TURN(num) ((num) << 13)
|
||||
#define STATUS2_INFATUATION (1 << 16 | 1 << 17 | 1 << 18 | 1 << 19) // 4 bits, one for every battler
|
||||
#define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16)
|
||||
#define STATUS2_FOCUS_ENERGY 0x00100000
|
||||
#define STATUS2_TRANSFORMED 0x00200000
|
||||
#define STATUS2_RECHARGE 0x00400000
|
||||
#define STATUS2_RAGE 0x00800000
|
||||
#define STATUS2_SUBSTITUTE 0x01000000
|
||||
#define STATUS2_DESTINY_BOND 0x02000000
|
||||
#define STATUS2_ESCAPE_PREVENTION 0x04000000
|
||||
#define STATUS2_NIGHTMARE 0x08000000
|
||||
#define STATUS2_CURSED 0x10000000
|
||||
#define STATUS2_FORESIGHT 0x20000000
|
||||
#define STATUS2_DEFENSE_CURL 0x40000000
|
||||
#define STATUS2_TORMENT 0x80000000
|
||||
#define STATUS2_FOCUS_ENERGY (1 << 20)
|
||||
#define STATUS2_TRANSFORMED (1 << 21)
|
||||
#define STATUS2_RECHARGE (1 << 22)
|
||||
#define STATUS2_RAGE (1 << 23)
|
||||
#define STATUS2_SUBSTITUTE (1 << 24)
|
||||
#define STATUS2_DESTINY_BOND (1 << 25)
|
||||
#define STATUS2_ESCAPE_PREVENTION (1 << 26)
|
||||
#define STATUS2_NIGHTMARE (1 << 27)
|
||||
#define STATUS2_CURSED (1 << 28)
|
||||
#define STATUS2_FORESIGHT (1 << 29)
|
||||
#define STATUS2_DEFENSE_CURL (1 << 30)
|
||||
#define STATUS2_TORMENT (1 << 31)
|
||||
|
||||
// Seems like per-battler statuses. Not quite sure how to categorize these
|
||||
#define STATUS3_LEECHSEED_BATTLER 0x3
|
||||
#define STATUS3_LEECHSEED 0x4
|
||||
#define STATUS3_ALWAYS_HITS 0x18 // two bits
|
||||
#define STATUS3_PERISH_SONG 0x20
|
||||
#define STATUS3_ON_AIR 0x40
|
||||
#define STATUS3_UNDERGROUND 0x80
|
||||
#define STATUS3_MINIMIZED 0x100
|
||||
#define STATUS3_ROOTED 0x400
|
||||
#define STATUS3_CHARGED_UP 0x200
|
||||
#define STATUS3_YAWN 0x1800 // two bits
|
||||
#define STATUS3_IMPRISONED_OTHERS 0x2000
|
||||
#define STATUS3_GRUDGE 0x4000
|
||||
#define STATUS3_CANT_SCORE_A_CRIT 0x8000
|
||||
#define STATUS3_MUDSPORT 0x10000
|
||||
#define STATUS3_WATERSPORT 0x20000
|
||||
#define STATUS3_UNDERWATER 0x40000
|
||||
#define STATUS3_INTIMIDATE_POKES 0x80000
|
||||
#define STATUS3_TRACE 0x100000
|
||||
#define STATUS3_LEECHSEED_BATTLER (1 << 0 | 1 << 1) // The battler to receive HP from Leech Seed
|
||||
#define STATUS3_LEECHSEED (1 << 2)
|
||||
#define STATUS3_ALWAYS_HITS (1 << 3 | 1 << 4)
|
||||
#define STATUS3_ALWAYS_HITS_TURN(num) (((num) << 3) & STATUS3_ALWAYS_HITS) // "Always Hits" is set as a 2 turn timer, i.e. next turn is the last turn when it's active
|
||||
#define STATUS3_PERISH_SONG (1 << 5)
|
||||
#define STATUS3_ON_AIR (1 << 6)
|
||||
#define STATUS3_UNDERGROUND (1 << 7)
|
||||
#define STATUS3_MINIMIZED (1 << 8)
|
||||
#define STATUS3_CHARGED_UP (1 << 9)
|
||||
#define STATUS3_ROOTED (1 << 10)
|
||||
#define STATUS3_YAWN (1 << 11 | 1 << 12) // Number of turns to sleep
|
||||
#define STATUS3_YAWN_TURN(num) (((num) << 11) & STATUS3_YAWN)
|
||||
#define STATUS3_IMPRISONED_OTHERS (1 << 13)
|
||||
#define STATUS3_GRUDGE (1 << 14)
|
||||
#define STATUS3_CANT_SCORE_A_CRIT (1 << 15)
|
||||
#define STATUS3_MUDSPORT (1 << 16)
|
||||
#define STATUS3_WATERSPORT (1 << 17)
|
||||
#define STATUS3_UNDERWATER (1 << 18)
|
||||
#define STATUS3_INTIMIDATE_POKES (1 << 19)
|
||||
#define STATUS3_TRACE (1 << 20)
|
||||
#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)
|
||||
|
||||
// Not really sure what a "hitmarker" is.
|
||||
#define HITMARKER_x10 0x00000010
|
||||
#define HITMARKER_x20 0x00000020
|
||||
#define HITMARKER_DESTINYBOND 0x00000040
|
||||
#define HITMARKER_NO_ANIMATIONS 0x00000080
|
||||
#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100
|
||||
#define HITMARKER_NO_ATTACKSTRING 0x00000200
|
||||
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
|
||||
#define HITMARKER_NO_PPDEDUCT 0x00000800
|
||||
#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000
|
||||
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
|
||||
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
|
||||
#define HITMARKER_RUN 0x00008000
|
||||
#define HITMARKER_IGNORE_ON_AIR 0x00010000
|
||||
#define HITMARKER_IGNORE_UNDERGROUND 0x00020000
|
||||
#define HITMARKER_IGNORE_UNDERWATER 0x00040000
|
||||
#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000
|
||||
#define HITMARKER_PASSIVE_DAMAGE 0x00100000
|
||||
#define HITMARKER_x200000 0x00200000
|
||||
#define HITMARKER_PLAYER_FAINTED 0x00400000
|
||||
#define HITMARKER_x800000 0x00800000
|
||||
#define HITMARKER_GRUDGE 0x01000000
|
||||
#define HITMARKER_OBEYS 0x02000000
|
||||
#define HITMARKER_x4000000 0x04000000
|
||||
#define HITMARKER_CHARGING 0x08000000
|
||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
|
||||
#define HITMARKER_FAINTED2(battler) (0x10000000 << battler)
|
||||
#define HITMARKER_WAKE_UP_CLEAR (1 << 4) // Cleared when waking up. Never set or checked.
|
||||
#define HITMARKER_SKIP_DMG_TRACK (1 << 5)
|
||||
#define HITMARKER_DESTINYBOND (1 << 6)
|
||||
#define HITMARKER_NO_ANIMATIONS (1 << 7)
|
||||
#define HITMARKER_IGNORE_SUBSTITUTE (1 << 8)
|
||||
#define HITMARKER_NO_ATTACKSTRING (1 << 9)
|
||||
#define HITMARKER_ATTACKSTRING_PRINTED (1 << 10)
|
||||
#define HITMARKER_NO_PPDEDUCT (1 << 11)
|
||||
#define HITMARKER_SWAP_ATTACKER_TARGET (1 << 12)
|
||||
#define HITMARKER_IGNORE_SAFEGUARD (1 << 13)
|
||||
#define HITMARKER_SYNCHRONISE_EFFECT (1 << 14)
|
||||
#define HITMARKER_RUN (1 << 15)
|
||||
#define HITMARKER_IGNORE_ON_AIR (1 << 16)
|
||||
#define HITMARKER_IGNORE_UNDERGROUND (1 << 17)
|
||||
#define HITMARKER_IGNORE_UNDERWATER (1 << 18)
|
||||
#define HITMARKER_UNABLE_TO_USE_MOVE (1 << 19)
|
||||
#define HITMARKER_PASSIVE_DAMAGE (1 << 20)
|
||||
#define HITMARKER_DISOBEDIENT_MOVE (1 << 21)
|
||||
#define HITMARKER_PLAYER_FAINTED (1 << 22)
|
||||
#define HITMARKER_ALLOW_NO_PP (1 << 23)
|
||||
#define HITMARKER_GRUDGE (1 << 24)
|
||||
#define HITMARKER_OBEYS (1 << 25)
|
||||
#define HITMARKER_NEVER_SET (1 << 26) // Cleared as part of a large group. Never set or checked
|
||||
#define HITMARKER_CHARGING (1 << 27)
|
||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28)
|
||||
#define HITMARKER_FAINTED2(battler) ((1 << 28) << battler)
|
||||
|
||||
// Per-side statuses that affect an entire party
|
||||
#define SIDE_STATUS_REFLECT (1 << 0)
|
||||
@@ -205,87 +203,85 @@
|
||||
#define MOVE_RESULT_NO_EFFECT (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED)
|
||||
|
||||
// Battle Weather flags
|
||||
#define WEATHER_RAIN_TEMPORARY (1 << 0)
|
||||
#define WEATHER_RAIN_DOWNPOUR (1 << 1) // unused
|
||||
#define WEATHER_RAIN_PERMANENT (1 << 2)
|
||||
#define WEATHER_RAIN_ANY (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)
|
||||
#define WEATHER_SANDSTORM_TEMPORARY (1 << 3)
|
||||
#define WEATHER_SANDSTORM_PERMANENT (1 << 4)
|
||||
#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)
|
||||
#define WEATHER_SUN_TEMPORARY (1 << 5)
|
||||
#define WEATHER_SUN_PERMANENT (1 << 6)
|
||||
#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)
|
||||
#define WEATHER_HAIL (1 << 7)
|
||||
#define WEATHER_HAIL_ANY (WEATHER_HAIL)
|
||||
#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)
|
||||
#define B_WEATHER_RAIN_TEMPORARY (1 << 0)
|
||||
#define B_WEATHER_RAIN_DOWNPOUR (1 << 1) // unused
|
||||
#define B_WEATHER_RAIN_PERMANENT (1 << 2)
|
||||
#define B_WEATHER_RAIN (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_DOWNPOUR | B_WEATHER_RAIN_PERMANENT)
|
||||
#define B_WEATHER_SANDSTORM_TEMPORARY (1 << 3)
|
||||
#define B_WEATHER_SANDSTORM_PERMANENT (1 << 4)
|
||||
#define B_WEATHER_SANDSTORM (B_WEATHER_SANDSTORM_TEMPORARY | B_WEATHER_SANDSTORM_PERMANENT)
|
||||
#define B_WEATHER_SUN_TEMPORARY (1 << 5)
|
||||
#define B_WEATHER_SUN_PERMANENT (1 << 6)
|
||||
#define B_WEATHER_SUN (B_WEATHER_SUN_TEMPORARY | B_WEATHER_SUN_PERMANENT)
|
||||
#define B_WEATHER_HAIL_TEMPORARY (1 << 7)
|
||||
#define B_WEATHER_HAIL (B_WEATHER_HAIL_TEMPORARY)
|
||||
#define B_WEATHER_ANY (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_SUN | B_WEATHER_HAIL)
|
||||
|
||||
// Move Effects
|
||||
#define MOVE_EFFECT_NOTHING_0 0x0
|
||||
#define MOVE_EFFECT_SLEEP 0x1
|
||||
#define MOVE_EFFECT_POISON 0x2
|
||||
#define MOVE_EFFECT_BURN 0x3
|
||||
#define MOVE_EFFECT_FREEZE 0x4
|
||||
#define MOVE_EFFECT_PARALYSIS 0x5
|
||||
#define MOVE_EFFECT_TOXIC 0x6
|
||||
#define MOVE_EFFECT_CONFUSION 0x7
|
||||
#define MOVE_EFFECT_FLINCH 0x8
|
||||
#define MOVE_EFFECT_TRI_ATTACK 0x9
|
||||
#define MOVE_EFFECT_UPROAR 0xA
|
||||
#define MOVE_EFFECT_PAYDAY 0xB
|
||||
#define MOVE_EFFECT_CHARGING 0xC
|
||||
#define MOVE_EFFECT_WRAP 0xD
|
||||
#define MOVE_EFFECT_RECOIL_25 0xE
|
||||
#define MOVE_EFFECT_ATK_PLUS_1 0xF
|
||||
#define MOVE_EFFECT_DEF_PLUS_1 0x10
|
||||
#define MOVE_EFFECT_SPD_PLUS_1 0x11
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13
|
||||
#define MOVE_EFFECT_ACC_PLUS_1 0x14
|
||||
#define MOVE_EFFECT_EVS_PLUS_1 0x15
|
||||
#define MOVE_EFFECT_ATK_MINUS_1 0x16
|
||||
#define MOVE_EFFECT_DEF_MINUS_1 0x17
|
||||
#define MOVE_EFFECT_SPD_MINUS_1 0x18
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A
|
||||
#define MOVE_EFFECT_ACC_MINUS_1 0x1B
|
||||
#define MOVE_EFFECT_EVS_MINUS_1 0x1C
|
||||
#define MOVE_EFFECT_RECHARGE 0x1D
|
||||
#define MOVE_EFFECT_RAGE 0x1E
|
||||
#define MOVE_EFFECT_STEAL_ITEM 0x1F
|
||||
#define MOVE_EFFECT_PREVENT_ESCAPE 0x20
|
||||
#define MOVE_EFFECT_NIGHTMARE 0x21
|
||||
#define MOVE_EFFECT_ALL_STATS_UP 0x22
|
||||
#define MOVE_EFFECT_RAPIDSPIN 0x23
|
||||
#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24
|
||||
#define MOVE_EFFECT_ATK_DEF_DOWN 0x25
|
||||
#define MOVE_EFFECT_RECOIL_33 0x26
|
||||
#define MOVE_EFFECT_ATK_PLUS_2 0x27
|
||||
#define MOVE_EFFECT_DEF_PLUS_2 0x28
|
||||
#define MOVE_EFFECT_SPD_PLUS_2 0x29
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B
|
||||
#define MOVE_EFFECT_ACC_PLUS_2 0x2C
|
||||
#define MOVE_EFFECT_EVS_PLUS_2 0x2D
|
||||
#define MOVE_EFFECT_ATK_MINUS_2 0x2E
|
||||
#define MOVE_EFFECT_DEF_MINUS_2 0x2F
|
||||
#define MOVE_EFFECT_SPD_MINUS_2 0x30
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32
|
||||
#define MOVE_EFFECT_ACC_MINUS_2 0x33
|
||||
#define MOVE_EFFECT_EVS_MINUS_2 0x34
|
||||
#define MOVE_EFFECT_THRASH 0x35
|
||||
#define MOVE_EFFECT_KNOCK_OFF 0x36
|
||||
#define MOVE_EFFECT_NOTHING_37 0x37
|
||||
#define MOVE_EFFECT_NOTHING_38 0x38
|
||||
#define MOVE_EFFECT_NOTHING_39 0x39
|
||||
#define MOVE_EFFECT_NOTHING_3A 0x3A
|
||||
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B
|
||||
#define MOVE_EFFECT_NOTHING_3C 0x3C
|
||||
#define MOVE_EFFECT_NOTHING_3D 0x3D
|
||||
#define MOVE_EFFECT_NOTHING_3E 0x3E
|
||||
#define MOVE_EFFECT_NOTHING_3F 0x3F
|
||||
#define MOVE_EFFECT_AFFECTS_USER 0x40
|
||||
#define MOVE_EFFECT_CERTAIN 0x80
|
||||
#define MOVE_EFFECT_SLEEP 1
|
||||
#define MOVE_EFFECT_POISON 2
|
||||
#define MOVE_EFFECT_BURN 3
|
||||
#define MOVE_EFFECT_FREEZE 4
|
||||
#define MOVE_EFFECT_PARALYSIS 5
|
||||
#define MOVE_EFFECT_TOXIC 6
|
||||
#define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_TOXIC // All above move effects apply primary status
|
||||
#define MOVE_EFFECT_CONFUSION 7
|
||||
#define MOVE_EFFECT_FLINCH 8
|
||||
#define MOVE_EFFECT_TRI_ATTACK 9
|
||||
#define MOVE_EFFECT_UPROAR 10
|
||||
#define MOVE_EFFECT_PAYDAY 11
|
||||
#define MOVE_EFFECT_CHARGING 12
|
||||
#define MOVE_EFFECT_WRAP 13
|
||||
#define MOVE_EFFECT_RECOIL_25 14
|
||||
#define MOVE_EFFECT_ATK_PLUS_1 15
|
||||
#define MOVE_EFFECT_DEF_PLUS_1 16
|
||||
#define MOVE_EFFECT_SPD_PLUS_1 17
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_1 18
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_1 19
|
||||
#define MOVE_EFFECT_ACC_PLUS_1 20
|
||||
#define MOVE_EFFECT_EVS_PLUS_1 21
|
||||
#define MOVE_EFFECT_ATK_MINUS_1 22
|
||||
#define MOVE_EFFECT_DEF_MINUS_1 23
|
||||
#define MOVE_EFFECT_SPD_MINUS_1 24
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_1 25
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_1 26
|
||||
#define MOVE_EFFECT_ACC_MINUS_1 27
|
||||
#define MOVE_EFFECT_EVS_MINUS_1 28
|
||||
#define MOVE_EFFECT_RECHARGE 29
|
||||
#define MOVE_EFFECT_RAGE 30
|
||||
#define MOVE_EFFECT_STEAL_ITEM 31
|
||||
#define MOVE_EFFECT_PREVENT_ESCAPE 32
|
||||
#define MOVE_EFFECT_NIGHTMARE 33
|
||||
#define MOVE_EFFECT_ALL_STATS_UP 34
|
||||
#define MOVE_EFFECT_RAPIDSPIN 35
|
||||
#define MOVE_EFFECT_REMOVE_PARALYSIS 36
|
||||
#define MOVE_EFFECT_ATK_DEF_DOWN 37
|
||||
#define MOVE_EFFECT_RECOIL_33 38
|
||||
#define MOVE_EFFECT_ATK_PLUS_2 39
|
||||
#define MOVE_EFFECT_DEF_PLUS_2 40
|
||||
#define MOVE_EFFECT_SPD_PLUS_2 41
|
||||
#define MOVE_EFFECT_SP_ATK_PLUS_2 42
|
||||
#define MOVE_EFFECT_SP_DEF_PLUS_2 43
|
||||
#define MOVE_EFFECT_ACC_PLUS_2 44
|
||||
#define MOVE_EFFECT_EVS_PLUS_2 45
|
||||
#define MOVE_EFFECT_ATK_MINUS_2 46
|
||||
#define MOVE_EFFECT_DEF_MINUS_2 47
|
||||
#define MOVE_EFFECT_SPD_MINUS_2 48
|
||||
#define MOVE_EFFECT_SP_ATK_MINUS_2 49
|
||||
#define MOVE_EFFECT_SP_DEF_MINUS_2 50
|
||||
#define MOVE_EFFECT_ACC_MINUS_2 51
|
||||
#define MOVE_EFFECT_EVS_MINUS_2 52
|
||||
#define MOVE_EFFECT_THRASH 53
|
||||
#define MOVE_EFFECT_KNOCK_OFF 54
|
||||
#define MOVE_EFFECT_NOTHING_37 55
|
||||
#define MOVE_EFFECT_NOTHING_38 56
|
||||
#define MOVE_EFFECT_NOTHING_39 57
|
||||
#define MOVE_EFFECT_NOTHING_3A 58
|
||||
#define MOVE_EFFECT_SP_ATK_TWO_DOWN 59
|
||||
#define NUM_MOVE_EFFECTS 60
|
||||
|
||||
#define MOVE_EFFECT_AFFECTS_USER (1 << 6) // 64
|
||||
#define MOVE_EFFECT_CERTAIN (1 << 7) // 128
|
||||
|
||||
// Battle terrain defines for gBattleTerrain.
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
@@ -309,9 +305,50 @@
|
||||
#define BATTLE_TERRAIN_LANCE 18
|
||||
#define BATTLE_TERRAIN_CHAMPION 19
|
||||
|
||||
// Return value for IsRunningFromBattleImpossible.
|
||||
#define B_WAIT_TIME_LONG 64
|
||||
#define B_WAIT_TIME_MED 48
|
||||
#define B_WAIT_TIME_SHORT 32
|
||||
|
||||
#define CASTFORM_NORMAL 0
|
||||
#define CASTFORM_FIRE 1
|
||||
#define CASTFORM_WATER 2
|
||||
#define CASTFORM_ICE 3
|
||||
#define NUM_CASTFORM_FORMS 4
|
||||
#define CASTFORM_SUBSTITUTE (1 << 7)
|
||||
|
||||
// Return value for IsRunningFromBattleImpossible.
|
||||
#define BATTLE_RUN_SUCCESS 0
|
||||
#define BATTLE_RUN_FORBIDDEN 1
|
||||
#define BATTLE_RUN_FAILURE 2
|
||||
|
||||
// Window Ids for sStandardBattleWindowTemplates
|
||||
#define B_WIN_MSG 0
|
||||
#define B_WIN_ACTION_PROMPT 1 // "What will {x} do?"
|
||||
#define B_WIN_ACTION_MENU 2 // "Fight/Pokémon/Bag/Run" menu
|
||||
#define B_WIN_MOVE_NAME_1 3 // Top left
|
||||
#define B_WIN_MOVE_NAME_2 4 // Top right
|
||||
#define B_WIN_MOVE_NAME_3 5 // Bottom left
|
||||
#define B_WIN_MOVE_NAME_4 6 // Bottom right
|
||||
#define B_WIN_PP 7
|
||||
#define B_WIN_MOVE_TYPE 8
|
||||
#define B_WIN_PP_REMAINING 9
|
||||
#define B_WIN_DUMMY 10
|
||||
#define B_WIN_SWITCH_PROMPT 11 // "Switch which?"
|
||||
#define B_WIN_LEVEL_UP_BOX 12
|
||||
#define B_WIN_LEVEL_UP_BANNER 13
|
||||
#define B_WIN_YESNO 14
|
||||
#define B_WIN_VS_PLAYER 15
|
||||
#define B_WIN_VS_OPPONENT 16
|
||||
#define B_WIN_VS_MULTI_PLAYER_1 17
|
||||
#define B_WIN_VS_MULTI_PLAYER_2 18
|
||||
#define B_WIN_VS_MULTI_PLAYER_3 19
|
||||
#define B_WIN_VS_MULTI_PLAYER_4 20
|
||||
#define B_WIN_VS_OUTCOME_DRAW 21
|
||||
#define B_WIN_VS_OUTCOME_LEFT 22
|
||||
#define B_WIN_VS_OUTCOME_RIGHT 23
|
||||
#define B_WIN_OAK_OLD_MAN 24
|
||||
|
||||
#define B_TEXT_FLAG_NPC_CONTEXT_FONT (1 << 6)
|
||||
#define B_TEXT_FLAG_WINDOW_CLEAR (1 << 7)
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
||||
@@ -342,9 +342,9 @@
|
||||
#define BG_FISSURE 21
|
||||
#define BG_BUG_OPPONENT 22
|
||||
#define BG_BUG_PLAYER 23
|
||||
#define BG_SOLARBEAM_OPPONENT 24
|
||||
#define BG_SOLARBEAM_PLAYER 25
|
||||
#define BG_SOLARBEAM_CONTESTS 26
|
||||
#define BG_SOLAR_BEAM_OPPONENT 24
|
||||
#define BG_SOLAR_BEAM_PLAYER 25
|
||||
#define BG_SOLAR_BEAM_CONTESTS 26
|
||||
|
||||
// table ids for general animations
|
||||
#define B_ANIM_CASTFORM_CHANGE 0x0
|
||||
@@ -354,9 +354,9 @@
|
||||
#define B_ANIM_BAIT_THROW 0x4
|
||||
#define B_ANIM_ITEM_KNOCKOFF 0x5
|
||||
#define B_ANIM_TURN_TRAP 0x6
|
||||
#define B_ANIM_ITEM_EFFECT 0x7
|
||||
#define B_ANIM_HELD_ITEM_EFFECT 0x7
|
||||
#define B_ANIM_SMOKEBALL_ESCAPE 0x8
|
||||
#define B_ANIM_HANGED_ON 0x9
|
||||
#define B_ANIM_FOCUS_BAND 0x9
|
||||
#define B_ANIM_RAIN_CONTINUES 0xA
|
||||
#define B_ANIM_SUN_CONTINUES 0xB
|
||||
#define B_ANIM_SANDSTORM_CONTINUES 0xC
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
#define EFFECT_FUTURE_SIGHT 148
|
||||
#define EFFECT_GUST 149
|
||||
#define EFFECT_FLINCH_MINIMIZE_HIT 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
|
||||
#define EFFECT_SOLARBEAM 151
|
||||
#define EFFECT_SOLAR_BEAM 151
|
||||
#define EFFECT_THUNDER 152
|
||||
#define EFFECT_TELEPORT 153
|
||||
#define EFFECT_BEAT_UP 154
|
||||
|
||||
@@ -30,29 +30,40 @@
|
||||
#define sMULTIPLAYER_ID gBattleScripting + 0x25
|
||||
#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
|
||||
|
||||
#define cEFFECT_CHOOSER gBattleCommunication + 3
|
||||
#define cMULTISTRING_CHOOSER gBattleCommunication + 5
|
||||
// Array entries for battle communication
|
||||
#define MULTIUSE_STATE 0
|
||||
#define CURSOR_POSITION 1
|
||||
#define TASK_ID 1 // task Id and cursor position share the same field
|
||||
#define SPRITES_INIT_STATE1 1 // shares the Id as well
|
||||
#define SPRITES_INIT_STATE2 2
|
||||
#define MOVE_EFFECT_BYTE 3
|
||||
#define ACTIONS_CONFIRMED_COUNT 4
|
||||
#define MULTISTRING_CHOOSER 5
|
||||
#define MISS_TYPE 6
|
||||
#define MSG_DISPLAY 7
|
||||
#define BATTLE_COMMUNICATION_ENTRIES_COUNT 8
|
||||
|
||||
#define cEFFECT_CHOOSER (gBattleCommunication + MOVE_EFFECT_BYTE)
|
||||
#define cMULTISTRING_CHOOSER (gBattleCommunication + MULTISTRING_CHOOSER)
|
||||
#define cMISS_TYPE (gBattleCommunication + MISS_TYPE)
|
||||
|
||||
// Battle Script defines for getting the wanted battler
|
||||
#define BS_TARGET 0
|
||||
#define BS_ATTACKER 1
|
||||
#define BS_EFFECT_BATTLER 2
|
||||
#define BS_FAINTED 3
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_updatestatusicon
|
||||
#define BS_UNKNOWN_5 5 // for openpartyscreen
|
||||
#define BS_UNKNOWN_6 6 // for openpartyscreen
|
||||
#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
|
||||
#define BS_FAINTED_LINK_MULTIPLE_1 5 // for openpartyscreen
|
||||
#define BS_FAINTED_LINK_MULTIPLE_2 6 // for openpartyscreen
|
||||
#define BS_BATTLER_0 7
|
||||
#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
|
||||
#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
|
||||
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
|
||||
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
|
||||
#define BS_SCRIPTING 10
|
||||
#define BS_PLAYER1 11
|
||||
#define BS_OPPONENT1 12
|
||||
#define BS_PLAYER2 13 // for atk98_updatestatusicon
|
||||
#define BS_PLAYER2 13 // for Cmd_updatestatusicon
|
||||
#define BS_OPPONENT2 14
|
||||
|
||||
// used for openpartyscreen
|
||||
#define OPEN_PARTY_ALLOW_CANCEL 0x80
|
||||
|
||||
// atk 01, accuracy calc
|
||||
#define NO_ACC_CALC 0xFFFE
|
||||
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
|
||||
@@ -72,61 +83,64 @@
|
||||
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
|
||||
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
|
||||
#define VARIOUS_GET_MOVE_TARGET 3
|
||||
#define VARIOUS_CASE_4 4
|
||||
#define VARIOUS_GET_BATTLER_FAINTED 4
|
||||
#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
|
||||
#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
|
||||
#define VARIOUS_RESET_PLAYER_FAINTED_FLAG 7
|
||||
#define VARIOUS_RESET_PLAYER_FAINTED 7
|
||||
#define VARIOUS_CASE_8 8
|
||||
#define VARIOUS_RETURN_OPPONENT_MON1 9
|
||||
#define VARIOUS_RETURN_OPPONENT_MON2 10
|
||||
#define VARIOUS_CHECK_POKEFLUTE 11
|
||||
#define VARIOUS_WAIT_FANFARE 12
|
||||
|
||||
// atk80, dmg manipulation
|
||||
#define ATK80_DMG_CHANGE_SIGN 0
|
||||
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
|
||||
#define ATK80_DMG_DOUBLED 2
|
||||
// Cmd_manipulatedmg
|
||||
#define DMG_CHANGE_SIGN 0
|
||||
#define DMG_RECOIL_FROM_MISS 1
|
||||
#define DMG_DOUBLED 2
|
||||
|
||||
// atk4F, a flag used for the jumpifcantswitch command
|
||||
#define ATK4F_DONT_CHECK_STATUSES 0x80
|
||||
// Cmd_jumpifcantswitch
|
||||
#define SWITCH_IGNORE_ESCAPE_PREVENTION (1 << 7)
|
||||
|
||||
// statchange defines
|
||||
#define STAT_CHANGE_BS_PTR 0x1
|
||||
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
|
||||
// Cmd_statbuffchange
|
||||
#define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange
|
||||
#define STAT_CHANGE_NOT_PROTECT_AFFECTED (1 << 5)
|
||||
|
||||
// atk48
|
||||
#define ATK48_STAT_NEGATIVE 0x1
|
||||
#define ATK48_STAT_BY_TWO 0x2
|
||||
#define ATK48_ONLY_MULTIPLE 0x4
|
||||
#define ATK48_DONT_CHECK_LOWER 0x8
|
||||
// stat change flags for Cmd_playstatchangeanimation
|
||||
#define STAT_CHANGE_NEGATIVE (1 << 0)
|
||||
#define STAT_CHANGE_BY_TWO (1 << 1)
|
||||
#define STAT_CHANGE_MULTIPLE_STATS (1 << 2)
|
||||
#define STAT_CHANGE_CANT_PREVENT (1 << 3)
|
||||
|
||||
// atk49, moveend cases
|
||||
#define ATK49_RAGE 0
|
||||
#define ATK49_DEFROST 1
|
||||
#define ATK49_SYNCHRONIZE_TARGET 2
|
||||
#define ATK49_MOVE_END_ABILITIES 3
|
||||
#define ATK49_STATUS_IMMUNITY_ABILITIES 4
|
||||
#define ATK49_SYNCHRONIZE_ATTACKER 5
|
||||
#define ATK49_CHOICE_MOVE 6
|
||||
#define ATK49_CHANGED_ITEMS 7
|
||||
#define ATK49_ATTACKER_INVISIBLE 8
|
||||
#define ATK49_ATTACKER_VISIBLE 9
|
||||
#define ATK49_TARGET_VISIBLE 10
|
||||
#define ATK49_ITEM_EFFECTS_ALL 11
|
||||
#define ATK49_KINGSROCK_SHELLBELL 12
|
||||
#define ATK49_SUBSTITUTE 13
|
||||
#define ATK49_UPDATE_LAST_MOVES 14
|
||||
#define ATK49_MIRROR_MOVE 15
|
||||
#define ATK49_NEXT_TARGET 16
|
||||
#define ATK49_COUNT 17
|
||||
// stat flags for Cmd_playstatchangeanimation
|
||||
#define BIT_HP (1 << 0)
|
||||
#define BIT_ATK (1 << 1)
|
||||
#define BIT_DEF (1 << 2)
|
||||
#define BIT_SPEED (1 << 3)
|
||||
#define BIT_SPATK (1 << 4)
|
||||
#define BIT_SPDEF (1 << 5)
|
||||
#define BIT_ACC (1 << 6)
|
||||
#define BIT_EVASION (1 << 7)
|
||||
|
||||
#define BIT_HP 0x1
|
||||
#define BIT_ATK 0x2
|
||||
#define BIT_DEF 0x4
|
||||
#define BIT_SPEED 0x8
|
||||
#define BIT_SPATK 0x10
|
||||
#define BIT_SPDEF 0x20
|
||||
#define BIT_ACC 0x40
|
||||
#define BIT_EVASION 0x80
|
||||
#define PARTY_SCREEN_OPTIONAL (1 << 7) // Flag for first argument to openpartyscreen
|
||||
|
||||
// cases for Cmd_moveend
|
||||
#define MOVEEND_RAGE 0
|
||||
#define MOVEEND_DEFROST 1
|
||||
#define MOVEEND_SYNCHRONIZE_TARGET 2
|
||||
#define MOVEEND_ON_DAMAGE_ABILITIES 3
|
||||
#define MOVEEND_IMMUNITY_ABILITIES 4
|
||||
#define MOVEEND_SYNCHRONIZE_ATTACKER 5
|
||||
#define MOVEEND_CHOICE_MOVE 6
|
||||
#define MOVEEND_CHANGED_ITEMS 7
|
||||
#define MOVEEND_ATTACKER_INVISIBLE 8
|
||||
#define MOVEEND_ATTACKER_VISIBLE 9
|
||||
#define MOVEEND_TARGET_VISIBLE 10
|
||||
#define MOVEEND_ITEM_EFFECTS_ALL 11
|
||||
#define MOVEEND_KINGSROCK_SHELLBELL 12
|
||||
#define MOVEEND_SUBSTITUTE 13
|
||||
#define MOVEEND_UPDATE_LAST_MOVES 14
|
||||
#define MOVEEND_MIRROR_MOVE 15
|
||||
#define MOVEEND_NEXT_TARGET 16
|
||||
#define MOVEEND_COUNT 17
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
#define MOVEMENT_ACTION_WALK_SLOWEST_UP 0x9C
|
||||
#define MOVEMENT_ACTION_WALK_SLOWEST_LEFT 0x9D
|
||||
#define MOVEMENT_ACTION_WALK_SLOWEST_RIGHT 0x9E
|
||||
#define MOVEMENT_ACTION_SHAKE_HEAD 0x9F
|
||||
#define MOVEMENT_ACTION_SHAKE_HEAD_OR_WALK_IN_PLACE 0x9F
|
||||
#define MOVEMENT_ACTION_0xA0 0xA0
|
||||
#define MOVEMENT_ACTION_0xA1 0xA1
|
||||
#define MOVEMENT_ACTION_0xA2 0xA2
|
||||
@@ -261,4 +261,86 @@
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
|
||||
#define ANIM_STD_FACE_SOUTH 0
|
||||
#define ANIM_STD_FACE_NORTH 1
|
||||
#define ANIM_STD_FACE_WEST 2
|
||||
#define ANIM_STD_FACE_EAST 3
|
||||
#define ANIM_STD_GO_SOUTH 4
|
||||
#define ANIM_STD_GO_NORTH 5
|
||||
#define ANIM_STD_GO_WEST 6
|
||||
#define ANIM_STD_GO_EAST 7
|
||||
#define ANIM_STD_GO_FAST_SOUTH 8
|
||||
#define ANIM_STD_GO_FAST_NORTH 9
|
||||
#define ANIM_STD_GO_FAST_WEST 10
|
||||
#define ANIM_STD_GO_FAST_EAST 11
|
||||
#define ANIM_STD_GO_FASTER_SOUTH 12
|
||||
#define ANIM_STD_GO_FASTER_NORTH 13
|
||||
#define ANIM_STD_GO_FASTER_WEST 14
|
||||
#define ANIM_STD_GO_FASTER_EAST 15
|
||||
#define ANIM_STD_GO_FASTEST_SOUTH 16
|
||||
#define ANIM_STD_GO_FASTEST_NORTH 17
|
||||
#define ANIM_STD_GO_FASTEST_WEST 18
|
||||
#define ANIM_STD_GO_FASTEST_EAST 19
|
||||
#define ANIM_STD_COUNT 20
|
||||
|
||||
#define ANIM_RUN_SOUTH (ANIM_STD_COUNT + 0)
|
||||
#define ANIM_RUN_NORTH (ANIM_STD_COUNT + 1)
|
||||
#define ANIM_RUN_WEST (ANIM_STD_COUNT + 2)
|
||||
#define ANIM_RUN_EAST (ANIM_STD_COUNT + 3)
|
||||
#define ANIM_SPIN_SOUTH (ANIM_STD_COUNT + 4)
|
||||
#define ANIM_SPIN_NORTH (ANIM_STD_COUNT + 5)
|
||||
#define ANIM_SPIN_WEST (ANIM_STD_COUNT + 6)
|
||||
#define ANIM_SPIN_EAST (ANIM_STD_COUNT + 7)
|
||||
#define ANIM_SHAKE_HEAD_OR_WALK_IN_PLACE (ANIM_STD_COUNT + 8)
|
||||
|
||||
#define ANIM_BUNNY_HOP_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 0)
|
||||
#define ANIM_BUNNY_HOP_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 1)
|
||||
#define ANIM_BUNNY_HOP_BACK_WHEEL_WEST (ANIM_STD_COUNT + 2)
|
||||
#define ANIM_BUNNY_HOP_BACK_WHEEL_EAST (ANIM_STD_COUNT + 3)
|
||||
#define ANIM_BUNNY_HOP_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 4)
|
||||
#define ANIM_BUNNY_HOP_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 5)
|
||||
#define ANIM_BUNNY_HOP_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 6)
|
||||
#define ANIM_BUNNY_HOP_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 7)
|
||||
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_SOUTH (ANIM_STD_COUNT + 8)
|
||||
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_NORTH (ANIM_STD_COUNT + 9)
|
||||
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_WEST (ANIM_STD_COUNT + 10)
|
||||
#define ANIM_STANDING_WHEELIE_BACK_WHEEL_EAST (ANIM_STD_COUNT + 11)
|
||||
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_SOUTH (ANIM_STD_COUNT + 12)
|
||||
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_NORTH (ANIM_STD_COUNT + 13)
|
||||
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_WEST (ANIM_STD_COUNT + 14)
|
||||
#define ANIM_STANDING_WHEELIE_FRONT_WHEEL_EAST (ANIM_STD_COUNT + 15)
|
||||
#define ANIM_MOVING_WHEELIE_SOUTH (ANIM_STD_COUNT + 16)
|
||||
#define ANIM_MOVING_WHEELIE_NORTH (ANIM_STD_COUNT + 17)
|
||||
#define ANIM_MOVING_WHEELIE_WEST (ANIM_STD_COUNT + 18)
|
||||
#define ANIM_MOVING_WHEELIE_EAST (ANIM_STD_COUNT + 19)
|
||||
|
||||
#define ANIM_GET_ON_OFF_POKEMON_SOUTH (ANIM_STD_COUNT + 0)
|
||||
#define ANIM_GET_ON_OFF_POKEMON_NORTH (ANIM_STD_COUNT + 1)
|
||||
#define ANIM_GET_ON_OFF_POKEMON_WEST (ANIM_STD_COUNT + 2)
|
||||
#define ANIM_GET_ON_OFF_POKEMON_EAST (ANIM_STD_COUNT + 3)
|
||||
|
||||
#define ANIM_NURSE_BOW (ANIM_STD_COUNT + 0)
|
||||
|
||||
#define ANIM_RAISE_HAND (ANIM_STD_COUNT + 0)
|
||||
|
||||
#define ANIM_FIELD_MOVE 0
|
||||
|
||||
#define ANIM_VS_SEEKER 0
|
||||
|
||||
#define ANIM_STAY_STILL 0
|
||||
#define ANIM_REMOVE_OBSTACLE 1
|
||||
|
||||
#define ANIM_TAKE_OUT_ROD_SOUTH 0
|
||||
#define ANIM_TAKE_OUT_ROD_NORTH 1
|
||||
#define ANIM_TAKE_OUT_ROD_WEST 2
|
||||
#define ANIM_TAKE_OUT_ROD_EAST 3
|
||||
#define ANIM_PUT_AWAY_ROD_SOUTH 4
|
||||
#define ANIM_PUT_AWAY_ROD_NORTH 5
|
||||
#define ANIM_PUT_AWAY_ROD_WEST 6
|
||||
#define ANIM_PUT_AWAY_ROD_EAST 7
|
||||
#define ANIM_HOOKED_POKEMON_SOUTH 8
|
||||
#define ANIM_HOOKED_POKEMON_NORTH 9
|
||||
#define ANIM_HOOKED_POKEMON_WEST 10
|
||||
#define ANIM_HOOKED_POKEMON_EAST 11
|
||||
|
||||
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef GUARD_CONSTANTS_FANFARES_H
|
||||
#define GUARD_CONSTANTS_FANFARES_H
|
||||
|
||||
enum Fanfares
|
||||
{
|
||||
FANFARE_00,
|
||||
FANFARE_01,
|
||||
FANFARE_02,
|
||||
FANFARE_03,
|
||||
FANFARE_04,
|
||||
FANFARE_05,
|
||||
FANFARE_06,
|
||||
FANFARE_07,
|
||||
FANFARE_08,
|
||||
FANFARE_09,
|
||||
FANFARE_10,
|
||||
FANFARE_POKEFLUTE,
|
||||
FANFARE_KEY_ITEM,
|
||||
FANFARE_DEX_EVAL
|
||||
};
|
||||
|
||||
#endif //GUARD_CONSTANTS_FANFARES_H
|
||||
@@ -20,10 +20,10 @@
|
||||
#define FLDEFF_JUMP_SMALL_SPLASH 16
|
||||
#define FLDEFF_LONG_GRASS 17
|
||||
#define FLDEFF_JUMP_LONG_GRASS 18
|
||||
#define FLDEFF_UNKNOWN_19 19
|
||||
#define FLDEFF_UNKNOWN_20 20
|
||||
#define FLDEFF_UNKNOWN_21 21
|
||||
#define FLDEFF_UNKNOWN_22 22
|
||||
#define FLDEFF_UNUSED_GRASS 19
|
||||
#define FLDEFF_UNUSED_GRASS_2 20
|
||||
#define FLDEFF_UNUSED_SAND 21
|
||||
#define FLDEFF_UNUSED_WATER_SURFACING 22
|
||||
#define FLDEFF_BERRY_TREE_GROWTH_SPARKLE 23
|
||||
#define FLDEFF_DEEP_SAND_FOOTPRINTS 24
|
||||
#define FLDEFF_POKECENTER_HEAL 25
|
||||
@@ -32,7 +32,7 @@
|
||||
#define FLDEFF_TREE_DISGUISE 28
|
||||
#define FLDEFF_MOUNTAIN_DISGUISE 29
|
||||
#define FLDEFF_NPCFLY_OUT 30
|
||||
#define FLDEFF_USE_FLY 31
|
||||
#define FLDEFF_FLY_OUT 31
|
||||
#define FLDEFF_FLY_IN 32
|
||||
#define FLDEFF_QUESTION_MARK_ICON 33
|
||||
#define FLDEFF_FEET_IN_FLOWING_WATER 34
|
||||
@@ -70,7 +70,7 @@
|
||||
#define FLDEFF_DOUBLE_EXCL_MARK_ICON 66
|
||||
#define FLDEFF_MOVE_DEOXYS_ROCK 67
|
||||
#define FLDEFF_DESTROY_DEOXYS_ROCK 68
|
||||
#define FLDEFF_UNK_45 69 // TODO: related to fame checker photos
|
||||
#define FLDEFF_PHOTO_FLASH 69
|
||||
|
||||
#define FLDEFF_PAL_TAG_GENERAL_0 0x1004
|
||||
#define FLDEFF_PAL_TAG_GENERAL_1 0x1005
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
|
||||
#endif
|
||||
|
||||
// capacities of various saveblock objects
|
||||
#define DAYCARE_MON_COUNT 2
|
||||
#define PC_ITEMS_COUNT 30
|
||||
#define BAG_ITEMS_COUNT 42
|
||||
@@ -53,6 +54,9 @@
|
||||
#define POCKET_BERRY_POUCH 5
|
||||
#define NUM_BAG_POCKETS 5
|
||||
|
||||
// Contests
|
||||
#define CONTEST_CATEGORIES_COUNT 5
|
||||
|
||||
// string lengths
|
||||
#define ITEM_NAME_LENGTH 14
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
|
||||
@@ -372,7 +372,7 @@
|
||||
#define ITEM_TM19_GIGA_DRAIN ITEM_TM19
|
||||
#define ITEM_TM20_SAFEGUARD ITEM_TM20
|
||||
#define ITEM_TM21_FRUSTRATION ITEM_TM21
|
||||
#define ITEM_TM22_SOLARBEAM ITEM_TM22
|
||||
#define ITEM_TM22_SOLAR_BEAM ITEM_TM22
|
||||
#define ITEM_TM23_IRON_TAIL ITEM_TM23
|
||||
#define ITEM_TM24_THUNDERBOLT ITEM_TM24
|
||||
#define ITEM_TM25_THUNDER ITEM_TM25
|
||||
@@ -447,6 +447,7 @@
|
||||
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
|
||||
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
|
||||
#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
|
||||
#define MAIL_NONE 0xFF
|
||||
|
||||
#define NUM_TECHNICAL_MACHINES 50
|
||||
#define NUM_HIDDEN_MACHINES 8
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
#define LAYOUT_SAFFRON_CITY_POKEMON_TRAINER_FAN_CLUB 263
|
||||
#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM1_DOOR_OPEN 264
|
||||
#define LAYOUT_SEVEN_ISLAND_HOUSE_ROOM2 265
|
||||
#define LAYOUT_VIRIDIAN_CITY_HOUSE2 266
|
||||
#define LAYOUT_VIRIDIAN_CITY_SCHOOL 266
|
||||
#define LAYOUT_CELADON_CITY_RESTAURANT_DUPLICATE 267
|
||||
#define LAYOUT_CELADON_CITY_HOTEL_DUPLICATE 268
|
||||
#define LAYOUT_MT_EMBER_RUBY_PATH_B4F 269
|
||||
@@ -262,7 +262,7 @@
|
||||
#define LAYOUT_VERMILION_CITY_POKEMON_FAN_CLUB 273
|
||||
#define LAYOUT_LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE 274
|
||||
#define LAYOUT_ROUTE5_POKEMON_DAY_CARE 275
|
||||
#define LAYOUT_VIRIDIAN_CITY_HOUSE1 276
|
||||
#define LAYOUT_VIRIDIAN_CITY_HOUSE 276
|
||||
#define LAYOUT_FOUR_ISLAND_POKEMON_DAY_CARE 277
|
||||
#define LAYOUT_SEAFOAM_ISLANDS_B3F_CURRENT_STOPPED 278
|
||||
#define LAYOUT_SEAFOAM_ISLANDS_B4F_CURRENT_STOPPED 279
|
||||
|
||||
@@ -274,9 +274,9 @@
|
||||
#define MAP_PALLET_TOWN_PROFESSOR_OAKS_LAB (3 | (4 << 8))
|
||||
|
||||
// gMapGroup_IndoorViridian
|
||||
#define MAP_VIRIDIAN_CITY_HOUSE1 (0 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_HOUSE (0 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_GYM (1 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_HOUSE2 (2 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_SCHOOL (2 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_MART (3 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F (4 | (5 << 8))
|
||||
#define MAP_VIRIDIAN_CITY_POKEMON_CENTER_2F (5 | (5 << 8))
|
||||
|
||||
@@ -1,33 +1,41 @@
|
||||
#ifndef GUARD_METATILE_BEHAVIORS
|
||||
#define GUARD_METATILE_BEHAVIORS
|
||||
|
||||
#define METATILE_COUNT 0xF0
|
||||
#define MB_NORMAL 0x00
|
||||
#define MB_01 0x01
|
||||
#define MB_UNUSED_01 0x01
|
||||
#define MB_TALL_GRASS 0x02
|
||||
//
|
||||
#define MB_CAVE 0x08
|
||||
//
|
||||
#define MB_RUNNING_DISALLOWED 0x0A
|
||||
#define MB_0B 0x0B
|
||||
#define MB_0C 0x0C
|
||||
#define MB_INDOOR_ENCOUNTER 0x0B
|
||||
#define MB_MOUNTAIN_TOP 0x0C
|
||||
//
|
||||
#define MB_POND_WATER 0x10
|
||||
#define MB_SEMI_DEEP_WATER 0x11
|
||||
#define MB_DEEP_WATER 0x12
|
||||
#define MB_WATERFALL 0x13
|
||||
//
|
||||
#define MB_OCEAN_WATER 0x15
|
||||
#define MB_PUDDLE 0x16
|
||||
#define MB_SHALLOW_WATER 0x17
|
||||
//
|
||||
#define MB_UNDERWATER_BLOCKED_ABOVE 0x19
|
||||
#define MB_1A 0x1A
|
||||
#define MB_1B 0x1B
|
||||
#define MB_UNUSED_WATER 0x1A
|
||||
#define MB_CYCLING_ROAD_WATER 0x1B
|
||||
//
|
||||
#define MB_STRENGTH_BUTTON 0x20
|
||||
#define MB_SAND 0x21
|
||||
#define MB_SEAWEED 0x22
|
||||
#define MB_ICE 0x23
|
||||
//
|
||||
#define MB_THIN_ICE 0x26
|
||||
#define MB_CRACKED_ICE 0x27
|
||||
#define MB_HOT_SPRINGS 0x28
|
||||
//
|
||||
#define MB_ROCK_STAIRS 0x2A
|
||||
#define MB_SAND_CAVE 0x2B
|
||||
//
|
||||
#define MB_IMPASSABLE_EAST 0x30
|
||||
#define MB_IMPASSABLE_WEST 0x31
|
||||
#define MB_IMPASSABLE_NORTH 0x32
|
||||
@@ -40,8 +48,7 @@
|
||||
#define MB_JUMP_WEST 0x39
|
||||
#define MB_JUMP_NORTH 0x3A
|
||||
#define MB_JUMP_SOUTH 0x3B
|
||||
#define MB_JUMP_SOUTHEAST 0x3E
|
||||
#define MB_JUMP_SOUTHWEST 0x3F
|
||||
//
|
||||
#define MB_WALK_EAST 0x40
|
||||
#define MB_WALK_WEST 0x41
|
||||
#define MB_WALK_NORTH 0x42
|
||||
@@ -50,7 +57,8 @@
|
||||
#define MB_SLIDE_WEST 0x45
|
||||
#define MB_SLIDE_NORTH 0x46
|
||||
#define MB_SLIDE_SOUTH 0x47
|
||||
#define MB_UNKNOWN_MOVEMENT_48 0x48
|
||||
#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48
|
||||
//
|
||||
#define MB_EASTWARD_CURRENT 0x50
|
||||
#define MB_WESTWARD_CURRENT 0x51
|
||||
#define MB_NORTHWARD_CURRENT 0x52
|
||||
@@ -60,6 +68,7 @@
|
||||
#define MB_SPIN_UP 0x56
|
||||
#define MB_SPIN_DOWN 0x57
|
||||
#define MB_STOP_SPINNING 0x58
|
||||
//
|
||||
#define MB_CAVE_DOOR 0x60
|
||||
#define MB_LADDER 0x61
|
||||
#define MB_EAST_ARROW_WARP 0x62
|
||||
@@ -76,7 +85,9 @@
|
||||
#define MB_UP_LEFT_STAIR_WARP 0x6D
|
||||
#define MB_DOWN_RIGHT_STAIR_WARP 0x6E
|
||||
#define MB_DOWN_LEFT_STAIR_WARP 0x6F
|
||||
//
|
||||
#define MB_UNION_ROOM_WARP 0x71
|
||||
//
|
||||
#define MB_COUNTER 0x80
|
||||
#define MB_BOOKSHELF 0x81
|
||||
#define MB_POKEMART_SHELF 0x82
|
||||
@@ -90,12 +101,12 @@
|
||||
#define MB_KITCHEN 0x8A
|
||||
#define MB_DRESSER 0x8B
|
||||
#define MB_SNACKS 0x8C
|
||||
#define MB_8D 0x8D
|
||||
#define MB_CABLE_CLUB_WIRELESS_MONITOR 0x8D
|
||||
#define MB_BATTLE_RECORDS 0x8E
|
||||
#define MB_QUESTIONNAIRE 0x8F
|
||||
#define MB_FOOD 0x90
|
||||
#define MB_INDIGO_PLATEAU_MARK_DPAD 0x91
|
||||
#define MB_INDIGO_PLATEAU_MARK_2_DPAD 0x92
|
||||
#define MB_INDIGO_PLATEAU_SIGN_1 0x91
|
||||
#define MB_INDIGO_PLATEAU_SIGN_2 0x92
|
||||
#define MB_BLUEPRINTS 0x93
|
||||
#define MB_PAINTING 0x94
|
||||
#define MB_POWER_PLANT_MACHINE 0x95
|
||||
@@ -106,13 +117,17 @@
|
||||
#define MB_TRASH_BIN 0x9A
|
||||
#define MB_CUP 0x9B
|
||||
#define MB_PORTHOLE 0x9C
|
||||
#define MB_WINDOW 0x9D
|
||||
#define MB_BLINKING_LIGHTS 0x9E
|
||||
#define MB_NEATLY_LINED_UP_TOOLS 0x9F
|
||||
#define MB_IMPRESSIVE_MACHINE 0xA0
|
||||
#define MB_VIDEO_GAME 0xA1
|
||||
#define MB_BURGLARY 0xA2
|
||||
#define MB_TRAINER_TOWER_MONITOR 0xA3
|
||||
//
|
||||
#define MB_CYCLING_ROAD_PULL_DOWN 0xD0
|
||||
#define MB_CYCLING_ROAD_PULL_DOWN_GRASS 0xD1
|
||||
//
|
||||
#define NUM_METATILE_BEHAVIORS 0xF0
|
||||
|
||||
#endif // GUARD_METATILE_BEHAVIORS
|
||||
|
||||
@@ -361,6 +361,9 @@
|
||||
|
||||
#define MOVES_COUNT 355
|
||||
|
||||
// Used for checks for moves affected by Disable, Mimic, etc.
|
||||
#define MOVE_UNAVAILABLE 0xFFFF
|
||||
|
||||
#define MOVETUTOR_MEGA_PUNCH 0
|
||||
#define MOVETUTOR_SWORDS_DANCE 1
|
||||
#define MOVETUTOR_MEGA_KICK 2
|
||||
|
||||
+47
-36
@@ -81,7 +81,7 @@
|
||||
#define MON_DATA_NATIONAL_RIBBON 76
|
||||
#define MON_DATA_EARTH_RIBBON 77
|
||||
#define MON_DATA_WORLD_RIBBON 78
|
||||
#define MON_DATA_FILLER 79
|
||||
#define MON_DATA_UNUSED_RIBBONS 79
|
||||
#define MON_DATA_EVENT_LEGAL 80
|
||||
#define MON_DATA_KNOWN_MOVES 81
|
||||
#define MON_DATA_RIBBON_COUNT 82
|
||||
@@ -134,44 +134,51 @@
|
||||
#define EGG_GROUPS_PER_MON 2
|
||||
|
||||
// Pokemon natures
|
||||
#define NATURE_HARDY 0
|
||||
#define NATURE_LONELY 1
|
||||
#define NATURE_BRAVE 2
|
||||
#define NATURE_ADAMANT 3
|
||||
#define NATURE_NAUGHTY 4
|
||||
#define NATURE_BOLD 5
|
||||
#define NATURE_DOCILE 6
|
||||
#define NATURE_RELAXED 7
|
||||
#define NATURE_IMPISH 8
|
||||
#define NATURE_LAX 9
|
||||
#define NATURE_TIMID 10
|
||||
#define NATURE_HASTY 11
|
||||
#define NATURE_SERIOUS 12
|
||||
#define NATURE_JOLLY 13
|
||||
#define NATURE_NAIVE 14
|
||||
#define NATURE_MODEST 15
|
||||
#define NATURE_MILD 16
|
||||
#define NATURE_QUIET 17
|
||||
#define NATURE_BASHFUL 18
|
||||
#define NATURE_RASH 19
|
||||
#define NATURE_CALM 20
|
||||
#define NATURE_GENTLE 21
|
||||
#define NATURE_SASSY 22
|
||||
#define NATURE_CAREFUL 23
|
||||
#define NATURE_QUIRKY 24
|
||||
#define NATURE_HARDY 0
|
||||
#define NATURE_LONELY 1
|
||||
#define NATURE_BRAVE 2
|
||||
#define NATURE_ADAMANT 3
|
||||
#define NATURE_NAUGHTY 4
|
||||
#define NATURE_BOLD 5
|
||||
#define NATURE_DOCILE 6
|
||||
#define NATURE_RELAXED 7
|
||||
#define NATURE_IMPISH 8
|
||||
#define NATURE_LAX 9
|
||||
#define NATURE_TIMID 10
|
||||
#define NATURE_HASTY 11
|
||||
#define NATURE_SERIOUS 12
|
||||
#define NATURE_JOLLY 13
|
||||
#define NATURE_NAIVE 14
|
||||
#define NATURE_MODEST 15
|
||||
#define NATURE_MILD 16
|
||||
#define NATURE_QUIET 17
|
||||
#define NATURE_BASHFUL 18
|
||||
#define NATURE_RASH 19
|
||||
#define NATURE_CALM 20
|
||||
#define NATURE_GENTLE 21
|
||||
#define NATURE_SASSY 22
|
||||
#define NATURE_CAREFUL 23
|
||||
#define NATURE_QUIRKY 24
|
||||
#define NUM_NATURES 25
|
||||
|
||||
// Pokemon Stats
|
||||
#define STAT_HP 0
|
||||
#define STAT_ATK 1
|
||||
#define STAT_DEF 2
|
||||
#define STAT_SPEED 3
|
||||
#define STAT_SPATK 4
|
||||
#define STAT_SPDEF 5
|
||||
#define STAT_ACC 6 // only in battles
|
||||
#define STAT_EVASION 7 // only in battles
|
||||
#define STAT_HP 0
|
||||
#define STAT_ATK 1
|
||||
#define STAT_DEF 2
|
||||
#define STAT_SPEED 3
|
||||
#define STAT_SPATK 4
|
||||
#define STAT_SPDEF 5
|
||||
#define NUM_STATS 6
|
||||
|
||||
#define NUM_STATS 6
|
||||
#define NUM_BATTLE_STATS 8
|
||||
#define STAT_ACC 6 // Only in battles.
|
||||
#define STAT_EVASION 7 // Only in battles.
|
||||
|
||||
#define NUM_NATURE_STATS (NUM_STATS - 1) // excludes HP
|
||||
#define NUM_BATTLE_STATS (NUM_STATS + 2) // includes Accuracy and Evasion
|
||||
|
||||
#define MIN_STAT_STAGE 0
|
||||
#define DEFAULT_STAT_STAGE 6
|
||||
#define MAX_STAT_STAGE 12
|
||||
|
||||
// Shiny odds
|
||||
#define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536
|
||||
@@ -225,6 +232,10 @@
|
||||
#define EVO_MODE_ITEM_USE 2
|
||||
#define EVO_MODE_ITEM_CHECK 3 // If an Everstone is being held, still want to show that the stone *could* be used on that Pokémon to evolve
|
||||
|
||||
#define MON_PIC_WIDTH 64
|
||||
#define MON_PIC_HEIGHT 64
|
||||
#define MON_PIC_SIZE (MON_PIC_WIDTH * MON_PIC_HEIGHT / 2)
|
||||
|
||||
// used by ShouldIgnoreDeoxysForm
|
||||
#define DEOXYS_CHECK_BATTLE_SPRITE 1
|
||||
#define DEOXYS_CHECK_TRADE_MAIN 3
|
||||
|
||||
@@ -353,4 +353,6 @@
|
||||
#define MUS_SLOW_PALLET 345 // MUS_RG_SLOWMASARA
|
||||
#define MUS_TEACHY_TV_MENU 346 // MUS_RG_TVNOIZE
|
||||
|
||||
#define MUS_NONE 0xFFFF
|
||||
|
||||
#endif // GUARD_CONSTANTS_SONGS_H
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#ifndef GUARD_CONSTANTS_SOUND_H
|
||||
#define GUARD_CONSTANTS_SOUND_H
|
||||
|
||||
#define FANFARE_LEVEL_UP 0
|
||||
#define FANFARE_OBTAIN_ITEM 1
|
||||
#define FANFARE_EVOLVED 2
|
||||
#define FANFARE_OBTAIN_TMHM 3
|
||||
#define FANFARE_HEAL 4
|
||||
#define FANFARE_OBTAIN_BADGE 5
|
||||
#define FANFARE_MOVE_DELETED 6
|
||||
#define FANFARE_OBTAIN_BERRY 7
|
||||
#define FANFARE_SLOTS_JACKPOT 8
|
||||
#define FANFARE_SLOTS_WIN 9
|
||||
#define FANFARE_TOO_BAD 10
|
||||
#define FANFARE_POKE_FLUTE 11
|
||||
#define FANFARE_KEY_ITEM 12
|
||||
#define FANFARE_DEX_EVAL 13
|
||||
|
||||
#define CRY_MODE_NORMAL 0 // Default
|
||||
#define CRY_MODE_DOUBLES 1 // Shortened cry for double battles
|
||||
#define CRY_MODE_ENCOUNTER 2 // Used when starting a static encounter, or when a Pokémon is "aggressive"
|
||||
#define CRY_MODE_HIGH_PITCH 3 // Highest pitch mode, used exclusively by the move Howl
|
||||
#define CRY_MODE_ECHO_START 4 // For 1st half of cry used by the move Hyper Voice. Played in reverse
|
||||
#define CRY_MODE_FAINT 5 // Used when a Pokémon faints
|
||||
#define CRY_MODE_ECHO_END 6 // For 2nd half of cry used by the move Hyper Voice
|
||||
#define CRY_MODE_ROAR_1 7 // For 1st cry used by the move Roar
|
||||
#define CRY_MODE_ROAR_2 8 // For 2nd cry used by the move Roar
|
||||
#define CRY_MODE_GROWL_1 9 // For 1st cry used by the move Growl. Played in reverse
|
||||
#define CRY_MODE_GROWL_2 10 // For 2nd cry used by the move Growl
|
||||
#define CRY_MODE_WEAK 11 // Used when a Pokémon is unhealthy
|
||||
#define CRY_MODE_WEAK_DOUBLES 12 // Equivalent to CRY_MODE_DOUBLES for CRY_MODE_WEAK
|
||||
|
||||
// Given to SoundTask_PlayDoubleCry to determine which cry mode to use. Values are arbitrary
|
||||
#define DOUBLE_CRY_ROAR 2
|
||||
#define DOUBLE_CRY_GROWL 255
|
||||
|
||||
#define CRY_PRIORITY_NORMAL 10
|
||||
#define CRY_PRIORITY_AMBIENT 1
|
||||
|
||||
// Cry volume was changed from 125 in R/S to 120 for FRLG/Em, but was (accidentally?) not updated outside of sound.c
|
||||
#define CRY_VOLUME 120
|
||||
#define CRY_VOLUME_RS 125
|
||||
|
||||
#endif //GUARD_CONSTANTS_SOUND_H
|
||||
Reference in New Issue
Block a user