Curses not turning off when processing method
So, there is this problem I've recently encountered and I have no clue on how to fix this not working piece of code.
Video of the error that I'm getting:
https://media.giphy.com/media/l0JMjo...QRO/source.gif
Code:
private void resetAllCurse() {
Misc.println("1");
for (int index = 0; index < c.CURSE.length; index++) {
c.curseActive[index] = false;
c.getPA().sendFrame36(c.CURSE_GLOW[index], 0);
}
c.headIcon = -1;
c.getPA().requestUpdates();
}
Code:
public void activateCurse(int curseId) {
if(c.duelRule[7]) {
resetCurse();
c.sendMessage("Prayer has been disabled in this duel!");
return;
}
if (curseId == 19 && c.playerLevel[1] < 30) {
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 0);
c.getPA().sendFrame126("You need a @blu@Defence level of 30 to use " + c.CURSE_NAME[curseId] + ".", 357);
c.getPA().sendFrame126("Click here to continue", 358);
c.getPA().sendFrame164(356);
return;
}
if (c.altarPrayed != 1) {
resetCurse();
c.sendMessage("You are not on the right prayer book to activate this curse.");
return;
}
if (c.playerLevel[3] <= 0) {
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 0);
c.sendMessage("You can't activate this curse when you are dead.");
return;
}
//0 = pItem//1 = sapWar//2 = sapRng//3 = sapMge//4 = sapSprt
//5 = berserk//6 = defSum//7 = defMge//8 = defRng//9 = defMel
//10 = leechAtk//11 = leechRng//12 = leechMge//13 = leechDef//14 = leechStr
//15 = leechEnrgy//16 = leechSpec//17 = wrath//18 = soul//19 = turmoil
if(c.playerLevel[5] > 0 || !Config.PRAYER_POINTS_REQUIRED) {
if(c.getLevelForXP(c.playerXP[5]) >= c.CURSE_LEVEL_REQUIRED[curseId] || !Config.PRAYER_LEVEL_REQUIRED) {
boolean headIcon = false;
switch(curseId) {
case 0:
if(c.curseActive[curseId] == false) {
c.startAnimation(12567);
c.gfx0(2213);
c.lastProtItem = System.currentTimeMillis();
}
break;
case 1:
case 10:
if (c.curseActive[curseId] == false) {
atkCurse(curseId);
}
break;
case 2:
case 11:
if (c.curseActive[curseId] == false) {
rngCurse(curseId);
}
break;
case 3:
case 12:
if (c.curseActive[curseId] == false) {
mgeCurse(curseId);
}
break;
case 4:
case 16:
if (c.curseActive[curseId] == false) {
sprtCurse(curseId);
}
break;
case 5:
if(c.curseActive[curseId] == false) {
c.startAnimation(12589);
c.gfx0(2266);
}
break;
case 13:
if (c.curseActive[curseId] == false) {
defCurse(curseId);
}
break;
case 14:
if (c.curseActive[curseId] == false) {
strCurse(curseId);
}
break;
case 6:
case 7:
case 8:
case 9:
if(System.currentTimeMillis() - c.stopPrayerDelay < 5000) {
c.sendMessage("You have been injured and can't use this prayer!");
c.getPA().sendFrame36(c.CURSE_GLOW[7], 0);
c.getPA().sendFrame36(c.CURSE_GLOW[8], 0);
c.getPA().sendFrame36(c.CURSE_GLOW[9], 0);
return;
}
if (curseId == 7)
c.protMageDelay = System.currentTimeMillis();
else if (curseId == 8)
c.protRangeDelay = System.currentTimeMillis();
else if (curseId == 9)
c.protMeleeDelay = System.currentTimeMillis();
case 17:
case 18:
headIcon = true;
for(int p = 6; p < 19; p++) {
if(curseId != p && p != 10 && p != 11 && p != 10 && p != 12 && p != 13 && p != 14 && p != 15 && p != 16) {
c.curseActive[p] = false;
c.getPA().sendFrame36(c.CURSE_GLOW[p], 0);
}
}
break;
case 19:
if (c.curseActive[curseId] == false) {
c.startAnimation(12565);
c.gfx0(2226);
strCurse(curseId);
atkCurse(curseId);
defCurse(curseId);
mgeCurse(curseId);
rngCurse(curseId);
}
break;
}
if(!headIcon) {
if(c.curseActive[curseId] == false) {
c.curseActive[curseId] = true;
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 1);
} else {
c.curseActive[curseId] = false;
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 0);
}
} else {
if(c.curseActive[curseId] == false) {
c.curseActive[curseId] = true;
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 1);
c.headIcon = c.CURSE_HEAD_ICONS[curseId];
c.getPA().requestUpdates();
} else {
c.curseActive[curseId] = false;
c.getPA().sendFrame36(c.CURSE_GLOW[curseId], 0);
c.headIcon = -1;
c.getPA().requestUpdates();
}
}
} else {
c.getPA().sendFrame36(c.CURSE_GLOW[curseId],0);
c.getPA().sendFrame126("You need a @blu@Prayer level of "+c.CURSE_LEVEL_REQUIRED[curseId]+" to use "+c.CURSE_NAME[curseId]+".", 357);
c.getPA().sendFrame126("Click here to continue", 358);
c.getPA().sendFrame164(356);
}
} else {
resetAllCurse();
c.sendMessage("You have run out of Prayer points!");
c.sendMessage("You can recharge at an altar.");
}
}