when my npc does a multiattack, this happens.
Code:
public void multiAttackDamage(int i) {
int max = getMaxHit(i);
for (int j = 0; j < Server.playerHandler.players.length; j++) {
if (Server.playerHandler.players[j] != null) {
Client c = (Client)Server.playerHandler.players[j];
if (c.isDead || c.heightLevel != npcs[i].heightLevel)
continue;
if (Server.playerHandler.players[j].goodDistance(c.absX, c.absY, npcs[i].absX, npcs[i].absY, 15)) {
if (npcs[i].attackType == 2) {
if (!c.prayerActive[16]) {
if(npcs[i].npcType == 10245){
int dam = Misc.random(max);
c.dealDamage(dam/ 2);
c.handleHitMask(dam / 2, 2 ,2);
}
if (Misc.random(500) + 200 > Misc.random(c.getCombat().mageDef())) {
int dam = Misc.random(max);
c.dealDamage(dam);
c.handleHitMask(dam, 2 ,2);
} else {
c.dealDamage(0);
c.handleHitMask(0);
}
} else {
int dam = Misc.random(max);
c.dealDamage(dam / 2);
c.handleHitMask(dam / 2 , 2 ,2);
}
} else if (npcs[i].attackType == 1) {
if (!c.prayerActive[17]) {
if(npcs[i].npcType == 10245){
int dam = Misc.random(max);
c.dealDamage(dam/ 2);
c.handleHitMask(dam / 2, 1 ,1);
}
int dam = Misc.random(max);
if (Misc.random(500) + 200 > Misc.random(c.getCombat().calculateRangeDefence())) {
c.dealDamage(dam);
c.handleHitMask(dam);
} else {
c.dealDamage(0);
c.handleHitMask(0);
}
} else {
c.dealDamage(0);
c.handleHitMask(0);
}
}
else if (npcs[i].attackType == 0) {
if (!c.prayerActive[17]) {
if(npcs[i].npcType == 10245){
int dam = Misc.random(max);
c.dealDamage(dam/ 2);
c.handleHitMask(dam / 2);
}
int dam = Misc.random(max);
if (Misc.random(500) + 200 > Misc.random(c.getCombat().calculateMeleeDefence())) {
c.dealDamage(dam);
c.handleHitMask(dam);
} else {
c.dealDamage(0);
c.handleHitMask(0);
}
} else {
c.dealDamage(0);
c.handleHitMask(0);
}
}
if (npcs[i].endGfx > 0) {
c.gfx0(npcs[i].endGfx);
}
}
c.getPA().refreshSkill(3);
}
}
}