mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-08 00:32:12 +00:00
More fixes (#235)
- Dwarf cannon can now be seen by anyone and not just the person who sets it down (they can also see the rotation now) - Fixed doors being removed when clicking them - Removed banking command for regular players - Fixed nulodion now only gives if you have space - Updated nulodion message so it doesnt say to find him at home - Npcs wont follow you if you turn on the cantAttack comamand (for admins - Fixed gate at KBD - Fixed the gates at Ice giants in wildy #closes 132 #closes 203 #closes 211 #closes 6 also this one should be closed from previous patch #closes 219
This commit is contained in:
committed by
Daniel Ginovker
parent
9fb110bb41
commit
8af938548b
@@ -7,10 +7,12 @@ import com.rebotted.event.CycleEventHandler;
|
|||||||
import com.rebotted.game.content.combat.CombatConstants;
|
import com.rebotted.game.content.combat.CombatConstants;
|
||||||
import com.rebotted.game.npcs.Npc;
|
import com.rebotted.game.npcs.Npc;
|
||||||
import com.rebotted.game.npcs.NpcHandler;
|
import com.rebotted.game.npcs.NpcHandler;
|
||||||
|
import com.rebotted.game.objects.Objects;
|
||||||
import com.rebotted.game.players.Client;
|
import com.rebotted.game.players.Client;
|
||||||
import com.rebotted.game.players.Player;
|
import com.rebotted.game.players.Player;
|
||||||
import com.rebotted.game.players.PlayerHandler;
|
import com.rebotted.game.players.PlayerHandler;
|
||||||
import com.rebotted.util.Misc;
|
import com.rebotted.util.Misc;
|
||||||
|
import com.rebotted.world.clip.Region;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cannon
|
* Cannon
|
||||||
@@ -97,7 +99,7 @@ public class DwarfCannon {
|
|||||||
player.turnPlayerTo(player.absX, player.absY);
|
player.turnPlayerTo(player.absX, player.absY);
|
||||||
player.cannonX = player.absX;
|
player.cannonX = player.absX;
|
||||||
player.cannonY = player.absY;
|
player.cannonY = player.absY;
|
||||||
placeObject(OBJECT_PARTS[setUpStage], player.absX, player.absY);
|
placeObject(OBJECT_PARTS[setUpStage], player.absX, player.absY, true);
|
||||||
player.getItemAssistant().deleteItem(ITEM_PARTS[setUpStage], 1);
|
player.getItemAssistant().deleteItem(ITEM_PARTS[setUpStage], 1);
|
||||||
setUpStage ++;
|
setUpStage ++;
|
||||||
}
|
}
|
||||||
@@ -120,7 +122,7 @@ public class DwarfCannon {
|
|||||||
|
|
||||||
public void loginCheck() {
|
public void loginCheck() {
|
||||||
if (needsCannon()) {
|
if (needsCannon()) {
|
||||||
player.getPacketSender().sendMessage("@red@You can collect your cannon at home from Nulodion.");
|
player.getPacketSender().sendMessage("@red@You can collect your cannon from Nulodion.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -342,17 +344,14 @@ public class DwarfCannon {
|
|||||||
player.cannonY = 0;
|
player.cannonY = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void placeObject(int id, int x, int y) {
|
public void placeObject(int id, int x, int y, boolean add) {
|
||||||
for (int j = 0; j < PlayerHandler.players.length; j++) {
|
GameEngine.objectHandler.placeObject(new Objects(id, x, y, 0, 516, 10, 0));
|
||||||
if (PlayerHandler.players[j] != null) {
|
if (add)
|
||||||
Client a = (Client)PlayerHandler.players[j];
|
Region.addObject(id, x, y, 0, 10, 516, true);
|
||||||
a.getPacketSender().object(id, x, y, 516, 10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeObject(int x, int y) {
|
public void removeObject(int x, int y) {
|
||||||
placeObject(-1, x, y);
|
placeObject(-1, x, y, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean noSetUpArea() {
|
public boolean noSetUpArea() {
|
||||||
|
|||||||
@@ -6854,12 +6854,17 @@ public class DialogueHandler {
|
|||||||
|
|
||||||
case 3501:
|
case 3501:
|
||||||
if (player.getCannon().needsCannon()) {
|
if (player.getCannon().needsCannon()) {
|
||||||
sendNpcChat1("Here is your cannon, try not to lose it again.", player.talkingNpc, "Nulodion");
|
if (player.getItemAssistant().freeSlots() >= 4) {
|
||||||
for (int i = 0; i < 4; i++) {
|
sendNpcChat1("Here is your cannon, try not to lose it again.", player.talkingNpc, "Nulodion");
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
player.getItemAssistant().addItem(player.getCannon().ITEM_PARTS[i], 1);
|
player.getItemAssistant().addItem(player.getCannon().ITEM_PARTS[i], 1);
|
||||||
|
}
|
||||||
|
player.lostCannon = false;
|
||||||
|
player.nextChat = 0;
|
||||||
|
} else {
|
||||||
|
sendNpcChat1("You need at least 4 free inventory spots.", player.talkingNpc, "Nulodion");
|
||||||
|
player.nextChat = 0;
|
||||||
}
|
}
|
||||||
player.lostCannon = false;
|
|
||||||
player.nextChat = 0;
|
|
||||||
} else {
|
} else {
|
||||||
sendNpcChat1("" + Misc.capitalize(player.playerName) + " you do not have a cannon to collect currently.", player.talkingNpc, "Nulodion");
|
sendNpcChat1("" + Misc.capitalize(player.playerName) + " you do not have a cannon to collect currently.", player.talkingNpc, "Nulodion");
|
||||||
player.nextChat = 0;
|
player.nextChat = 0;
|
||||||
|
|||||||
@@ -54,12 +54,12 @@ public class Doors {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean handleDoor(int id, int x, int y, int z, Player player) {
|
public boolean handleDoor(Player player, int id, int x, int y, int z) {
|
||||||
|
|
||||||
Doors d = getDoor(id, x, y, z);
|
Doors d = getDoor(id, x, y, z);
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
if (DoubleDoors.getSingleton().handleDoor(id, x, y, z)) {
|
if (DoubleDoors.getSingleton().handleDoor(player, id, x, y, z)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import java.util.Scanner;
|
|||||||
|
|
||||||
import com.rebotted.GameEngine;
|
import com.rebotted.GameEngine;
|
||||||
import com.rebotted.game.objects.Objects;
|
import com.rebotted.game.objects.Objects;
|
||||||
|
import com.rebotted.game.players.Player;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -45,11 +46,11 @@ public class DoubleDoors {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean handleDoor(int id, int x, int y, int z) {
|
public boolean handleDoor(Player player, int id, int x, int y, int z) {
|
||||||
DoubleDoors doorClicked = getDoor(id, x, y, z);
|
DoubleDoors doorClicked = getDoor(id, x, y, z);
|
||||||
|
|
||||||
if (doorClicked == null) {
|
if (doorClicked == null) {
|
||||||
GameEngine.objectHandler.placeObject(new Objects(-1, x, y, z, 0, 0, 0));
|
//GameEngine.objectHandler.placeObject(new Objects(-1, x, y, z, 0, 0, 0));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (doorClicked.doorId > 12000) {
|
if (doorClicked.doorId > 12000) {
|
||||||
|
|||||||
@@ -148,6 +148,12 @@ public class DoubleGates extends GateHandler {
|
|||||||
handleMetalGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
|
handleMetalGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
|
||||||
} else if (player.objectY > 3449 && player.objectY < 3452) {
|
} else if (player.objectY > 3449 && player.objectY < 3452) {
|
||||||
handleMetalGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
|
handleMetalGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
|
||||||
|
} else if (player.objectY > 3848 && player.objectY < 3851) {
|
||||||
|
handleMetalGate(player, 1596, 1597, 3007, 3849, 3007, 3850, 3008, 3849, 3008, 3850, 3);
|
||||||
|
} else if (player.objectX > 3223 && player.objectX < 3226) {
|
||||||
|
handleMetalGate(player, 1596, 1597, 3225, 3903, 3224, 3903, 3225, 3904, 3224, 3904, 0);
|
||||||
|
} else if (player.objectX > 2946 && player.objectX < 2949) {
|
||||||
|
handleMetalGate(player, 1596, 1597, 2948, 3903, 2947, 3903, 2948, 3904, 2947, 3904, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1597:
|
case 1597:
|
||||||
@@ -161,6 +167,12 @@ public class DoubleGates extends GateHandler {
|
|||||||
handleMetalGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
|
handleMetalGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
|
||||||
} else if (player.objectY > 3449 && player.objectY < 3452) {
|
} else if (player.objectY > 3449 && player.objectY < 3452) {
|
||||||
handleMetalGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
|
handleMetalGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
|
||||||
|
} else if (player.objectY > 3848 && player.objectY < 3851) {
|
||||||
|
handleMetalGate(player, 1597, 1596, 3007, 3850, 3007, 3849, 3008, 3850, 3008, 3849, 1);
|
||||||
|
} else if (player.objectX > 3223 && player.objectX < 3226) {
|
||||||
|
handleMetalGate(player, 1597, 1596, 3224, 3903, 3225, 3903, 3224, 3904, 3225, 3904, 2);
|
||||||
|
} else if (player.objectX > 2946 && player.objectX < 2949) {
|
||||||
|
handleMetalGate(player, 1597, 1596, 2947, 3903, 2948, 3903, 2947, 3904, 2948, 3904, 2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1557:
|
case 1557:
|
||||||
|
|||||||
@@ -20,9 +20,7 @@ public class NPCDefinition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static NPCDefinition forId(int id) {
|
public static NPCDefinition forId(int id) {
|
||||||
|
|
||||||
NPCDefinition d = definitions[id];
|
NPCDefinition d = definitions[id];
|
||||||
|
|
||||||
if (d == null) {
|
if (d == null) {
|
||||||
d = produceDefinition(id);
|
d = produceDefinition(id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1010,6 +1010,9 @@ public class NpcHandler {
|
|||||||
if (PlayerHandler.players[playerId] == null) {
|
if (PlayerHandler.players[playerId] == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (PlayerHandler.players[playerId].npcCanAttack == false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (PlayerHandler.players[playerId].respawnTimer > 0) {
|
if (PlayerHandler.players[playerId].respawnTimer > 0) {
|
||||||
npcs[i].facePlayer(0);
|
npcs[i].facePlayer(0);
|
||||||
npcs[i].randomWalk = true;
|
npcs[i].randomWalk = true;
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ public class PlayerAssistant {
|
|||||||
public void objectAnim(int X, int Y, int animationID, int tileObjectType, int orientation) {
|
public void objectAnim(int X, int Y, int animationID, int tileObjectType, int orientation) {
|
||||||
for (Player p : PlayerHandler.players) {
|
for (Player p : PlayerHandler.players) {
|
||||||
if(p != null) {
|
if(p != null) {
|
||||||
Client players = (Client)p;
|
Player players = (Player)p;
|
||||||
if(players.distanceToPoint(X, Y) <= 25) {
|
if(players.distanceToPoint(X, Y) <= 25) {
|
||||||
player.getPacketSender().createPlayersObjectAnim(X, Y, animationID, tileObjectType, orientation);
|
players.getPacketSender().createPlayersObjectAnim(X, Y, animationID, tileObjectType, orientation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,8 +89,7 @@ public class Bank10 implements PacketType {
|
|||||||
case 1121:
|
case 1121:
|
||||||
case 1122:
|
case 1122:
|
||||||
case 1123:
|
case 1123:
|
||||||
player.getSmithing().readInput(player.playerLevel[player.playerSmithing],
|
player.getSmithing().readInput(player.playerLevel[player.playerSmithing], Integer.toString(removeId), player, 10);
|
||||||
Integer.toString(removeId), player, 10);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,11 +122,7 @@ public class ClickObject implements PacketType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//todo: check if it's a door before fire handle
|
//todo: check if it's a door before fire handle
|
||||||
Doors.getSingleton().handleDoor(p.objectId, p.objectX, p.objectY, p.heightLevel, p);
|
Doors.getSingleton().handleDoor(p, p.objectId, p.objectX, p.objectY, p.heightLevel);
|
||||||
|
|
||||||
/*if (client.performingAction) {
|
|
||||||
return;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
if (Stalls.isObject(p.objectId)) {
|
if (Stalls.isObject(p.objectId)) {
|
||||||
Stalls.attemptStall(p, p.objectId, p.objectX, p.objectX);
|
Stalls.attemptStall(p, p.objectId, p.objectX, p.objectX);
|
||||||
|
|||||||
@@ -42,9 +42,6 @@ public class Commands implements PacketType {
|
|||||||
public static void playerCommands(Player player, String playerCommand, String[] arguments) {
|
public static void playerCommands(Player player, String playerCommand, String[] arguments) {
|
||||||
switch (playerCommand.toLowerCase())
|
switch (playerCommand.toLowerCase())
|
||||||
{
|
{
|
||||||
case "bank":
|
|
||||||
player.getPacketSender().openUpBank();
|
|
||||||
break;
|
|
||||||
case "claimvote":
|
case "claimvote":
|
||||||
if(!GameEngine.ersSecret.equals("")) {
|
if(!GameEngine.ersSecret.equals("")) {
|
||||||
final String playerName = player.playerName;
|
final String playerName = player.playerName;
|
||||||
|
|||||||
Reference in New Issue
Block a user