Gear score

This commit is contained in:
Yunfan Li
2024-04-08 22:09:18 +08:00
parent 44b7615fbe
commit 6b49af345f

View File

@@ -3750,25 +3750,25 @@ float PlayerbotFactory::CalculateItemScore(uint32 item_id, Player* bot)
score *= 0.5; score *= 0.5;
} }
// spec without double hand // spec without double hand
// enhancement, rogue, ice dk, shield tank, fury warrior without titan's grip but with duel wield // enhancement, rogue, ice dk, unholy dk, shield tank, fury warrior without titan's grip but with duel wield
if (isDoubleHand && if (isDoubleHand &&
((cls == CLASS_SHAMAN && tab == 1 && bot->HasSpell(674)) || ((cls == CLASS_SHAMAN && tab == 1 && bot->CanDualWield()) ||
(cls == CLASS_ROGUE) || (cls == CLASS_ROGUE) ||
(cls == CLASS_DEATH_KNIGHT && tab == 1) || (cls == CLASS_DEATH_KNIGHT && tab != 0) ||
(cls == CLASS_WARRIOR && tab == 1 && !bot->HasAura(49152) && bot->HasSpell(674)) || (cls == CLASS_WARRIOR && tab == 1 && !bot->CanTitanGrip() && bot->CanDualWield()) ||
IsShieldTank(bot))) { IsShieldTank(bot))) {
score *= 0.1; score *= 0.1;
} }
// spec with double hand // spec with double hand
// fury with titan's grip, fury without duel wield, arms, bear, retribution, blood dk // fury with titan's grip, fury without duel wield, arms, bear, retribution, blood dk
if (isDoubleHand && if (isDoubleHand &&
((cls == CLASS_WARRIOR && tab == WARRIOR_TAB_FURY && bot->HasAura(49152)) || ((cls == CLASS_WARRIOR && tab == WARRIOR_TAB_FURY && bot->CanTitanGrip()) ||
(cls == CLASS_WARRIOR && tab == WARRIOR_TAB_FURY && !bot->HasSpell(674)) || (cls == CLASS_WARRIOR && tab == WARRIOR_TAB_FURY && !bot->CanDualWield()) ||
(cls == CLASS_WARRIOR && tab == WARRIOR_TAB_ARMS) || (cls == CLASS_WARRIOR && tab == WARRIOR_TAB_ARMS) ||
(cls == CLASS_DRUID && tab == 1) || (cls == CLASS_DRUID && tab == 1) ||
(cls == CLASS_PALADIN && tab == 2) || (cls == CLASS_PALADIN && tab == 2) ||
(cls == CLASS_DEATH_KNIGHT && tab == 0) || (cls == CLASS_DEATH_KNIGHT && tab == 0) ||
(cls == CLASS_SHAMAN && tab == 1 && !bot->HasSpell(674)))) { (cls == CLASS_SHAMAN && tab == 1 && !bot->CanDualWield()))) {
score *= 10; score *= 10;
} }
} }
@@ -3780,6 +3780,9 @@ float PlayerbotFactory::CalculateItemScore(uint32 item_id, Player* bot)
score *= 0.1; score *= 0.1;
} }
} }
if (proto->ItemSet != 0) {
score *= 1.1;
}
return (0.0001 + score) * itemLevel * (quality + 1); return (0.0001 + score) * itemLevel * (quality + 1);
} }