Code:
public void loadSpell(int i) {
final Client c = (Client) PlayerHandler.players[npcs[i].oldIndex];
switch (npcs[i].npcType) {
case 1851:
random = Misc.random(2);
if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
NPC.projectileId = 280;
}
break;
case 10035:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
npcs[i].forceChat("DEEP FREEZE!");
NPC.attackType = 2;
NPC.projectileId = 539;
}
break;
case 3847:
NPC.attackType = 2;
NPC.projectileId = 162;
npcs[i].endGfx = 163;
break;
case 10140:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
npcs[i].endGfx = 538;
}
break;
case 5460:
if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
random = Misc.random(1);
NPC.attackType = 1 + random;
if (NPC.attackType == 1) {
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
NPC.projectileId = 5;
}
break;
case 8549:
if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
NPC.projectileId = 2148;
}
break;
case 8528:
int r71 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r71 = Misc.random(2);
else
r71 = Misc.random(1);
if (r71 == 0) {
npcs[i].forceChat("This is...TRUE POWER!");
NPC.attackType = 2;
npcs[i].endGfx = 2169;
} else if (r71 == 1) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else if (r71 == 2) { // Turmoil
if (npcs[i].HP <= 400 && npcs[i].HP >= 300) {
npcs[i].forceAnim(12693); // turm
npcs[i].forceChat("There is...NO ESCAPE!");
c.gfx0(1311);
npcs[i].hitDelayTimer += 3;
}
} else if (r71 == 3) { // Blood Barrage
if (npcs[i].HP <= 800 && npcs[i].HP >= 500) {
npcs[i].forceChat("I...need...health!");
npcs[i].HP += 15;
NPC.attackType = 2;
c.gfx0(377);
c.sendMessage("Your health has been sapped.");
}
}
break;
case 8596:
int r8 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r8 = Misc.random(2);
else
r8 = Misc.random(1);
if (r8 == 0) {
npcs[i].forceChat("I'LL FREEZE YOUR BALLS OFF!");
NPC.attackType = 2;
npcs[i].endGfx = 367;
} else if (r8 == 1) {
npcs[i].forceChat("TRY TO DEFEND AGAINST THIS, PUSSIES!");
NPC.attackType = 1;
npcs[i].endGfx = 1449;
} else if (r8 == 2) {
npcs[i].forceChat("DIE, BITCH!");
NPC.attackType = 0;
NPC.projectileId = -1;
}
break;
case 8282:
int r9 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r9 = Misc.random(2);
else
r9 = Misc.random(1);
if (r9 == 0) {
NPC.attackType = 2;
NPC.projectileId = 1940;
npcs[i].endGfx = 1941;
} else if (r9 == 1) {
NPC.attackType = 1;
NPC.projectileId = 1937;
npcs[i].endGfx = 1938;
} else if (r9 == 2) {
NPC.attackType = 0;
NPC.projectileId = -1;
}
break;
case 9855:
int r11 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r11 = Misc.random(2);
else
r11 = Misc.random(1);
if (r11 == 0) {
npcs[i].forceChat("DIE FROZEN, IN A BLOCK OF ICE!");
NPC.attackType = 2;
npcs[i].endGfx = 539;
} else if (r11 == 1) {
npcs[i].forceChat("HAH!");
NPC.attackType = 0;
NPC.projectileId = -1;
}
break;
case 10057:
int r12 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r12 = Misc.random(2);
else
r12 = Misc.random(1);
if (r12 == 0) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else if (r12 == 1) {
npcs[i].forceChat("DEEP FREEZE!");
NPC.attackType = 2;
if (c.freezeTimer <= 0) {
c.freezeTimer = 15;
c.sendMessage("You have been frozen!");
}
NPC.projectileId = 362;
npcs[i].endGfx = 369;
} else if (r12 == 2) {
npcs[i].forceChat("SUFFER IN THE COLD!");
NPC.attackType = 1;
NPC.projectileId = 362;
}
break;
case 9172:
int r13 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r13 = Misc.random(2);
else
r13 = Misc.random(1);
if (r13 == 0) {
NPC.attackType = 2;
NPC.projectileId = 500;
npcs[i].endGfx = 502;
} else if (r13 == 1) {
NPC.attackType = 0;
NPC.projectileId = -1;
}
break;
case 9437:
int r10 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r10 = Misc.random(2);
else
r10 = Misc.random(1);
if (r10 == 0) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else if (r10 == 1) {
npcs[i].forceChat("TASTE MY VENEMOUS SPIKES!");
c.getPA().appendPoison(c, 10);
NPC.attackType = 1;
npcs[i].endGfx = 2166;
} else if (r10 == 2) {
npcs[i].forceChat("MY ROOTS, HEAL ME!");
npcs[i].HP += 15;
NPC.attackType = 2;
NPC.projectileId = -1;
}
break;
case 3843:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
npcs[i].endGfx = 367;
}
break;
case 9779:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
npcs[i].forceChat("CHARGE!!!!!!!");
NPC.attackType = 2;
NPC.projectileId = -1;
npcs[i].endGfx = 437;
}
break;
case 9176:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 0) {
NPC.projectileId = -1;
} else {
npcs[i].forceChat("EAT SOME BONES!");
NPC.attackType = 2;
npcs[i].endGfx = 520;
}
break;
case 9766:
random = Misc.random(2);
NPC.attackType = 0 + random;
if (NPC.attackType == 1) {
NPC.projectileId = 26;
} else {
NPC.attackType = 2;
NPC.projectileId = 2183;
}
break;
// kalphite queen form 2
case 1160:
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
int kq1 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
kq1 = Misc.random(2);
else
kq1 = Misc.random(1);
if (kq1 == 0) {
NPC.projectileId = 280; // mage
npcs[i].endGfx = 281;
NPC.attackType = 2;
} else if (kq1 == 1) {
NPC.attackType = 1; // range
npcs[i].endGfx = 281;
NPC.projectileId = 473;
} else if (kq1 == 2) {
NPC.attackType = 0; // melee
NPC.projectileId = -1;
}
}
}
break;
case 2894:
NPC.projectileId = 298;
NPC.attackType = 1;
break;
case 8564:
NPC.projectileId = 26;
NPC.attackType = 1;
break;
case 8568:
NPC.projectileId = 2148;
NPC.attackType = 2;
break;
case 7136:
if (goodDistance(npcs[i].absX, npcs[i].absY, c.absX, c.absY, 2))
npcs[i].endGfx = 367;
NPC.attackType = 2;
break;
case 6203:
random = Misc.random(2);
if (random == 0 || random == 1) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else {
NPC.attackType = 2;
NPC.projectileId = 1211;
}
break;
case 5666:
random = Misc.random(1);
if (random == 0) {
NPC.attackType = 1;
} else {
NPC.attackType = 2;
}
break;
case 6206:
NPC.attackType = 1;
NPC.projectileId = 1209;
break;
case 6208:
NPC.attackType = 2;
NPC.projectileId = 1213;
break;
case 6256:
NPC.attackType = 1;
NPC.projectileId = 16;
break;
case 6220:
NPC.attackType = 1;
NPC.projectileId = 17;
break;
case 50:
int r5 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
r5 = Misc.random(5);
else
r5 = Misc.random(3);
if (r5 == 0) {
NPC.projectileId = 393; // red
NPC.attackType = 3;
} else if (r5 == 1) {
NPC.projectileId = 394; // green
NPC.attackType = 2;
} else if (r5 == 2) {
NPC.projectileId = 395; // white
NPC.attackType = 2;
if (c.freezeTimer <= 0) {
c.freezeTimer = 19;
c.sendMessage("You have been frozen!");
}
} else if (r5 == 3) {
NPC.projectileId = 396; // blue
NPC.attackType = 2;
} else if (r5 == 4) {
NPC.projectileId = -1; // melee
NPC.attackType = 0;
} else if (r5 == 5) {
NPC.projectileId = -1; // melee
NPC.attackType = 0;
}
break;
case 53:
case 54:
case 55:
case 941:
case 1590:
case 1591:
case 1592:
int r6 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
r6 = Misc.random(2);
else
r6 = Misc.random(1);
if (r6 == 0) {
NPC.projectileId = 393; // red
NPC.attackType = 3;
} else if (r6 == 1) {
NPC.projectileId = 393; // red
NPC.attackType = 3;
} else if (r6 == 2) {
NPC.projectileId = -1; // melee
NPC.attackType = 0;
}
break;
// arma npcs
case 6227: // kilisa
NPC.attackType = 0;
break;
case 6225: // geerin
case 6233:
case 6230:
NPC.attackType = 1;
NPC.projectileId = 1190;
break;
case 6239:
NPC.attackType = 1;
NPC.projectileId = 1191;
break;
case 6232:
NPC.attackType = 1;
NPC.projectileId = 1191;
break;
case 6276:
NPC.attackType = 1;
NPC.projectileId = 1195;
break;
case 6223: // skree
NPC.attackType = 2;
NPC.projectileId = 1199;
break;
case 6257: // saradomin strike
NPC.attackType = 2;
npcs[i].endGfx = 76;
break;
case 6221: // zamorak strike
NPC.attackType = 2;
npcs[i].endGfx = 78;
break;
case 6231: // arma
NPC.attackType = 2;
NPC.projectileId = 1199;
break;
case 6222: // kree
random = Misc.random(1);
NPC.attackType = 1 + random;
if (NPC.attackType == 1) {
NPC.projectileId = 1197;
} else {
NPC.attackType = 2;
NPC.projectileId = 1198;
}
break;
// sara npcs
case 6247: // sara
random = Misc.random(1);
if (random == 0) {
NPC.attackType = 2;
npcs[i].endGfx = 1224;
NPC.projectileId = -1;
} else if (random == 1)
NPC.attackType = 0;
break;
case 6248: // star
NPC.attackType = 0;
break;
case 6250: // growler
NPC.attackType = 2;
NPC.projectileId = 1203;
break;
case 6252: // bree
NPC.attackType = 1;
NPC.projectileId = 9;
break;
// bandos npcs
case 6260: // bandos
random = Misc.random(2);
if (random == 0 || random == 1) {
NPC.attackType = 0;
} else {
NPC.attackType = 1;
// npcs[i].projectileId = 1200;
}
break;
case 9463:
random = Misc.random(2);
if (random == 0 || random == 1)
NPC.attackType = 0;
else {
c.freezeTimer = 20;
NPC.attackType = 2;
c.sendMessage("You have been frozen!");
}
break;
case 9467:
random = Misc.random(2);
if (random == 0 || random == 1)
NPC.attackType = 0;
else {
if (c.poisonDamage <= 0) {
c.getPA().appendPoison(c, 12);
NPC.attackType = 2;
c.sendMessage("You have been poisoned!");
}
}
case 9465:
random = Misc.random(2);
if (random == 0 || random == 1)
NPC.attackType = 0;
else {
c.playerLevel[5] -= (c.playerLevel[5] * .22);
NPC.attackType = 2;
c.sendMessage("You feel your prayer drained.");
c.getPA().refreshSkill(5);
}
break;
case 795:
random = Misc.random(2);
if (random == 0 || random == 1)
NPC.attackType = 0;
else {
c.gfx0(369);
npcs[i].forceChat("Muhahaha");
c.freezeTimer = 15;
NPC.attackType = 2;
}
break;
case 3495:
random = Misc.random(2);
if (random == 0 || random == 1)
NPC.attackType = 0;
else {
c.gfx0(369);
npcs[i].forceChat("Semolina-Go!");
c.freezeTimer = 10;
NPC.attackType = 2;
}
break;
case 3493:
random = Misc.random(2);
if (random == 0 || random == 1) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else {
npcs[i].gfx100(129);
NPC.projectileId = 130;
npcs[i].endGfx = 131;
NPC.attackType = 2;
}
break;
case 3496:
random = Misc.random(2);
if (random == 0 || random == 1) {
NPC.attackType = 0;
NPC.projectileId = -1;
} else {
npcs[i].forceChat("Hssssssssssss");
npcs[i].gfx100(550);
NPC.projectileId = 551;
npcs[i].endGfx = 552;
NPC.attackType = 2;
}
break;
case 3491:
NPC.projectileId = 106;
NPC.attackType = 2;
break;
case 6261: // strongstack
NPC.attackType = 0;
break;
case 2025:
NPC.attackType = 2;
int r = Misc.random(3);
if (r == 0) {
npcs[i].gfx100(158);
NPC.projectileId = 159;
npcs[i].endGfx = 160;
}
if (r == 1) {
npcs[i].gfx100(161);
NPC.projectileId = 162;
npcs[i].endGfx = 163;
}
if (r == 2) {
npcs[i].gfx100(164);
NPC.projectileId = 165;
npcs[i].endGfx = 166;
}
if (r == 3) {
npcs[i].gfx100(155);
NPC.projectileId = 156;
}
break;
case 2881: // supreme
NPC.attackType = 1;
NPC.projectileId = 298;
break;
case 2882: // prime
NPC.attackType = 2;
NPC.projectileId = 162;
npcs[i].endGfx = 477;
break;
case 2028:
NPC.attackType = 1;
NPC.projectileId = 27;
break;
case 3200:
int r2 = Misc.random(1);
if (r2 == 0) {
NPC.attackType = 1;
npcs[i].gfx100(550);
NPC.projectileId = 551;
npcs[i].endGfx = 552;
} else {
NPC.attackType = 2;
npcs[i].gfx100(553);
NPC.projectileId = 554;
npcs[i].endGfx = 555;
}
break;
case 2745:
int r3 = 0;
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].spawnedBy].absX, PlayerHandler.players[npcs[i].spawnedBy].absY, 1))
r3 = Misc.random(2);
else
r3 = Misc.random(1);
if (r3 == 0) {
NPC.attackType = 2;
npcs[i].endGfx = 157;
NPC.projectileId = 1627;
} else if (r3 == 1) {
NPC.attackType = 1;
npcs[i].endGfx = 451;
npcs[i].gfx100(1625);
NPC.projectileId = -1;
} else if (r3 == 2) {
NPC.attackType = 0;
NPC.projectileId = -1;
}
break;
case 8133:
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 3))
r3 = Misc.random(2);
else
r3 = Misc.random(1);
if (r3 == 0) {
NPC.attackType = 2;
npcs[i].endGfx = -1;
NPC.projectileId = 1828;
} else if (r3 == 1) {
NPC.attackType = 1;
npcs[i].endGfx = -1;
NPC.projectileId = 1839;
} else if (r3 == 2) {
NPC.attackType = 0;
npcs[i].gfx100(1834);
NPC.projectileId = -1;
}
break;
case 3102:
NPC.attackType = 1;
NPC.projectileId = 1839;
break;
case 3103:
NPC.attackType = 2;
NPC.projectileId = 1828;
break;
case 8349:
case 8350:
case 8351:
if (goodDistance(npcs[i].absX, npcs[i].absY, PlayerHandler.players[npcs[i].killerId].absX, PlayerHandler.players[npcs[i].killerId].absY, 2))
r3 = Misc.random(2);
else
r3 = Misc.random(1);
if (r3 == 0) {
NPC.attackType = 2;
npcs[i].gfx100(1885);
NPC.projectileId = 1884;
} else if (r3 == 1) {
NPC.attackType = 1;
NPC.projectileId = 1889;
} else if (r3 == 2) {
NPC.attackType = 0;
npcs[i].gfx100(1886);
NPC.projectileId = -1;
}
break;
case 2743:
NPC.attackType = 2;
NPC.projectileId = 445;
npcs[i].endGfx = 446;
break;
case 2631:
NPC.attackType = 1;
NPC.projectileId = 443;
break;
case 6263:
NPC.attackType = 2; // Magic
NPC.projectileId = 1203;
break;
case 6265:
NPC.attackType = 1; // Range
NPC.projectileId = 1206;
break;
case 1158:// kq first form
int kqRandom = Misc.random(3);
if (kqRandom == 2) {
NPC.projectileId = 280; // gfx
NPC.attackType = 2;
npcs[i].endGfx = 279;
} else {
npcs[i].endGfx = -1;
NPC.projectileId = -1;
NPC.attackType = 0;
}
break;
case 2892:
NPC.projectileId = 94;
NPC.attackType = 2;
npcs[i].endGfx = 95;
break;
case 5363:
int randoma = Misc.random(2);
if (randoma == 0) {
NPC.projectileId = 393; // red
npcs[i].endGfx = 430;
NPC.attackType = 3;
} else if (randoma == 1) {
NPC.projectileId = -1; // melee
npcs[i].endGfx = -1;
NPC.attackType = 0;
} else if (randoma == 2) {
NPC.projectileId = -1; // melee
npcs[i].endGfx = -1;
NPC.attackType = 0;
}
break;
}
}