mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Compare commits
54 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 488ff99c7f | |||
| 094c3f79dc | |||
| 8e68d9739c | |||
| 43a0f3e9f1 | |||
| e8685c97d0 | |||
| b79103ed79 | |||
| aa6b9a9aa0 | |||
| 5f500280b2 | |||
| 1c2deaacb6 | |||
| 287018346b | |||
| 850b09e6fc | |||
| 9759d004eb | |||
| 10070843e6 | |||
| b1b06e9cb9 | |||
| 1702a9b726 | |||
| 32bbf1e003 | |||
| bc4320ee68 | |||
| b07dd8cfb7 | |||
| 7f7e00788e | |||
| 2790decd44 | |||
| c5c1c2fc35 | |||
| 17e5e7ea5c | |||
| bda71ee34a | |||
| f6e8f2d851 | |||
| 7157020ac6 | |||
| 5ce95df4ea | |||
| 13977992d7 | |||
| 2005be0948 | |||
| 0842e2bc9c | |||
| a27b9e22f9 | |||
| 00500a072b | |||
| cfa59f4a4d | |||
| 521ae52e4c | |||
| 62a22f8857 | |||
| 223c3194a8 | |||
| 0653db8ad1 | |||
| e0d795323b | |||
| a16311ba15 | |||
| f12181140b | |||
| 6bf8d407e0 | |||
| 9ed0acfb04 | |||
| 87eaaed36f | |||
| 06d40b9a98 | |||
| 37322d4874 | |||
| b94157f01b | |||
| c1a5cf449c | |||
| 23951e9af6 | |||
| 2d58593be9 | |||
| 9b160452ad | |||
| f39993e3d9 | |||
| 6ad9d1f7e9 | |||
| 8ec8a92d20 | |||
| c891e4741e | |||
| 64ae22188f |
Generated
+49
-14
@@ -7,14 +7,19 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="9c1d485e-b413-4c80-b742-7c5a88c1c73c" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java" beforeDir="false" afterPath="$PROJECT_DIR$/2006Redone Server/src/com/rebotted/net/packets/impl/Commands.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class" beforeDir="false" afterPath="$PROJECT_DIR$/CompiledServer/production/2006rebotted/com/rebotted/net/packets/impl/Commands.class" afterDir="false" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileColors">
|
||||
<fileColor scope="Local Unit Tests" color="#161c22" />
|
||||
<fileColor scope="Android Instrumented Tests" color="#161c22" />
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>math.sq</find>
|
||||
@@ -29,25 +34,20 @@
|
||||
<option name="height" value="1407" />
|
||||
</component>
|
||||
<component name="ProjectId" id="1Sr1PyvKre5eWJ6XgOrqWrHM5hp" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showExcludedFiles" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/2006Redone Client/METAs/Client Meta" />
|
||||
<property name="project.structure.last.edited" value="Project" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager" selected="Application.GameEngine">
|
||||
<configuration name="Client" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="Client" />
|
||||
@@ -97,6 +97,18 @@
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="ServiceViewManager">
|
||||
<option name="viewStates">
|
||||
<list>
|
||||
<serviceView>
|
||||
<treeState>
|
||||
<expand />
|
||||
<select />
|
||||
</treeState>
|
||||
</serviceView>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
@@ -107,9 +119,14 @@
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1572306880139</updated>
|
||||
<workItem from="1576853591840" duration="1190000" />
|
||||
<workItem from="1576854792240" duration="1663000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
<map>
|
||||
@@ -137,4 +154,22 @@
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="WindowStateProjectService">
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.bottom" timestamp="1576858443106">
|
||||
<screen x="0" y="40" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.bottom/0.40.1920.1040@0.40.1920.1040" timestamp="1576858443106" />
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.center" timestamp="1576858443106">
|
||||
<screen x="0" y="40" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.center/0.40.1920.1040@0.40.1920.1040" timestamp="1576858443106" />
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.left" timestamp="1576858443105">
|
||||
<screen x="0" y="40" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.left/0.40.1920.1040@0.40.1920.1040" timestamp="1576858443105" />
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.right" timestamp="1576858443106">
|
||||
<screen x="0" y="40" width="1920" height="1040" />
|
||||
</state>
|
||||
<state width="1877" height="266" key="GridCell.Tab.0.right/0.40.1920.1040@0.40.1920.1040" timestamp="1576858443106" />
|
||||
</component>
|
||||
</project>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -34,6 +34,4 @@ public class ClientSettings {
|
||||
|
||||
public static final BigInteger RSA_MODULUS = new BigInteger("91553247461173033466542043374346300088148707506479543786501537350363031301992107112953015516557748875487935404852620239974482067336878286174236183516364787082711186740254168914127361643305190640280157664988536979163450791820893999053469529344247707567448479470137716627440246788713008490213212272520901741443");
|
||||
public static final BigInteger RSA_EXPONENT = new BigInteger("65537");
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
// Jad home page: http://www.kpdus.com/jad.html
|
||||
// Decompiler options: packimports(3)
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
public final class Flo {
|
||||
|
||||
public static void unpackConfig(StreamLoader streamLoader) {
|
||||
@@ -25,6 +28,10 @@ public final class Flo {
|
||||
return;
|
||||
} else if (i == 1) {
|
||||
anInt390 = stream.read3Bytes();
|
||||
Calendar date = new GregorianCalendar();
|
||||
if ((date.get(Calendar.MONTH) + 1) == 12) {
|
||||
anInt390 = 0xffffff;
|
||||
}
|
||||
method262(anInt390);
|
||||
} else if (i == 2) {
|
||||
anInt391 = stream.readUnsignedByte();
|
||||
|
||||
@@ -393,7 +393,11 @@ public class Game extends RSApplet {
|
||||
}
|
||||
if (l == 0) {
|
||||
if (i1 > 0 && i1 < 110) {
|
||||
try {
|
||||
textDrawingArea.method389(false, 4, 0, chatMessages[k], i1);
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
j++;
|
||||
}
|
||||
@@ -4791,18 +4795,6 @@ public class Game extends RSApplet {
|
||||
if (inputString.equals("::dataon")) {
|
||||
showInfo = !showInfo;
|
||||
}
|
||||
if (inputString.equals("::clip")) {
|
||||
for (int k1 = 0; k1 < 4; k1++) {
|
||||
for (int i2 = 1; i2 < 103; i2++) {
|
||||
for (int k2 = 1; k2 < 103; k2++) {
|
||||
aClass11Array1230[k1].anIntArrayArray294[i2][k2] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (inputString.startsWith("::")) {
|
||||
stream.createFrame(103);
|
||||
@@ -5978,7 +5970,6 @@ public class Game extends RSApplet {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int j3 = j2;
|
||||
int k3 = j1;
|
||||
anIntArrayArray901[j2][j1] = 99;
|
||||
@@ -11536,7 +11527,7 @@ public class Game extends RSApplet {
|
||||
|
||||
public Game() {
|
||||
//Test if they're on 32-bit, warn them if they are
|
||||
if (!System.getProperty("os.arch").contains("64"))
|
||||
if (!System.getProperty("sun.arch.data.model").contains("64"))
|
||||
{
|
||||
JOptionPane.showMessageDialog(null, "You're running 32-bit java. This will definitely cause problems.\nYou can get the right Java 8 at AdoptOpenJDK.net", "You're running 32-bit Java!", JOptionPane.INFORMATION_MESSAGE);
|
||||
System.out.println("Please upgrade to 64-bit java to avoid problems! (AdoptOpenJDK.net)");
|
||||
|
||||
@@ -190,7 +190,11 @@ public final class ItemDef {
|
||||
|
||||
cacheIndex = (cacheIndex + 1) % 10;
|
||||
ItemDef itemDef = cache[cacheIndex];
|
||||
stream.currentOffset = streamIndices[i];
|
||||
try {
|
||||
stream.currentOffset = streamIndices[i];
|
||||
} catch (Exception e) {
|
||||
System.out.println("Itemdef issue? Apparently this ID is out of bounds: " + e);
|
||||
}
|
||||
itemDef.id = i;
|
||||
itemDef.setDefaults();
|
||||
itemDef.readValues(stream);
|
||||
|
||||
@@ -200,7 +200,11 @@ public final class TextDrawingArea extends DrawingArea {
|
||||
if (flag1) {
|
||||
method392(aByteArrayArray1491[c], i + anIntArray1494[c] + 1, k + anIntArray1495[c] + 1, anIntArray1492[c], anIntArray1493[c], 0);
|
||||
}
|
||||
try {
|
||||
method392(aByteArrayArray1491[c], i + anIntArray1494[c], k + anIntArray1495[c], anIntArray1492[c], anIntArray1493[c], j);
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
i += anIntArray1496[c];
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
//the door starts as closed
|
||||
// South 0 face = doorX -1 face = -3
|
||||
// East -1 face = doorY -1 face = 0
|
||||
// North -2 face = doorX +1 face = -1
|
||||
// West -3 face = doorY +1 face = -2
|
||||
|
||||
// doorX doorY Height Face State //0 closed, 1 open
|
||||
door = 2474 3233 9312 0 1 //Ancient temple portal
|
||||
door = 3312 3235 0 0 0 //duel arena gate
|
||||
door = 3312 3234 0 0 0 //duel arena gate
|
||||
door = 3253 3266 0 0 0 //cow gate
|
||||
|
||||
door = 3268 3227 0 0 0 //al kharid gates
|
||||
door = 3268 3228 0 0 0
|
||||
|
||||
door = 3562 9694 0 -2 0 //barrows door
|
||||
door = 3563 9694 0 -1 1
|
||||
|
||||
//door = 2949 3379 0 0 0 //fally hair shop
|
||||
//door = 2948 3379 0 -3 1
|
||||
|
||||
door = 3234 3426 0 -2 0
|
||||
door = 3235 3426 0 -1 1
|
||||
|
||||
door = 3238 3210 0 0 0
|
||||
door = 3237 3210 0 -3 1
|
||||
|
||||
door = 3234 3207 0 0 0
|
||||
door = 3233 3207 0 -3 1
|
||||
|
||||
door = 3079 3497 0 -2 0
|
||||
door = 3079 3497 0 -1 1
|
||||
|
||||
//the door starts as opened
|
||||
// South 0 face = doorY +1 face = -1
|
||||
// East -1 face = doorX -1 face = -2
|
||||
// North -2 face = doorY -1 face = -3
|
||||
// West -3 face = doorX +1 face = 0
|
||||
|
||||
// doorX doorY Height Face State //0 closed, 1 open
|
||||
|
||||
door = 3231 3433 0 -2 1
|
||||
door = 3231 3432 0 -3 0
|
||||
|
||||
door = 2950 3385 0 -2 1
|
||||
door = 2950 3384 0 -3 0
|
||||
|
||||
door = 3249 3435 0 -1 1
|
||||
door = 3248 3435 0 -2 0
|
||||
|
||||
door = 3253 3431 0 -2 1
|
||||
door = 3253 3430 0 -3 0
|
||||
|
||||
door = 3233 3427 0 0 1
|
||||
door = 3233 3428 0 -1 0
|
||||
|
||||
door = 3217 3219 0 0 0
|
||||
door = 3216 3219 0 -3 1
|
||||
|
||||
door = 3101 3510 0 0 0
|
||||
door = 3101 3509 0 0 0
|
||||
|
||||
door = 2816 3438 0 -3 0
|
||||
//door = 3101 3509 0 1 0
|
||||
//door = 3101 3510 0 -1 0
|
||||
|
||||
[ENDOFDOORLIST]
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
// objectId X Y H Face objectType
|
||||
//object = 9981 3254 3429 0 -1 10
|
||||
[ENDOFOBJECTLIST]
|
||||
@@ -11,6 +11,8 @@
|
||||
1935:1:3211:3212
|
||||
88:1:2654:9767
|
||||
1931:1:3209:3214
|
||||
542:1:3059:3488:1
|
||||
544:1:3059:3487:1
|
||||
1923:1:3208:3214
|
||||
882:1:3205:3228
|
||||
2313:1:3033:9849
|
||||
|
||||
@@ -2887,5 +2887,8 @@ npc = 3830 Kathy Corkat 0 0
|
||||
npc = 3348 White_Knight 38 55
|
||||
npc = 3350 White_Knight 42 60
|
||||
npc = 3340 Giant_Mole 230 200
|
||||
npc = 3504 Hellcat 0 0
|
||||
npc = 3506 Lazy_Hellcat 0 0
|
||||
npc = 3507 Wily_Hellcat 0 0
|
||||
[ENDOFNPCLIST]
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -256,5 +256,3 @@
|
||||
1520 3280 3506 0 0
|
||||
4423 2426 3088 0 0
|
||||
4424 2427 3088 0 0
|
||||
14751 3021 3631 2 0
|
||||
14752 3021 3632 2 0
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
[2019/11/21] 18:52 andrew5 used command: bank
|
||||
[2019/11/21] 19:04 andrew5 used command: bank
|
||||
[2019/12/04] 13:26 andrew5 used command: bank
|
||||
[2019/12/22] 05:47 andrew5 used command: bank
|
||||
[2019/12/22] 05:58 andrew5 used command: bank
|
||||
[2019/12/22] 05:58 andrew5 used command: bank
|
||||
[2019/12/22] 05:59 andrew5 used command: bank
|
||||
|
||||
@@ -60,7 +60,7 @@ public class GameEngine {
|
||||
private static IoAcceptor acceptor;
|
||||
private static ConnectionHandler connectionHandler;
|
||||
private static ConnectionThrottleFilter throttleFilter;
|
||||
private static boolean shutdownServer = false;
|
||||
public static boolean shutdownServer = false;
|
||||
public static int garbageCollectDelay = 40;
|
||||
public static boolean shutdownClientHandler;
|
||||
private static int serverlistenerPort;
|
||||
|
||||
@@ -32,11 +32,13 @@ public class BotHandler {
|
||||
|
||||
public static void playerShop(Player player){
|
||||
// Must be in the correct zones
|
||||
if (!player.inPlayerShopArea() && !player.inBankArea()) {
|
||||
if (!player.inPlayerShopArea()) {
|
||||
player.getPacketSender().sendMessage("You need to be in a bank zone or trade area for this.");
|
||||
return;
|
||||
}
|
||||
|
||||
player.getPacketSender().sendMessage("Shop commands- ::withdrawshop, ::closeshop");
|
||||
|
||||
Client playerShop = getPlayerShop(player);
|
||||
|
||||
if (playerShop == null) {
|
||||
|
||||
@@ -61,7 +61,7 @@ public class CombatAssistant {
|
||||
NpcHandler.npcs[i].animUpdateRequired = true;
|
||||
NpcHandler.npcs[i].updateRequired = true;
|
||||
}
|
||||
if (CombatConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(CombatSounds.getNpcBlockSound(NpcHandler.npcs[c.oldNpcIndex].npcType), 100, 0);
|
||||
}
|
||||
NpcHandler.npcs[i].facePlayer(c.playerId);
|
||||
@@ -569,7 +569,7 @@ public class CombatAssistant {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (c.isWoodcutting == true) {
|
||||
if (c.isWoodcutting) {
|
||||
c.getPacketSender().sendMessage("You can't attack an npc while woodcutting.");
|
||||
resetPlayerAttack();
|
||||
return;
|
||||
@@ -644,9 +644,7 @@ public class CombatAssistant {
|
||||
return;
|
||||
}
|
||||
if (c.usingRangeWeapon || c.usingBow
|
||||
&& CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
&& CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(SoundList.SHOOT_ARROW,
|
||||
100, 0);
|
||||
}
|
||||
@@ -2023,6 +2021,7 @@ public class CombatAssistant {
|
||||
if (PlayerHandler.players[c.playerIndex].inDuelArena() && c.duelStatus != 5 && !c.usingMagic) {
|
||||
if (c.duelingArena() || c.duelStatus == 5) {
|
||||
c.getPacketSender().sendMessage("You can't challenge inside the arena!");
|
||||
resetPlayerAttack();
|
||||
return false;
|
||||
}
|
||||
c.getDueling().requestDuel(c.playerIndex);
|
||||
@@ -2150,16 +2149,6 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* public void applyRecoil(int damage, int i) { if (damage > 0 &&
|
||||
* PlayerHandler.players[i].playerEquipment[c.playerRing] == 2550) { int
|
||||
* recDamage = damage / 10 + 1; if (!c.getHitUpdateRequired()) {
|
||||
* c.setHitDiff(recDamage); c.setHitUpdateRequired(true); } else if
|
||||
* (!c.getHitUpdateRequired2()) { c.setHitDiff2(recDamage);
|
||||
* c.setHitUpdateRequired2(true); } c.dealDamage(recDamage);
|
||||
* c.updateRequired = true; } }
|
||||
*/
|
||||
|
||||
public static void applyRecoilNPC(Client c, int damage, int i) {
|
||||
if (c == null || c.npcIndex == 0) {
|
||||
return;
|
||||
|
||||
@@ -15,7 +15,7 @@ public class MagicRequirements {
|
||||
}
|
||||
break;
|
||||
case 555:
|
||||
if (wep == 1383 || wep == 1395) {
|
||||
if (wep == 1383 || wep == 1395 || wep == 6562) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
@@ -25,7 +25,7 @@ public class MagicRequirements {
|
||||
}
|
||||
break;
|
||||
case 557:
|
||||
if (wep == 1385 || wep == 1399 || wep == 3053) {
|
||||
if (wep == 1385 || wep == 1399 || wep == 3053 || wep == 6562) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -241,9 +241,7 @@ public class NpcCombat {
|
||||
c.singleCombatDelay2 = System.currentTimeMillis();
|
||||
NpcHandler.npcs[i].oldIndex = c.playerId;
|
||||
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
|
||||
if (CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
@@ -282,6 +280,26 @@ public class NpcCombat {
|
||||
NpcHandler.npcs[i].attackType = 1;
|
||||
}
|
||||
switch (NpcHandler.npcs[i].npcType) {
|
||||
case 1158://kq first form
|
||||
int kqRandom = Misc.random(3);
|
||||
if (kqRandom == 2) {
|
||||
NpcHandler.npcs[i].projectileId = 280; //gfx
|
||||
NpcHandler.npcs[i].attackType = 2;
|
||||
NpcHandler.npcs[i].endGfx = 279;
|
||||
} else {
|
||||
NpcHandler.npcs[i].attackType = 0;
|
||||
}
|
||||
break;
|
||||
case 1160://kq secondform
|
||||
int kqRandom2 = Misc.random(3);
|
||||
if (kqRandom2 == 2) {
|
||||
NpcHandler.npcs[i].projectileId = 279; //gfx
|
||||
NpcHandler.npcs[i].attackType = 1 + Misc.random(1);
|
||||
NpcHandler.npcs[i].endGfx = 278;
|
||||
} else {
|
||||
NpcHandler.npcs[i].attackType = 0;
|
||||
}
|
||||
break;
|
||||
case 2607:
|
||||
NpcHandler.npcs[i].attackType = 1;
|
||||
case 2591:
|
||||
@@ -569,25 +587,17 @@ public class NpcCombat {
|
||||
damage = c.playerLevel[GameConstants.HITPOINTS] - 1;
|
||||
}
|
||||
}
|
||||
if (c.getPrayer().prayerActive[18]
|
||||
&& !(NpcHandler.npcs[i].npcType == 2030)) { // protect
|
||||
// from
|
||||
// melee)
|
||||
// {
|
||||
// //
|
||||
// protect
|
||||
// from
|
||||
// melee
|
||||
if (c.getPrayer().prayerActive[18] && !(NpcHandler.npcs[i].npcType == 2030)) { // protect from melee
|
||||
damage = 0;
|
||||
} else if (c.getPrayer().prayerActive[18]
|
||||
&& NpcHandler.npcs[i].npcType == 2030) {
|
||||
} else if (c.getPrayer().prayerActive[18] && NpcHandler.npcs[i].npcType == 2030) {
|
||||
if (NpcHandler.npcs[i].attackType == 0) {
|
||||
damage = Misc.random(NpcHandler.npcs[i].maxHit);
|
||||
}
|
||||
if (10 + Misc
|
||||
.random(MeleeData.calculateMeleeDefence(c)) > Misc
|
||||
.random(NpcHandler.npcs[i].attack)) {
|
||||
damage = 0;
|
||||
if (10 + Misc.random(MeleeData.calculateMeleeDefence(c)) > Misc.random(NpcHandler.npcs[i].attack)) {
|
||||
if (NpcHandler.npcs[i].npcType == 1158 || NpcHandler.npcs[i].npcType == 1160)
|
||||
damage = (damage / 2);
|
||||
else
|
||||
damage = 0;
|
||||
}
|
||||
}
|
||||
if (c.playerLevel[3] - damage < 0) {
|
||||
@@ -597,10 +607,11 @@ public class NpcCombat {
|
||||
|
||||
if (NpcHandler.npcs[i].attackType == 1) { // range
|
||||
damage = Misc.random(NpcHandler.npcs[i].maxHit);
|
||||
if (10 + Misc.random(c.getCombatAssistant()
|
||||
.calculateRangeDefence()) > Misc
|
||||
.random(NpcHandler.npcs[i].attack)) {
|
||||
damage = 0;
|
||||
if (10 + Misc.random(c.getCombatAssistant().calculateRangeDefence()) > Misc.random(NpcHandler.npcs[i].attack)) {
|
||||
if (NpcHandler.npcs[i].npcType == 1158 || NpcHandler.npcs[i].npcType == 1160)
|
||||
damage = (damage / 2);
|
||||
else
|
||||
damage = 0;
|
||||
}
|
||||
if (NpcData.cantKillYou(NpcHandler.npcs[i].npcType)) {
|
||||
if (damage >= c.playerLevel[GameConstants.HITPOINTS]) {
|
||||
@@ -618,8 +629,7 @@ public class NpcCombat {
|
||||
if (NpcHandler.npcs[i].attackType == 2) { // magic
|
||||
damage = Misc.random(NpcHandler.npcs[i].maxHit);
|
||||
boolean magicFailed = false;
|
||||
if (10 + Misc.random(c.getCombatAssistant().mageDef()) > Misc
|
||||
.random(NpcHandler.npcs[i].attack)) {
|
||||
if (10 + Misc.random(c.getCombatAssistant().mageDef()) > Misc.random(NpcHandler.npcs[i].attack)) {
|
||||
damage = 0;
|
||||
magicFailed = true;
|
||||
}
|
||||
@@ -628,19 +638,23 @@ public class NpcCombat {
|
||||
damage = c.playerLevel[GameConstants.HITPOINTS] - 1;
|
||||
}
|
||||
}
|
||||
if (c.getPrayer().prayerActive[16]) { // protect from magic
|
||||
damage = 0;
|
||||
if(c.getPrayer().prayerActive[16]) { // protect from magic
|
||||
|
||||
if (NpcHandler.npcs[i].npcType == 1158) {
|
||||
damage = (damage / 2);
|
||||
} else {
|
||||
damage = 0;
|
||||
}
|
||||
magicFailed = true;
|
||||
}
|
||||
if (c.playerLevel[3] - damage < 0) {
|
||||
damage = c.playerLevel[3];
|
||||
}
|
||||
if (NpcHandler.npcs[i].endGfx > 0 && (!magicFailed || FightCaves.isFightCaveNpc(i))) {
|
||||
c.gfx100(NpcHandler.npcs[i].endGfx);
|
||||
} else {
|
||||
c.gfx100(85);
|
||||
c.getPacketSender().sendSound(SoundList.MAGE_FAIL,
|
||||
100, 0);
|
||||
if (c.playerLevel[3] - damage < 0) {
|
||||
damage = c.playerLevel[3];
|
||||
}
|
||||
if(NpcHandler.npcs[i].endGfx > 0 && (!magicFailed || FightCaves.isFightCaveNpc(i))) {
|
||||
c.gfx100(NpcHandler.npcs[i].endGfx);
|
||||
} else {
|
||||
c.gfx100(85);
|
||||
c.getPacketSender().sendSound(SoundList.MAGE_FAIL, 100, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -665,13 +679,23 @@ public class NpcCombat {
|
||||
if (damage > 0) {
|
||||
CombatAssistant.applyRecoilNPC(c, damage, i);
|
||||
}
|
||||
NpcHandler.handleSpecialEffects(c, i, damage);
|
||||
c.logoutDelay = System.currentTimeMillis(); // logout delay
|
||||
c.handleHitMask(damage);
|
||||
c.playerLevel[3] -= damage;
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
FightCaves.tzKihEffect(c, i, damage);
|
||||
c.updateRequired = true;
|
||||
if (c.playerLevel[3] - damage < 0) {
|
||||
damage = c.playerLevel[3];
|
||||
}
|
||||
int difference = c.playerLevel[3] - damage;
|
||||
if (c.getPlayerAssistant().savePlayer()) {
|
||||
c.getPlayerAssistant().handleROL();
|
||||
} else if (difference <= c.getLevelForXP(c.playerXP[3]) / 10 && difference > 0) {
|
||||
c.appendRedemption();
|
||||
} else {
|
||||
NpcHandler.handleSpecialEffects(c, i, damage);
|
||||
c.logoutDelay = System.currentTimeMillis(); // logout delay
|
||||
c.handleHitMask(damage);
|
||||
c.playerLevel[3] -= damage;
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
FightCaves.tzKihEffect(c, i, damage);
|
||||
c.updateRequired = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.rebotted.game.content.combat.npcs;
|
||||
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
import com.rebotted.game.players.Player;
|
||||
|
||||
/**
|
||||
* Npc Emotes
|
||||
@@ -163,7 +165,7 @@ public enum NpcEmotes {
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static int getDeadEmote(int i) {
|
||||
public static int getDeadEmote(Player player, int i) {
|
||||
for (NpcEmotes e : NpcEmotes.values()) {
|
||||
for (int f = 0; f < e.getNpcId().length; f++) {
|
||||
if (NpcHandler.npcs[i].npcType == e.getNpcId()[f]) {
|
||||
@@ -172,11 +174,16 @@ public enum NpcEmotes {
|
||||
switch (NpcHandler.npcs[i].npcType) {
|
||||
case 2745:
|
||||
return 2654;
|
||||
case 1158:
|
||||
GameEngine.npcHandler.spawnSecondForm(player, i);
|
||||
return 6242;
|
||||
case 1160:
|
||||
GameEngine.npcHandler.spawnFirstForm(player, i);
|
||||
return 6233;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 2304;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,6 +5,8 @@ import com.rebotted.event.CycleEvent;
|
||||
import com.rebotted.event.CycleEventContainer;
|
||||
import com.rebotted.event.CycleEventHandler;
|
||||
import com.rebotted.game.content.combat.CombatConstants;
|
||||
import com.rebotted.game.content.skills.fletching.LogCuttingInterface;
|
||||
import com.rebotted.game.items.ItemAssistant;
|
||||
import com.rebotted.game.npcs.Npc;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
import com.rebotted.game.objects.Objects;
|
||||
@@ -33,6 +35,10 @@ public class DwarfCannon {
|
||||
|
||||
private final int ballsID = 2;
|
||||
|
||||
public final int steelBarID = 2353;
|
||||
|
||||
private final int ammoMouldID = 4;
|
||||
|
||||
public boolean settingUp = false;
|
||||
|
||||
private int setUpStage = 0;
|
||||
@@ -53,8 +59,46 @@ public class DwarfCannon {
|
||||
|
||||
private boolean justClicked = false;
|
||||
|
||||
public static void makeBall(Player player)
|
||||
{
|
||||
//An interface could be added instead of making all.
|
||||
if (!player.getItemAssistant().playerHasItem(2353) || !player.getItemAssistant().playerHasItem(4))
|
||||
{
|
||||
player.getPacketSender().sendMessage("You need an ammo mould and steel bars to make cannonballs.");
|
||||
return;
|
||||
}
|
||||
if (!player.isSmithing)
|
||||
{
|
||||
player.isSmithing = true;
|
||||
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (player.isWoodcutting || player.isCrafting || player.isFletching || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting ||!player.isSmithing || !player.getItemAssistant().playerHasItem(2353) || !player.getItemAssistant().playerHasItem(4))
|
||||
{
|
||||
container.stop();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
player.startAnimation(899);
|
||||
player.getItemAssistant().deleteItem(2353, 1);
|
||||
player.getItemAssistant().addItem(2, 4);
|
||||
player.getPacketSender().sendMessage("You make some cannonballs.");
|
||||
player.getPlayerAssistant().addSkillXP(26, player.playerSmithing);
|
||||
player.getPacketSender().sendSound(352, 100, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
player.isSmithing = false;
|
||||
}
|
||||
}, 3);
|
||||
}
|
||||
|
||||
}
|
||||
public void placeCannon() {
|
||||
if (settingUp == true) {
|
||||
if (settingUp) {
|
||||
return;
|
||||
}
|
||||
if (noSetUpArea()) {
|
||||
@@ -86,6 +130,7 @@ public class DwarfCannon {
|
||||
if (setUpStage >= 4) {
|
||||
container.stop();
|
||||
setUpStage = 0;
|
||||
player.CannonSetupStage = setUpStage;
|
||||
settingUp = false;
|
||||
return;
|
||||
}
|
||||
@@ -102,6 +147,7 @@ public class DwarfCannon {
|
||||
placeObject(OBJECT_PARTS[setUpStage], player.absX, player.absY, true);
|
||||
player.getItemAssistant().deleteItem(ITEM_PARTS[setUpStage], 1);
|
||||
setUpStage ++;
|
||||
player.CannonSetupStage = setUpStage;
|
||||
}
|
||||
@Override
|
||||
public void stop() {
|
||||
@@ -116,16 +162,11 @@ public class DwarfCannon {
|
||||
}, 2);
|
||||
}
|
||||
|
||||
public boolean needsCannon() {
|
||||
return (player.lostCannon == true);
|
||||
}
|
||||
|
||||
public void loginCheck() {
|
||||
if (needsCannon()) {
|
||||
if (player.lostCannon) {
|
||||
player.getPacketSender().sendMessage("@red@You can collect your cannon from Nulodion.");
|
||||
}
|
||||
}
|
||||
|
||||
private boolean canSetUp() {
|
||||
if (setUpStage == 0) {
|
||||
if (player.getItemAssistant().playerHasItem(ITEM_PARTS[0]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[1]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[2]) && player.getItemAssistant().playerHasItem(ITEM_PARTS[3])) {
|
||||
@@ -148,7 +189,7 @@ public class DwarfCannon {
|
||||
}
|
||||
|
||||
public boolean hasCannon() {
|
||||
return (player.cannonX > 0) && (player.cannonY > 0) || (player.cannonX > 0 && player.cannonY > 0);
|
||||
return (player.CannonSetupStage != 0 || (player.cannonX > 0 && player.cannonY > 0));
|
||||
}
|
||||
|
||||
private boolean myCannon(int x, int y) {
|
||||
@@ -209,7 +250,7 @@ public class DwarfCannon {
|
||||
}
|
||||
if (myBalls >= 1 && rotating == false) {
|
||||
shoot();
|
||||
} else if (myBalls >= 1 && rotating == true) {
|
||||
} else if (myBalls >= 1 && rotating) {
|
||||
player.getPacketSender().sendMessage("Your cannon is already shooting.");
|
||||
}
|
||||
}
|
||||
@@ -242,7 +283,7 @@ public class DwarfCannon {
|
||||
}
|
||||
|
||||
public void shoot() {
|
||||
if (justClicked == true) {
|
||||
if (justClicked) {
|
||||
return;
|
||||
}
|
||||
rotating = true;
|
||||
@@ -261,7 +302,7 @@ public class DwarfCannon {
|
||||
rotating = false;
|
||||
e.stop();
|
||||
}
|
||||
if (rotating == true) {
|
||||
if (rotating) {
|
||||
rotation += 1;
|
||||
rotateCannon();
|
||||
shootNpcs();
|
||||
@@ -319,7 +360,7 @@ public class DwarfCannon {
|
||||
player.getPacketSender().sendMessage("You can't pick up somebody else's cannon!");
|
||||
return;
|
||||
}
|
||||
if (rotating == true) {
|
||||
if (rotating) {
|
||||
rotating = false;
|
||||
}
|
||||
if (player.getItemAssistant().freeSlots() > 3) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ import com.rebotted.game.players.PlayerSave;
|
||||
import com.rebotted.util.GameLogger;
|
||||
import com.rebotted.util.Misc;
|
||||
|
||||
import static com.rebotted.game.content.music.sound.SoundList.DUEL_WON;
|
||||
|
||||
public class Dueling {
|
||||
|
||||
private final Player player;
|
||||
@@ -51,12 +53,9 @@ public class Dueling {
|
||||
if (o == null) {
|
||||
return;
|
||||
}
|
||||
/*if (player.connectedFrom.equals(o.connectedFrom)) {
|
||||
player.getActionSender().sendMessage("You can't duel your own IP.");
|
||||
return;
|
||||
}*/
|
||||
|
||||
player.duelRequested = true;
|
||||
if (player.duelStatus == 0 && o.duelStatus == 0 && player.duelRequested
|
||||
if (player.duelStatus == 0 && o.duelStatus == 0
|
||||
&& o.duelRequested && player.duelingWith == o.getId()
|
||||
&& o.duelingWith == player.getId()) {
|
||||
if (player.goodDistance(player.getX(), player.getY(), o.getX(), o.getY(), 2)) {
|
||||
@@ -142,10 +141,7 @@ public class Dueling {
|
||||
if (o == null) {
|
||||
return;
|
||||
}
|
||||
if(!player.openDuel && !o.openDuel) {
|
||||
declineDuel();
|
||||
return;
|
||||
}
|
||||
|
||||
player.getOutStream().createFrameVarSizeWord(53);
|
||||
player.getOutStream().writeWord(6669);
|
||||
player.getOutStream().writeWord(stakedItems.toArray().length);
|
||||
@@ -577,6 +573,15 @@ public class Dueling {
|
||||
player.getPlayerAssistant().requestUpdates();
|
||||
}
|
||||
|
||||
public static void HandleForfeit(Player player)
|
||||
{
|
||||
Client opponent = (Client) PlayerHandler.players[player.duelingWith];
|
||||
opponent.getDueling().duelVictory();
|
||||
player.getDueling().resetDuel();
|
||||
player.getPlayerAssistant().movePlayer(GameConstants.DUELING_RESPAWN_X + Misc.random(5), GameConstants.DUELING_RESPAWN_Y + Misc.random(5), 0);
|
||||
player.getPacketSender().sendMessage("You have lost the duel!");
|
||||
}
|
||||
|
||||
public void duelVictory() {
|
||||
Client opponent = (Client) PlayerHandler.players[player.duelingWith];
|
||||
if (opponent != null) {
|
||||
@@ -593,7 +598,7 @@ public class Dueling {
|
||||
player.playerXP[i]);
|
||||
player.getPlayerAssistant().refreshSkill(i);
|
||||
}
|
||||
// c.getPacketDispatcher().sendSound(Sound.DUEL_WON, 100, 0);
|
||||
//player.getPacketSender().sendSound(DUEL_WON, 100, 0); Not good sound
|
||||
player.duelStatus = 6;
|
||||
if (player.isSkulled) {
|
||||
player.isSkulled = false;
|
||||
@@ -619,9 +624,7 @@ public class Dueling {
|
||||
player.getCombatAssistant().resetPlayerAttack();
|
||||
player.duelRequested = false;
|
||||
PlayerSave.saveGame(player);
|
||||
if (opponent != null) {
|
||||
PlayerSave.saveGame(opponent);
|
||||
}
|
||||
PlayerSave.saveGame(opponent);
|
||||
}
|
||||
|
||||
public void duelRewardInterface() {
|
||||
@@ -686,7 +689,6 @@ public class Dueling {
|
||||
resetDuel();
|
||||
resetDuelItems();
|
||||
PlayerSave.saveGame(player);
|
||||
player.duelStatus = 0;
|
||||
}
|
||||
|
||||
public void declineDuel() {
|
||||
@@ -717,9 +719,7 @@ public class Dueling {
|
||||
}
|
||||
}
|
||||
stakedItems.clear();
|
||||
for (int i = 0; i < player.duelRule.length; i++) {
|
||||
player.duelRule[i] = false;
|
||||
}
|
||||
refreshduelRules();
|
||||
}
|
||||
|
||||
public void checkDuelWalk() {
|
||||
@@ -727,25 +727,19 @@ public class Dueling {
|
||||
if (player.duelStatus == 5 && o.duelStatus == 5 && o.duelingArena() && !player.duelingArena()) {
|
||||
o.getDueling().duelVictory();
|
||||
player.getDueling().resetDuel();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void resetDuel() {
|
||||
//Client o = (Client) PlayerHandler.players[player.duelingWith];
|
||||
if (player.isDead) {
|
||||
player.lostDuel = true;
|
||||
}
|
||||
player.getPacketSender().showOption(3, 0, "Challenge", 3);
|
||||
player.headIconHints = 0;
|
||||
for (int i = 0; i < player.duelRule.length; i++) {
|
||||
player.duelRule[i] = false;
|
||||
}
|
||||
refreshduelRules();
|
||||
player.getPacketSender().createPlayerHints(10, -1);
|
||||
player.duelStatus = 0;
|
||||
player.duelSpaceReq = 0;
|
||||
//player.openDuel = false;
|
||||
//o.openDuel = false;
|
||||
player.duelingWith = 0;
|
||||
player.getPlayerAssistant().requestUpdates();
|
||||
player.getCombatAssistant().resetPlayerAttack();
|
||||
|
||||
@@ -431,11 +431,11 @@ public class PestControl {
|
||||
private void spawnNPC() {
|
||||
//npcid, npcx, npcy, heightlevel, walking type, hp, att, def
|
||||
for (int[] aPcNPCData : pcNPCData) {
|
||||
GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200);
|
||||
GameEngine.npcHandler.spawnNpc2(aPcNPCData[0], aPcNPCData[1], aPcNPCData[2], 0, 0, 200, 0, 0, playersInGame() * 200, false);
|
||||
}
|
||||
for (int[] voidMonsters : voidMonsterData) {
|
||||
//Server.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, voidMonsters[NpcHandler.getNpcListHP(voidMonsters[0])], NpcHandler.getNpcListCombat(voidMonsters[0])/10, NpcHandler.getNpcListCombat(voidMonsters[0]), playersInGame() * 200);
|
||||
GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 500, 20, 200, 25);
|
||||
GameEngine.npcHandler.spawnNpc2(voidMonsters[0], voidMonsters[1], voidMonsters[2], 0, 1, 500, 20, 200, 25, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -126,7 +126,7 @@ public class CastleWars {
|
||||
public static void addToWaitRoom(Player p, int team) {
|
||||
if (p == null) {
|
||||
return;
|
||||
} else if (gameStarted == true) {
|
||||
} else if (gameStarted) {
|
||||
p.getPacketSender()
|
||||
.sendMessage(
|
||||
"There's already a Castle Wars going. Please wait a few minutes before trying again.");
|
||||
|
||||
@@ -218,7 +218,7 @@ public class Trawler extends GroupMinigame {
|
||||
}
|
||||
GameEngine.objectHandler.removeObject(GameEngine.objectHandler.getObjectByPosition(w.x, w.y));
|
||||
GameEngine.objectHandler.removeObject(GameEngine.objectHandler.getObjectByPosition(w.x + (isSunk ? -128 : 128), w.y));
|
||||
if (wall_status[index] == true) {
|
||||
if (wall_status[index]) {
|
||||
GameEngine.objectHandler.createAnObject(leaking_wall, w.x, w.y,
|
||||
w.y == 4826 ? 1 : 3);
|
||||
if (isSunk)
|
||||
|
||||
@@ -32,7 +32,7 @@ public class RestlessGhost {
|
||||
client.getPacketSender().sendFrame126("Restless Ghost", 8144);
|
||||
client.getPacketSender().sendFrame126(
|
||||
"@str@I've talked Father Urhey", 8147);
|
||||
client.getPacketSender().sendFrame126("@str@He gave me a amulet",
|
||||
client.getPacketSender().sendFrame126("@str@He gave me an amulet",
|
||||
8148);
|
||||
client.getPacketSender().sendFrame126(
|
||||
"I should speak to the ghost", 8149);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class SkillHandler {
|
||||
|| player.isMining || player.isWoodcutting || player.isSmithing
|
||||
|| player.isSmelting || player.isSpinning || player.isPotionMaking
|
||||
|| player.isPotCrafting || player.isFiremaking
|
||||
|| player.playerSkilling[player.playerHerblore] == true
|
||||
|| player.playerSkilling[player.playerHerblore]
|
||||
|| player.playerSkilling[13]) {
|
||||
return true;
|
||||
}
|
||||
@@ -46,7 +46,7 @@ public class SkillHandler {
|
||||
public static void resetItemOnNpc(Player player) {
|
||||
if (player.isMining) {// mining
|
||||
Mining.resetMining(player);
|
||||
} else if (player.playerIsFletching == true) {// fletching
|
||||
} else if (player.playerIsFletching) {// fletching
|
||||
player.playerIsFletching = false;
|
||||
} else if (player.playerIsCooking) {// cooking
|
||||
Cooking.resetCooking(player);
|
||||
@@ -56,7 +56,7 @@ public class SkillHandler {
|
||||
isSkilling[12] = false;
|
||||
} else if (player.isSmelting) {
|
||||
player.isSmelting = false;
|
||||
} else if (player.isCrafting == true) {
|
||||
} else if (player.isCrafting) {
|
||||
player.isCrafting = false;
|
||||
} else if (player.isPotionMaking) {// herblore
|
||||
Herblore.resetHerblore(player);
|
||||
@@ -64,7 +64,7 @@ public class SkillHandler {
|
||||
Woodcutting.stopWoodcutting(player);
|
||||
} else if (player.isSpinning) {// spinning
|
||||
player.isSpinning = false;
|
||||
} else if (player.isPotCrafting == true) {// pot crafting
|
||||
} else if (player.isPotCrafting) {// pot crafting
|
||||
player.isPotCrafting = false;
|
||||
} else if (player.playerIsCooking) {// cooking
|
||||
Cooking.resetCooking(player);
|
||||
@@ -79,7 +79,7 @@ public class SkillHandler {
|
||||
Fishing.resetFishing(player);
|
||||
} else if (player.isMining) {// mining
|
||||
Mining.resetMining(player);
|
||||
} else if (player.playerIsFletching == true) {// fletching
|
||||
} else if (player.playerIsFletching) {// fletching
|
||||
player.playerIsFletching = false;
|
||||
} else if (player.playerIsCooking) {// cooking
|
||||
Cooking.resetCooking(player);
|
||||
@@ -89,7 +89,7 @@ public class SkillHandler {
|
||||
isSkilling[12] = false;
|
||||
} else if (player.isSmelting) {
|
||||
player.isSmelting = false;
|
||||
} else if (player.isCrafting == true) {
|
||||
} else if (player.isCrafting) {
|
||||
player.isCrafting = false;
|
||||
} else if (player.isPotionMaking) {// herblore
|
||||
Herblore.resetHerblore(player);
|
||||
@@ -97,7 +97,7 @@ public class SkillHandler {
|
||||
Woodcutting.stopWoodcutting(player);
|
||||
} else if (player.isSpinning) {// spinning
|
||||
player.isSpinning = false;
|
||||
} else if (player.isPotCrafting == true) {// pot crafting
|
||||
} else if (player.isPotCrafting) {// pot crafting
|
||||
player.isPotCrafting = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ public class ApeAtollAgility {
|
||||
c.getAgility().climbUpTropicalTree(c.getX(), c.getY(), 2);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[0] == true) {
|
||||
if (c.getAgility().agilityProgress[0]) {
|
||||
c.getAgility().agilityProgress[1] = true;
|
||||
}
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public class ApeAtollAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
}
|
||||
@@ -102,7 +102,7 @@ public class ApeAtollAgility {
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
c.getPacketSender().sendMessage("You climb your way up");
|
||||
if (c.getAgility().agilityProgress[2] == true) {
|
||||
if (c.getAgility().agilityProgress[2]) {
|
||||
c.getAgility().agilityProgress[3] = true;
|
||||
}
|
||||
}
|
||||
@@ -122,7 +122,7 @@ public class ApeAtollAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[3] == true) {
|
||||
if (c.getAgility().agilityProgress[3]) {
|
||||
c.getAgility().agilityProgress[4] = true;
|
||||
}
|
||||
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
||||
@@ -161,7 +161,7 @@ public class ApeAtollAgility {
|
||||
c.getAgility().moveHeight = 0;
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId),
|
||||
c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[4] == true) {
|
||||
if (c.getAgility().agilityProgress[4]) {
|
||||
c.getAgility().agilityProgress[5] = true;
|
||||
}
|
||||
c.getAgility().lapBonus = 2700;
|
||||
|
||||
+6
-6
@@ -56,7 +56,7 @@ public class BarbarianAgility {
|
||||
if (c.getAgility().hotSpot(2551, 3546)) {
|
||||
c.getAgility().walk(-10, 0, c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[0] == true) {
|
||||
if (c.getAgility().agilityProgress[0]) {
|
||||
c.getAgility().agilityProgress[1] = true;
|
||||
}
|
||||
} else if (c.absX < 2551 && c.absX > 2541) {
|
||||
@@ -72,7 +72,7 @@ public class BarbarianAgility {
|
||||
c.getAgility().climbUp(c.getX() - 1, c.getY(), 1);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId),
|
||||
c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
} else {
|
||||
@@ -90,7 +90,7 @@ public class BarbarianAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[2] == true) {
|
||||
if (c.getAgility().agilityProgress[2]) {
|
||||
c.getAgility().agilityProgress[3] = true;
|
||||
}
|
||||
} else if (c.absX < 2536 && c.absX > 2532) {
|
||||
@@ -109,7 +109,7 @@ public class BarbarianAgility {
|
||||
}
|
||||
c.getAgility().climbDown(c.getX(), c.getY(), 0);
|
||||
c.getPacketSender().sendMessage("You climb down.");
|
||||
if (c.getAgility().agilityProgress[3] == true) {
|
||||
if (c.getAgility().agilityProgress[3]) {
|
||||
c.getAgility().agilityProgress[4] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -123,10 +123,10 @@ public class BarbarianAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[4] == true) {
|
||||
if (c.getAgility().agilityProgress[4]) {
|
||||
c.getAgility().agilityProgress[5] = true;
|
||||
}
|
||||
if (c.getAgility().agilityProgress[5] == true) {
|
||||
if (c.getAgility().agilityProgress[5]) {
|
||||
c.getAgility().lapBonus = 1700 / 30;
|
||||
c.getAgility().lapFinished();
|
||||
c.getAgility().resetAgilityProgress();
|
||||
|
||||
@@ -34,7 +34,7 @@ public class GnomeAgility {
|
||||
case NET1_OBJECT:
|
||||
c.getAgility().climbUp(c.getX(), c.getY() - 2, 1);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[0] == true) {
|
||||
if (c.getAgility().agilityProgress[0]) {
|
||||
c.getAgility().agilityProgress[1] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -42,7 +42,7 @@ public class GnomeAgility {
|
||||
case TREE_OBJECT:
|
||||
c.getAgility().climbUp(c.getX(), c.getY() - 3, 2);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -58,7 +58,7 @@ public class GnomeAgility {
|
||||
c.getPlayerAssistant().movePlayer(2483, 3420, 2);
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[2] == true) {
|
||||
if (c.getAgility().agilityProgress[2]) {
|
||||
c.getAgility().agilityProgress[3] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -66,7 +66,7 @@ public class GnomeAgility {
|
||||
case TREE_BRANCH_OBJECT:
|
||||
c.getAgility().climbDown(c.getX(), c.getY(), 0);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[3] == true) {
|
||||
if (c.getAgility().agilityProgress[3]) {
|
||||
c.getAgility().agilityProgress[4] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -79,7 +79,7 @@ public class GnomeAgility {
|
||||
c.getAgility().climbUp(c.getX(), c.getY() + 2, 0);
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
clickTimer = System.currentTimeMillis();
|
||||
if (c.getAgility().agilityProgress[4] == true) {
|
||||
if (c.getAgility().agilityProgress[4]) {
|
||||
c.getAgility().agilityProgress[5] = true;
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,7 @@ public class GnomeAgility {
|
||||
case PIPES1_OBJECT:
|
||||
if (c.getAgility().hotSpot(2484, 3430)) {
|
||||
c.getAgility().walk(0, 7, c.getAgility().getAnimation(objectId), 748);
|
||||
if (c.getAgility().agilityProgress[5] == true) {
|
||||
if (c.getAgility().agilityProgress[5]) {
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
c.getAgility().lapBonus = 1400 / 30;
|
||||
c.getAgility().lapFinished();
|
||||
@@ -105,7 +105,7 @@ public class GnomeAgility {
|
||||
case PIPES2_OBJECT:
|
||||
if (c.getAgility().hotSpot(2487, 3430)) {
|
||||
c.getAgility().walk(0, 7, c.getAgility().getAnimation(objectId), 748);
|
||||
if (c.getAgility().agilityProgress[5] == true) {
|
||||
if (c.getAgility().agilityProgress[5]) {
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
c.getAgility().lapBonus = 1400 / 30;
|
||||
|
||||
@@ -82,7 +82,7 @@ public class WerewolfAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[0] == true) {
|
||||
if (c.getAgility().agilityProgress[0]) {
|
||||
c.getAgility().agilityProgress[1] = true;
|
||||
}
|
||||
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
||||
@@ -113,7 +113,7 @@ public class WerewolfAgility {
|
||||
c.getAgility().getAnimation(objectId), 748);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
} else if (c.getAgility().hotSpot(3541, 9904)) {
|
||||
@@ -121,7 +121,7 @@ public class WerewolfAgility {
|
||||
c.getAgility().getAnimation(objectId), 748);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
} else if (c.getAgility().hotSpot(3544, 9904)) {
|
||||
@@ -129,7 +129,7 @@ public class WerewolfAgility {
|
||||
c.getAgility().getAnimation(objectId), 748);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[1] == true) {
|
||||
if (c.getAgility().agilityProgress[1]) {
|
||||
c.getAgility().agilityProgress[2] = true;
|
||||
}
|
||||
}
|
||||
@@ -144,7 +144,7 @@ public class WerewolfAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[2] == true) {
|
||||
if (c.getAgility().agilityProgress[2]) {
|
||||
c.getAgility().agilityProgress[3] = true;
|
||||
}
|
||||
}
|
||||
@@ -159,7 +159,7 @@ public class WerewolfAgility {
|
||||
WerewolfAgility.WEREWOLF_SLING_OBJECT), 743);
|
||||
c.getPlayerAssistant().addSkillXP(
|
||||
c.getAgility().getXp(objectId), c.playerAgility);
|
||||
if (c.getAgility().agilityProgress[3] == true) {
|
||||
if (c.getAgility().agilityProgress[3]) {
|
||||
c.getAgility().agilityProgress[4] = true;
|
||||
}
|
||||
c.getAgility().agilityProgress[5] = true;
|
||||
|
||||
+4
-4
@@ -46,7 +46,7 @@ public class WildernessAgility {
|
||||
if (c.getAgility().hotSpot(3005, 3953) || ((c.absX >= 3004 && c.absX <= 3006) && (c.absY > 3950 && c.absY < 3953))) {
|
||||
c.getAgility().walk(0, 1,
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
if (c.getAgility().agilityProgress[0] == true) {
|
||||
if (c.getAgility().agilityProgress[0]) {
|
||||
c.getAgility().agilityProgress[1] = true;
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
@@ -82,7 +82,7 @@ public class WildernessAgility {
|
||||
c.getAgility().steppingStone = 6;
|
||||
c.getAgility().steppingStoneTimer = 2;
|
||||
c.getAgility().steppingStone--;
|
||||
if (c.getAgility().agilityProgress[2] == true) {
|
||||
if (c.getAgility().agilityProgress[2]) {
|
||||
c.getAgility().agilityProgress[3] = true;
|
||||
}
|
||||
return true;
|
||||
@@ -102,7 +102,7 @@ public class WildernessAgility {
|
||||
c.getAgility().getAnimation(objectId), -1);
|
||||
}
|
||||
|
||||
if (c.getAgility().agilityProgress[3] == true) {
|
||||
if (c.getAgility().agilityProgress[3]) {
|
||||
c.getAgility().agilityProgress[5] = true;
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
@@ -116,7 +116,7 @@ public class WildernessAgility {
|
||||
return false;
|
||||
}
|
||||
c.getAgility().walk(0, -4, c.getAgility().getAnimation(objectId), -1);
|
||||
if (c.getAgility().agilityProgress[5] == true) {
|
||||
if (c.getAgility().agilityProgress[5]) {
|
||||
c.getPlayerAssistant().addSkillXP(c.getAgility().getXp(objectId), c.playerAgility);
|
||||
c.getAgility().lapBonus = 2400 / 30;
|
||||
c.getAgility().lapFinished();
|
||||
|
||||
@@ -13,7 +13,7 @@ public class GemCutting extends CraftingData {
|
||||
public static boolean cutGem(final Player player, final int itemUsed,
|
||||
final int usedWith) {
|
||||
/*
|
||||
* if (c.isCrafting == true) { return false; }
|
||||
* if (c.isCrafting) { return false; }
|
||||
*/
|
||||
final int itemId = itemUsed == 1755 ? usedWith : itemUsed;
|
||||
for (final cutGemData g : cutGemData.values()) {
|
||||
@@ -43,7 +43,7 @@ public class GemCutting extends CraftingData {
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getPlayerAssistant().addSkillXP(1, 12);
|
||||
}
|
||||
if (player.isCrafting == true) {
|
||||
if (player.isCrafting) {
|
||||
if (player.getItemAssistant().playerHasItem(itemId)) {
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(g.getCut(), 1);
|
||||
|
||||
@@ -76,7 +76,7 @@ public class JewelryMaking {
|
||||
} else {
|
||||
c.getPacketSender().sendFrame246(4241, 120, 1595);
|
||||
c.getPacketSender().sendFrame126(
|
||||
"You need a amulet mould to craft necklaces", 4242);
|
||||
"You need an amulet mould to craft necklaces", 4242);
|
||||
for (int i = 0; i < MOULD_INTERFACE_IDS[2].length; i++) {
|
||||
c.getPacketSender().sendFrame34(-1, i, 4245, 1);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class LeatherMaking extends CraftingData {
|
||||
private static int amount;
|
||||
|
||||
public static void craftLeather(final Player player, final int buttonId) {
|
||||
if (player.isCrafting == true) {
|
||||
if (player.isCrafting) {
|
||||
return;
|
||||
}
|
||||
for (final leatherData l : leatherData.values()) {
|
||||
@@ -106,7 +106,7 @@ public class LeatherMaking extends CraftingData {
|
||||
@Override
|
||||
public void execute(
|
||||
CycleEventContainer container) {
|
||||
if (player.isCrafting == true) {
|
||||
if (player.isCrafting) {
|
||||
if (!player.getItemAssistant()
|
||||
.playerHasItem(1734)) {
|
||||
player.getPacketSender()
|
||||
|
||||
@@ -54,7 +54,7 @@ public class Pottery {
|
||||
c.doAmount = amount;
|
||||
c.isPotCrafting = true;
|
||||
if (c.getItemAssistant().playerHasItem(softClay)
|
||||
&& c.playerLevel[12] >= level && c.isPotCrafting == true) {
|
||||
&& c.playerLevel[12] >= level && c.isPotCrafting) {
|
||||
c.startAnimation(unFire);
|
||||
c.getItemAssistant().deleteItem(softClay, 1);
|
||||
c.getItemAssistant().addItem(id, 1);
|
||||
@@ -70,7 +70,7 @@ public class Pottery {
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (c.getItemAssistant().playerHasItem(softClay)
|
||||
&& c.playerLevel[12] >= level && !(c.doAmount <= 0)
|
||||
&& c.isPotCrafting == true) {
|
||||
&& c.isPotCrafting) {
|
||||
c.startAnimation(unFire);
|
||||
c.getItemAssistant().deleteItem(softClay, 1);
|
||||
c.getItemAssistant().addItem(id, 1);
|
||||
@@ -118,7 +118,7 @@ public class Pottery {
|
||||
player.doAmount = amount;
|
||||
player.isPotCrafting = true;
|
||||
if (player.getItemAssistant().playerHasItem(startId)
|
||||
&& player.playerLevel[12] >= level && player.isPotCrafting == true) {
|
||||
&& player.playerLevel[12] >= level && player.isPotCrafting) {
|
||||
player.getItemAssistant().deleteItem(startId, 1);
|
||||
player.getItemAssistant().addItem(finishId, 1);
|
||||
player.startAnimation(Fire);
|
||||
@@ -151,7 +151,7 @@ public class Pottery {
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (player.getItemAssistant().playerHasItem(startId)
|
||||
&& player.playerLevel[12] >= level
|
||||
&& player.isPotCrafting == true && !(player.doAmount <= 0)) {
|
||||
&& player.isPotCrafting && !(player.doAmount <= 0)) {
|
||||
player.getItemAssistant().deleteItem(startId, 1);
|
||||
player.getItemAssistant().addItem(finishId, 1);
|
||||
player.startAnimation(Fire);
|
||||
|
||||
@@ -40,7 +40,7 @@ public class Spinning extends CraftingData {
|
||||
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (c.isSpinning == true) {
|
||||
if (c.isSpinning) {
|
||||
if (c.getItemAssistant().playerHasItem(before)) {
|
||||
if (c.playerLevel[c.playerCrafting] < level) {
|
||||
c.getDialogueHandler().sendStatement(
|
||||
|
||||
@@ -28,7 +28,7 @@ public class Firemaking {
|
||||
public static void attemptFire(final Player c, final int itemUsed, final int usedWith, final int x, final int y, final boolean groundObject) {
|
||||
int firemakingItems[] = {590, 7329, 7330, 7331};
|
||||
for (int i = 0; i < firemakingItems.length; i++) {
|
||||
if (Firemaking.pickedUpFiremakingLog == true) {
|
||||
if (Firemaking.pickedUpFiremakingLog) {
|
||||
c.getPacketSender().sendMessage("You can't do that!");
|
||||
Firemaking.pickedUpFiremakingLog = false;
|
||||
return;
|
||||
@@ -87,20 +87,20 @@ public class Firemaking {
|
||||
walk = false;
|
||||
}
|
||||
c.startAnimation(733);
|
||||
c.getPlayerAssistant().walkTo(walk == true ? -1 : 1, 0);
|
||||
c.getPlayerAssistant().walkTo(walk ? -1 : 1, 0);
|
||||
stopFiremaking = false;
|
||||
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
||||
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (stopFiremaking == true) {
|
||||
if (stopFiremaking) {
|
||||
stopFiremaking = false;
|
||||
return;
|
||||
}
|
||||
if (c.isWoodcutting || c.playerIsFletching || c.isFletching) {
|
||||
container.stop();
|
||||
}
|
||||
if (c.isFiremaking == true) {
|
||||
if (c.isFiremaking) {
|
||||
GameEngine.itemHandler.removeGroundItem(c, logId, x, y, false);
|
||||
c.getPacketSender().sendSound(SoundList.FIRE_SUCCESSFUL, 100, 0);
|
||||
if (itemUsed == 7331 || usedWith == 7331)
|
||||
@@ -120,7 +120,7 @@ public class Firemaking {
|
||||
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
c.turnPlayerTo(walk == true ? x + 1 : x - 1, y);
|
||||
c.turnPlayerTo(walk ? x + 1 : x - 1, y);
|
||||
logLit = true;
|
||||
stopFiremaking(c);
|
||||
container.stop();
|
||||
|
||||
@@ -79,7 +79,7 @@ public class ArrowMaking {
|
||||
if (arrowData == null) {
|
||||
return false;
|
||||
}
|
||||
if (player.isWoodcutting == true) {
|
||||
if (player.isWoodcutting) {
|
||||
return false;
|
||||
}
|
||||
if (player.playerLevel[9] < arrowData.getLevel()) {
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,93 +16,61 @@ public class LogCutting {
|
||||
private static final int KNIFE = 946, CUT_SOUND = 375;
|
||||
|
||||
public static void resetFletching(Player player) {
|
||||
if (player.playerIsFletching == true) {
|
||||
if (player.playerIsFletching) {
|
||||
player.playerIsFletching = false;
|
||||
player.startAnimation(65535);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
else
|
||||
{
|
||||
player.startAnimation(1248);
|
||||
player.getItemAssistant().deleteItem(LogCuttingInterface.log, 1);
|
||||
if (product == 52)
|
||||
{
|
||||
player.getItemAssistant().addItem(product, 15);
|
||||
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into 15 " + ItemAssistant.getItemName(product) + "s.");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getItemAssistant().addItem(product, 1);
|
||||
player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into a " + ItemAssistant.getItemName(product) + ".");
|
||||
|
||||
}
|
||||
player.getPlayerAssistant().addSkillXP(xp, player.playerFletching);
|
||||
player.doAmount--;
|
||||
player.getPacketSender().sendSound(CUT_SOUND, 100, 0);
|
||||
}
|
||||
c.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + ".");
|
||||
c.getPlayerAssistant().addSkillXP(xp, c.playerFletching);
|
||||
c.doAmount--;
|
||||
}
|
||||
|
||||
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) {
|
||||
if (c.doAmount == 28 && c.playerIsFletching == true) {
|
||||
if (c.doAmount == 28 && c.playerIsFletching) {
|
||||
c.getPacketSender().closeAllWindows();
|
||||
c.playerIsFletching = false;
|
||||
return;
|
||||
@@ -112,7 +80,7 @@ public class LogCutting {
|
||||
* normal log (item on interface 3)
|
||||
*/
|
||||
case 34185:
|
||||
if (c.playerIsFletching == true) {
|
||||
if (c.playerIsFletching) {
|
||||
cutLog(c, 52, 1, 5, 1);
|
||||
c.playerIsFletching = false;
|
||||
return;
|
||||
@@ -128,7 +96,7 @@ public class LogCutting {
|
||||
cutLog(c, 52, 1, 5, 28);
|
||||
return;
|
||||
case 34189:
|
||||
if (c.playerIsFletching == true) {
|
||||
if (c.playerIsFletching) {
|
||||
cutLog(c, 50, 5, 5, 1);
|
||||
c.playerIsFletching = false;
|
||||
return;
|
||||
@@ -144,7 +112,7 @@ public class LogCutting {
|
||||
cutLog(c, 50, 5, 5, 28);
|
||||
return;
|
||||
case 34193:
|
||||
if (c.playerIsFletching == true) {
|
||||
if (c.playerIsFletching) {
|
||||
cutLog(c, 48, 10, 10, 1);
|
||||
c.playerIsFletching = false;
|
||||
return;
|
||||
@@ -166,23 +134,23 @@ public class LogCutting {
|
||||
* first item
|
||||
*/
|
||||
case 34170:
|
||||
if (LogCuttingInterface.log == 1521 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1521 && c.playerIsFletching) {
|
||||
cutLog(c, 54, 20, 16.5, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1519 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1519 && c.playerIsFletching) {
|
||||
cutLog(c, 60, 35, 33.3, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1517 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1517 && c.playerIsFletching) {
|
||||
cutLog(c, 64, 50, 50, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1515 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1515 && c.playerIsFletching) {
|
||||
cutLog(c, 68, 65, 67.5, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1513 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1513 && c.playerIsFletching) {
|
||||
cutLog(c, 72, 80, 83.25, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
@@ -242,23 +210,23 @@ public class LogCutting {
|
||||
* second item
|
||||
*/
|
||||
case 34174:
|
||||
if (LogCuttingInterface.log == 1521 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1521 && c.playerIsFletching) {
|
||||
cutLog(c, 56, 25, 25, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1519 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1519 && c.playerIsFletching) {
|
||||
cutLog(c, 58, 40, 41.5, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1517 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1517 && c.playerIsFletching) {
|
||||
cutLog(c, 62, 55, 58.3, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1515 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1515 && c.playerIsFletching) {
|
||||
cutLog(c, 66, 70, 70, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
if (LogCuttingInterface.log == 1513 && c.playerIsFletching == true) {
|
||||
if (LogCuttingInterface.log == 1513 && c.playerIsFletching) {
|
||||
cutLog(c, 70, 85, 91.5, 1);
|
||||
c.playerIsFletching = false;
|
||||
}
|
||||
|
||||
+5
-4
@@ -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.");
|
||||
|
||||
@@ -559,7 +559,7 @@ public class Slayer {
|
||||
}
|
||||
c.buySlayerTimer = System.currentTimeMillis();
|
||||
c.slayerPoints -= 25;
|
||||
c.getPacketSender().sendMessage("You spend 25 slayer points and aquire a useful Slayer's respite.");
|
||||
c.getPacketSender().sendMessage("You spend 25 slayer points and aquire an useful Slayer's respite.");
|
||||
c.getItemAssistant().addItem(5841, 1);
|
||||
updatePoints();
|
||||
}
|
||||
|
||||
@@ -25,16 +25,15 @@ public class Smelting extends SkillHandler {
|
||||
* Handles Smelting data.
|
||||
*/
|
||||
public static int[][] data = {
|
||||
// index ,lvl required, XP, item required, item2, COAL AMOUNT,
|
||||
// Final item(BAR)
|
||||
{ 1, 1, 6, COPPER, TIN, -1, 2349 }, // Bronze
|
||||
// index ,lvl required, XP, primary item required, secondary item required, secondary item amount, output item(BAR)
|
||||
{ 1, 1, 6, COPPER, TIN, 1, 2349 }, // Bronze
|
||||
{ 2, 15, 12, IRON, -1, -1, 2351 }, // iron
|
||||
{ 3, 20, 17, IRON, COAL, 2, 2353 }, // Steel
|
||||
{ 4, 50, 30, MITH, COAL, 4, 2359 }, // Mith
|
||||
{ 5, 70, 37, ADDY, COAL, 6, 2361 }, // Addy
|
||||
{ 6, 85, 50, RUNE, COAL, 8, 2363 }, // Rune
|
||||
{ 7, 20, 13, SILVER, -1, -1, 2355 }, // Silver
|
||||
{ 8, 40, 22, GOLD, -1, -1, 2357 } // GOLD
|
||||
{ 8, 40, 22, GOLD, -1, -1, 2357 }, // GOLD
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -44,8 +43,7 @@ public class Smelting extends SkillHandler {
|
||||
*/
|
||||
public static void startSmelting(Player c, int object) {
|
||||
for (int j = 0; j < SMELT_FRAME.length; j++) {
|
||||
c.getPacketSender().sendFrame246(SMELT_FRAME[j], 150,
|
||||
SMELT_BARS[j]);
|
||||
c.getPacketSender().sendFrame246(SMELT_FRAME[j], 150, SMELT_BARS[j]);
|
||||
}
|
||||
c.getPacketSender().sendChatInterface(2400);
|
||||
c.isSmelting = true;
|
||||
@@ -70,30 +68,22 @@ public class Smelting extends SkillHandler {
|
||||
private static void smeltBar(final Player c, int bartype) {
|
||||
for (int i = 0; i < data.length; i++) {
|
||||
if (bartype == data[i][0]) {
|
||||
// Check player has the correct smithing level
|
||||
if (c.playerLevel[c.playerSmithing] < data[i][1]) { // Smithing level
|
||||
c.getDialogueHandler().sendStatement("You need a smithing level of at least "+ data[i][1] + " in order smelt this bar.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (data[i][3] > 0 && data[i][4] > 0) { // All OTHER bars
|
||||
if (!c.getItemAssistant().playerHasItem(data[i][3]) || !c.getItemAssistant().playerHasItem(data[i][4])) {
|
||||
c.getPacketSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " " + ItemAssistant.getItemName(data[i][4]).toLowerCase() + " to make this bar.");
|
||||
c.getPacketSender().closeAllWindows();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (data[i][4] < 0) { // Iron bar, Gold & Silver requirements
|
||||
// Check the player has all required items
|
||||
if (data[i][4] <= 0) { // Bars with only a primary requirement
|
||||
if (!c.getItemAssistant().playerHasItem(data[i][3])) {
|
||||
c.getPacketSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " to make this bar.");
|
||||
c.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " to make this bar.");
|
||||
c.getPacketSender().closeAllWindows();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (data[i][5] > 0) { // Bars with more than 1 coal requirement
|
||||
if (!c.getItemAssistant().playerHasItem(data[i][4], data[i][5])) {
|
||||
c.getPacketSender().sendMessage("You need an " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " coal ores to make this bar.");
|
||||
} else { // Bars with a secondary requirement
|
||||
if (!c.getItemAssistant().playerHasItem(data[i][3]) || !c.getItemAssistant().playerHasItem(data[i][4], data[i][5])) {
|
||||
c.getPacketSender().sendMessage("You need 1 " + ItemAssistant.getItemName(data[i][3]).toLowerCase() + " and " + data[i][5] + " " + ItemAssistant.getItemName(data[i][4]).toLowerCase() + " to make this bar.");
|
||||
c.getPacketSender().closeAllWindows();
|
||||
return;
|
||||
}
|
||||
@@ -109,10 +99,10 @@ public class Smelting extends SkillHandler {
|
||||
c.playerSkillProp[13][0] = data[i][0];// index
|
||||
c.playerSkillProp[13][1] = data[i][1];// Level required
|
||||
c.playerSkillProp[13][2] = data[i][2];// XP
|
||||
c.playerSkillProp[13][3] = data[i][3];// item required
|
||||
c.playerSkillProp[13][4] = data[i][4];// item required 2
|
||||
c.playerSkillProp[13][5] = data[i][5];// coal amount
|
||||
c.playerSkillProp[13][6] = data[i][6];// Final Item
|
||||
c.playerSkillProp[13][3] = data[i][3];// primary item required
|
||||
c.playerSkillProp[13][4] = data[i][4];// secondary item required
|
||||
c.playerSkillProp[13][5] = data[i][5];// secondary item amount
|
||||
c.playerSkillProp[13][6] = data[i][6];// output item
|
||||
|
||||
c.getPacketSender().closeAllWindows();
|
||||
c.startAnimation(899);
|
||||
@@ -122,45 +112,40 @@ public class Smelting extends SkillHandler {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
deleteTime(c);
|
||||
// Remove primary item
|
||||
c.getItemAssistant().deleteItem(c.playerSkillProp[13][3], 1);
|
||||
if (c.playerSkillProp[13][5] == -1) {
|
||||
c.getItemAssistant().deleteItem(c.playerSkillProp[13][4], 1);
|
||||
}
|
||||
if (c.playerSkillProp[13][5] > 0) {// if coal amount is > 0
|
||||
// Check if required and remove secondary items
|
||||
if (c.playerSkillProp[13][4] > 0 && c.playerSkillProp[13][5] > 0) {
|
||||
c.getItemAssistant().deleteItem(c.playerSkillProp[13][4], c.playerSkillProp[13][5]);
|
||||
}
|
||||
|
||||
if (c.playerSkillProp[13][3] == IRON && c.playerSkillProp[13][4] == -1 && Misc.random(100) >= 50) {
|
||||
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
}
|
||||
if (c.playerSkillProp[13][3] == IRON && c.playerSkillProp[13][4] == -1) {
|
||||
// Ring of forging
|
||||
if (c.playerEquipment[c.playerRing] == 2568) {
|
||||
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
|
||||
if (c.playerSkillProp[13][3] == GOLD && c.playerSkillProp[13][4] == -1 && c.playerEquipment[c.playerHands] == 776) {
|
||||
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
} else {
|
||||
if (Misc.random(100) >= 50) {
|
||||
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("You failed to smelt the iron bar.");
|
||||
}
|
||||
}
|
||||
} else if (c.playerSkillProp[13][3] == GOLD && c.playerEquipment[c.playerHands] == 776) {
|
||||
c.getPacketSender().sendMessage("You receive a " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
c.getPlayerAssistant().addSkillXP(56.2, c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
} else {
|
||||
if (c.playerSkillProp[13][3] != IRON) {
|
||||
c.getPacketSender().sendMessage("You receive an " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
}
|
||||
c.getPacketSender().sendMessage("You receive a " + ItemAssistant.getItemName(c.playerSkillProp[13][6]).toLowerCase() + ".");
|
||||
c.getPlayerAssistant().addSkillXP(c.playerSkillProp[13][2], c.playerSmithing);
|
||||
c.getItemAssistant().addItem(c.playerSkillProp[13][6], 1);// item
|
||||
}
|
||||
|
||||
// ///////////////////////////////CHECKING//////////////////////
|
||||
if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][3], 1)) {
|
||||
c.getPacketSender().sendMessage("You don't have enough ores to continue smelting!");
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
}
|
||||
if (c.playerSkillProp[13][4] > 0) {
|
||||
if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][4], 1)) {
|
||||
c.getPacketSender().sendMessage("You don't have enough ores to continue smelting!");
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
}
|
||||
}
|
||||
////////////////////// CHECKING //////////////////////
|
||||
if (c.doAmount <= 0) {
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
@@ -173,6 +158,18 @@ public class Smelting extends SkillHandler {
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
}
|
||||
if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][3], 1)) {
|
||||
c.getPacketSender().sendMessage("You don't have enough ores to continue smelting!");
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
}
|
||||
if (c.playerSkillProp[13][4] > 0) {
|
||||
if (!c.getItemAssistant().playerHasItem(c.playerSkillProp[13][4], c.playerSkillProp[13][5])) {
|
||||
c.getPacketSender().sendMessage("You don't have enough ores to continue smelting!");
|
||||
resetSmelting(c);
|
||||
container.stop();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
package com.rebotted.game.content.skills.smithing;
|
||||
|
||||
import com.rebotted.event.CycleEvent;
|
||||
import com.rebotted.event.CycleEventContainer;
|
||||
import com.rebotted.event.CycleEventHandler;
|
||||
import com.rebotted.game.items.ItemAssistant;
|
||||
import com.rebotted.game.players.Player;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
|
||||
/**
|
||||
* Cleaned by Andrew
|
||||
* @author Andrew (Mr Extremez)
|
||||
@@ -17,7 +22,7 @@ public class Smithing {
|
||||
checkBronze(player, levelReq, amountToMake, type);
|
||||
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Iron")) {
|
||||
checkIron(player, levelReq, amountToMake, type);
|
||||
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Steel")) {
|
||||
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Steel") || ItemAssistant.getItemName(Integer.parseInt(type)).contains("ball")) {
|
||||
checkSteel(player, levelReq, amountToMake, type);
|
||||
} else if (ItemAssistant.getItemName(Integer.parseInt(type)).contains("Mith")) {
|
||||
checkMith(player, levelReq, amountToMake, type);
|
||||
@@ -315,6 +320,11 @@ public class Smithing {
|
||||
addItem = 1353;
|
||||
removeAmount = 1;
|
||||
makeTimes = amountToMake;
|
||||
} else if (type.equals("2") && levelReq >= 35) { // Cannonball
|
||||
XP = 26;
|
||||
addItem = 2;
|
||||
removeAmount = 1;
|
||||
makeTimes = amountToMake;
|
||||
} else if (type.equalsIgnoreCase("1207") && levelReq >= 30) { // Dagger
|
||||
XP = 50;
|
||||
addItem = 1207;
|
||||
@@ -790,55 +800,76 @@ public class Smithing {
|
||||
smithItem(c, addItem, removeItem, removeAmount, makeTimes, XP);
|
||||
}
|
||||
|
||||
public boolean smithItem(Player c, int addItem, int removeItem,
|
||||
int removeItem2, int timesToMake, int XP) {
|
||||
int makeTimes = timesToMake;
|
||||
c.getPacketSender().closeAllWindows();
|
||||
c.isSmithing = true;
|
||||
public static void smithItem(Player player, int addItem, int removeItem,
|
||||
int removeItem2, int timesToMake, int XP) {
|
||||
|
||||
player.doAmount = timesToMake;
|
||||
player.getPacketSender().closeAllWindows();
|
||||
String name = ItemAssistant.getItemName(addItem);
|
||||
if (c.getItemAssistant().playerHasItem(removeItem, removeItem2)) {
|
||||
c.startAnimation(898);
|
||||
if (makeTimes > 1 && c.getItemAssistant().playerHasItem(removeItem, removeItem2 * 2) && !name.contains("claws") && !name.contains("nails") && !name.contains("dart tip") && !name.contains("tip") && !name.contains("platelegs")) {
|
||||
c.getPacketSender().sendMessage("You make some " + ItemAssistant.getItemName(addItem) + "s.");
|
||||
} else if (makeTimes > 1 && c.getItemAssistant().playerHasItem(removeItem, removeItem2 * 2) && name.contains("claws") || name.contains("nails") || name.contains("dart tip") || name.contains("tip") || name.contains("platelegs")) {
|
||||
c.getPacketSender().sendMessage("You make some " + ItemAssistant.getItemName(addItem) + ".");
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("You hammer out a " + ItemAssistant.getItemName(addItem) + ".");
|
||||
}
|
||||
while (makeTimes > 0 && c.isSmithing == true) {
|
||||
if (c.getItemAssistant().playerHasItem(removeItem, removeItem2)) {
|
||||
c.getItemAssistant().deleteItem(removeItem, removeItem2);
|
||||
if (ItemAssistant.getItemName(addItem).contains("bolt")) {
|
||||
c.getItemAssistant().addItem(addItem, 10);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("tip") && !ItemAssistant.getItemName(addItem).contains("dart tip")) {
|
||||
c.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("dart tip")) {
|
||||
c.getItemAssistant().addItem(addItem, 10);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("nail")) {
|
||||
c.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("arrow")) {
|
||||
c.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("knife")) {
|
||||
c.getItemAssistant().addItem(addItem, 5);
|
||||
} else if (ItemAssistant.getItemName(addItem).contains("cannon")) {
|
||||
c.getItemAssistant().addItem(addItem, 4);
|
||||
} else {
|
||||
c.getItemAssistant().addItem(addItem, 1);
|
||||
if (player.getItemAssistant().playerHasItem(removeItem, removeItem2)) {
|
||||
if (!player.isSmithing)
|
||||
{
|
||||
player.isSmithing = true;
|
||||
player.startAnimation(898);
|
||||
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (player.doAmount <= 0 || !player.getItemAssistant().playerHasItem(removeItem, removeItem2) || !player.isSmithing || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isFletching || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) {
|
||||
container.stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
player.startAnimation(898);
|
||||
player.getPacketSender().sendSound(468, 100, 0);
|
||||
if (name.contains("ball"))
|
||||
{
|
||||
player.getPacketSender().sendMessage("You make some " + name.toLowerCase() + "s.");
|
||||
}
|
||||
else if (name.charAt(name.length() -1) == 's') {
|
||||
player.getPacketSender().sendMessage("You make some " + name.toLowerCase() + ".");
|
||||
} else {
|
||||
if (name.charAt(1) == 'a' || name.charAt(1) == 'e' || name.toLowerCase().charAt(1) == 'i' || name.charAt(1) == 'o' || name.charAt(1) == 'u')
|
||||
{
|
||||
player.getPacketSender().sendMessage("You make an " + name.toLowerCase() + ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getPacketSender().sendMessage("You make a " + name.toLowerCase() + ".");
|
||||
}
|
||||
}
|
||||
player.getItemAssistant().deleteItem(removeItem, removeItem2);
|
||||
player.getPacketSender().sendMessage(ItemAssistant.getItemName(addItem));
|
||||
if (name.contains("bolt")) {
|
||||
player.getItemAssistant().addItem(addItem, 10);
|
||||
} else if (name.contains("tip") && !name.contains("dart tip")) {
|
||||
player.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (name.contains("dart tip")) {
|
||||
player.getItemAssistant().addItem(addItem, 10);
|
||||
} else if (name.contains("nail")) {
|
||||
player.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (name.contains("arrow")) {
|
||||
player.getItemAssistant().addItem(addItem, 15);
|
||||
} else if (name.contains("knife")) {
|
||||
player.getItemAssistant().addItem(addItem, 5);
|
||||
} else if (name.contains("ball")) {
|
||||
player.getItemAssistant().addItem(addItem, 4);
|
||||
} else {
|
||||
player.getItemAssistant().addItem(addItem, 1);
|
||||
}
|
||||
player.getPlayerAssistant().addSkillXP(XP, player.playerSmithing);
|
||||
player.doAmount--;
|
||||
}
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(XP, c.playerSmithing);
|
||||
c.getPlayerAssistant().refreshSkill(c.playerSmithing);
|
||||
makeTimes--;
|
||||
c.getPacketSender().sendSound(468, 100, 0);
|
||||
} else {
|
||||
c.isSmithing = false;
|
||||
break;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
player.isSmithing = false;
|
||||
}
|
||||
}, addItem == 2 ? 10 : 3);
|
||||
}
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("You don't have enough bars to make this item!");
|
||||
c.isSmithing = false;
|
||||
return false;
|
||||
player.getPacketSender().sendMessage("You don't have enough bars to make this item!");
|
||||
player.isSmithing = false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,11 @@ public class SmithingInterface {
|
||||
}
|
||||
|
||||
public void showSmithInterface(int itemId) {
|
||||
if (!c.getItemAssistant().playerHasItem(2347))
|
||||
{
|
||||
c.getPacketSender().sendMessage("You need an hammer to do that.");
|
||||
return;
|
||||
}
|
||||
if (itemId == 2349 && c.tutorialProgress == 20) {
|
||||
c.getPacketSender().chatbox(6180);
|
||||
c.getDialogueHandler().chatboxText(c, "Now you have the Smithing menu open, you will see a list of all", "the things you can make. Only the dagger can be made at your", "skill level, this is shown by the white text under it. You'll need", "to select the dagger to continue.", "Smithing a dagger");
|
||||
|
||||
@@ -59,7 +59,7 @@ public class ThieveOther {
|
||||
client.getPacketSender().sendMessage("Thieving is currently disabled.");
|
||||
return;
|
||||
}
|
||||
if (isPicking == true) {
|
||||
if (isPicking) {
|
||||
client.getPacketSender().sendMessage("You are already picking a lock.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class GnomeGlider {
|
||||
};
|
||||
|
||||
public static void flightButtons(Player player, int button) {
|
||||
if (player.gliderOpen == true) {
|
||||
if (player.gliderOpen) {
|
||||
for (int i = 0; i < getLength(); i++) {
|
||||
if (getButton(i) == button) {
|
||||
handleFlight(player, i);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.rebotted.game.dialogues;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.content.quests.QuestAssistant;
|
||||
import com.rebotted.game.content.quests.QuestRewards;
|
||||
import com.rebotted.game.content.randomevents.FreakyForester;
|
||||
@@ -75,7 +76,7 @@ public class DialogueHandler {
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if (player.luthas == true && player.bananas >= 2) {
|
||||
if (player.luthas && player.bananas >= 2) {
|
||||
player.getItemAssistant().addOrDropItem(995, 30);
|
||||
sendNpcChat1(
|
||||
"Thank you for your services you have been rewarded 30 coins.",
|
||||
@@ -1184,7 +1185,7 @@ public class DialogueHandler {
|
||||
break;
|
||||
case 247:
|
||||
sendNpcChat3(
|
||||
"But, when this tower was burnt down, the sercret of creating runes was lost with it...",
|
||||
"But, when this tower was burnt down, the secret of creating runes was lost with it...",
|
||||
"or so I thought.",
|
||||
"Some months ago, while searching these ruins for information, ",
|
||||
player.talkingNpc, "Sedridor");
|
||||
@@ -2638,7 +2639,7 @@ public class DialogueHandler {
|
||||
player.nextChat = 522;
|
||||
break;
|
||||
case 522:
|
||||
sendNpcChat1("You are a eager one.", player.talkingNpc,
|
||||
sendNpcChat1("You are an eager one.", player.talkingNpc,
|
||||
"Doctor Harlow");
|
||||
player.nextChat = 523;
|
||||
break;
|
||||
@@ -3901,8 +3902,8 @@ public class DialogueHandler {
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 912:
|
||||
player.getDialogueHandler().sendStatement(
|
||||
"Catching rats is currently disabled.");
|
||||
GameEngine.npcHandler.catchRat(player.rememberNpcIndex);
|
||||
player.getPacketSender().closeAllWindows();
|
||||
player.nextChat = 0;
|
||||
break;
|
||||
case 913:
|
||||
@@ -4702,14 +4703,14 @@ public class DialogueHandler {
|
||||
"for 50 coins?", player.talkingNpc,
|
||||
NpcHandler.getNpcListName(player.talkingNpc));
|
||||
player.nextChat = 1350;
|
||||
} else if (player.hasPaid == true && player.absY > 3485
|
||||
} else if (player.hasPaid && player.absY > 3485
|
||||
&& player.absY < 3489) {
|
||||
sendNpcChat1(
|
||||
"Hello, are you interested in a free ride up the river?",
|
||||
player.talkingNpc,
|
||||
NpcHandler.getNpcListName(player.talkingNpc));
|
||||
player.nextChat = 1350;
|
||||
} else if (player.hasPaid == true) {
|
||||
} else if (player.hasPaid) {
|
||||
sendNpcChat1(
|
||||
"Hello, are you interested in a free back down the river?",
|
||||
player.talkingNpc,
|
||||
@@ -4744,12 +4745,12 @@ public class DialogueHandler {
|
||||
"modern");
|
||||
player.hasPaid = true;
|
||||
player.nextChat = 0;
|
||||
} else if (player.hasPaid == true && player.absY > 3485
|
||||
} else if (player.hasPaid && player.absY > 3485
|
||||
&& player.absY < 3489) {
|
||||
sendPlayerChat1("Yes please.");
|
||||
player.getPlayerAssistant().startTeleport(2358, 3640, 0,
|
||||
"modern");
|
||||
} else if (player.hasPaid == true) {
|
||||
} else if (player.hasPaid) {
|
||||
sendPlayerChat1("Yes please.");
|
||||
player.getPlayerAssistant().startTeleport(2367, 3488, 0,
|
||||
"modern");
|
||||
@@ -6742,7 +6743,7 @@ public class DialogueHandler {
|
||||
VotingHandler.setAsReceived(client.playerName);
|
||||
client.recievedMask = true;
|
||||
client.nextChat = 0;
|
||||
} else if (client.recievedMask == true && Constants.HALLOWEEN) {
|
||||
} else if (client.recievedMask && Constants.HALLOWEEN) {
|
||||
sendNpcChat2("You have already recieved a halloween mask.", "What reward would you like?", 945, "" + Constants.SERVER_NAME + " Guide");
|
||||
client.nextChat = 3207;
|
||||
}
|
||||
@@ -6843,7 +6844,7 @@ public class DialogueHandler {
|
||||
* @author Andrew
|
||||
*/
|
||||
case 3500:
|
||||
if (player.getCannon().needsCannon()) {
|
||||
if (player.lostCannon) {
|
||||
sendNpcChat2("Hello, " + Misc.capitalize(player.playerName) + ".", "I see that you lost your cannon.", player.talkingNpc, "Nulodion");
|
||||
player.nextChat = 3501;
|
||||
} else {
|
||||
@@ -6853,7 +6854,7 @@ public class DialogueHandler {
|
||||
break;
|
||||
|
||||
case 3501:
|
||||
if (player.getCannon().needsCannon()) {
|
||||
if (player.lostCannon) {
|
||||
if (player.getItemAssistant().freeSlots() >= 4) {
|
||||
sendNpcChat1("Here is your cannon, try not to lose it again.", player.talkingNpc, "Nulodion");
|
||||
for (int i = 0; i < 4; i++) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import java.util.Scanner;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.objects.Objects;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.world.clip.Region;
|
||||
|
||||
|
||||
public class Doors {
|
||||
@@ -55,18 +56,21 @@ public class Doors {
|
||||
}
|
||||
|
||||
public boolean handleDoor(Player player, int id, int x, int y, int z) {
|
||||
|
||||
Doors d = getDoor(id, x, y, z);
|
||||
|
||||
if (d == null) {
|
||||
if (DoubleDoors.getSingleton().handleDoor(player, id, x, y, z)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
//System.out.println("D: " + id + " null debug x: " + x + " y: " + y + ".");
|
||||
return DoubleDoors.getSingleton().handleDoor(player, id, x, y, z);
|
||||
}
|
||||
|
||||
//todo: improvment: if player manage to get to door then open the door.
|
||||
if(player.distanceToPoint(x, y) > 1) return false;
|
||||
if(player.distanceToPoint(x, y) > 1) {
|
||||
//System.out.println("Door (single): " + id + " not in distance debug at x: " + x + " y: " + y + ".");
|
||||
return false;
|
||||
}
|
||||
|
||||
//Remove clipping for old door (gets added back in placeObject)
|
||||
//Region.removeClipping(x, y, z);
|
||||
|
||||
int xAdjustment = 0, yAdjustment = 0;
|
||||
if (d.type == 0) {
|
||||
|
||||
@@ -10,6 +10,7 @@ import java.util.Scanner;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.objects.Objects;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.world.clip.Region;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -50,12 +51,17 @@ public class DoubleDoors {
|
||||
DoubleDoors doorClicked = getDoor(id, x, y, z);
|
||||
|
||||
if (doorClicked == null) {
|
||||
//System.out.println("Door: " + id + " null debug at x: " + x + " y: " + y + ".");
|
||||
//GameEngine.objectHandler.placeObject(new Objects(-1, x, y, z, 0, 0, 0));
|
||||
return true;
|
||||
}
|
||||
if (doorClicked.doorId > 12000) {
|
||||
if (doorClicked.doorId > 15000) {
|
||||
// System.out.println("Door: " + id + " clicking debug x: " + x + " y: " + y + ".");
|
||||
return true; //nearly all of these are not opened
|
||||
}
|
||||
|
||||
//Region.removeClipping(x, y, z);
|
||||
|
||||
if (doorClicked.open == 0) {
|
||||
if (doorClicked.originalFace == 0) {
|
||||
DoubleDoors lowerDoor = getDoor(id - 3, x, y -1, z);
|
||||
|
||||
@@ -141,11 +141,11 @@ public class Item {
|
||||
private static String[] fullhat = { "med helm", "coif", "Dharok's helm",
|
||||
"hood", "Initiate helm", "Coif", "Helm of neitiznot",
|
||||
"Armadyl helmet", "Berserker helm", "Archer helm", "Farseer helm",
|
||||
"Warrior helm", "Void" };
|
||||
"Warrior helm", "Void"};
|
||||
/* Fullmask covers your entire head. */
|
||||
private static String[] fullmask = { "full helm(t)", "full helm(g)", "full helm", "mask", "Verac's helm",
|
||||
"Guthan's helm", "Karil's coif", "mask", "Torag's helm", "Void", "helmet",
|
||||
"sallet", "Facemask" };
|
||||
"sallet", "Facemask", "Bearhead"};
|
||||
|
||||
public static boolean isFullBody(int itemId) {
|
||||
String weapon = getItemName(itemId);
|
||||
@@ -276,6 +276,8 @@ public class Item {
|
||||
case 1167:
|
||||
case 5525:
|
||||
case 4168:
|
||||
case 4502:
|
||||
case 1037:
|
||||
case 1025:
|
||||
case 7112:
|
||||
case 7124:
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.content.minigames.castlewars.CastleWars;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.MainFrameIDs;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerHandler;
|
||||
import com.rebotted.util.Misc;
|
||||
@@ -510,7 +511,7 @@ public class ItemAssistant {
|
||||
} else {
|
||||
c.playerItemsN[i] = GameConstants.MAXITEM_AMOUNT;
|
||||
}
|
||||
if (c.getOutStream() != null && c != null) {
|
||||
if (c.getOutStream() != null) {
|
||||
c.getOutStream().createFrameVarSizeWord(34);
|
||||
c.getOutStream().writeWord(3214);
|
||||
c.getOutStream().writeByte(i);
|
||||
@@ -525,7 +526,7 @@ public class ItemAssistant {
|
||||
c.flushOutStream();
|
||||
}
|
||||
i = 30;
|
||||
Weight.calcWeight(c, item, "additem");
|
||||
Weight.updateWeight(c);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -543,12 +544,15 @@ public class ItemAssistant {
|
||||
}
|
||||
resetItems(3214);
|
||||
i = 30;
|
||||
Weight.calcWeight(c, item, "additem");
|
||||
|
||||
Weight.updateWeight(c);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
GameEngine.itemHandler.createGroundItem(c, item,
|
||||
c.getX(), c.getY(), 1, c.getId());
|
||||
resetItems(3214);
|
||||
c.getPacketSender().sendMessage("Not enough space in your inventory.");
|
||||
return false;
|
||||
@@ -1440,6 +1444,10 @@ public class ItemAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
if (wearID == 4079) {
|
||||
c.startAnimation(1458);
|
||||
return false;
|
||||
}
|
||||
switch (wearID) {
|
||||
// Dragon daggers/sword
|
||||
case 1215:
|
||||
@@ -1657,7 +1665,7 @@ public class ItemAssistant {
|
||||
c.flushOutStream();
|
||||
c.updateRequired = true;
|
||||
c.setAppearanceUpdateRequired(true);
|
||||
Weight.calcWeight(c, wearID, "deleteitem");
|
||||
Weight.updateWeight(c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1794,12 +1802,18 @@ public class ItemAssistant {
|
||||
if (!CastleWars.deleteCastleWarsItems(c, itemID)) {
|
||||
return false;
|
||||
}
|
||||
if (c.otherBank == true) {
|
||||
if (c.otherBank) {
|
||||
c.getPacketSender().closeAllWindows();
|
||||
c.getPacketSender().sendMessage("You can't bank while viewing someones bank!");
|
||||
c.otherBank = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(c.lastMainFrameInterface == MainFrameIDs.DEPOSIT_BOX || c.lastMainFrameInterface == MainFrameIDs.BANK || c.inBankArea())) { //Packet exploit prevention
|
||||
c.getPacketSender().sendMessage("You don't have a bank open! Report this ID to developers: " + c.lastMainFrameInterface);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (c.playerItemsN[fromSlot] <= 0) {
|
||||
return false;
|
||||
}
|
||||
@@ -2082,6 +2096,11 @@ public class ItemAssistant {
|
||||
|
||||
public void fromBank(int itemID, int fromSlot, int amount) {
|
||||
boolean cantWithdrawCuzMaxStack = false;
|
||||
if (!(c.lastMainFrameInterface == MainFrameIDs.BANK || c.inBankArea()))
|
||||
{
|
||||
c.getPacketSender().sendMessage("Your bank isn't open!");
|
||||
return;
|
||||
}
|
||||
if (amount > 0) {
|
||||
if (c.bankItems[fromSlot] > 0) {
|
||||
if (c.getItemAssistant().playerHasItem(itemID))
|
||||
@@ -2351,7 +2370,7 @@ public class ItemAssistant {
|
||||
}
|
||||
}
|
||||
resetItems(3214);
|
||||
Weight.calcWeight(c, id, "deleteitem");
|
||||
Weight.updateWeight(c);
|
||||
}
|
||||
|
||||
public void deleteItem(int id, int slot, int amount) {
|
||||
@@ -2366,7 +2385,7 @@ public class ItemAssistant {
|
||||
c.playerItems[slot] = 0;
|
||||
}
|
||||
resetItems(3214);
|
||||
Weight.calcWeight(c, id, "deleteitem");
|
||||
Weight.updateWeight(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -230,8 +230,8 @@ public class ItemDefinitions {
|
||||
if (id >= 0 && id < definitions.length)
|
||||
return definitions[id].weight;
|
||||
|
||||
System.out.println("WARNING: id " + id + " doesn't have a definition!");
|
||||
return 0.0;
|
||||
System.out.println("WARNING: id " + id + " doesn't have a definition! 2.147kg is used as weight.");
|
||||
return 2.147;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.rebotted.game.content.skills.fletching.Stringing;
|
||||
import com.rebotted.game.content.skills.herblore.GrindingAction;
|
||||
import com.rebotted.game.content.skills.herblore.Herblore;
|
||||
import com.rebotted.game.items.impl.CapeDye;
|
||||
import com.rebotted.game.items.impl.GodPages;
|
||||
import com.rebotted.game.items.impl.WeaponPoison;
|
||||
import com.rebotted.game.npcs.impl.MilkCow;
|
||||
import com.rebotted.game.objects.impl.CrystalChest;
|
||||
@@ -98,7 +99,7 @@ public class UseItem {
|
||||
|
||||
}
|
||||
|
||||
public static void ItemonItem(Player player, int itemUsed, int useWith) {
|
||||
public static void itemOnItem(Player player, int itemUsed, int useWith) {
|
||||
LogCuttingInterface.handleItemOnItem(player, itemUsed, useWith);
|
||||
ArrowMaking.makeArrow(player, itemUsed, useWith);
|
||||
Stringing.StringBow(player, itemUsed, useWith);
|
||||
@@ -111,6 +112,7 @@ public class UseItem {
|
||||
}
|
||||
GrindingAction.init(player, itemUsed, useWith);
|
||||
CapeDye.dyeItem(player, itemUsed, useWith);
|
||||
GodPages.itemOnItemHandle(player, useWith, itemUsed);
|
||||
if (Herblore.isIngredient(itemUsed) || Herblore.isIngredient(useWith)) {
|
||||
Herblore.setupPotion(player, itemUsed, useWith);
|
||||
}
|
||||
@@ -174,7 +176,7 @@ public class UseItem {
|
||||
for (int i = 0; i < firemakingItems.length; i++) {
|
||||
if (itemUsed == firemakingItems[i] || useWith == firemakingItems[i] && player.isFiremaking == false) {
|
||||
Firemaking.attemptFire(player, itemUsed, useWith, player.absX, player.absY, false);
|
||||
} else if (itemUsed == firemakingItems[i] || useWith == firemakingItems[i] && player.isFiremaking == true) {
|
||||
} else if (itemUsed == firemakingItems[i] || useWith == firemakingItems[i] && player.isFiremaking) {
|
||||
player.getPacketSender().sendMessage("You can't do that, you are already firemaking.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ public class Weight extends ItemDefinitions {
|
||||
* @param action
|
||||
* - deleteitem, additem, equip, unequip.
|
||||
*/
|
||||
public static void calcWeight(Player c, int item, String action) {
|
||||
private static void calcWeight(Player c, int item, String action) {
|
||||
if (action.equalsIgnoreCase("deleteitem")) {
|
||||
if (getWeight(item) > 99.20) {
|
||||
c.weight -= getWeight(item) / 100;
|
||||
@@ -49,32 +49,21 @@ public class Weight extends ItemDefinitions {
|
||||
*/
|
||||
public static void updateWeight(Player player) {
|
||||
if (player != null) {
|
||||
player.getPacketSender().writeWeight((int) player.weight);
|
||||
player.weight = 0;
|
||||
// Inventory items
|
||||
for (int playerItem : player.playerItems) {
|
||||
if (playerItem > -1) {// inventory
|
||||
for (ItemList i1 : GameEngine.itemHandler.ItemList) {
|
||||
if (i1 != null) {
|
||||
if (i1.itemId == playerItem) {
|
||||
calcWeight(player, playerItem, "addItem");
|
||||
}
|
||||
}
|
||||
}
|
||||
calcWeight(player, playerItem, "addItem");
|
||||
}
|
||||
}
|
||||
// Equiped items
|
||||
for (int element : player.playerEquipment) {
|
||||
if (element > -1) {// equipment
|
||||
for (ItemList i1 : GameEngine.itemHandler.ItemList) {
|
||||
if (i1 != null) {
|
||||
if (i1.itemId == element) {
|
||||
calcWeight(player, element, "addItem");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (element == 88) player.weight -= 4.5;
|
||||
else calcWeight(player, element, "addItem");
|
||||
}
|
||||
}
|
||||
player.getPacketSender().writeWeight((int) player.weight);
|
||||
}
|
||||
player.getPacketSender().writeWeight((int) player.weight);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.rebotted.game.items.impl;
|
||||
|
||||
import com.rebotted.game.players.Player;
|
||||
|
||||
public class GodPages {
|
||||
|
||||
public static void fillBook(Player player, int oldBook, int newBook, int page1, int page2, int page3) {
|
||||
if (player.getItemAssistant().playerHasItem(oldBook, 1) && player.getItemAssistant().playerHasItem(page1, 1) && player.getItemAssistant().playerHasItem(page2, 1) && player.getItemAssistant().playerHasItem(page3, 1)) {
|
||||
player.getItemAssistant().deleteItem(oldBook, player.getItemAssistant().getItemSlot(oldBook), 1);
|
||||
player.getItemAssistant().deleteItem(page1, player.getItemAssistant().getItemSlot(page1), 1);
|
||||
player.getItemAssistant().deleteItem(page2, player.getItemAssistant().getItemSlot(page2), 1);
|
||||
player.getItemAssistant().deleteItem(page3, player.getItemAssistant().getItemSlot(page3), 1);
|
||||
player.getItemAssistant().addItem(newBook, 1);
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You need all 3 pages to fill the book!");
|
||||
}
|
||||
}
|
||||
|
||||
public static void itemOnItemHandle(Player player, int useWith, int itemUsed) {
|
||||
if ((useWith == 3827) || (useWith == 3827) || (useWith == 3827) && (itemUsed == 3839)) { // sara
|
||||
fillBook(player, 3839, 3840, 3827, 3828, 3829);
|
||||
}
|
||||
if ((itemUsed == 3827) || (itemUsed == 3828) || (itemUsed == 3829) || (useWith == 3839)) {// sara
|
||||
fillBook(player, 3839, 3840, 3827, 3828, 3829);
|
||||
}
|
||||
if ((useWith == 3831) || (useWith == 3832) || (useWith == 3833) && (itemUsed == 3841)) { // zam
|
||||
fillBook(player, 3841, 3842, 3831, 3832, 3833);
|
||||
}
|
||||
if ((itemUsed == 3831) || (itemUsed == 3832) || (itemUsed == 3833) || (useWith == 3841)) { // zam
|
||||
fillBook(player, 3841, 3842, 3831, 3832, 3833);
|
||||
}
|
||||
if ((useWith == 3835) || (useWith == 3836) || (useWith == 3837) && (itemUsed == 3843)) { // guth
|
||||
fillBook(player, 3843, 3844, 3835, 3836, 3837);
|
||||
}
|
||||
if ((itemUsed == 3835) || (itemUsed == 3836) || (itemUsed == 3837) || (useWith == 3843)) { // guth
|
||||
fillBook(player, 3843, 3844, 3835, 3836, 3837);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,6 +23,7 @@ public class Npc {
|
||||
public int summonedBy, size;
|
||||
public int focusPointX, focusPointY, masterId;
|
||||
public boolean turnUpdateRequired;
|
||||
public int chasingRat = -1;
|
||||
|
||||
/**
|
||||
* attackType: 0 = melee, 1 = range, 2 = mage
|
||||
@@ -68,7 +69,7 @@ public class Npc {
|
||||
player.getPacketSender().sendMessage("You need " + ItemAssistant.getItemName(itemId).toLowerCase() + " to do that.");
|
||||
return false;
|
||||
}
|
||||
if (NpcHandler.npcs[npcId].isTransformed == true)
|
||||
if (NpcHandler.npcs[npcId].isTransformed)
|
||||
return false;
|
||||
if (animation > 0)
|
||||
player.startAnimation(animation);
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.rebotted.game.content.skills.core.Fishing;
|
||||
import com.rebotted.game.content.skills.crafting.Tanning;
|
||||
import com.rebotted.game.content.skills.thieving.Pickpocket;
|
||||
import com.rebotted.game.content.traveling.Sailing;
|
||||
import com.rebotted.game.npcs.impl.Pets;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerAssistant;
|
||||
import com.rebotted.game.shops.ShopAssistant;
|
||||
@@ -21,6 +22,7 @@ public class NpcActions {
|
||||
|
||||
public void firstClickNpc(int npcType) {
|
||||
c.clickNpcType = 0;
|
||||
c.rememberNpcIndex = c.npcClickIndex;
|
||||
c.npcClickIndex = 0;
|
||||
Shops.dialogueShop(c, npcType);
|
||||
if (Pickpocket.isNPC(c, npcType)) {
|
||||
@@ -30,6 +32,15 @@ public class NpcActions {
|
||||
if (Fishing.fishingNPC(c, npcType)) {
|
||||
Fishing.fishingNPC(c, 1, npcType);
|
||||
}
|
||||
if (Pets.isCat(npcType)) {
|
||||
if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) {
|
||||
c.getSummon().pickUpPet(c, c.summonId);
|
||||
c.hasNpc = false;
|
||||
c.summonId = -1;
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("This is not your pet.");
|
||||
}
|
||||
}
|
||||
switch (npcType) {
|
||||
case 209:
|
||||
c.getDialogueHandler().sendDialogues(3500, 209);
|
||||
@@ -814,28 +825,6 @@ public class NpcActions {
|
||||
}
|
||||
break;
|
||||
|
||||
case 3506:
|
||||
case 3507:
|
||||
case 761:
|
||||
case 760:
|
||||
case 762:
|
||||
case 763:
|
||||
case 764:
|
||||
case 765:
|
||||
case 766:
|
||||
case 767:
|
||||
case 768:
|
||||
case 769:
|
||||
case 770:
|
||||
case 771:
|
||||
case 772:
|
||||
case 773:
|
||||
case 3505:
|
||||
c.getSummon().pickUpClean(c, c.summonId);
|
||||
c.hasNpc = false;
|
||||
c.summonId = 0;
|
||||
break;
|
||||
|
||||
case 804:
|
||||
case 1041:
|
||||
Tanning.sendTanningInterface(c);
|
||||
@@ -996,9 +985,12 @@ public class NpcActions {
|
||||
if (Fishing.fishingNPC(c, npcType)) {
|
||||
Fishing.fishingNPC(c, 2, npcType);
|
||||
}
|
||||
if (npcType >= 761 && npcType <= 773 || npcType > 3504
|
||||
&& npcType < 3508 && npcType != 767) {
|
||||
c.getDialogueHandler().sendDialogues(908, npcType);
|
||||
if (Pets.isCat(npcType)) {
|
||||
if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) {
|
||||
c.getDialogueHandler().sendDialogues(908, npcType);
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("This is not your pet.");
|
||||
}
|
||||
}
|
||||
|
||||
switch (npcType) {
|
||||
@@ -1141,11 +1133,12 @@ public class NpcActions {
|
||||
Pickpocket.attemptPickpocket(c, npcType);
|
||||
return;
|
||||
}
|
||||
if (npcType >= 761 && npcType <= 773 && npcType != 767) {
|
||||
if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId)
|
||||
if (Pets.isCat(npcType)) {
|
||||
if (NpcHandler.npcs[c.rememberNpcIndex].spawnedBy == c.playerId) {
|
||||
c.getDialogueHandler().sendDialogues(910, npcType);
|
||||
else
|
||||
c.getPacketSender().sendMessage("This isn't your cat.");
|
||||
} else {
|
||||
c.getPacketSender().sendMessage("This is not your pet.");
|
||||
}
|
||||
}
|
||||
switch (npcType) {
|
||||
|
||||
|
||||
@@ -54,14 +54,6 @@ public class NpcData {
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* public static boolean isAggressive(int i) { if
|
||||
* (NPCHandler.npcs[i].aggressive && !onlyMage(NPCHandler.npcs[i].npcType))
|
||||
* { return true; } if (NPCHandler.npcs[i].inWild() &&
|
||||
* NPCHandler.npcs[i].MaxHP > 0 && !onlyMage(NPCHandler.npcs[i].npcType)) {
|
||||
* return true; } return false; }
|
||||
*/
|
||||
|
||||
public static int getNpcKillerId(int npcId) {
|
||||
int oldDamage = 0;
|
||||
int killerId = 0;
|
||||
@@ -256,6 +248,9 @@ public class NpcData {
|
||||
**/
|
||||
public static int getRespawnTime(int i) {
|
||||
switch (NpcHandler.npcs[i].npcType) {
|
||||
case 1158:
|
||||
case 1160:
|
||||
return -1;
|
||||
case 2881:
|
||||
case 2882:
|
||||
case 2883:
|
||||
|
||||
@@ -7,6 +7,9 @@ import java.io.IOException;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.event.CycleEvent;
|
||||
import com.rebotted.event.CycleEventContainer;
|
||||
import com.rebotted.event.CycleEventHandler;
|
||||
import com.rebotted.game.content.combat.CombatConstants;
|
||||
import com.rebotted.game.content.combat.npcs.NpcAggressive;
|
||||
import com.rebotted.game.content.combat.npcs.NpcCombat;
|
||||
@@ -19,6 +22,7 @@ import com.rebotted.game.content.randomevents.RandomEventHandler;
|
||||
import com.rebotted.game.content.randomevents.RiverTroll;
|
||||
import com.rebotted.game.npcs.drops.ItemDrop;
|
||||
import com.rebotted.game.npcs.drops.NPCDropsHandler;
|
||||
import com.rebotted.game.npcs.impl.Pets;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerHandler;
|
||||
@@ -34,6 +38,101 @@ public class NpcHandler {
|
||||
public static Npc npcs[] = new Npc[MAX_NPCS];
|
||||
public static NpcList NpcList[] = new NpcList[maxListedNPCs];
|
||||
|
||||
public void spawnSecondForm(Player c, final int i) {
|
||||
// npcs[i].gfx0(1055);
|
||||
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
spawnNpc2(1160, npcs[i].absX, npcs[i].absY, 0, 1, 230, 45, 500, 300, true);
|
||||
container.stop();
|
||||
}
|
||||
@Override
|
||||
public void stop() {
|
||||
|
||||
}
|
||||
}, 15);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* kq respawn first form
|
||||
*/
|
||||
public void spawnFirstForm(Player c, final int i) {
|
||||
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
spawnNpc2(1158, npcs[i].absX, npcs[i].absY, 0, 1, 230, 45, 500, 300, true);
|
||||
container.stop();
|
||||
}
|
||||
@Override
|
||||
public void stop() {
|
||||
|
||||
}
|
||||
}, 15);
|
||||
}
|
||||
|
||||
|
||||
public void catchRat(final int npcIndex) {
|
||||
int foundRat = -1;
|
||||
for (int i = 0; i < MAX_NPCS; i++) {
|
||||
if (npcs[i] == null || foundRat != -1) {
|
||||
continue;
|
||||
}
|
||||
if(npcs[i].npcType == 47 && !npcs[i].isDead) {
|
||||
if(goodDistance(npcs[npcIndex].absX, npcs[npcIndex].absY, npcs[i].absX, npcs[i].absY, 5)) {
|
||||
foundRat = i;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
final Client slaveOwner = (PlayerHandler.players[npcs[npcIndex].summonedBy] != null ? (Client) PlayerHandler.players[npcs[npcIndex].summonedBy] : null);
|
||||
if(foundRat == -1) {
|
||||
if(slaveOwner != null) {
|
||||
slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " can't seem to find any rats nearby.");
|
||||
}
|
||||
} else {
|
||||
npcs[npcIndex].chasingRat = foundRat;
|
||||
boolean beatChance = (Misc.random(2) == 1 ? true : false);
|
||||
CycleEventHandler.getSingleton().addEvent(this, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if(npcs[npcIndex].absX == npcs[npcs[npcIndex].chasingRat].absX && npcs[npcIndex].absY == npcs[npcs[npcIndex].chasingRat].absY && (beatChance || npcs[npcIndex].npcType >= 768 && npcs[npcIndex].npcType <= 773)) {
|
||||
npcs[npcs[npcIndex].chasingRat].isDead = true;
|
||||
npcs[npcs[npcIndex].chasingRat].forceChat("Eek!");
|
||||
npcs[npcIndex].forceChat("Meow!");
|
||||
//startAnimation(9163, npcIndex);
|
||||
slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " caught a rat!");
|
||||
if(npcs[npcIndex].npcType >= 761 && npcs[npcIndex].npcType <= 766)
|
||||
slaveOwner.ratsCaught++;
|
||||
if(slaveOwner.ratsCaught == Pets.RATS_NEEDED_TO_GROW) {
|
||||
slaveOwner.getPacketSender().sendMessage("Your kitten has grown into a cat!");
|
||||
int newNpcId = npcs[npcIndex].npcType+7;
|
||||
int[] coords = {npcs[npcIndex].absX, npcs[npcIndex].absY, npcs[npcIndex].heightLevel};
|
||||
spawnNpc3(slaveOwner, newNpcId, coords[0], coords[1], coords[2], 0, 120, 25, 200, 200, true, false, true);
|
||||
npcs[npcIndex].absX = 0;
|
||||
npcs[npcIndex].absY = 0;
|
||||
npcs[npcIndex] = null;
|
||||
//Spawns grown cat in spot of kitten.
|
||||
slaveOwner.summonId = Pets.summonItemId(newNpcId);
|
||||
slaveOwner.ratsCaught = 0;
|
||||
}
|
||||
npcs[npcIndex].chasingRat = -1;
|
||||
} else {
|
||||
if(slaveOwner != null)
|
||||
slaveOwner.getPacketSender().sendMessage("The " + getNpcListName(NpcHandler.npcs[npcIndex].npcType) + " failed to catch the rat.");
|
||||
npcs[npcIndex].chasingRat = -1;
|
||||
}
|
||||
container.stop();
|
||||
}
|
||||
@Override
|
||||
public void stop() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}, 4);
|
||||
}
|
||||
}
|
||||
|
||||
public NpcHandler() {
|
||||
for (int i = 0; i < MAX_NPCS; i++) {
|
||||
npcs[i] = null;
|
||||
@@ -139,15 +238,6 @@ public class NpcHandler {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int npcSize(int i) {
|
||||
switch (npcs[i].npcType) {
|
||||
case 2883:
|
||||
case 2882:
|
||||
case 2881:
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Summon npc, barrows, etc
|
||||
@@ -201,7 +291,7 @@ public class NpcHandler {
|
||||
npcs[slot] = newNPC;
|
||||
}
|
||||
|
||||
public void spawnNpc2(int npcType, int x, int y, int heightLevel, int WalkingType, int HP, int maxHit, int attack, int defence) {
|
||||
public void spawnNpc2(int npcType, int x, int y, int heightLevel, int WalkingType, int HP, int maxHit, int attack, int defence, boolean attackPlayer) {
|
||||
// first, search for a free slot
|
||||
int slot = -1;
|
||||
for (int i = 1; i < MAX_NPCS; i++) {
|
||||
@@ -225,6 +315,9 @@ public class NpcHandler {
|
||||
newNPC.MaxHP = HP;
|
||||
newNPC.maxHit = maxHit;
|
||||
newNPC.attack = attack;
|
||||
if (attackPlayer) {
|
||||
newNPC.underAttack = true;
|
||||
}
|
||||
newNPC.defence = defence;
|
||||
npcs[slot] = newNPC;
|
||||
}
|
||||
@@ -357,6 +450,13 @@ public class NpcHandler {
|
||||
npcs[i].absY = slaveOwner.absY - 1;
|
||||
}
|
||||
|
||||
if (slaveOwner != null && slaveOwner.hasNpc && npcs[i].summoner) {
|
||||
if (slaveOwner.goodDistance(npcs[i].absX, npcs[i].absY, slaveOwner.absX, slaveOwner.absY, 15)) {
|
||||
NpcHandler.followPlayer(i, slaveOwner.playerId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (npcs[i].actionTimer > 0) {
|
||||
npcs[i].actionTimer--;
|
||||
}
|
||||
@@ -385,7 +485,7 @@ public class NpcHandler {
|
||||
}
|
||||
}
|
||||
|
||||
if (npcs[i].spawnedBy > 0) { // delete summons npc
|
||||
if (npcs[i].spawnedBy > 0) {
|
||||
if (PlayerHandler.players[npcs[i].spawnedBy] == null
|
||||
|| PlayerHandler.players[npcs[i].spawnedBy].heightLevel != npcs[i].heightLevel
|
||||
|| PlayerHandler.players[npcs[i].spawnedBy].respawnTimer > 0
|
||||
@@ -393,11 +493,10 @@ public class NpcHandler {
|
||||
|
||||
if (npcs[i].npcType == FightCaves.YT_HURKOT) {
|
||||
Player c = ((Client)PlayerHandler.players[npcs[i].spawnedBy]);
|
||||
int ranHeal = Misc.random(19);
|
||||
if (ranHeal == 19)
|
||||
int ranHeal = Misc.random(10);
|
||||
if (ranHeal == 10)
|
||||
FightCaves.healJad(c, i);
|
||||
}
|
||||
|
||||
if (PlayerHandler.players[npcs[i].spawnedBy] != null) {
|
||||
for (int o = 0; o < PlayerHandler.players[npcs[i].spawnedBy].barrowsNpcs.length; o++) {
|
||||
if (npcs[i].npcType == PlayerHandler.players[npcs[i].spawnedBy].barrowsNpcs[o][0]) {
|
||||
@@ -548,24 +647,16 @@ public class NpcHandler {
|
||||
}
|
||||
|
||||
if (npcs[i].isDead) {
|
||||
if (npcs[i].actionTimer == 0 && npcs[i].applyDead == false
|
||||
&& npcs[i].needRespawn == false) {
|
||||
if (npcs[i].actionTimer == 0 && npcs[i].applyDead == false && npcs[i].needRespawn == false) {
|
||||
npcs[i].updateRequired = true;
|
||||
npcs[i].facePlayer(0);
|
||||
if (npcs[i].killedBy <= 0)
|
||||
npcs[i].killedBy = NpcData.getNpcKillerId(i);
|
||||
npcs[i].animNumber = NpcEmotes.getDeadEmote(i); // dead
|
||||
// emote
|
||||
Player c = (Client) PlayerHandler.players[npcs[i].killedBy];
|
||||
if (c != null) {
|
||||
if (CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
.getNpcDeathSounds(npcs[i].npcType),
|
||||
100, 0);
|
||||
npcs[i].animNumber = NpcEmotes.getDeadEmote(c, i); // dead emote
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(CombatSounds.getNpcDeathSounds(npcs[i].npcType), 100, 0);
|
||||
}
|
||||
}
|
||||
npcs[i].animUpdateRequired = true;
|
||||
@@ -576,7 +667,7 @@ public class NpcHandler {
|
||||
npcs[i].actionTimer = 4; // delete time
|
||||
resetPlayersInCombat(i);
|
||||
} else if (npcs[i].actionTimer == 0
|
||||
&& npcs[i].applyDead == true
|
||||
&& npcs[i].applyDead
|
||||
&& npcs[i].needRespawn == false) {
|
||||
npcs[i].needRespawn = true;
|
||||
npcs[i].actionTimer = NpcData.getRespawnTime(i); // respawn
|
||||
@@ -607,7 +698,7 @@ public class NpcHandler {
|
||||
if (player.tutorialProgress == 24) {
|
||||
handleratdeath(i);
|
||||
} else if (player.tutorialProgress == 25
|
||||
&& player.ratdied2 == true) {
|
||||
&& player.ratdied2) {
|
||||
handleratdeath2(i);
|
||||
}
|
||||
}
|
||||
@@ -653,8 +744,7 @@ public class NpcHandler {
|
||||
GameEngine.objectManager.removeObject(npcs[i].absX,
|
||||
npcs[i].absY);
|
||||
}
|
||||
} else if (npcs[i].actionTimer == 0
|
||||
&& npcs[i].needRespawn == true) {
|
||||
} else if (npcs[i].actionTimer == 0 && npcs[i].needRespawn && npcs[i].npcType != 1158) {
|
||||
if (npcs[i].spawnedBy > 0) {
|
||||
npcs[i] = null;
|
||||
} else {
|
||||
@@ -735,6 +825,12 @@ public class NpcHandler {
|
||||
|
||||
public static boolean multiAttacks(int i) {
|
||||
switch (npcs[i].npcType) {
|
||||
case 1158: //kq
|
||||
if (npcs[i].attackType == 2)
|
||||
return true;
|
||||
case 1160: //kq
|
||||
if (npcs[i].attackType == 1)
|
||||
return true;
|
||||
case 2558:
|
||||
return true;
|
||||
case 2562:
|
||||
@@ -871,7 +967,7 @@ public class NpcHandler {
|
||||
// These npcs shouldn't have drops
|
||||
return;
|
||||
}
|
||||
for (ItemDrop possible_drop : NPCDropsHandler.NPC_DROPS(getNpcListName(npcs[i].npcType).toLowerCase(), npcs[i].npcType)) {
|
||||
for (ItemDrop possible_drop : NPCDropsHandler.NPC_DROPS(getNpcListName(npcs[i].npcType).toLowerCase().replace(" ", "_"), npcs[i].npcType)) {
|
||||
if (Misc.random(possible_drop.getChance()) == 0) {
|
||||
int amt = possible_drop.getAmount();
|
||||
GameEngine.itemHandler.createGroundItem(c, possible_drop.getItemID(), npcs[i].absX, npcs[i].absY, amt, c.playerId);
|
||||
@@ -1200,7 +1296,8 @@ public class NpcHandler {
|
||||
}
|
||||
|
||||
public static void handleSpecialEffects(Player c, int i, int damage) {
|
||||
if (npcs[i].npcType == 2892 || npcs[i].npcType == 2894) {
|
||||
if (npcs[i].npcType == 2892 || npcs[i].npcType == 2894 || npcs[i].npcType == 1158
|
||||
|| npcs[i].npcType == 1160) {
|
||||
if (damage > 0) {
|
||||
if (c != null) {
|
||||
if (c.playerLevel[5] > 0) {
|
||||
@@ -1226,6 +1323,8 @@ public class NpcHandler {
|
||||
|
||||
public static int getMaxHit(int i) {
|
||||
switch (npcs[i].npcType) {
|
||||
case 1158:
|
||||
return 30;
|
||||
case 2558:
|
||||
if (npcs[i].attackType == 2) {
|
||||
return 28;
|
||||
@@ -1338,7 +1437,7 @@ public class NpcHandler {
|
||||
for (int i = 0; i < maxListedNPCs; i++) {
|
||||
if (NpcList[i] != null) {
|
||||
if (NpcList[i].npcId == npcId) {
|
||||
return NpcList[i].npcName;
|
||||
return NpcList[i].npcName.replace("_", " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1409,5 +1508,8 @@ public class NpcHandler {
|
||||
return NPCDefinition.forId(npcId).isAggressive();
|
||||
}
|
||||
|
||||
public int getNpcSize(int npcId) {
|
||||
return NPCDefinition.forId(npcId).getSize();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,91 +1,126 @@
|
||||
package com.rebotted.game.npcs.impl;
|
||||
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.npcs.Npc;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerSave;
|
||||
import com.rebotted.world.clip.Region;
|
||||
|
||||
public class Pets {
|
||||
|
||||
private final int[][] catArray = { { 3505, 7583 }, { 3506, 7584 },
|
||||
{ 766, 1560 }, { 3507, 7585 }, { 765, 1559 }, { 764, 1558 },
|
||||
{ 763, 1557 }, { 762, 1556 }, { 761, 1555 }, { 768, 1561 },
|
||||
{ 769, 1562 }, { 770, 1563 }, { 771, 1564 }, { 772, 1565 },
|
||||
{ 773, 1566 } };
|
||||
public static final int RATS_NEEDED_TO_GROW = 10;
|
||||
|
||||
public static final int[] CAT_ITEMS = { 1555, 1556, 1557, 1558, 1559, 1560,
|
||||
1561, 1562, 1563, 1564, 1565, 7585, 7584 };
|
||||
//npc id, item id
|
||||
private final static int[][] CATS = {
|
||||
{ 3504, 7583 }, //hell kitten
|
||||
{ 3506, 7584 }, //lazy hell kitten
|
||||
{ 766, 1560 }, //pet kitten
|
||||
{ 3507, 7585 }, //wily hellcat
|
||||
{ 765, 1559 }, //pet kitten
|
||||
{ 764, 1558 }, //pet kitten
|
||||
{ 763, 1557 }, //pet kitten
|
||||
{ 762, 1556 }, //pet kitten
|
||||
{ 761, 1555 }, //pet kitten
|
||||
{ 768, 1561 }, //pet cat
|
||||
{ 769, 1562 }, //pet cat
|
||||
{ 770, 1563 }, //pet cat
|
||||
{ 771, 1564 }, //pet cat
|
||||
{ 772, 1565 },//pet cat
|
||||
{ 773, 1566 } //pet cat
|
||||
};
|
||||
|
||||
public void pickUp(Client c, int Type) {
|
||||
for (Npc i : NpcHandler.npcs) {
|
||||
if (i == null) {
|
||||
continue;
|
||||
public static final int[] CAT_ITEMS = {
|
||||
1555, 1556, 1557, 1558, 1559, 1560,
|
||||
1561, 1562, 1563, 1564, 1565, 7585, 7583, 7584
|
||||
};
|
||||
|
||||
public static boolean isCatItem(int itemId) {
|
||||
for (int i = 0; i < CAT_ITEMS.length; i++) {
|
||||
if (itemId == CAT_ITEMS[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
for (Npc i : NpcHandler.npcs) {
|
||||
if (i != null) {
|
||||
if (i.npcType == Type) {
|
||||
if (i.spawnedBy == c.playerId && i.spawnedBy > 0) {
|
||||
i.absX = 0;
|
||||
i.absY = 0;
|
||||
i = null;
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isCat(int npcId) {
|
||||
for (int i = 0; i < CATS.length; i++) {
|
||||
if (npcId == CATS[i][0]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public static void dropPet(Player player, int itemId, int slot) {
|
||||
if (player.hasNpc) {
|
||||
player.getPacketSender().sendMessage("You already dropped your " + NpcHandler.getNpcListName(summonItemId(itemId)) + ".");
|
||||
return;
|
||||
}
|
||||
player.getItemAssistant().deleteItem(itemId, slot, player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPacketSender().sendMessage("You drop your " + NpcHandler.getNpcListName(summonItemId(itemId)) + ".");
|
||||
int offsetX = 0;
|
||||
int offsetY = 0;
|
||||
if (Region.getClipping(player.getX() - 1, player.getY(), player.heightLevel, -1, 0)) {
|
||||
offsetX = -1;
|
||||
} else if (Region.getClipping(player.getX() + 1, player.getY(), player.heightLevel, 1, 0)) {
|
||||
offsetX = 1;
|
||||
} else if (Region.getClipping(player.getX(), player.getY() - 1, player.heightLevel, 0, -1)) {
|
||||
offsetY = -1;
|
||||
} else if (Region.getClipping(player.getX(), player.getY() + 1, player.heightLevel, 0, 1)) {
|
||||
offsetY = 1;
|
||||
}
|
||||
GameEngine.npcHandler.spawnNpc3(player, summonItemId(itemId), player.absX+offsetX, player.absY+offsetY, player.heightLevel, 0, 120, 25, 200, 200, false, false, true);
|
||||
PlayerSave.saveGame(player);
|
||||
}
|
||||
|
||||
public void quickPickup(Player player, int id) {
|
||||
for (Npc i : NpcHandler.npcs) {
|
||||
if (i == null) {
|
||||
continue;
|
||||
}
|
||||
if (i.npcType == id) {
|
||||
i.absX = 0;
|
||||
i.absY = 0;
|
||||
i = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void pickUpPet(Player player, int id) {
|
||||
if (player.getItemAssistant().hasFreeSlots(1)) {
|
||||
for (Npc i : NpcHandler.npcs) {
|
||||
if (i == null) {
|
||||
continue;
|
||||
}
|
||||
if (i.npcType == id) {
|
||||
player.startAnimation(827);
|
||||
i.absX = 0;
|
||||
i.absY = 0;
|
||||
i = null;
|
||||
for (int[] element : CATS) {
|
||||
if (element[0] == id) {
|
||||
player.getItemAssistant().addItem(element[1], 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You do not have enough space in your inventory to do that.");
|
||||
}
|
||||
}
|
||||
|
||||
public void pickUpClean(Player c, int id) {
|
||||
for (int[] element : catArray) {
|
||||
if (element[0] == id) {
|
||||
c.getItemAssistant().addItem(element[1], 1);
|
||||
}
|
||||
}
|
||||
for (Npc i : NpcHandler.npcs) {
|
||||
if (i == null) {
|
||||
continue;
|
||||
}
|
||||
if (i.npcType == id) {
|
||||
i.absX = 0;
|
||||
i.absY = 0;
|
||||
}
|
||||
}
|
||||
c.hasNpc = false;
|
||||
}
|
||||
|
||||
public static int summonItemId(int itemId) {
|
||||
if (itemId == 1555) {
|
||||
return 761;
|
||||
} else if (itemId == 1556) {
|
||||
return 762;
|
||||
} else if (itemId == 1557) {
|
||||
return 763;
|
||||
} else if (itemId == 1558) {
|
||||
return 764;
|
||||
} else if (itemId == 1559) {
|
||||
return 765;
|
||||
} else if (itemId == 1560) {
|
||||
return 766;
|
||||
} else if (itemId == 1561) {
|
||||
return 768;
|
||||
} else if (itemId == 1562) {
|
||||
return 769;
|
||||
} else if (itemId == 1563) {
|
||||
return 770;
|
||||
} else if (itemId == 1564) {
|
||||
return 771;
|
||||
} else if (itemId == 1565) {
|
||||
return 772;
|
||||
} else if (itemId == 1566) {
|
||||
return 773;
|
||||
} else if (itemId == 7585) {
|
||||
return 3507;
|
||||
} else if (itemId == 7584) {
|
||||
return 3506;
|
||||
} else if (itemId == 7583) {
|
||||
return 3505;
|
||||
for (int i = 0; i < CATS.length; i++) {
|
||||
if (itemId == CATS[i][1]) {
|
||||
return CATS[i][0];
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.rebotted.event.CycleEvent;
|
||||
import com.rebotted.event.CycleEventContainer;
|
||||
import com.rebotted.event.CycleEventHandler;
|
||||
import com.rebotted.game.content.guilds.Guilds;
|
||||
import com.rebotted.game.content.minigames.Dueling;
|
||||
import com.rebotted.game.content.minigames.FightPits;
|
||||
import com.rebotted.game.content.minigames.PestControl;
|
||||
import com.rebotted.game.content.minigames.castlewars.CastleWarObjects;
|
||||
@@ -66,10 +67,10 @@ public class ObjectsActions {
|
||||
Webs.slashWeb(player, objectType, objectX, objectY);
|
||||
return;
|
||||
}
|
||||
if (player.stopPlayerPacket == true) {
|
||||
if (player.stopPlayerPacket) {
|
||||
return;
|
||||
}
|
||||
LogCutting.resetFletching(player);
|
||||
//LogCutting.resetFletching(player);
|
||||
if (player.getGnomeStrongHold().gnomeCourse(objectType)) {
|
||||
return;
|
||||
}
|
||||
@@ -907,8 +908,8 @@ public class ObjectsActions {
|
||||
|
||||
case 3015:
|
||||
case 3016:
|
||||
if (player.tutorialProgress == 7 || player.diedOnTut == true) {
|
||||
if (player.diedOnTut == true) {
|
||||
if (player.tutorialProgress == 7 || player.diedOnTut) {
|
||||
if (player.diedOnTut) {
|
||||
player.getPlayerAssistant().movePlayer(player.absX - 1,
|
||||
player.absY, 0);
|
||||
player.getPacketSender().createArrow(3078, 3084,
|
||||
@@ -1080,7 +1081,7 @@ public class ObjectsActions {
|
||||
}
|
||||
break;
|
||||
|
||||
case 9299:
|
||||
case 9299: //Lumbridge squeeze-through fence
|
||||
if (player.absX == 3240) {
|
||||
if (player.absY == 3191) {
|
||||
player.getPlayerAssistant().walkTo(0, -1);
|
||||
@@ -1117,7 +1118,7 @@ public class ObjectsActions {
|
||||
|
||||
case 3020:
|
||||
case 3021:
|
||||
if (player.diedOnTut == true && (player.getY() == 9502 || player.getY() == 9503)) {
|
||||
if (player.diedOnTut && (player.getY() == 9502 || player.getY() == 9503)) {
|
||||
player.getDialogueHandler()
|
||||
.sendStatement2(
|
||||
"You have died so now all you need to do is continue",
|
||||
@@ -1171,8 +1172,8 @@ public class ObjectsActions {
|
||||
case 3022:
|
||||
if (player.tutorialProgress >= 24
|
||||
&& (player.getY() == 9519 || player.getY() == 9518)
|
||||
|| player.diedOnTut == true) {
|
||||
if (player.diedOnTut == true) {
|
||||
|| player.diedOnTut) {
|
||||
if (player.diedOnTut) {
|
||||
player.getDialogueHandler()
|
||||
.sendStatement2("Be more careful this time",
|
||||
"now continue to kill the rat and talk to the guide.");
|
||||
@@ -1361,8 +1362,8 @@ public class ObjectsActions {
|
||||
break;
|
||||
|
||||
case 3029:
|
||||
if (player.tutorialProgress >= 14 || player.diedOnTut == true) {
|
||||
if (player.diedOnTut == true) {
|
||||
if (player.tutorialProgress >= 14 || player.diedOnTut) {
|
||||
if (player.diedOnTut) {
|
||||
player.startAnimation(828);
|
||||
player.getPlayerAssistant().movePlayer(3088, 9520, 0);
|
||||
player.getPacketSender().createArrow(3094, 9503,
|
||||
@@ -1611,12 +1612,12 @@ public class ObjectsActions {
|
||||
|
||||
// PARTY ROOM START
|
||||
case 2417: // 26193 if falador
|
||||
player.inPartyRoom = true;
|
||||
//player.inPartyRoom = true;
|
||||
PartyRoom.open(player);
|
||||
break;
|
||||
|
||||
case 2416:
|
||||
player.inPartyRoom = true;
|
||||
//player.inPartyRoom = true;
|
||||
PartyRoom.dropAll();
|
||||
break;
|
||||
|
||||
@@ -1689,7 +1690,9 @@ public class ObjectsActions {
|
||||
case 2462:
|
||||
RuneCraftingActions.handleRuneCrafting(player, objectType);
|
||||
break;
|
||||
|
||||
case 3203:
|
||||
Dueling.HandleForfeit(player);
|
||||
break;
|
||||
case 6481:
|
||||
player.getPlayerAssistant().movePlayer(3233, 9317, 0);
|
||||
break;
|
||||
@@ -1781,7 +1784,7 @@ public class ObjectsActions {
|
||||
NpcHandler.spawnNpc(player, 757, player.getX(), player.getY(), 0, 0, 50, 10, 30, 30, true, true);
|
||||
player.getPacketSender().sendMessage("You will need a stake and hammer to attack count draynor.");
|
||||
player.clickedVamp = true;
|
||||
} else if (player.vampSlayer == 3 && player.clickedVamp == true) {
|
||||
} else if (player.vampSlayer == 3 && player.clickedVamp) {
|
||||
player.getPacketSender().sendMessage("You have already spawned the vampyre.");
|
||||
return;
|
||||
} else if (player.vampSlayer > 3) {
|
||||
@@ -1820,7 +1823,7 @@ public class ObjectsActions {
|
||||
|
||||
case 2072: // crate
|
||||
if (player.getItemAssistant().playerHasItem(1963, 10)
|
||||
&& player.luthas == true) {
|
||||
&& player.luthas) {
|
||||
player.getItemAssistant().deleteItem(1963, 10);
|
||||
player.getDialogueHandler().sendStatement(
|
||||
"You pack your bananas in the crate...");
|
||||
@@ -1859,7 +1862,7 @@ public class ObjectsActions {
|
||||
case 2073: // Banana tree
|
||||
case 4754:
|
||||
if (System.currentTimeMillis() - player.waitTime > 2000) {
|
||||
if (player.luthas == true) {
|
||||
if (player.luthas) {
|
||||
player.bananas += 1;
|
||||
player.getItemAssistant().addItem(1963, 1);
|
||||
player.waitTime = System.currentTimeMillis();
|
||||
@@ -2554,11 +2557,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 +2815,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 +2860,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) {
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ public class Climbing {
|
||||
CycleEventHandler.getSingleton().addEvent(client, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
client.resetWalkingQueue();
|
||||
processClimbing(client);
|
||||
client.getPlayerAssistant().requestUpdates();
|
||||
container.stop();
|
||||
@@ -45,76 +44,92 @@ public class Climbing {
|
||||
case 9584:
|
||||
if (client.objectX == 2932 && client.objectY == 3282) {
|
||||
client.getPlayerAssistant().movePlayer(2933, 3282, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 272:
|
||||
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 1);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
|
||||
case 273:
|
||||
client.getPlayerAssistant().movePlayer(client.absX, client.absY, 0);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 245:
|
||||
if (client.objectY == 3224) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, client.absY+2, 2);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectY == 3139 || client.objectX == 2835 || client.objectX == 2963) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX+2, client.absY, 2);
|
||||
client.resetWalkingQueue();
|
||||
} else {
|
||||
client.getPlayerAssistant().movePlayer(client.absX-2, client.absY, 2);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
case 246:
|
||||
if (client.objectY == 3224) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, client.absY-2, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectY == 3139 || client.objectX == 2835 || client.objectX == 2963) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX-2, client.absY, 1);;
|
||||
client.getPlayerAssistant().movePlayer(client.absX-2, client.absY, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else {
|
||||
client.getPlayerAssistant().movePlayer(client.absX+2, client.absY, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 11888:
|
||||
if (client.absX == 2908 && client.absY == 3336) {
|
||||
climbUp(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4568:
|
||||
if (client.objectX == 2506 && client.objectY == 3640) {
|
||||
climbUp(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4569:
|
||||
if (client.objectX == 2506 && client.objectY == 3640) {
|
||||
handleLadder(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4570:
|
||||
if (client.objectX == 2506 && client.objectY == 3641) {
|
||||
climbDown(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 11889:
|
||||
if (client.absX == 2908 && client.absY == 3336) {
|
||||
handleLadder(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 11890:
|
||||
if (client.absX == 2908 && client.absY == 3336) {
|
||||
climbDown(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 9582:
|
||||
if (client.objectX == 2931 && client.objectY == 3282) {
|
||||
client.getPlayerAssistant().movePlayer(2933, 3282, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
case 1722:
|
||||
@@ -127,104 +142,140 @@ public class Climbing {
|
||||
return;
|
||||
} else if (client.absY == 3423) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3419, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
if (client.absX == 3098) {
|
||||
client.getPlayerAssistant().movePlayer(3102, 3266, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3445) {
|
||||
client.getPlayerAssistant().movePlayer(3260, 3449, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3358 && client.questPoints >= chapionsGuildRequiredQP) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3354, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3358 && client.questPoints < chapionsGuildRequiredQP) {
|
||||
client.getPacketSender().sendMessage("You need " + chapionsGuildRequiredQP + " quest points to use these stairs.");
|
||||
} else if (client.absX == 3180) {
|
||||
client.getPlayerAssistant().movePlayer(3176, client.absY, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3159) {
|
||||
client.getPlayerAssistant().movePlayer(3155, 3435, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 2661) {
|
||||
client.getPlayerAssistant().movePlayer(2665, client.absY, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3083) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3087, 2);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3298) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3294, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3472) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3476, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1723:
|
||||
if (client.absX == 3102) {
|
||||
client.getPlayerAssistant().movePlayer(3098, 3266, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3354 && client.questPoints >= chapionsGuildRequiredQP) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3358, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3358 && client.questPoints < chapionsGuildRequiredQP) {
|
||||
client.getPacketSender().sendMessage("You need " + chapionsGuildRequiredQP + " quest points to use these stairs");
|
||||
} else if (client.absY == 3449) {
|
||||
client.getPlayerAssistant().movePlayer(3259, 3445, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3155) {
|
||||
client.getPlayerAssistant().movePlayer(3159, 3435, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 2665) {
|
||||
client.getPlayerAssistant().movePlayer(2661, client.absY, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3092) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3088, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3087) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3083, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3419) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3423, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3176) {
|
||||
client.getPlayerAssistant().movePlayer(3180, client.absY, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3321) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3325, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3294) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3298, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3476) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3472, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1733:
|
||||
if (client.objectX == 2569 && client.objectY == 3122) {
|
||||
client.getPlayerAssistant().movePlayer(2569, 9525, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3186) {
|
||||
client.getPlayerAssistant().movePlayer(3190, 9834, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2603 && client.objectY == 3078) {
|
||||
client.getPlayerAssistant().feature("using this staircase");
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX != 3186) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX,
|
||||
client.absY + 6393, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1734:
|
||||
if (client.objectX == 2569 && client.objectY == 9522) {
|
||||
client.getPlayerAssistant().movePlayer(2569, 3121, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3190) {
|
||||
client.getPlayerAssistant().movePlayer(3186, 3434, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3059 && client.objectY == 9776) {
|
||||
client.getPlayerAssistant().movePlayer(3061,
|
||||
client.absY - 6400, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX != 3190) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX,
|
||||
client.absY - 6396, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1737:
|
||||
if (client.absY == 3294) {
|
||||
client.getPlayerAssistant().movePlayer(2661, 3291, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3302) {
|
||||
client.getPlayerAssistant().movePlayer(2648, 3301, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3293) {
|
||||
client.getPlayerAssistant().movePlayer(2649, 3296, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1736:
|
||||
if (client.absY == 3291) {
|
||||
client.getPlayerAssistant().movePlayer(2662, 3294, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3301) {
|
||||
client.getPlayerAssistant().movePlayer(2645, 3302, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 2649) {
|
||||
client.getPlayerAssistant().movePlayer(2648, 3293, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -232,18 +283,23 @@ public class Climbing {
|
||||
if (client.objectX == 2445 && client.objectY == 3434) {
|
||||
client.getPlayerAssistant().movePlayer(2445, 3433, 1);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2444 && client.objectY == 3414) {
|
||||
client.getPlayerAssistant().movePlayer(2445, 3416, 1);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2455 && client.objectY == 3417) {
|
||||
client.getPlayerAssistant().movePlayer(2457, 3417, 1);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2461 && client.objectY == 3416) {
|
||||
client.getPlayerAssistant().movePlayer(2460, 3417, 1);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2440 && client.objectY == 3404) {
|
||||
client.getPlayerAssistant().movePlayer(2440, 3403, 1);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -251,31 +307,38 @@ public class Climbing {
|
||||
if (client.objectX == 2445 && client.objectY == 3434) {
|
||||
client.getPlayerAssistant().movePlayer(2445, 3433, 0);
|
||||
client.startAnimation(CLIMB_DOWN);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2444 || client.objectX == 2445
|
||||
&& client.objectY == 3415) {
|
||||
client.getPlayerAssistant().movePlayer(2444, 3413, 0);
|
||||
client.startAnimation(CLIMB_DOWN);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2456 && client.objectY == 3417) {
|
||||
client.getPlayerAssistant().movePlayer(2457, 3417, 0);
|
||||
client.startAnimation(CLIMB_DOWN);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2461 && client.objectY == 3417) {
|
||||
client.getPlayerAssistant().movePlayer(2460, 3417, 0);
|
||||
client.startAnimation(CLIMB_DOWN);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2440 && client.objectY == 3404) {
|
||||
client.getPlayerAssistant().movePlayer(2440, 3403, 0);
|
||||
client.startAnimation(CLIMB_DOWN);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
case 7257:
|
||||
client.getPlayerAssistant().movePlayer(3044, 4973, 1);
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 6279:
|
||||
if (client.getItemAssistant().playerHasItem(954, 1)) {
|
||||
client.getPlayerAssistant().movePlayer(3206, 9379, 0);
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.resetWalkingQueue();
|
||||
} else {
|
||||
client.getPacketSender().sendMessage(
|
||||
"You need a rope to enter.");
|
||||
@@ -285,20 +348,24 @@ public class Climbing {
|
||||
|
||||
case 6436:
|
||||
UseOther.useUp(client, client.objectId);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 6434:
|
||||
case 5167:
|
||||
UseOther.useDown(client, client.objectId);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 1767:
|
||||
if (client.objectX == 3069 && client.objectY == 3856) {
|
||||
UseOther.useDown(client, client.objectId);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
case 6439:
|
||||
client.getPlayerAssistant().movePlayer(3309, 2963, 0);
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 2408:
|
||||
@@ -311,97 +378,130 @@ public class Climbing {
|
||||
client.getPlayerAssistant().movePlayer(2823, 9771, 0);
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 2147:
|
||||
client.getPlayerAssistant().movePlayer(3104, 9576, 0);
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 2148:
|
||||
client.getPlayerAssistant().movePlayer(3103, 3162, 0);
|
||||
client.startAnimation(828);
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 4383:
|
||||
client.getPlayerAssistant().movePlayer(2515, 10007, 0);
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 5131:
|
||||
client.getPlayerAssistant().movePlayer(3549, 9865, 0);
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 5130:
|
||||
client.getPlayerAssistant().movePlayer(3543, 3463, 0);
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 4413:
|
||||
client.getPlayerAssistant().movePlayer(2510, 3644, 0);
|
||||
client.startAnimation(828);
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 3432:
|
||||
client.getPlayerAssistant().movePlayer(3440, 9887, 0);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
case 1738:
|
||||
if (client.objectX == 2728 && client.objectY == 3460
|
||||
&& client.heightLevel == 0) {
|
||||
client.getPlayerAssistant().movePlayer(2749, 3462, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2746 && client.objectY == 3460
|
||||
&& client.heightLevel == 0) {
|
||||
client.getPlayerAssistant().movePlayer(2745, 3461, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2648 && client.objectY == 3310) {
|
||||
Climbing.climbUp(client);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2673 && client.objectY == 3300) {
|
||||
client.getPlayerAssistant().movePlayer(2675, 3300, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3204 && client.objectY == 3207) {
|
||||
client.getPlayerAssistant().movePlayer(3205, 3209, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3204 && client.objectY == 3229) {
|
||||
client.getPlayerAssistant().movePlayer(3205, 3228, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3258 && client.objectY == 3487) {
|
||||
client.getPlayerAssistant().movePlayer(3257, 3487, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3144 && client.objectY == 3447 && client.playerLevel[client.playerCooking] > 31 && client.playerEquipment[client.playerHat] == 1949) {
|
||||
client.getPlayerAssistant().movePlayer(3143, 3448, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3010 && client.objectY == 3515) {
|
||||
client.getPlayerAssistant().movePlayer(3012, 3515, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2895 && client.objectY == 3513) {
|
||||
client.getPlayerAssistant().movePlayer(2897, 3513, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
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);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3097 && client.objectY == 9867) {
|
||||
client.getPlayerAssistant().movePlayer(3096, 3468, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3237 && client.objectY == 9858) {
|
||||
client.getPlayerAssistant().movePlayer(3238, 3458, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3088 && client.objectY == 9971) {
|
||||
UseOther.useUp(client, client.objectId);
|
||||
client.resetWalkingQueue();
|
||||
// client.startAnimation(CLIMB_UP);
|
||||
} else if (client.objectX == 3209 && client.objectY == 9616) {
|
||||
// OtherObjects.useUp(client, client.objectId);
|
||||
client.getPlayerAssistant().movePlayer(3209, 3215, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
} else if (client.objectX == 3019 && client.objectY == 9740) {// noord
|
||||
client.getPlayerAssistant().movePlayer(3019, 3341, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3020 && client.objectY == 9739) {// oost
|
||||
client.getPlayerAssistant().movePlayer(3021, 3339, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3018 && client.objectY == 9739) {// wst
|
||||
client.getPlayerAssistant().movePlayer(3017, 3339, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 3019 && client.objectY == 9738) {// zuid
|
||||
client.getPlayerAssistant().movePlayer(3019, 3337, 0);
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else {
|
||||
UseOther.useUp(client, client.objectId);
|
||||
}
|
||||
@@ -409,6 +509,7 @@ public class Climbing {
|
||||
|
||||
case 2405:
|
||||
UseOther.useUp(client, client.objectId);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 98:
|
||||
@@ -417,9 +518,11 @@ public class Climbing {
|
||||
}
|
||||
if (!LightSources.playerHasLightSource(client)) {
|
||||
client.getPlayerAssistant().movePlayer(2641, 9740, 0);
|
||||
client.resetWalkingQueue();
|
||||
return;
|
||||
} else if (LightSources.playerHasLightSource(client)) {
|
||||
client.getPlayerAssistant().movePlayer(2641, 9764, 0);
|
||||
client.resetWalkingQueue();
|
||||
return;
|
||||
}
|
||||
break;
|
||||
@@ -430,23 +533,27 @@ public class Climbing {
|
||||
}
|
||||
LightSources.brightness3(client);
|
||||
client.getPlayerAssistant().movePlayer(2649, 9804, 0);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 2711:
|
||||
if (client.absY == 3325) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3321, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4755:
|
||||
if (client.absY == 2797) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 2793, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4756:
|
||||
if (client.absY == 2793) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 2797, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -456,6 +563,7 @@ public class Climbing {
|
||||
"You go down the trapdoor.");
|
||||
client.startAnimation(827);
|
||||
client.getPacketSender().closeAllWindows();
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 5492:
|
||||
@@ -477,6 +585,7 @@ public class Climbing {
|
||||
client.getPlayerAssistant().addSkillXP(.5,
|
||||
client.playerThieving);
|
||||
client.getPacketSender().closeAllWindows();
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.getItemAssistant().playerHasItem(1523, 1)
|
||||
&& Misc.random(4) > 3) {
|
||||
client.getPacketSender().sendMessage(
|
||||
@@ -510,41 +619,52 @@ public class Climbing {
|
||||
case 11724:
|
||||
if (client.absX == 2971) {
|
||||
client.getPlayerAssistant().movePlayer(2968, 3348, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 11725:
|
||||
if (client.absY == 3348) {
|
||||
client.getPlayerAssistant().movePlayer(2971, 3347, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 1725:
|
||||
if (client.absY == 3376) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3380, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3285 || client.absX == 3286 && client.heightLevel == 0) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3492, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3509) {
|
||||
client.getPlayerAssistant().movePlayer(2751, 3513, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3226) {
|
||||
client.getPlayerAssistant().movePlayer(3230, 3394, 1);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 5096:
|
||||
client.getPlayerAssistant().movePlayer(2649, 9591, 0);
|
||||
client.resetWalkingQueue();
|
||||
break;
|
||||
|
||||
case 1726:
|
||||
if (client.absY == 3380 ) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3376, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absY == 3513) {
|
||||
client.getPlayerAssistant().movePlayer(2751, 3509, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3230) {
|
||||
client.getPlayerAssistant().movePlayer(3226, 3394, 0);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.absX == 3285 || client.absX == 3286
|
||||
&& client.heightLevel == 1) {
|
||||
client.getPlayerAssistant().movePlayer(client.absX, 3496, 0);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -553,6 +673,7 @@ public class Climbing {
|
||||
|| client.absY == 3340 || client.absY == 3341
|
||||
|| client.absY == 3342) {
|
||||
climbUp(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -561,16 +682,20 @@ public class Climbing {
|
||||
|| client.absY == 3340 || client.absY == 3341
|
||||
|| client.absY == 3342) {
|
||||
climbDown(client);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
case 11729:
|
||||
if (client.objectX == 2954 && client.objectY == 3338) {
|
||||
client.getPlayerAssistant().movePlayer(2956, 3338, 1);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2960 && client.objectY == 3338) {
|
||||
client.getPlayerAssistant().movePlayer(2959, 3339, 2);
|
||||
client.resetWalkingQueue();
|
||||
} else if (client.objectX == 2957 && client.objectY == 3338) {
|
||||
client.getPlayerAssistant().movePlayer(2959, 3338, 3);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -636,6 +761,7 @@ public class Climbing {
|
||||
if (client.objectX == 3077 && client.objectY == 3493) {
|
||||
client.getPlayerAssistant().movePlayer(3077, 9893, 0);
|
||||
client.startAnimation(827);
|
||||
client.resetWalkingQueue();
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
}
|
||||
break;
|
||||
@@ -644,6 +770,7 @@ public class Climbing {
|
||||
if (client.objectX == 3076 && client.objectY == 9893) {
|
||||
client.getPlayerAssistant().movePlayer(3078, 3493, 0);
|
||||
client.startAnimation(828);
|
||||
client.resetWalkingQueue();
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
}
|
||||
break;
|
||||
@@ -661,6 +788,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb up.");
|
||||
player.startAnimation(CLIMB_UP);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
case 0:
|
||||
@@ -668,6 +796,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb up.");
|
||||
player.startAnimation(CLIMB_UP);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
case 1:
|
||||
@@ -675,6 +804,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb up.");
|
||||
player.startAnimation(CLIMB_UP);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
case 2:
|
||||
@@ -682,11 +812,13 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb up.");
|
||||
player.startAnimation(CLIMB_UP);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
default:
|
||||
if (player.heightLevel > 3) {
|
||||
climbDown(player);
|
||||
player.resetWalkingQueue();
|
||||
}
|
||||
player.getPacketSender().sendMessage("This object is currently not supported.");
|
||||
System.out.println("Bug detected with climbing up object " + player.objectId + " objectX " + player.objectX + " objectY " + player.objectY + ".");
|
||||
@@ -703,6 +835,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb down.");
|
||||
player.startAnimation(CLIMB_DOWN);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
}
|
||||
switch (player.heightLevel) {
|
||||
@@ -711,6 +844,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb down.");
|
||||
player.startAnimation(CLIMB_DOWN);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
case 2:
|
||||
@@ -718,6 +852,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb down.");
|
||||
player.startAnimation(CLIMB_DOWN);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
case 3:
|
||||
@@ -725,6 +860,7 @@ public class Climbing {
|
||||
player.climbDelay = System.currentTimeMillis();
|
||||
player.getPacketSender().sendMessage("You climb down.");
|
||||
player.startAnimation(CLIMB_DOWN);
|
||||
player.resetWalkingQueue();
|
||||
player.getPacketSender().closeAllWindows();
|
||||
break;
|
||||
default:
|
||||
@@ -746,9 +882,11 @@ public class Climbing {
|
||||
if (actionButtonId == 9157) {
|
||||
client.getPacketSender().sendMessage("You climb up.");
|
||||
client.startAnimation(CLIMB_UP);
|
||||
client.resetWalkingQueue();
|
||||
} else if (actionButtonId == 9158) {
|
||||
client.getPacketSender().sendMessage("You climb down.");
|
||||
client.startAnimation(827);
|
||||
client.resetWalkingQueue();
|
||||
}
|
||||
client.getPacketSender().closeAllWindows();
|
||||
client.nextChat = 0;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.rebotted.game.players;
|
||||
|
||||
/**
|
||||
* Easy access to common interface IDs
|
||||
*/
|
||||
public class MainFrameIDs {
|
||||
public static final int DEPOSIT_BOX = 4465;
|
||||
public static final int BANK = 5292; //Might be incorrect!!
|
||||
}
|
||||
@@ -121,7 +121,7 @@ public abstract class Player {
|
||||
private final ObjectManager objectManager = new ObjectManager();
|
||||
public ArrayList<GameItem> fishingTrawlerReward = new ArrayList<GameItem>();
|
||||
private final RangersGuild rangersGuild = new RangersGuild(this);
|
||||
private GlassBlowing glassBlowing = new GlassBlowing(this);
|
||||
private GlassBlowing glassBlowing = new GlassBlowing(this);
|
||||
private Barrows barrows = new Barrows(this);
|
||||
private Mining mining = new Mining();
|
||||
private ChallengePlayer challengePlayer = new ChallengePlayer();
|
||||
@@ -130,6 +130,7 @@ public abstract class Player {
|
||||
private GateHandler gateHandler = new GateHandler();
|
||||
private SingleGates singleGates = new SingleGates();
|
||||
private DoubleGates doubleGates = new DoubleGates();
|
||||
public int lastMainFrameInterface = -1; //Possibly used in future to prevent packet exploits
|
||||
|
||||
public SingleGates getSingleGates() {
|
||||
return singleGates;
|
||||
@@ -345,6 +346,8 @@ public abstract class Player {
|
||||
|
||||
public int totalShopItems;
|
||||
|
||||
public boolean isSnowy;
|
||||
|
||||
public void startCurrentTask(int ticksBetweenExecution, CycleEvent event) {
|
||||
endCurrentTask();
|
||||
currentTask = CycleEventHandler.getSingleton().addEvent(this, event, ticksBetweenExecution);
|
||||
@@ -508,8 +511,8 @@ public abstract class Player {
|
||||
PestControl.leaveWaitingBoat(this);
|
||||
getPlayerAssistant().movePlayer(2657, 2639, 0);
|
||||
}
|
||||
if (hasNpc == true) {
|
||||
getSummon().pickUpClean(this, summonId);
|
||||
if (hasNpc) {
|
||||
getSummon().pickUpPet(this, summonId);
|
||||
}
|
||||
|
||||
if(GameEngine.ersSecret != null && !GameEngine.ersSecret.equals("") && this.playerRights < 2) {
|
||||
@@ -587,7 +590,7 @@ public abstract class Player {
|
||||
PestControl.leaveWaitingBoat(this);
|
||||
getPlayerAssistant().movePlayer(2657, 2639, 0);
|
||||
}
|
||||
if(!forceLogout && (underAttackBy > 0 || underAttackBy2 > 0)) {
|
||||
if(!forceLogout && (underAttackBy > 0 || underAttackBy2 > 0) || duelStatus == 5) {
|
||||
getPacketSender().sendMessage("You can't logout during combat!");
|
||||
return;
|
||||
}
|
||||
@@ -596,8 +599,8 @@ public abstract class Player {
|
||||
lastY = absY;
|
||||
lastH = heightLevel;
|
||||
CycleEventHandler.getSingleton().stopEvents(this);
|
||||
if (hasNpc == true) {
|
||||
getSummon().pickUpClean(this, summonId);
|
||||
if (hasNpc) {
|
||||
getSummon().pickUpPet(this, summonId);
|
||||
}
|
||||
if (forceLogout || System.currentTimeMillis() - logoutDelay > 2500) {
|
||||
if (!isBot)
|
||||
@@ -655,6 +658,7 @@ public abstract class Player {
|
||||
int modY = absY > 6400 ? absY - 6400 : absY;
|
||||
wildLevel = (modY - 3520) / 8 + 1;
|
||||
getPacketSender().walkableInterface(197);
|
||||
isSnowy = false;
|
||||
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
|
||||
if (inMulti()) {
|
||||
getPacketSender().sendFrame126("@yel@Level: " + wildLevel,
|
||||
@@ -670,6 +674,7 @@ public abstract class Player {
|
||||
getPacketSender().showOption(3, 0, "Attack", 1);
|
||||
} else if (inDuelArena()) {
|
||||
getPacketSender().walkableInterface(201);
|
||||
isSnowy = false;
|
||||
if (duelStatus == 5) {
|
||||
getPacketSender().showOption(3, 0, "Attack", 1);
|
||||
} else {
|
||||
@@ -679,14 +684,19 @@ public abstract class Player {
|
||||
getPacketSender().showOption(3, 0, "Null", 1);
|
||||
} else if(GameEngine.trawler.players.contains(this)) {
|
||||
getPacketSender().walkableInterface(11908);
|
||||
isSnowy = false;
|
||||
} else if (isInBarrows() || isInBarrows2()) {
|
||||
getPacketSender().sendFrame126("Kill Count: " + barrowsKillCount, 4536);
|
||||
getPacketSender().walkableInterface(4535);
|
||||
isSnowy = false;
|
||||
} else if (inCw() || inPits) {
|
||||
getPacketSender().showOption(3, 0, "Attack", 1);
|
||||
} else {
|
||||
getPacketSender().sendMapState(0);
|
||||
getPacketSender().walkableInterface(-1);
|
||||
if (!isSnowy)
|
||||
{
|
||||
getPacketSender().walkableInterface(-1);
|
||||
}
|
||||
getPacketSender().showOption(3, 0, "Null", 1);
|
||||
}
|
||||
}
|
||||
@@ -724,7 +734,6 @@ public abstract class Player {
|
||||
}
|
||||
|
||||
public void process() {
|
||||
|
||||
if (playerEnergy < 100 && System.currentTimeMillis() - lastIncrease >= getPlayerAssistant().raiseTimer()) {
|
||||
playerEnergy += 1;
|
||||
lastIncrease = System.currentTimeMillis();
|
||||
@@ -960,6 +969,8 @@ public abstract class Player {
|
||||
|
||||
public int soundVolume = 10;
|
||||
|
||||
public boolean soundDone;
|
||||
|
||||
/**
|
||||
* Outputs a send packet which is built from the data params provided
|
||||
* towards a connected user client channel.
|
||||
@@ -1178,6 +1189,8 @@ public abstract class Player {
|
||||
|
||||
public boolean lostCannon = false, refresh = false, isBot = false;
|
||||
|
||||
public int CannonSetupStage;
|
||||
|
||||
public ArrayList<String> killedPlayers = new ArrayList<String>();
|
||||
public ArrayList<Integer> attackedPlayers = new ArrayList<Integer>();
|
||||
public ArrayList<String> lastKilledPlayers = new ArrayList<String>();
|
||||
@@ -1257,7 +1270,7 @@ public abstract class Player {
|
||||
lastPinSettings = -1, setPinDate = -1, changePinDate = -1,
|
||||
deletePinDate = -1, firstPin, secondPin, thirdPin, fourthPin,
|
||||
bankPin1, bankPin2, bankPin3, bankPin4, pinDeleteDateRequested,
|
||||
rememberNpcIndex, lastLoginDate, selectedSkill, newHerb,
|
||||
rememberNpcIndex, ratsCaught, lastLoginDate, selectedSkill, newHerb,
|
||||
newItem, newXp, doingHerb, herbAmount, treeX, treeY, lastH,
|
||||
cookingItem, cookingObject, summonId, npcId2 = 0, leatherType = -1,
|
||||
weightCarried, teleotherType, rockX, rockY, itemUsing, tzKekTimer,
|
||||
@@ -1693,7 +1706,15 @@ public abstract class Player {
|
||||
|| absX >= 2371 && absX <= 2422 && absY >= 5062 && absY <= 5117
|
||||
|| absX >= 2896 && absX <= 2927 && absY >= 3595 && absY <= 3630
|
||||
|| absX >= 2892 && absX <= 2932 && absY >= 4435 && absY <= 4464
|
||||
|| absX >= 2256 && absX <= 2287 && absY >= 4680 && absY <= 4711) {
|
||||
|| absX >= 2256 && absX <= 2287 && absY >= 4680 && absY <= 4711
|
||||
|| inKqArea()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean inKqArea() {
|
||||
if (absX >= 3467 && absX <= 3506 && absY >= 9477 && absY <= 9513) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1704,6 +1725,12 @@ public abstract class Player {
|
||||
return true;
|
||||
}
|
||||
if (absX > 2941 && absX < 3392 && absY > 3518 && absY < 3966 || absX > 2941 && absX < 3392 && absY > 9918 && absY < 10366) {
|
||||
if (!WildernessWarning) {
|
||||
resetWalkingQueue();
|
||||
WildernessWarning = true;
|
||||
getPacketSender().sendFrame126("WARNING!", 6940);
|
||||
getPacketSender().showInterface(1908);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1742,6 +1769,8 @@ public abstract class Player {
|
||||
isInArea(2530,4725,2550,4705) || //Phasmatys
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -2034,7 +2063,7 @@ public abstract class Player {
|
||||
if (heightLevel != npc.heightLevel) {
|
||||
return false;
|
||||
}
|
||||
if (npc.needRespawn == true) {
|
||||
if (npc.needRespawn) {
|
||||
return false;
|
||||
}
|
||||
int deltaX = npc.absX - absX, deltaY = npc.absY - absY;
|
||||
@@ -3093,6 +3122,7 @@ public abstract class Player {
|
||||
int difference = playerLevel[3] - damage;
|
||||
if (difference <= getLevelForXP(playerXP[3]) / 10 && difference > 0)
|
||||
appendRedemption();
|
||||
getPlayerAssistant().handleROL();
|
||||
} else {
|
||||
if (hitUpdateRequired) {
|
||||
hitUpdateRequired = false;
|
||||
|
||||
@@ -37,6 +37,19 @@ public class PlayerAssistant {
|
||||
this.player = player2;
|
||||
}
|
||||
|
||||
public boolean savePlayer() {
|
||||
return (player.wildLevel < 20 && player.playerEquipment[GameConstants.RING] == 2570 && player.playerLevel[3] > 0 && player.playerLevel[3] <= player.getLevelForXP(player.playerXP[3]) / 10 && player.underAttackBy > 0);
|
||||
}
|
||||
|
||||
public void handleROL() {
|
||||
if (!savePlayer()) {
|
||||
return;
|
||||
}
|
||||
player.getItemAssistant().deleteEquipment(2570, GameConstants.RING);
|
||||
player.getPlayerAssistant().startTeleport(3222, 3218, 0, "modern");
|
||||
player.getPacketSender().sendMessage("Your ring of life saves you.");
|
||||
}
|
||||
|
||||
public void objectAnim(int X, int Y, int animationID, int tileObjectType, int orientation) {
|
||||
for (Player p : PlayerHandler.players) {
|
||||
if(p != null) {
|
||||
@@ -688,13 +701,18 @@ public class PlayerAssistant {
|
||||
1708, 1710, 1712, 8007, 8008, 8009, 8010, 8011 };
|
||||
for (int cwitem : cwitems) {
|
||||
if (player.inCw() || player.inCw() && player.getItemAssistant().playerHasItem(cwitem)) {
|
||||
player.getPacketSender().sendMessage("You can't teleport from castle wars!");
|
||||
player.getPacketSender().sendMessage("You can't teleport from castle wars.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (player.inTrade) {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You can't teleport while in trade!");
|
||||
"You can't teleport while in trade.");
|
||||
return;
|
||||
}
|
||||
if (player.duelStatus == 5) {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You can't do that in a duel.");
|
||||
return;
|
||||
}
|
||||
if (!SkillHandler.MAGIC) {
|
||||
@@ -724,7 +742,7 @@ public class PlayerAssistant {
|
||||
if (player.playerIndex > 0 || player.npcIndex > 0) {
|
||||
player.getCombatAssistant().resetPlayerAttack();
|
||||
}
|
||||
if (player.clickedTree == true) {
|
||||
if (player.clickedTree) {
|
||||
player.clickedTree = false;
|
||||
}
|
||||
player.stopMovement();
|
||||
@@ -1437,13 +1455,13 @@ public class PlayerAssistant {
|
||||
GameLogger.writeLog(player.playerName, "duelingkilled", player.playerName + " was killed by " + duelOpponent.playerName + " in the duel arena.");
|
||||
}
|
||||
}
|
||||
if (player.vampSlayer == 3 && player.clickedVamp == true) {
|
||||
if (player.vampSlayer == 3 && player.clickedVamp) {
|
||||
player.clickedVamp = false;
|
||||
} else if (player.isWoodcutting) {
|
||||
player.isWoodcutting = false;
|
||||
} else if (player.playerSkilling[10]) {
|
||||
player.playerSkilling[10] = false;
|
||||
} else if(player.clickedTree == true) {
|
||||
} else if(player.clickedTree) {
|
||||
player.clickedTree = false;
|
||||
}
|
||||
resetDamageDone();
|
||||
@@ -2001,10 +2019,9 @@ public class PlayerAssistant {
|
||||
player.getPlayerAssistant().addStarter();
|
||||
player.getPlayerAssistant().movePlayer(3233, 3229, 0);
|
||||
player.getPacketSender().sendMessage("Welcome to @blu@" + GameConstants.SERVER_NAME + "@bla@ - we are currently in Server Stage v@blu@" + GameConstants.TEST_VERSION + "@bla@.");
|
||||
player.getPacketSender().sendMessage("@red@Did you know?@bla@ We're open source! Pull requests are welcome");
|
||||
player.getPacketSender().sendMessage("Source code at github.com/dginovker/2006rebotted");
|
||||
player.getPacketSender().sendMessage("Welcome to the Beta! A reset will occur before main release -");
|
||||
player.getPacketSender().sendMessage("Join our Discord: discord.gg/4zrA2Wy");
|
||||
player.getPacketSender().sendMessage("@red@Did you know?@bla@ We're open source and pull requests are welcome!");
|
||||
player.getPacketSender().sendMessage("Source code: github.com/dginovker/2006rebotted");
|
||||
player.getPacketSender().sendMessage("Discord: discord.gg/4zrA2Wy");
|
||||
player.getDialogueHandler().sendDialogues(3115, 2224);
|
||||
player.isRunning2 = false;
|
||||
player.autoRet = 1;
|
||||
@@ -2062,6 +2079,9 @@ public class PlayerAssistant {
|
||||
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[skill]) + "", data.get().getFrame5());
|
||||
player.getPacketSender().sendFrame126("" + player.playerXP[skill] + "", data.get().getFrame6());
|
||||
player.getPacketSender().sendFrame126("" + getXPForLevel(getLevelForXP(player.playerXP[skill]) + 1) + "", data.get().getFrame7());
|
||||
if (skill == 5) {
|
||||
player.getPacketSender().sendFrame126("" + player.playerLevel[5] + "/" + getLevelForXP(player.playerXP[5]) + "", 687);// Prayer
|
||||
}
|
||||
}
|
||||
|
||||
public int getXPForLevel(int level) {
|
||||
@@ -2102,7 +2122,7 @@ public class PlayerAssistant {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (player.tutorialProgress < 36 && player.playerLevel[skill] == 3 && GameConstants.TUTORIAL_ISLAND == true) {
|
||||
if (player.tutorialProgress < 36 && player.playerLevel[skill] == 3 && GameConstants.TUTORIAL_ISLAND) {
|
||||
return false;
|
||||
}
|
||||
amount *= GameConstants.XP_RATE;
|
||||
@@ -2159,7 +2179,7 @@ public class PlayerAssistant {
|
||||
return false;
|
||||
}
|
||||
if (player.tutorialProgress < 36 && player.playerLevel[skill] == 3
|
||||
&& GameConstants.TUTORIAL_ISLAND == true) {
|
||||
&& GameConstants.TUTORIAL_ISLAND) {
|
||||
return false;
|
||||
}
|
||||
amount *= GameConstants.XP_RATE;
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.rebotted.world.GlobalDropsHandler;
|
||||
public class PlayerHandler {
|
||||
|
||||
public static Player players[] = new Player[GameConstants.MAX_PLAYERS];
|
||||
public static int playerCount = 0, playerBotCount = 0;
|
||||
public static int playerCount = 0, playerShopCount = 0;
|
||||
public static String playersCurrentlyOn[] = new String[GameConstants.MAX_PLAYERS];
|
||||
public static boolean updateAnnounced;
|
||||
public static boolean updateRunning;
|
||||
@@ -54,18 +54,18 @@ public class PlayerHandler {
|
||||
return playerCount;
|
||||
}
|
||||
|
||||
public static int getPlayerBotCount() {
|
||||
return playerBotCount;
|
||||
public static int getPlayerShopCount() {
|
||||
return playerShopCount;
|
||||
}
|
||||
|
||||
public void updatePlayerNames() {
|
||||
playerBotCount = 0;
|
||||
playerShopCount = 0;
|
||||
playerCount = 0;
|
||||
for (int i = 0; i < GameConstants.MAX_PLAYERS; i++) {
|
||||
if (players[i] != null) {
|
||||
playersCurrentlyOn[i] = players[i].playerName;
|
||||
if (players[i].isBot)
|
||||
playerBotCount++;
|
||||
playerShopCount++;
|
||||
else
|
||||
playerCount++;
|
||||
} else {
|
||||
@@ -106,6 +106,10 @@ public class PlayerHandler {
|
||||
players[i].disconnected = true;
|
||||
}
|
||||
}
|
||||
if (updateRunning) //If there's an update intended, and that's why we kicked everyone:
|
||||
{
|
||||
GameEngine.shutdownServer = true;
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < PlayerHandler.players.length; i++) {
|
||||
if (players[i] == null || !players[i].isActive) {
|
||||
@@ -137,8 +141,8 @@ public class PlayerHandler {
|
||||
players[i].lastX = players[i].absX;
|
||||
players[i].lastY = players[i].absY;
|
||||
players[i].lastH = players[i].heightLevel;
|
||||
if (players[i].hasNpc == true) {
|
||||
t.getSummon().pickUpClean(t, players[i].summonId);
|
||||
if (players[i].hasNpc) {
|
||||
t.getSummon().quickPickup(t, players[i].summonId);
|
||||
}
|
||||
if (players[i].duelStatus == 5) {
|
||||
Client o = (Client) PlayerHandler.players[players[i].duelingWith];
|
||||
@@ -208,8 +212,8 @@ public class PlayerHandler {
|
||||
players[i].lastX = players[i].absX;
|
||||
players[i].lastY = players[i].absY;
|
||||
players[i].lastH = players[i].heightLevel;
|
||||
if (players[i].hasNpc == true) {
|
||||
t.getSummon().pickUpClean(t, players[i].summonId);
|
||||
if (players[i].hasNpc) {
|
||||
t.getSummon().quickPickup(t, players[i].summonId);
|
||||
}
|
||||
if (players[i].duelStatus == 5) {
|
||||
Client o1 = (Client) PlayerHandler.players[players[i].duelingWith];
|
||||
@@ -278,7 +282,7 @@ public class PlayerHandler {
|
||||
int size = plr.npcListSize;
|
||||
plr.npcListSize = 0;
|
||||
for (int i = 0; i < size; i++) {
|
||||
if (plr.rebuildNPCList == false && plr.withinDistance(plr.npcList[i]) == true) {
|
||||
if (plr.rebuildNPCList == false && plr.withinDistance(plr.npcList[i])) {
|
||||
plr.npcList[i].updateNPCMovement(str);
|
||||
plr.npcList[i].appendNPCUpdateBlock(updateBlock);
|
||||
plr.npcList[plr.npcListSize++] = plr.npcList[i];
|
||||
|
||||
@@ -100,6 +100,9 @@ public class PlayerSave {
|
||||
case "myBalls":
|
||||
player.getCannon().myBalls = Integer.parseInt(token2);
|
||||
break;
|
||||
case "ratsCaught":
|
||||
player.ratsCaught = Integer.parseInt(token2);
|
||||
break;
|
||||
case "cannonX":
|
||||
player.cannonX = Integer.parseInt(token2);
|
||||
break;
|
||||
@@ -576,6 +579,8 @@ public class PlayerSave {
|
||||
characterfile.newLine();
|
||||
characterfile.write("lostCannon = " + player.lostCannon);
|
||||
characterfile.newLine();
|
||||
characterfile.write("ratsCaught = " + player.ratsCaught);
|
||||
characterfile.newLine();
|
||||
characterfile.write("cannonX = " + player.cannonX);
|
||||
characterfile.newLine();
|
||||
characterfile.write("cannonY = " + player.cannonY);
|
||||
|
||||
@@ -51,20 +51,20 @@ public class Trading {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.inTrade && o.tradeRequested && o.tradeWith == player.playerId && player.playerIsBusy() == false && o.playerIsBusy() == false) { //start trading process
|
||||
if (!player.inTrade && o.tradeRequested && o.tradeWith == player.playerId && !player.playerIsBusy() && !o.playerIsBusy() ) { //start trading process
|
||||
if (!isCloseTo(o)) {
|
||||
player.getPacketSender().sendMessage("Player is not close enough. Retry when you are closer...");
|
||||
} else {
|
||||
player.getTrading().openTrade();
|
||||
o.getTrading().openTrade();
|
||||
}
|
||||
} else if (!player.inTrade && player.playerIsBusy() == false && o.playerIsBusy() == false) { //send trade request
|
||||
} else if (!player.inTrade && !player.playerIsBusy() && !o.playerIsBusy()) { //send trade request
|
||||
//Problem = sends the request then walk to player. Solution= change processing order. Fix= Send message when trying to open the trade interface if the other player isn't closer than 3 tiles.
|
||||
player.tradeRequested = true;
|
||||
player.getPacketSender().sendMessage("Sending trade request...");
|
||||
o.getPacketSender()
|
||||
.sendMessage(player.playerName + ":tradereq:");
|
||||
} else if (player.playerIsBusy() == true || o.playerIsBusy() == true) {
|
||||
} else if (player.playerIsBusy()|| o.playerIsBusy()) {
|
||||
player.getPacketSender().sendMessage("Other player is busy at the moment.");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ShopAssistant {
|
||||
public void updatePlayerShop() {
|
||||
for (int i = 0; i < PlayerHandler.players.length; i++) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].isShopping == true
|
||||
if (PlayerHandler.players[i].isShopping
|
||||
&& PlayerHandler.players[i].shopId == player.shopId
|
||||
&& i != player.playerId) {
|
||||
PlayerHandler.players[i].updateShop = true;
|
||||
@@ -276,32 +276,32 @@ public class ShopAssistant {
|
||||
String itemName = ItemAssistant.getItemName(unNotedItemID);
|
||||
for (int i : GameConstants.ITEM_SELLABLE) {
|
||||
if (unNotedItemID == i) {
|
||||
player.getPacketSender().sendMessage("You can't sell " + ItemAssistant.getItemName(removeId).toLowerCase() + ".");
|
||||
player.getPacketSender().sendMessage("You can't sell " + itemName + ".");
|
||||
return;
|
||||
}
|
||||
}
|
||||
boolean IsIn = false;
|
||||
boolean canSellItem = false;
|
||||
switch (ShopHandler.shopSModifier[player.shopId]) {
|
||||
// Only buys what is in stock
|
||||
case 2:
|
||||
for (int j = 0; j <= ShopHandler.shopItemsStandard[player.shopId]; j++) {
|
||||
if (unNotedItemID == (ShopHandler.shopItems[player.shopId][j] - 1)) {
|
||||
IsIn = true;
|
||||
canSellItem = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
// General store
|
||||
case 1:
|
||||
IsIn = true;
|
||||
canSellItem = true;
|
||||
break;
|
||||
// Player owns this store
|
||||
case 0:
|
||||
IsIn = ShopHandler.playerOwnsStore(player.shopId, player);
|
||||
canSellItem = ShopHandler.playerOwnsStore(player.shopId, player);
|
||||
break;
|
||||
}
|
||||
|
||||
if (IsIn == false) {
|
||||
if (canSellItem == false) {
|
||||
player.getPacketSender().sendMessage("You can't sell " + ItemAssistant.getItemName(removeId).toLowerCase() + " to this store.");
|
||||
} else {
|
||||
int ShopValue = (int) Math.floor(getItemShopValue(unNotedItemID, 1, true));
|
||||
@@ -468,7 +468,7 @@ public class ShopAssistant {
|
||||
private static int getUnNoted(int itemID){
|
||||
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
|
||||
String ItemNameUnNotedItem = ItemAssistant.getItemName(itemID - 1).toLowerCase();
|
||||
if (itemName.contains(ItemNameUnNotedItem)) {
|
||||
if (itemName.equalsIgnoreCase(ItemNameUnNotedItem)) {
|
||||
itemID--; //Replace the noted item by it's un-noted version.
|
||||
}
|
||||
return itemID;
|
||||
@@ -477,7 +477,7 @@ public class ShopAssistant {
|
||||
private static int getNoted(int itemID){
|
||||
String itemName = ItemAssistant.getItemName(itemID).toLowerCase();
|
||||
String ItemNameUnNotedItem = ItemAssistant.getItemName(itemID + 1).toLowerCase();
|
||||
if (itemName.contains(ItemNameUnNotedItem)) {
|
||||
if (itemName.equalsIgnoreCase(ItemNameUnNotedItem)) {
|
||||
itemID++; //Replace the item by it's noted version.
|
||||
}
|
||||
return itemID;
|
||||
|
||||
@@ -16,9 +16,9 @@ public class ShopHandler {
|
||||
|
||||
public static int MAX_SHOP_ITEMS = 40;
|
||||
|
||||
public static int SHOW_DELAY = 2;
|
||||
public static int SHOW_DELAY = 1; // Restock 1 item every tick
|
||||
|
||||
public static int SPECIAL_DELAY = 60;
|
||||
public static int SPECIAL_DELAY = 60; // Remove overstocked items after 60 ticks
|
||||
|
||||
public static int totalshops = 0;
|
||||
|
||||
@@ -106,11 +106,13 @@ public class ShopHandler {
|
||||
shopItemsN[shopID][ArrayID] -= 1;
|
||||
if (shopItemsN[shopID][ArrayID] <= 0) {
|
||||
shopItemsN[shopID][ArrayID] = 0;
|
||||
ResetItem(shopID, ArrayID);
|
||||
if (shopItemsStandard[shopID] <= ArrayID)
|
||||
ResetItem(shopID, ArrayID);
|
||||
}
|
||||
}
|
||||
|
||||
private static void ResetItem(int shopID, int ArrayID) {
|
||||
if (shopItemsStandard[shopID] > ArrayID) return;
|
||||
shopItems[shopID][ArrayID] = 0;
|
||||
shopItemsN[shopID][ArrayID] = 0;
|
||||
shopItemsDelay[shopID][ArrayID] = 0;
|
||||
@@ -143,19 +145,19 @@ public class ShopHandler {
|
||||
token = line.substring(0, spot);
|
||||
token = token.trim();
|
||||
token2 = line.substring(spot + 1);
|
||||
token2 = token2.trim();
|
||||
token2_2 = token2.replaceAll("\t+", "\t");
|
||||
token3 = token2_2.split("\t");
|
||||
token3 = token2.trim().split("\t+");
|
||||
if (token.equals("shop")) {
|
||||
int shopID = Integer.parseInt(token3[0]);
|
||||
shopName[shopID] = token3[1].replaceAll("_", " ");
|
||||
shopSModifier[shopID] = Integer.parseInt(token3[2]);
|
||||
shopBModifier[shopID] = Integer.parseInt(token3[3]);
|
||||
for (int i = 0; i < ((token3.length - 4) / 2); i++) {
|
||||
if (token3[(4 + (i * 2))] != null) {
|
||||
shopItems[shopID][i] = (Integer.parseInt(token3[(4 + (i * 2))]) + 1);
|
||||
shopItemsN[shopID][i] = Integer.parseInt(token3[(5 + (i * 2))]);
|
||||
shopItemsSN[shopID][i] = Integer.parseInt(token3[(5 + (i * 2))]);
|
||||
int itemID = Integer.parseInt(token3[(4 + (i * 2))]);
|
||||
int itemAmount = Integer.parseInt(token3[(5 + (i * 2))]);
|
||||
if (itemID > 0) {
|
||||
shopItems[shopID][i] = itemID + 1;
|
||||
shopItemsN[shopID][i] = itemAmount;
|
||||
shopItemsSN[shopID][i] = itemAmount;
|
||||
shopItemsStandard[shopID]++;
|
||||
} else {
|
||||
break;
|
||||
@@ -164,7 +166,7 @@ public class ShopHandler {
|
||||
totalshops++;
|
||||
}
|
||||
} else {
|
||||
if (line.equals("[ENDOFshopLIST]")) {
|
||||
if (line.equalsIgnoreCase("[ENDOFSHOPLIST]")) {
|
||||
try {
|
||||
characterfile.close();
|
||||
} catch (IOException ioexception) {
|
||||
|
||||
@@ -36,7 +36,7 @@ public class PacketBuffer {
|
||||
}
|
||||
|
||||
public PacketBuffer addBoolean(boolean val) {
|
||||
return addByte(val == true ? 1 : 0);
|
||||
return addByte(val ? 1 : 0);
|
||||
}
|
||||
|
||||
public boolean getBoolean() {
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.rebotted.game.items.ItemAssistant;
|
||||
import com.rebotted.game.items.Weight;
|
||||
import com.rebotted.game.items.impl.LightSources;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.MainFrameIDs;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerHandler;
|
||||
import com.rebotted.util.Misc;
|
||||
@@ -48,7 +49,7 @@ public class PacketSender {
|
||||
}
|
||||
player.lastLoginDate = player.getLastLogin();
|
||||
QuestAssistant.sendStages(player);
|
||||
if (player.hasNpc == true) {
|
||||
if (player.hasNpc) {
|
||||
if (player.summonId > 0) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, player.summonId, player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200, 200, true, false, true);
|
||||
}
|
||||
@@ -97,7 +98,7 @@ public class PacketSender {
|
||||
if (player.inWild()) {
|
||||
player.WildernessWarning = true;
|
||||
}
|
||||
if (player.splitChat == true) {
|
||||
if (player.splitChat) {
|
||||
player.getPacketSender().sendConfig(502, 1);
|
||||
player.getPacketSender().sendConfig(287, 1);
|
||||
} else {
|
||||
@@ -278,7 +279,7 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame126(String s, int id) {
|
||||
public PacketSender sendFrame126(String s, int id) { //Seems to be about chat messsages
|
||||
if(!player.checkPacket126Update(s, id)) {
|
||||
return this;
|
||||
}
|
||||
@@ -320,8 +321,9 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame248(int MainFrame, int SubFrame) {
|
||||
public PacketSender sendFrame248(int MainFrame, int SubFrame) { //Trade-like interfaces
|
||||
// synchronized(c) {
|
||||
player.lastMainFrameInterface = MainFrame;
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(248);
|
||||
player.getOutStream().writeWordA(MainFrame);
|
||||
@@ -331,7 +333,8 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame246(int MainFrame, int SubFrame, int SubFrame2) {
|
||||
public PacketSender sendFrame246(int MainFrame, int SubFrame, int SubFrame2) { //A lot of generic interfaces; cooking, etc
|
||||
player.lastMainFrameInterface = MainFrame;
|
||||
// synchronized(c) {
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(246);
|
||||
@@ -343,7 +346,7 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame171(int MainFrame, int SubFrame) {
|
||||
public PacketSender sendFrame171(int MainFrame, int SubFrame) { //Special attack bar?
|
||||
// synchronized(c) {
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(171);
|
||||
@@ -379,7 +382,7 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame106(int sideIcon) {
|
||||
public PacketSender sendFrame106(int sideIcon) { //Something to do with magic
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(106);
|
||||
player.getOutStream().writeByteC(sideIcon);
|
||||
@@ -389,7 +392,7 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame70(int i, int o, int id) {
|
||||
public PacketSender sendFrame70(int i, int o, int id) { //Ranging guild minigame
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(70);
|
||||
player.getOutStream().writeWord(i);
|
||||
@@ -442,7 +445,7 @@ public class PacketSender {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PacketSender sendFrame87(int id, int state) {
|
||||
public PacketSender sendFrame87(int id, int state) { //Castlewars and duel arena texts
|
||||
// synchronized(c) {
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(87);
|
||||
@@ -487,6 +490,7 @@ public class PacketSender {
|
||||
}
|
||||
|
||||
public PacketSender closeAllWindows() {
|
||||
player.lastMainFrameInterface = -1;
|
||||
if (player.getOutStream() != null && player != null) {
|
||||
player.getOutStream().createFrame(219);
|
||||
player.flushOutStream();
|
||||
@@ -594,6 +598,7 @@ public class PacketSender {
|
||||
player.getItemAssistant().resetTempItems();
|
||||
player.getOutStream().createFrame(248);
|
||||
player.getOutStream().writeWordA(5292);
|
||||
player.lastMainFrameInterface = MainFrameIDs.BANK; //Setting it to 5292, since I *think* that's what interface got opened
|
||||
player.getOutStream().writeWord(5063);
|
||||
player.flushOutStream();
|
||||
player.isBanking = true;
|
||||
@@ -794,6 +799,7 @@ public class PacketSender {
|
||||
if (player.getOutStream() == null) return this;
|
||||
player.outStream.createFrame(240);
|
||||
DecimalFormat twoDForm = new DecimalFormat("#.##");
|
||||
weight = Math.max(0, weight);
|
||||
player.outStream.writeWord(Integer.valueOf(twoDForm.format(weight)));
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -85,8 +85,6 @@ public class AttackPlayer implements PacketType {
|
||||
}
|
||||
}
|
||||
if (!canUseWeapon) {
|
||||
c.getPacketSender().sendMessage(
|
||||
"You can only use fun weapons in this duel!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -213,6 +211,13 @@ public class AttackPlayer implements PacketType {
|
||||
+ " in the wilderness.");
|
||||
break;
|
||||
}
|
||||
if (c.duelStatus == 5) {
|
||||
c.getPacketSender().sendMessage("You can't do that in a duel.");
|
||||
c.usingMagic = false;
|
||||
c.stopMovement();
|
||||
c.getCombatAssistant().resetPlayerAttack();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
switch (c.castingSpellId) {
|
||||
@@ -261,6 +266,15 @@ public class AttackPlayer implements PacketType {
|
||||
"Magic has been disabled in this duel!");
|
||||
return;
|
||||
}
|
||||
if (MagicData.MAGIC_SPELLS[c.spellId][0] == 12445)
|
||||
{
|
||||
c.getPacketSender().sendMessage(
|
||||
"You can't do that in a duel.");
|
||||
c.usingMagic = false;
|
||||
c.stopMovement();
|
||||
c.getCombatAssistant().resetPlayerAttack();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (int r = 0; r < c.REDUCE_SPELLS.length; r++) { // reducing
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.rebotted.net.packets.impl;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.game.content.random.PartyRoom;
|
||||
import com.rebotted.game.items.GameItem;
|
||||
import com.rebotted.game.items.Item;
|
||||
|
||||
@@ -4,7 +4,6 @@ import com.rebotted.GameConstants;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.content.music.Music;
|
||||
import com.rebotted.game.globalworldobjects.Doors;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.net.packets.PacketType;
|
||||
import com.rebotted.world.GlobalDropsHandler;
|
||||
|
||||
@@ -47,7 +47,7 @@ public class ClickItem implements PacketType {
|
||||
if(CastleWars.isInCw(player) && itemId == 4053) {
|
||||
player.getItemAssistant().deleteItem(4053, player.getItemAssistant().getItemSlot(4053), 1);
|
||||
//npc id, x, y, height, walk, hp, maxhit, att, def
|
||||
GameEngine.npcHandler.spawnNpc2(1532, player.absX, player.absY, player.heightLevel, 0, 200, 0, 0, 100);
|
||||
GameEngine.npcHandler.spawnNpc2(1532, player.absX, player.absY, player.heightLevel, 0, 200, 0, 0, 100, false);
|
||||
player.getPacketSender().sendMessage("You setup a barricade.");
|
||||
} else if (!CastleWars.isInCw(player) && itemId == 4053) {
|
||||
player.getPacketSender().sendMessage("You need to be in castlewars to drop a barricade.");
|
||||
@@ -72,7 +72,9 @@ public class ClickItem implements PacketType {
|
||||
return;
|
||||
}
|
||||
switch (itemId) {
|
||||
|
||||
case 4079:
|
||||
player.startAnimation(1457);
|
||||
break;
|
||||
case 407:
|
||||
if (Misc.random(1) == 0) {
|
||||
player.getItemAssistant().addItem(409, 1);
|
||||
@@ -182,25 +184,37 @@ public class ClickItem implements PacketType {
|
||||
// break;
|
||||
|
||||
case 5070:
|
||||
player.getPacketSender().sendMessage("You search the nest.");
|
||||
player.getItemAssistant().addItem(5076, 1);
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(5075, 1);
|
||||
if (player.getItemAssistant().freeSlots() >= 2) {
|
||||
player.getPacketSender().sendMessage("You search the nest.");
|
||||
player.getItemAssistant().addItem(5076, 1);
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(5075, 1);
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You do not have enough inventory space to do that.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 5071:
|
||||
if (player.getItemAssistant().freeSlots() >= 2) {
|
||||
player.getPacketSender().sendMessage("You search the nest.");
|
||||
player.getItemAssistant().addItem(5078, 1);
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(5075, 1);
|
||||
break;
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You do not have enough inventory space to do that.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 5072:
|
||||
player.getPacketSender().sendMessage("You search the nest.");
|
||||
player.getItemAssistant().addItem(5077, 1);
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(5075, 1);
|
||||
break;
|
||||
if (player.getItemAssistant().freeSlots() >= 2) {
|
||||
player.getPacketSender().sendMessage("You search the nest.");
|
||||
player.getItemAssistant().addItem(5077, 1);
|
||||
player.getItemAssistant().deleteItem(itemId, 1);
|
||||
player.getItemAssistant().addItem(5075, 1);
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You do not have enough inventory space to do that.");
|
||||
}
|
||||
break;
|
||||
|
||||
case 5073:
|
||||
player.getItemAssistant().handleTreeSeeds(itemId);
|
||||
|
||||
@@ -142,7 +142,7 @@ public class ClickObject implements PacketType {
|
||||
}
|
||||
switch (p.objectId) {
|
||||
case 1292:
|
||||
if (p.spiritTree == false && p.clickedTree == true) {
|
||||
if (p.spiritTree == false && p.clickedTree) {
|
||||
p.getPacketSender().sendMessage("You have already spawned a tree spirit.");
|
||||
return;
|
||||
}
|
||||
@@ -150,7 +150,7 @@ public class ClickObject implements PacketType {
|
||||
p.getPacketSender().sendMessage("You attempt to chop the tree, and a tree spirit appears.");
|
||||
NpcHandler.spawnNpc(p, 655, p.getX(), p.getY(), 0, 0, 225, 20, 80, 80, true, false);
|
||||
p.clickedTree = true;
|
||||
} else if (p.spiritTree == true) {
|
||||
} else if (p.spiritTree) {
|
||||
Woodcutting.startWoodcutting(p, p.objectId, p.objectX, p.objectY, p.clickObjectType);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -57,7 +57,7 @@ public class ClickingButtons implements PacketType {
|
||||
Climbing.handleLadderButtons(player, actionButtonId);
|
||||
Specials.specialClicking(player, actionButtonId);
|
||||
DialogueOptions.handleDialogueOptions(player, actionButtonId);
|
||||
if (player.musicOn == true) {
|
||||
if (player.musicOn) {
|
||||
player.getPlayList().handleButton(actionButtonId);
|
||||
}
|
||||
|
||||
@@ -253,7 +253,7 @@ public class ClickingButtons implements PacketType {
|
||||
case 34185:
|
||||
case 34193:
|
||||
case 34189:
|
||||
if (player.clickedSpinning == true) {
|
||||
if (player.clickedSpinning) {
|
||||
Spinning.getAmount(player, 1);
|
||||
}
|
||||
break;
|
||||
@@ -261,7 +261,7 @@ public class ClickingButtons implements PacketType {
|
||||
case 34184:
|
||||
case 34188:
|
||||
case 34192:
|
||||
if (player.clickedSpinning == true) {
|
||||
if (player.clickedSpinning) {
|
||||
Spinning.getAmount(player, 5);
|
||||
}
|
||||
break;
|
||||
@@ -269,7 +269,7 @@ public class ClickingButtons implements PacketType {
|
||||
case 34183:
|
||||
case 34187:
|
||||
case 34191:
|
||||
if (player.clickedSpinning == true) {
|
||||
if (player.clickedSpinning) {
|
||||
Spinning.getAmount(player, 10);
|
||||
}
|
||||
break;
|
||||
@@ -277,7 +277,7 @@ public class ClickingButtons implements PacketType {
|
||||
case 34182:
|
||||
case 34186:
|
||||
case 34190:
|
||||
if (player.clickedSpinning == true) {
|
||||
if (player.clickedSpinning) {
|
||||
Spinning.getAmount(player, 28);
|
||||
}
|
||||
break;
|
||||
@@ -287,100 +287,100 @@ public class ClickingButtons implements PacketType {
|
||||
*/
|
||||
// item 1
|
||||
case 34245:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1787, 6.3, 1, 1);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1787, 1931, 1, 6.3, 1);
|
||||
}
|
||||
break;
|
||||
case 34244:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1787, 6.3, 1, 5);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1787, 1931, 1, 6.3, 5);
|
||||
}
|
||||
break;
|
||||
case 34243:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1787, 6.3, 1, 10);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1787, 1931, 1, 6.3, 10);
|
||||
}
|
||||
break;
|
||||
case 34242:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1787, 6.3, 1, 28);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1787, 1931, 1, 6.3, 28);
|
||||
}
|
||||
break;
|
||||
// item 2
|
||||
case 34249:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1789, 15, 7, 1);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1789, 2313, 7, 10, 1);
|
||||
}
|
||||
break;
|
||||
case 34248:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1789, 15, 7, 5);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1789, 2313, 7, 10, 5);
|
||||
}
|
||||
break;
|
||||
case 34247:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1789, 15, 7, 10);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1789, 2313, 7, 10, 10);
|
||||
}
|
||||
break;
|
||||
case 34246:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1789, 15, 7, 28);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1789, 2313, 7, 10, 28);
|
||||
}
|
||||
break;
|
||||
// item 3
|
||||
case 34253:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1791, 18, 8, 1);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1791, 1923, 8, 15, 1);
|
||||
}
|
||||
break;
|
||||
case 34252:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1791, 18, 8, 5);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1791, 1923, 8, 15, 5);
|
||||
}
|
||||
break;
|
||||
case 34251:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1791, 18, 8, 10);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1791, 1923, 8, 15, 10);
|
||||
}
|
||||
break;
|
||||
case 34250:
|
||||
if (player.showedUnfire == true) {
|
||||
if (player.showedUnfire) {
|
||||
Pottery.makeUnfire(player, 1791, 18, 8, 28);
|
||||
}
|
||||
if (player.showedFire == true) {
|
||||
if (player.showedFire) {
|
||||
Pottery.makeFire(player, 1791, 1923, 8, 15, 28);
|
||||
}
|
||||
break;
|
||||
@@ -623,7 +623,7 @@ public class ClickingButtons implements PacketType {
|
||||
break;
|
||||
|
||||
case 3162:
|
||||
if (player.musicOn == true) {
|
||||
if (player.musicOn) {
|
||||
player.musicOn = false;
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("Your music is already turned off.");
|
||||
@@ -1352,6 +1352,11 @@ public class ClickingButtons implements PacketType {
|
||||
"You won't be able to attack the player with the rules you have set.");
|
||||
break;
|
||||
}
|
||||
if (player.duelRule[9]) {
|
||||
player.getPacketSender()
|
||||
.sendMessage(
|
||||
"@red@You won't be able to attack if you don't have a fun weapon.");
|
||||
}
|
||||
player.duelStatus = 2;
|
||||
if (player.duelStatus == 2) {
|
||||
player.getPacketSender().sendFrame126(
|
||||
@@ -1676,9 +1681,9 @@ public class ClickingButtons implements PacketType {
|
||||
player.goodTrade = false;
|
||||
ot.goodTrade = false;
|
||||
player.getPacketSender().sendFrame126(
|
||||
"Not enough inventory space...", 3431);
|
||||
"Not enough space in your inventory.", 3431);
|
||||
ot.getPacketSender().sendFrame126(
|
||||
"Not enough inventory space...", 3431);
|
||||
"Not enough space in your inventory.", 3431);
|
||||
break;
|
||||
} else {
|
||||
player.getPacketSender().sendFrame126(
|
||||
@@ -1737,6 +1742,8 @@ public class ClickingButtons implements PacketType {
|
||||
"@red@Trade completed.");
|
||||
ot1.getPacketSender().sendMessage(
|
||||
"@red@Trade completed.");
|
||||
player.tradeStatus = 0;
|
||||
ot1.tradeStatus = 0;
|
||||
break;
|
||||
}
|
||||
ot1.getPacketSender().sendFrame126(
|
||||
@@ -1763,7 +1770,7 @@ public class ClickingButtons implements PacketType {
|
||||
player.getPacketSender().sendConfig(502, 1);
|
||||
player.getPacketSender().sendConfig(287, 1);
|
||||
player.splitChat = true;
|
||||
} else if (player.splitChat == true) {
|
||||
} else if (player.splitChat) {
|
||||
player.getPacketSender().sendConfig(502, 0);
|
||||
player.getPacketSender().sendConfig(287, 0);
|
||||
player.splitChat = false;
|
||||
|
||||
@@ -38,13 +38,12 @@ public class ClickingStuff implements PacketType {
|
||||
}
|
||||
|
||||
if(player.openDuel && player.duelStatus >= 1 && player.duelStatus <= 4) {
|
||||
Player o = (Player) PlayerHandler.players[player.duelingWith];
|
||||
Player o = PlayerHandler.players[player.duelingWith];
|
||||
if (o != null)
|
||||
if (player.duelStatus >= 1 && player.duelStatus <= 4)
|
||||
player.getDueling().declineDuel();
|
||||
o.getDueling().declineDuel();
|
||||
}
|
||||
|
||||
if (player.duelStatus == 6) {
|
||||
player.getDueling().claimStakedItems();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -50,7 +50,7 @@ public class DropItem implements PacketType {
|
||||
"You can't drop items while trading!");
|
||||
return;
|
||||
}
|
||||
if (player.hasNpc == true) {
|
||||
if (player.hasNpc) {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already have a pet dropped.");
|
||||
return;
|
||||
@@ -61,222 +61,12 @@ public class DropItem implements PacketType {
|
||||
"You can't drop items on tutorial island!");
|
||||
return;
|
||||
}
|
||||
if (Pets.isCatItem(itemId)) {
|
||||
Pets.dropPet(player, itemId, slot);
|
||||
}
|
||||
|
||||
player.endCurrentTask();
|
||||
|
||||
switch (itemId) {
|
||||
case 1560:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1559:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1558:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1557:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1556:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1555:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1561:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 1562:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 1563:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 1564:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 1565:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 7583:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage(
|
||||
"You drop your Hell Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Hell Kitten.");
|
||||
}
|
||||
break;
|
||||
case 1566:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage("You drop your Cat.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Cat.");
|
||||
}
|
||||
break;
|
||||
case 7585:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage(
|
||||
"You drop your Hell Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Hell Kitten.");
|
||||
}
|
||||
break;
|
||||
case 4045:
|
||||
if (CastleWars.isInCw(player)) {
|
||||
int explosiveHit = 15;
|
||||
@@ -294,22 +84,6 @@ public class DropItem implements PacketType {
|
||||
player.getPacketSender().sendMessage("You can't do that! Your not in castle wars!");
|
||||
}
|
||||
break;
|
||||
case 7584:
|
||||
if (!player.hasNpc) {
|
||||
GameEngine.npcHandler.spawnNpc3(player, Pets.summonItemId(itemId),
|
||||
player.absX, player.absY - 1, player.heightLevel, 0, 120, 25, 200,
|
||||
200, false, false, true);
|
||||
player.getItemAssistant().deleteItem(itemId, slot,
|
||||
player.playerItemsN[slot]);
|
||||
player.hasNpc = true;
|
||||
player.getPlayerAssistant().followPlayer();
|
||||
player.getPacketSender().sendMessage(
|
||||
"You drop your Hell Kitten.");
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"You already dropped your Hell Kitten.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
boolean droppable = true;
|
||||
@@ -322,7 +96,7 @@ public class DropItem implements PacketType {
|
||||
|
||||
for (int p : Pets.CAT_ITEMS) {
|
||||
if (p == itemId) {
|
||||
if (player.hasNpc == true) {
|
||||
if (player.hasNpc) {
|
||||
droppable = false;
|
||||
break;
|
||||
}
|
||||
@@ -357,7 +131,7 @@ public class DropItem implements PacketType {
|
||||
}
|
||||
} else {
|
||||
player.getPacketSender().sendMessage(
|
||||
"This items cannot be dropped.");
|
||||
"This item cannot be dropped.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,9 @@ public class ItemClick2 implements PacketType {
|
||||
}
|
||||
|
||||
switch (itemId) {
|
||||
case 4079:
|
||||
c.startAnimation(1459);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,9 @@ public class ItemClick3 implements PacketType {
|
||||
player.endCurrentTask();
|
||||
|
||||
switch (itemId) {
|
||||
case 4079:
|
||||
player.startAnimation(1460);
|
||||
break;
|
||||
|
||||
case 2552:
|
||||
case 2554:
|
||||
|
||||
@@ -16,7 +16,7 @@ public class ItemOnItem implements PacketType {
|
||||
return;
|
||||
}
|
||||
player.endCurrentTask();
|
||||
UseItem.ItemonItem(player, itemUsed, useWith);
|
||||
UseItem.itemOnItem(player, itemUsed, useWith);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ public class ItemOnNpc implements PacketType {
|
||||
player.getPacketSender().sendMessage("Your inventory is full.");
|
||||
return;
|
||||
}
|
||||
if (player == null || player.disconnected == true || !player.getItemAssistant().playerHasItem(itemId, 1, slot) || NpcHandler.npcs[i] == null || NpcHandler.npcs[i].isDead || player.isDead || player.isTeleporting) {
|
||||
if (player == null || player.disconnected || !player.getItemAssistant().playerHasItem(itemId, 1, slot) || NpcHandler.npcs[i] == null || NpcHandler.npcs[i].isDead || player.isDead || player.isTeleporting) {
|
||||
return;
|
||||
}
|
||||
player.faceNpc(i);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.rebotted.net.packets.impl;
|
||||
|
||||
import com.rebotted.game.content.combat.range.DwarfCannon;
|
||||
import com.rebotted.game.content.skills.cooking.Cooking;
|
||||
import com.rebotted.game.content.skills.cooking.CookingTutorialIsland;
|
||||
import com.rebotted.game.content.skills.crafting.JewelryMaking;
|
||||
@@ -108,6 +109,9 @@ public class ItemOnObject implements PacketType {
|
||||
/*} else if (itemId == SilverCrafting.SILVER_BAR) {
|
||||
Menus.sendSkillMenu(c, "silverCrafting");*/
|
||||
}
|
||||
if (itemId == 2353 || itemId == 4) {
|
||||
DwarfCannon.makeBall(player);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2452:
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.rebotted.game.content.skills.firemaking.Firemaking;
|
||||
import com.rebotted.game.content.skills.firemaking.LogData;
|
||||
import com.rebotted.game.items.ItemAssistant;
|
||||
import com.rebotted.game.items.impl.RareProtection;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.net.packets.PacketType;
|
||||
import com.rebotted.util.GameLogger;
|
||||
@@ -28,6 +27,14 @@ public class PickupItem implements PacketType {
|
||||
player.pItemY = player.getInStream().readSignedWordBigEndian();
|
||||
player.pItemId = player.getInStream().readUnsignedWord();
|
||||
player.pItemX = player.getInStream().readSignedWordBigEndian();
|
||||
if (player.getItemAssistant().freeSlots() < 1)
|
||||
{
|
||||
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && player.getItemAssistant().isStackable(player.pItemId)))
|
||||
{
|
||||
player.getPacketSender().sendMessage("Not enough space in your inventory.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (Math.abs(player.getX() - player.pItemX) > 25 || Math.abs(player.getY() - player.pItemY) > 25) {
|
||||
player.resetWalkingQueue();
|
||||
return;
|
||||
@@ -52,7 +59,7 @@ public class PickupItem implements PacketType {
|
||||
return;
|
||||
}
|
||||
for (LogData logData : LogData.values()) {
|
||||
if (player.isFiremaking == true && player.pItemId == logData.getLogId()) {
|
||||
if (player.isFiremaking && player.pItemId == logData.getLogId()) {
|
||||
player.getPacketSender().sendMessage("You can't do that!");
|
||||
Firemaking.stopFiremaking = true;
|
||||
return;
|
||||
@@ -65,34 +72,35 @@ public class PickupItem implements PacketType {
|
||||
}
|
||||
SkillHandler.resetSkills(player);
|
||||
player.getCombatAssistant().resetPlayerAttack();
|
||||
if (player.getX() == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getX() - 1 == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getY() - 1 == player.pItemY && player.getX() == player.pItemX
|
||||
|| player.getX() + 1 == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getY() + 1 == player.pItemY && player.getX() == player.pItemX) {
|
||||
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX,
|
||||
player.pItemY, true);
|
||||
player.getPacketSender().sendSound(SoundList.ITEM_PICKUP, 100, 0);
|
||||
GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY);
|
||||
} else {
|
||||
player.walkingToItem = true;
|
||||
player.soundDone = false;
|
||||
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (!player.walkingToItem) {
|
||||
container.stop();
|
||||
}
|
||||
if (player.getX() == player.pItemX && player.getY() == player.pItemY && player.walkingToItem) {
|
||||
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true);
|
||||
if ((player.getX() == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getX() - 1 == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getY() - 1 == player.pItemY && player.getX() == player.pItemX
|
||||
|| player.getX() + 1 == player.pItemX && player.getY() == player.pItemY
|
||||
|| player.getY() + 1 == player.pItemY && player.getX() == player.pItemX
|
||||
||player.getX() == player.pItemX && player.getY() == player.pItemY) && player.walkingToItem) {
|
||||
container.stop();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
player.walkingToItem = false;
|
||||
}
|
||||
}, 1);
|
||||
}
|
||||
@Override
|
||||
public void stop() {
|
||||
player.walkingToItem = false;
|
||||
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true);
|
||||
GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY);
|
||||
if (!player.soundDone)
|
||||
{
|
||||
player.soundDone = true;
|
||||
player.getPacketSender().sendSound(SoundList.ITEM_PICKUP, 100, 0);
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.rebotted.net.packets.impl;
|
||||
|
||||
import com.rebotted.game.content.random.PartyRoom;
|
||||
import com.rebotted.game.content.skills.crafting.JewelryMaking;
|
||||
import com.rebotted.game.items.Weight;
|
||||
import com.rebotted.game.items.impl.RareProtection;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.net.packets.PacketType;
|
||||
@@ -16,16 +17,14 @@ public class RemoveItem implements PacketType {
|
||||
int interfaceId = c.getInStream().readUnsignedWordA();
|
||||
int removeSlot = c.getInStream().readUnsignedWordA();
|
||||
int removeId = c.getInStream().readUnsignedWordA();
|
||||
if (removeId == 88) {
|
||||
c.weight += 4.5;
|
||||
c.getPacketSender().writeWeight((int) c.weight);
|
||||
}
|
||||
if (!RareProtection.removeItem(c, removeId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
c.endCurrentTask();
|
||||
|
||||
Weight.updateWeight(c);
|
||||
|
||||
switch (interfaceId) {
|
||||
|
||||
case 4233:
|
||||
@@ -90,11 +89,11 @@ public class RemoveItem implements PacketType {
|
||||
case 1121:
|
||||
case 1122:
|
||||
case 1123:
|
||||
c.getSmithing().readInput(c.playerLevel[c.playerSmithing],
|
||||
Integer.toString(removeId), c, 1);
|
||||
c.getSmithing().readInput(c.playerLevel[c.playerSmithing], Integer.toString(removeId), c, 1);
|
||||
break;
|
||||
|
||||
}
|
||||
Weight.updateWeight(c);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,13 +18,16 @@ public class Walking implements PacketType {
|
||||
public void processPacket(Player player, int packetType, int packetSize) {
|
||||
player.getDueling().checkDuelWalk();
|
||||
|
||||
if (player.playerIsBusy()) {
|
||||
player.playerIsBusy = false;
|
||||
}
|
||||
if (player.canChangeAppearance) { //|| c.performingAction) {
|
||||
return;
|
||||
}
|
||||
if (player.getCannon().settingUp) {
|
||||
return;
|
||||
}
|
||||
if (player.isTeleporting == true) {
|
||||
if (player.isTeleporting) {
|
||||
player.isTeleporting = false;
|
||||
}
|
||||
if (player.playerSkilling[10]) {// fishing
|
||||
@@ -39,13 +42,13 @@ public class Walking implements PacketType {
|
||||
if (player.playerStun) {
|
||||
return;
|
||||
}
|
||||
if (player.stopPlayer == true) {
|
||||
if (player.stopPlayer) {
|
||||
return;
|
||||
}
|
||||
if (player.isFiremaking == true) {
|
||||
if (player.isFiremaking) {
|
||||
player.isFiremaking = false;
|
||||
}
|
||||
if (player.stopPlayerPacket == true) {
|
||||
if (player.stopPlayerPacket) {
|
||||
return;
|
||||
}
|
||||
if (player.inTrade) {
|
||||
@@ -62,10 +65,10 @@ public class Walking implements PacketType {
|
||||
if (player.closeTutorialInterface == false && player.tutorialProgress == 36) {
|
||||
player.getDialogueHandler().sendDialogues(3116, player.npcType);
|
||||
}
|
||||
if (player.gliderOpen == true) {
|
||||
if (player.gliderOpen) {
|
||||
player.gliderOpen = false;
|
||||
}
|
||||
if (player.isBanking == true) {
|
||||
if (player.isBanking) {
|
||||
player.isBanking = false;
|
||||
}
|
||||
if (player.canWalkTutorial == false && player.tutorialProgress < 36) {
|
||||
@@ -130,26 +133,25 @@ public class Walking implements PacketType {
|
||||
player.mageAllowed = true;
|
||||
}
|
||||
|
||||
if (player.WildernessWarning == false && player.wildLevel > 0) {
|
||||
if (!player.WildernessWarning && player.wildLevel > 0) {
|
||||
player.resetWalkingQueue();
|
||||
player.WildernessWarning = true;
|
||||
player.getPacketSender().sendFrame126("WARNING!", 6940);
|
||||
player.getPacketSender().showInterface(1908);
|
||||
}
|
||||
|
||||
if(player.openDuel) {
|
||||
Client o = (Client) PlayerHandler.players[player.duelingWith];
|
||||
if(o != null) {
|
||||
o.getDueling().declineDuel();
|
||||
}
|
||||
player.getDueling().declineDuel();
|
||||
}
|
||||
if((player.duelStatus >= 1 && player.duelStatus <= 4) || player.duelStatus == 6) {
|
||||
if(player.duelStatus == 6) {
|
||||
player.getDueling().claimStakedItems();
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (player.openDuel && player.duelStatus <= 3) {
|
||||
Client o = (Client) PlayerHandler.players[player.duelingWith];
|
||||
if (o != null) {
|
||||
o.getDueling().declineDuel();
|
||||
}
|
||||
player.getDueling().declineDuel();
|
||||
}
|
||||
if ((player.duelStatus >= 1 && player.duelStatus <= 4) || player.duelStatus == 6) {
|
||||
if (player.duelStatus == 6) {
|
||||
player.getDueling().claimStakedItems();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.respawnTimer > 3) {
|
||||
return;
|
||||
@@ -160,6 +162,53 @@ 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;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.rebotted.net.packets.impl;
|
||||
|
||||
import com.rebotted.game.items.Weight;
|
||||
import com.rebotted.game.items.impl.RareProtection;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.net.packets.PacketType;
|
||||
@@ -14,6 +15,7 @@ public class WearItem implements PacketType {
|
||||
player.wearId = player.getInStream().readUnsignedWord();
|
||||
player.wearSlot = player.getInStream().readUnsignedWordA();
|
||||
player.interfaceId = player.getInStream().readUnsignedWordA();
|
||||
Weight.updateWeight(player);
|
||||
if (!RareProtection.equipItem(player)) {
|
||||
return;
|
||||
}
|
||||
@@ -47,16 +49,13 @@ public class WearItem implements PacketType {
|
||||
player.getPlayerAssistant().emptyPouch(pouch);
|
||||
return;
|
||||
}
|
||||
if (player.wearId == 88 && player.playerEquipment[10] != 88) {
|
||||
player.weight -= 4.5;
|
||||
player.getPacketSender().writeWeight((int) player.weight);
|
||||
}
|
||||
if (player.wearSlot == player.playerHat) {
|
||||
player.getPacketSender().setConfig(491, 0);
|
||||
}
|
||||
|
||||
player.getPlayerAssistant().handleTiara();
|
||||
player.getItemAssistant().wearItem(player.wearId, player.wearSlot);
|
||||
Weight.updateWeight(player);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.rebotted.util;
|
||||
|
||||
/**
|
||||
* Easy access to common interface IDs
|
||||
*/
|
||||
public class MainFrameIDs {
|
||||
public static final int DEPOSIT_BOX = 4465;
|
||||
public static final int BANK = 5292; //Might be incorrect!!
|
||||
}
|
||||
@@ -150,7 +150,7 @@ public class GlobalDropsHandler {
|
||||
* @param c
|
||||
* cord y
|
||||
*/
|
||||
public static void pickup(Player player2, int a, int b, int c) {
|
||||
public static void pickup(Player player, int a, int b, int c) {
|
||||
GlobalDrop drop = itemExists(a, b, c);
|
||||
if (drop == null) {
|
||||
return;
|
||||
@@ -158,16 +158,20 @@ public class GlobalDropsHandler {
|
||||
if (drop.isTaken()) {
|
||||
return;
|
||||
}
|
||||
if (player2.getItemAssistant().freeSlots() > 0) {
|
||||
player2.getItemAssistant().addItem(drop.getId(), drop.getAmount());
|
||||
drop.setTakenAt(System.currentTimeMillis());
|
||||
drop.setTaken(true);
|
||||
for (Player player : PlayerHandler.players) {
|
||||
Client cl = (Client) player;
|
||||
if (cl != null) {
|
||||
cl.getPacketSender().removeGroundItem(drop.getId(), drop.getX(), drop.getY(), drop.getAmount());
|
||||
spawnedDrops.remove(drop);
|
||||
}
|
||||
if (player.getItemAssistant().freeSlots() < 1) {
|
||||
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && player.getItemAssistant().isStackable(player.pItemId))) {
|
||||
player.getPacketSender().sendMessage("Not enough space in your inventory.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
player.getItemAssistant().addItem(drop.getId(), drop.getAmount());
|
||||
drop.setTakenAt(System.currentTimeMillis());
|
||||
drop.setTaken(true);
|
||||
for (Player playerLoop : PlayerHandler.players) {
|
||||
Client cl = (Client) playerLoop;
|
||||
if (cl != null) {
|
||||
cl.getPacketSender().removeGroundItem(drop.getId(), drop.getX(), drop.getY(), drop.getAmount());
|
||||
spawnedDrops.remove(drop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
package com.rebotted.world;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.content.skills.core.Mining;
|
||||
import com.rebotted.game.content.skills.core.Woodcutting;
|
||||
@@ -15,6 +11,7 @@ import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.game.players.PlayerHandler;
|
||||
import com.rebotted.util.Misc;
|
||||
import com.rebotted.world.clip.Region;
|
||||
|
||||
/**
|
||||
* @author Sanity
|
||||
@@ -28,7 +25,7 @@ public class ObjectHandler {
|
||||
public static List<Objects> removedObjects = new ArrayList<Objects>();
|
||||
|
||||
public ObjectHandler() {
|
||||
loadGlobalObjects("./data/cfg/global-objects.cfg");
|
||||
|
||||
}
|
||||
|
||||
public Objects getObjectByPosition(int x, int y) {
|
||||
@@ -135,6 +132,7 @@ public class ObjectHandler {
|
||||
* Creates the object for anyone who is within 60 squares of the object
|
||||
**/
|
||||
public void placeObject(Objects o) {
|
||||
Region.addClipping(o.getObjectX(), o.getObjectY(), o.getObjectHeight(), 0);
|
||||
for (Player p : PlayerHandler.players) {
|
||||
if (p != null) {
|
||||
Client person = (Client) p;
|
||||
@@ -189,77 +187,6 @@ public class ObjectHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean loadGlobalObjects(String fileName) {
|
||||
String line = "";
|
||||
String token = "";
|
||||
String token2 = "";
|
||||
String token2_2 = "";
|
||||
String[] token3 = new String[10];
|
||||
boolean EndOfFile = false;
|
||||
BufferedReader objectFile = null;
|
||||
try {
|
||||
objectFile = new BufferedReader(new FileReader("./" + fileName));
|
||||
} catch (FileNotFoundException fileex) {
|
||||
Misc.println(fileName + ": file not found.");
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
line = objectFile.readLine();
|
||||
} catch (IOException ioexception) {
|
||||
Misc.println(fileName + ": error loading file.");
|
||||
try {
|
||||
objectFile.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
while (EndOfFile == false && line != null) {
|
||||
line = line.trim();
|
||||
int spot = line.indexOf("=");
|
||||
if (spot > -1) {
|
||||
token = line.substring(0, spot);
|
||||
token = token.trim();
|
||||
token2 = line.substring(spot + 1);
|
||||
token2 = token2.trim();
|
||||
token2_2 = token2.replaceAll("\t\t", "\t");
|
||||
token2_2 = token2_2.replaceAll("\t\t", "\t");
|
||||
token2_2 = token2_2.replaceAll("\t\t", "\t");
|
||||
token2_2 = token2_2.replaceAll("\t\t", "\t");
|
||||
token2_2 = token2_2.replaceAll("\t\t", "\t");
|
||||
token3 = token2_2.split("\t");
|
||||
if (token.equals("object")) {
|
||||
Objects object = new Objects(Integer.parseInt(token3[0]),
|
||||
Integer.parseInt(token3[1]),
|
||||
Integer.parseInt(token3[2]),
|
||||
Integer.parseInt(token3[3]),
|
||||
Integer.parseInt(token3[4]),
|
||||
Integer.parseInt(token3[5]), 0);
|
||||
addObject(object);
|
||||
}
|
||||
} else {
|
||||
if (line.equals("[ENDOFOBJECTLIST]")) {
|
||||
try {
|
||||
objectFile.close();
|
||||
} catch (IOException ioexception) {
|
||||
}
|
||||
//return true;
|
||||
}
|
||||
}
|
||||
try {
|
||||
line = objectFile.readLine();
|
||||
} catch (IOException ioexception1) {
|
||||
EndOfFile = true;
|
||||
}
|
||||
}
|
||||
try {
|
||||
objectFile.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final int IN_USE_ID = 14825;
|
||||
|
||||
public boolean isObelisk(int id) {
|
||||
|
||||
@@ -184,11 +184,11 @@ public class ObjectManager {
|
||||
|
||||
public void loadCustomSpawns(Player c) {
|
||||
c.getPacketSender().checkObjectSpawn(2474, 3233, 9312, 0, 10);
|
||||
if (c.rope == true) {
|
||||
if (c.rope) {
|
||||
c.getPacketSender().object(3828, 3227, 3108, 0, 0, 10);
|
||||
Region.addObject(3828, 3227, 3108, 0, 10, 0, false);
|
||||
}
|
||||
if (c.rope2 == true) {
|
||||
if (c.rope2) {
|
||||
c.getPacketSender().object(3828, 3509, 9497, 2, 0, 10);
|
||||
Region.addObject(3828, 3509, 9497, 2, 10, 0, false);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user