diff options
author | Cheng Hann Gan <chenghanngan.us@gmail.com> | 2021-09-09 19:22:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-09 16:22:48 -0700 |
commit | 8237e29a164211eb2ec4cd161eb4183cc1947fee (patch) | |
tree | 67dc502264b755dc620f56969f3bea68a40b17af /include/constants/move.h | |
parent | 4eff1882443b0004d9c9fa4895cdfefdc356565f (diff) |
Defined more in-dungeon structs and enums (#53)
* Defined DungeonEntity
* Rename EntityType enums
* Revert EntityType rename
* Defined more in-dungeon structs and enums
* Added more dungeon global structs/enums
* Prefixed dungeonGlobalData with g
* Fixed compile errors
* Removed some CRLFs
* Fixed compile after merge
* Revert Makefile
* Rename DungeonEntityData.entityType
Co-authored-by: Seth Barberee <seth.barberee@gmail.com>
* Renamed symbols per PR comments
Co-authored-by: Cheng Hann Gan <chenghann_gan@ultimatesoftware.com>
Co-authored-by: Seth Barberee <seth.barberee@gmail.com>
Diffstat (limited to 'include/constants/move.h')
-rw-r--r-- | include/constants/move.h | 474 |
1 files changed, 474 insertions, 0 deletions
diff --git a/include/constants/move.h b/include/constants/move.h new file mode 100644 index 0000000..6f1ea70 --- /dev/null +++ b/include/constants/move.h @@ -0,0 +1,474 @@ +#ifndef GUARD_CONSTANTS_MOVE_H +#define GUARD_CONSTANTS_MOVE_H + +enum MoveFlags +{ + MOVE_FLAG_EXISTS = 1 << 0, + MOVE_FLAG_LINKED = 1 << 1, // This move is linked with the previous move in the Pokémon's moveset. + MOVE_FLAG_ENABLED = 1 << 2, // Enabled for the AI to use. + MOVE_FLAG_SET = 1 << 3, // This move can be triggered by pressing L+A instead of having to go to the move menu. + MOVE_FLAG_LAST_USED = 1 << 4, // The most recent move used by the Pokémon. + MOVE_FLAG_DISABLED = 1 << 5 // Disabled by an effect like Taunt. +}; + +struct MoveData +{ + u8 fill0[0x8 - 0x0]; + // Determines the range of moves. + /* 0x8 */ u16 targetingFlags; + /* 0xA */ u16 aiTargetingFlags; // The AI consider certain moves to have different range than they actually do. + /* 0xC */ u8 maxPP; + /* 0xD */ u8 defaultMoveWeight; + u8 fillE[0x10 - 0xE]; + // Used by the AI to determine how often to use Spikes. + // Values exist for all other moves, though they seem to be unused. + /* 0x10 */ u8 moveUseChance; + u8 fill11[0x17 - 0x11]; + /* 0x17 */ bool8 cannotHitFrozen; // Used by Status Checker to determine if a move can be used on a frozen target. + /* 0x18 */ bool8 dealsDirectDamage; +}; + +struct PokemonMove +{ + u8 moveFlags; + bool8 sealed; + u16 moveID; + u8 pp; + u8 powerBoost; // How much the move is boosted by Ginsengs. +}; + +enum TargetingFlag +{ + TARGETING_FLAG_TARGET_OTHER = 0x0, + TARGETING_FLAG_HEAL_TEAM = 0x1, + TARGETING_FLAG_SWAP_POSITIONS = 0x2, + TARGETING_FLAG_ATTACK_ALL = 0x5, + TARGETING_FLAG_BOOST_TEAM = 0x6, + TARGETING_FLAG_DONT_USE = 0xF, + TARGETING_FLAG_TARGET_FRONTAL_CONE = 0x10, + TARGETING_FLAG_TARGET_AROUND = 0x20, + TARGETING_FLAG_TARGET_ROOM = 0x30, + TARGETING_FLAG_TARGET_2_TILES_AHEAD = 0x40, + TARGETING_FLAG_TARGET_LINE = 0x50, + TARGETING_FLAG_TARGET_FLOOR = 0x60, + TARGETING_FLAG_SELF_HEAL = 0x70, + TARGETING_FLAG_CUT_CORNERS = 0x80, + TARGETING_FLAG_SET_TRAP = 0x100, + TARGETING_FLAG_HEAL_HP = 0x200, + TARGETING_FLAG_HEAL_STATUS = 0x300, + TARGETING_FLAG_DREAM_EATER = 0x400, + TARGETING_FLAG_HEAL_ALL = 0x500, + TARGETING_FLAG_EXPOSE = 0x600, +}; + +enum MoveID +{ + MOVE_IRON_TAIL = 0x1, + MOVE_ICE_BALL = 0x2, + MOVE_YAWN = 0x3, + MOVE_LOVELY_KISS = 0x4, + MOVE_NIGHTMARE = 0x5, + MOVE_MORNING_SUN = 0x6, + MOVE_VITAL_THROW = 0x7, + MOVE_DIG = 0x8, + MOVE_THRASH = 0x9, + MOVE_SWEET_SCENT = 0xA, + MOVE_CHARM = 0xB, + MOVE_RAIN_DANCE = 0xC, + MOVE_CONFUSE_RAY = 0xD, + MOVE_HAIL = 0xE, + MOVE_AROMATHERAPY = 0xF, + MOVE_BUBBLE = 0x10, + MOVE_ENCORE = 0x11, + MOVE_CUT = 0x12, + MOVE_RAGE = 0x13, + MOVE_SUPER_FANG = 0x14, + MOVE_PAIN_SPLIT = 0x15, + MOVE_TORMENT = 0x16, + MOVE_STRING_SHOT = 0x17, + MOVE_SWAGGER = 0x18, + MOVE_SNORE = 0x19, + MOVE_HEAL_BELL = 0x1A, + MOVE_SCREECH = 0x1B, + MOVE_ROCK_THROW = 0x1C, + MOVE_ROCK_SMASH = 0x1D, + MOVE_ROCK_SLIDE = 0x1E, + MOVE_WEATHER_BALL = 0x1F, + MOVE_WHIRLPOOL = 0x20, + MOVE_FAKE_TEARS = 0x21, + MOVE_SING = 0x22, + MOVE_SPITE = 0x23, + MOVE_AIR_CUTTER = 0x24, + MOVE_SMOKESCREEN = 0x25, + MOVE_PURSUIT = 0x26, + MOVE_DOUBLESLAP = 0x27, + MOVE_MIRROR_MOVE = 0x28, + MOVE_OVERHEAT = 0x29, + MOVE_AURORA_BEAM = 0x2A, + MOVE_MEMENTO = 0x2B, + MOVE_OCTAZOOKA = 0x2C, + MOVE_FLATTER = 0x2D, + MOVE_ASTONISH = 0x2E, + MOVE_WILL_O_WISP = 0x2F, + MOVE_RETURN = 0x30, + MOVE_GRUDGE = 0x31, + MOVE_STRENGTH = 0x32, + MOVE_COUNTER = 0x33, + MOVE_FLAME_WHEEL = 0x34, + MOVE_FLAMETHROWER = 0x35, + MOVE_ODOR_SLEUTH = 0x36, + MOVE_SHARPEN = 0x37, + MOVE_DOUBLE_TEAM = 0x38, + MOVE_GUST = 0x39, + MOVE_HARDEN = 0x3A, + MOVE_DISABLE = 0x3B, + MOVE_RAZOR_WIND = 0x3C, + MOVE_BIDE = 0x3D, + MOVE_CRUNCH = 0x3E, + MOVE_BITE = 0x3F, + MOVE_THUNDER = 0x40, + MOVE_THUNDERPUNCH = 0x41, + MOVE_ENDEAVOR = 0x42, + MOVE_FACADE = 0x43, + MOVE_KARATE_CHOP = 0x44, + MOVE_CLAMP = 0x45, + MOVE_WITHDRAW = 0x46, + MOVE_CONSTRICT = 0x47, + MOVE_BRICK_BREAK = 0x48, + MOVE_ROCK_TOMB = 0x49, + MOVE_FOCUS_ENERGY = 0x4A, + MOVE_FOCUS_PUNCH = 0x4B, + MOVE_GIGA_DRAIN = 0x4C, + MOVE_REVERSAL = 0x4D, + MOVE_SMELLINGSALT = 0x4E, + MOVE_SPORE = 0x4F, + MOVE_LEECH_LIFE = 0x50, + MOVE_SLASH = 0x51, + MOVE_SILVER_WIND = 0x52, + MOVE_METAL_SOUND = 0x53, + MOVE_GRASSWHISTLE = 0x54, + MOVE_TICKLE = 0x55, + MOVE_SPIDER_WEB = 0x56, + MOVE_CRABHAMMER = 0x57, + MOVE_HAZE = 0x58, + MOVE_MEAN_LOOK = 0x59, + MOVE_CROSS_CHOP = 0x5A, + MOVE_OUTRAGE = 0x5B, + MOVE_LOW_KICK = 0x5C, + MOVE_ANCIENTPOWER = 0x5D, + MOVE_SYNTHESIS = 0x5E, + MOVE_AGILITY = 0x5F, + MOVE_RAPID_SPIN = 0x60, + MOVE_ICY_WIND = 0x61, + MOVE_MIND_READER = 0x62, + MOVE_COSMIC_POWER = 0x63, + MOVE_SKY_ATTACK = 0x64, + MOVE_POWDER_SNOW = 0x65, + MOVE_FOLLOW_ME = 0x66, + MOVE_METEOR_MASH = 0x67, + MOVE_ENDURE = 0x68, + MOVE_ROLLOUT = 0x69, + MOVE_SCARY_FACE = 0x6A, + MOVE_PSYBEAM = 0x6B, + MOVE_PSYWAVE = 0x6C, + MOVE_PSYCHIC = 0x6D, + MOVE_PSYCHO_BOOST = 0x6E, + MOVE_HYPNOSIS = 0x6F, + MOVE_UPROAR = 0x70, + MOVE_WATER_SPOUT = 0x71, + MOVE_SIGNAL_BEAM = 0x72, + MOVE_PSYCH_UP = 0x73, + MOVE_SUBMISSION = 0x74, + MOVE_RECOVER = 0x75, + MOVE_EARTHQUAKE = 0x76, + MOVE_NATURE_POWER = 0x77, + MOVE_LICK = 0x78, + MOVE_FLAIL = 0x79, + MOVE_TAIL_WHIP = 0x7A, + MOVE_SELFDESTRUCT = 0x7B, + MOVE_STUN_SPORE = 0x7C, + MOVE_BIND = 0x7D, + MOVE_SHADOW_PUNCH = 0x7E, + MOVE_SHADOW_BALL = 0x7F, + MOVE_CHARGE = 0x80, + MOVE_THUNDERBOLT = 0x81, + MOVE_MIST = 0x82, + MOVE_FISSURE = 0x83, + MOVE_EXTREMESPEED = 0x84, + MOVE_EXTRASENSORY = 0x85, + MOVE_SAFEGUARD = 0x86, + MOVE_ABSORB = 0x87, + MOVE_SKY_UPPERCUT = 0x88, + MOVE_SKILL_SWAP = 0x89, + MOVE_SKETCH = 0x8A, + MOVE_HEADBUTT = 0x8B, + MOVE_DOUBLE_EDGE = 0x8C, + MOVE_SANDSTORM = 0x8D, + MOVE_SAND_ATTACK = 0x8E, + MOVE_SAND_TOMB = 0x8F, + MOVE_SPARK = 0x90, + MOVE_SWIFT = 0x91, + MOVE_KINESIS = 0x92, + MOVE_SMOG = 0x93, + MOVE_GROWTH = 0x94, + MOVE_SACRED_FIRE = 0x95, + MOVE_SHEER_COLD = 0x96, + MOVE_SOLARBEAM = 0x97, + MOVE_SONICBOOM = 0x98, + MOVE_FLY = 0x99, + MOVE_TACKLE = 0x9A, + MOVE_EXPLOSION = 0x9B, + MOVE_DIVE = 0x9C, + MOVE_FIRE_BLAST = 0x9D, + MOVE_WATERFALL = 0x9E, + MOVE_MUDDY_WATER = 0x9F, + MOVE_STOCKPILE = 0xA0, + MOVE_SLAM = 0xA1, + MOVE_TWISTER = 0xA2, + MOVE_BULLET_SEED = 0xA3, + MOVE_TWINEEDLE = 0xA4, + MOVE_SOFTBOILED = 0xA5, + MOVE_EGG_BOMB = 0xA6, + MOVE_FAINT_ATTACK = 0xA7, + MOVE_BARRAGE = 0xA8, + MOVE_MINIMIZE = 0xA9, + MOVE_SEISMIC_TOSS = 0xAA, + MOVE_SUPERSONIC = 0xAB, + MOVE_TAUNT = 0xAC, + MOVE_MOONLIGHT = 0xAD, + MOVE_PECK = 0xAE, + MOVE_ARM_THRUST = 0xAF, + MOVE_HORN_ATTACK = 0xB0, + MOVE_HORN_DRILL = 0xB1, + MOVE_WING_ATTACK = 0xB2, + MOVE_AERIAL_ACE = 0xB3, + MOVE_ICICLE_SPEAR = 0xB4, + MOVE_SWORDS_DANCE = 0xB5, + MOVE_VINE_WHIP = 0xB6, + MOVE_CONVERSION = 0xB7, + MOVE_CONVERSION_2 = 0xB8, + MOVE_HELPING_HAND = 0xB9, + MOVE_IRON_DEFENSE = 0xBA, + MOVE_TELEPORT = 0xBB, + MOVE_THUNDERSHOCK = 0xBC, + MOVE_SHOCK_WAVE = 0xBD, + MOVE_QUICK_ATTACK = 0xBE, + MOVE_SWEET_KISS = 0xBF, + MOVE_THUNDER_WAVE = 0xC0, + MOVE_ZAP_CANNON = 0xC1, + MOVE_BLOCK = 0xC2, + MOVE_HOWL = 0xC3, + MOVE_POISON_GAS = 0xC4, + MOVE_TOXIC = 0xC5, + MOVE_POISON_FANG = 0xC6, + MOVE_POISONPOWDER = 0xC7, + MOVE_POISON_STING = 0xC8, + MOVE_SPIKE_CANNON = 0xC9, + MOVE_ACID_ARMOR = 0xCA, + MOVE_TAKE_DOWN = 0xCB, + MOVE_JUMP_KICK = 0xCC, + MOVE_BOUNCE = 0xCD, + MOVE_HI_JUMP_KICK = 0xCE, + MOVE_TRI_ATTACK = 0xCF, + MOVE_DRAGON_CLAW = 0xD0, + MOVE_TRICK = 0xD1, + MOVE_TRIPLE_KICK = 0xD2, + MOVE_DRILL_PECK = 0xD3, + MOVE_MUD_SPORT = 0xD4, + MOVE_MUD_SLAP = 0xD5, + MOVE_THIEF = 0xD6, + MOVE_AMNESIA = 0xD7, + MOVE_NIGHT_SHADE = 0xD8, + MOVE_GROWL = 0xD9, + MOVE_SLACK_OFF = 0xDA, + MOVE_SURF = 0xDB, + MOVE_ROLE_PLAY = 0xDC, + MOVE_NEEDLE_ARM = 0xDD, + MOVE_DOUBLE_KICK = 0xDE, + MOVE_SUNNY_DAY = 0xDF, + MOVE_LEER = 0xE0, + MOVE_WISH = 0xE1, + MOVE_FAKE_OUT = 0xE2, + MOVE_SLEEP_TALK = 0xE3, + MOVE_PAY_DAY = 0xE4, + MOVE_ASSIST = 0xE5, + MOVE_HEAT_WAVE = 0xE6, + MOVE_SLEEP_POWDER = 0xE7, + MOVE_REST = 0xE8, + MOVE_INGRAIN = 0xE9, + MOVE_CONFUSION = 0xEA, + MOVE_BODY_SLAM = 0xEB, + MOVE_SWALLOW = 0xEC, + MOVE_CURSE = 0xED, + MOVE_FRENZY_PLANT = 0xEE, + MOVE_HYDRO_CANNON = 0xEF, + MOVE_HYDRO_PUMP = 0xF0, + MOVE_HYPER_VOICE = 0xF1, + MOVE_HYPER_BEAM = 0xF2, + MOVE_SUPERPOWER = 0xF3, + MOVE_STEEL_WING = 0xF4, + MOVE_SPIT_UP = 0xF5, + MOVE_DYNAMICPUNCH = 0xF6, + MOVE_GUILLOTINE = 0xF7, + MOVE_VICEGRIP = 0xF8, + MOVE_KNOCK_OFF = 0xF9, + MOVE_POUND = 0xFA, + MOVE_RAZOR_LEAF = 0xFB, + MOVE_BATON_PASS = 0xFC, + MOVE_PETAL_DANCE = 0xFD, + MOVE_SPLASH = 0xFE, + MOVE_BUBBLEBEAM = 0xFF, + MOVE_DOOM_DESIRE = 0x100, + MOVE_BELLY_DRUM = 0x101, + MOVE_BARRIER = 0x102, + MOVE_LIGHT_SCREEN = 0x103, + MOVE_SCRATCH = 0x104, + MOVE_HYPER_FANG = 0x105, + MOVE_EMBER = 0x106, + MOVE_SECRET_POWER = 0x107, + MOVE_DIZZY_PUNCH = 0x108, + MOVE_BULK_UP = 0x109, + MOVE_IMPRISON = 0x10A, + MOVE_FEATHERDANCE = 0x10B, + MOVE_WHIRLWIND = 0x10C, + MOVE_BEAT_UP = 0x10D, + MOVE_BLIZZARD = 0x10E, + MOVE_STOMP = 0x10F, + MOVE_BLAST_BURN = 0x110, + MOVE_FLASH = 0x111, + MOVE_TEETER_DANCE = 0x112, + MOVE_CRUSH_CLAW = 0x113, + MOVE_BLAZE_KICK = 0x114, + MOVE_PRESENT = 0x115, + MOVE_ERUPTION = 0x116, + MOVE_SLUDGE = 0x117, + MOVE_SLUDGE_BOMB = 0x118, + MOVE_GLARE = 0x119, + MOVE_TRANSFORM = 0x11A, + MOVE_POISON_TAIL = 0x11B, + MOVE_ROAR = 0x11C, + MOVE_BONE_RUSH = 0x11D, + MOVE_CAMOUFLAGE = 0x11E, + MOVE_COVET = 0x11F, + MOVE_TAIL_GLOW = 0x120, + MOVE_BONE_CLUB = 0x121, + MOVE_BONEMERANG = 0x122, + MOVE_FIRE_SPIN = 0x123, + MOVE_FIRE_PUNCH = 0x124, + MOVE_PERISH_SONG = 0x125, + MOVE_WRAP = 0x126, + MOVE_SPIKES = 0x127, + MOVE_MAGNITUDE = 0x128, + MOVE_MAGICAL_LEAF = 0x129, + MOVE_MAGIC_COAT = 0x12A, + MOVE_MUD_SHOT = 0x12B, + MOVE_MACH_PUNCH = 0x12C, + MOVE_PROTECT = 0x12D, + MOVE_DEFENSE_CURL = 0x12E, + MOVE_ROLLING_KICK = 0x12F, + MOVE_SUBSTITUTE = 0x130, + MOVE_DETECT = 0x131, + MOVE_PIN_MISSILE = 0x132, + MOVE_WATER_SPORT = 0x133, + MOVE_WATER_GUN = 0x134, + MOVE_MIST_BALL = 0x135, + MOVE_WATER_PULSE = 0x136, + MOVE_FURY_ATTACK = 0x137, + MOVE_FURY_SWIPES = 0x138, + MOVE_DESTINY_BOND = 0x139, + MOVE_FALSE_SWIPE = 0x13A, + MOVE_FORESIGHT = 0x13B, + MOVE_MIRROR_COAT = 0x13C, + MOVE_FUTURE_SIGHT = 0x13D, + MOVE_MILK_DRINK = 0x13E, + MOVE_CALM_MIND = 0x13F, + MOVE_MEGA_DRAIN = 0x140, + MOVE_MEGA_KICK = 0x141, + MOVE_MEGA_PUNCH = 0x142, + MOVE_MEGAHORN = 0x143, + MOVE_HIDDEN_POWER = 0x144, + MOVE_METAL_CLAW = 0x145, + MOVE_ATTRACT = 0x146, + MOVE_MIMIC = 0x147, + MOVE_FRUSTRATION = 0x148, + MOVE_LEECH_SEED = 0x149, + MOVE_METRONOME = 0x14A, + MOVE_DREAM_EATER = 0x14B, + MOVE_ACID = 0x14C, + MOVE_MEDITATE = 0x14D, + MOVE_SNATCH = 0x14E, + MOVE_LUSTER_PURGE = 0x14F, + MOVE_LEAF_BLADE = 0x150, + MOVE_RECYCLE = 0x151, + MOVE_REFLECT = 0x152, + MOVE_REFRESH = 0x153, + MOVE_REVENGE = 0x154, + MOVE_DRAGON_RAGE = 0x155, + MOVE_DRAGONBREATH = 0x156, + MOVE_DRAGON_DANCE = 0x157, + MOVE_ICE_PUNCH = 0x158, + MOVE_ICE_BEAM = 0x159, + MOVE_FURY_CUTTER = 0x15A, + MOVE_COMET_PUNCH = 0x15B, + MOVE_SKULL_BASH = 0x15C, + MOVE_LOCK_ON = 0x15D, + MOVE_ROCK_BLAST = 0x15E, + MOVE_COTTON_SPORE = 0x15F, + MOVE_STRUGGLE = 0x160, + MOVE_AEROBLAST = 0x161, + MOVE_VOLT_TACKLE = 0x162, + MOVE_REGULAR_ATTACK = 0x163, + MOVE_WIDE_SLASH = 0x168, + MOVE_EXCAVATE = 0x169, // Unused + MOVE_SPIN_SLASH = 0x16A, // Unused + // Orb effects + MOVE_SEE_TRAP = 0x16B, + MOVE_TAKEAWAY = 0x16C, + MOVE_REBOUND = 0x16D, + MOVE_BLOOP_SLASH = 0x16E, + MOVE_SWITCHER = 0x16F, + MOVE_BLOWBACK = 0x170, + MOVE_WARP = 0x171, + MOVE_TRANSFER = 0x172, + MOVE_SLOW_DOWN = 0x173, + MOVE_SPEED_BOOST = 0x174, + MOVE_SEARCHLIGHT = 0x175, + MOVE_PETRIFY = 0x176, + MOVE_STAY_AWAY = 0x177, + MOVE_POUNCE = 0x178, + MOVE_TRAWL = 0x179, + MOVE_CLEANSE = 0x17A, + MOVE_OBSERVER = 0x17B, + MOVE_DECOY_MAKER = 0x17C, + MOVE_SIESTA = 0x17D, + MOVE_TOTTER = 0x17E, + MOVE_TWO_EDGE = 0x17F, + MOVE_NO_MOVE = 0x180, + MOVE_ESCAPE = 0x181, + MOVE_SCAN = 0x182, + MOVE_POWER_EARS = 0x183, + MOVE_DROUGHT = 0x184, + MOVE_TRAP_BUSTER = 0x185, + MOVE_WILD_CALL = 0x186, + MOVE_INVISIFY = 0x187, + MOVE_ONE_SHOT = 0x188, + MOVE_HP_GAUGE = 0x189, + MOVE_VACUUM_CUT = 0x18A, + MOVE_REVIVER = 0x18B, + MOVE_SHOCKER = 0x18C, + MOVE_ECHO = 0x18D, + MOVE_FAMISH = 0x18E, + MOVE_ONE_ROOM = 0x18F, + MOVE_FILL_IN = 0x190, + MOVE_TRAPPER = 0x191, + MOVE_POSSESS = 0x192, + MOVE_ITEMIZE = 0x193, + MOVE_HURL = 0x196, + MOVE_MOBILE = 0x197, + MOVE_ITEM_TOSS = 0x198, + MOVE_SEE_STAIRS = 0x199, + MOVE_LONG_TOSS = 0x19A, + MOVE_PIERCE = 0x19B +}; + +#endif |