Added some sound, refactored fletching and arrowmaking a bit... I've … (#314)

* Added some sound, refactored fletching and arrowmaking a bit... I've maybe fixed the issue with fletching.. idk

Added some sound, refactored fletching and arrowmaking a bit... I've maybe fixed the issue with fletching.. idk

* Commented clipping server side check so we can work on it

Commented and brought back the old code so gates works while we work in the clipping check server side.

* Added Canifis bank to the bank boolean
This commit is contained in:
Gptaqbc
2019-12-22 15:59:33 -05:00
committed by Daniel Ginovker
parent c5c1c2fc35
commit 2790decd44
12 changed files with 191 additions and 182 deletions
@@ -47,6 +47,7 @@ public class Potions {
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
c.getPacketSender().sendSound(1210, 100, 0);
c.getPacketSender().sendMessage(m1);
container.stop();
}
@@ -104,55 +104,52 @@ public class ArrowMaking {
player.getPacketSender().sendMessage("Not enough space in your inventory.");
return false;
}
player.playerIsFletching = true;
int factor = 1;
final int multiplier = factor;
int count1 = player.getItemAssistant().getItemAmount(arrowData.getItem1()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem1()) : 15;
int count2 = player.getItemAssistant().getItemAmount(arrowData.getItem2()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem2()) : 15;
final int count = count1 < count2 ? count1 : count2;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (!player.getItemAssistant().playerHasItem(arrowData.getItem1(),
count)
|| !player.getItemAssistant().playerHasItem(
arrowData.getItem2(), count)
|| player.playerIsFletching == false) {
container.stop();
return;
if (!player.playerIsFletching)
{
player.playerIsFletching = true;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
int factor = 1;
final int multiplier = factor;
int count1 = player.getItemAssistant().getItemAmount(arrowData.getItem1()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem1()) : 15;
int count2 = player.getItemAssistant().getItemAmount(arrowData.getItem2()) < 15 ? player
.getItemAssistant().getItemAmount(arrowData.getItem2()) : 15;
final int count = count1 < count2 ? count1 : count2;
@Override
public void execute(CycleEventContainer container) {
if (!player.getItemAssistant().playerHasItem(arrowData.getItem1(),
count)
|| !player.getItemAssistant().playerHasItem(
arrowData.getItem2(), count) || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isSmithing || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) {
container.stop();
return;
}
player.getPacketSender().sendSound(375, 100, 0);
player.getItemAssistant().deleteItem(arrowData.getItem1(), count);
player.getItemAssistant().deleteItem(arrowData.getItem2(), count);
player.getItemAssistant().addItem(arrowData.getProduct(),
count / multiplier);
player.getPacketSender().sendMessage(
"You attach the "
+ ItemAssistant.getItemName(arrowData
.getItem1())
+ " to "
+ count
/ multiplier
+ " "
+ ItemAssistant.getItemName(arrowData
.getItem2()) + "s.");
player.getPlayerAssistant().addSkillXP(
count / multiplier * arrowData.getXp(), 9);
}
if (player.isWoodcutting == true) {
container.stop();
}
player.getItemAssistant().deleteItem(arrowData.getItem1(), count);
player.getItemAssistant().deleteItem(arrowData.getItem2(), count);
player.getItemAssistant().addItem(arrowData.getProduct(),
count / multiplier);
player.getPacketSender().sendMessage(
"You attach the "
+ ItemAssistant.getItemName(arrowData
.getItem1())
+ " to "
+ count
/ multiplier
+ " "
+ ItemAssistant.getItemName(arrowData
.getItem2()) + "s.");
player.getPlayerAssistant().addSkillXP(
count / multiplier * arrowData.getXp(), 9);
}
@Override
public void stop() {
player.playerIsFletching = false;
return;
}
}, 1);
@Override
public void stop() {
player.playerIsFletching = false;
}
}, 1);
}
return true;
}
}
@@ -22,83 +22,45 @@ public class LogCutting {
}
}
public static void cutLog(final Player c, final int product, final int level, final double xp, int amount) {
if (c.isSpinning) {
c.isSpinning = false;
}
if (c.isWoodcutting) {
c.isWoodcutting = false;
}
c.doAmount = amount;
c.getPacketSender().closeAllWindows();
if (c.playerLevel[9] < level) {
c.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this.");
public static void cutLog(final Player player, final int product, final int level, final double xp, int amount) {
player.doAmount = amount;
player.getPacketSender().closeAllWindows();
if (player.playerLevel[9] < level) {
player.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this.");
return;
}
c.playerIsFletching = true;
c.startAnimation(1248);
c.getPacketSender().sendSound(CUT_SOUND, 100, 0);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.getItemAssistant().playerHasItem(LogCuttingInterface.log) && c.getItemAssistant().playerHasItem(KNIFE)) {
c.getItemAssistant().deleteItem(LogCuttingInterface.log, 1);
if (product == 52) {
c.getItemAssistant().addItem(product, 15);
} else {
c.getItemAssistant().addItem(product, 1);
if (!player.playerIsFletching)
{
player.playerIsFletching = true;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (player.doAmount <= 0 || !player.getItemAssistant().playerHasItem(LogCuttingInterface.log) || !player.getItemAssistant().playerHasItem(KNIFE) || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isSmithing || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) {
container.stop();
return;
}
c.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + ".");
c.getPlayerAssistant().addSkillXP(xp, c.playerFletching);
c.doAmount--;
player.startAnimation(1248);
player.getItemAssistant().deleteItem(LogCuttingInterface.log, 1);
if (product == 52)
{
player.getItemAssistant().addItem(product, 15);
}
else
{
player.getItemAssistant().addItem(product, 1);
}
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + ".");
player.getPlayerAssistant().addSkillXP(xp, player.playerFletching);
player.doAmount--;
player.getPacketSender().sendSound(CUT_SOUND, 100, 0);
}
if (!c.getItemAssistant().playerHasItem(LogCuttingInterface.log)) {
container.stop();
return;
@Override
public void stop() {
player.playerIsFletching = false;
}
if (c.playerIsFletching == false) {
container.stop();
return;
}
if (c.doAmount <= 0) {
container.stop();
return;
}
}
@Override
public void stop() {
c.playerIsFletching = false;
c.startAnimation(65535);
return;
}
}, 3);
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (c.playerIsFletching == false) {
container.stop();
return;
}
c.getPacketSender().sendSound(CUT_SOUND, 100, 0);
c.startAnimation(1248);
}
@Override
public void stop() {
c.playerIsFletching = false;
c.startAnimation(65535);
return;
}
}, 3);
}, 3);
}
}
public static void handleClick(Player c, int buttonId) {
@@ -20,12 +20,14 @@ public class LogCuttingInterface {
}
public static void fletchInterface(Player c, int item) {
if (c.playerIsFletching == true && (item > 1510 && item < 1522)) {
LogCutting.resetFletching(c);
if (c.playerIsFletching) {
c.playerIsFletching = false;
return;
} else if (c.playerIsFletching == true && (item < 1510 || item > 1521)) {
}
if (item < 1510 || item > 1521) {
c.playerIsFletching = false;
c.getPacketSender().sendMessage("Nothing interesting happens.");
return;
}
log = item;
if (item == 1511) {
@@ -73,7 +75,6 @@ public class LogCuttingInterface {
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(72), 8874);
c.getPacketSender().sendFrame126(ItemAssistant.getItemName(70), 8878);
}
c.playerIsFletching = true;
}
public static void handleItemOnItem(Player player, int itemUsed, int useWith) {
@@ -86,10 +86,11 @@ public class Stringing {
@Override
public void execute(CycleEventContainer container) {
if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2()) || player.playerIsFletching == false) {
if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2()) || !player.playerIsFletching) {
container.stop();
return;
}
player.getPacketSender().sendSound(1311, 100, 0);
player.getItemAssistant().deleteItem(loadData.getItem1(), 1);
player.getItemAssistant().deleteItem(loadData.getItem2(), 1);
player.getPacketSender().sendMessage("You add a string to the bow.");
@@ -70,7 +70,7 @@ public class Doors {
}
//Remove clipping for old door (gets added back in placeObject)
Region.removeClipping(x, y, z);
//Region.removeClipping(x, y, z);
int xAdjustment = 0, yAdjustment = 0;
if (d.type == 0) {
@@ -60,7 +60,7 @@ public class DoubleDoors {
return true; //nearly all of these are not opened
}
Region.removeClipping(x, y, z);
//Region.removeClipping(x, y, z);
if (doorClicked.open == 0) {
if (doorClicked.originalFace == 0) {
@@ -69,7 +69,7 @@ public class ObjectsActions {
if (player.stopPlayerPacket == true) {
return;
}
LogCutting.resetFletching(player);
//LogCutting.resetFletching(player);
if (player.getGnomeStrongHold().gnomeCourse(objectType)) {
return;
}
@@ -2554,11 +2554,9 @@ public class ObjectsActions {
player.faceUpdate(0);
player.clickObjectType = 0;
player.turnPlayerTo(obX, obY);
//if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) {
// player.getPacketSender().sendMessage("[DEBUG] This object does not exist.");
// return;
//}
LogCutting.resetFletching(player);
if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) {
return;
}
switch (objectType) {
case 6:
player.getCannon().loadCannon(obX, obY);
@@ -2814,10 +2812,9 @@ public class ObjectsActions {
if (player.playerRights == 3) {
player.getPacketSender().sendMessage("Object type: " + objectType);
}
//if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) {
// player.getPacketSender().sendMessage("[DEBUG] This object does not exist.");
// return;
//}
if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) {
return;
}
if (Stalls.isObject(objectType)) {
Stalls.attemptStall(player, objectType, obX, obY);
return;
@@ -2860,13 +2857,11 @@ public class ObjectsActions {
if (player.playerRights == 3) {
player.getPacketSender().sendMessage("Object type: " + objectType);
}
//if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) {
// player.getPacketSender().sendMessage("[DEBUG] This object does not exist.");
// return;
//}
Farming.openGuide(player, player.objectId);
switch (objectType) {
if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) {
return;
}
Farming.openGuide(player, player.objectId);
// switch (objectType) {
// }
}
}
@@ -456,6 +456,13 @@ public class Climbing {
case 3443:
client.getPlayerAssistant().movePlayer(3423, 3485, 0);
break;
case 1754:
if (client.objectX == 3116 && client.objectY == 3452) {
client.getPlayerAssistant().movePlayer(3222, 3218, 0);
client.startAnimation(CLIMB_DOWN);
client.resetWalkingQueue();
}
break;
case 1755:
if (client.objectX == 3116 && client.objectY == 9852) {
client.getPlayerAssistant().movePlayer(3116, 3451, 0);
@@ -1762,6 +1762,7 @@ public abstract class Player {
isInArea(2834, 10215, 2841, 10204) || // Keldagrim
isInArea(2379, 4453, 2386, 4462) || // Zanaris
isInArea(2582, 3423, 2591, 3417) || //Fishing Guild
isInArea(3509, 3483, 3516, 3476) || //Canifis
false;
}
@@ -73,7 +73,6 @@ public class PickupItem implements PacketType {
SkillHandler.resetSkills(player);
player.getCombatAssistant().resetPlayerAttack();
player.walkingToItem = true;
//player.getPacketSender().sendMessage("walkingToItem");
player.soundDone = false;
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
@@ -94,7 +93,6 @@ public class PickupItem implements PacketType {
@Override
public void stop() {
player.walkingToItem = false;
//player.getPacketSender().sendMessage("!walkingToItem - stop");
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true);
GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY);
if (!player.soundDone)
@@ -160,50 +160,96 @@ public class Walking implements PacketType {
if (packetType == 248) {
packetSize -= 14;
}
//
// if (player.clickToTele) {
// player.newWalkCmdSteps = (packetSize - 5) / 2;
// if (++player.newWalkCmdSteps > player.walkingQueueSize) {
// player.newWalkCmdSteps = 0;
// return;
// }
// player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
// int firstStepX, firstStepY;
// firstStepX = player.getInStream().readSignedWordBigEndianA();
// for (int i = 1; i < player.newWalkCmdSteps; i++) {
// player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte();
// player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte();
// }
// firstStepY = player.getInStream().readSignedWordBigEndian();
// player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0);
// for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) {
// player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel);
// player.getNewWalkCmdX()[i1] += firstStepX;
// player.getNewWalkCmdY()[i1] += firstStepY;
// }
// }
// else {
// player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
// int steps = (packetSize - 5) / 2;
//
// int[][] path = new int[steps][2];
// int firstStepX = player.getInStream().readSignedWordBigEndianA();
// for (int i = 0; i < steps; i++) {
// path[i][0] = player.getInStream().readSignedByte();
// path[i][1] = player.getInStream().readSignedByte();
// }
// int firstStepY = player.getInStream().readSignedWordBigEndian();
// int x = firstStepX;
// int y = firstStepY;
// player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0);
// for (int i = 0; i < steps; i++) {
// path[i][0] += firstStepX;
// path[i][1] += firstStepY;
// x = path[i][0];
// y = path[i][1];
// }
// //System.out.println("Player has requested to walk to: "+x+","+y);
// player.getPlayerAssistant().playerWalk(x, y);
// }
// }
//}
player.newWalkCmdSteps = (packetSize - 5) / 2;
if (++player.newWalkCmdSteps > player.walkingQueueSize) {
player.newWalkCmdSteps = 0;
return;
}
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
int firstStepX, firstStepY;
int realX = 0;
int realY = 0;
if (player.clickToTele) {
player.newWalkCmdSteps = (packetSize - 5) / 2;
if (++player.newWalkCmdSteps > player.walkingQueueSize) {
player.newWalkCmdSteps = 0;
firstStepX = player.getInStream().readSignedWordBigEndianA();
} else {
realX = player.getInStream().readSignedWordBigEndianA();
firstStepX = realX - player.getMapRegionX() * 8;
}
for (int i = 1; i < player.newWalkCmdSteps; i++) {
player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte();
player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte();
}
if (player.clickToTele) {
firstStepY = player.getInStream().readSignedWordBigEndian();
} else {
realY = player.getInStream().readSignedWordBigEndian();
firstStepY = realY - player.getMapRegionY() * 8;
}
if (!player.clickToTele) {
if (player.distanceToPoint(realX, realY) > 30) {
return;
}
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
int firstStepX, firstStepY;
firstStepX = player.getInStream().readSignedWordBigEndianA();
for (int i = 1; i < player.newWalkCmdSteps; i++) {
player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte();
player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte();
}
firstStepY = player.getInStream().readSignedWordBigEndian();
player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0);
for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) {
player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel);
player.getNewWalkCmdX()[i1] += firstStepX;
player.getNewWalkCmdY()[i1] += firstStepY;
}
}
else {
player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0;
int steps = (packetSize - 5) / 2;
int[][] path = new int[steps][2];
int firstStepX = player.getInStream().readSignedWordBigEndianA();
for (int i = 0; i < steps; i++) {
path[i][0] = player.getInStream().readSignedByte();
path[i][1] = player.getInStream().readSignedByte();
}
int firstStepY = player.getInStream().readSignedWordBigEndian();
int x = firstStepX;
int y = firstStepY;
player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0);
for (int i = 0; i < steps; i++) {
path[i][0] += firstStepX;
path[i][1] += firstStepY;
x = path[i][0];
y = path[i][1];
}
//System.out.println("Player has requested to walk to: "+x+","+y);
player.getPlayerAssistant().playerWalk(x, y);
player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0);
for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) {
if (player.clickToTele)
player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel);
player.getNewWalkCmdX()[i1] += firstStepX;
player.getNewWalkCmdY()[i1] += firstStepY;
}
}
}
}