Dwarf Multi Cannon Firing
Hello r-s community. I'm trying to get my MultiCannon to function, it will set up, and load the cannonballs, but when i try to fire it nothing happens. Its due to my CycleEventHandler. I'm not sure what to do as other CycleEvents have been used exactly like this and they work, but my cannon will not.
Code:
private void startFiringCannon(final Objects cannon) {
player.cannonIsShooting = true;
player.sendMessage("Hi");
CycleEventHandler.addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer fire) {
player.sendMessage("Lol");
if (player.cannonBalls < 1) {
player.sendMessage("Your cannon has run out of ammo!");
player.cannonIsShooting = false;
fire.stop();
} else {
player.rotation++;
rotateCannon(cannon);
}
fire.stop();
}
@Override
public void stop() {
}
}, (player.inMulti() ? 800 : 2500));
}
private void rotateCannon(Objects cannon) {
switch (player.rotation) {
case 1: //north
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 516, 10, -1);
break;
case 2: //north-east
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 517, 10, -1);
break;
case 3: //east
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 518, 10, -1);
break;
case 4: //south-east
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 519, 10, -1);
break;
case 5: //south
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 520, 10, -1);
break;
case 6: //south-west
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 521, 10, -1);
break;
case 7: //west
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 514, 10, -1);
break;
case 8: //north-west
player.getPA().objectAnim(cannon.objectX, cannon.objectY, 515, 10, -1);
player.rotation = 0;
break;
}
}
P.s. The "player.sendMessage("Hi"); and "player.sendMessage("lol"); were tests to see if the cycle was working
I tried removing the CycleEvent and using if statements, but you would have to click the cannon every single time you wanted it to rotate. Which obviously is not how a Dwarf Multi Cannon works. If anyone has suggestions of help please leave a reply. I will rep or than anyone who can fix! - Grant (Apoptosis)