diff options
author | epoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-09 03:59:34 +0000 |
---|---|---|
committer | epoque11 <epoque11@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-12-09 03:59:34 +0000 |
commit | d0f11e8df04bd9f791e93e616ca816c79c8158ba (patch) | |
tree | cd5d514116b192dbb4b3c646e180430216089f0a | |
parent | bf7d71465ddd0cdf88c94fb4ff71dde33474b5a7 (diff) | |
download | hercules-d0f11e8df04bd9f791e93e616ca816c79c8158ba.tar.gz hercules-d0f11e8df04bd9f791e93e616ca816c79c8158ba.tar.bz2 hercules-d0f11e8df04bd9f791e93e616ca816c79c8158ba.tar.xz hercules-d0f11e8df04bd9f791e93e616ca816c79c8158ba.zip |
- Optimised party x/y timer processing by excluding parties with no members online
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15045 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/party.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/map/party.c b/src/map/party.c index f47f8e5c9..a8a524046 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -873,11 +873,16 @@ int party_send_xy_timer(int tid, unsigned int tick, int id, intptr_t data) for( p = (struct party_data*)iter->first(iter,NULL); iter->exists(iter); p = (struct party_data*)iter->next(iter,NULL) ) { int i; + + if( !p->party.count ) + {// no online party members so do not iterate + continue; + } + // for each member of this party, for( i = 0; i < MAX_PARTY; i++ ) { - //struct map_session_data* sd = p->data[i].sd; - struct map_session_data* sd = map_charid2sd(p->party.member[i].char_id); //temporary crashfix + struct map_session_data* sd = p->data[i].sd; if( !sd ) continue; if( p->data[i].x != sd->bl.x || p->data[i].y != sd->bl.y ) |