Treat bots like PCs for pcnpc_only_flag

This commit is contained in:
Michael Cook (mackal) 2020-01-15 19:30:47 -05:00
parent 79db824a3c
commit d5067c4c3a
3 changed files with 8 additions and 6 deletions

View File

@ -809,11 +809,13 @@ void EntityList::AESpell(
* 1 = PC * 1 = PC
* 2 = NPC * 2 = NPC
*/ */
if (spells[spell_id].pcnpc_only_flag == 1 && !current_mob->IsClient() && !current_mob->IsMerc()) { if (spells[spell_id].pcnpc_only_flag == 1 && !current_mob->IsClient() && !current_mob->IsMerc() &&
!current_mob->IsBot()) {
continue; continue;
} }
if (spells[spell_id].pcnpc_only_flag == 2 && (current_mob->IsClient() || current_mob->IsMerc())) { if (spells[spell_id].pcnpc_only_flag == 2 &&
(current_mob->IsClient() || current_mob->IsMerc() || current_mob->IsBot())) {
continue; continue;
} }

View File

@ -4960,10 +4960,10 @@ void EntityList::GetTargetsForConeArea(Mob *start, float min_radius, float radiu
continue; continue;
} }
// check PC/NPC only flag 1 = PCs, 2 = NPCs // check PC/NPC only flag 1 = PCs, 2 = NPCs
if (pcnpc == 1 && !ptr->IsClient() && !ptr->IsMerc()) { if (pcnpc == 1 && !ptr->IsClient() && !ptr->IsMerc() && !ptr->IsBot()) {
++it; ++it;
continue; continue;
} else if (pcnpc == 2 && (ptr->IsClient() || ptr->IsMerc())) { } else if (pcnpc == 2 && (ptr->IsClient() || ptr->IsMerc() || ptr->IsBot())) {
++it; ++it;
continue; continue;
} }

View File

@ -3455,9 +3455,9 @@ bool Mob::SpellOnTarget(uint16 spell_id, Mob *spelltar, bool reflect, bool use_r
// 1 = PCs, 2 = NPCs // 1 = PCs, 2 = NPCs
if (spells[spell_id].pcnpc_only_flag && spells[spell_id].targettype != ST_AETargetHateList && if (spells[spell_id].pcnpc_only_flag && spells[spell_id].targettype != ST_AETargetHateList &&
spells[spell_id].targettype != ST_HateList) { spells[spell_id].targettype != ST_HateList) {
if (spells[spell_id].pcnpc_only_flag == 1 && !spelltar->IsClient() && !spelltar->IsMerc()) if (spells[spell_id].pcnpc_only_flag == 1 && !spelltar->IsClient() && !spelltar->IsMerc() && !spelltar->IsBot())
return false; return false;
else if (spells[spell_id].pcnpc_only_flag == 2 && (spelltar->IsClient() || spelltar->IsMerc())) else if (spells[spell_id].pcnpc_only_flag == 2 && (spelltar->IsClient() || spelltar->IsMerc() || spelltar->IsBot()))
return false; return false;
} }