summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c21
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);