diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-02 14:55:14 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-02 14:55:14 +0000 |
commit | 187b83fe68d75e457d3fd1aa2af32ddc2005d036 (patch) | |
tree | d6fdf004f5755ab192624282b98104eea35316b4 /src/map/unit.c | |
parent | 24fd0a33070755eeb6cc25f442716fa0dddf159a (diff) | |
download | hercules-187b83fe68d75e457d3fd1aa2af32ddc2005d036.tar.gz hercules-187b83fe68d75e457d3fd1aa2af32ddc2005d036.tar.bz2 hercules-187b83fe68d75e457d3fd1aa2af32ddc2005d036.tar.xz hercules-187b83fe68d75e457d3fd1aa2af32ddc2005d036.zip |
- Recoded the GuildAura code to use val3 & val4, allowing much greater stat bonuses (in case someone wants to get Guild Skill level 20 or something crazy like that)
- Fixed compilation error...
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8053 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 9c8f66517..e35a8005c 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -176,14 +176,14 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data) if (sd->state.gmaster_flag) { //Guild Aura: Likely needs to be recoded, this method seems inefficient. struct guild *g = sd->state.gmaster_flag; - int skill, guildflag = 0; - if ((skill = guild_checkskill(g, GD_LEADERSHIP)) > 0) guildflag |= skill<<12; - if ((skill = guild_checkskill(g, GD_GLORYWOUNDS)) > 0) guildflag |= skill<<8; - if ((skill = guild_checkskill(g, GD_SOULCOLD)) > 0) guildflag |= skill<<4; - if ((skill = guild_checkskill(g, GD_HAWKEYES)) > 0) guildflag |= skill; - if (guildflag) + int skill, strvit= 0, agidex = 0; + if ((skill = guild_checkskill(g, GD_LEADERSHIP)) > 0) strvit |= (skill&0xFFFF)<<16; + if ((skill = guild_checkskill(g, GD_GLORYWOUNDS)) > 0) strvit |= (skill&0xFFFF); + if ((skill = guild_checkskill(g, GD_SOULCOLD)) > 0) agidex |= (skill&0xFFFF)<<16; + if ((skill = guild_checkskill(g, GD_HAWKEYES)) > 0) agidex |= skill&0xFFFF; + if (strvit || agidex) map_foreachinrange(skill_guildaura_sub, bl,2, BL_PC, - bl->id, sd->status.guild_id, &guildflag); + bl->id, sd->status.guild_id, strvit, agidex); } if ( (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && |