2019-02-20 19:52:58 +00:00
|
|
|
#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;
|
|
|
|
|
2019-03-03 13:16:52 +00:00
|
|
|
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 };
|
|
|
|
|
2019-05-28 16:34:51 +00:00
|
|
|
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 };
|
|
|
|
|
2019-03-03 13:16:52 +00:00
|
|
|
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;
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Bank.cpp ************//
|
2020-05-14 15:28:42 +00:00
|
|
|
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, 10 }; // Has all Tab children
|
|
|
|
const WidgetDef BANK_ITEM_CONTAINER_WIDGET = { BANK_PARENT, 12 }; // Used for scrolling, contains all items, middle of the bank interface
|
|
|
|
|
|
|
|
const WidgetDef BANK_REARRANGE_MODE_SWAP = { BANK_PARENT, 16 };
|
|
|
|
const WidgetDef BANK_REARRANGE_MODE_INSERT = { BANK_PARENT, 18 };
|
|
|
|
const WidgetDef BANK_WITHDRAW_MODE_ITEM = { BANK_PARENT, 21 };
|
|
|
|
const WidgetDef BANK_WITHDRAW_MODE_NOTED = { BANK_PARENT, 23 };
|
|
|
|
const std::int32_t BANK_WITHDRAW_QUANTITY_CHILDREN[5] = { 27, 29, 31, 33, 35 }; // 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
|
2019-03-03 13:16:52 +00:00
|
|
|
|
|
|
|
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,
|
2020-05-14 15:28:42 +00:00
|
|
|
|
2019-02-20 19:52:58 +00:00
|
|
|
// grandchild 0 = proper widget bounds, grandchild 1 = text
|
|
|
|
|
|
|
|
//************ Chat.cpp ************//
|
2021-05-22 00:51:26 +00:00
|
|
|
const WidgetDef CHAT_DIALOGUE_NEST_PARENT = { 162, 34 };
|
|
|
|
const WidgetDef CHAT_DIALOGUE_IDLE = { 162, 54 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
2019-11-20 02:17:31 +00:00
|
|
|
//************ 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};
|
|
|
|
|
2019-02-20 19:52:58 +00:00
|
|
|
//************ DepositBox.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
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 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Exchange.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
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, 24, 19};
|
|
|
|
const WidgetDef EXCHANGE_ITEM = { EXCHANGE_PARENT, 24, 21 };
|
|
|
|
const WidgetDef EXCHANGE_COLLECT_CONTAINER_WIDGET = { EXCHANGE_PARENT, 6, 1 };
|
|
|
|
const WidgetDef EXCHANGE_COLLECT_SLOT_ONE = { EXCHANGE_PARENT, 23, 2 };
|
|
|
|
const WidgetDef EXCHANGE_COLLECT_SLOT_TWO = { EXCHANGE_PARENT, 23, 3 };
|
|
|
|
const WidgetDef EXCHANGE_AMOUNT = { EXCHANGE_PARENT, 24, 7 };
|
|
|
|
const WidgetDef EXCHANGE_PRICE = { EXCHANGE_PARENT, 24, 12 };
|
|
|
|
const WidgetDef EXCHANGE_GUIDE = { EXCHANGE_PARENT, 24, 11};
|
|
|
|
const WidgetDef EXCHANGE_CONFIRM = { EXCHANGE_PARENT, 27, 0 };
|
|
|
|
const WidgetDef EXCHANGE_ABORT = { EXCHANGE_PARENT, 22, 0 };
|
|
|
|
|
|
|
|
const WidgetDef EXCHANGE_CHAT = { 162, 44 };
|
|
|
|
const WidgetDef EXCHANGE_CHAT_ENTER = { 162, 45 };
|
|
|
|
const WidgetDef EXCHANGE_CHAT_CHOOSE = { 162, 53 };
|
|
|
|
|
|
|
|
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;
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Login.cpp ************//
|
2020-01-29 23:53:15 +00:00
|
|
|
const WidgetDef LOGIN_LOBBY_PLAY = { 378, 78 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Makescreen.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
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 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Minimap.cpp ************//
|
|
|
|
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
2020-06-25 18:13:21 +00:00
|
|
|
const WidgetDef MINIMAP_MIDDLE[3] = { { 548, 8 }, { 161, 28 }, { 164, 28 } };
|
2020-02-20 12:53:23 +00:00
|
|
|
const WidgetDef MINIMAP_COMPASS[3] = { { 548, 7 }, { 161, 26 }, { 164, 26 } };
|
|
|
|
const WidgetDef MINIMAP_CURE = { 160, 6 };
|
2019-03-03 13:16:52 +00:00
|
|
|
const WidgetDef MINIMAP_QUICK_PRAYER = { 160, 14 };
|
|
|
|
const WidgetDef MINIMAP_TOGGLE_RUN = { 160, 22 };
|
2019-07-18 17:54:18 +00:00
|
|
|
const WidgetDef MINIMAP_SPECIAL_ATTACK = { 160, 28 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Trade.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
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;
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Item.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t EQUIPMENT_ITEM_CONTAINER_WIDGET = 387; // Item container parent, (Index + 6)
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ RandomHandler.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::vector<std::string> RANDOM_NPC_NAMES =
|
2019-02-20 19:52:58 +00:00
|
|
|
{ "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
|
|
|
|
// 0 - Fixed; 1 - Resizable; 2 - Resizable + Side Panels
|
2019-11-20 02:17:31 +00:00
|
|
|
|
2021-04-28 20:14:35 +00:00
|
|
|
const WidgetDef TAB_COMBAT[3] = { { 548, 51 }, { 161, 55 }, { 164, 53 } };
|
|
|
|
const WidgetDef TAB_STATS[3] = { { 548, 52 }, { 161, 56 }, { 164, 54 } };
|
|
|
|
const WidgetDef TAB_QUESTS[3] = { { 548, 53 }, { 161, 57 }, { 164, 55 } };
|
|
|
|
const WidgetDef TAB_INVENTORY[3] = { { 548, 54 }, { 161, 58 }, { 164, 56 } };
|
|
|
|
const WidgetDef TAB_EQUIPMENT[3] = { { 548, 55 }, { 161, 59 }, { 164, 57 } };
|
|
|
|
const WidgetDef TAB_PRAYER[3] = { { 548, 56 }, { 161, 60 }, { 164, 58 } };
|
|
|
|
const WidgetDef TAB_MAGIC[3] = { { 548, 57 }, { 161, 61 }, { 164, 59 } };
|
|
|
|
|
|
|
|
const WidgetDef TAB_CLAN[3] = { { 548, 34 }, { 161, 39 }, { 164, 38 } };
|
|
|
|
const WidgetDef TAB_ACCOUNT_MANAGEMENT[3] = { { 548, 35 }, { 161, 40 }, { 164, 39 } };
|
|
|
|
const WidgetDef TAB_FRIENDS[3] = { { 548, 36 }, { 161, 41 }, { 164, 40 } };
|
|
|
|
const WidgetDef TAB_LOGOUT[3] = { { 548, 37 }, { 161, 42 }, { 164, 32 } };
|
|
|
|
const WidgetDef TAB_OPTIONS[3] = { { 548, 38 }, { 161, 43 }, { 164, 41 } };
|
|
|
|
const WidgetDef TAB_EMOTES[3] = { { 548, 39 }, { 161, 44 }, { 164, 42 } };
|
|
|
|
const WidgetDef TAB_MUSIC[3] = { { 548, 40 }, { 161, 45 }, { 164, 43 } };
|
2019-11-20 02:17:31 +00:00
|
|
|
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Combat.cpp ************//
|
2020-02-20 12:53:23 +00:00
|
|
|
const std::int32_t COMBAT_PARENT = 593;
|
2019-05-31 20:06:57 +00:00
|
|
|
const WidgetDef COMBAT_AUTORETALIATE = { COMBAT_PARENT, 30 };
|
|
|
|
const WidgetDef COMBAT_SPECIAL = { COMBAT_PARENT, 36 };
|
|
|
|
const std::int32_t COMBAT_STYLE_CHILDREN[4] = { 4, 8, 12, 16 }; // Uses COMBAT_PARENT as Parent
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Equipment.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t EQUIPMENT_CONTAINER_ID = 94;
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Inventory.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
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()
|
2019-05-28 16:34:51 +00:00
|
|
|
const std::int32_t INVENTORY_CONTAINER_ID = 93;
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Logout.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t LOGOUT_BUTTONS_PARENT = 182;
|
|
|
|
const WidgetDef LOGOUT_LOGOUT_BUTTON = { LOGOUT_BUTTONS_PARENT, 8 };
|
|
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_BUTTON = { LOGOUT_BUTTONS_PARENT, 3 };
|
|
|
|
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, 23 }; // Logout button inside the World Switch interface
|
|
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_CONTAINER = { LOGOUT_WORLD_SWITCHER_PARENT, 16 }; // 69, 15, 301 (world id) Widget has the proper switch/favorite options
|
|
|
|
const WidgetDef LOGOUT_WORLD_SWITCHER_WORLDS_BOX = { LOGOUT_WORLD_SWITCHER_PARENT, 5 }; // Bounds/Box containing the entire list
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Magic.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t MAGIC_SPELLS_PARENT = 218; // Used with Magic spell defs
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
typedef struct SpellDef
|
|
|
|
{
|
|
|
|
std::string Name;
|
|
|
|
std::int32_t WidgetID;
|
|
|
|
std::int32_t SpriteID;
|
|
|
|
std::int32_t Level;
|
|
|
|
} SpellDef;
|
2019-03-03 13:16:52 +00:00
|
|
|
|
|
|
|
const std::vector<SpellDef> SpellDefs = // To be used with Magic:: SPELL enum
|
2019-02-20 19:52:58 +00:00
|
|
|
{
|
|
|
|
// Normal, 0-69
|
2019-11-20 02:17:31 +00:00
|
|
|
{ "Lumbridge Home Teleport", 5, 356, 0 },
|
|
|
|
{ "Wind Strike", 6, 65, 1 },
|
|
|
|
{ "Confuse", 7, 66, 3 },
|
|
|
|
{ "Enchant Crossbow Bolt", 8, 408, 0 },
|
|
|
|
{ "Water Strike", 9, 67, 5 },
|
|
|
|
{ "Lvl-1 Enchant", 10, 68, 7 },
|
|
|
|
{ "Earth Strike", 11, 69, 9 },
|
|
|
|
{ "Weaken", 12, 70, 11 },
|
|
|
|
{ "Fire Strike", 13, 71, 13 },
|
|
|
|
{ "Bones to Bananas", 14, 72, 15 },
|
|
|
|
{ "Wind Bolt", 15, 73, 17 },
|
|
|
|
{ "Curse", 16, 74, 19 },
|
|
|
|
{ "Bind", 17, 369, 20 },
|
|
|
|
{ "Low Level Alchemy", 18, 75, 21 },
|
|
|
|
{ "Water Bolt", 19, 76, 23 },
|
|
|
|
{ "Varrock Teleport", 20, 77, 25 },
|
|
|
|
{ "Lvl-2 Enchant", 21, 78, 27 },
|
|
|
|
{ "Earth Bolt", 22, 79, 29 },
|
|
|
|
{ "Lumbridge Teleport", 23, 80, 31 },
|
|
|
|
{ "Telekinetic Grab", 24, 81, 33 },
|
|
|
|
{ "Fire Bolt", 25, 82, 35 },
|
|
|
|
{ "Falador Teleport", 26, 83, 37 },
|
|
|
|
{ "Crumble Undead", 27, 84, 39 },
|
|
|
|
{ "Teleport to House", 28, 405, 40 },
|
|
|
|
{ "Wind Blast", 29, 85, 41 },
|
|
|
|
{ "Superheat Item", 30, 86, 43 },
|
|
|
|
{ "Camelot Teleport", 31, 87, 45 },
|
|
|
|
{ "Water Blast", 32, 88, 47 },
|
|
|
|
{ "Lvl-3 Enchant", 33, 89, 49 },
|
|
|
|
{ "Iban Blast", 34, 103, 50 },
|
|
|
|
{ "Snare", 35, 370, 50 },
|
|
|
|
{ "Magic Dart", 36, 374, 50 },
|
|
|
|
{ "Ardougne Teleport", 37, 104, 51 },
|
|
|
|
{ "Earth Blast", 38, 90, 53 },
|
|
|
|
{ "High Level Alchemy", 39, 91, 55 },
|
|
|
|
{ "Charge Water Orb", 40, 92, 56 },
|
|
|
|
{ "Lvl-4 Enchant", 41, 93, 57 },
|
|
|
|
{ "Watchtower Teleport", 42, 105, 58 },
|
|
|
|
{ "Fire Blast", 43, 94, 59 },
|
|
|
|
{ "Charge Earth Orb", 44, 95, 60 },
|
|
|
|
{ "Bones to Peaches", 45, 404, 60 },
|
|
|
|
{ "Saradomin strike", 46, 111, 60 },
|
|
|
|
{ "Claws of Guthix", 47, 110, 60 },
|
|
|
|
{ "Flames of Zamorak", 48, 109, 60 },
|
|
|
|
{ "Trollheim Teleport", 49, 373, 61 },
|
|
|
|
{ "Wind Wave", 50, 96, 62 },
|
|
|
|
{ "Charge Fire Orb", 51, 97, 63 },
|
|
|
|
{ "Teleport to Ape Atoll", 52, 407, 64 },
|
|
|
|
{ "Water Wave", 53, 98, 65 },
|
|
|
|
{ "Charge Air Orb", 54, 99, 66 },
|
|
|
|
{ "Vulnerability", 55, 106, 66 },
|
|
|
|
{ "Lvl-5 Enchant", 56, 100, 68 },
|
|
|
|
{ "Teleport to Kourend", 57, 410, 69 },
|
|
|
|
{ "Earth Wave", 58, 101, 70 },
|
|
|
|
{ "Enfeeble", 59, 107, 73 },
|
|
|
|
{ "Teleother Lumbridge", 60, 399, 74 },
|
|
|
|
{ "Fire Wave", 61, 102, 75 },
|
|
|
|
{ "Entangle", 62, 371, 79 },
|
|
|
|
{ "Stun", 63, 108, 80 },
|
|
|
|
{ "Charge", 64, 372, 80 },
|
|
|
|
{ "Wind Surge", 65, 412, 81 },
|
|
|
|
{ "Teleother Falador", 66, 400, 82 },
|
|
|
|
{ "Water Surge", 67, 413, 85 },
|
|
|
|
{ "Tele Block", 68, 402, 85 },
|
|
|
|
{ "Teleport to Bounty Target", 69, 409, 85 },
|
|
|
|
{ "Lvl-6 Enchant", 70, 403, 87 },
|
|
|
|
{ "Teleother Camelot", 71, 401, 90 },
|
|
|
|
{ "Earth Surge", 72, 414, 90 },
|
|
|
|
{ "Lvl-7 Enchant", 73, 411, 93 },
|
|
|
|
{ "Fire Surge", 74, 415, 95 },
|
2019-02-20 19:52:58 +00:00
|
|
|
//Lunar 70-114
|
2019-11-20 02:17:31 +00:00
|
|
|
{ "Lunar Home Teleport", 100, 356, 0 },
|
|
|
|
{ "Bake Pie", 101, 593, 65 },
|
|
|
|
{ "Geomancy", 141, 613, 65 },
|
|
|
|
{ "Cure Plant", 102, 617, 66 },
|
|
|
|
{ "Monster Examine", 103, 627, 66 },
|
|
|
|
{ "NPC Contact", 104, 618, 67 },
|
|
|
|
{ "Cure Other", 105, 609, 68 },
|
|
|
|
{ "Humidify", 106, 628, 69 },
|
|
|
|
{ "Moonclan Teleport", 107, 594, 69 },
|
|
|
|
{ "Tele Group Moonclan", 108, 619, 70 },
|
|
|
|
{ "Cure Me", 109, 612, 71 },
|
|
|
|
{ "Ourania Teleport", 143, 636, 71 },
|
|
|
|
{ "Hunter Kit", 110, 629, 71 },
|
|
|
|
{ "Waterbirth Teleport", 111, 595, 72 },
|
|
|
|
{ "Tele Group Waterbirth", 112, 620, 73 },
|
|
|
|
{ "Cure Group", 113, 615, 74 },
|
|
|
|
{ "Stat Spy", 114, 626, 75 },
|
|
|
|
{ "Barbarian Teleport", 115, 597, 75 },
|
|
|
|
{ "Tele Group Barbarian", 116, 621, 76 },
|
|
|
|
{ "Spin Flax", 142, 635, 76 },
|
|
|
|
{ "Superglass Make", 117, 598, 77 },
|
|
|
|
{ "Tan Leather", 118, 633, 78 },
|
|
|
|
{ "Khazard Teleport", 119, 599, 78 },
|
|
|
|
{ "Tele Group Khazard", 120, 622, 79 },
|
|
|
|
{ "Dream", 121, 630, 79 },
|
|
|
|
{ "String Jewellery", 122, 600, 80 },
|
|
|
|
{ "Stat Restore Pot Share", 123, 604, 81 },
|
|
|
|
{ "Magic Imbue", 124, 602, 82 },
|
|
|
|
{ "Fertile Soil", 125, 603, 83 },
|
|
|
|
{ "Boost Potion Share", 126, 601, 84 },
|
|
|
|
{ "Fishing Guild Teleport", 127, 605, 85 },
|
|
|
|
{ "Teleport to Bounty Target", 69, 409, 85 },
|
|
|
|
{ "Tele Group Fishing Guild", 128, 623, 86 },
|
|
|
|
{ "Plank Make", 129, 631, 86 },
|
|
|
|
{ "Catherby Teleport", 130, 606, 87 },
|
|
|
|
{ "Tele Group Catherby", 131, 624, 88 },
|
|
|
|
{ "Recharge Dragonstone", 132, 634, 89 },
|
|
|
|
{ "Ice Plateau Teleport", 133, 607, 89 },
|
|
|
|
{ "Tele Group Ice Plateau", 134, 625, 90 },
|
|
|
|
{ "Energy Transfer", 135, 608, 91 },
|
|
|
|
{ "Heal Other", 136, 610, 92 },
|
|
|
|
{ "Vengeance Other", 137, 611, 93 },
|
|
|
|
{ "Vengeance", 138, 614, 94 },
|
|
|
|
{ "Heal Group", 139, 616, 95 },
|
|
|
|
{ "Spellbook Swap", 40, 632, 96 },
|
2019-02-20 19:52:58 +00:00
|
|
|
//Ancients 115-140
|
2019-11-20 02:17:31 +00:00
|
|
|
{ "Ice Rush", 75, 375, 58 }, //75
|
|
|
|
{ "Ice Blitz", 76, 377, 84 },
|
|
|
|
{ "Ice Burst", 77, 376, 70 },
|
|
|
|
{ "Ice Barrage", 78, 378, 94 },
|
|
|
|
|
|
|
|
{ "Blood Rush", 79, 383, 56 },
|
|
|
|
{ "Blood Blitz", 80, 385, 80 },
|
|
|
|
{ "Blood Burst", 81, 384, 68 },
|
|
|
|
{ "Blood Barrage", 82, 386, 92 },
|
|
|
|
|
|
|
|
{ "Smoke Rush", 83, 379, 50 },
|
|
|
|
{ "Smoke Blitz", 84, 381, 74 },
|
|
|
|
{ "Smoke Burst", 85, 380, 62 },
|
|
|
|
{ "Smoke Barrage", 86, 382, 86 },
|
|
|
|
|
|
|
|
{ "Shadow Rush", 87, 387, 52 },
|
|
|
|
{ "Shadow Blitz", 88, 389, 76 },
|
|
|
|
{ "Shadow Burst", 89, 388, 64 },
|
|
|
|
{ "Shadow Barrage", 90, 390, 88 },
|
|
|
|
|
|
|
|
{ "Paddewwa Teleport", 91, 391, 54 },
|
|
|
|
{ "Senntisten Teleport", 92, 392, 60 },
|
|
|
|
{ "Kharyrll Teleport", 93, 393, 66 },
|
|
|
|
{ "Lassar Teleport", 94, 394, 72 },
|
|
|
|
{ "Dareeyak Teleport", 95, 395, 78 },
|
|
|
|
{ "Carrallangar Teleport", 96, 396, 84 },
|
|
|
|
{ "Annakarl Teleport", 97, 397, 90 },
|
|
|
|
{ "Ghorrock Teleport", 98, 398, 96 },
|
|
|
|
{ "Teleport to Bounty Target", 69, 409, 85 },
|
|
|
|
{ "Edgeville Home Teleport", 99, 356, 0 },
|
2019-03-26 16:56:25 +00:00
|
|
|
|
|
|
|
// Arceuus 141-177
|
2019-11-20 02:17:31 +00:00
|
|
|
{ "Arceuus Home Teleport", 144, 356, 0 },
|
|
|
|
{ "Reanimate Goblin", 145, 1247, 3 },
|
|
|
|
{ "Lumbridge Graveyard Teleport", 146, 1294, 6 },
|
|
|
|
{ "Reanimate Monkey", 147, 1264, 7 },
|
|
|
|
{ "Reanimate Imp", 148, 1258, 12 },
|
|
|
|
{ "Reanimate Minotaur", 149, 1259, 16 },
|
|
|
|
{ "Draynor Manor Teleport", 150, 1295, 17 },
|
|
|
|
{ "Reanimate Scorpion", 151, 1257, 19 },
|
|
|
|
{ "Reanimate Bear", 152, 1256, 21 },
|
|
|
|
{ "Reanimate Unicorn", 153, 1260, 22 },
|
|
|
|
{ "Reanimate Dog", 154, 1268, 26 },
|
|
|
|
{ "Mind Altar Teleport", 155, 1296, 28 },
|
|
|
|
{ "Reanimate Chaos Druid", 156, 1251, 30 },
|
|
|
|
{ "Respawn Teleport", 157, 1319, 34 },
|
|
|
|
{ "Reanimate Giant", 158, 1255, 37 },
|
|
|
|
{ "Salve Graveyard Teleport", 159, 1320, 40 },
|
|
|
|
{ "Reanimate Ogre", 160, 1254, 40 },
|
|
|
|
{ "Reanimate Elf", 161, 1250, 43 },
|
|
|
|
{ "Reanimate Troll", 162, 1252, 46 },
|
|
|
|
{ "Fenkenstrain's Castle Teleport", 163, 1321, 48 },
|
|
|
|
{ "Reanimate Horror", 164, 1266, 52 },
|
|
|
|
{ "Reanimate Kalphite", 165, 1261, 57 },
|
|
|
|
{ "West Ardougne Teleport", 166, 1322, 61 },
|
|
|
|
{ "Reanimate Dagannoth", 167, 1253, 62 },
|
|
|
|
{ "Reanimate Bloodveld", 168, 1292, 65 },
|
|
|
|
{ "Harmony Island Teleport", 169, 1323, 65 },
|
|
|
|
{ "Reanimate TzHaar", 170, 1287, 69 },
|
|
|
|
{ "Cemetery Teleport", 171, 1324, 71 },
|
|
|
|
{ "Reanimate Demon", 172, 1273, 72 },
|
|
|
|
{ "Reanimate Aviansie", 173, 1288, 78 },
|
|
|
|
{ "Resurrect Crops", 174, 1327, 78 },
|
|
|
|
{ "Barrows Teleport", 175, 1325, 83 },
|
|
|
|
{ "Reanimate Abyssal Creature", 176, 1290, 85 },
|
|
|
|
{ "Ape Atoll Teleport", 177, 1326, 90 },
|
|
|
|
{ "Reanimate Dragon", 178, 1274, 93 },
|
|
|
|
{ "Battlefront Teleport", 179, 1325, 23 },
|
2019-02-20 19:52:58 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
//************ Options.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t OPTIONS_PARENT = 261;
|
2019-11-20 02:17:31 +00:00
|
|
|
const WidgetDef OPTIONS_ACCEPT_AID = { OPTIONS_PARENT, 100 };
|
|
|
|
const WidgetDef OPTIONS_RUN_MODE = { OPTIONS_PARENT, 103 };
|
2019-02-20 19:52:58 +00:00
|
|
|
|
|
|
|
//************ Prayer.cpp ************//
|
2019-03-03 13:16:52 +00:00
|
|
|
const std::int32_t PRAYER_PRAYERS_PARENT = 541; // To be used with PrayerDefs
|
2019-05-28 16:34:51 +00:00
|
|
|
|
2019-02-20 19:52:58 +00:00
|
|
|
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, 5, 115, 1 },
|
|
|
|
{ "Burst of Strength", 1, 6, 116, 4 },
|
|
|
|
{ "Clarity of Thought", 2, 7, 117, 7 },
|
|
|
|
{ "Sharp Eye", 18, 23, 133, 8 },
|
|
|
|
{ "Mystic Will", 19, 24, 134, 9 },
|
|
|
|
{ "Rock Skin", 3, 8, 118, 10 },
|
|
|
|
{ "Superhuman Strength", 4, 9, 119, 13 },
|
|
|
|
{ "Improved Reflexes", 5, 10, 120, 16 },
|
|
|
|
{ "Rapid Restore", 6, 11, 121, 19 },
|
|
|
|
{ "Rapid Heal", 7, 12, 122, 22 },
|
|
|
|
{ "Protect Item", 8, 13, 123, 25 },
|
|
|
|
{ "Hawk Eye", 20, 25, 502, 26 },
|
|
|
|
{ "Mystic Lore", 21, 26, 503, 27 },
|
|
|
|
{ "Steel Skin", 9, 14, 124, 28 },
|
|
|
|
{ "Ultimate Strength", 10, 15, 125, 31 },
|
|
|
|
{ "Incredible Reflexes", 11, 16, 126, 34 },
|
|
|
|
{ "Protect from Magic", 12, 17, 127, 37 },
|
|
|
|
{ "Protect from Missiles", 13, 18, 128, 40 },
|
|
|
|
{ "Protect from Melee", 14, 19, 129, 43 },
|
|
|
|
{ "Eagle Eye", 22, 27, 504, 44 },
|
|
|
|
{ "Mystic Might", 23, 28, 505, 45 },
|
|
|
|
{ "Retribution", 15, 20, 131, 46 },
|
|
|
|
{ "Redemption", 16, 21, 130, 49 },
|
|
|
|
{ "Smite", 17, 22, 132, 52 },
|
2020-05-14 15:28:42 +00:00
|
|
|
{ "Preserve", 28, 33, 947, 55 },
|
|
|
|
{ "Chivalry", 25, 29, 945, 60 },
|
2019-02-20 19:52:58 +00:00
|
|
|
{ "Piety", 26, 30, 946, 70 },
|
|
|
|
{ "Rigour", 24, 31, 1420, 74 },
|
|
|
|
{ "Augury", 27, 32, 1421, 77 }
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-03-03 13:16:52 +00:00
|
|
|
#endif // GLOBALS_HPP_INCLUDED
|