diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 388c3757d..b1ca64d4c 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1119,6 +1119,12 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui tstatus = status_get_status_data(target); // Record the status of the previous skill) if(sd) { + + if( (skill_get_inf2(skill_id)&INF2_ENSEMBLE_SKILL) && skill_check_pc_partner(sd, skill_id, &skill_lv, 1, 0) < 1 ) { + clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); + return 0; + } + switch(skill_id){ case SA_CASTCANCEL: if(ud->skill_id != skill_id){ @@ -1134,21 +1140,6 @@ int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill_id, ui } sd->skill_id_old = skill_id; break; - case BD_LULLABY: - case BD_RICHMANKIM: - case BD_ETERNALCHAOS: - case BD_DRUMBATTLEFIELD: - case BD_RINGNIBELUNGEN: - case BD_ROKISWEIL: - case BD_INTOABYSS: - case BD_SIEGFRIED: - case CG_MOONLIT: - if (skill_check_pc_partner(sd, skill_id, &skill_lv, 1, 0) < 1) - { - clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); - return 0; - } - break; case WL_WHITEIMPRISON: if( battle_check_target(src,target,BCT_SELF|BCT_ENEMY) < 0 ) { clif_skill_fail(sd,skill_id,USESKILL_FAIL_TOTARGET,0); |