mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-22 16:28:28 +00:00
[Bug Fix] Fix issue with NPCs no longer using some armor. (#3318)
* [BugFix/NPCs] Fix issue with NPCs no longer using some armor. * Removed redundant memory clear
This commit is contained in:
+5
-11
@@ -58,16 +58,10 @@ void Mob::CalcBonuses()
|
||||
void NPC::CalcBonuses()
|
||||
{
|
||||
memset(&itembonuses, 0, sizeof(StatBonuses));
|
||||
if (RuleB(NPC, UseItemBonusesForNonPets)) {
|
||||
memset(&itembonuses, 0, sizeof(StatBonuses));
|
||||
|
||||
if (GetOwner() || RuleB(NPC, UseItemBonusesForNonPets)) {
|
||||
CalcItemBonuses(&itembonuses);
|
||||
}
|
||||
else {
|
||||
if (GetOwner()) {
|
||||
memset(&itembonuses, 0, sizeof(StatBonuses));
|
||||
CalcItemBonuses(&itembonuses);
|
||||
}
|
||||
}
|
||||
|
||||
// This has to happen last, so we actually take the item bonuses into account.
|
||||
Mob::CalcBonuses();
|
||||
@@ -268,7 +262,7 @@ void Mob::AddItemBonuses(const EQ::ItemInstance* inst, StatBonuses* b, bool is_a
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_tribute && !inst->IsEquipable(GetBaseRace(), GetClass())) {
|
||||
if (IsClient() && !is_tribute && !inst->IsEquipable(GetBaseRace(), GetClass())) {
|
||||
if (item->ItemType != EQ::item::ItemTypeFood && item->ItemType != EQ::item::ItemTypeDrink) {
|
||||
return;
|
||||
}
|
||||
@@ -276,14 +270,14 @@ void Mob::AddItemBonuses(const EQ::ItemInstance* inst, StatBonuses* b, bool is_a
|
||||
|
||||
const auto current_level = GetLevel();
|
||||
|
||||
if (current_level < inst->GetItemRequiredLevel(true)) {
|
||||
if (IsClient() && current_level < inst->GetItemRequiredLevel(true)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!is_ammo_item) {
|
||||
const auto recommended_level = is_augment ? recommended_level_override : inst->GetItemRecommendedLevel(true);
|
||||
|
||||
if (current_level >= recommended_level) {
|
||||
if (IsNPC() || current_level >= recommended_level) {
|
||||
b->HP += item->HP;
|
||||
b->Mana += item->Mana;
|
||||
b->Endurance += item->Endur;
|
||||
|
||||
Reference in New Issue
Block a user