Hello,
I've already faced this problem in earlier versions of eAthena in 2008~2009, but it seems that those "fixes" aren't working in rAthena. As the topic title says, I'm trying to find a way to stop the possibility of Soul Collect(Hyper Spirit Spheres) skill to be used when the user already have 5 spheres casted.
So far I've already tried adding a second condition in skill.c file to check if there's already 5 spirits casted, but didn't work at all.
I've also found this thread in eAthena and implemented it, but it also didn't work. It displays the error message in the chat dialog but still casts the skill
http://eathena.ws/fo..._+soul +collect
This is how my skill.c looks right now:
case CH_SOULCOLLECT:
//Separated test
if(sd && sd->spiritball >= 5){
clif_displaymessage(sd->fd, "Soul Collect has failed.");
break; //return 0 gives the same result;
}
if(sd && sd->spiritball < 5) {
int limit = 5;
if( sd->sc.data[sC_RAISINGDRAGON] )
limit += sd->sc.data[sC_RAISINGDRAGON]->val1;
clif_skill_nodamage(src,bl,skillid,skilllv,1);
for (i = 0; i < limit; i++)
pc_addspiritball(sd,skill_get_time(skillid,skilllv),limit);
}
break;
Is there already a definitive way to deal with this problem in rAthena?
Thanks a lot for the attention.