InLiquid converted to xyz_location

This commit is contained in:
Arthur Ice
2014-11-26 19:32:46 -08:00
parent 29573d7d19
commit 6cd614a05e
6 changed files with 119 additions and 118 deletions
+10 -8
View File
@@ -199,7 +199,7 @@ void HateList::Add(Mob *ent, int32 in_hate, int32 in_dam, bool bFrenzy, bool iAd
parse->EventNPC(EVENT_HATE_LIST, owner->CastToNPC(), ent, "1", 0);
if (ent->IsClient()) {
if (owner->CastToNPC()->IsRaidTarget())
if (owner->CastToNPC()->IsRaidTarget())
ent->CastToClient()->SetEngagedRaidTarget(true);
ent->CastToClient()->IncrementAggroCount();
}
@@ -222,7 +222,7 @@ bool HateList::RemoveEnt(Mob *ent)
parse->EventNPC(EVENT_HATE_LIST, owner->CastToNPC(), ent, "0", 0);
found = true;
if(ent && ent->IsClient())
ent->CastToClient()->DecrementAggroCount();
@@ -263,11 +263,11 @@ int HateList::SummonedPetCount(Mob *hater) {
auto iterator = list.begin();
while(iterator != list.end()) {
if((*iterator)->ent != nullptr && (*iterator)->ent->IsNPC() && ((*iterator)->ent->CastToNPC()->IsPet() || ((*iterator)->ent->CastToNPC()->GetSwarmOwner() > 0)))
if((*iterator)->ent != nullptr && (*iterator)->ent->IsNPC() && ((*iterator)->ent->CastToNPC()->IsPet() || ((*iterator)->ent->CastToNPC()->GetSwarmOwner() > 0)))
{
++petcount;
}
++iterator;
}
@@ -303,15 +303,16 @@ Mob *HateList::GetTop(Mob *center)
continue;
}
auto hateEntryPosition = xyz_location(cur->ent->GetX(), cur->ent->GetY(), cur->ent->GetZ());
if(center->IsNPC() && center->CastToNPC()->IsUnderwaterOnly() && zone->HasWaterMap()) {
if(!zone->watermap->InLiquid(cur->ent->GetX(), cur->ent->GetY(), cur->ent->GetZ())) {
if(!zone->watermap->InLiquid(hateEntryPosition)) {
skipped_count++;
++iterator;
continue;
}
}
if (cur->ent->Sanctuary()) {
if (cur->ent->Sanctuary()) {
if(hate == -1)
{
top = cur->ent;
@@ -428,8 +429,9 @@ Mob *HateList::GetTop(Mob *center)
while(iterator != list.end())
{
tHateEntry *cur = (*iterator);
auto hateEntryPosition = xyz_location(cur->ent->GetX(), cur->ent->GetY(), cur->ent->GetZ());
if(center->IsNPC() && center->CastToNPC()->IsUnderwaterOnly() && zone->HasWaterMap()) {
if(!zone->watermap->InLiquid(cur->ent->GetX(), cur->ent->GetY(), cur->ent->GetZ())) {
if(!zone->watermap->InLiquid(hateEntryPosition)) {
skipped_count++;
++iterator;
continue;
@@ -488,7 +490,7 @@ Mob *HateList::GetRandom()
int random = MakeRandomInt(0, count - 1);
for (int i = 0; i < random; i++)
++iterator;
return (*iterator)->ent;
}