pmd-red/include/constants/event_flag.h
2025-11-22 00:11:18 -05:00

187 lines
4.3 KiB
C

#ifndef GUARD_CONSTANTS_EVENT_FLAG_H
#define GUARD_CONSTANTS_EVENT_FLAG_H
enum MainQuest
{
// SCENARIO_MAIN:
QUEST_SET_TEAM_NAME,
QUEST_UNK1, // Rescue dungeon related. For some reason it scans all rescue dungeons.
QUEST_CAN_ACCESS_JOBS,
QUEST_CAN_RECRUIT,
QUEST_SQUARE_ASLEEP,
QUEST_UNK5, // Run away related? It disallows "friend rescue" features.
QUEST_REACHED_POSTGAME,
QUEST_UNLOCKED_EVOLUTIONS,
QUEST_CAN_CHANGE_LEADER,
QUEST_CAN_DEPOSIT_PARTNER,
QUEST_UNK10, // Dojo-related
QUEST_UNK11,
QUEST_UNK12, // Music-related
QUEST_IN_WORLD_CALAMITY,
QUEST_MAZE_14,
QUEST_MAZE_15,
QUEST_LEGEND_ZAPDOS,
QUEST_LEGEND_MOLTRES,
QUEST_LEGEND_ARTICUNO,
QUEST_LEGEND_GROUDON,
QUEST_LEGEND_RAYQUAZA,
// SCENARIO_SUB2:
QUEST_LEGEND_KYOGRE,
QUEST_LEGEND_LUGIA,
// SCENARIO_SUB3:
QUEST_LEGEND_DEOXYS,
// SCENARIO_SUB4:
QUEST_LEGEND_HO_OH,
// SCENARIO_SUB5:
QUEST_LEGEND_MEWTWO,
// SCENARIO_SUB7:
QUEST_LEGEND_MEW,
// RESCUE_SCENARIO_CONQUEST_LIST:
QUEST_LEGEND_CELEBI,
// Special check:
QUEST_LUCARIO_RANK,
// TRAINING_CONQUEST_LIST:
QUEST_COMPLETED_ALL_MAZES,
};
enum FlagCalcOperation
{
CALC_SET,
CALC_SUB,
CALC_ADD,
CALC_MUL,
CALC_DIV,
CALC_MOD,
CALC_AND,
CALC_OR,
CALC_XOR,
CALC_SETBIT,
CALC_CLEARBIT,
CALC_RANDOM,
};
enum FlagJudgeOperation
{
JUDGE_TRUE,
JUDGE_FALSE,
JUDGE_EQ,
JUDGE_GT,
JUDGE_LT,
JUDGE_GE,
JUDGE_LE,
JUDGE_NE,
JUDGE_AND_NONZERO,
JUDGE_XOR_NONZERO, // logically identical to JUDGE_NE
JUDGE_BIT_SET,
};
enum ScriptVarId
{
/* 0x00 */ VERSION,
/* 0x01 */ CONDITION,
/* 0x02 */ SCENARIO_SELECT,
/* 0x03 */ SCENARIO_MAIN,
/* 0x04 */ SCENARIO_SUB1,
/* 0x05 */ SCENARIO_SUB2,
/* 0x06 */ SCENARIO_SUB3,
/* 0x07 */ SCENARIO_SUB4,
/* 0x08 */ SCENARIO_SUB5,
/* 0x09 */ SCENARIO_SUB6,
/* 0x0a */ SCENARIO_SUB7,
/* 0x0b */ SCENARIO_SUB8,
/* 0x0c */ SCENARIO_SUB9,
/* 0x0d */ GROUND_ENTER,
/* 0x0e */ GROUND_ENTER_LINK,
/* 0x0f */ GROUND_GETOUT,
/* 0x10 */ GROUND_MAP,
/* 0x11 */ GROUND_PLACE,
/* 0x12 */ DUNGEON_SELECT,
/* 0x13 */ DUNGEON_ENTER,
/* 0x14 */ DUNGEON_ENTER_INDEX,
/* 0x15 */ DUNGEON_ENTER_FREQUENCY,
/* 0x16 */ DUNGEON_RESULT,
/* 0x17 */ SCRIPT_MODE,
/* 0x18 */ START_MODE,
/* 0x19 */ CLEAR_COUNT,
/* 0x1a */ CONDITION_KIND,
/* 0x1b */ WEATHER_KIND,
/* 0x1c */ PLAYER_KIND,
/* 0x1d */ PARTNER1_KIND,
/* 0x1e */ PARTNER2_KIND,
/* 0x1f */ NEW_FRIEND_KIND,
/* 0x20 */ FRIEND_SUM,
/* 0x21 */ UNIT_SUM,
/* 0x22 */ GOLD,
/* 0x23 */ BANK_GOLD,
/* 0x24 */ WARP_LIST,
/* 0x25 */ WARP_LOCK,
/* 0x26 */ PARTNER_TALK_KIND,
/* 0x27 */ BASE_KIND,
/* 0x28 */ BASE_LEVEL,
/* 0x29 */ FLAG_KIND,
/* 0x2a */ FLAG_KIND_CHANGE_REQUEST,
/* 0x2b */ RESCUE_SCENARIO_ORDER_LIST,
/* 0x2c */ RESCUE_SCENARIO_JOB_LIST,
/* 0x2d */ RESCUE_SCENARIO_CONQUEST_LIST,
/* 0x2e */ TRAINING_CONQUEST_LIST,
/* 0x2f */ TRAINING_PRESENT_LIST,
/* 0x30 */ DUNGEON_ENTER_LIST,
/* 0x31 */ DUNGEON_CLEAR_LIST,
/* 0x32 */ POSITION_X,
/* 0x33 */ POSITION_Y,
/* 0x34 */ POSITION_HEIGHT,
/* 0x35 */ POSITION_DIRECTION,
/* 0x36 */ GROUND_LOCAL,
/* 0x37 */ MAP_LOCAL,
/* 0x38 */ MAP_LOCAL_DOOR,
/* 0x39 */ EVENT_LOCAL,
/* 0x3a */ STATION_ITEM_STATIC,
/* 0x3b */ STATION_ITEM_TEMP,
/* 0x3c */ DELIVER_ITEM_STATIC,
/* 0x3d */ DELIVER_ITEM_TEMP,
/* 0x3e */ SHOP_TEMP,
/* 0x3f */ INN_TEMP,
/* 0x40 */ EVENT_S07E01,
/* 0x41 */ EVENT_S08E01,
/* 0x42 */ EVENT_GONBE,
/* 0x43 */ EVENT_ORNAMENT_01,
/* 0x44 */ EVENT_ORNAMENT_02,
/* 0x45 */ EVENT_ORNAMENT_03,
/* 0x46 */ EVENT_ORNAMENT_04,
/* 0x47 */ EVENT_B01P01,
/* 0x48 */ EVENT_T01P01,
/* 0x49 */ EVENT_T01P02,
/* 0x4a */ EVENT_T01P03,
/* 0x4b */ EVENT_M01E09A_2N,
/* 0x4c */ EVENT_M01E09A_8N,
/* 0x4d */ EVENT_M01E10A_1N,
/* 0x4e */ EVENT_M01E10A_3N,
/* 0x4f */ EVENT_M01E10A_5N,
/* 0x50 */ EVENT_M02E01A_2N,
/* 0x51 */ SUM,
/* 0x52 */ SCRIPT_VARS_COUNT,
/* 0x400 */ LOCAL0 = 0x400,
/* 0x401 */ LOCAL1,
/* 0x402 */ LOCAL2,
/* 0x403 */ LOCAL3,
};
#endif // GUARD_CONSTANTS_EVENT_FLAG_H