Merge pull request #538 from liyunfan1223/disable_test_items

Disable test items (and gems)
This commit is contained in:
Yunfan Li
2024-09-21 17:17:32 +08:00
committed by GitHub
5 changed files with 22 additions and 14 deletions

View File

@@ -967,15 +967,6 @@ void RandomItemMgr::BuildItemInfoCache()
if (!proto)
continue;
// skip non armor/weapon
if (proto->Class != ITEM_CLASS_WEAPON && proto->Class != ITEM_CLASS_ARMOR &&
proto->Class != ITEM_CLASS_CONTAINER && proto->Class != ITEM_CLASS_PROJECTILE &&
proto->Class != ITEM_CLASS_GEM)
continue;
// if (!CanEquipItemNew(proto))
// continue;
// skip test items
if (strstr(proto->Name1.c_str(), "(Test)") || strstr(proto->Name1.c_str(), "(TEST)") ||
strstr(proto->Name1.c_str(), "(test)") || strstr(proto->Name1.c_str(), "(JEFFTEST)") ||

View File

@@ -116,9 +116,6 @@ void PlayerbotFactory::Init()
if (id == 47181 || id == 50358 || id == 47242 || id == 52639 || id == 47147 || id == 7218) // Test Enchant
continue;
if (strstr(spellInfo->SpellName[0], "Test"))
continue;
uint32 requiredLevel = spellInfo->BaseLevel;
for (uint8 j = 0; j < MAX_SPELL_EFFECTS; ++j)
@@ -137,8 +134,11 @@ void PlayerbotFactory::Init()
// SpellInfo const* enchantSpell = sSpellMgr->GetSpellInfo(enchant->spellid[0]);
// if (!enchantSpell)
// continue;
if (strstr(spellInfo->SpellName[0], "Test"))
break;
enchantSpellIdCache.push_back(id);
break;
// LOG_INFO("playerbots", "Add {} to enchantment spells", id);
}
}
@@ -161,6 +161,7 @@ void PlayerbotFactory::Init()
}
if (sRandomItemMgr->IsTestItem(gemId))
continue;
if (!proto || !sGemPropertiesStore.LookupEntry(proto->GemProperties))
{
continue;

View File

@@ -229,6 +229,12 @@ bool StatsCollector::SpecialSpellFilter(uint32 spellId) {
// trinket
switch (spellId)
{
case 27521: // Insightful Earthstorm Diamond
stats[STATS_TYPE_MANA_REGENERATION] += 20;
return true;
case 55381: // Insightful Earthsiege Diamond
stats[STATS_TYPE_MANA_REGENERATION] += 40;
return true;
case 39442: // Darkmoon Card: Wrath
if (type_ != CollectorType::SPELL_HEAL)
stats[STATS_TYPE_CRIT] += 50;
@@ -669,6 +675,16 @@ void StatsCollector::HandleApplyAura(const SpellEffectInfo& effectInfo, float mu
CollectSpellStats(effectInfo.TriggerSpell, multiplier, triggerCooldown);
break;
}
case SPELL_AURA_MOD_CRIT_DAMAGE_BONUS:
{
if (type_ != CollectorType::SPELL_HEAL)
{
int32 statType = effectInfo.MiscValue;
if (statType & SPELL_SCHOOL_MASK_NORMAL) // physical
stats[STATS_TYPE_CRIT] += 30 * val * multiplier;
}
break;
}
default:
break;
}

View File

@@ -1893,7 +1893,7 @@ bool AvoidAoeAction::AvoidGameObjectWithDamage()
continue;
}
float radius = (float)goInfo->trap.diameter / 2;
float radius = (float)goInfo->trap.diameter / 2 + go->GetCombatReach();
if (!radius || radius > sPlayerbotAIConfig->maxAoeAvoidRadius)
continue;
// for (int i = 0; i < MAX_SPELL_EFFECTS; i++) {

View File

@@ -663,7 +663,7 @@ WorldLocation MoveFormation::MoveSingleLine(std::vector<Player*> line, float dif
float lz = cz;
Player* master = botAI->GetMaster();
if (!master->GetMap()->CheckCollisionAndGetValidCoords(
if (!master || !master->GetMap()->CheckCollisionAndGetValidCoords(
master, master->GetPositionX(), master->GetPositionY(), master->GetPositionZ(), lx, ly, lz))
{
lx = x + cos(angle) * radius;