Level 11 Kyrie and higher is possible with a certain build on my server. However, I wait to make it so that if a player casts Assumptio on a player that has Kyrie that is less than level 11, it will dispel it. I have the opposite working where if Kyrie level is less than level 11 it will cancel Assumptio. Getting the status level and canceling it is is my problem however.
I tried this in status.c
case SC_ASSUMPTIO:
if (sc->data[SC_KYRIE] && sc->data[SC_KYRIE]->val1 < 11)
status_change_end(bl, SC_KYRIE, INVALID_TIMER);
break;
.
Also tried this in skill.c:
case HP_ASSUMPTIO:
if( sd && dstmd )
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
else
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
if( tsc && tsc->data[SC_KYRIE] && tsc->data[SC_KYRIE]->val1 < 11 )
{
status_change_end(bl, SC_KYRIE, INVALID_TIMER);
}
break;
I've tried changing the val1 from 1-4 and the 11 to various numbers as well as reversing the > and <. but no luck getting what I want.
Code for canceling Assumptio for reference:
case PR_KYRIE:
//case SL_KAAHI:
case MER_KYRIE:
clif->skill_nodamage(bl, bl, skill_id, -1,
sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
if( skill_lv < 11 )
{
status_change_end(bl, SC_ASSUMPTIO, INVALID_TIMER);
}
break;
Edited by prism, 30 November 2016 - 01:46 AM.