Jump to content
  • 0
PunkBuster

Preserve Skill

Question

3 answers to this question

Recommended Posts

  • 0

Open src/map/skill.c and find:

case ST_PRESERVE:
Remove it

Now find:

clif->skill_nodamage(src,bl,skill_id,skill_lv,		sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));break;
Add below:
		case ST_PRESERVE:			if( sd )			{				if( sd->sc.count && sd->sc.data[SC_PRESERVE] )				{					status_change_end(bl, SC_PRESERVE, INVALID_TIMER);					clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);				}				else				{					clif->skill_nodamage(src,bl,skill_id,skill_lv,						sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));				}			}			break;
Regards.

Share this post


Link to post
Share on other sites
  • 0

I went back and tried to reapply this on a fresh reinstall, and I got an error saying that sc_start needed 6 parameters, but only 5 were given. I fixed it by changing...

 

  case ST_PRESERVE:
if( sd )
{
if( sd->sc.count && sd->sc.data[SC_PRESERVE] )
{
status_change_end(bl, SC_PRESERVE, INVALID_TIMER);
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
}
else
{
clif->skill_nodamage(src,bl,skill_id,skill_lv,
sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)));
}
}
break;

 

into....

 

case ST_PRESERVE:
     if( sd )
     {
       if( sd->sc.count && sd->sc.data[sC_PRESERVE] )
       {
         status_change_end(bl, SC_PRESERVE, INVALID_TIMER);
         clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
       }
       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)));
       }
     }
     break;

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.