Originally posted by [b]theultramage[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1313
A random person on irc mentioned that there's a problem with guild skills, particularly that they affect the emperium as well!
After some code inspection and svn blame-ing, here are the results:
CODE
case GD_RESTORE:
if(flag&1) {
if (status_get_guild_id(src) == status_get_guild_id(bl))
clif_skill_nodamage(src,bl,AL_HEAL,status_percent_heal(bl,90,90),1);
} else if (status_get_guild_id(src)) {
clif_skill_nodamage(src,bl,skillid,skilllv,1);
map_foreachinrange(skill_area_sub, src,
skill_get_splash(skillid, skilllv), BL_CHAR,
src,skillid,skilllv,tick, flag|BCT_GUILD|1,
skill_castend_nodamage_id);
BL_CHAR | BCT_GUILD. Since BL_CHAR is a macro for players, mobs and homunculi, this thing also heals guardians, emperium, player homunculi and summoned mobs. I am not sure what the real target of this skill should be, but my guess is BL_PC only.
Same deal with GD_REGENERATION and GD_BATTLEORDER.
Bug first appeared in eathena svn
r347, where it replaced code that iterated over all guild members on the same map.