demonstar55's entity list changes (slightly modified) and a crash fix for the #repop command used in rapid succession.

This commit is contained in:
SecretsOTheP
2014-02-10 10:39:12 -05:00
parent 75663774fe
commit f074ead7f6
13 changed files with 2226 additions and 2945 deletions
+8 -12
View File
@@ -203,16 +203,14 @@ void Trap::Trigger(Mob* trigger)
}
Trap* EntityList::FindNearbyTrap(Mob* searcher, float max_dist) {
LinkedListIterator<Trap*> iterator(trap_list);
iterator.Reset();
float dist = 999999;
Trap* current_trap = nullptr;
float max_dist2 = max_dist*max_dist;
Trap *cur;
while(iterator.MoreElements())
{
cur = iterator.GetData();
auto it = trap_list.begin();
while (it != trap_list.end()) {
cur = it->second;
if(!cur->disarmed) {
float curdist = 0;
float tmp = searcher->GetX() - cur->x;
@@ -228,23 +226,21 @@ Trap* EntityList::FindNearbyTrap(Mob* searcher, float max_dist) {
current_trap = cur;
}
}
iterator.Advance();
++it;
}
return current_trap;
}
Mob* EntityList::GetTrapTrigger(Trap* trap) {
LinkedListIterator<Client*> iterator(client_list);
Mob* savemob = 0;
iterator.Reset();
float xdiff, ydiff, zdiff;
float maxdist = trap->radius * trap->radius;
while(iterator.MoreElements()) {
Client* cur = iterator.GetData();
auto it = client_list.begin();
while (it != client_list.end()) {
Client* cur = it->second;
zdiff = cur->GetZ() - trap->z;
if(zdiff < 0)
zdiff = 0 - zdiff;
@@ -259,7 +255,7 @@ Mob* EntityList::GetTrapTrigger(Trap* trap) {
else
savemob = cur;
}
iterator.Advance();
++it;
}
return savemob;
}