mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 19:51:29 +00:00
Merge branch 'master' of https://github.com/EQEmu/Server
This commit is contained in:
commit
7a791dda3c
@ -905,6 +905,8 @@ void Client::CompleteConnect()
|
|||||||
entity_list.RefreshClientXTargets(this);
|
entity_list.RefreshClientXTargets(this);
|
||||||
|
|
||||||
worldserver.RequestTellQueue(GetName());
|
worldserver.RequestTellQueue(GetName());
|
||||||
|
|
||||||
|
entity_list.ScanCloseMobs(close_mobs, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// connecting opcode handlers
|
// connecting opcode handlers
|
||||||
|
|||||||
@ -256,28 +256,7 @@ bool Client::Process() {
|
|||||||
* Used in aggro checks
|
* Used in aggro checks
|
||||||
*/
|
*/
|
||||||
if (mob_close_scan_timer.Check()) {
|
if (mob_close_scan_timer.Check()) {
|
||||||
close_mobs.clear();
|
entity_list.ScanCloseMobs(close_mobs, this);
|
||||||
|
|
||||||
float scan_range = RuleI(Range, MobCloseScanDistance) * RuleI(Range, MobCloseScanDistance);
|
|
||||||
auto &mob_list = entity_list.GetMobList();
|
|
||||||
|
|
||||||
for (auto itr : mob_list) {
|
|
||||||
Mob *mob = itr.second;
|
|
||||||
float distance = DistanceSquared(m_Position, mob->GetPosition());
|
|
||||||
|
|
||||||
if (mob->GetID() <= 0) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mob->IsNPC() || mob->IsClient()) {
|
|
||||||
if (distance <= scan_range) {
|
|
||||||
close_mobs.insert(std::pair<uint16, Mob *>(mob->GetID(), mob));
|
|
||||||
}
|
|
||||||
else if ((mob->GetAggroRange() * mob->GetAggroRange()) > scan_range) {
|
|
||||||
close_mobs.insert(std::pair<uint16, Mob *>(mob->GetID(), mob));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool may_use_attacks = false;
|
bool may_use_attacks = false;
|
||||||
|
|||||||
@ -2654,7 +2654,12 @@ void EntityList::ScanCloseMobs(std::unordered_map<uint16, Mob *> &close_mobs, Mo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LogAIScanClose("Close List Size [{}] for mob [{}]", close_mobs.size(), scanning_mob->GetCleanName());
|
LogAIScanClose(
|
||||||
|
"[{}] Scanning Close List | list_size [{}] moving [{}]",
|
||||||
|
scanning_mob->GetCleanName(),
|
||||||
|
close_mobs.size(),
|
||||||
|
scanning_mob->IsMoving() ? "true" : "false"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EntityList::RemoveMerc(uint16 delete_id)
|
bool EntityList::RemoveMerc(uint16 delete_id)
|
||||||
|
|||||||
@ -705,12 +705,6 @@ bool NPC::Process()
|
|||||||
SpellProcess();
|
SpellProcess();
|
||||||
|
|
||||||
if (mob_scan_close.Check()) {
|
if (mob_scan_close.Check()) {
|
||||||
LogAIScanClose(
|
|
||||||
"is_moving [{}] npc [{}] timer [{}]",
|
|
||||||
moving ? "true" : "false",
|
|
||||||
GetCleanName(),
|
|
||||||
mob_scan_close.GetDuration()
|
|
||||||
);
|
|
||||||
|
|
||||||
entity_list.ScanCloseMobs(close_mobs, this);
|
entity_list.ScanCloseMobs(close_mobs, this);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user