Here is the start of my NpcPacket
Code:
public class NpcPacket implements Packet {
@Override
public void handlePacket(Player p, int packetId, int packetSize) {
switch (packetId) {
case 21:
firstClick(p);
break;
case 196:
p.attackNpc = p.stream.readUnsignedWordBigEndian();
p.inCombat = true;
p.target = Engine.npcs[p.attackNpc];
break;
case 160:
secondClick(p);
break;
case 157:
magicNpc(p);
break;
case 96:
sendAttack(p);
break;
}
}
private void sendAttack(Player p) {
if (!p.playerOption1) {
int npcId = p.stream.readUnsignedWordBigEndianA();
p.requestFaceTo(npcId + 32768);
p.clickId = npcId;
p.clickX = Engine.npcs[npcId].absX;
p.clickY = Engine.npcs[npcId].absY;
if (Misc.getDistance(p.absX, p.absY, p.clickX, p.clickY) > 30) {
return;
}
p.playerOption1 = true;
}
p.playerOption1 = false;
p.combat.inCombat = true;
p.NpcOpponent = Engine.npcs[p.clickId];
p.attackingNpc = true;
}
in player.java right under
Code:
if (attackingPlayer) {
Engine.playerCombat.attackPlayer(this);
}
i have this
Code:
if (attackingNpc) {
Engine.playerCombat.attackNpc(this);
}
and last but not least my attack npc void
Code:
public void attackNpc(Player p) {
NPC opponent = p.NpcOpponent;
if (opponent == null || opponent.isDead) {
p.combat.stopCombat();
return;
}
int distance = Misc.getDistance(p.absX, p.absY, opponent.absX,
opponent.absY);
if (distance > 30) {
p.combat.stopCombat();
return;
}
if (p.combat.isRanging()) {
Engine.playerMovement.resetWalkingQueue(p);
}
if (p.combat.attackDelay > 0 || !p.combat.inCombat) {
return;
}
if (p.combat.isRanging()) {
handleRanged(p);
} else {
distance = Misc.getDistance(p.absX, p.absY, opponent.absX,
opponent.absY);
if (distance >= p.combat.getAttackingDistance()) {
p.requestAnim(p.combat.setAttackAnimation(), 0);
p.combat.attackDelay = p.combat.getAttackSpeed();
p.combat.hitDamage = p.combat.getDamage();
// p.combat.hitDamage = p.combat.getHit(p.combat
// .getAccuracy(false), p.combat.getMeleeMaxhit());
// p.combat.hitDamage2 = p.combat.getHit(p.combat
// .getAccuracy(false), p.combat.getMeleeMaxhit());
hitPlayer(p, 2);
}
}
}
First try at 474 combat, can any1 find out whats wrong?
Compiles no errors, but nothing happens in terms of combat