diff --git a/src/modules/Bots/ahbot/Category.h b/src/modules/Bots/ahbot/Category.h index 70c3385bb..c0b0cd308 100644 --- a/src/modules/Bots/ahbot/Category.h +++ b/src/modules/Bots/ahbot/Category.h @@ -300,24 +300,23 @@ namespace ahbot } }; - class QualityCategoryWrapper : public Category { - public: - QualityCategoryWrapper(Category* category, uint32 quality); - - public: - virtual bool Contains(ItemPrototype const* proto); - virtual uint32 GetMaxAllowedAuctionCount(); - virtual string GetName() { return category->GetName(); } - virtual string GetDisplayName() { return combinedName; } - virtual uint32 GetMaxAllowedItemAuctionCount(ItemPrototype const* proto); - virtual uint32 GetStackCount(ItemPrototype const* proto) { return category->GetStackCount(proto); } - virtual PricingStrategy* GetPricingStrategy() { return category->GetPricingStrategy(); } - - private: - uint32 quality; - Category* category; - string combinedName; + public: + QualityCategoryWrapper(Category* category, uint32 quality); + + public: + virtual bool Contains(ItemPrototype const* proto); + virtual uint32 GetMaxAllowedAuctionCount(); + virtual string GetName() { return category->GetName(); } + virtual string GetDisplayName() { return combinedName; } + virtual uint32 GetMaxAllowedItemAuctionCount(ItemPrototype const* proto); + virtual uint32 GetStackCount(ItemPrototype const* proto) { return category->GetStackCount(proto); } + virtual PricingStrategy* GetPricingStrategy() { return category->GetPricingStrategy(); } + + private: + uint32 quality; + Category* category; + string combinedName; }; }; diff --git a/src/modules/Bots/playerbot/ChatHelper.cpp b/src/modules/Bots/playerbot/ChatHelper.cpp index 37da50c6a..09ca0c761 100644 --- a/src/modules/Bots/playerbot/ChatHelper.cpp +++ b/src/modules/Bots/playerbot/ChatHelper.cpp @@ -167,10 +167,12 @@ string ChatHelper::formatMoney(uint32 copper) { out << gold << "|TInterface\\AddOns\\AtlasLoot\\Images\\gold:0|t "; } + if (silver > 0 && gold < 50) { out << silver << "|TInterface\\AddOns\\AtlasLoot\\Images\\silver:0|t "; } + if (copper > 0 && gold < 10) { out << copper << "|TInterface\\AddOns\\AtlasLoot\\Images\\bronze:0|t"; diff --git a/src/modules/Bots/playerbot/Helpers.cpp b/src/modules/Bots/playerbot/Helpers.cpp index e75fbc52f..4fe5c5929 100644 --- a/src/modules/Bots/playerbot/Helpers.cpp +++ b/src/modules/Bots/playerbot/Helpers.cpp @@ -76,4 +76,3 @@ uint64 extractGuid(WorldPacket& packet) } return guid; } - diff --git a/src/modules/Bots/playerbot/PlayerbotAI.cpp b/src/modules/Bots/playerbot/PlayerbotAI.cpp index 47e23f239..29235efcf 100644 --- a/src/modules/Bots/playerbot/PlayerbotAI.cpp +++ b/src/modules/Bots/playerbot/PlayerbotAI.cpp @@ -965,7 +965,7 @@ bool PlayerbotAI::CanCastSpell(uint32 spellid, Unit* target, bool checkHasSpell) ObjectGuid oldSel = bot->GetSelectionGuid(); bot->SetSelectionGuid(target->GetObjectGuid()); - Spell *spell = new Spell(bot, spellInfo, false ); + Spell *spell = new Spell(bot, spellInfo, false); spell->m_targets.setUnitTarget(target); spell->m_CastItem = aiObjectContext->GetValue("item for spell", spellid)->Get(); @@ -1038,8 +1038,8 @@ bool PlayerbotAI::CastSpell(uint32 spellId, Unit* target) return false; } - bot->clearUnitState( UNIT_STAT_CHASE ); - bot->clearUnitState( UNIT_STAT_FOLLOW ); + bot->clearUnitState(UNIT_STAT_CHASE); + bot->clearUnitState(UNIT_STAT_FOLLOW); ObjectGuid oldSel = bot->GetSelectionGuid(); bot->SetSelectionGuid(target->GetObjectGuid()); @@ -1184,7 +1184,7 @@ bool PlayerbotAI::IsInterruptableSpellCasting(Unit* target, string spell) return false; } - SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellid ); + SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellid); if (!spellInfo) { return false; diff --git a/src/modules/Bots/playerbot/PlayerbotFactory.cpp b/src/modules/Bots/playerbot/PlayerbotFactory.cpp index 2a2bf675e..9cd81767c 100644 --- a/src/modules/Bots/playerbot/PlayerbotFactory.cpp +++ b/src/modules/Bots/playerbot/PlayerbotFactory.cpp @@ -378,28 +378,28 @@ bool PlayerbotFactory::CheckItemStats(uint8 sp, uint8 ap, uint8 tank) { switch (bot->getClass()) { - case CLASS_PRIEST: - case CLASS_MAGE: - case CLASS_WARLOCK: - if (!sp || ap > sp || tank > sp) - { - return false; - } - break; - case CLASS_PALADIN: - case CLASS_WARRIOR: - if ((!ap && !tank) || sp > ap || sp > tank) - { - return false; - } - break; - case CLASS_HUNTER: - case CLASS_ROGUE: - if (!ap || sp > ap || sp > tank) - { - return false; - } - break; + case CLASS_PRIEST: + case CLASS_MAGE: + case CLASS_WARLOCK: + if (!sp || ap > sp || tank > sp) + { + return false; + } + break; + case CLASS_PALADIN: + case CLASS_WARRIOR: + if ((!ap && !tank) || sp > ap || sp > tank) + { + return false; + } + break; + case CLASS_HUNTER: + case CLASS_ROGUE: + if (!ap || sp > ap || sp > tank) + { + return false; + } + break; } return sp || ap || tank; @@ -409,76 +409,76 @@ void PlayerbotFactory::AddItemStats(uint32 mod, uint8 &sp, uint8 &ap, uint8 &tan { switch (mod) { - //FOEREAPER - //case ITEM_MOD_HIT_RATING: - //case ITEM_MOD_CRIT_RATING: - //case ITEM_MOD_HASTE_RATING: - case ITEM_MOD_HEALTH: - case ITEM_MOD_STAMINA: - //case ITEM_MOD_HEALTH_REGEN: - case ITEM_MOD_MANA: - case ITEM_MOD_INTELLECT: - case ITEM_MOD_SPIRIT: - //case ITEM_MOD_MANA_REGENERATION: - //case ITEM_MOD_SPELL_POWER: - //case ITEM_MOD_SPELL_PENETRATION: - //case ITEM_MOD_HIT_SPELL_RATING: - //case ITEM_MOD_CRIT_SPELL_RATING: - //case ITEM_MOD_HASTE_SPELL_RATING: - sp++; - break; + //FOEREAPER + //case ITEM_MOD_HIT_RATING: + //case ITEM_MOD_CRIT_RATING: + //case ITEM_MOD_HASTE_RATING: + case ITEM_MOD_HEALTH: + case ITEM_MOD_STAMINA: + //case ITEM_MOD_HEALTH_REGEN: + case ITEM_MOD_MANA: + case ITEM_MOD_INTELLECT: + case ITEM_MOD_SPIRIT: + //case ITEM_MOD_MANA_REGENERATION: + //case ITEM_MOD_SPELL_POWER: + //case ITEM_MOD_SPELL_PENETRATION: + //case ITEM_MOD_HIT_SPELL_RATING: + //case ITEM_MOD_CRIT_SPELL_RATING: + //case ITEM_MOD_HASTE_SPELL_RATING: + sp++; + break; } switch (mod) { - //case ITEM_MOD_HIT_RATING: - //case ITEM_MOD_CRIT_RATING: - //case ITEM_MOD_HASTE_RATING: - case ITEM_MOD_AGILITY: - case ITEM_MOD_STRENGTH: - case ITEM_MOD_HEALTH: - case ITEM_MOD_STAMINA: - //case ITEM_MOD_HEALTH_REGEN: - //case ITEM_MOD_DEFENSE_SKILL_RATING: - //case ITEM_MOD_DODGE_RATING: - //case ITEM_MOD_PARRY_RATING: - //case ITEM_MOD_BLOCK_RATING: - //case ITEM_MOD_HIT_TAKEN_MELEE_RATING: - //case ITEM_MOD_HIT_TAKEN_RANGED_RATING: - //case ITEM_MOD_HIT_TAKEN_SPELL_RATING: - //case ITEM_MOD_CRIT_TAKEN_MELEE_RATING: - //case ITEM_MOD_CRIT_TAKEN_RANGED_RATING: - //case ITEM_MOD_CRIT_TAKEN_SPELL_RATING: - //case ITEM_MOD_HIT_TAKEN_RATING: - //case ITEM_MOD_CRIT_TAKEN_RATING: - //case ITEM_MOD_RESILIENCE_RATING: - //case ITEM_MOD_BLOCK_VALUE: - tank++; - break; + //case ITEM_MOD_HIT_RATING: + //case ITEM_MOD_CRIT_RATING: + //case ITEM_MOD_HASTE_RATING: + case ITEM_MOD_AGILITY: + case ITEM_MOD_STRENGTH: + case ITEM_MOD_HEALTH: + case ITEM_MOD_STAMINA: + //case ITEM_MOD_HEALTH_REGEN: + //case ITEM_MOD_DEFENSE_SKILL_RATING: + //case ITEM_MOD_DODGE_RATING: + //case ITEM_MOD_PARRY_RATING: + //case ITEM_MOD_BLOCK_RATING: + //case ITEM_MOD_HIT_TAKEN_MELEE_RATING: + //case ITEM_MOD_HIT_TAKEN_RANGED_RATING: + //case ITEM_MOD_HIT_TAKEN_SPELL_RATING: + //case ITEM_MOD_CRIT_TAKEN_MELEE_RATING: + //case ITEM_MOD_CRIT_TAKEN_RANGED_RATING: + //case ITEM_MOD_CRIT_TAKEN_SPELL_RATING: + //case ITEM_MOD_HIT_TAKEN_RATING: + //case ITEM_MOD_CRIT_TAKEN_RATING: + //case ITEM_MOD_RESILIENCE_RATING: + //case ITEM_MOD_BLOCK_VALUE: + tank++; + break; } switch (mod) { - case ITEM_MOD_HEALTH: - case ITEM_MOD_STAMINA: - //case ITEM_MOD_HEALTH_REGEN: - case ITEM_MOD_AGILITY: - case ITEM_MOD_STRENGTH: - //case ITEM_MOD_HIT_MELEE_RATING: - //case ITEM_MOD_HIT_RANGED_RATING: - //case ITEM_MOD_CRIT_MELEE_RATING: - //case ITEM_MOD_CRIT_RANGED_RATING: - //case ITEM_MOD_HASTE_MELEE_RATING: - //case ITEM_MOD_HASTE_RANGED_RATING: - //case ITEM_MOD_HIT_RATING: - //case ITEM_MOD_CRIT_RATING: - //case ITEM_MOD_HASTE_RATING: - //case ITEM_MOD_EXPERTISE_RATING: - //case ITEM_MOD_ATTACK_POWER: - //case ITEM_MOD_RANGED_ATTACK_POWER: - //case ITEM_MOD_ARMOR_PENETRATION_RATING: - ap++; - break; + case ITEM_MOD_HEALTH: + case ITEM_MOD_STAMINA: + //case ITEM_MOD_HEALTH_REGEN: + case ITEM_MOD_AGILITY: + case ITEM_MOD_STRENGTH: + //case ITEM_MOD_HIT_MELEE_RATING: + //case ITEM_MOD_HIT_RANGED_RATING: + //case ITEM_MOD_CRIT_MELEE_RATING: + //case ITEM_MOD_CRIT_RANGED_RATING: + //case ITEM_MOD_HASTE_MELEE_RATING: + //case ITEM_MOD_HASTE_RANGED_RATING: + //case ITEM_MOD_HIT_RATING: + //case ITEM_MOD_CRIT_RATING: + //case ITEM_MOD_HASTE_RATING: + //case ITEM_MOD_EXPERTISE_RATING: + //case ITEM_MOD_ATTACK_POWER: + //case ITEM_MOD_RANGED_ATTACK_POWER: + //case ITEM_MOD_ARMOR_PENETRATION_RATING: + ap++; + break; } } @@ -486,68 +486,68 @@ bool PlayerbotFactory::CanEquipWeapon(ItemPrototype const* proto) { switch (bot->getClass()) { - case CLASS_PRIEST: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && - proto->SubClass != ITEM_SUBCLASS_WEAPON_WAND && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE) - return false; - break; - case CLASS_MAGE: - case CLASS_WARLOCK: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && - proto->SubClass != ITEM_SUBCLASS_WEAPON_WAND && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) - return false; - break; - case CLASS_WARRIOR: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD && - proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && - proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && - proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && - proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN) - return false; - break; - case CLASS_PALADIN: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) - return false; - break; - case CLASS_SHAMAN: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF) - return false; - break; - case CLASS_DRUID: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && - proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF) - return false; - break; - case CLASS_HUNTER: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_AXE2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && - proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && - proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && - proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW) - return false; - break; - case CLASS_ROGUE: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD && - proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && - proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && - proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && - proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN) - return false; - break; + case CLASS_PRIEST: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && + proto->SubClass != ITEM_SUBCLASS_WEAPON_WAND && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE) + return false; + break; + case CLASS_MAGE: + case CLASS_WARLOCK: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF && + proto->SubClass != ITEM_SUBCLASS_WEAPON_WAND && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) + return false; + break; + case CLASS_WARRIOR: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD && + proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && + proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && + proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && + proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN) + return false; + break; + case CLASS_PALADIN: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) + return false; + break; + case CLASS_SHAMAN: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF) + return false; + break; + case CLASS_DRUID: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && + proto->SubClass != ITEM_SUBCLASS_WEAPON_STAFF) + return false; + break; + case CLASS_HUNTER: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_AXE2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD2 && + proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && + proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && + proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW) + return false; + break; + case CLASS_ROGUE: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD && + proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_GUN && + proto->SubClass != ITEM_SUBCLASS_WEAPON_CROSSBOW && + proto->SubClass != ITEM_SUBCLASS_WEAPON_BOW && + proto->SubClass != ITEM_SUBCLASS_WEAPON_THROWN) + return false; + break; } return true; @@ -641,11 +641,10 @@ void PlayerbotFactory::InitEquipment(bool incremental) } uint32 desiredQuality = itemQuality; - if (urand(0, 100) < 100 * sPlayerbotAIConfig.randomGearLoweringChance && desiredQuality > ITEM_QUALITY_NORMAL) { + if (urand(0, 100) < 100 * sPlayerbotAIConfig.randomGearLoweringChance && desiredQuality > ITEM_QUALITY_NORMAL) { desiredQuality--; } - } do { @@ -677,7 +676,9 @@ void PlayerbotFactory::InitEquipment(bool incremental) slot == EQUIPMENT_SLOT_FEET || slot == EQUIPMENT_SLOT_WRISTS || slot == EQUIPMENT_SLOT_HANDS) && !CanEquipArmor(proto)) + { continue; + } if (proto->Class == ITEM_CLASS_WEAPON && !CanEquipWeapon(proto)) { @@ -718,11 +719,10 @@ void PlayerbotFactory::InitEquipment(bool incremental) uint32 newItemId = ids[index]; Item* oldItem = bot->GetItemByPos(INVENTORY_SLOT_BAG_0, slot); - if (incremental && !IsDesiredReplacement(oldItem)) { + if (incremental && !IsDesiredReplacement(oldItem)) { continue; } - } uint16 dest; if (!CanEquipUnseenItem(slot, dest, newItemId)) @@ -802,22 +802,22 @@ void PlayerbotFactory::InitSecondEquipmentSet() { switch (existingItem->GetProto()->SubClass) { - case ITEM_SUBCLASS_WEAPON_AXE: - case ITEM_SUBCLASS_WEAPON_DAGGER: - case ITEM_SUBCLASS_WEAPON_FIST: - case ITEM_SUBCLASS_WEAPON_MACE: - case ITEM_SUBCLASS_WEAPON_SWORD: - if (proto->SubClass == ITEM_SUBCLASS_WEAPON_AXE || proto->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER || - proto->SubClass == ITEM_SUBCLASS_WEAPON_FIST || proto->SubClass == ITEM_SUBCLASS_WEAPON_MACE || - proto->SubClass == ITEM_SUBCLASS_WEAPON_SWORD) - continue; - break; - default: - if (proto->SubClass != ITEM_SUBCLASS_WEAPON_AXE && proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && - proto->SubClass != ITEM_SUBCLASS_WEAPON_FIST && proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && - proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) - continue; - break; + case ITEM_SUBCLASS_WEAPON_AXE: + case ITEM_SUBCLASS_WEAPON_DAGGER: + case ITEM_SUBCLASS_WEAPON_FIST: + case ITEM_SUBCLASS_WEAPON_MACE: + case ITEM_SUBCLASS_WEAPON_SWORD: + if (proto->SubClass == ITEM_SUBCLASS_WEAPON_AXE || proto->SubClass == ITEM_SUBCLASS_WEAPON_DAGGER || + proto->SubClass == ITEM_SUBCLASS_WEAPON_FIST || proto->SubClass == ITEM_SUBCLASS_WEAPON_MACE || + proto->SubClass == ITEM_SUBCLASS_WEAPON_SWORD) + continue; + break; + default: + if (proto->SubClass != ITEM_SUBCLASS_WEAPON_AXE && proto->SubClass != ITEM_SUBCLASS_WEAPON_DAGGER && + proto->SubClass != ITEM_SUBCLASS_WEAPON_FIST && proto->SubClass != ITEM_SUBCLASS_WEAPON_MACE && + proto->SubClass != ITEM_SUBCLASS_WEAPON_SWORD) + continue; + break; } } } @@ -1050,22 +1050,22 @@ void PlayerbotFactory::InitTradeSkills() vector secondSkills; switch (bot->getClass()) { - case CLASS_WARRIOR: - case CLASS_PALADIN: - firstSkills.push_back(SKILL_MINING); - secondSkills.push_back(SKILL_BLACKSMITHING); - secondSkills.push_back(SKILL_ENGINEERING); - break; - case CLASS_SHAMAN: - case CLASS_DRUID: - case CLASS_HUNTER: - case CLASS_ROGUE: - firstSkills.push_back(SKILL_SKINNING); - secondSkills.push_back(SKILL_LEATHERWORKING); - break; - default: - firstSkills.push_back(SKILL_TAILORING); - secondSkills.push_back(SKILL_ENCHANTING); + case CLASS_WARRIOR: + case CLASS_PALADIN: + firstSkills.push_back(SKILL_MINING); + secondSkills.push_back(SKILL_BLACKSMITHING); + secondSkills.push_back(SKILL_ENGINEERING); + break; + case CLASS_SHAMAN: + case CLASS_DRUID: + case CLASS_HUNTER: + case CLASS_ROGUE: + firstSkills.push_back(SKILL_SKINNING); + secondSkills.push_back(SKILL_LEATHERWORKING); + break; + default: + firstSkills.push_back(SKILL_TAILORING); + secondSkills.push_back(SKILL_ENCHANTING); } SetRandomSkill(SKILL_FIRST_AID); @@ -1074,22 +1074,22 @@ void PlayerbotFactory::InitTradeSkills() switch (urand(0, 1)) { - case 0: - SetRandomSkill(SKILL_HERBALISM); - SetRandomSkill(SKILL_ALCHEMY); - break; - /*case 1: - SetRandomSkill(SKILL_HERBALISM); - SetRandomSkill(SKILL_INSCRIPTION); - break; - case 2: - SetRandomSkill(SKILL_MINING); - SetRandomSkill(SKILL_JEWELCRAFTING); - break;*/ - case 1://3: - SetRandomSkill(firstSkills[urand(0, firstSkills.size() - 1)]); - SetRandomSkill(secondSkills[urand(0, secondSkills.size() - 1)]); - break; + case 0: + SetRandomSkill(SKILL_HERBALISM); + SetRandomSkill(SKILL_ALCHEMY); + break; + /*case 1: + SetRandomSkill(SKILL_HERBALISM); + SetRandomSkill(SKILL_INSCRIPTION); + break; + case 2: + SetRandomSkill(SKILL_MINING); + SetRandomSkill(SKILL_JEWELCRAFTING); + break;*/ + case 1://3: + SetRandomSkill(firstSkills[urand(0, firstSkills.size() - 1)]); + SetRandomSkill(secondSkills[urand(0, secondSkills.size() - 1)]); + break; } } @@ -1148,14 +1148,14 @@ void PlayerbotFactory::InitSkills() uint32 skillLevel = bot->getLevel() < 40 ? 0 : 1; switch (bot->getClass()) { - //case CLASS_DEATH_KNIGHT: - case CLASS_WARRIOR: - case CLASS_PALADIN: - bot->SetSkill(SKILL_PLATE_MAIL, skillLevel, skillLevel); - break; - case CLASS_SHAMAN: - case CLASS_HUNTER: - bot->SetSkill(SKILL_MAIL, skillLevel, skillLevel); + //case CLASS_DEATH_KNIGHT: + case CLASS_WARRIOR: + case CLASS_PALADIN: + bot->SetSkill(SKILL_PLATE_MAIL, skillLevel, skillLevel); + break; + case CLASS_SHAMAN: + case CLASS_HUNTER: + bot->SetSkill(SKILL_MAIL, skillLevel, skillLevel); } } @@ -1206,7 +1206,7 @@ void PlayerbotFactory::InitAvailableSpells() continue; } - for (TrainerSpellMap::const_iterator itr = trainer_spells->spellList.begin(); itr != trainer_spells->spellList.end(); ++itr) + for (TrainerSpellMap::const_iterator itr = trainer_spells->spellList.begin(); itr != trainer_spells->spellList.end(); ++itr) { TrainerSpell const* tSpell = &itr->second; @@ -1505,7 +1505,9 @@ void PlayerbotFactory::InitPotions() proto->SubClass != ITEM_SUBCLASS_POTION || proto->Spells[0].SpellCategory != 4 || proto->Bonding != NO_BIND) + { continue; + } if (proto->RequiredLevel > bot->getLevel() || proto->RequiredLevel < bot->getLevel() - 10) { @@ -1577,7 +1579,9 @@ void PlayerbotFactory::InitFood() proto->SubClass != ITEM_SUBCLASS_FOOD || (proto->Spells[0].SpellCategory != 11 && proto->Spells[0].SpellCategory != 59) || proto->Bonding != NO_BIND) + { continue; + } if (proto->RequiredLevel > bot->getLevel() || proto->RequiredLevel < bot->getLevel() - 10) { @@ -1618,7 +1622,6 @@ void PlayerbotFactory::InitFood() } } - void PlayerbotFactory::CancelAuras() { bot->RemoveAllAuras(); @@ -1633,38 +1636,33 @@ void PlayerbotFactory::InitInventory() void PlayerbotFactory::InitInventorySkill() { - if (bot->HasSkill(SKILL_MINING)) { + if (bot->HasSkill(SKILL_MINING)) { StoreItem(2901, 1); // Mining Pick } - } /*if (bot->HasSkill(SKILL_JEWELCRAFTING)) { StoreItem(20815, 1); // Jeweler's Kit StoreItem(20824, 1); // Simple Grinder }*/ - if (bot->HasSkill(SKILL_BLACKSMITHING) || bot->HasSkill(SKILL_ENGINEERING)) { + if (bot->HasSkill(SKILL_BLACKSMITHING) || bot->HasSkill(SKILL_ENGINEERING)) { StoreItem(5956, 1); // Blacksmith Hammer } - } - if (bot->HasSkill(SKILL_ENGINEERING)) { + if (bot->HasSkill(SKILL_ENGINEERING)) { StoreItem(6219, 1); // Arclight Spanner } - } - if (bot->HasSkill(SKILL_ENCHANTING)) { + if (bot->HasSkill(SKILL_ENCHANTING)) { StoreItem(16207, 1); // Runed Arcanite Rod } - } /*if (bot->HasSkill(SKILL_INSCRIPTION)) { StoreItem(39505, 1); // Virtuoso Inking Set }*/ - if (bot->HasSkill(SKILL_SKINNING)) { + if (bot->HasSkill(SKILL_SKINNING)) { StoreItem(7005, 1); // Skinning Knife } - } } Item* PlayerbotFactory::StoreItem(uint32 itemId, uint32 count) @@ -1735,18 +1733,18 @@ void PlayerbotFactory::InitInventoryTrade() uint32 count = 1, stacks = 1; switch (proto->Quality) { - case ITEM_QUALITY_NORMAL: - count = proto->GetMaxStackSize(); - stacks = urand(1, 7) / auctionbot.GetRarityPriceMultiplier(proto); - break; - case ITEM_QUALITY_UNCOMMON: - stacks = 1; - count = urand(1, proto->GetMaxStackSize()); - break; - case ITEM_QUALITY_RARE: - stacks = 1; - count = urand(1, min(uint32(3), proto->GetMaxStackSize())); - break; + case ITEM_QUALITY_NORMAL: + count = proto->GetMaxStackSize(); + stacks = urand(1, 7) / auctionbot.GetRarityPriceMultiplier(proto); + break; + case ITEM_QUALITY_UNCOMMON: + stacks = 1; + count = urand(1, proto->GetMaxStackSize()); + break; + case ITEM_QUALITY_RARE: + stacks = 1; + count = urand(1, min(uint32(3), proto->GetMaxStackSize())); + break; } for (uint32 i = 0; i < stacks; i++) @@ -1760,11 +1758,10 @@ void PlayerbotFactory::InitInventoryEquip() vector ids; uint32 desiredQuality = itemQuality; - if (urand(0, 100) < 100 * sPlayerbotAIConfig.randomGearLoweringChance && desiredQuality > ITEM_QUALITY_NORMAL) { + if (urand(0, 100) < 100 * sPlayerbotAIConfig.randomGearLoweringChance && desiredQuality > ITEM_QUALITY_NORMAL) { desiredQuality--; } - } for (uint32 itemId = 0; itemId < sItemStorage.GetMaxEntry(); ++itemId) { @@ -1776,7 +1773,9 @@ void PlayerbotFactory::InitInventoryEquip() if (proto->Class != ITEM_CLASS_ARMOR && proto->Class != ITEM_CLASS_WEAPON || (proto->Bonding == BIND_WHEN_PICKED_UP || proto->Bonding == BIND_WHEN_USE)) + { continue; + } if (proto->Class == ITEM_CLASS_ARMOR && !CanEquipArmor(proto)) { diff --git a/src/modules/Bots/playerbot/RandomPlayerbotFactory.cpp b/src/modules/Bots/playerbot/RandomPlayerbotFactory.cpp index 51d11efe6..06b210812 100644 --- a/src/modules/Bots/playerbot/RandomPlayerbotFactory.cpp +++ b/src/modules/Bots/playerbot/RandomPlayerbotFactory.cpp @@ -99,7 +99,7 @@ bool RandomPlayerbotFactory::CreateRandomBot(uint8 cls) delete session; delete player; sLog.outError("Unable to create random bot for account %d - name: \"%s\"; race: %u; class: %u; gender: %u; skin: %u; face: %u; hairStyle: %u; hairColor: %u; facialHair: %u; outfitId: %u", - accountId, name.c_str(), race, cls, gender, skin, face, hairStyle, hairColor, facialHair, outfitId); + accountId, name.c_str(), race, cls, gender, skin, face, hairStyle, hairColor, facialHair, outfitId); return false; } @@ -108,7 +108,7 @@ bool RandomPlayerbotFactory::CreateRandomBot(uint8 cls) player->SaveToDB(); sLog.outDetail("Random bot created for account %d - name: \"%s\"; race: %u; class: %u; gender: %u; skin: %u; face: %u; hairStyle: %u; hairColor: %u; facialHair: %u; outfitId: %u", - accountId, name.c_str(), race, cls, gender, skin, face, hairStyle, hairColor, facialHair, outfitId); + accountId, name.c_str(), race, cls, gender, skin, face, hairStyle, hairColor, facialHair, outfitId); return true; } diff --git a/src/modules/Bots/playerbot/RandomPlayerbotMgr.cpp b/src/modules/Bots/playerbot/RandomPlayerbotMgr.cpp index 7af151771..37579b105 100644 --- a/src/modules/Bots/playerbot/RandomPlayerbotMgr.cpp +++ b/src/modules/Bots/playerbot/RandomPlayerbotMgr.cpp @@ -36,7 +36,7 @@ void RandomPlayerbotMgr::UpdateAIInternal(uint32 elapsed) { maxAllowedBotCount = urand(sPlayerbotAIConfig.minRandomBots, sPlayerbotAIConfig.maxRandomBots); SetEventValue(0, "bot_count", maxAllowedBotCount, - urand(sPlayerbotAIConfig.randomBotCountChangeMinInterval, sPlayerbotAIConfig.randomBotCountChangeMaxInterval)); + urand(sPlayerbotAIConfig.randomBotCountChangeMinInterval, sPlayerbotAIConfig.randomBotCountChangeMaxInterval)); } list bots = GetBots(); @@ -351,7 +351,7 @@ void RandomPlayerbotMgr::Randomize(Player* bot) void RandomPlayerbotMgr::IncreaseLevel(Player* bot) { uint32 maxLevel = sWorld.getConfig(CONFIG_UINT32_MAX_PLAYER_LEVEL); - uint32 level = min(bot->getLevel() + 1, maxLevel); + uint32 level = min((uint32)(bot->getLevel() + 1), maxLevel); PlayerbotFactory factory(bot, level); if (bot->GetGuildId()) { @@ -379,7 +379,7 @@ void RandomPlayerbotMgr::RandomizeFirst(Player* bot) vector locs; GameTeleMap const & teleMap = sObjectMgr.GetGameTeleMap(); - for(GameTeleMap::const_iterator itr = teleMap.begin(); itr != teleMap.end(); ++itr) + for (GameTeleMap::const_iterator itr = teleMap.begin(); itr != teleMap.end(); ++itr) { GameTele const* tele = &itr->second; if (tele->mapId == mapId) @@ -462,7 +462,7 @@ void RandomPlayerbotMgr::Refresh(Player* bot) bot->GetPlayerbotAI()->Reset(); HostileReference *ref = bot->GetHostileRefManager().getFirst(); - while( ref ) + while (ref) { ThreatManager *threatManager = ref->getSource(); Unit *unit = threatManager->getOwner(); @@ -890,7 +890,7 @@ void RandomPlayerbotMgr::PrintStats() continue; } - uint32 from = i*10; + uint32 from = i * 10; uint32 to = min(from + 9, maxLevel); if (!from) { diff --git a/src/modules/Bots/playerbot/strategy/Engine.cpp b/src/modules/Bots/playerbot/strategy/Engine.cpp index bdf6738c5..0fa9fd115 100644 --- a/src/modules/Bots/playerbot/strategy/Engine.cpp +++ b/src/modules/Bots/playerbot/strategy/Engine.cpp @@ -133,7 +133,8 @@ bool Engine::DoNextAction(Unit* unit, int depth) int iterationsPerTick = queue.Size() * sPlayerbotAIConfig.iterationsPerTick; do { basket = queue.Peek(); - if (basket) { + if (basket) + { if (++iterations > iterationsPerTick) { break; @@ -426,6 +427,7 @@ void Engine::ProcessTriggers() MultiplyAndPush(node->getHandlers(), 0.0f, false, event); } } + for (list::iterator i = triggers.begin(); i != triggers.end(); i++) { Trigger* trigger = (*i)->getTrigger(); @@ -574,5 +576,5 @@ void Engine::LogValues() } string text = ai->GetAiObjectContext()->FormatValues(); - sLog.outDebug("Values for %s: %s", bot->GetName(), text.c_str()); + sLog.outDebug( "Values for %s: %s", bot->GetName(), text.c_str()); } diff --git a/src/modules/Bots/playerbot/strategy/Trigger.h b/src/modules/Bots/playerbot/strategy/Trigger.h index d36c76782..ed1ca2bad 100644 --- a/src/modules/Bots/playerbot/strategy/Trigger.h +++ b/src/modules/Bots/playerbot/strategy/Trigger.h @@ -41,10 +41,9 @@ namespace ai virtual string GetTargetName() { return "self target"; } bool needCheck() { - if (++ticksElapsed >= checkInterval) { + if (++ticksElapsed >= checkInterval) { ticksElapsed = 0; - } return true; } return false; diff --git a/src/modules/Bots/playerbot/strategy/Value.h b/src/modules/Bots/playerbot/strategy/Value.h index e0ba55f7f..04d5f4234 100644 --- a/src/modules/Bots/playerbot/strategy/Value.h +++ b/src/modules/Bots/playerbot/strategy/Value.h @@ -36,10 +36,9 @@ namespace ai public: virtual T Get() { - if (ticksElapsed >= checkInterval) { + if (ticksElapsed >= checkInterval) { ticksElapsed = 0; - } value = Calculate(); } return value; @@ -47,11 +46,10 @@ namespace ai virtual void Set(T value) { this->value = value; } virtual void Update() { - if (ticksElapsed < checkInterval) { + if (ticksElapsed < checkInterval) { ticksElapsed++; } - } } protected: