
Originally Posted by
Brett the Don
Im curious so see the code and why player count is causing a problem firing a bolt lol.
I’ll post when I get back home but I was thinking the same exact thing, I don’t understand why player count fixes the issue

Originally Posted by
viacom
That's not a proper fix.. lol....
Tell me about it lol, just as odd to me.

Originally Posted by
King Zeus
Strange that playercount affects bolts... glad you fixed it though
Thanks lol, but still weird.
Code:
public static void crossbowSpecial(Client c, int i) {
Client p = (Client)PlayerHandler.players[i]; // error part
NPC n = (NPC)NPCHandler.npcs[i];
c.crossbowDamage = 1.4;
switch (c.lastArrowUsed) {
case 9236: // Lucky Lightning
createCombatGFX(c, i, 749, false);
c.crossbowDamage = 1.25;
break;
case 9237: // Earth's Fury
createCombatGFX(c, i, 755, false);
break;
case 9238: // Sea Curse
createCombatGFX(c, i, 750, false);
c.crossbowDamage = 1.10;
break;
case 9239: // Down to Earth
createCombatGFX(c, i, 757, false);
if(c.playerIndex > 0) {
p.playerLevel[6] -= 2;
p.getPA().refreshSkill(6);
p.sendMessage("Your magic has been lowered!");
}
break;
case 9240: // Clear Mind
createCombatGFX(c, i, 751, false);
if(c.playerIndex > 0) {
p.playerLevel[5] -= 2;
p.getPA().refreshSkill(5);
p.sendMessage("Your prayer has been lowered!");
c.playerLevel[5] += 2;
if(c.playerLevel[5] >= c.getPA().getLevelForXP(c.playerXP[5])) {
c.playerLevel[5] = c.getPA().getLevelForXP(c.playerXP[5]);
}
c.getPA().refreshSkill(5);
}
break;
case 9241: // Magical Posion
createCombatGFX(c, i, 752, false);
if(c.playerIndex > 0) {
p.getPA().appendPoison(6);
}
break;
case 9242: // Blood Forfiet
createCombatGFX(c, i, 754, false);
if(c.playerLevel[3] - c.playerLevel[3]/20 < 1) {
break;
}
c.handleHitMask(c.playerLevel[3]/20);
c.dealDamage(c.playerLevel[3]/20);
if(c.npcIndex > 0) {
n.handleHitMask(n.HP/10);
n.dealDamage(n.HP/10);
} else if(c.playerIndex > 0) {
p.handleHitMask(c.playerLevel[3]/10);
p.dealDamage(c.playerLevel[3]/10);
}
break;
case 9243: // Armour Piercing
createCombatGFX(c, i, 758, true);
c.crossbowDamage = 1.15;
c.ignoreDefence = true;
break;
case 9244: // Dragon's Breath
createCombatGFX(c, i, 756, false);
if(c.playerEquipment[c.playerShield] != 1540 || c.playerEquipment[c.playerShield] != 11283
|| c.playerEquipment[c.playerShield] != 11284) {
c.crossbowDamage = 1.48;
}
break;
case 9245:
createCombatGFX(c, i, 753, true);
c.crossbowDamage = 1.15;
int heal = (int) (c.boltDamage / 3);
if (c.playerLevel[3] + heal > c.getPA().getLevelForXP
(c.playerXP[3])) {
c.playerLevel[3] = c.getPA().getLevelForXP(c.playerXP[3]);
} else {
c.playerLevel[3] += heal;
c.sendMessage("You heal 25% of your current hit.");
}
break;
}
}