Fixed bugreport:5793 Chrorus skills now count partners properly.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16201 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
c6c471119f
commit
c386fd80f3
@ -11506,7 +11506,7 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
|
|||||||
p_sd = va_arg(ap, int *);
|
p_sd = va_arg(ap, int *);
|
||||||
skillid = va_arg(ap,int);
|
skillid = va_arg(ap,int);
|
||||||
|
|
||||||
if ((skillid != PR_BENEDICTIO && *c >=1) || *c >=2)
|
if ( ((skillid != PR_BENEDICTIO && *c >=1) || *c >=2) && !(skill_get_inf2(skillid)&INF2_CHORUS_SKILL) )
|
||||||
return 0; //Partner found for ensembles, or the two companions for Benedictio. [Skotlex]
|
return 0; //Partner found for ensembles, or the two companions for Benedictio. [Skotlex]
|
||||||
|
|
||||||
if (bl == src)
|
if (bl == src)
|
||||||
@ -11518,10 +11518,14 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
|
|||||||
if (tsd->sc.data[SC_SILENCE] || ( tsd->sc.opt1 && tsd->sc.opt1 != OPT1_BURNING ))
|
if (tsd->sc.data[SC_SILENCE] || ( tsd->sc.opt1 && tsd->sc.opt1 != OPT1_BURNING ))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
switch(skillid)
|
if( skill_get_inf2(skillid)&INF2_CHORUS_SKILL ) {
|
||||||
{
|
if( tsd->status.party_id == sd->status.party_id && (tsd->class_&MAPID_THIRDMASK) == MAPID_MINSTRELWANDERER )
|
||||||
case PR_BENEDICTIO:
|
p_sd[(*c)++] = tsd->bl.id;
|
||||||
{
|
return 1;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
switch(skillid) {
|
||||||
|
case PR_BENEDICTIO: {
|
||||||
int dir = map_calc_dir(&sd->bl,tsd->bl.x,tsd->bl.y);
|
int dir = map_calc_dir(&sd->bl,tsd->bl.x,tsd->bl.y);
|
||||||
dir = (unit_getdir(&sd->bl) + dir)%8; //This adjusts dir to account for the direction the sd is facing.
|
dir = (unit_getdir(&sd->bl) + dir)%8; //This adjusts dir to account for the direction the sd is facing.
|
||||||
if ((tsd->class_&MAPID_BASEMASK) == MAPID_ACOLYTE && (dir == 2 || dir == 6) //Must be standing to the left/right of Priest.
|
if ((tsd->class_&MAPID_BASEMASK) == MAPID_ACOLYTE && (dir == 2 || dir == 6) //Must be standing to the left/right of Priest.
|
||||||
@ -11565,6 +11569,8 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user