2017-12-25 23:49:48 +00:00
|
|
|
#ifndef MAGIC_HPP_INCLUDED
|
|
|
|
#define MAGIC_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <cstdint>
|
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
namespace Magic
|
2017-12-25 23:49:48 +00:00
|
|
|
{
|
2018-12-27 18:17:09 +00:00
|
|
|
typedef enum SPELL
|
|
|
|
{
|
|
|
|
NORMAL_LUMBRIDGE_HOME_TELEPORT,
|
|
|
|
NORMAL_WIND_STRIKE,
|
|
|
|
NORMAL_CONFUSE,
|
|
|
|
NORMAL_ENCHANT_CROSSBOW_BOLT,
|
|
|
|
NORMAL_WATER_STRIKE,
|
2024-03-23 22:06:14 +00:00
|
|
|
NORMAL_JEWELLERY_ENCHANTS,
|
2018-12-27 18:17:09 +00:00
|
|
|
NORMAL_LVL1_ENCHANT,
|
|
|
|
NORMAL_EARTH_STRIKE,
|
|
|
|
NORMAL_WEAKEN,
|
|
|
|
NORMAL_FIRE_STRIKE,
|
|
|
|
NORMAL_BONES_TO_BANANAS,
|
|
|
|
NORMAL_WIND_BOLT,
|
|
|
|
NORMAL_CURSE,
|
|
|
|
NORMAL_BIND,
|
|
|
|
NORMAL_LOW_LEVEL_ALCHEMY,
|
|
|
|
NORMAL_WATER_BOLT,
|
|
|
|
NORMAL_VARROCK_TELEPORT,
|
|
|
|
NORMAL_LVL2_ENCHANT,
|
|
|
|
NORMAL_EARTH_BOLT,
|
|
|
|
NORMAL_LUMBRIDGE_TELEPORT,
|
|
|
|
NORMAL_TELEKINETIC_GRAB,
|
|
|
|
NORMAL_FIRE_BOLT,
|
|
|
|
NORMAL_FALADOR_TELEPORT,
|
|
|
|
NORMAL_CRUMBLE_UNDEAD,
|
|
|
|
NORMAL_TELEPORT_TO_HOUSE,
|
|
|
|
NORMAL_WIND_BLAST,
|
|
|
|
NORMAL_SUPERHEAT_ITEM,
|
|
|
|
NORMAL_CAMELOT_TELEPORT,
|
|
|
|
NORMAL_WATER_BLAST,
|
2024-03-23 22:06:14 +00:00
|
|
|
NORMAL_TELEPORT_TO_KOUREND,
|
2018-12-27 18:17:09 +00:00
|
|
|
NORMAL_LVL3_ENCHANT,
|
|
|
|
NORMAL_IBAN_BLAST,
|
|
|
|
NORMAL_SNARE,
|
|
|
|
NORMAL_MAGIC_DART,
|
|
|
|
NORMAL_ARDOUGNE_TELEPORT,
|
|
|
|
NORMAL_EARTH_BLAST,
|
2024-03-23 22:06:14 +00:00
|
|
|
NORMAL_TELEPORT_TO_CIVITAS,
|
2018-12-27 18:17:09 +00:00
|
|
|
NORMAL_HIGH_LEVEL_ALCHEMY,
|
|
|
|
NORMAL_CHARGE_WATER_ORB,
|
|
|
|
NORMAL_LVL4_ENCHANT,
|
|
|
|
NORMAL_WATCHTOWER_TELEPORT,
|
|
|
|
NORMAL_FIRE_BLAST,
|
|
|
|
NORMAL_CHARGE_EARTH_ORB,
|
|
|
|
NORMAL_BONES_TO_PEACHES,
|
|
|
|
NORMAL_SARADOMIN_STRIKE,
|
|
|
|
NORMAL_CLAWS_OF_GUTHIX,
|
|
|
|
NORMAL_FLAMES_OF_ZAMORAK,
|
|
|
|
NORMAL_TROLLHEIM_TELEPORT,
|
|
|
|
NORMAL_WIND_WAVE,
|
|
|
|
NORMAL_CHARGE_FIRE_ORB,
|
|
|
|
NORMAL_TELEPORT_TO_APE_ATOLL,
|
|
|
|
NORMAL_WATER_WAVE,
|
|
|
|
NORMAL_CHARGE_AIR_ORB,
|
|
|
|
NORMAL_VULNERABILITY,
|
|
|
|
NORMAL_LVL5_ENCHANT,
|
|
|
|
NORMAL_EARTH_WAVE,
|
|
|
|
NORMAL_ENFEEBLE,
|
|
|
|
NORMAL_TELEOTHER_LUMBRIDGE,
|
|
|
|
NORMAL_FIRE_WAVE,
|
|
|
|
NORMAL_ENTANGLE,
|
|
|
|
NORMAL_STUN,
|
|
|
|
NORMAL_CHARGE,
|
|
|
|
NORMAL_WIND_SURGE,
|
|
|
|
NORMAL_TELEOTHER_FALADOR,
|
|
|
|
NORMAL_WATER_SURGE,
|
|
|
|
NORMAL_TELE_BLOCK,
|
|
|
|
NORMAL_TELEPORT_TO_BOUNTY_TARGET,
|
|
|
|
NORMAL_LVL6_ENCHANT,
|
|
|
|
NORMAL_TELEOTHER_CAMELOT,
|
|
|
|
NORMAL_EARTH_SURGE,
|
|
|
|
NORMAL_LVL7_ENCHANT,
|
|
|
|
NORMAL_FIRE_SURGE,
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
LUNAR_LUNAR_HOME_TELEPORT,
|
|
|
|
LUNAR_BAKE_PIE,
|
|
|
|
LUNAR_GEOMANCY,
|
|
|
|
LUNAR_CURE_PLANT,
|
|
|
|
LUNAR_MONSTER_EXAMINE,
|
|
|
|
LUNAR_NPC_CONTACT,
|
|
|
|
LUNAR_CURE_OTHER,
|
|
|
|
LUNAR_HUMIDIFY,
|
|
|
|
LUNAR_MOONCLAN_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_MOONCLAN,
|
|
|
|
LUNAR_CURE_ME,
|
|
|
|
LUNAR_OURANIA_TELEPORT,
|
|
|
|
LUNAR_HUNTER_KIT,
|
|
|
|
LUNAR_WATERBIRTH_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_WATERBIRTH,
|
|
|
|
LUNAR_CURE_GROUP,
|
|
|
|
LUNAR_STAT_SPY,
|
|
|
|
LUNAR_BARBARIAN_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_BARBARIAN,
|
|
|
|
LUNAR_SPIN_FLAX,
|
|
|
|
LUNAR_SUPERGLASS_MAKE,
|
|
|
|
LUNAR_TAN_LEATHER,
|
|
|
|
LUNAR_KHAZARD_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_KHAZARD,
|
|
|
|
LUNAR_DREAM,
|
|
|
|
LUNAR_STRING_JEWELLERY,
|
|
|
|
LUNAR_STAT_RESTORE_POT_SHARE,
|
|
|
|
LUNAR_MAGIC_IMBUE,
|
|
|
|
LUNAR_FERTILE_SOIL,
|
|
|
|
LUNAR_BOOST_POTION_SHARE,
|
|
|
|
LUNAR_FISHING_GUILD_TELEPORT,
|
|
|
|
LUNAR_TELEPORT_TO_BOUNTY_TARGET,
|
|
|
|
LUNAR_TELE_GROUP_FISHING_GUILD,
|
|
|
|
LUNAR_PLANK_MAKE,
|
|
|
|
LUNAR_CATHERBY_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_CATHERBY,
|
|
|
|
LUNAR_RECHARGE_DRAGONSTONE,
|
|
|
|
LUNAR_ICE_PLATEAU_TELEPORT,
|
|
|
|
LUNAR_TELE_GROUP_ICE_PLATEAU,
|
|
|
|
LUNAR_ENERGY_TRANSFER,
|
|
|
|
LUNAR_HEAL_OTHER,
|
|
|
|
LUNAR_VENGEANCE_OTHER,
|
|
|
|
LUNAR_VENGEANCE,
|
|
|
|
LUNAR_HEAL_GROUP,
|
|
|
|
LUNAR_SPELLBOOK_SWAP,
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
ANCIENT_ICE_RUSH,
|
|
|
|
ANCIENT_ICE_BLITZ,
|
|
|
|
ANCIENT_ICE_BURST,
|
|
|
|
ANCIENT_ICE_BARRAGE,
|
|
|
|
ANCIENT_BLOOD_RUSH,
|
|
|
|
ANCIENT_BLOOD_BLITZ,
|
|
|
|
ANCIENT_BLOOD_BURST,
|
|
|
|
ANCIENT_BLOOD_BARRAGE,
|
|
|
|
ANCIENT_SMOKE_RUSH,
|
|
|
|
ANCIENT_SMOKE_BLITZ,
|
|
|
|
ANCIENT_SMOKE_BURST,
|
|
|
|
ANCIENT_SMOKE_BARRAGE,
|
|
|
|
ANCIENT_SHADOW_RUSH,
|
|
|
|
ANCIENT_SHADOW_BLITZ,
|
|
|
|
ANCIENT_SHADOW_BURST,
|
|
|
|
ANCIENT_SHADOW_BARRAGE,
|
|
|
|
ANCIENT_PADDEWWA_TELEPORT,
|
|
|
|
ANCIENT_SENNTISTEN_TELEPORT,
|
|
|
|
ANCIENT_KHARYRLL_TELEPORT,
|
|
|
|
ANCIENT_LASSAR_TELEPORT,
|
|
|
|
ANCIENT_DAREEYAK_TELEPORT,
|
|
|
|
ANCIENT_CARRALLANGAR_TELEPORT,
|
|
|
|
ANCIENT_ANNAKARL_TELEPORT,
|
|
|
|
ANCIENT_GHORROCK_TELEPORT,
|
|
|
|
ANCIENT_TELEPORT_TO_BOUNTY_TARGET,
|
|
|
|
ANCIENT_EDGEVILLE_HOME_TELEPORT,
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2019-03-26 16:56:25 +00:00
|
|
|
ARCEUUS_ARCEUUS_HOME_TELEPORT,
|
2021-12-24 13:32:33 +00:00
|
|
|
ARCEUUS_BASIC_REANIMATION,
|
|
|
|
ARCEUUS_ARCEUUS_LIBRARY_TELEPORT,
|
|
|
|
ARCEUUS_ADEPT_REANIMATION,
|
|
|
|
ARCEUUS_EXPERT_REANIMATION,
|
|
|
|
ARCEUUS_MASTER_REANIMATION,
|
2019-03-26 16:56:25 +00:00
|
|
|
ARCEUUS_DRAYNOR_MANOR_TELEPORT,
|
|
|
|
ARCEUUS_MIND_ALTAR_TELEPORT,
|
|
|
|
ARCEUUS_RESPAWN_TELEPORT,
|
|
|
|
ARCEUUS_SALVE_GRAVEYARD_TELEPORT,
|
|
|
|
ARCEUUS_FENKENSTRAINS_CASTLE_TELEPORT,
|
|
|
|
ARCEUUS_WEST_ARDOUGNE_TELEPORT,
|
|
|
|
ARCEUUS_HARMONY_ISLAND_TELEPORT,
|
|
|
|
ARCEUUS_CEMETERY_TELEPORT,
|
|
|
|
ARCEUUS_RESURRECT_CROPS,
|
|
|
|
ARCEUUS_BARROWS_TELEPORT,
|
|
|
|
ARCEUUS_APE_ATOLL_TELEPORT,
|
|
|
|
ARCEUUS_BATTLEFRONT_TELEPORT,
|
2021-12-24 13:32:33 +00:00
|
|
|
ARCEUUS_INFERIOR_DEMONBANE,
|
|
|
|
ARCEUUS_SUPERIOR_DEMONBANE,
|
|
|
|
ARCEUUS_DARK_DEMONBANE,
|
|
|
|
ARCEUUS_MARK_OF_DARKNESS,
|
|
|
|
ARCEUUS_GHOSTLY_GRASP,
|
|
|
|
ARCEUUS_SKELETAL_GRASP,
|
|
|
|
ARCEUUS_UNDEAD_GRASP,
|
|
|
|
ARCEUUS_WARD_OF_ARCEUUS,
|
|
|
|
ARCEUUS_LESSER_CORRUPTION,
|
|
|
|
ARCEUUS_GREATER_CORRUPTION,
|
|
|
|
ARCEUUS_DEMONIC_OFFERING,
|
|
|
|
ARCEUUS_SINISTER_OFFERING,
|
|
|
|
ARCEUUS_DEGRIME,
|
|
|
|
ARCEUUS_SHADOW_VEIL,
|
|
|
|
ARCEUUS_VILE_VIGOUR,
|
|
|
|
ARCEUUS_DARK_LURE,
|
|
|
|
ARCEUUS_DEATH_CHARGE,
|
|
|
|
ARCEUUS_RESURRECT_LESSER_GHOST,
|
|
|
|
ARCEUUS_RESURRECT_LESSER_SKELETON,
|
|
|
|
ARCEUUS_RESURRECT_LESSER_ZOMBIE,
|
|
|
|
ARCEUUS_RESURRECT_SUPERIOR_GHOST,
|
|
|
|
ARCEUUS_RESURRECT_SUPERIOR_SKELETON,
|
|
|
|
ARCEUUS_RESURRECT_SUPERIOR_ZOMBIE,
|
|
|
|
ARCEUUS_RESURRECT_GREATER_GHOST,
|
|
|
|
ARCEUUS_RESURRECT_GREATER_SKELETON,
|
|
|
|
ARCEUUS_RESURRECT_GREATER_ZOMBIE,
|
2019-03-26 16:56:25 +00:00
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
NONE
|
|
|
|
} SPELL;
|
2018-12-26 08:44:53 +00:00
|
|
|
|
2022-07-07 05:55:41 +00:00
|
|
|
typedef enum SPELLBOOK {
|
|
|
|
NORMAL = 0,
|
|
|
|
ANCIENT,
|
|
|
|
LUNAR,
|
|
|
|
ARCEUUS
|
|
|
|
} SPELLBOOK;
|
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
bool IsOpen();
|
2019-05-31 20:06:57 +00:00
|
|
|
bool Open(bool UseHotkey = false);
|
2019-05-28 16:34:51 +00:00
|
|
|
std::int32_t GetTabHotkey();
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2022-07-07 05:55:41 +00:00
|
|
|
SPELLBOOK GetActiveSpellbook();
|
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
bool HasLevel(const SPELL& Spell);
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
bool IsSpellSelected();
|
|
|
|
bool IsSpellSelected(const SPELL& Spell);
|
|
|
|
bool IsSpellSelected(const std::string& Name);
|
|
|
|
std::string GetSelectedSpellName();
|
|
|
|
const SPELL GetSelectedSpell();
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-12-27 18:17:09 +00:00
|
|
|
bool CastSpell(const SPELL& Spell);
|
2019-06-17 16:44:48 +00:00
|
|
|
bool CastSpell(const SPELL& Spell, const std::string& Option);
|
2018-12-27 18:17:09 +00:00
|
|
|
bool SelectSpell(const SPELL& Spell);
|
2018-12-31 21:52:58 +00:00
|
|
|
}
|
2017-12-25 23:49:48 +00:00
|
|
|
|
|
|
|
#endif // MAGIC_HPP_INCLUDED
|