本文整理汇总了C++中PlayerbotAI::getSpellIdExact方法的典型用法代码示例。如果您正苦于以下问题:C++ PlayerbotAI::getSpellIdExact方法的具体用法?C++ PlayerbotAI::getSpellIdExact怎么用?C++ PlayerbotAI::getSpellIdExact使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PlayerbotAI
的用法示例。
在下文中一共展示了PlayerbotAI::getSpellIdExact方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadSpells
void PlayerbotDruidAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
// Balance Spells
MOONFIRE = ai->getSpellIdExact("Moonfire"); //attacks
WRATH = ai->getSpellIdExact("Wrath");
STARFIRE = ai->getSpellIdExact("Starfire");
STARFALL = ai->getSpellIdExact("Starfall");
FORCE_OF_NATURE = ai->getSpellIdExact("Force of Nature");
TYPHOON = ai->getSpellIdExact("Typhoon");
HURRICANE = ai->getSpellIdExact("Hurricane");
INSECT_SWARM = ai->getSpellIdExact("Insect Swarm");
CYCLONE = ai->getSpellIdExact("Cyclone");
ROOTS = ai->getSpellIdExact("Entangling Roots");
NATURES_GRASP = ai->getSpellIdExact("Nature's Grasp");
HIBERNATE = ai->getSpellIdExact("Hibernate");
FAERIE_FIRE = ai->getSpellIdExact("Faerie Fire");
// Bear Form Spells
MAUL = ai->getSpellIdExact("Maul");
BASH = ai->getSpellIdExact("Bash");
LACERATE = ai->getSpellIdExact("Lacerate");
MANGLE_BEAR = ai->getSpellIdExact("Mangle (Bear)");
SWIPE_BEAR = ai->getSpellIdExact("Swipe (Bear)");
DEMORALIZING_ROAR = ai->getSpellIdExact("Demoralizing Roar");
GROWL = ai->getSpellIdExact("Growl");
CHALLENGING_ROAR = ai->getSpellIdExact("Challenging Roar");
ENRAGE = ai->getSpellIdExact("Enrage");
FERAL_CHARGE_BEAR = ai->getSpellIdExact("Feral Charge - Bear");
FRENZIED_REGENERATION = ai->getSpellIdExact("Frenzied Regeneration");
//Cat Attack type's
RAKE = ai->getSpellIdExact("Rake"); //40 energy
CLAW = ai->getSpellIdExact("Claw"); //45
MANGLE_CAT = ai->getSpellIdExact("Mangle (Cat)"); //45
SHRED = ai->getSpellIdExact("Shred");
RIP = ai->getSpellIdExact("Rip"); //30
FEROCIOUS_BITE = ai->getSpellIdExact("Ferocious Bite"); //35
SAVAGE_ROAR = ai->getSpellIdExact("Savage Roar");
MAIM = ai->getSpellIdExact("Maim"); //35
FERAL_CHARGE_CAT = ai->getSpellIdExact("Feral Charge - Cat");
COWER = ai->getSpellIdExact("Cower"); //20
TIGERS_FURY = ai->getSpellIdExact("Tiger's Fury");
// Feral General
BERSERK = ai->getSpellIdExact("Berserk");
FAERIE_FIRE_FERAL = ai->getSpellIdExact("Faerie Fire (Feral)"); //debuffs
//buffs
MARK_OF_THE_WILD = ai->getSpellIdExact("Mark of the Wild"); //buffs
GIFT_OF_THE_WILD = ai->getSpellIdExact("Gift of the Wild");
THORNS = ai->getSpellIdExact("Thorns");
SURVIVAL_INSTINCTS = ai->getSpellIdExact("Survival Instincts");
// Restoration Spells
LIFEBLOOM = ai->getSpellIdExact("Lifebloom");
REJUVENATION = ai->getSpellIdExact("Rejuvenation"); //heals
REGROWTH = ai->getSpellIdExact("Regrowth");
NOURISH = ai->getSpellIdExact("Nourish");
SWIFTMEND = ai->getSpellIdExact("Swiftmend");
HEALING_TOUCH = ai->getSpellIdExact("Healing Touch");
INNERVATE = ai->getSpellIdExact("Innervate");
WILD_GROWTH = ai->getSpellIdExact("Wild Growth");
TRANQUILITY = ai->getSpellIdExact("Tranquility");
NATURES_SWIFTNESS = ai->getSpellIdExact("Nature's Swiftness");
CURE_POISON = ai->getSpellIdExact("Abolish Poison");
if (!CURE_POISON) CURE_POISON = ai->getSpellIdExact("Cure Poison");
REBIRTH = ai->getSpellIdExact("Rebirth");
REVIVE = ai->getSpellIdExact("Revive");
BARKSKIN = ai->getSpellIdExact("Barkskin");
//Druid Forms
BEAR_FORM = ai->getSpellIdExact("Dire Bear Form");
if (!BEAR_FORM) BEAR_FORM = ai->getSpellIdExact("Bear Form");
CAT_FORM = ai->getSpellIdExact("Cat Form");
MOONKIN_FORM = ai->getSpellIdExact("Moonkin Form");
TREE_OF_LIFE_FORM = ai->getSpellIdExact("Tree of Life"); //33891;//learning spell has higher id..
AQUATIC_FORM = ai->getSpellIdExact("Aquatic Form");
TRAVEL_FORM = ai->getSpellIdExact("Travel Form");
FLIGHT_FORM = ai->getSpellIdExact("Swift Flight Form");
if (!FLIGHT_FORM) FLIGHT_FORM = ai->getSpellIdExact("Flight Form");
TALENT_BALANCE = MOONKIN_FORM;
TALENT_RESTO = SWIFTMEND;
TALENT_FERAL = MANGLE_CAT;
uint8 talentCounter = 0;
//.........这里部分代码省略.........
示例2: LoadSpells
void PlayerbotShamanAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
//totems
HEALING_STREAM_TOTEM = ai->getSpellIdExact("Healing Stream Totem");
MANA_SPRING_TOTEM = ai->getSpellIdExact("Mana Spring Totem");
MANA_TIDE_TOTEM = ai->getSpellIdExact("Mana Tide Totem");
CLEANSING_TOTEM = ai->getSpellIdExact("Cleansing Totem");
FIRE_RESISTANCE_TOTEM = ai->getSpellIdExact("Fire Resistance Totem");
WINDFURY_TOTEM = ai->getSpellIdExact("Windfury Totem");
WRATH_OF_AIR_TOTEM = ai->getSpellIdExact("Wrath of Air Totem");
GROUNDING_TOTEM = ai->getSpellIdExact("Grounding Totem");
NATURE_RESISTANCE_TOTEM = ai->getSpellIdExact("Nature Resistance Totem");
STRENGTH_OF_EARTH_TOTEM = ai->getSpellIdExact("Strength of Earth Totem");
EARTHBIND_TOTEM = ai->getSpellIdExact("Earthbind Totem");
STONESKIN_TOTEM = ai->getSpellIdExact("Stoneskin Totem");
STONECLAW_TOTEM = ai->getSpellIdExact("Stoneclaw Totem");
TREMOR_TOTEM = ai->getSpellIdExact("Tremor Totem");
EARTH_ELEMENTAL_TOTEM = ai->getSpellIdExact("Earth Elemental Totem");
FLAMETONGUE_TOTEM = ai->getSpellIdExact("Flametongue Totem");
TOTEM_OF_WRATH = ai->getSpellIdExact("Totem of Wrath");
SEARING_TOTEM = ai->getSpellIdExact("Searing Totem");
MAGMA_TOTEM = ai->getSpellIdExact("Magma Totem");
FIRE_ELEMENTAL_TOTEM = ai->getSpellIdExact("Fire Elemental Totem");
FROST_RESISTANCE_TOTEM = ai->getSpellIdExact("Frost Resistance Totem");
TOTEMIC_RECALL = ai->getSpellIdExact("Totemic Recall");
CALL_OF_THE_ELEMENTS = ai->getSpellIdExact("Call of the Elements");
CALL_OF_THE_ANCESTORS = ai->getSpellIdExact("Call of the Ancestors");
CALL_OF_THE_SPIRITS = ai->getSpellIdExact("Call of the Spirits");
//restoration
HEAL = ai->getSpellIdExact("Healing Wave");
LESSER_HEAL = ai->getSpellIdExact("Lesser Healing Wave");
CHAIN_HEAL = ai->getSpellIdExact("Chain Heal");
RIPTIDE = ai->getSpellIdExact("Riptide");
ANCESTRAL_SPIRIT = ai->getSpellIdExact("Ancestral Spirit");
CLEANSE_SPIRIT = ai->getSpellIdExact("Cleanse Spirit");
if (CLEANSE_SPIRIT) CLEANSE_SPIRIT = ai->getSpellIdExact("Cure Toxins");
//offensive spells
LIGHTNING_BOLT = ai->getSpellIdExact("Lightning Bolt");
CHAIN_LIGHTNING = ai->getSpellIdExact("Chain Lightning");
FIRE_NOVA = ai->getSpellIdExact("Fire Nova");
THUNDERSTORM = ai->getSpellIdExact("Thunderstorm");
LAVA_BURST = ai->getSpellIdExact("Lava Burst");
EARTH_SHOCK = ai->getSpellIdExact("Earth Shock");
WIND_SHEAR = ai->getSpellIdExact("Wind Shear");
FLAME_SHOCK = ai->getSpellIdExact("Flame Shock");
FROST_SHOCK = ai->getSpellIdExact("Frost Shock");
PURGE = ai->getSpellIdExact("Purge");
HEX = ai->getSpellIdExact("Hex");
//buffs
LIGHTNING_SHIELD = ai->getSpellIdExact("Lightning Shield");
WATER_SHIELD = ai->getSpellIdExact("Water Shield");
EARTH_SHIELD = ai->getSpellIdExact("Earth Shield");
HEROISM = ai->getSpellIdExact("Heroism");
if (HEROISM) HEROISM = ai->getSpellIdExact("Bloodlust");
ELEMENTAL_MASTERY = ai->getSpellIdExact("Elemental Mastery");
NATURES_SWIFTNESS = ai->getSpellIdExact("Nature's Swiftness");
WINDFURY_WEAPON = ai->getSpellIdExact("Windfury Weapon");
FLAMETONGUE_WEAPON = ai->getSpellIdExact("Flametongue Weapon");
FROSTBRAND_WEAPON = ai->getSpellIdExact("Frostbrand Weapon");
ROCKBITER_WEAPON = ai->getSpellIdExact("Rockbiter Weapon");
EARTHLIVING_WEAPON = ai->getSpellIdExact("Earthliving Weapon");
WATER_BREATHING = ai->getSpellIdExact("Water Breathing");
WATER_WALKING = ai->getSpellIdExact("Water Walking");
//melee
LAVA_LASH = ai->getSpellIdExact("Lava Lash");
STORMSTRIKE = ai->getSpellIdExact("Stormstrike");
SHAMANISTIC_RAGE = ai->getSpellIdExact("Shamanistic Rage");
FERAL_SPIRIT = ai->getSpellIdExact("Feral Spirit");
GHOST_WOLF = ai->getSpellIdExact("Ghost Wolf");
EXHAUSTION = 57723; // heroism debuff
SATED = 57724; // bloodlust debuff
//MAELSTROM_WEAPON = 0; // We want the triggered aura, not the talent spell
uint32 mwtrigger = ai->getSpellIdExact("Maelstrom Weapon",true);
if (mwtrigger)
{
SpellEntry const *mwtSpell = GetSpellStore()->LookupEntry(mwtrigger);
if (mwtSpell && mwtSpell->EffectTriggerSpell[0] > 0) MAELSTROM_WEAPON = mwtSpell->EffectTriggerSpell[0];
}
TALENT_ELEMENTAL = ELEMENTAL_MASTERY;
TALENT_ENHANCEMENT = STORMSTRIKE;
TALENT_RESTO = EARTH_SHIELD;
uint8 talentCounter = 0;
if (TALENT_ELEMENTAL) talentCounter++;
if (TALENT_ENHANCEMENT) talentCounter++;
//.........这里部分代码省略.........
示例3: LoadSpells
void PlayerbotRogueAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
//Damage spells
BACKSTAB = ai->getSpellIdExact("Backstab");
SINISTER_STRIKE = ai->getSpellIdExact("Sinister Strike");
MUTILATE = ai->getSpellIdExact("Mutilate");
HEMORRHAGE = ai->getSpellIdExact("Hemorrhage");
GHOSTLY_STRIKE = ai->getSpellIdExact("Ghostly Strike");
RIPOSTE = ai->getSpellIdExact("Riposte");
SHIV = ai->getSpellIdExact("Shiv");
FAN_OF_KNIVES = ai->getSpellIdExact("Fan of Knives");
//Finishing Moves
EVISCERATE = ai->getSpellIdExact("Eviscerate");
RUPTURE = ai->getSpellIdExact("Rupture");
KIDNEY_SHOT = ai->getSpellIdExact("Kidney Shot");
ENVENOM = ai->getSpellIdExact("Envenom");
SLICE_AND_DICE = ai->getSpellIdExact("Slice and Dice");
EXPOSE_ARMOR = ai->getSpellIdExact("Expose Armor");
DEADLY_THROW = ai->getSpellIdExact("Deadly Throw");
//Buffs
STEALTH = ai->getSpellIdExact("Stealth");
VANISH = ai->getSpellIdExact("Vanish");
EVASION = ai->getSpellIdExact("Evasion");
CLOAK_OF_SHADOWS = ai->getSpellIdExact("Cloak of Shadows");
SPRINT = ai->getSpellIdExact("Sprint");
COLD_BLOOD = ai->getSpellIdExact("Cold Blood");
HUNGER_FOR_BLOOD = ai->getSpellIdExact("Hunger for Blood");
BLADE_FLURRY = ai->getSpellIdExact("Blade Flurry");
ADRENALINE_RUSH = ai->getSpellIdExact("Adrenaline Rush");
KILLING_SPREE = ai->getSpellIdExact("Killing Spree");
SHADOW_DANCE = ai->getSpellIdExact("Shadow Dance");
//Openers
CHEAP_SHOT = ai->getSpellIdExact("Cheap Shot");
GARROTE = ai->getSpellIdExact("Garrote");
AMBUSH = ai->getSpellIdExact("Ambush");
//Others
GOUGE = ai->getSpellIdExact("Gouge");
BLIND = ai->getSpellIdExact("Blind");
DISMANTLE = ai->getSpellIdExact("Dismantle");
SAP = ai->getSpellIdExact("Sap");
KICK = ai->getSpellIdExact("Kick");
PREPARATION = ai->getSpellIdExact("Preparation");
PREMEDITATION = ai->getSpellIdExact("Premeditation");
SHADOWSTEP = ai->getSpellIdExact("Shadowstep");
FEINT = ai->getSpellIdExact("Feint");
TRICKS_OF_THE_TRADE = ai->getSpellIdExact("Tricks of the Trade");
SHOOT = ai->getSpellIdExact("Shoot");
THROW = ai->getSpellIdExact("Throw");
TALENT_ASSASSINATION = MUTILATE;
TALENT_COMBAT = ADRENALINE_RUSH;
TALENT_SUBTELTY = PREMEDITATION;
//uint8 talentCounter = 0;
//if (TALENT_ASSASSINATION) talentCounter++;
//if (TALENT_COMBAT) talentCounter++;
//if (TALENT_SUBTELTY) talentCounter++;
//if (talentCounter > 1) { TALENT_ASSASSINATION = 0; TALENT_COMBAT = 0; TALENT_SUBTELTY = 0; } //Unreliable Talent detection.
#pragma endregion
}
示例4: LoadSpells
void PlayerbotMageAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
//arcane
ARCANE_MISSILES = ai->getSpellIdExact("Arcane Missiles");
ARCANE_EXPLOSION = ai->getSpellIdExact("Arcane Explosion");
ARCANE_BLAST = ai->getSpellIdExact("Arcane Blast");
ARCANE_BARRAGE = ai->getSpellIdExact("Arcane Barrage");
//fire
FIREBALL = ai->getSpellIdExact("Fireball");
FROSTFIRE_BOLT = ai->getSpellIdExact("Frostfire Bolt");
FIRE_BLAST = ai->getSpellIdExact("Fire Blast");
FLAMESTRIKE = ai->getSpellIdExact("Flamestrike");
BLAST_WAVE = ai->getSpellIdExact("Blastwave");
SCORCH = ai->getSpellIdExact("Scorch");
PYROBLAST = ai->getSpellIdExact("Pyroblast");
LIVING_BOMB = ai->getSpellIdExact("Living Bomb");
//cold
FROSTBOLT = ai->getSpellIdExact("Frostbolt");
FROST_NOVA = ai->getSpellIdExact("Frost Nova");
ICE_LANCE = ai->getSpellIdExact("Ice Lance");
BLIZZARD = ai->getSpellIdExact("Blizzard");
CONE_OF_COLD = ai->getSpellIdExact("Cone of Cold");
WATER_ELEMENTAL = ai->getSpellIdExact("Summon Water Elemental");
// buffs
FROST_ARMOR = ai->getSpellIdExact("Ice Armor");
if (!FROST_ARMOR) FROST_ARMOR = ai->getSpellIdExact("Frost Armor");
MAGE_ARMOR = ai->getSpellIdExact("Mage Armor");
MOLTEN_ARMOR = ai->getSpellIdExact("Molten Armor");
FIRE_WARD = ai->getSpellIdExact("Fire Ward");
FROST_WARD = ai->getSpellIdExact("Frost Ward");
MANA_SHIELD = ai->getSpellIdExact("Mana Shield");
ICE_BARRIER = ai->getSpellIdExact("Ice Barrier");
POM = ai->getSpellIdExact("Presence of Mind");
FOCUS_MAGIC = ai->getSpellIdExact("Focus Magic");
ARCANE_POWER = ai->getSpellIdExact("Arance Power");
COMBUSTION = ai->getSpellIdExact("Combustion");
ICY_VEINS = ai->getSpellIdExact("Icy Veins");
ARCANE_INTELLECT = ai->getSpellIdExact("Arcane Intellect");
ARCANE_BRILLIANCE = ai->getSpellIdExact("Arcane Brilliance");
DALARAN_INTELLECT = ai->getSpellIdExact("Dalaran Intellect");
DALARAN_BRILLIANCE = ai->getSpellIdExact("Dalaran Brilliance");
DAMPEN_MAGIC = ai->getSpellIdExact("Dampen Magic");
AMPLIFY_MAGIC = ai->getSpellIdExact("Amplify Magic");
//CC
POLYMORPH = ai->getSpellIdExact("Polymorph");
DRAGONS_BREATH = ai->getSpellIdExact("Dragon's Breath");
DEEP_FREEZE = ai->getSpellIdExact("Deep Freeze");
//other
CONJURE_REFRESHMENT = ai->getSpellIdExact("Conjure Refreshment");
CONJURE_WATER = ai->getSpellIdExact("Conjure Water");
CONJURE_FOOD = ai->getSpellIdExact("Conjure Food");
CONJURE_MANA_GEM = ai->getSpellIdExact("Conjure Mana Gem");
MIRROR_IMAGE = ai->getSpellIdExact("Mirror Image");
BLINK = ai->getSpellIdExact("Blink");
ICE_BLOCK = ai->getSpellIdExact("Ice Block");
INVISIBILITY = ai->getSpellIdExact("Invisibility");
EVOCATION = ai->getSpellIdExact("Evocation");
REMOVE_CURSE = ai->getSpellIdExact("Remove Curse");
COUNTER_SPELL = ai->getSpellIdExact("Counterspell");
SLOW = ai->getSpellIdExact("Slow");
//Special
P_BRAIN_FREEZE = 57761; //Brain Freeze proc
P_FIRESTARTER = 54741; //Firestarter proc
P_HOT_STREAK = 48108; //Hot Sreak proc
P_ARCANE_BLAST = 36032; //Arcane blast proc
P_MISSILE_BARRAGE = 54490; //Missle Barrage proc
P_FINGERS_OF_FROST = 44545; //Fingers of Frost proc
IMP_SCORCH = 12873; //IMP SCORCH
SHOOT = ai->getSpellIdExact("Shoot");
TALENT_ARCANE = ARCANE_BARRAGE;
TALENT_FIRE = COMBUSTION;
TALENT_FROST = ICE_BARRIER;
uint8 talentCounter = 0;
if (TALENT_ARCANE) talentCounter++;
if (TALENT_FIRE) talentCounter++;
if (TALENT_FROST) talentCounter++;
//if (talentCounter > 1) { TALENT_ARCANE = 0; TALENT_FIRE = 0; TALENT_FROST = 0; } //Unreliable Talent detection.
#pragma endregion
}
示例5: LoadSpells
void PlayerbotPaladinAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
//heals
FLASH_OF_LIGHT = ai->getSpellIdExact("Flash of Light");
HOLY_LIGHT = ai->getSpellIdExact("Holy Light");
HOLY_SHOCK = ai->getSpellIdExact("Holy Shock");
CLEANSE = ai->getSpellIdExact("Cleanse");
if (!CLEANSE) CLEANSE = ai->getSpellIdExact("Purify");
LOH = ai->getSpellIdExact("Lay on Hands");
SACRED_SHIELD = ai->getSpellIdExact("Sacred Shield");
BEACON_OF_LIGHT = ai->getSpellIdExact("Beacon of Light");
DIVINE_FAVOR = ai->getSpellIdExact("Divine Favor");
REDEMPTION = ai->getSpellIdExact("Redemption");
//Damages
JOL = ai->getSpellIdExact("Judgement of Light");
JOW = ai->getSpellIdExact("Judgement of Wisdom");
JOJ = ai->getSpellIdExact("Judgement of Justice");
HAMMER_OF_WRATH = ai->getSpellIdExact("Hammer of Wrath");
EXORCISM = ai->getSpellIdExact("Exorcism");
HOLY_WRATH = ai->getSpellIdExact("Holy Wrath");
CONSECRATION = ai->getSpellIdExact("Consecration");
AVENGERS_SHIELD = ai->getSpellIdExact("Avenger's Shield");
SHIELD_OF_RIGHTEOUSNESS = ai->getSpellIdExact("Shield of Righteousness");
HOTR = ai->getSpellIdExact("Hammer of the Righteous");
CRUSADER_STRIKE = ai->getSpellIdExact("Crusader Strike");
DIVINE_STORM = ai->getSpellIdExact("Divine Storm");
//CC
HAMMER_OF_JUSTICE = ai->getSpellIdExact("Hammer of Justice");
REPENTANCE = ai->getSpellIdExact("Repentance");
//Self buffs
SOL = ai->getSpellIdExact("Seal of Light");
SOW = ai->getSpellIdExact("Seal of Wisdom");
SOR = ai->getSpellIdExact("Seal of Righteousness");
SOC = ai->getSpellIdExact("Seal of Command");
SOV = ai->getSpellIdExact("Seal of Vengeance");
if (!SOV) SOV = ai->getSpellIdExact("Seal of Corruption");
DIVINE_PLEA = ai->getSpellIdExact("Divine Plea");
HOLY_SHIELD = ai->getSpellIdExact("Holy Shield");
RIGHTEOUS_FURY = ai->getSpellIdExact("Righteous Fury");
DIVINE_SHIELD = ai->getSpellIdExact("Divine Shield");
if (!DIVINE_SHIELD) DIVINE_SHIELD = ai->getSpellIdExact("Divine Protection");
AVENGING_WRATH = ai->getSpellIdExact("Avenging Wrath");
//AURAS
DEVOTION_AURA = ai->getSpellIdExact("Devotion Aura");
RETRIBUTION_AURA = ai->getSpellIdExact("Retribution Aura");
CONCENTRATION_AURA = ai->getSpellIdExact("Concentration Aura");
FIRE_AURA = ai->getSpellIdExact("Fire Resistance Aura");
FROST_AURA = ai->getSpellIdExact("Frost Resistance Aura");
SHADOW_AURA = ai->getSpellIdExact("Shadow Resistance Aura");
CRUSADER_AURA = ai->getSpellIdExact("Crusader Aura");
//Blessings
BOW = ai->getSpellIdExact("Blessing of Wisdom");
BOM = ai->getSpellIdExact("Blessing of Might");
BOS = ai->getSpellIdExact("Blessing of Sanctuary");
BOK = ai->getSpellIdExact("Blessing of Kings");
GBOW = ai->getSpellIdExact("Greater Blessing of Wisdom");
GBOM = ai->getSpellIdExact("Greater Blessing of Might");
GBOS = ai->getSpellIdExact("Greater Blessing of Sanctuary");
GBOK = ai->getSpellIdExact("Greater Blessing of Kings");
//Hands
HOF = ai->getSpellIdExact("Hand of Freedom");
HOR = ai->getSpellIdExact("Hand of Reckoning");
HOS = ai->getSpellIdExact("Hand of Salvation");
HOP = ai->getSpellIdExact("Hand of Protection");
DIVINE_SACRIFICE = ai->getSpellIdExact("Divine Sacrifice");
//Taunt
RIGHTEOUS_DEFENSE = ai->getSpellIdExact("Righteous Defense");
FORBEARANCE = 25771;
AOW = 53488;
TALENT_RETRI = CRUSADER_STRIKE;
TALENT_PROT = HOLY_SHIELD;
TALENT_HOLY = HOLY_SHOCK;
uint8 talentCounter = 0;
if (TALENT_RETRI) talentCounter++;
if (TALENT_PROT) talentCounter++;
if (TALENT_HOLY) talentCounter++;
//if (talentCounter > 1) { TALENT_RETRI = 0; TALENT_PROT = 0; TALENT_HOLY = 0; } //Unreliable Talent detection.
#pragma endregion
}
示例6: LoadSpells
void PlayerbotHunterAI::LoadSpells() {
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
// PET CONTROL
PET_SUMMON = ai->getSpellIdExact("Call Pet");
PET_DISMISS = ai->getSpellIdExact("Dismiss Pet");
PET_REVIVE = ai->getSpellIdExact("Revive Pet");
PET_MEND = ai->getSpellIdExact("Mend Pet");
PET_FEED = 1539; //ai->getSpellIdExact("Feed Pet");
KILL_COMMAND = ai->getSpellIdExact("Kill Command");
INTIMIDATION = ai->getSpellIdExact("Intimidation");
BESTIAL_WRATH = ai->getSpellIdExact("Bestial Wrath");
// PET SPELL (master does not have these spells anymore)
GROWL = ai->getSpellIdExact("Growl");
COWER = ai->getSpellIdExact("Cower");
BAD_ATTITUDE = ai->getSpellIdExact("Bad Attitude");
SONIC_BLAST = ai->getSpellIdExact("Sonic Blast");
NETHER_SHOCK = ai->getSpellIdExact("Nether Shock");
DEMORALIZING_SCREECH = ai->getSpellIdExact("Demoralizing Screech");
// RANGED ATTACK
AUTO_SHOT = ai->getSpellIdExact("Auto Shot");
ARCANE_SHOT = ai->getSpellIdExact("Arcane Shot");
EXPLOSIVE_SHOT = ai->getSpellIdExact("Explosive Shot");
STEADY_SHOT = ai->getSpellIdExact("Steady Shot");
AIMED_SHOT = ai->getSpellIdExact("Aimed Shot");
SCATTER_SHOT = ai->getSpellIdExact("Scatter Shot");
KILL_SHOT = ai->getSpellIdExact("Kill Shot");
CHIMERA_SHOT = ai->getSpellIdExact("Chimera Shot");
CONCUSSIVE_SHOT = ai->getSpellIdExact("Concussive Shot");
DISTRACTING_SHOT = ai->getSpellIdExact("Distracting Shot");
SILENCING_SHOT = ai->getSpellIdExact("Silencing Shot");
// STINGS
SERPENT_STING = ai->getSpellIdExact("Serpent Sting");
SCORPID_STING = ai->getSpellIdExact("Scorpid Sting");
WYVERN_STING = ai->getSpellIdExact("Wyvern Sting");
VIPER_STING = ai->getSpellIdExact("Viper Sting");
// DEBUFF
HUNTERS_MARK = ai->getSpellIdExact("Hunter's Mark");
SCARE_BEAST = ai->getSpellIdExact("Scare Beast");
//AOE
VOLLEY = ai->getSpellIdExact("Volley");
MULTI_SHOT = ai->getSpellIdExact("Multi Shot");
//MELEE
RAPTOR_STRIKE = ai->getSpellIdExact("Raptor Strike");
WING_CLIP = ai->getSpellIdExact("Wing Clip");
MONGOOSE_BITE = ai->getSpellIdExact("Mongoose Bite");
COUNTERATTACK = ai->getSpellIdExact("Counterattack");
//TRAP
FREEZING_TRAP = ai->getSpellIdExact("Freezing Trap");
IMMOLATION_TRAP = ai->getSpellIdExact("Immolation Trap");
FROST_TRAP = ai->getSpellIdExact("Frost Trap");
EXPLOSIVE_TRAP = ai->getSpellIdExact("Explosive Trap");
SNAKE_TRAP = ai->getSpellIdExact("Snake Trap");
ARCANE_TRAP = ai->getSpellIdExact("Arcane Trap");
FREEZING_ARROW = ai->getSpellIdExact("Freezing Arrow");
BLACK_ARROW = ai->getSpellIdExact("Black Arrow");
//BUFF
TRUESHOT_AURA = ai->getSpellIdExact("Trueshot Aura");
DETERRENCE = ai->getSpellIdExact("Deterrence");
FEIGN_DEATH = ai->getSpellIdExact("Feign Death");
DISENGAGE = ai->getSpellIdExact("Disengage");
RAPID_FIRE = ai->getSpellIdExact("Rapid Fire");
READINESS = ai->getSpellIdExact("Readiness");
MISDIRECTION = ai->getSpellIdExact("Misdirection");
//ASPECT
ASPECT_OF_THE_HAWK = ai->getSpellIdExact("Aspect of the Dragonhawk");
ASPECT_OF_THE_MONKEY = ASPECT_OF_THE_HAWK;
if (!ASPECT_OF_THE_HAWK) ASPECT_OF_THE_HAWK = ai->getSpellIdExact("Aspect of the Hawk");
if (!ASPECT_OF_THE_MONKEY) ASPECT_OF_THE_MONKEY = ai->getSpellIdExact("Aspect of the Monkey");
ASPECT_OF_THE_VIPER = ai->getSpellIdExact("Aspect of the Viper");
TALENT_MM = TRUESHOT_AURA;
TALENT_BM = BESTIAL_WRATH;
TALENT_SURVIVAL = WYVERN_STING;
uint8 talentCounter = 0;
if (TALENT_MM) talentCounter++;
if (TALENT_BM) talentCounter++;
if (TALENT_SURVIVAL) talentCounter++;
if (talentCounter > 1) { TALENT_MM = 0; TALENT_BM = 0; TALENT_SURVIVAL = 0; } //Unreliable Talent detection.
#pragma endregion
}
示例7: LoadSpells
void PlayerbotDeathKnightAI::LoadSpells(){
PlayerbotAI *ai = GetAI();
if (!ai) return;
#pragma region SpellId Fill
// Unholy
PLAGUE_STRIKE = ai->getSpellIdExact("Plague Strike");
DEATH_STRIKE = ai->getSpellIdExact("Death Strike");
SCOURGE_STRIKE = ai->getSpellIdExact("Scourge Strike");
// Frost
ICY_TOUCH = ai->getSpellIdExact("Icy Touch");
OBLITERATE = ai->getSpellIdExact("Obliterate");
// Blood
BLOOD_STRIKE = ai->getSpellIdExact("Blood Strike");
HEART_STRIKE = ai->getSpellIdExact("Heart Strike");
RUNE_TAP = ai->getSpellIdExact("Rune Tap");
DARK_COMMAND = ai->getSpellIdExact("Dark Command");
// AOE
HOWLING_BLAST = ai->getSpellIdExact("Howling Blast");
BLOOD_BOIL = ai->getSpellIdExact("Blood Boil");
PESTILENCE = ai->getSpellIdExact("Pestilence");
CORPSE_EXPLOSION = ai->getSpellIdExact("Corpse Explosion");
DEATH_AND_DECAY = ai->getSpellIdExact("Death and Decay");
// Rune attacks
FROST_STRIKE = ai->getSpellIdExact("Frost Strike");
DEATH_COIL = ai->getSpellIdExact("Death Coil");
RUNE_STRIKE = ai->getSpellIdExact("Rune Strike");
// CC Interrupt
DEATH_GRIP = ai->getSpellIdExact("Death Grip");
CHAINS_OF_ICE = ai->getSpellIdExact("Chains of Ice");
MIND_FREEZE = ai->getSpellIdExact("Mind Freeze");
HUNGERING_COLD = ai->getSpellIdExact("Hungering Cold");
STRANGULATE = ai->getSpellIdExact("Strangulate");
// Debuffs
FROST_FEVER = 55095; //ai->getSpellIdExact("Frost Fever",true);
BLOOD_PLAGUE = 55078; //ai->getSpellIdExact("Blood Plague",true);
CRYPT_FEVER = ai->getSpellIdExact("Crypt Fever",true);
EBON_PLAGUE = ai->getSpellIdExact("Ebon Plague",true);
MARK_OF_BLOOD = ai->getSpellIdExact("Mark of Blood");
// Buffs
HORN_OF_WINTER = ai->getSpellIdExact("Horn of Winter");
BONE_SHIELD = ai->getSpellIdExact("Bone Shield");
VAMPIRIC_BLOOD = ai->getSpellIdExact("Vampiric Blood");
HYSTERIA = ai->getSpellIdExact("Hysteria");
UNBREAKABLE_ARMOR = ai->getSpellIdExact("Unbreakable Armor");
ANTI_MAGIC_SHELL = ai->getSpellIdExact("Anti Magic Shell");
ANTI_MAGIC_ZONE = ai->getSpellIdExact("Anti Magic Zone");
ICEBOUND_FORTITUDE = ai->getSpellIdExact("Icebound Fortitude");
EMPOWER_WEAPON = ai->getSpellIdExact("Empower Rune Weapon");
LICHBORNE = ai->getSpellIdExact("Lichborne");
// Summons
RAISE_DEAD = ai->getSpellIdExact("Raise Dead");
ARMY_OF_THE_DEAD = ai->getSpellIdExact("Army of the Dead");
SUMMON_GARGOYLE = ai->getSpellIdExact("Summon Gargoyle");
GHOUL_FRENZY = ai->getSpellIdExact("Ghoul Frenzy");
DEATH_PACT = ai->getSpellIdExact("Death Pact");
DANCING_WEAPON = ai->getSpellIdExact("Dancing Rune Weapon");
// Presences
BLOOD_PRESENCE = ai->getSpellIdExact("Blood Presence");
FROST_PRESENCE = ai->getSpellIdExact("Frost Presence");
UNHOLY_PRESENCE = ai->getSpellIdExact("Unholy Presence");
// Talent
TALENT_BLOOD = HEART_STRIKE;
TALENT_FROST = FROST_STRIKE;
TALENT_UNHOLY = SCOURGE_STRIKE;
uint8 talentCounter = 0;
if (TALENT_BLOOD) talentCounter++;
if (TALENT_FROST) talentCounter++;
if (TALENT_UNHOLY) talentCounter++;
if (talentCounter > 1) { TALENT_BLOOD = 0; TALENT_FROST = 0; TALENT_UNHOLY = 0; } //Unreliable Talent detection.
#pragma endregion
}