Removed code duplication for Guild Skills (#3633)

* Fixes #3682.
* Remove code duplication for Guild Skills: Battle Orders, Regeneration and Restore.
Thanks to @vykimo!
This commit is contained in:
vykimo 2018-10-30 15:35:39 +01:00 committed by Aleos
parent af205a8841
commit 98ba549022

View File

@ -8810,37 +8810,15 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
// New guild skills [Celest]
case GD_BATTLEORDER:
if(flag&1) {
if (status_get_guild_id(src) == status_get_guild_id(bl))
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id, skill_lv));
} else if (status_get_guild_id(src)) {
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinallrange(skill_area_sub, src,
skill_get_splash(skill_id, skill_lv), BL_PC,
src,skill_id,skill_lv,tick, flag|BCT_GUILD|1,
skill_castend_nodamage_id);
if (sd)
guild_block_skill(sd,skill_get_time2(skill_id,skill_lv));
}
break;
case GD_REGENERATION:
if(flag&1) {
if (status_get_guild_id(src) == status_get_guild_id(bl))
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id, skill_lv));
} else if (status_get_guild_id(src)) {
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinallrange(skill_area_sub, src,
skill_get_splash(skill_id, skill_lv), BL_PC,
src,skill_id,skill_lv,tick, flag|BCT_GUILD|1,
skill_castend_nodamage_id);
if (sd)
guild_block_skill(sd,skill_get_time2(skill_id,skill_lv));
}
break;
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);
if (status_get_guild_id(src) == status_get_guild_id(bl)) {
if( skill_id == GD_RESTORE )
clif_skill_nodamage(src,bl,AL_HEAL,status_percent_heal(bl,90,90),1);
else
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id, skill_lv));
}
} else if (status_get_guild_id(src)) {
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);
map_foreachinallrange(skill_area_sub, src,