526 lines
27 KiB
C++
526 lines
27 KiB
C++
#ifndef GLOBALS_HPP_INCLUDED
|
|
#define GLOBALS_HPP_INCLUDED
|
|
|
|
#include <vector>
|
|
#include <cstdint>
|
|
#include <map>
|
|
|
|
namespace Globals
|
|
{
|
|
typedef struct SettingsDef
|
|
{
|
|
std::int32_t Index = -1;
|
|
std::int32_t BitPos = -1;
|
|
std::int32_t BitMask = -1;
|
|
} SettingsDef;
|
|
|
|
typedef struct WidgetDef
|
|
{
|
|
std::int32_t Parent = -1;
|
|
std::int32_t Child = -1;
|
|
std::int32_t Grandchild = -1;
|
|
} WidgetDef;
|
|
|
|
const SettingsDef SETTING_COMBAT_SPECIAL = { 300 };
|
|
const SettingsDef SETTING_COMBAT_SPECIAL_TOGGLE = { 301 };
|
|
const SettingsDef SETTING_COMBAT_AUTO_RETALIATE = { 172 };
|
|
const SettingsDef SETTING_COMBAT_POISON = { 102 };
|
|
const SettingsDef SETTING_WEAPON_STYLES = { 43 }; // How many styles the current weapon has
|
|
const SettingsDef SETTING_ACCEPT_AID = { 427 }; // 13 = on
|
|
const SettingsDef SETTING_RUN_MODE = { 173 }; // 1 = running
|
|
const SettingsDef SETTING_CURRENT_PRAYER = { 83 }; // To be used with PrayerDefs
|
|
const SettingsDef SETTING_BANK_WITHDRAW_MODE = { 115, 0 };
|
|
const SettingsDef SETTING_BANK_WITHDRAW_MODE_WIDGET = { 1666 }; // Which Widget is selected, 0 = 1, 4 = 5, 8 = 10, 12 = X, 16 = ALL
|
|
const SettingsDef SETTING_BANK_DEFAULT_QUANTITY = { 304 }; // Seems to be the value / 2, so if it returns 50, then the default custom quantity is 25
|
|
const SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_INDEX = { 375 };
|
|
const SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_ITEM_ID = { 1151 };
|
|
const SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_ITEM_AMOUNT = { 563 };
|
|
const SettingsDef SETTING_EXCHANGE_CURRENT_SLOT_PRICE = { 1043 };
|
|
const SettingsDef SETTING_ESC_TO_CLOSE = { 1224, 31 };
|
|
const SettingsDef SETTING_SHIFT_CLICK_DROP = { 1055, 17 };
|
|
const SettingsDef SETTING_SCROLL_WHEEL_TO_ZOOM = { 1055, 29 };
|
|
|
|
const SettingsDef SETTING_COMBAT_TAB_HOTKEY = { 1224, 0 };
|
|
const SettingsDef SETTING_STATS_TAB_HOTKEY = { 1224, 5 };
|
|
const SettingsDef SETTING_QUESTS_TAB_HOTKEY = { 1224, 10 };
|
|
const SettingsDef SETTING_INVENTORY_TAB_HOTKEY = { 1224, 15 };
|
|
const SettingsDef SETTING_EQUIPMENT_TAB_HOTKEY = { 1224, 20 };
|
|
const SettingsDef SETTING_PRAYER_TAB_HOTKEY = { 1224, 25 };
|
|
const SettingsDef SETTING_MAGIC_TAB_HOTKEY = { 1225, 0 };
|
|
const SettingsDef SETTING_CLAN_TAB_HOTKEY = { 1225, 5 };
|
|
const SettingsDef SETTING_FRIENDS_TAB_HOTKEY = { 1225, 10 };
|
|
const SettingsDef SETTING_ACCOUNT_TAB_HOTKEY = { 1225, 15 };
|
|
const SettingsDef SETTING_OPTIONS_TAB_HOTKEY = { 1225, 20 };
|
|
const SettingsDef SETTING_EMOTE_TAB_HOTKEY = { 1225, 25 };
|
|
const SettingsDef SETTING_MUSIC_TAB_HOTKEY = { 1226, 0 };
|
|
const SettingsDef SETTING_LOGOUT_TAB_HOTKEY = { 1226, 5 };
|
|
|
|
const std::int32_t WIDGET_ROOT_LOBBY = 165;
|
|
const std::int32_t WIDGET_ROOT_FIXED = 548;
|
|
const std::int32_t WIDGET_ROOT_RESIZABLE = 161;
|
|
const std::int32_t WIDGET_ROOT_RESIZABLE_SIDE_PANELS = 164;
|
|
|
|
//************ Bank.cpp ************//
|
|
const std::int32_t BANK_ITEM_CONTAINER_ID = 95;
|
|
const std::int32_t BANK_SPRITE_ID_CURRENT_TAB = 1079;
|
|
const std::int32_t BANK_PARENT = 12;
|
|
|
|
const WidgetDef BANK_MAIN = { BANK_PARENT, 2 };
|
|
const WidgetDef BANK_CLOSE = { BANK_PARENT, 2, 11 };
|
|
|
|
const WidgetDef BANK_TABS_CONTAINER = { BANK_PARENT, 11 }; // Has all Tab children
|
|
const WidgetDef BANK_ITEM_CONTAINER_WIDGET = { BANK_PARENT, 13 }; // Used for scrolling, contains all items, middle of the bank interface
|
|
|
|
const WidgetDef BANK_REARRANGE_MODE_SWAP = { BANK_PARENT, 18 };
|
|
const WidgetDef BANK_REARRANGE_MODE_INSERT = { BANK_PARENT, 20 };
|
|
const WidgetDef BANK_WITHDRAW_MODE_ITEM = { BANK_PARENT, 23 };
|
|
const WidgetDef BANK_WITHDRAW_MODE_NOTED = { BANK_PARENT, 25 };
|
|
const std::int32_t BANK_WITHDRAW_QUANTITY_CHILDREN[5] = { 29, 31, 33, 35, 37 }; // 1, 5, 10, x, all, uses BANK_PARENT
|
|
const WidgetDef BANK_SET_PLACEHOLDERS = { BANK_PARENT, 38 };
|
|
const WidgetDef BANK_SEARCH = { BANK_PARENT, 40 };
|
|
const WidgetDef BANK_DEPOSIT_ALL = { BANK_PARENT, 42 };
|
|
const WidgetDef BANK_DEPOSIT_EQUIPMENT = { BANK_PARENT, 44 };
|
|
|
|
const WidgetDef BANK_INVENTORY = { 15, 3 }; // When the bank is open, the Inventory has it's own widgets for items
|
|
|
|
const std::int32_t BANK_ENTER_PIN_PARENT = 213;
|
|
const WidgetDef BANK_ENTER_PIN_STATUS = { BANK_ENTER_PIN_PARENT, 10 }; // Text widget, has FIRST, SECOND, THIRD, FOURTH, Submitting in it
|
|
const std::int32_t BANK_ENTER_PIN_BUTTON_CHILDREN[10] = { 16, 18, 20, 22, 24, 26, 28, 30, 32, 34 }; // Buttons themselves, uses BANK_ENTER_PIN_PARENT,
|
|
|
|
const WidgetDef BANK_WARNING_SPACE_NOTNOW = { 289, 7, 8 };
|
|
const WidgetDef BANK_WARNING_SPACE_NOTNOW_HOVER = { 289, 7, 9 };
|
|
|
|
|
|
// grandchild 0 = proper widget bounds, grandchild 1 = text
|
|
|
|
//************ Chat.cpp ************//
|
|
const WidgetDef CHAT_DIALOGUE_NEST_PARENT = { 162, 34 };
|
|
const WidgetDef CHAT_DIALOGUE_IDLE = { 162, 54 };
|
|
|
|
//************ CollectionBox.cpp ************//
|
|
const std::int32_t COLLECTION_BOX_PARENT = 402;
|
|
const WidgetDef COLLECTION_BOX_MAIN = {COLLECTION_BOX_PARENT, 2, 0};
|
|
const WidgetDef COLLECTION_BOX_CLOSE = {COLLECTION_BOX_PARENT, 2, 11};
|
|
const WidgetDef COLLECTION_BOX_COLLECT_TO_BANK = {COLLECTION_BOX_PARENT, 4, 1};
|
|
const WidgetDef COLLECTION_BOX_COLLECT_TO_INV = {COLLECTION_BOX_PARENT, 3, 1};
|
|
|
|
//************ DepositBox.cpp ************//
|
|
const std::int32_t DEPOSIT_BOX_PARENT = 192;
|
|
const WidgetDef DEPOSIT_BOX_CLOSE = { DEPOSIT_BOX_PARENT, 1, 11 };
|
|
const WidgetDef DEPOSIT_BOX_DEPOSIT_ALL = { DEPOSIT_BOX_PARENT, 4 };
|
|
const WidgetDef DEPOSIT_BOX_DEPOSIT_EQUIPMENT = { DEPOSIT_BOX_PARENT, 6 };
|
|
const WidgetDef DEPOSIT_BOX_DEPOSIT_LOOT = { DEPOSIT_BOX_PARENT, 8 };
|
|
|
|
//************ Exchange.cpp ************//
|
|
const std::int32_t EXCHANGE_PARENT = 465;
|
|
const WidgetDef EXCHANGE_MAIN = { EXCHANGE_PARENT, 0 };
|
|
const WidgetDef EXCHANGE_BACK = { EXCHANGE_PARENT, 4 };
|
|
const WidgetDef EXCHANGE_CLOSE = { EXCHANGE_PARENT, 2, 11 };
|
|
const WidgetDef EXCHANGE_SPRITE_TYPE = { EXCHANGE_PARENT, 25, 21};
|
|
const WidgetDef EXCHANGE_ITEM = { EXCHANGE_PARENT, 25, 23 };
|
|
const WidgetDef EXCHANGE_ITEM_GUIDE_PRICE = { EXCHANGE_PARENT, 27};
|
|
const WidgetDef EXCHANGE_COLLECT_CONTAINER_WIDGET = { EXCHANGE_PARENT, 6, 1 };
|
|
const WidgetDef EXCHANGE_COLLECT_SLOT_ONE = { EXCHANGE_PARENT, 24, 2 };
|
|
const WidgetDef EXCHANGE_COLLECT_SLOT_TWO = { EXCHANGE_PARENT, 24, 3 };
|
|
|
|
const WidgetDef EXCHANGE_AMOUNT = { EXCHANGE_PARENT, 25, 51 };
|
|
const WidgetDef EXCHANGE_PRICE = { EXCHANGE_PARENT, 25, 54 };
|
|
const WidgetDef EXCHANGE_GUIDE = { EXCHANGE_PARENT, 25, 53 };
|
|
const WidgetDef EXCHANGE_CONFIRM = { EXCHANGE_PARENT, 25, 58 };
|
|
const WidgetDef EXCHANGE_ABORT = { EXCHANGE_PARENT, 23, 0 };
|
|
|
|
const WidgetDef EXCHANGE_CHAT = { 162, 41 };
|
|
const WidgetDef EXCHANGE_CHAT_ENTER = { 162, 42 };
|
|
const WidgetDef EXCHANGE_CHAT_CHOOSE = { 162, 50 };
|
|
|
|
const std::int32_t EXCHANGE_SLOT_START = 7;
|
|
const std::int32_t EXCHANGE_WIDGET_SPRITE_BUY = 26; // Widget Grandchild
|
|
const std::int32_t EXCHANGE_WIDGET_SPRITE_SELL = EXCHANGE_WIDGET_SPRITE_BUY + 1; // Widget Grandchild
|
|
|
|
const std::int32_t EXCHANGE_SPRITE_BUY = 1108;
|
|
const std::int32_t EXCHANGE_SPRITE_SELL = 1106;
|
|
const std::int32_t EXCHANGE_SPRITE_MINI_BUY = 1118;
|
|
const std::int32_t EXCHANGE_SPRITE_MINI_SELL = 1119;
|
|
|
|
//************ Login.cpp ************//
|
|
const WidgetDef LOGIN_LOBBY_PLAY = { 378, 72 };
|
|
|
|
//************ Makescreen.cpp ************//
|
|
const std::int32_t MAKESCREEN_PARENT = 270;
|
|
const WidgetDef MAKESCREEN_MAKE_ONE = { MAKESCREEN_PARENT, 7, 0 }; // 0 is for the sprite
|
|
const WidgetDef MAKESCREEN_MAKE_FIVE = { MAKESCREEN_PARENT, 8, 0 }; // 0 is for the sprite
|
|
const WidgetDef MAKESCREEN_MAKE_TEN = { MAKESCREEN_PARENT, 9, 0 }; // 0 is for the sprite
|
|
const WidgetDef MAKESCREEN_MAKE_CUSTOM = { MAKESCREEN_PARENT, 10, 0 }; // 0 is for the sprite
|
|
const WidgetDef MAKESCREEN_MAKE_CUSTOM_TEXT = { MAKESCREEN_PARENT, 10, 9 };
|
|
const WidgetDef MAKESCREEN_MAKE_X = { MAKESCREEN_PARENT, 11 };
|
|
const WidgetDef MAKESCREEN_MAKE_ALL = { MAKESCREEN_PARENT, 12, 0 }; // 0 is for the sprite
|
|
const WidgetDef MAKESCREEN_MAKE_MIDDLE = { MAKESCREEN_PARENT, 14 };
|
|
|
|
//************ Minimap.cpp ************//
|
|
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
|
const WidgetDef MINIMAP_MIDDLE[3] = { { WIDGET_ROOT_FIXED, 21 }, { WIDGET_ROOT_RESIZABLE, 30 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 30 } };
|
|
const WidgetDef MINIMAP_COMPASS[3] = { { WIDGET_ROOT_FIXED, 23 }, { WIDGET_ROOT_RESIZABLE, 29 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 29 } };
|
|
const WidgetDef MINIMAP_CURE = { 160, 8 };
|
|
const WidgetDef MINIMAP_QUICK_PRAYER = { 160, 19 };
|
|
const WidgetDef MINIMAP_TOGGLE_RUN = { 160, 27 };
|
|
const WidgetDef MINIMAP_SPECIAL_ATTACK = { 160, 35 };
|
|
|
|
//************ Trade.cpp ************//
|
|
const WidgetDef TRADE_SCREEN = { 335, 3 };
|
|
const std::int32_t TRADE_ITEM_CONTAINER_MY_OFFER = 90;
|
|
const std::int32_t TRADE_ITEM_CONTAINER_THEIR_OFFER = 32858;
|
|
|
|
//************ Item.cpp ************//
|
|
const std::int32_t EQUIPMENT_ITEM_CONTAINER_WIDGET = 387; // Item container parent, (Index + 6)
|
|
|
|
//************ RandomHandler.cpp ************//
|
|
const std::vector<std::string> RANDOM_NPC_NAMES =
|
|
{ "Bee keeper",
|
|
"Capt' Arnav",
|
|
"Niles",
|
|
"Miles",
|
|
"Giles",
|
|
"Sergeant Damien",
|
|
"Drunken Dwarf",
|
|
"Freaky Forester",
|
|
"Frog",
|
|
"Prince",
|
|
"Princess",
|
|
"Genie",
|
|
"Evil Bob",
|
|
"Postie Pete",
|
|
"Molly",
|
|
"Leo",
|
|
"Dr. Jekyll",
|
|
"Dr Jekyll",
|
|
"Mr. Hyde",
|
|
"Mysterious Old Man",
|
|
"Mime",
|
|
"Pillory Guard",
|
|
"Flippa",
|
|
"Tilt",
|
|
"Prison Pete",
|
|
"Quiz Master",
|
|
"Rick Turpentine",
|
|
"Sandwich lady",
|
|
"Strange plant",
|
|
"Dunce",
|
|
};
|
|
|
|
namespace GameTabs
|
|
{
|
|
//************************************ Tabs ************************************//
|
|
// These are the "Sprite" widgets, these widgets' sprite IDs change when opened or closed (usually the lower number)
|
|
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
|
|
|
const WidgetDef TAB_CLAN[3] = { { WIDGET_ROOT_FIXED, 47 }, { WIDGET_ROOT_RESIZABLE, 43 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 38 } };
|
|
const WidgetDef TAB_ACCOUNT_MANAGEMENT[3] = { { WIDGET_ROOT_FIXED, 48 }, { WIDGET_ROOT_RESIZABLE, 44 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 39 } };
|
|
const WidgetDef TAB_IGNORES[3] = { { WIDGET_ROOT_FIXED, 49 }, { WIDGET_ROOT_RESIZABLE, 45 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 40 } };
|
|
const WidgetDef TAB_FRIENDS[3] = { { WIDGET_ROOT_FIXED, 49 }, { WIDGET_ROOT_RESIZABLE, 45 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 40 } };
|
|
const WidgetDef TAB_LOGOUT[3] = { { WIDGET_ROOT_FIXED, 50 }, { WIDGET_ROOT_RESIZABLE, 46 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 34 } };
|
|
const WidgetDef TAB_OPTIONS[3] = { { WIDGET_ROOT_FIXED, 51 }, { WIDGET_ROOT_RESIZABLE, 47 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 41 } };
|
|
const WidgetDef TAB_EMOTES[3] = { { WIDGET_ROOT_FIXED, 52 }, { WIDGET_ROOT_RESIZABLE, 48 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 42 } };
|
|
const WidgetDef TAB_MUSIC[3] = { { WIDGET_ROOT_FIXED, 53 }, { WIDGET_ROOT_RESIZABLE, 49 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 43 } };
|
|
|
|
const WidgetDef TAB_COMBAT[3] = { { WIDGET_ROOT_FIXED, 63 }, { WIDGET_ROOT_RESIZABLE, 59 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 52 } };
|
|
const WidgetDef TAB_STATS[3] = { { WIDGET_ROOT_FIXED, 64 }, { WIDGET_ROOT_RESIZABLE, 60 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 53 } };
|
|
const WidgetDef TAB_QUESTS[3] = { { WIDGET_ROOT_FIXED, 65 }, { WIDGET_ROOT_RESIZABLE, 61 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 54 } };
|
|
const WidgetDef TAB_INVENTORY[3] = { { WIDGET_ROOT_FIXED, 66 }, { WIDGET_ROOT_RESIZABLE, 62 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 55 } };
|
|
const WidgetDef TAB_EQUIPMENT[3] = { { WIDGET_ROOT_FIXED, 67 }, { WIDGET_ROOT_RESIZABLE, 63 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 56 } };
|
|
const WidgetDef TAB_PRAYER[3] = { { WIDGET_ROOT_FIXED, 68 }, { WIDGET_ROOT_RESIZABLE, 64 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 57 } };
|
|
const WidgetDef TAB_MAGIC[3] = { { WIDGET_ROOT_FIXED, 69 }, { WIDGET_ROOT_RESIZABLE, 65 }, { WIDGET_ROOT_RESIZABLE_SIDE_PANELS, 58 } };
|
|
|
|
|
|
//************ Combat.cpp ************//
|
|
const std::int32_t COMBAT_PARENT = 593;
|
|
const WidgetDef COMBAT_AUTORETALIATE = { COMBAT_PARENT, 34 };
|
|
const WidgetDef COMBAT_SPECIAL = { COMBAT_PARENT, 40 };
|
|
const std::int32_t COMBAT_STYLE_CHILDREN[4] = { 4, 8, 12, 16 }; // Uses COMBAT_PARENT as Parent BROKEN
|
|
|
|
//************ Equipment.cpp ************//
|
|
const std::int32_t EQUIPMENT_CONTAINER_ID = 94;
|
|
|
|
//************ Inventory.cpp ************//
|
|
const WidgetDef INVENTORY_ITEM_CONTAINER_WIDGET = { 149, 0 };
|
|
const WidgetDef INVENTORY_TRADE_CONTAINER_WIDGET = { 336, 0 }; // Used for GetSlotBoxes()
|
|
const WidgetDef INVENTORY_EXCHANGE_CONTAINER_WIDGET = { 467, 0 }; // Used for GetSlotBoxes()
|
|
const std::int32_t INVENTORY_CONTAINER_ID = 93;
|
|
|
|
//************ Logout.cpp ************//
|
|
const std::int32_t LOGOUT_BUTTONS_PARENT = 182;
|
|
const WidgetDef LOGOUT_LOGOUT_BUTTON = { LOGOUT_BUTTONS_PARENT, 12 };
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_BUTTON = { LOGOUT_BUTTONS_PARENT, 7 };
|
|
const std::int32_t LOGOUT_WORLD_SWITCHER_PARENT = 69;
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_TITLE = { LOGOUT_WORLD_SWITCHER_PARENT, 2 }; // "Current World:" or "Loading" when loading
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_LOGOUT = { LOGOUT_WORLD_SWITCHER_PARENT, 25 }; // Logout button inside the World Switch interface
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_CONTAINER = { LOGOUT_WORLD_SWITCHER_PARENT, 18 }; // 69, 15, 301 (world id) Widget has the proper switch/favorite options
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_BOX = { LOGOUT_WORLD_SWITCHER_PARENT, 7 }; // Bounds/Box containing the entire list
|
|
|
|
//************ Magic.cpp ************//
|
|
const std::int32_t MAGIC_SPELLS_PARENT = 218; // Used with Magic spell defs
|
|
|
|
typedef struct SpellDef
|
|
{
|
|
std::string Name;
|
|
std::int32_t WidgetID;
|
|
std::int32_t SpriteID;
|
|
std::int32_t Level;
|
|
} SpellDef;
|
|
|
|
const std::vector<SpellDef> SpellDefs = // To be used with Magic:: SPELL enum
|
|
{
|
|
// Normal,
|
|
{ "Lumbridge Home Teleport", 7, 356, 0 },
|
|
{ "Wind Strike", 8, 65, 1 },
|
|
{ "Confuse", 9, 66, 3 },
|
|
{ "Enchant Crossbow Bolt", 10, 358, 0 },
|
|
{ "Water Strike", 11, 67, 5 },
|
|
{ "Jewellery Enchantments", 12, 416, 7 },
|
|
{ "Lvl-1 Enchant", 13, 1845, 7 },
|
|
{ "Earth Strike", 14, 69, 9 },
|
|
{ "Weaken", 15, 70, 11 },
|
|
{ "Fire Strike", 16, 71, 13 },
|
|
{ "Bones to Bananas", 17, 72, 15 },
|
|
{ "Wind Bolt", 18, 73, 17 },
|
|
{ "Curse", 19, 74, 19 },
|
|
{ "Bind", 20, 369, 20 },
|
|
{ "Low Level Alchemy", 21, 75, 21 },
|
|
{ "Water Bolt", 22, 76, 23 },
|
|
{ "Varrock Teleport", 23, 77, 25 },
|
|
{ "Lvl-2 Enchant", 24, 1846, 27 },
|
|
{ "Earth Bolt", 25, 79, 29 },
|
|
{ "Lumbridge Teleport", 26, 80, 31 },
|
|
{ "Telekinetic Grab", 27, 81, 33 },
|
|
{ "Fire Bolt", 28, 82, 35 },
|
|
{ "Falador Teleport", 29, 83, 37 },
|
|
{ "Crumble Undead", 30, 84, 39 },
|
|
{ "Teleport to House", 31, 405, 40 },
|
|
{ "Wind Blast", 32, 85, 41 },
|
|
{ "Superheat Item", 33, 86, 43 },
|
|
{ "Camelot Teleport", 34, 87, 45 },
|
|
{ "Water Blast", 35, 88, 47 },
|
|
{ "Kourend Castle Teleport", 36, 410, 48 },
|
|
{ "Lvl-3 Enchant", 37, 1847, 49 },
|
|
{ "Iban Blast", 38, 103, 50 },
|
|
{ "Snare", 39, 370, 50 },
|
|
{ "Magic Dart", 40, 374, 50 },
|
|
{ "Ardougne Teleport", 41, 104, 51 },
|
|
{ "Earth Blast", 42, 90, 53 },
|
|
{ "Civitas illa Fortis Teleport", 43, 417, 54 },
|
|
{ "High Level Alchemy", 44, 91, 55 },
|
|
{ "Charge Water Orb", 45, 92, 56 },
|
|
{ "Lvl-4 Enchant", 46, 1848, 57 },
|
|
{ "Watchtower Teleport", 47, 105, 58 },
|
|
{ "Fire Blast", 48, 94, 59 },
|
|
{ "Charge Earth Orb", 49, 95, 60 },
|
|
{ "Bones to Peaches", 50, 404, 60 },
|
|
{ "Saradomin strike", 51, 111, 60 },
|
|
{ "Claws of Guthix", 52, 110, 60 },
|
|
{ "Flames of Zamorak", 53, 109, 60 },
|
|
{ "Trollheim Teleport", 54, 373, 61 },
|
|
{ "Wind Wave", 55, 96, 62 },
|
|
{ "Charge Fire Orb", 56, 97, 63 },
|
|
{ "Teleport to Ape Atoll", 57, 407, 64 },
|
|
{ "Water Wave", 58, 98, 65 },
|
|
{ "Charge Air Orb", 59, 99, 66 },
|
|
{ "Vulnerability", 60, 106, 66 },
|
|
{ "Lvl-5 Enchant", 61, 1849, 68 },
|
|
{ "Earth Wave", 62, 101, 70 },
|
|
{ "Enfeeble", 63, 107, 73 },
|
|
{ "Teleother Lumbridge", 64, 399, 74 },
|
|
{ "Fire Wave", 65, 102, 75 },
|
|
{ "Entangle", 66, 371, 79 },
|
|
{ "Stun", 67, 108, 80 },
|
|
{ "Charge", 68, 372, 80 },
|
|
{ "Wind Surge", 69, 412, 81 },
|
|
{ "Teleother Falador", 70, 400, 82 },
|
|
{ "Water Surge", 71, 413, 85 },
|
|
{ "Tele Block", 72, 402, 85 },
|
|
{ "Teleport to Bounty Target", 73, 409, 85 },
|
|
{ "Lvl-6 Enchant", 74, 1850, 87 },
|
|
{ "Teleother Camelot", 75, 401, 90 },
|
|
{ "Earth Surge", 76, 414, 90 },
|
|
{ "Lvl-7 Enchant", 77, 1851, 93 },
|
|
{ "Fire Surge", 78, 415, 95 },
|
|
|
|
//Lunar 70-114
|
|
{ "Lunar Home Teleport", 104, 356, 0 },
|
|
{ "Bake Pie", 105, 543, 65 },
|
|
{ "Geomancy", 145, 613, 65 },
|
|
{ "Cure Plant", 106, 617, 66 },
|
|
{ "Monster Examine", 107, 627, 66 },
|
|
{ "NPC Contact", 108, 618, 67 },
|
|
{ "Cure Other", 109, 609, 68 },
|
|
{ "Humidify", 110, 578, 69 },
|
|
{ "Moonclan Teleport", 111, 594, 69 },
|
|
{ "Tele Group Moonclan", 112, 619, 70 },
|
|
{ "Cure Me", 113, 612, 71 },
|
|
{ "Ourania Teleport", 147, 636, 71 },
|
|
{ "Hunter Kit", 114, 629, 71 },
|
|
{ "Waterbirth Teleport", 115, 595, 72 },
|
|
{ "Tele Group Waterbirth", 116, 620, 73 },
|
|
|
|
{ "Cure Group", 117, 615, 74 },
|
|
{ "Stat Spy", 118, 626, 75 },
|
|
{ "Barbarian Teleport", 119, 597, 75 },
|
|
{ "Tele Group Barbarian", 120, 621, 76 },
|
|
{ "Spin Flax", 146, 635, 76 },
|
|
{ "Superglass Make", 121, 598, 77 },
|
|
{ "Tan Leather", 122, 633, 78 },
|
|
{ "Khazard Teleport", 123, 599, 78 },
|
|
{ "Tele Group Khazard", 124, 622, 79 },
|
|
{ "Dream", 125, 630, 79 },
|
|
{ "String Jewellery", 126, 600, 80 },
|
|
{ "Stat Restore Pot Share", 127, 604, 81 },
|
|
{ "Magic Imbue", 128, 602, 82 },
|
|
{ "Fertile Soil", 129, 603, 83 },
|
|
{ "Boost Potion Share", 130, 601, 84 },
|
|
{ "Fishing Guild Teleport", 131, 605, 85 },
|
|
{ "Teleport to Target", 73, 409, 85 },
|
|
{ "Tele Group Fishing Guild", 132, 623, 86 },
|
|
{ "Plank Make", 133, 631, 86 },
|
|
{ "Catherby Teleport", 134, 606, 87 },
|
|
{ "Tele Group Catherby", 135, 624, 88 },
|
|
{ "Recharge Dragonstone", 136, 634, 89 },
|
|
{ "Ice Plateau Teleport", 137, 607, 89 },
|
|
{ "Tele Group Ice Plateau", 138, 625, 90 },
|
|
{ "Energy Transfer", 139, 608, 91 },
|
|
{ "Heal Other", 140, 610, 92 },
|
|
{ "Vengeance Other", 141, 611, 93 },
|
|
{ "Vengeance", 142, 614, 94 },
|
|
{ "Heal Group", 143, 616, 95 },
|
|
{ "Spellbook Swap", 144, 632, 96 },
|
|
|
|
//Ancients 115-140
|
|
{ "Ice Rush", 76, 375, 58 },
|
|
{ "Ice Blitz", 77, 377, 84 },
|
|
{ "Ice Burst", 78, 376, 70 },
|
|
{ "Ice Barrage", 79, 378, 94 },
|
|
|
|
{ "Blood Rush", 80, 383, 56 },
|
|
{ "Blood Blitz", 81, 385, 80 },
|
|
{ "Blood Burst", 82, 384, 68 },
|
|
{ "Blood Barrage", 83, 386, 92 },
|
|
|
|
{ "Smoke Rush", 84, 379, 50 },
|
|
{ "Smoke Blitz", 85, 381, 74 },
|
|
{ "Smoke Burst", 86, 380, 62 },
|
|
{ "Smoke Barrage", 87, 382, 86 },
|
|
|
|
{ "Shadow Rush", 88, 387, 52 },
|
|
{ "Shadow Blitz", 89, 389, 76 },
|
|
{ "Shadow Burst", 90, 388, 64 },
|
|
{ "Shadow Barrage", 91, 390, 88 },
|
|
|
|
{ "Paddewwa Teleport", 92, 391, 54 },
|
|
{ "Senntisten Teleport", 93, 392, 60 },
|
|
{ "Kharyrll Teleport", 94, 393, 66 },
|
|
{ "Lassar Teleport", 95, 394, 72 },
|
|
{ "Dareeyak Teleport", 96, 395, 78 },
|
|
{ "Carrallangar Teleport", 97, 396, 84 },
|
|
{ "Annakarl Teleport", 98, 397, 90 },
|
|
{ "Ghorrock Teleport", 99, 398, 96 },
|
|
{ "Teleport to Target", 70, 409, 85 },
|
|
{ "Edgeville Home Teleport", 100, 356, 0 },
|
|
|
|
// Arceuus 141-177
|
|
{ "Arceuus Home Teleport", 145, 1251, 0 },
|
|
{ "Basic Reanimation", 146, 1247, 16 },
|
|
{ "Arceuus Library Teleport", 147, 1252, 6 },
|
|
{ "Adept Reanimation", 148, 1248, 41 },
|
|
{ "Master Reanimation", 149, 1249, 72 },
|
|
{ "Expert Reanimation", 150, 1250, 90 },
|
|
{ "Draynor Manor Teleport", 151, 1253, 17 },
|
|
{ "Battlefront Teleport", 163, 1255, 23 },
|
|
{ "Mind Altar Teleport", 153, 1256, 28 },
|
|
{ "Respawn Teleport", 154, 1257, 34 },
|
|
{ "Salve Graveyard Teleport", 155, 1258, 40 },
|
|
{ "Fenkenstrain's Castle Teleport", 156, 1259, 48 },
|
|
{ "West Ardougne Teleport", 157, 1260, 61 },
|
|
{ "Harmony Island Teleport", 158, 1261, 65 },
|
|
{ "Cemetery Teleport", 159, 1264, 71 },
|
|
{ "Resurrect Crops", 160, 1266, 78 },
|
|
{ "Barrows Teleport", 161, 1262, 83 },
|
|
{ "Ape Atoll Teleport", 162, 1263, 90 },
|
|
{ "Inferior Demonbane", 164, 1302, 44 },
|
|
{ "Superior Demonbane", 165, 1303, 62 },
|
|
{ "Dark Demonbane", 166, 1304, 82 },
|
|
{ "Mark of Darkness", 167, 1305, 59 },
|
|
{ "Ghostly Grasp", 168, 1267, 35 },
|
|
{ "Skeletal Grasp", 169, 1268, 56 },
|
|
{ "Undead Grasp", 170, 1269, 79 },
|
|
{ "Ward of Arceuus", 171, 1306, 73 },
|
|
{ "Lesser Corruption", 172, 1307, 64 },
|
|
{ "Greater Corruption", 173, 1308, 85 },
|
|
{ "Demonic Offering", 174, 1330, 84 },
|
|
{ "Sinister Offering", 175, 1331, 92 },
|
|
{ "Degrime", 176, 1318, 70 },
|
|
{ "Shadow Veil", 177, 1315, 47 },
|
|
{ "Vile Vigour", 178, 1317, 66 },
|
|
{ "Dark Lure", 179, 1316, 50 },
|
|
{ "Death Charge", 180, 1310, 80 },
|
|
{ "Resurrect Lesser Ghost", 181, 1270, 38 },
|
|
{ "Resurrect Lesser Skeleton", 182, 1271, 38 },
|
|
{ "Resurrect Lesser Zombie", 183, 1300, 38 },
|
|
{ "Resurrect Superior Ghost", 184, 2979, 57 },
|
|
{ "Resurrect Superior Skeleton", 185, 2981, 57 },
|
|
{ "Resurrect Superior Zombie", 186, 2983, 57 },
|
|
{ "Resurrect Greater Ghost", 187, 2980, 76 },
|
|
{ "Resurrect Greater Skeleton", 188, 2982, 76 },
|
|
{ "Resurrect Greater Zombie", 189, 2984, 76 }
|
|
};
|
|
|
|
//************ Options.cpp ************//
|
|
const std::int32_t OPTIONS_PARENT = 116;
|
|
const WidgetDef OPTIONS_ACCEPT_AID = { OPTIONS_PARENT, 70 };
|
|
const WidgetDef OPTIONS_RUN_MODE = { OPTIONS_PARENT, 71 };
|
|
|
|
//************ Prayer.cpp ************//
|
|
const std::int32_t PRAYER_PRAYERS_PARENT = 541; // To be used with PrayerDefs
|
|
|
|
typedef struct PrayerDef
|
|
{
|
|
std::string Name;
|
|
std::int32_t BitPos;
|
|
std::int32_t WidgetID;
|
|
std::int32_t SpriteID;
|
|
std::int32_t Level;
|
|
} PrayerDef;
|
|
|
|
static std::vector<PrayerDef> PrayerDefs = // To be used with Prayer:: PRAYERS enum
|
|
{
|
|
{ "Thick Skin", 0, 9, 115, 1 },
|
|
{ "Burst of Strength", 1, 10, 116, 4 },
|
|
{ "Clarity of Thought", 2, 11, 117, 7 },
|
|
{ "Sharp Eye", 18, 27, 133, 8 },
|
|
{ "Mystic Will", 19, 30, 134, 9 },
|
|
{ "Rock Skin", 3, 12, 118, 10 },
|
|
{ "Superhuman Strength", 4, 13, 119, 13 },
|
|
{ "Improved Reflexes", 5, 14, 120, 16 },
|
|
{ "Rapid Restore", 6, 15, 121, 19 },
|
|
{ "Rapid Heal", 7, 16, 122, 22 },
|
|
{ "Protect Item", 8, 17, 123, 25 },
|
|
{ "Hawk Eye", 20, 28, 502, 26 },
|
|
{ "Mystic Lore", 21, 31, 503, 27 },
|
|
{ "Steel Skin", 9, 18, 124, 28 },
|
|
{ "Ultimate Strength", 10, 19, 125, 31 },
|
|
{ "Incredible Reflexes", 11, 20, 126, 34 },
|
|
{ "Protect from Magic", 12, 21, 127, 37 },
|
|
{ "Protect from Missiles", 13, 22, 128, 40 },
|
|
{ "Protect from Melee", 14, 23, 129, 43 },
|
|
{ "Eagle Eye", 22, 29, 504, 44 },
|
|
{ "Mystic Might", 23, 32, 505, 45 },
|
|
{ "Retribution", 15, 24, 131, 46 },
|
|
{ "Redemption", 16, 25, 130, 49 },
|
|
{ "Smite", 17, 26, 132, 52 },
|
|
{ "Preserve", 28, 37, 947, 55 },
|
|
{ "Chivalry", 25, 34, 945, 60 },
|
|
{ "Piety", 26, 35, 946, 70 },
|
|
{ "Rigour", 24, 33, 1420, 74 },
|
|
{ "Augury", 27, 36, 1421, 77 }
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif // GLOBALS_HPP_INCLUDED
|