Code:
public void combatWalk(int x, int y) {
boolean east = opponentX - c.getX() > 0;
boolean west = opponentX - x > 0;
boolean north = opponentY - c.getY() > 0;
boolean south = c.getY() - opponentY > 0;
//System.out.println("south: "+south+"east: "+east);
if (south) {
if (east) {
if (Region.checkNormalClip(x, y, opponentX , opponentY, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX+1, opponentY, c.heightLevel))
playerWalk(opponentX+1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX - 1, opponentY, c.heightLevel))
playerWalk(opponentX + 1, opponentY, true);
return;
}
if (west) {
if (Region.checkNormalClip(x, y, opponentX , opponentY, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX+1, opponentY, c.heightLevel))
playerWalk(opponentX+1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX - 1, opponentY, c.heightLevel))
playerWalk(opponentX - 1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
return;
}
if (Region.checkNormalClip(x, y, opponentX , opponentY, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX - 1, opponentY, c.heightLevel))
playerWalk(opponentX - 1, opponentY, true);
else if (Region.checkNormalClip(opponentX , opponentY, opponentX + 1, opponentY, c.heightLevel))
playerWalk(opponentX + 1, opponentY, true);
else if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
return;
}
if (north) {
if (east) {
if (Region.checkNormalClip(x, y, opponentX , opponentY, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX + 1, opponentY, c.heightLevel))
playerWalk(opponentX + 1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY + 1, c.heightLevel))
playerWalk(opponentX, opponentY + 1, true);
return;
}
if (west) {
if (Region.checkNormalClip(opponentX , opponentY, x, y, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX - 1, opponentY, c.heightLevel))
playerWalk(opponentX - 1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY + 1, c.heightLevel))
playerWalk(opponentX, opponentY + 1, true);
return;
}
if (Region.checkNormalClip(opponentX , opponentY, x, y, c.heightLevel))
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX - 1, opponentY, c.heightLevel))
playerWalk(opponentX - 1, opponentY, true);
else
if (Region.checkNormalClip(opponentX , opponentY, opponentX + 1, opponentY, c.heightLevel))
playerWalk(opponentX + 1, opponentY, true);
return;
}
if (east) {
if (Region.checkNormalClip(opponentX , opponentY, x, y, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480)
playerWalk(x, y, true);
else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY + 1, c.heightLevel))
playerWalk(opponentX, opponentY + 1, true);
else
if (Region.checkNormalClip(opponentX, opponentY, opponentX + 1, opponentY, c.heightLevel))
playerWalk(opponentX + 1, opponentY, true);
return;
}
if (west) {
if (Region.checkNormalClip(opponentX , opponentY, x, y, c.heightLevel) && Region.getClipping(x, y, c.heightLevel, false) != 2228480) {
playerWalk(x, y, true);
} else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY + 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
return;
}
if (Region.checkNormalClip(opponentX , opponentY, x, y, c.heightLevel)) {
playerWalk(x, y, true);
} else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY - 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
else
if (Region.checkNormalClip(opponentX, opponentY, opponentX, opponentY + 1, c.heightLevel))
playerWalk(opponentX, opponentY - 1, true);
}
Pretty sure this wouldn't work, but you can use it as a reference, if you want this to actually work, send me a private message and i'll hand you a hand