* Merged changes up to eAthena 15038.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15225 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
eathenabot 2011-12-23 13:41:11 +00:00
parent 53d44a8771
commit e1eacd2587
3 changed files with 9 additions and 8 deletions

View File

@ -1,6 +1,9 @@
Date (YYYY-MM-DD)
Added
2011-12-22
* Fixed guild aura code not checking, whether the map of guild leader and member is the same (since r15037). [Ai4rei]
* Merged slightly modified guild aura optimization from rAthena (ra:15084, ra:15086). [Ai4rei]
2011-12-19
* Changes to chat logging code. [Ai4rei]
- Moved log_config.chat checks into log_chat and replaced string chat types with an enumeration.

View File

@ -2409,10 +2409,8 @@ static int skill_check_unit_range2 (struct block_list *bl, int x, int y, int ski
int skill_guildaura_sub (struct map_session_data* sd, int id, int strvit, int agidex)
{
nullpo_ret(sd);
if(id == sd->bl.id && battle_config.guild_aura&16)
return 0;
return 0; // Do not affect guild leader
if (sd->sc.data[SC_GUILDAURA]) {
struct status_change_entry *sce = sd->sc.data[SC_GUILDAURA];

View File

@ -195,9 +195,9 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
if ((skill = guild_checkskill(g, GD_HAWKEYES)) > 0) agidex |= skill&0xFFFF;
if (strvit || agidex)
{// replaced redundant foreachinrange call with smaller and much more efficient iteration
for( i = 0; g->max_member > i; i++ )
for( i = 0; i < g->max_member; i++ )
{
if( g->member[i].online && g->member[i].sd && check_distance_bl(&sd->bl, &g->member[i].sd->bl, 2) )
if( g->member[i].online && g->member[i].sd && sd->bl.m == g->member[i].sd->bl.m && check_distance_bl(&sd->bl, &g->member[i].sd->bl, 2) )
{// perform the aura on the member as appropriate
skill_guildaura_sub(g->member[i].sd, sd->bl.id, strvit, agidex);
}