Originally Posted by
Jaba
MeleeSpecial line 81?
Line 81 is in red
Code:
public static void activateSpecial(Client c, int weapon, int i){
if(Server.npcHandler.npcs[i] == null && c.npcIndex > 0) {
return;
}
if(Server.playerHandler.players[i] == null && c.playerIndex > 0) {
return;
}
c.doubleHit = false;
c.specEffect = 0;
c.projectileStage = 0;
c.specMaxHitIncrease = 2;
if(c.npcIndex > 0) {
c.oldNpcIndex = i;
} else if (c.playerIndex > 0){
c.oldPlayerIndex = i;
Server.playerHandler.players[i].underAttackBy = c.playerId;
Server.playerHandler.players[i].logoutDelay = System.currentTimeMillis();
Server.playerHandler.players[i].singleCombatDelay = System.currentTimeMillis();
Server.playerHandler.players[i].killerId = c.playerId;
}
if(c.playerIndex > 0) {
c.getPA().followPlayer();
} else if(c.npcIndex > 0) {
c.getPA().followNpc();
}
switch(weapon) {
case 10887:
c.gfx0(1027);
c.startAnimation(5870);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.specDamage = 1.20;
c.specAccuracy = 1.85;
break;
case 1305: // dragon long
c.gfx100(248);
c.startAnimation(1058);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.specAccuracy = 1.10;
c.specDamage = 1.20;
break;
case 1215: // dragon daggers
case 1231:
case 5680:
case 5698:
c.gfx100(252);
c.startAnimation(1062);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.doubleHit = true;
c.specAccuracy = 1.30;
c.specDamage = 1.05;
break;
case 11730:
c.gfx100(1224);
c.startAnimation(7072);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.doubleHit = true;
c.ssSpec = true;
c.specAccuracy = 1.30;
break;
case 14484: // Dragon claws
c.startAnimation(7000);
c.usingClaws = true;
c.doubleHit = true;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
break;
case 4151: // whip
if(Server.npcHandler.npcs[i] != null) {
Server.npcHandler.npcs[i].gfx100(341);
}
c.specAccuracy = 1.10;
c.startAnimation(1658);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
break;
case 11694: // ags
c.startAnimation(7074);
c.specDamage = 1.25;
c.specAccuracy = 1.85;
c.gfx0(1222);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
break;
case 11700:
c.startAnimation(7070);
c.gfx0(1221);
c.specAccuracy = 1.25;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.specEffect = 2;
break;
case 11696:
c.startAnimation(7073);
c.gfx0(1223);
c.specDamage = 1.10;
c.specAccuracy = 1.5;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.specEffect = 3;
break;
case 11698:
c.startAnimation(7071);
c.gfx0(1220);
c.specAccuracy = 1.25;
c.specEffect = 4;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
break;
case 1249:
c.startAnimation(405);
c.gfx100(253);
if (c.playerIndex > 0) {
Client o = (Client)Server.playerHandler.players[i];
o.getPA().getSpeared(c.absX, c.absY);
}
break;
case 3204: // d hally
c.gfx100(282);
c.startAnimation(1203);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
if(Server.npcHandler.npcs[i] != null && c.npcIndex > 0) {
if(!c.goodDistance(c.getX(), c.getY(), Server.npcHandler.npcs[i].getX(), Server.npcHandler.npcs[i].getY(), 1)){
c.doubleHit = true;
}
}
if(Server.playerHandler.players[i] != null && c.playerIndex > 0) {
if(!c.goodDistance(c.getX(), c.getY(), Server.playerHandler.players[i].getX(),Server.playerHandler.players[i].getY(), 1)){
c.doubleHit = true;
c.delayedDamage2 = Misc.random(c.getCombat().calculateMeleeMaxHit());
}
}
break;
case 4153: // maul
c.startAnimation(1667);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
/*if (c.playerIndex > 0)
gmaulPlayer(i);
else
gmaulNpc(i);*/
c.gfx100(337);
break;
case 4587: // dscimmy
c.gfx100(347);
c.specEffect = 1;
c.startAnimation(1872);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
break;
case 1434: // mace
c.startAnimation(1060);
c.gfx100(251);
c.specMaxHitIncrease = 3;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase())+1;
c.specDamage = 1.35;
c.specAccuracy = 1.15;
break;
case 859: // magic long
c.usingBow = true;
c.bowSpecShot = 3;
c.rangeItemUsed = c.playerEquipment[c.playerArrows];
c.getItems().deleteArrow();
c.lastWeaponUsed = weapon;
c.startAnimation(426);
c.gfx100(250);
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
c.projectileStage = 1;
if (c.fightMode == 2)
c.attackTimer--;
break;
case 861: // magic short
c.usingBow = true;
c.bowSpecShot = 1;
c.rangeItemUsed = c.playerEquipment[c.playerArrows];
c.getItems().deleteArrow();
c.getItems().deleteArrow();
c.lastWeaponUsed = weapon;
c.startAnimation(1074);
c.hitDelay = 3;
c.projectileStage = 1;
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
if (c.fightMode == 2)
c.attackTimer--;
if (c.playerIndex > 0)
c.getCombat().fireProjectilePlayer();
else if (c.npcIndex > 0)
c.getCombat().fireProjectileNpc();
break;
case 11235: // dark bow
c.usingBow = true;
c.dbowSpec = true;
c.rangeItemUsed = c.playerEquipment[c.playerArrows];
c.getItems().deleteArrow();
c.getItems().deleteArrow();
if (c.playerIndex > 0) {
c.getItems().dropArrowPlayer();
} else if(c.npcIndex > 0) {
c.getItems().dropArrowNpc();
}
c.lastWeaponUsed = weapon;
c.hitDelay = 3;
c.startAnimation(426);
c.projectileStage = 1;
c.gfx100(c.getCombat().getRangeStartGFX());
c.hitDelay = c.getCombat().getHitDelay(i, c.getItems().getItemName(c.playerEquipment[c.playerWeapon]).toLowerCase());
if (c.fightMode == 2)
c.attackTimer--;
if (c.playerIndex > 0)
c.getCombat().fireProjectilePlayer();
else if (c.npcIndex > 0)
c.getCombat().fireProjectileNpc();
c.specAccuracy = 1.85;
c.specDamage = 1.65;
break;
}
c.delayedDamage = Misc.random(c.getCombat().calculateMeleeMaxHit());
c.delayedDamage2 = Misc.random(c.getCombat().calculateMeleeMaxHit());
c.usingSpecial = false;
c.getItems().updateSpecialBar();
}