Some more minor clean up (#215)

* General clean up

- Reduced woodcutting code by alot, reverted the array to an enum
- Moved the login player method to the packet sender
- Deleted some dead code/cleaned up

* More random cleanup/refractoring

- Moved combat constants to combatconstants.java
- Moved dialogue options to dialogueoptions.java
- Deleted more dead code

* Replaced some poorly written methods

- refreshSkill, levelUp, and getTotalLevel all used way too much code for such a simple function so cleaned it up
- deleted a few other bits of dead code

* Fight caves

- Should fix fight caves npcs nulling out in the middle of your waves if they are too far away
- Also removed some unneeded scynchronization in itemassistant.java

* Gates

- Started cleaning up gate system, still can be improved a lot more
This commit is contained in:
Mr Extremez
2019-11-28 10:47:06 -06:00
committed by Daniel Ginovker
parent 20303071de
commit 68256e41d8
32 changed files with 1668 additions and 2126 deletions
@@ -12,7 +12,7 @@ public class GameConstants {
MESSAGE_DELAY = 6000, MAX_PLAYERS = 100, REQ_AMOUNT = 150;
public final static boolean SOUND = true,
GUILDS = true, WORLD_LIST_FIX = false,
PARTY_ROOM_DISABLED = true, COMBAT_SOUNDS = true,
PARTY_ROOM_DISABLED = true,
PRINT_OBJECT_ID = false, EXPERIMENTS = false;
public static int[] SIDEBARS = { 2423, 3917, 638, 3213, 1644, 5608, 1151,
18128, 5065, 5715, 2449, 904, 147, 962 };
@@ -145,30 +145,31 @@ public class GameConstants {
public static boolean ADMIN_CAN_TRADE = false; // can admins trade?
public final static boolean ADMIN_DROP_ITEMS = false;
public final static boolean ADMIN_CAN_SELL_ITEMS = false;
public final static int RESPAWN_X = 3222; // when dead respawn here
public final static int RESPAWN_Y = 3218;
public final static int DUELING_RESPAWN_X = 3362;
public final static int DUELING_RESPAWN_Y = 3263;
public final static int NO_TELEPORT_WILD_LEVEL = 20;
public final static int SKULL_TIMER = 1200;
public final static int TELEBLOCK_DELAY = 20000;
public final static boolean SINGLE_AND_MULTI_ZONES = true;
public final static boolean COMBAT_LEVEL_DIFFERENCE = true;
public final static boolean ITEM_REQUIREMENTS = true;
public final static int MELEE_EXP_RATE = 4; // damage * exp rate
public final static int RANGE_EXP_RATE = 4;
public final static int MAGIC_EXP_RATE = 4;
public final static int CASTLE_WARS_X = 2439;
public final static int CASTLE_WARS_Y = 3087;
public static double XP_RATE = 1;
public final static int INCREASE_SPECIAL_AMOUNT = 17500;
public final static int GOD_SPELL_CHARGE = 300000;
public final static boolean CORRECT_ARROWS = true;
public final static boolean CRYSTAL_BOW_DEGRADES = true;
public final static int SAVE_TIMER = 120; // save every 2 minute
public final static int NPC_RANDOM_WALK_DISTANCE = 5;
public final static int NPC_FOLLOW_DISTANCE = 10;
public final static String[] UNDEAD = {
"armoured zombie", "ankous", "banshee", "crawling hand", "dried zombie", "ghost", "ghostly warrior", "ghast",
"mummy", "mighty banshee", "reventant imp", "reventant goblin", "reventant icefiend", "reventant pyrefiend",
@@ -177,8 +178,11 @@ public class GameConstants {
"shade", "skeleton", "skeleton brute", "skeleton thug", "skeleton warload", "summoned zombie",
"skorge", "tortured soul", "undead chicken", "undead cow", "undead one", "undead troll", "zombie", "zombie rat", "zogre"
};
public final static int TIMEOUT = 60;
public final static int CYCLE_TIME = 600;
public final static int BUFFER_SIZE = 10000;
public final static int ATTACK = 0, DEFENCE = 1, STRENGTH = 2,
@@ -166,7 +166,7 @@ public class BotHandler {
public static void removeFrombank(int shop_id, int item_id, int amount){
Client shop = getPlayerShop(shop_id);
if (shop == null) return;
shop.getItemAssistant().removeitemFromBank(item_id, amount);
shop.getItemAssistant().removeItemFromBank(item_id, amount);
}
public static int getItemPrice(int shop_id, int item_id){
@@ -61,7 +61,7 @@ public class CombatAssistant {
NpcHandler.npcs[i].animUpdateRequired = true;
NpcHandler.npcs[i].updateRequired = true;
}
if (GameConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) {
if (CombatConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender().sendSound(CombatSounds.getNpcBlockSound(NpcHandler.npcs[c.oldNpcIndex].npcType), 100, 0);
}
NpcHandler.npcs[i].facePlayer(c.playerId);
@@ -139,15 +139,15 @@ public class CombatAssistant {
c.globalDamageDealt += damage2;
}
if (c.fightMode == 3) {//range shared
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE / 3, 4);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE / 3, 4);
c.getPlayerAssistant().addSkillXP(damage / 3, 1);
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
c.getPlayerAssistant().refreshSkill(1);
c.getPlayerAssistant().refreshSkill(3);
c.getPlayerAssistant().refreshSkill(4);
} else {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, 4);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE /3, 3);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, 4);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE /3, 3);
c.getPlayerAssistant().refreshSkill(3);
c.getPlayerAssistant().refreshSkill(4);
}
@@ -196,7 +196,7 @@ public class CombatAssistant {
int damage = Misc
.random(MagicData.MAGIC_SPELLS[c.oldSpellId][6]);
if (MagicSpells.godSpells(c)) {
if (System.currentTimeMillis() - c.godSpellDelay < GameConstants.GOD_SPELL_CHARGE) {
if (System.currentTimeMillis() - c.godSpellDelay < CombatConstants.GOD_SPELL_CHARGE) {
damage += Misc.random(10);
}
}
@@ -223,10 +223,10 @@ public class CombatAssistant {
damage = NpcHandler.npcs[i].HP;
}
//magic
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
c.totalDamageDealt += damage;
if (MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1161 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1153 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1157 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1542 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1543 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1562) {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MAGIC_EXP_RATE / 3, 3);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MAGIC_EXP_RATE / 3, 3);
}
c.getPlayerAssistant().refreshSkill(3);
c.getPlayerAssistant().refreshSkill(6);
@@ -336,18 +336,18 @@ public class CombatAssistant {
}
}
if (c.fightMode == 3 && NpcHandler.npcs[i].npcType != 2459 && NpcHandler.npcs[i].npcType != 2460 && NpcHandler.npcs[i].npcType != 2461 && NpcHandler.npcs[i].npcType != 2462) {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 0);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 1);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 2);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 3);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 0);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 1);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 2);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 3);
c.getPlayerAssistant().refreshSkill(0);
c.getPlayerAssistant().refreshSkill(1);
c.getPlayerAssistant().refreshSkill(2);
c.getPlayerAssistant().refreshSkill(3);
} else {
if (NpcHandler.npcs[i].npcType != 2459 && NpcHandler.npcs[i].npcType != 2460 && NpcHandler.npcs[i].npcType != 2461 && NpcHandler.npcs[i].npcType != 2462) {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE, c.fightMode);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 3);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE, c.fightMode);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 3);
c.getPlayerAssistant().refreshSkill(c.fightMode);
c.getPlayerAssistant().refreshSkill(3);
}
@@ -644,7 +644,7 @@ public class CombatAssistant {
return;
}
if (c.usingRangeWeapon || c.usingBow
&& GameConstants.COMBAT_SOUNDS
&& CombatConstants.COMBAT_SOUNDS
&& NpcHandler.npcs[i].npcType < 3177
&& NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender().sendSound(SoundList.SHOOT_ARROW,
@@ -677,7 +677,7 @@ public class CombatAssistant {
return;
}
if (RangeData.correctBowAndArrows(c) < c.playerEquipment[c.playerArrows]
&& GameConstants.CORRECT_ARROWS && c.usingBow
&& CombatConstants.CORRECT_ARROWS && c.usingBow
&& !RangeData.usingCrystalBow(c)
&& c.playerEquipment[c.playerWeapon] != 9185) {
c.getItemAssistant();
@@ -737,7 +737,7 @@ public class CombatAssistant {
"You don't have the required special energy to use this attack.");
c.usingSpecial = false;
c.getItemAssistant().updateSpecialBar();
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender()
.sendSound(
CombatSounds
@@ -750,13 +750,13 @@ public class CombatAssistant {
}
c.specMaxHitIncrease = 0;
if (!c.usingMagic) {
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender().sendSound(
CombatSounds.getWeaponSounds(c), 100, 0);
}
c.startAnimation(getWepAnim());
} else {
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender().sendSound(
CombatSounds.getMagicSound(c, c.spellId), 100,
0);
@@ -849,7 +849,7 @@ public class CombatAssistant {
}
}
if (c.usingBow && GameConstants.CRYSTAL_BOW_DEGRADES) { // crystal
if (c.usingBow && CombatConstants.CRYSTAL_BOW_DEGRADES) { // crystal
// bow
// degrading
if (c.playerEquipment[c.playerWeapon] == 4212) { // new
@@ -1097,7 +1097,7 @@ public class CombatAssistant {
return;
}
if (RangeData.correctBowAndArrows(c) < c.playerEquipment[c.playerArrows]
&& GameConstants.CORRECT_ARROWS && c.usingBow
&& CombatConstants.CORRECT_ARROWS && c.usingBow
&& !RangeData.usingCrystalBow(c)
&& c.playerEquipment[c.playerWeapon] != 9185
&& !c.usingMagic) {
@@ -1146,7 +1146,7 @@ public class CombatAssistant {
.contains(c.playerId)) {
c.attackedPlayers.add(c.playerIndex);
c.isSkulled = true;
c.skullTimer = GameConstants.SKULL_TIMER;
c.skullTimer = CombatConstants.SKULL_TIMER;
c.headIconPk = 0;
c.getPlayerAssistant().requestUpdates();
}
@@ -1161,7 +1161,7 @@ public class CombatAssistant {
"Special attacks have been disabled during this duel!");
c.usingSpecial = false;
c.getItemAssistant().updateSpecialBar();
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender()
.sendSound(
CombatSounds
@@ -1183,7 +1183,7 @@ public class CombatAssistant {
"You don't have the required special energy to use this attack.");
c.usingSpecial = false;
c.getItemAssistant().updateSpecialBar();
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender()
.sendSound(
CombatSounds
@@ -1196,7 +1196,7 @@ public class CombatAssistant {
}
if (!c.usingMagic) {
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender().sendSound(
CombatSounds.getWeaponSounds(c), 100, 0);
}
@@ -1204,7 +1204,7 @@ public class CombatAssistant {
c.mageFollow = false;
} else {
c.startAnimation(MagicData.MAGIC_SPELLS[c.spellId][2]);
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
c.getPacketSender().sendSound(
CombatSounds.getMagicSound(c, c.spellId), 100,
0);
@@ -1336,7 +1336,7 @@ public class CombatAssistant {
}
}
if (c.usingBow && GameConstants.CRYSTAL_BOW_DEGRADES) { // crystal
if (c.usingBow && CombatConstants.CRYSTAL_BOW_DEGRADES) { // crystal
// bow
// degrading
if (c.playerEquipment[c.playerWeapon] == 4212) { // new
@@ -1379,28 +1379,6 @@ public class CombatAssistant {
}
}
public void appendVengeance(int otherPlayer, int damage) {
if (damage <= 0) {
return;
}
Player o = PlayerHandler.players[otherPlayer];
o.forcedText = "Taste Vengeance!";
o.forcedChatUpdateRequired = true;
o.updateRequired = true;
o.vengOn = false;
if (o.playerLevel[3] - damage > 0) {
damage = (int) (damage * 0.75);
if (damage > c.playerLevel[3]) {
damage = c.playerLevel[3];
}
c.setHitDiff2(damage);
c.setHitUpdateRequired2(true);
c.playerLevel[3] -= damage;
c.getPlayerAssistant().refreshSkill(3);
}
c.updateRequired = true;
}
public void playerDelayedHit(int i) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].isDead || c.isDead
@@ -1424,7 +1402,7 @@ public class CombatAssistant {
if (o.attackTimer <= 3 || o.attackTimer == 0 && o.playerIndex == 0
&& !c.castingMagic) { // block animation
o.startAnimation(o.getCombatAssistant().getBlockEmote());
if (GameConstants.COMBAT_SOUNDS) {
if (CombatConstants.COMBAT_SOUNDS) {
o.getPacketSender().sendSound(
CombatSounds.getPlayerBlockSounds(o), 100, 0);
}
@@ -1513,10 +1491,6 @@ public class CombatAssistant {
if (damage2 < 0 && damage2 != -1) {
damage2 = 0;
}
if (o.vengOn) {
appendVengeance(i, damage);
appendVengeance(i, damage2);
}
if (damage > 0) {
applyRecoil(c, damage, i);
}
@@ -1524,14 +1498,14 @@ public class CombatAssistant {
applyRecoil(c, damage2, i);
}
if (c.fightMode == 3) {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE / 3, 4);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE / 3, 4);
c.getPlayerAssistant().addSkillXP(damage / 3, 1);
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
c.getPlayerAssistant().refreshSkill(1);
c.getPlayerAssistant().refreshSkill(3);
c.getPlayerAssistant().refreshSkill(4);
} else {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, 4);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, 4);
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
c.getPlayerAssistant().refreshSkill(3);
c.getPlayerAssistant().refreshSkill(4);
@@ -1578,7 +1552,7 @@ public class CombatAssistant {
int damage = Misc
.random(MagicData.MAGIC_SPELLS[c.oldSpellId][6]);
if (MagicSpells.godSpells(c)) {
if (System.currentTimeMillis() - c.godSpellDelay < GameConstants.GOD_SPELL_CHARGE) {
if (System.currentTimeMillis() - c.godSpellDelay < CombatConstants.GOD_SPELL_CHARGE) {
damage += 10;
}
}
@@ -1600,13 +1574,10 @@ public class CombatAssistant {
if (PlayerHandler.players[i].playerLevel[3] - damage < 0) {
damage = PlayerHandler.players[i].playerLevel[3];
}
if (o.vengOn) {
appendVengeance(i, damage);
}
if (damage > 0) {
applyRecoil(c, damage, i);
}
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
if (MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1161 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1153 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1157 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1542 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1543 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1562) {
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage / 3, 3);
}
@@ -1843,9 +1814,6 @@ public class CombatAssistant {
&& !veracsEffect) { // if prayer active reduce damage by 40%
damage = damage * 60 / 100;
}
if (c.maxNextHit) {
damage = meleeMaxHit();
}
if (damage > 0 && guthansEffect) {
c.playerLevel[3] += damage;
if (c.playerLevel[3] > c.getLevelForXP(c.playerXP[3])) {
@@ -1854,16 +1822,9 @@ public class CombatAssistant {
c.getPlayerAssistant().refreshSkill(3);
o.gfx0(398);
}
if (c.ssSpec && damageMask == 2) {
damage = 5 + Misc.random(11);
c.ssSpec = false;
}
if (PlayerHandler.players[i].playerLevel[3] - damage < 0) {
damage = PlayerHandler.players[i].playerLevel[3];
}
if (o.vengOn && damage > 0) {
appendVengeance(i, damage);
}
if (damage > 0) {
applyRecoil(c, damage, i);
}
@@ -1928,17 +1889,17 @@ public class CombatAssistant {
}
c.specEffect = 0;
if (c.fightMode == 3) {//melee shared
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 0);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 1);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 2);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 0);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 1);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 2);
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
c.getPlayerAssistant().refreshSkill(0);
c.getPlayerAssistant().refreshSkill(1);
c.getPlayerAssistant().refreshSkill(2);
c.getPlayerAssistant().refreshSkill(3);
} else {
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE, c.fightMode);
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE/3, 3);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE, c.fightMode);
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE/3, 3);
c.getPlayerAssistant().refreshSkill(c.fightMode);
c.getPlayerAssistant().refreshSkill(3);
}
@@ -2097,7 +2058,7 @@ public class CombatAssistant {
resetPlayerAttack();
return false;
}
if (GameConstants.COMBAT_LEVEL_DIFFERENCE && !c.inCw()) {
if (CombatConstants.COMBAT_LEVEL_DIFFERENCE && !c.inCw()) {
int combatDif1 = getCombatDifference(c.combatLevel,
PlayerHandler.players[c.playerIndex].combatLevel);
if (combatDif1 > c.wildLevel
@@ -2111,7 +2072,7 @@ public class CombatAssistant {
}
}
if (GameConstants.SINGLE_AND_MULTI_ZONES) {
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
if (!PlayerHandler.players[c.playerIndex].inMulti()) { // single
// combat
// zones
@@ -0,0 +1,35 @@
package com.rebotted.game.content.combat;
/**
* CombatConstants
* @author Andrew (Mr Extremez)
*/
public class CombatConstants {
public final static int MELEE_EXP_RATE = 4;
public final static int RANGE_EXP_RATE = 4;
public final static int MAGIC_EXP_RATE = 4;
public final static int INCREASE_SPECIAL_AMOUNT = 17500;
public final static int GOD_SPELL_CHARGE = 300000;
public final static boolean CORRECT_ARROWS = true;
public final static boolean CRYSTAL_BOW_DEGRADES = true;
public final static int SKULL_TIMER = 1200;
public final static int TELEBLOCK_DELAY = 20000;
public final static boolean SINGLE_AND_MULTI_ZONES = true;
public final static boolean COMBAT_LEVEL_DIFFERENCE = true;
public final static boolean COMBAT_SOUNDS = true;
}
@@ -1,8 +1,6 @@
package com.rebotted.game.content.combat;
import java.util.HashMap;
import com.rebotted.GameConstants;
import com.rebotted.game.content.combat.range.RangeData;
import com.rebotted.game.content.music.sound.CombatSounds;
import com.rebotted.game.npcs.NpcHandler;
@@ -24,26 +22,26 @@ public class Specials {
// ItemName(ItemId, SpecDamage, SpecAccuracy, SpecAmount, Anim, GFX0,
// GFX100, DoubleHit, SsSpec, SpecEffect)
ABYSSAL_WHIP(4151, 1, 1.25, 5, 1658, 341, -1, false, false, 0),
DRAGON_DAGGER(1215, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
DRAGON_DAGGER_P(1231, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
DRAGON_DAGGER_PP(5698, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
DRAGON_DAGGER_PPP(5680, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
DRAGON_LONG(1305, 1.20, 1.10, 2.5, 1058, -1, 248, false, false, 0),
DRAGON_MACE(1434, 1.55, 1.25, 2.5, 1060, -1, 251, false, false, 0),
DRAGON_SCIMITAR(4587, 1, 1.25, 5.5, 1872, -1, 347, false, false, 1),
DRAGON_HALBERD(3204, 1.25, .85, 3, 1203, -1, 282, true, false, 0),
GRANITE_MAUL(4153, 1.10, .85, 5, 1667, -1, 337, false, false, 0),
MAGIC_SHORTBOW(861, 1.05, .95, 5.5, 1074, -1, -1, true, false, 0),
MAGIC_LONGBOW(859, 1.20, 1.05, 5.5, 426, -1, -1, false, false, 0);
ABYSSAL_WHIP(4151, 1, 1.25, 5, 1658, 341, -1, false, 0),
DRAGON_DAGGER(1215, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
DRAGON_DAGGER_P(1231, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
DRAGON_DAGGER_PP(5698, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
DRAGON_DAGGER_PPP(5680, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
DRAGON_LONG(1305, 1.20, 1.10, 2.5, 1058, -1, 248, false, 0),
DRAGON_MACE(1434, 1.55, 1.25, 2.5, 1060, -1, 251, false, 0),
DRAGON_SCIMITAR(4587, 1, 1.25, 5.5, 1872, -1, 347, false, 1),
DRAGON_HALBERD(3204, 1.25, .85, 3, 1203, -1, 282, true, 0),
GRANITE_MAUL(4153, 1.10, .85, 5, 1667, -1, 337, false, 0),
MAGIC_SHORTBOW(861, 1.05, .95, 5.5, 1074, -1, -1, true, 0),
MAGIC_LONGBOW(859, 1.20, 1.05, 5.5, 426, -1, -1, false, 0);
private int weapon, anim, gfx1, gfx2, specEffect;
private double specDamage, specAccuracy, specAmount;
private boolean doubleHit, ssSpec;
private boolean doubleHit;
private specialAttack(int weapon, double specDamage,
double specAccuracy, double specAmount, int anim, int gfx1,
int gfx2, boolean doubleHit, boolean ssSpec, int specEffect) {
int gfx2, boolean doubleHit, int specEffect) {
this.weapon = weapon;
this.specDamage = specDamage;
this.specAccuracy = specAccuracy;
@@ -52,7 +50,6 @@ public class Specials {
this.gfx1 = gfx1;
this.gfx2 = gfx2;
this.doubleHit = doubleHit;
this.ssSpec = ssSpec;
this.specEffect = specEffect;
}
@@ -88,9 +85,6 @@ public class Specials {
return doubleHit;
}
private boolean getSsSpec() {
return ssSpec;
}
@SuppressWarnings("unused")
private int getSpecEffect() {
@@ -113,9 +107,7 @@ public class Specials {
public void activateSpecial(int weapon, int i) {
int equippedWeapon = player.playerEquipment[player.playerWeapon];
if (NpcHandler.npcs[i] == null && player.npcIndex > 0
|| PlayerHandler.players[player.playerIndex] == null
&& player.playerIndex > 0) {
if (NpcHandler.npcs[i] == null && player.npcIndex > 0 || PlayerHandler.players[player.playerIndex] == null && player.playerIndex > 0) {
return;
}
player.doubleHit = false;
@@ -128,8 +120,7 @@ public class Specials {
player.oldPlayerIndex = i;
PlayerHandler.players[i].underAttackBy = player.playerId;
PlayerHandler.players[i].logoutDelay = System.currentTimeMillis();
PlayerHandler.players[i].singleCombatDelay = System
.currentTimeMillis();
PlayerHandler.players[i].singleCombatDelay = System.currentTimeMillis();
PlayerHandler.players[i].killerId = player.playerId;
}
player.specEffect = 0;
@@ -226,7 +217,6 @@ public class Specials {
player.specAccuracy = SA.getSpecAccuracy();
player.hitDelay = player.getCombatAssistant().getHitDelay();
player.doubleHit = SA.getDoubleHit();
player.ssSpec = SA.getSsSpec();
} else {
player.gfx0(SA.getGfx1());
player.startAnimation(SA.getAnim());
@@ -234,36 +224,26 @@ public class Specials {
player.specAccuracy = SA.getSpecAccuracy();
player.hitDelay = player.getCombatAssistant().getHitDelay();
player.doubleHit = SA.getDoubleHit();
player.ssSpec = SA.getSsSpec();
}
}
player.delayedDamage = Misc.random(player.getCombatAssistant().meleeMaxHit());
player.delayedDamage2 = Misc
.random(player.getCombatAssistant().meleeMaxHit());
player.delayedDamage2 = Misc.random(player.getCombatAssistant().meleeMaxHit());
player.usingSpecial = false;
player.getItemAssistant().updateSpecialBar();
if (GameConstants.COMBAT_SOUNDS) {
player.getPacketSender()
.sendSound(
CombatSounds
.specialSounds(player.playerEquipment[player.playerWeapon]),
100, 0);
if (CombatConstants.COMBAT_SOUNDS) {
player.getPacketSender().sendSound(CombatSounds.specialSounds(player.playerEquipment[player.playerWeapon]), 100, 0);
}
}
}
public void handleGmaul() {
if (player.npcIndex > 0 && NpcHandler.npcs[player.npcIndex] != null) {
if (player.goodDistance(player.getX(), player.getY(), NpcHandler.npcs[player.npcIndex]
.getX(), NpcHandler.npcs[player.npcIndex].getY(), player
.getCombatAssistant().getRequiredDistance())) {
if (player.goodDistance(player.getX(), player.getY(), NpcHandler.npcs[player.npcIndex].getX(), NpcHandler.npcs[player.npcIndex].getY(), player.getCombatAssistant().getRequiredDistance())) {
if (player.getCombatAssistant().checkSpecAmount(4153)) {
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc
.random(NpcHandler.npcs[player.npcIndex].defence);
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc.random(NpcHandler.npcs[player.npcIndex].defence);
int damage = 0;
if (hit) {
damage = Misc.random(player.getCombatAssistant()
.meleeMaxHit());
damage = Misc.random(player.getCombatAssistant().meleeMaxHit());
NpcHandler.npcs[player.npcIndex].HP -= damage;
NpcHandler.npcs[player.npcIndex].hitDiff2 = damage;
NpcHandler.npcs[player.npcIndex].hitUpdateRequired2 = true;
@@ -279,17 +259,12 @@ public class Specials {
.getCombatAssistant().getRequiredDistance())) {
if (player.getCombatAssistant().checkReqs()) {
if (player.getCombatAssistant().checkSpecAmount(4153)) {
boolean hit = Misc.random(player.getCombatAssistant()
.calcAtt()) > Misc.random(o
.getCombatAssistant().calcDef());
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc.random(o.getCombatAssistant().calcDef());
int damage = 0;
if (hit) {
damage = Misc.random(player.getCombatAssistant()
.meleeMaxHit());
damage = Misc.random(player.getCombatAssistant().meleeMaxHit());
}
if (o.getPrayer().prayerActive[18]
&& System.currentTimeMillis()
- o.protMeleeDelay > 1500) {
if (o.getPrayer().prayerActive[18] && System.currentTimeMillis() - o.protMeleeDelay > 1500) {
damage *= .6;
}
if (o.playerLevel[3] - damage <= 0) {
@@ -1,6 +1,6 @@
package com.rebotted.game.content.combat.magic;
import com.rebotted.GameConstants;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
@@ -32,7 +32,7 @@ public class MagicSpells extends MagicData {
if (c2.playerLevel[3] - damage < 0) {
damage = c2.playerLevel[3];
}
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage / 3, 3);
// Server.playerHandler.players[playerId].setHitDiff(damage);
// Server.playerHandler.players[playerId].setHitUpdateRequired(true);
@@ -100,7 +100,7 @@ public class MagicSpells extends MagicData {
if (!PlayerHandler.players[i].inWild()) {
return false;
}
if (GameConstants.COMBAT_LEVEL_DIFFERENCE) {
if (CombatConstants.COMBAT_LEVEL_DIFFERENCE) {
int combatDif1 = c.getCombatAssistant().getCombatDifference(c.combatLevel,
PlayerHandler.players[i].combatLevel);
if (combatDif1 > c.wildLevel
@@ -112,7 +112,7 @@ public class MagicSpells extends MagicData {
}
}
if (GameConstants.SINGLE_AND_MULTI_ZONES) {
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
if (!PlayerHandler.players[i].inMulti()) { // single combat
// zones
if (PlayerHandler.players[i].underAttackBy != c.playerId
@@ -2,6 +2,7 @@ package com.rebotted.game.content.combat.npcs;
import com.rebotted.GameConstants;
import com.rebotted.game.content.combat.CombatAssistant;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.melee.MeleeData;
import com.rebotted.game.content.minigames.FightCaves;
import com.rebotted.game.content.music.sound.CombatSounds;
@@ -181,7 +182,7 @@ public class NpcCombat {
NpcHandler.npcs[i].attackTimer = NpcData.getNpcDelay(i);
NpcHandler.npcs[i].hitDelayTimer = NpcData.getHitDelay(i);
NpcHandler.npcs[i].attackType = 0;
if (GameConstants.COMBAT_SOUNDS
if (CombatConstants.COMBAT_SOUNDS
&& NpcHandler.npcs[i].npcType < 3177
&& NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender()
@@ -201,7 +202,7 @@ public class NpcCombat {
if (NpcHandler.multiAttacks(i)) {
multiAttackGfx(i, NpcHandler.npcs[i].projectileId);
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
if (GameConstants.COMBAT_SOUNDS
if (CombatConstants.COMBAT_SOUNDS
&& NpcHandler.npcs[i].npcType < 3177
&& NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender()
@@ -240,7 +241,7 @@ public class NpcCombat {
c.singleCombatDelay2 = System.currentTimeMillis();
NpcHandler.npcs[i].oldIndex = c.playerId;
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
if (GameConstants.COMBAT_SOUNDS
if (CombatConstants.COMBAT_SOUNDS
&& NpcHandler.npcs[i].npcType < 3177
&& NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender()
@@ -1,10 +1,10 @@
package com.rebotted.game.content.combat.range;
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.npcs.Npc;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
@@ -397,7 +397,7 @@ public class DwarfCannon {
target.hitUpdateRequired2 = true;
target.updateRequired = true;
myBalls -= 1;
player.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, player.playerRanged);
player.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, player.playerRanged);
}
}
@@ -1,6 +1,5 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
@@ -61,8 +60,7 @@ public class RandomEventHandler {
}
public static void addRandom(Player c) {
if (c.randomEventsEnabled)
{
if (c.randomEventsEnabled) {
if (c.randomActions >= CALL_RANDOM) {
callRandom(c);
if (c.playerIsBusy() && !c.hasSandwhichLady) {
@@ -0,0 +1,136 @@
package com.rebotted.game.content.skills;
import java.util.Arrays;
import java.util.Optional;
/**
* @author Syndicate
*/
public enum SkillData {
ATTACK(0, 6247, 6248, 6249, 4004, 4005, 4044, 4045),
DEFENCE(1, 6253, 6254, 6255, 4008, 4009, 4056, 4057),
STRENGTH(2, 6206, 6207, 6208, 4006, 4007, 4050, 4051),
HITPOINTS(3, 6216, 6217, 6218, 4016, 4017, 4080, 4081),
RANGED(4, 4443, 5453, 6114, 4010, 4011, 4062, 4063),
PRAYER(5, 6242, 6243, 6244, 4012, 4013, 4068, 4069),
MAGIC(6, 6211, 6212, 6213, 4014, 4015, 4074, 4075),
COOKING(7, 6226, 6227, 6228, 4034, 4035, 4134, 4135),
WOODCUTTING(8, 4272, 4273, 4274, 4038, 4039, 4146, 4147),
FLETCHING(9, 6231, 6232, 6233, 4026, 4027, 4110, 4111),
FISHING(10, 6258, 6259, 6260, 4032, 4033, 4128, 4129),
FIREMAKING(11, 4282, 4283, 4284, 4036, 4037, 4140, 4141),
CRAFTING(12, 6263, 6264, 6265, 4024, 4025, 4104, 4105),
SMITHING(13, 6221, 6222, 6223, 4030, 4031, 4122, 4123),
MINING(14, 4416, 4417, 4438, 4028, 4029, 4116, 4117),
HERBLORE(15, 6237, 6238, 6239, 4020, 4021, 4092, 4093),
AGILITY(16, 4277, 4278, 4279, 4018, 4019, 4086, 4087),
THIEVING(17, 4261, 4263, 4264, 4022, 4023, 4098, 4099),
SLAYER(18, 12122, 12123, 12124, 12166, 12167, 12171, 12172),
FARMING(19, 12122, 12123, 12124, 13926, 13927, 13921, 13922),
RUNECRAFTING(20, 4267, 4268, 4269, 4152, 4153, 4157, 4158);
/**
* The identifier for this skill.
*/
private final int skill;
/**
* The first frame id for this skill.
*/
private final int frame;
/**
* The second frame id for this skill.
*/
private final int frame2;
/**
* The third frame id for this skill.
*/
private final int frame3;
/**
* The fourth frame id for this skill.
*/
private final int frame4;
/**
* The fifth frame id for this skill.
*/
private final int frame5;
/**
* The sixth frame id for this skill.
*/
private final int frame6;
/**
* The seventh frame id for this skill.
*/
private final int frame7;
/**
* Constructs a new {@link SkillData}.
*
* @param skill
* @param frame
* @param frame2
* @param frame3
* @param frame4
* @param frame5
* @param frame6
* @param frame7
*/
SkillData(int skill, int frame, int frame2,
int frame3, int frame4, int frame5, int frame6, int frame7) {
this.skill = skill;
this.frame = frame;
this.frame2 = frame2;
this.frame3 = frame3;
this.frame4 = frame4;
this.frame5 = frame5;
this.frame6 = frame6;
this.frame7 = frame7;
}
public final int getId() {
return skill;
}
public final int getFrame1() {
return frame;
}
public final int getFrame2() {
return frame2;
}
public final int getFrame3() {
return frame3;
}
public final int getFrame4() {
return frame4;
}
public final int getFrame5() {
return frame5;
}
public final int getFrame6() {
return frame6;
}
public final int getFrame7() {
return frame7;
}
public String toString() {
return name().charAt(0) + name().substring(1).toLowerCase();
}
public static Optional<SkillData> getSkill(int identifier) {
return Arrays.stream(values()).filter(s -> s.skill == identifier).findFirst();
}
}
@@ -110,15 +110,6 @@ public class SkillHandler {
return false;
}
public static boolean membersOnly(Player c) {
if (c.membership == false) {
c.getPacketSender()
.sendMessage("This is a members only skill.");
return false;
}
return true;
}
public static boolean noInventorySpace(Player c, String skill) {
if (c.getItemAssistant().freeSlots() == 0) {
c.getPacketSender().sendMessage(
@@ -1,11 +1,10 @@
package com.rebotted.game.content.skills.agility;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
/**
* Agility Shortcuts
* @author Andrew (I'm A Boss on Rune-Server, Mr Extremez on Moparscape & Runelocus)
* @author Andrew (Mr Extremez)
*/
public class AgilityShortcut {
@@ -151,8 +151,8 @@ public class Mining {
}
public void startMining(final Player player, final int objectID, final int objectX, final int objectY, final int type) {
if (player.isMining || player.miningRock) return;
if (player.isMining || player.miningRock)
return;
int miningLevel = player.playerLevel[player.playerMining];
rockData rock = rockData.getRock(objectID);
pickaxe = -1;
@@ -272,8 +272,7 @@ public class Mining {
}
public void mineRock(int respawnTime, int x, int y, int type, int i) {
if (i != 2491)
{
if (i != 2491) {
new Object(452, x, y, 0, type, 10, i, respawnTime);
Region.addObject(452, x, y, 0, 10, type, false);
}
@@ -27,31 +27,74 @@ public class Woodcutting {
{6739, 61, 8, 2846},
{13661, 41, 8, 10251}
};
public final static int[][] Tree_Settings = {
{ 1276, 1342, 1, 25, 1511, 45, 100 },
{ 1278, 1342, 1, 25, 1511, 45, 100 },
{ 1286, 1342, 1, 25, 1511, 45, 100 },
{ 1281, 1356, 15, 38, 1521, 11, 20 },
{ 1308, 7399, 30, 68, 1519, 11, 8 },
{ 5552, 7399, 30, 68, 1519, 11, 8 },
{ 1307, 1343, 45, 100, 1517, 48, 8 },
{ 1309, 7402, 60, 175, 1515, 79, 5 },
{ 1306, 7401, 75, 250, 1513, 150, 3 },
{ 5551, 7399, 30, 68, 1519, 11, 8 },
{ 5553, 7399, 30, 68, 1519, 11, 8 },
{ 3033, 1342, 1, 25, 1511, 45, 100 },
{ 3037, 1356, 15, 38, 1521, 11, 20 },
{ 1282, 1342, 1, 25, 1511, 45, 100 },
{ 1383, 1342, 1, 25, 1511, 45, 100 },
{ 2023, 3371, 1, 25, 2862, 45, 100 },
{ 1319, 1341, 1, 25, 1511, 45, 100 },
{ 1318, 1341, 1, 25, 1511, 45, 100 },
{ 1315, 1341, 1, 25, 1511, 45, 100 },
{ 1316, 1341, 1, 25, 1511, 45, 100 },
{ 1332, 1341, 1, 25, 1511, 45, 100 },
{ 1292, 1341, 36, 1, 771, 45, 100 }
};
private static enum treeData {
TREE(new int[] {1276, 1278, 1286, 3033, 1282, 1383}, 1342, 1, 25, 1511, 11, 100),
OAK(new int[] {1281, 3037}, 1356, 15, 38, 1521, 25, 20),
WILLOW(new int[] {1308, 5552, 5551, 5553}, 7399, 30, 68, 1519, 30, 8),
MAPLE(new int[] {1307}, 1343, 45, 100, 1517, 48, 8),
YEW(new int[] {1309}, 7402, 60, 175, 1515, 79, 5),
MAGIC(new int[] {1306}, 7401, 75, 250, 1513, 150, 3),
EVERGREEN(new int[] {1319, 1318, 1315, 1316, 1332}, 1341, 1, 25, 1511, 11, 100),
ACHEY(new int[] {2023}, 3371, 1, 25, 1511, 11, 100),
DRAMEN(new int[] {1292}, 1341, 1, 25, 771, 45, 100);
private int[] treeId;
private int stumpId, levelReq, xpRecieved, logRecieved, respawnTime, cutChance;
private treeData(int[] treeId, int stumpId, int levelReq, int xpRecieved, int logRecieved, int respawnTime, int cutChance) {
this.treeId = treeId;
this.stumpId = stumpId;
this.levelReq = levelReq;
this.xpRecieved = xpRecieved;
this.logRecieved = logRecieved;
this.respawnTime = respawnTime;
this.cutChance = cutChance;
}
private int getStump() {
return stumpId;
}
private int getLevelReq() {
return levelReq;
}
private int getXpReceived() {
return xpRecieved;
}
private int getLogRecieved() {
return logRecieved;
}
private int getRespawnTime() {
return respawnTime;
}
private int getChance() {
return cutChance;
}
private int getObject(int object) {
for (int element : treeId) {
if (object == element) {
return element;
}
}
return -1;
}
private static treeData getTree(int objectId) {
for (treeData tree : treeData.values()) {
if (objectId == tree.getObject(objectId)) {
return tree;
}
}
return null;
}
}
public static int[][] FIX_AXE = { { 492, 508, 1351 }, { 492, 510, 1349 },
{ 492, 512, 1353 }, { 492, 514, 1361 }, { 492, 516, 1355 },
@@ -63,22 +106,16 @@ public class Woodcutting {
CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (p.isWoodcutting)
{
if ((a >= 0) && (a < Axe_Settings.length))
{
try
{
if (p.isWoodcutting) {
if ((a >= 0) && (a < Axe_Settings.length)) {
try {
p.startAnimation(Axe_Settings[a][3]);
} catch (ArrayIndexOutOfBoundsException exception)
{
} catch (ArrayIndexOutOfBoundsException exception) {
System.out.println("LOL this happend again: " + exception);
}
p.getPacketSender().sendSound(SoundList.TREE_CUTTING, 100, 0);
}
}
else
{
} else {
container.stop();
}
}
@@ -99,17 +136,13 @@ public class Woodcutting {
for (int axes[] : Axe_Settings) {
int type = axes[0];
if ( player.getItemAssistant().playerHasItem(type) || player.playerEquipment[player.playerWeapon] == type)
{
if ( player.getItemAssistant().playerHasItem(type) || player.playerEquipment[player.playerWeapon] == type) {
gotAxe = true;
}
}
if (gotAxe)
{
if (gotAxe) {
player.getPacketSender().sendMessage("You swing your axe at the station.");
}
else
{
} else {
player.getPacketSender().sendMessage("You need an axe to cut the station.");
return;
}
@@ -196,7 +229,7 @@ public class Woodcutting {
return false;
}
public static void startWoodcutting(final Player p, final int j, final int x, final int y, final int type) {
public static void startWoodcutting(final Player p, final int objectId, final int x, final int y, final int type) {
CycleEventHandler.getSingleton().stopEvents(p, "WoodcuttingEvent".hashCode());
if (p.isWoodcutting || p.isFletching || p.isFiremaking || p.playerIsFletching) {
return;
@@ -211,9 +244,10 @@ public class Woodcutting {
}
int wcLevel = p.playerLevel[8];
a = -1;
treeData tree = treeData.getTree(objectId);
p.turnPlayerTo(x, y);
if (Tree_Settings[j][2] > wcLevel) {
p.getPacketSender().sendMessage("You need a Woodcutting level of " + Tree_Settings[j][2] + " to cut this tree.");
if (tree.getLevelReq() > wcLevel) {
p.getPacketSender().sendMessage("You need a Woodcutting level of " + tree.getLevelReq() + " to cut this tree.");
return;
}
for (int i = 0; i < Axe_Settings.length; i++) {
@@ -278,11 +312,11 @@ public class Woodcutting {
p.getPacketSender().sendMessage("You have ran out of inventory slots.");
container.stop();
}
int XP = Tree_Settings[j][3];
int XP = tree.getXpReceived();
if (p.isWoodcutting) {
p.getItemAssistant().addItem(Tree_Settings[j][4], 1);
p.getItemAssistant().addItem(tree.getLogRecieved(), 1);
p.getPlayerAssistant().addSkillXP(XP, 8);
p.getPacketSender().sendMessage("You manage to get some " + ItemAssistant.getItemName(Tree_Settings[j][4]).toLowerCase() + " from the tree.");
p.getPacketSender().sendMessage("You manage to get some " + ItemAssistant.getItemName(tree.getLogRecieved()).toLowerCase() + " from the tree.");
}
if (p.tutorialProgress == 3) {
p.getDialogueHandler().sendDialogues(3014, 0);
@@ -299,8 +333,8 @@ public class Woodcutting {
if (p.playerIsFletching || p.isFiremaking) {
container.stop();
}
if (Misc.random(100) <= Tree_Settings[j][6]) {
cutDownTree(Tree_Settings[j][5], x, y, type, Tree_Settings[j][1], Tree_Settings[j][0]);
if (Misc.random(100) <= tree.getChance()) {
cutDownTree(tree.getRespawnTime(), x, y, type, tree.getStump(), objectId);
p.getPacketSender().sendSound(SoundList.TREE_EMPTY, 100, 0);
container.stop();
}
@@ -312,7 +346,7 @@ public class Woodcutting {
p.treeX = 0;
p.treeY = 0;
}
}, getTimer(j, a, wcLevel));
}, getTimer(tree, a, wcLevel));
}
}
@@ -323,8 +357,8 @@ public class Woodcutting {
player.treeY = 0;
}
public static int getTimer(int b, int c, int level) {
double timer = (int)((Tree_Settings[b][2] * 2) + 20 + Misc.random(20))-((Axe_Settings[c][2] * (Axe_Settings[c][2] * 0.75)) + level);
public static int getTimer(treeData tree, int axe, int level) {
double timer = (int)((tree.getLevelReq() * 2) + 20 + Misc.random(20))-((Axe_Settings[axe][2] * (Axe_Settings[axe][2] * 0.75)) + level);
if (timer < 3.0) {
return 3;
} else {
@@ -384,17 +418,19 @@ public class Woodcutting {
{ // MAPLE
1307, 4674, 8435, 8436, 8437, 8438, 8439, 8440, 8441, 8442, 8443,
8444, 8454, 8455, 8456, 8457, 8458, 8459, 8460, 8461,
13415, 13423, }, { // YEW
13415, 13423, },
{ // YEW
1309, 8503, 8504, 8505, 8506, 8507, 8508, 8509, 8510, 8511, 8512,
8513, 13416, 13422, }, { // MAGIC
8513, 13416, 13422, },
{ // MAGIC
1306, 8396, 8397, 8398, 8399, 8400, 8401, 8402, 8403, 8404, 8405,
8406, 8407, 8408, 8409, 13417, 13424, } };
public static void cutDownTree(int respawnTime, int x, int y, int type, int i, int j) {
new Object(i, x, y, 0, type, 10, j, respawnTime);
public static void cutDownTree(int respawnTime, int objectX, int objectY, int type, int i, int objectId) {
new Object(i, objectX, objectY, 0, type, 10, objectId, respawnTime);
for (int t = 0; t < PlayerHandler.players.length; t++) {
if (PlayerHandler.players[t] != null) {
if (PlayerHandler.players[t].treeX == x && PlayerHandler.players[t].treeY == y) {
if (PlayerHandler.players[t].treeX == objectX && PlayerHandler.players[t].treeY == objectY) {
PlayerHandler.players[t].isWoodcutting = false;
PlayerHandler.players[t].startAnimation(65535);
PlayerHandler.players[t].treeX = 0;
@@ -0,0 +1,738 @@
package com.rebotted.game.dialogues;
import com.rebotted.game.content.skills.crafting.JewelryMaking;
import com.rebotted.game.items.impl.Flowers;
import com.rebotted.game.items.impl.Teles;
import com.rebotted.game.players.Player;
/**
* Dialogue Options
* @author Andrew (Mr Extremez)
*/
public class DialogueOptions {
public static void handleDialogueOptions(Player player, int buttonId) {
switch (buttonId) {
case 9157:// barrows tele to tunnels
if (player.dialogueAction == 1) {
int r = 4;
// int r = Misc.random(3);
switch (r) {
case 0:
player.getPlayerAssistant().movePlayer(3534, 9677, 0);
break;
case 1:
player.getPlayerAssistant().movePlayer(3534, 9712, 0);
break;
case 2:
player.getPlayerAssistant().movePlayer(3568, 9712, 0);
break;
case 3:
player.getPlayerAssistant().movePlayer(3568, 9677, 0);
break;
case 4:
player.getPlayerAssistant().movePlayer(3551, 9694, 0);
break;
}
} else if (player.dialogueAction == 2) {
player.getPlayerAssistant().movePlayer(2507, 4717, 0);
} else if (player.dialogueAction == 7) {
player.getPlayerAssistant().startTeleport(3088, 3933, 0, "modern");
player.getPacketSender().sendMessage(
"NOTE: You are now in the wilderness...");
} else if (player.dialogueAction == 8) {
player.getPlayerAssistant().resetBarrows();
player.getPacketSender().sendMessage(
"Your barrows have been reset.");
} else if (player.dialogueAction == 29) {
player.getDialogueHandler().sendDialogues(480, player.npcType);
return;
} else if (player.dialogueAction == 30) {
player.getDialogueHandler().sendDialogues(488, player.npcType);
return;
} else if (player.dialogueAction == 34) {
player.getDialogueHandler().sendDialogues(361, player.npcType);
return;
} else if (player.dialogueAction == 50) {
player.getPlayerAssistant().startTeleport(2898, 3562, 0,
"modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 55) {
player.getDialogueHandler().sendDialogues(91, player.npcType);
return;
} else if (player.dialogueAction == 56) {
player.getDialogueHandler().sendDialogues(96, player.npcType);
return;
} else if (player.dialogueAction == 57) {
player.getDialogueHandler().sendDialogues(57, player.npcType);
return;
} else if (player.dialogueAction == 3222) {
player.getBarrows().checkCoffins();
player.getPacketSender().closeAllWindows();
return;
} else if (player.dialogueAction == 3218) {
player.getDialogueHandler().sendDialogues(3219, 0);
return;
} else if (player.dialogueAction == 65) {
player.getDialogueHandler().sendDialogues(179, player.npcType);
return;
} else if (player.dialogueAction == 66) {
player.getDialogueHandler().sendDialogues(182, player.npcType);
return;
} else if (player.dialogueAction == 67) {
player.getDialogueHandler().sendDialogues(36, player.npcType);
return;
} else if (player.dialogueAction == 68) {
player.getDialogueHandler().sendDialogues(587, player.npcType);
return;
} else if (player.dialogueAction == 70) {
player.getDialogueHandler().sendDialogues(1009, player.npcType);
return;
} else if (player.dialogueAction == 71) {
player.getDialogueHandler().sendDialogues(556, player.npcType);
return;
} else if (player.dialogueAction == 72) {
player.getDialogueHandler().sendDialogues(563, player.npcType);
return;
} else if (player.dialogueAction == 73) {
player.getDialogueHandler().sendDialogues(579, player.npcType);
return;
} else if (player.dialogueAction == 74) {
player.getDialogueHandler().sendDialogues(534, player.npcType);
return;
} else if (player.dialogueAction == 90) {
player.getDialogueHandler().sendDialogues(12, player.npcType);
return;
} else if (player.dialogueAction == 91) {
player.getDialogueHandler().sendDialogues(16, player.npcType);
return;
} else if (player.dialogueAction == 92) {
player.getDialogueHandler().sendDialogues(9, player.npcType);
return;
} else if (player.dialogueAction == 93) {
player.getDialogueHandler().sendDialogues(23, player.npcType);
return;
} else if (player.dialogueAction == 118) {
player.getDialogueHandler().sendDialogues(394, player.npcType);
return;
} else if (player.dialogueAction == 119) {
player.getDialogueHandler().sendDialogues(399, player.npcType);
return;
} else if (player.dialogueAction == 120) {
player.getDialogueHandler().sendDialogues(406, player.npcType);
return;
} else if (player.dialogueAction == 121) {
player.getDialogueHandler().sendDialogues(438, player.npcType);
return;
} else if (player.dialogueAction == 125) {
player.getDialogueHandler().sendDialogues(154, player.npcType);
return;
} else if (player.dialogueAction == 127) {
player.getDialogueHandler().sendDialogues(210, player.npcType);
return;
} else if (player.dialogueAction == 128) {
player.getDialogueHandler().sendDialogues(223, player.npcType);
return;
} else if (player.dialogueAction == 130) {
player.getDialogueHandler().sendDialogues(594, player.npcType);
return;
} else if (player.dialogueAction == 132) {
player.getDialogueHandler().sendDialogues(1013, player.npcType);
} else if (player.dialogueAction == 133) {
player.getDialogueHandler().sendDialogues(1016, player.npcType);
} else if (player.dialogueAction == 140) {
player.getDialogueHandler().sendDialogues(198, player.npcType);
return;
} else if (player.dialogueAction == 141) {
player.getDialogueHandler().sendDialogues(1020, player.npcType);
return;
} else if (player.dialogueAction == 143) {
player.getDialogueHandler().sendDialogues(1232, player.npcType);
return;
} else if (player.dialogueAction == 168) {
player.getDialogueHandler().sendDialogues(476, player.npcType);
return;
} else if (player.dialogueAction == 508) {
player.getDialogueHandler().sendDialogues(1026, player.npcType);
return;
} else if (player.dialogueAction == 855) {
player.getItemAssistant().removeAllItems();
} else if (player.dialogueAction == 146) {
player.getDialogueHandler().sendDialogues(1325, player.npcType);
return;
} else if (player.dialogueAction == 177) {
player.getDialogueHandler().sendDialogues(1376, player.npcType);
return;
} else if (player.dialogueAction == 151) {
player.getDialogueHandler().sendDialogues(2998, player.npcType);
return;
} else if (player.dialogueAction == 152) {
player.getDialogueHandler().sendDialogues(3121, player.npcType);
return;
} else if (player.dialogueAction == 154) {
player.getDialogueHandler().sendDialogues(3137, player.npcType);
return;
} else if (player.dialogueAction == 155) {
player.getDialogueHandler().sendDialogues(3142, player.npcType);
return;
} else if (player.dialogueAction == 156) {
player.getDialogueHandler().sendDialogues(3147, player.npcType);
return;
} else if (player.dialogueAction == 157) {
player.getDialogueHandler().sendDialogues(3153, player.npcType);
return;
} else if (player.dialogueAction == 158) {
player.getDialogueHandler().sendDialogues(3156, player.npcType);
return;
} else if (player.dialogueAction == 3111) {
player.getDialogueHandler().sendDialogues(3112, 946);
return;
} else if (player.dialogueAction == 162) {
player.getDialogueHandler().sendDialogues(3170, player.npcType);
return;
} else if (player.dialogueAction == 163) {
player.getDialogueHandler().sendDialogues(3129, player.npcType);
return;
} else if (player.dialogueAction == 164) {
player.getDialogueHandler().sendDialogues(3177, 510);
return;
} else if (player.dialogueAction == 165) {
player.getDialogueHandler().sendDialogues(3182, 510);
return;
} else if (player.dialogueAction == 166) {
player.getDialogueHandler().sendDialogues(1340, player.npcType);
return;
} else if (player.dialogueAction == 170) {
player.getDialogueHandler().sendDialogues(1348, player.npcType);
return;
} else if (player.dialogueAction == 171) {
player.getDialogueHandler().sendDialogues(1352, player.npcType);
return;
} else if (player.dialogueAction == 172) {
player.getDialogueHandler().sendDialogues(1355, player.npcType);
return;
} else if (player.dialogueAction == 173) {
player.getDialogueHandler().sendDialogues(1360, player.npcType);
return;
} else if (player.dialogueAction == 175) {
player.getDialogueHandler().sendDialogues(3192, player.npcType);
return;
} else if (player.dialogueAction == 176) {
player.getDialogueHandler().sendDialogues(1372, player.npcType);
return;
} else if (player.dialogueAction == 178) {
player.getDialogueHandler().sendDialogues(3186, player.npcType);
return;
} else if (player.dialogueAction == 179) {
player.getDialogueHandler().sendDialogues(1380, player.npcType);
return;
} else if (player.dialogueAction == 180) {
player.getDialogueHandler().sendDialogues(3197, player.npcType);
return;
} else if (player.dialogueAction == 181) {
player.getDialogueHandler().sendDialogues(612, player.npcType);
return;
} else if (player.dialogueAction == 183) {
player.getDialogueHandler().sendDialogues(620, player.npcType);
return;
} else if (player.dialogueAction == 184) {
player.getDialogueHandler().sendDialogues(624, player.npcType);
return;
} else if (player.dialogueAction == 3204) {
player.getItemAssistant().deleteItem(1929, 1);
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1931, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 3205) {
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().deleteItem(1937, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1935, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 189) {
player.getDialogueHandler().sendDialogues(3210, player.npcType);
return;
} else if (player.dialogueAction == 161) {// rod
player.getPlayerAssistant().startTeleport(3313, 3234, 0, "modern");
Teles.necklaces(player);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9158:
if (player.dialogueAction == 8) {
player.getPlayerAssistant().fixAllBarrows();
} else if (player.dialogueAction == 29) {
player.getDialogueHandler().sendDialogues(481, player.npcType);
return;
} else if (player.dialogueAction == 34) {
player.getDialogueHandler().sendDialogues(359, player.npcType);
return;
} else if (player.dialogueAction == 50) {
player.getPlayerAssistant().startTeleport(2545, 3569, 0, "modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 55) {
player.getDialogueHandler().sendDialogues(92, player.npcType);
return;
} else if (player.dialogueAction == 56) {
player.getDialogueHandler().sendDialogues(95, player.npcType);
return;
} else if (player.dialogueAction == 74) {
player.getDialogueHandler().sendDialogues(535, player.npcType);
return;
} else if (player.dialogueAction == 57) {
player.getDialogueHandler().sendDialogues(58, player.npcType);
return;
} else if (player.dialogueAction == 62) {
player.getDialogueHandler().sendDialogues(309, player.npcType);
return;
} else if (player.dialogueAction == 67) {
player.getDialogueHandler().sendDialogues(35, player.npcType);
return;
} else if (player.dialogueAction == 68) {
player.getDialogueHandler().sendDialogues(586, player.npcType);
return;
} else if (player.dialogueAction == 71) {
player.getDialogueHandler().sendDialogues(582, player.npcType);
return;
} else if (player.dialogueAction == 72) {
player.getDialogueHandler().sendDialogues(562, player.npcType);
return;
} else if (player.dialogueAction == 73) {
player.getDialogueHandler().sendDialogues(580, player.npcType);
return;
} else if (player.dialogueAction == 90) {
player.getDialogueHandler().sendDialogues(13, player.npcType);
return;
} else if (player.dialogueAction == 91) {
player.getDialogueHandler().sendDialogues(17, player.npcType);
return;
} else if (player.dialogueAction == 118) {
player.getDialogueHandler().sendDialogues(392, player.npcType);
return;
} else if (player.dialogueAction == 119) {
player.getDialogueHandler().sendDialogues(404, player.npcType);
return;
} else if (player.dialogueAction == 120) {
player.getDialogueHandler().sendDialogues(404, player.npcType);
return;
} else if (player.dialogueAction == 121) {
player.getDialogueHandler().sendDialogues(437, player.npcType);
return;
} else if (player.dialogueAction == 125) {
player.getDialogueHandler().sendDialogues(163, player.npcType);
return;
} else if (player.dialogueAction == 130) {
player.getDialogueHandler().sendDialogues(593, player.npcType);
return;
} else if (player.dialogueAction == 131) {
JewelryMaking.mouldInterface(player);
return;
} else if (player.dialogueAction == 141) {
player.getDialogueHandler().sendDialogues(1021, player.npcType);
return;
} else if (player.dialogueAction == 143) {
player.getDialogueHandler().sendDialogues(1233, player.npcType);
return;
} else if (player.dialogueAction == 161) {// rod
player.getPlayerAssistant().startTeleport(2441, 3090, 0, "modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 508) {
player.getDialogueHandler().sendDialogues(1025, player.npcType);
return;
} else if (player.dialogueAction == 146) {
player.getDialogueHandler().sendDialogues(1324, player.npcType);
return;
} else if (player.dialogueAction == 177) {
player.getDialogueHandler().sendDialogues(1375, player.npcType);
return;
} else if (player.dialogueAction == 21) {
Flowers.harvestFlower(player, Flowers.lastObject);
player.getPacketSender().closeAllWindows();
} else if (player.dialogueAction == 3111) {
player.getDialogueHandler().sendDialogues(3117, 946);
return;
} else if (player.dialogueAction == 152) {
player.getDialogueHandler().sendDialogues(3120, player.npcType);
return;
} else if (player.dialogueAction == 151) {
player.getDialogueHandler().sendDialogues(3000, player.npcType);
player.getPacketSender().closeAllWindows();
return;
} else if (player.dialogueAction == 154) {
player.getDialogueHandler().sendDialogues(3135, player.npcType);
return;
} else if (player.dialogueAction == 155) {
player.getDialogueHandler().sendDialogues(3141, player.npcType);
return;
} else if (player.dialogueAction == 156) {
player.getDialogueHandler().sendDialogues(3146, player.npcType);
return;
} else if (player.dialogueAction == 157) {
player.getDialogueHandler().sendDialogues(3152, player.npcType);
return;
} else if (player.dialogueAction == 158) {
player.getDialogueHandler().sendDialogues(3157, player.npcType);
return;
} else if (player.dialogueAction == 162) {
player.getDialogueHandler().sendDialogues(3169, player.npcType);
return;
} else if (player.dialogueAction == 163) {
player.getDialogueHandler().sendDialogues(3131, player.npcType);
return;
} else if (player.dialogueAction == 164) {
player.getDialogueHandler().sendDialogues(3175, player.npcType);
return;
} else if (player.dialogueAction == 165) {
player.getDialogueHandler().sendDialogues(3180, player.npcType);
return;
} else if (player.dialogueAction == 166) {
player.getDialogueHandler().sendDialogues(1339, player.npcType);
return;
} else if (player.dialogueAction == 168) {
player.getDialogueHandler().sendDialogues(1337, player.npcType);
return;
} else if (player.dialogueAction == 170) {
player.getDialogueHandler().sendDialogues(1347, player.npcType);
return;
} else if (player.dialogueAction == 171) {
player.getDialogueHandler().sendDialogues(1351, player.npcType);
return;
} else if (player.dialogueAction == 172) {
player.getDialogueHandler().sendDialogues(1356, player.npcType);
return;
} else if (player.dialogueAction == 173) {
player.getDialogueHandler().sendDialogues(1361, player.npcType);
return;
} else if (player.dialogueAction == 175) {
player.getDialogueHandler().sendDialogues(3191, player.npcType);
return;
} else if (player.dialogueAction == 176) {
player.getDialogueHandler().sendDialogues(1371, player.npcType);
return;
} else if (player.dialogueAction == 178) {
player.getDialogueHandler().sendDialogues(3185, player.npcType);
return;
} else if (player.dialogueAction == 179) {
player.getDialogueHandler().sendDialogues(1381, player.npcType);
return;
} else if (player.dialogueAction == 180) {
player.getDialogueHandler().sendDialogues(3199, player.npcType);
return;
} else if (player.dialogueAction == 181) {
player.getDialogueHandler().sendNpcChat1("No I like my job as Squire, I just need some help.", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 183) {
player.getDialogueHandler().sendPlayerChat1("Well I hope you find it soon.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 184) {
player.getDialogueHandler().sendPlayerChat1("No, I've got lots of mining work to do.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 3204) {
player.getItemAssistant().deleteItem(1929, 1);
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().addItem(2307, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1931, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 3205) {
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().deleteItem(1937, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1935, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 189) {
player.getDialogueHandler().sendDialogues(3212, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9178:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(3428, 3538, 0, "modern");
}
if (player.dialogueAction == 122 && player.objectId == 12164 || player.objectId == 12163 || player.objectId == 12166) {//barb
player.getPlayerAssistant().startTeleport(3112, 3410, 0, "modern");
} else if (player.objectId == 12165) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to barbarian village because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(3565, 3314, 0,
"modern");
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3088, 3500, 0,
"modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(500, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(340, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(354, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(378, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3088, 3500, 0,
"modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(52, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3524,player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1005, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1045, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1318, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3123, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3164, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1234, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().buyArrows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
}
break;
case 9179:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2884, 3395, 0, "modern");
}
if (player.dialogueAction == 122 && player.objectId == 12163 || player.objectId == 12165 || player.objectId == 12166) {//champ
player.getPlayerAssistant().startTeleport(3203, 3343, 0, "modern");
} else if (player.objectId == 12164) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to the Champion Guild because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(2444, 5170, 0, "modern");
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3243, 3513, 0, "modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(502, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(341, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(356, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(376, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3293, 3174, 0, "modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(64, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523, player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500002, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1042, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1319, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3124, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3164, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1235, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().exchangePoints();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(29, player.npcType);
}
break;
case 9180:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2471, 10137, 0, "modern");
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500003, player.npcType);
}
if (player.dialogueAction == 122 && player.objectId == 12164 || player.objectId == 12165 || player.objectId == 12166) {//lumby
player.getPlayerAssistant().startTeleport(3243, 3237, 0, "modern");
} else if (player.objectId == 12163) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to Lumbridge because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3363, 3676, 0, "modern");
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(2659, 2676, 0, "modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(501, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(342, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(355, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(377, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(2911, 3152, 0, "modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(65, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523,player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(30, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1041, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1320, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3125, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3165, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1236, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().howAmIDoing();
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1003, player.npcType);
}
break;
case 9181:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2669, 3714, 0, "modern");
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500004, player.npcType);
}
if (player.dialogueAction == 122 && player.objectId == 12163 || player.objectId == 12164 || player.objectId == 12165) {//edge
player.getPlayerAssistant().startTeleport(3132, 3509, 0, "modern");
} else if (player.objectId == 12166) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to Edgeville because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(2540, 4716, 0,
"modern");
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3103, 3249, 0,
"modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(63, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523, player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(31, player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1004, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1038, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1321, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3126, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3166, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1231, player.npcType);
}
if (player.dialogueAction == 485) {
player.getPacketSender().closeAllWindows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
}
break;
}
}
}
@@ -1,177 +1,218 @@
package com.rebotted.game.globalworldobjects;
import com.rebotted.game.players.Player;
/**
* Single Gates
* Aug 24, 2017 : 4:20:18 AM
* DoubleGates.java
* @author Andrew (Mr Extremez)
*/
public class DoubleGates extends GateHandler {
public static void useDoubleGate(Player player, int objectId) {
public void useDoubleGate(Player player, int objectId) {
switch (objectId) {
case 7049:
handleGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3283 && player.objectY <= 3285) {
handleWoodenGate(player, 7049, 7050, 3052, 3284, 3052, 3285, 3052, 3283, 3053, 3283, 2);
} else if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3299 && player.objectY <= 3301) {
handleWoodenGate(player, 7049, 7050, 3052, 3300, 3052, 3301, 3052, 3299, 3053, 3299, 2);
} else if (player.objectX > 3030 && player.objectX < 3033) {
handleWoodenGate(player, 7049, 7050, 3031, 3314, 3031, 3315, 3031, 3313, 3032, 3313, 2);
} else if (player.objectY > 3304 && player.objectY < 3307) {
handleWoodenGate(player, 7049, 7050, 3020, 3305, 3019, 3305, 3021, 3305, 3021, 3306, 1);
} else if (player.objectY > 3299 && player.objectY < 3302) {
handleWoodenGate(player, 7049, 7050, 3020, 3300, 3019, 3300, 3021, 3300, 3021, 3301, 1);
} else {
handleWoodenGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
}
break;
case 7050:
handleGate(player, 7050, 7049, 3077, 3260, 3077, 3259, 3078, 3258, 3077, 3258, 2);
if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3283 && player.objectY <= 3285) {
handleWoodenGate(player, 7050, 7049, 3052, 3285, 3052, 3284, 3053, 3283, 3052, 3283, 2);
} else if (player.objectY > 3299 && player.objectY < 3302) {
handleWoodenGate(player, 7049, 7050, 3019, 3300, 3020, 3300, 3021, 3301, 3021, 3300, 1);
} else if (player.objectY > 3304 && player.objectY < 3307) {
handleWoodenGate(player, 7050, 7049, 3019, 3305, 3020, 3305, 3021, 3306, 3021, 3305, 1);
} else if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3299 && player.objectY <= 3301) {
handleWoodenGate(player, 7050, 7049, 3052, 3301, 3052, 3300, 3053, 3299, 3052, 3299, 2);
} else if (player.objectX > 3030 && player.objectX < 3033) {
handleWoodenGate(player, 7050, 7049, 3031, 3315, 3031, 3314, 3032, 3313, 3031, 3313, 2);
} else {
handleWoodenGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
}
break;
case 1598:
handleGate(player, 1598, 1599, 3319, 3467, 3318, 3467, 3320, 3467, 3320, 3468, 1);
handleWoodenGate(player, 1598, 1599, 3319, 3467, 3318, 3467, 3320, 3467, 3320, 3468, 1);
break;
case 1599:
handleGate(player, 1599, 1598, 3318, 3467, 3319, 3467, 3320, 3468, 3320, 3467, 1);
handleWoodenGate(player, 1599, 1598, 3318, 3467, 3319, 3467, 3320, 3468, 3320, 3467, 1);
break;
case 3197:
handleGate(player, 3197, 3198, 3311, 3234, 3310, 3234, 3312, 3234, 3312, 3235, 1);
handleWoodenGate(player, 3197, 3198, 3311, 3234, 3310, 3234, 3312, 3234, 3312, 3235, 1);
break;
case 3198:
handleGate(player, 3198, 3197, 3310, 3234, 3311, 3234, 3312, 3235, 3312, 3234, 1);
handleWoodenGate(player, 3198, 3197, 3310, 3234, 3311, 3234, 3312, 3235, 3312, 3234, 1);
break;
case 1551:
if (player.objectX > 3179 && player.objectX < 3182) {
handleGate(player, 1551, 1553, 3181, 3288, 3181, 3287, 3181, 3289, 3180, 3289, 0);
handleWoodenGate(player, 1551, 1553, 3181, 3288, 3181, 3287, 3181, 3289, 3180, 3289, 0);
} else if (player.objectX > 2922 && player.objectX < 2925) {
handleWoodenGate(player, 1551, 1553, 2924, 3291, 2924, 3290, 2924, 3292, 2923, 3292, 0);
} else if (player.objectX > 3078 && player.objectX < 3081) {
handleWoodenGate(player, 1551, 1553, 3080, 3500, 3080, 3499, 3080, 3501, 3079, 3501, 0);
} else if (player.objectX > 3161 && player.objectX < 3164) {
handleGate(player, 1551, 1553, 3163, 3289, 3163, 3288, 3163, 3290, 3162, 3290, 0);
handleWoodenGate(player, 1551, 1553, 3163, 3289, 3163, 3288, 3163, 3290, 3162, 3290, 0);
} else if (player.objectY > 3290 && player.objectY < 3294) {
handleGate(player, 1551, 1553, 3145, 3292, 3145, 3293, 3145, 3291, 3146, 3291, 2);
handleWoodenGate(player, 1551, 1553, 3145, 3292, 3145, 3293, 3145, 3291, 3146, 3291, 2);
} else if (player.objectY > 3272 && player.objectY < 3275) {
handleGate(player, 1551, 1553, 3106, 3273, 3105, 3273, 3107, 3273, 3107, 3274, 1);
handleWoodenGate(player, 1551, 1553, 3106, 3273, 3105, 3273, 3107, 3273, 3107, 3274, 1);
} else if (player.objectY > 3265 && player.objectY < 3268) {
handleGate(player, 1551, 1553, 3252, 3266, 3251, 3266, 3253, 3266, 3253, 3267, 1);
handleWoodenGate(player, 1551, 1553, 3252, 3266, 3251, 3266, 3253, 3266, 3253, 3267, 1);
} else if (player.objectY > 3283 && player.objectY < 3286) {
handleGate(player, 1551, 1553, 3237, 3285, 3238, 3285, 3236, 3285, 3236, 3284, 5);
handleWoodenGate(player, 1551, 1553, 3237, 3285, 3238, 3285, 3236, 3285, 3236, 3284, 5);
} else if (player.objectY > 3294 && player.objectY < 3297) {
handleGate(player, 1551, 1553, 3237, 3296, 3238, 3296, 3236, 3296, 3236, 3295, 5);
handleWoodenGate(player, 1551, 1553, 3237, 3296, 3238, 3296, 3236, 3296, 3236, 3295, 5);
} else if (player.objectY > 3300 && player.objectY < 3303) {
handleGate(player, 1551, 1553, 3240, 3301, 3239, 3301, 3241, 3301, 3241, 3302, 1);
handleWoodenGate(player, 1551, 1553, 3240, 3301, 3239, 3301, 3241, 3301, 3241, 3302, 1);
} else if (player.objectX > 3260 & player.objectX < 3263) {
handleGate(player, 1551, 1553, 3261, 3322, 3261, 3323, 3261, 3321, 3262, 3321, 2);
handleWoodenGate(player, 1551, 1553, 3261, 3322, 3261, 3323, 3261, 3321, 3262, 3321, 2);
} else if (player.objectY > 3348 && player.objectY < 3351) {
handleGate(player, 1551, 1553, 2676, 3350, 2677, 3350, 2675, 3350, 2675, 3349, 5);
handleWoodenGate(player, 1551, 1553, 2676, 3350, 2677, 3350, 2675, 3350, 2675, 3349, 5);
} else if (player.objectY > 3313 && player.objectY < 3318) {
handleGate(player, 1551, 1553, 3174, 3314, 3174, 3315, 3175, 3316, 3174, 3316, 4);
handleWoodenGate(player, 1551, 1553, 3174, 3314, 3174, 3315, 3175, 3316, 3174, 3316, 4);
} else if (player.objectY > 3442 && player.objectY < 3445) {
handleWoodenGate(player, 1551, 1553, 2767, 3444, 2768, 3444, 2766, 3444, 2766, 3443, 5);
} else {
handleGate(player, 1551, 1553, 3198, 3281, 3198, 3280, 3198, 3282, 3197, 3282, 0);
handleWoodenGate(player, 1551, 1553, 3198, 3281, 3198, 3280, 3198, 3282, 3197, 3282, 0);
}
break;
case 1553:
if (player.objectX > 3179 && player.objectX < 3182) {
handleGate(player, 1553, 1551, 3181, 3287, 3181, 3288, 3180, 3289, 3181, 3289, 0);
handleWoodenGate(player, 1553, 1551, 3181, 3287, 3181, 3288, 3180, 3289, 3181, 3289, 0);
} else if (player.objectX > 2922 && player.objectX < 2925) {
handleWoodenGate(player, 1553, 1551, 2924, 3290, 2924, 3291, 2923, 3292, 2924, 3292, 0);
} else if (player.objectY > 3442 && player.objectY < 3445) {
handleWoodenGate(player, 1553, 1551, 2768, 3444, 2767, 3444, 2766, 3443, 2766, 3444, 5);
} else if (player.objectX > 3078 && player.objectX < 3081) {
handleWoodenGate(player, 1553, 1551, 3080, 3499, 3080, 3500, 3079, 3501, 3080, 3501, 0);
} else if (player.objectX > 3161 && player.objectX < 3164) {
handleGate(player, 1553, 1551, 3163, 3288, 3163, 3289, 3162, 3290, 3163, 3290, 0);
handleWoodenGate(player, 1553, 1551, 3163, 3288, 3163, 3289, 3162, 3290, 3163, 3290, 0);
} else if (player.objectY > 3290 && player.objectY < 3294) {
handleGate(player, 1553, 1551, 3145, 3293, 3145, 3292, 3146, 3291, 3145, 3291, 2);
handleWoodenGate(player, 1553, 1551, 3145, 3293, 3145, 3292, 3146, 3291, 3145, 3291, 2);
} else if (player.objectY > 3272 && player.objectY < 3275) {
handleGate(player, 1553, 1551, 3105, 3273, 3106, 3273, 3107, 3274, 3107, 3273, 1);
handleWoodenGate(player, 1553, 1551, 3105, 3273, 3106, 3273, 3107, 3274, 3107, 3273, 1);
} else if (player.objectY > 3265 && player.objectY < 3268) {
handleGate(player, 1553, 1551, 3251, 3266, 3252, 3266, 3253, 3267, 3253, 3266, 1);
handleWoodenGate(player, 1553, 1551, 3251, 3266, 3252, 3266, 3253, 3267, 3253, 3266, 1);
} else if (player.objectY > 3283 && player.objectY < 3286) {
handleGate(player, 1553, 1551, 3238, 3285, 3237, 3285, 3236, 3284, 3236, 3285, 5);
handleWoodenGate(player, 1553, 1551, 3238, 3285, 3237, 3285, 3236, 3284, 3236, 3285, 5);
} else if (player.objectY > 3294 && player.objectY < 3297) {
handleGate(player, 1553, 1551, 3238, 3296, 3237, 3296, 3236, 3295, 3236, 3296, 5);
handleWoodenGate(player, 1553, 1551, 3238, 3296, 3237, 3296, 3236, 3295, 3236, 3296, 5);
} else if (player.objectY > 3300 && player.objectY < 3303) {
handleGate(player, 1553, 1551, 3239, 3301, 3240, 3301, 3241, 3302, 3241, 3301, 1);
handleWoodenGate(player, 1553, 1551, 3239, 3301, 3240, 3301, 3241, 3302, 3241, 3301, 1);
} else if (player.objectX > 3260 & player.objectX < 3263) {
handleGate(player, 1553, 1551, 3261, 3323, 3261, 3322, 3262, 3321, 3261, 3321, 2);
handleWoodenGate(player, 1553, 1551, 3261, 3323, 3261, 3322, 3262, 3321, 3261, 3321, 2);
} else if (player.objectY > 3348 && player.objectY < 3351) {
handleGate(player, 1553, 1551, 2677, 3350, 2676, 3350, 2675, 3349, 2675, 3350, 5);
handleWoodenGate(player, 1553, 1551, 2677, 3350, 2676, 3350, 2675, 3349, 2675, 3350, 5);
} else if (player.objectY > 3313 && player.objectY < 3318) {
handleGate(player, 1553, 1551, 3174, 3315, 3174, 3314, 3174, 3316, 3175, 3316, 4);
handleWoodenGate(player, 1553, 1551, 3174, 3315, 3174, 3314, 3174, 3316, 3175, 3316, 4);
} else {
handleGate(player, 1553, 1551, 3198, 3280, 3198, 3281, 3197, 3282, 3198, 3282, 0);
handleWoodenGate(player, 1553, 1551, 3198, 3280, 3198, 3281, 3197, 3282, 3198, 3282, 0);
}
break;
case 12986:
if (player.objectX > 3187 && player.objectX < 3190) {
handleGate(player, 12986, 12987, 3188, 3280, 3188, 3281, 3188, 3279, 3189, 3279, 2);
handleWoodenGate(player, 12986, 12987, 3188, 3280, 3188, 3281, 3188, 3279, 3189, 3279, 2);
} else if (player.objectY > 3267 && player.objectY < 3270) {
handleGate(player, 12986, 12987, 3185, 3268, 3184, 3268, 3186, 3268, 3186, 3269, 1);
handleWoodenGate(player, 12986, 12987, 3185, 3268, 3184, 3268, 3186, 3268, 3186, 3269, 1);
} else {
handleGate(player, 12986, 12987, 3212, 3261, 3211, 3261, 3213, 3261, 3213, 3262, 1);
handleWoodenGate(player, 12986, 12987, 3212, 3261, 3211, 3261, 3213, 3261, 3213, 3262, 1);
}
break;
case 12987:
if (player.objectX > 3187 && player.objectX < 3190) {
handleGate(player, 12987, 12986, 3188, 3281, 3188, 3280, 3189, 3279, 3188, 3279, 2);
handleWoodenGate(player, 12987, 12986, 3188, 3281, 3188, 3280, 3189, 3279, 3188, 3279, 2);
} else if (player.objectY > 3267 && player.objectY < 3270) {
handleGate(player, 12987, 12986, 3184, 3268, 3185, 3268, 3186, 3269, 3186, 3268, 1);
handleWoodenGate(player, 12987, 12986, 3184, 3268, 3185, 3268, 3186, 3269, 3186, 3268, 1);
} else {
handleGate(player, 12987, 12986, 3211, 3261, 3212, 3261, 3213, 3262, 3213, 3261, 1);
handleWoodenGate(player, 12987, 12986, 3211, 3261, 3212, 3261, 3213, 3262, 3213, 3261, 1);
}
break;
case 1596:
if (player.objectX > 3310 && player.objectX < 3313 && player.absY != 3333) {
handleSpecialGate(player, 1596, 1597, 3311, 3331, 3311, 3332, 3312, 3331, 3312, 3332, 3);
handleMetalGate(player, 1596, 1597, 3311, 3331, 3311, 3332, 3312, 3331, 3312, 3332, 3);
} else if (player.objectY > 3318 && player.objectY < 3321 && player.absX != 2935 && player.absX != 2932) {
handleSpecialGate(player, 1596, 1597, 2934, 3319, 2933, 3319, 2934, 3320, 2933, 3320, 0);
handleMetalGate(player, 1596, 1597, 2934, 3319, 2933, 3319, 2934, 3320, 2933, 3320, 0);
} else if (player.objectX > 3130 && player.objectX < 3133) {
handleSpecialGate(player, 1596, 1597, 3131, 9918, 3132, 9918, 3131, 9917, 3132, 9917, 6);
handleMetalGate(player, 1596, 1597, 3131, 9918, 3132, 9918, 3131, 9917, 3132, 9917, 6);
} else if (player.objectY > 3181 && player.objectY < 3184) {
handleSpecialGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
handleMetalGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
} else if (player.objectY > 3449 && player.objectY < 3452) {
handleSpecialGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
handleMetalGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
}
break;
case 1597:
if (player.objectX > 3310 && player.objectX < 3313 && player.absY != 3333) {
handleSpecialGate(player, 1597, 1596, 3311, 3332, 3311, 3331, 3312, 3332, 3312, 3331, 1);
handleMetalGate(player, 1597, 1596, 3311, 3332, 3311, 3331, 3312, 3332, 3312, 3331, 1);
} else if (player.objectY > 3318 && player.objectY < 3321 && player.absX != 2935 && player.absX != 2932) {
handleSpecialGate(player, 1597, 1596, 2933, 3319, 2934, 3319, 2933, 3320, 2934, 3320, 2);
handleMetalGate(player, 1597, 1596, 2933, 3319, 2934, 3319, 2933, 3320, 2934, 3320, 2);
} else if (player.objectX > 3130 && player.objectX < 3133) {
handleSpecialGate(player, 1597, 1596, 3132, 9918, 3131, 9918, 3132, 9917, 3131, 9917, 4);
handleMetalGate(player, 1597, 1596, 3132, 9918, 3131, 9918, 3132, 9917, 3131, 9917, 4);
} else if (player.objectY > 3181 && player.objectY < 3184) {
handleSpecialGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
handleMetalGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
} else if (player.objectY > 3449 && player.objectY < 3452) {
handleSpecialGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
handleMetalGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
}
break;
case 1557:
if (player.objectY > 9830 && player.objectY < 9833 && player.absY != 9830) {
handleSpecialGate(player, 1557, 1558, 2897, 9831, 2897, 9832, 2898, 9831, 2898, 9832, 3);
handleMetalGate(player, 1557, 1558, 2897, 9831, 2897, 9832, 2898, 9831, 2898, 9832, 3);
} else if (player.objectY > 3866 && player.objectY < 3869) {
handleSpecialGate(player, 1557, 1558, 3075, 3868, 3076, 3868, 3075, 3867, 3076, 3867, 4);
handleMetalGate(player, 1557, 1558, 3075, 3868, 3076, 3868, 3075, 3867, 3076, 3867, 4);
/*Heroes Guild*/
} else if (player.objectX > 2908 && player.objectX < 2911) {
//newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleSpecialGate(player, 1557, 1558, 2910, 9909, 2909, 9909, 2910, 9910, 2909, 9910, 0);
//id1, id2, newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleMetalGate(player, 1557, 1558, 2910, 9909, 2909, 9909, 2910, 9910, 2909, 9910, 0);
} else if (player.objectY > 9908 && player.objectY < 9911) {
handleSpecialGate(player, 1557, 1558, 3104, 9910, 3104, 9909, 3103, 9910, 3103, 9909, 7);
handleMetalGate(player, 1557, 1558, 3104, 9910, 3104, 9909, 3103, 9910, 3103, 9909, 7);
} else if (player.objectX > 3110 && player.objectX < 3113 && player.absY != 3513 && player.absY != 3516) {
handleSpecialGate(player, 1557, 1558, 3111, 3514, 3111, 3515, 3112, 3514, 3112, 3515, 3);
handleMetalGate(player, 1557, 1558, 3111, 3514, 3111, 3515, 3112, 3514, 3112, 3515, 3);
} else if (player.objectX > 3104 && player.objectX < 3107 && player.absX != 3104 && player.absX != 3107) {
handleSpecialGate(player, 1557, 1558, 3105, 9945, 3106, 9945, 3105, 9944, 3106, 9944, 6);
} else if (player.objectX > 3144 && player.objectX < 3147) {
handleSpecialGate(player, 1558, 1557, 3146, 9871, 3146, 9870, 3145, 9871, 3145, 9870, 1);
handleMetalGate(player, 1557, 1558, 3105, 9945, 3106, 9945, 3105, 9944, 3106, 9944, 6);
} else if (player.objectX > 3144 && player.objectX < 3147) {//here
handleMetalGate(player, 1557, 1558, 3146, 9871, 3146, 9870, 3145, 9871, 3145, 9870, 7);
} else if (player.objectX > 2756 && player.objectX < 2759) {
handleMetalGate(player, 1557, 1558, 2757, 3483, 2758, 3483, 2757, 3482, 2758, 3482, 6);
}
break;
case 1558:
if (player.objectY > 9830 && player.objectY < 9833 && player.absY != 9830) {
handleSpecialGate(player, 1558, 1557, 2897, 9832, 2897, 9831, 2898, 9832, 2898, 9831, 1);
handleMetalGate(player, 1558, 1557, 2897, 9832, 2897, 9831, 2898, 9832, 2898, 9831, 1);
} else if (player.objectY > 3866 && player.objectY < 3869) {
handleSpecialGate(player, 1558, 1557, 3076, 3868, 3075, 3868, 3076, 3867, 3075, 3867, 4);
handleMetalGate(player, 1558, 1557, 3076, 3868, 3075, 3868, 3076, 3867, 3075, 3867, 4);
/* Heroes Guild*/
} else if (player.objectX > 2908 && player.objectX < 2911) {
//newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleSpecialGate(player, 1558, 1557, 2909, 9909, 2910, 9909, 2909, 9910, 2910, 9910, 2);
handleMetalGate(player, 1558, 1557, 2909, 9909, 2910, 9909, 2909, 9910, 2910, 9910, 2);
} else if (player.objectY > 9908 && player.objectY < 9911) {
handleSpecialGate(player, 1558, 1557, 3104, 9909, 3104, 9910, 3103, 9909, 3103, 9910, 5);
handleMetalGate(player, 1558, 1557, 3104, 9909, 3104, 9910, 3103, 9909, 3103, 9910, 5);
} else if (player.objectX > 3110 && player.objectX < 3113 && player.absY != 3513 && player.absY != 3516) {
handleSpecialGate(player, 1558, 1557, 3111, 3515, 3111, 3514, 3112, 3515, 3112, 3514, 3);
handleMetalGate(player, 1558, 1557, 3111, 3515, 3111, 3514, 3112, 3515, 3112, 3514, 3);
} else if (player.objectX > 3104 && player.objectX < 3107 && player.absX != 3104 && player.absX != 3107) {
handleSpecialGate(player, 1558, 1557, 3106, 9945, 3105, 9945, 3106, 9944, 3105, 9944, 4);
} else if (player.objectX > 3144 && player.objectX < 3147) {
handleSpecialGate(player, 1558, 1557, 3146, 9870, 3146, 9871, 3145, 9870, 3145, 9871, 5);
handleMetalGate(player, 1558, 1557, 3106, 9945, 3105, 9945, 3106, 9944, 3105, 9944, 4);
} else if (player.objectX > 3144 && player.objectX < 3147) {//here
handleMetalGate(player, 1558, 1557, 3146, 9870, 3146, 9871, 3145, 9870, 3145, 9871, 5);
} else if (player.objectX > 2756 && player.objectX < 2759) {
handleMetalGate(player, 1558, 1557, 2758, 3483, 2757, 3483, 2758, 3482, 2757, 3482, 4);
}
break;
case 3506:
if (player.absX != 3445 && player.absX != 3442) {
openSpecialWalkGate(player, 3506, 3507, 3444, 3457, 3443, 3457, 3444, 3458, 3443, 3458, 0, player.absY == 3457 ? 1 : -1, 2, 0, 3);
openMetalGateWalk(player, 3506, 3507, 3444, 3457, 3443, 3457, 3444, 3458, 3443, 3458, 0, player.absY == 3457 ? 1 : -1, 2, 0, 3);
}
break;
case 3507:
if (player.absX != 3445 && player.absX != 3442) {
openSpecialWalkGate(player, 3507, 3506, 3443, 3457, 3444, 3457, 3443, 3458, 3444, 3458, 0, player.absY == 3457 ? 1 : -1, 0, 2, 3);
openMetalGateWalk(player, 3507, 3506, 3443, 3457, 3444, 3457, 3443, 3458, 3444, 3458, 0, player.absY == 3457 ? 1 : -1, 0, 2, 3);
}
break;
}
@@ -1,6 +1,7 @@
package com.rebotted.game.globalworldobjects;
import com.rebotted.GameEngine;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Player;
import com.rebotted.world.ObjectManager;
@@ -9,185 +10,190 @@ import com.rebotted.world.clip.Region;
/**
* GateHandler
* (needs to be re written tbh)
* @author Andrew (Mr Extremez)
*/
public class GateHandler {
public static int gateAmount = 0, gateTicks = 100;
public int gateStatus = 0, gateTicks = 50,
CLOSED = 0, PARTIAL_OPEN = 1, OPEN = 2;
public static boolean isGate(int objectId) {
public boolean isGate(int objectId) {
String objectName = ObjectDef.getObjectDef(objectId).name;
return objectName.equalsIgnoreCase("gate") || objectName.equalsIgnoreCase("Gate");
try {
return objectName.equalsIgnoreCase("gate") || objectName.equalsIgnoreCase("Gate");
} catch (Exception e) {
return false;
}
}
public void spawnGate(Player player, int objectId, int newObjectX, int newObjectY, int height, int face) {
GameEngine.objectHandler.placeObject(new Objects(objectId, newObjectX, newObjectY, height, face, 0, 0));
player.getPacketSender().sendSound(SoundList.OPEN_GATE, 100, 0);
}
public static void spawnGate(int objectId, int x, int y, int h, int face) {
GameEngine.objectHandler.placeObject(new Objects(objectId, x, y, h, face, 0, 0));
}
public static void openSingleGate(Player player, int objectId, int x1, int y1, int x2, int y2, int walkX, int walkY, int face1, int face2) {
if (isGate(objectId) && gateAmount == 0) {
spawnGate(-1, x2, y2, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
gateAmount = 1;
public void openSingleGate(Player player, int objectId, int newObjectX, int newObjectY, int oldObjectX, int oldObjectY, int walkX, int walkY, int newFace, int oldFace) {
if (isGate(objectId) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
player.getPlayerAssistant().walkTo(walkX, walkY);
ObjectManager.singleGateTicks(player, objectId, x2, y2, x1, y1, player.heightLevel, face2, 2);
ObjectManager.singleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, player.heightLevel, oldFace, 2);
}
}
private static void openDoubleGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int face1, int face2) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
// open gate from default map object
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
Region.addObject(objectId, x1, y1, player.heightLevel, 0, face1, false);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face1);
Region.addObject(objectId2, x2, y2, player.heightLevel, 0, face1, false);
gateAmount = 2;
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face2, gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face2, gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && gateAmount == 2) {
// close gate back to default
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face2, 0);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face2, 0);
private void openDoubleGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int newFace, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
Region.addObject(objectId, newObjectX, newObjectY, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace);
Region.addObject(objectId2, newObjectX2, newObjectY2, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = OPEN;
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == OPEN) {
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
}
}
private static void openSpecialGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int face1, int face2, int face3) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
Region.addObject(objectId, x1, y1, player.heightLevel, 0, face1, false);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face2);
Region.addObject(objectId2, x2, y2, player.heightLevel, 0, face2, false);
gateAmount = 2;
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && gateAmount == 2) {
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, 0);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, 0);
private void openSpecialGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int newFace, int newFace2, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
Region.addObject(objectId, newObjectX, newObjectY, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace2);
Region.addObject(objectId2, newObjectX2, newObjectY2, player.heightLevel, 0, newFace2, false);
player.getGateHandler().gateStatus = OPEN;
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == OPEN) {
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
}
}
public static void openSpecialWalkGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int walkX, int walkY, int face1, int face2, int face3) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face2);
gateAmount = 2;
public void openMetalGateWalk(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int walkX, int walkY, int newFace, int newFace2, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace2);
player.getGateHandler().gateStatus = OPEN;
player.getPlayerAssistant().walkTo(walkX, walkY);
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, 2);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, 2);
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 2);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 2);
}
}
public static void handleGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int type) {
public void handleWoodenGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int type) {
switch (type) {
/**
* X Gate 1
*/
case 0:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 3);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 3);
break;
/**
* Y Gate 1
*/
case 1:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 0);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 0);
break;
/**
* X Gate 2
*/
case 2:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 1);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 1);
break;
/**
* Y Gate 2
*/
case 3:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 0);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 0);
break;
/**
* X Gate 3
*/
case 4:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 3);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 3);
break;
/**
* Y Gate 3
*/
case 5:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 2);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 2);
break;
/**
* X Gate 4
*/
case 6:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 1);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 1);
break;
/**
* Y Gate 4
*/
case 7:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 2);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 2);
break;
}
}
public static void handleSpecialGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int type) {
public void handleMetalGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int type) {
switch (type) {
/**
* X Gate 1
*/
case 0:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 0, 3);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 0, 3);
break;
/**
* Y Gate 1
*/
case 1:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 3, 0);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 3, 0);
break;
/**
* X Gate 2
*/
case 2:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 2, 3);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 2, 3);
break;
/**
* Y Gate 2
*/
case 3:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 1, 0);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 1, 0);
break;
/**
* X Gate 3
*/
case 4:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 0, 1);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 0, 1);
break;
/**
* Y Gate 3
*/
case 5:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 1, 2);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 1, 2);
break;
/**
* X Gate 4
*/
case 6:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 2, 1);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 2, 1);
break;
/**
* Y Gate 4
*/
case 7:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 3, 2);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 3, 2);
break;
}
}
@@ -9,7 +9,7 @@ import com.rebotted.game.players.Player;
public class SingleGates extends GateHandler {
public static void useSingleGate(Player player, int objectId) {
public void useSingleGate(Player player, int objectId) {
switch (objectId) {
case 3444:
openSingleGate(player, 3444, 3405, 9894, 3405, 9895, 0, player.absY == 9894 ? 1 : -1, 0, 3);
@@ -196,7 +196,6 @@ public class ItemAssistant {
}
public void removeItem(int slot) {
// synchronized(c) {
if (c.getOutStream() != null && c != null) {
if (c.playerEquipment[slot] > -1) {
if (addItem(c.playerEquipment[slot], c.playerEquipmentN[slot])) {
@@ -234,7 +233,7 @@ public class ItemAssistant {
}
}
public void removeitemFromBank(int itemId, int amount) {
public void removeItemFromBank(int itemId, int amount) {
itemId++;
for (int i = 0; i < GameConstants.BANK_SIZE; i++) {
if (c.bankItems[i] == itemId) {
@@ -251,7 +250,6 @@ public class ItemAssistant {
}
public void resetItems(int WriteFrame) {
// synchronized(c) {
if (c.getOutStream() != null && c != null) {
c.getOutStream().createFrameVarSizeWord(53);
c.getOutStream().writeWord(WriteFrame);
@@ -330,30 +328,6 @@ public class ItemAssistant {
return count;
}
public void sendItemsKept() {
// synchronized(c) {
if (c.getOutStream() != null && c != null) {
c.getOutStream().createFrameVarSizeWord(53);
c.getOutStream().writeWord(6963);
c.getOutStream().writeWord(c.itemKeptId.length);
for (int i = 0; i < c.itemKeptId.length; i++) {
if (c.playerItemsN[i] > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord_v2(1);
} else {
c.getOutStream().writeByte(1);
}
if (c.itemKeptId[i] > 0) {
c.getOutStream().writeWordBigEndianA(c.itemKeptId[i] + 1);
} else {
c.getOutStream().writeWordBigEndianA(0);
}
}
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
}
}
/**
* Item kept on death
**/
@@ -427,8 +401,7 @@ public class ItemAssistant {
deleteEquipment(c.playerEquipment[i1], i1);
}
for (int i = 0; i < c.playerItems.length; i++) {
deleteItem(c.playerItems[i] - 1, getItemSlot(c.playerItems[i] - 1),
c.playerItemsN[i]);
deleteItem(c.playerItems[i] - 1, getItemSlot(c.playerItems[i] - 1), c.playerItemsN[i]);
}
}
@@ -531,26 +504,6 @@ public class ItemAssistant {
return false;
}
public void addToVoidList(int itemId) {
switch (itemId) {
case 2518:
c.voidStatus[0]++;
break;
case 2520:
c.voidStatus[1]++;
break;
case 2522:
c.voidStatus[2]++;
break;
case 2524:
c.voidStatus[3]++;
break;
case 2526:
c.voidStatus[4]++;
break;
}
}
public boolean tradeable(int itemId) {
for (int element : GameConstants.ITEM_TRADEABLE) {
if (itemId == element) {
@@ -560,11 +513,7 @@ public class ItemAssistant {
return true;
}
/**
* Add Item
**/
public boolean addItem(int item, int amount) {
// synchronized(c) {
if (item == CastleWars.SARA_BANNER || item == CastleWars.ZAMMY_BANNER) {
return false;
}
@@ -627,8 +576,7 @@ public class ItemAssistant {
return false;
} else {
resetItems(3214);
c.getPacketSender().sendMessage(
"Not enough space in your inventory.");
c.getPacketSender().sendMessage("Not enough space in your inventory.");
return false;
}
}
@@ -668,114 +616,114 @@ public class ItemAssistant {
* Wear Item
**/
public void sendWeapon(int Weapon, String WeaponName) {
String WeaponName2 = WeaponName.replaceAll("Bronze", "");
WeaponName2 = WeaponName2.replaceAll("Iron", "");
WeaponName2 = WeaponName2.replaceAll("Steel", "");
WeaponName2 = WeaponName2.replaceAll("Black", "");
WeaponName2 = WeaponName2.replaceAll("Mithril", "");
WeaponName2 = WeaponName2.replaceAll("Adamant", "");
WeaponName2 = WeaponName2.replaceAll("Rune", "");
WeaponName2 = WeaponName2.replaceAll("Granite", "");
WeaponName2 = WeaponName2.replaceAll("Dragon", "");
WeaponName2 = WeaponName2.replaceAll("Drag", "");
WeaponName2 = WeaponName2.replaceAll("Crystal", "");
WeaponName2 = WeaponName2.trim();
if (WeaponName.equals("Unarmed")) {
public void sendWeapon(int weapon, String weaponName) {
String newWeapon = weaponName.replaceAll("Bronze", "");
newWeapon = newWeapon.replaceAll("Iron", "");
newWeapon = newWeapon.replaceAll("Steel", "");
newWeapon = newWeapon.replaceAll("Black", "");
newWeapon = newWeapon.replaceAll("Mithril", "");
newWeapon = newWeapon.replaceAll("Adamant", "");
newWeapon = newWeapon.replaceAll("Rune", "");
newWeapon = newWeapon.replaceAll("Granite", "");
newWeapon = newWeapon.replaceAll("Dragon", "");
newWeapon = newWeapon.replaceAll("Drag", "");
newWeapon = newWeapon.replaceAll("Crystal", "");
newWeapon = newWeapon.trim();
if (weaponName.equals("Unarmed")) {
c.getPacketSender().setSidebarInterface(0, 5855); // punch,
// kick,
// block
c.getPacketSender().sendFrame126(WeaponName, 5857);
} else if (WeaponName.endsWith("whip")) {
c.getPacketSender().sendFrame126(weaponName, 5857);
} else if (weaponName.endsWith("whip")) {
c.getPacketSender().setSidebarInterface(0, 12290); // flick,
// lash,
// deflect
c.getPacketSender().sendFrame246(12291, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 12293);
} else if (WeaponName.endsWith("bow") || WeaponName.endsWith("10")
|| WeaponName.endsWith("full")
|| WeaponName.startsWith("seercull")) {
c.getPacketSender().sendFrame246(12291, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 12293);
} else if (weaponName.endsWith("bow") || weaponName.endsWith("10")
|| weaponName.endsWith("full")
|| weaponName.startsWith("seercull")) {
c.getPacketSender().setSidebarInterface(0, 1764); // accurate,
// rapid,
// longrange
c.getPacketSender().sendFrame246(1765, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 1767);
} else if (WeaponName.startsWith("Staff")
|| WeaponName.endsWith("staff") || WeaponName.endsWith("wand")) {
c.getPacketSender().sendFrame246(1765, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 1767);
} else if (weaponName.startsWith("Staff")
|| weaponName.endsWith("staff") || weaponName.endsWith("wand")) {
c.getPacketSender().setSidebarInterface(0, 328); // spike,
// impale,
// smash,
// block
c.getPacketSender().sendFrame246(329, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 331);
} else if (WeaponName2.startsWith("dart")
|| WeaponName2.startsWith("knife")
|| WeaponName2.startsWith("javelin")
|| WeaponName.equalsIgnoreCase("toktz-xil-ul")) {
c.getPacketSender().sendFrame246(329, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 331);
} else if (newWeapon.startsWith("dart")
|| newWeapon.startsWith("knife")
|| newWeapon.startsWith("javelin")
|| weaponName.equalsIgnoreCase("toktz-xil-ul")) {
c.getPacketSender().setSidebarInterface(0, 4446); // accurate,
// rapid,
// longrange
c.getPacketSender().sendFrame246(4447, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 4449);
} else if (WeaponName2.startsWith("dagger")
|| WeaponName2.contains("sword")) {
c.getPacketSender().sendFrame246(4447, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 4449);
} else if (newWeapon.startsWith("dagger")
|| newWeapon.contains("sword")) {
c.getPacketSender().setSidebarInterface(0, 2276); // stab,
// lunge,
// slash,
// block
c.getPacketSender().sendFrame246(2277, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 2279);
} else if (WeaponName2.startsWith("pickaxe")) {
c.getPacketSender().sendFrame246(2277, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 2279);
} else if (newWeapon.startsWith("pickaxe")) {
c.getPacketSender().setSidebarInterface(0, 5570); // spike,
// impale,
// smash,
// block
c.getPacketSender().sendFrame246(5571, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 5573);
} else if (WeaponName2.startsWith("axe")
|| WeaponName2.startsWith("battleaxe")) {
c.getPacketSender().sendFrame246(5571, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 5573);
} else if (newWeapon.startsWith("axe")
|| newWeapon.startsWith("battleaxe")) {
c.getPacketSender().setSidebarInterface(0, 1698); // chop,
// hack,
// smash,
// block
c.getPacketSender().sendFrame246(1699, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 1701);
} else if (WeaponName2.startsWith("halberd")) {
c.getPacketSender().sendFrame246(1699, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 1701);
} else if (newWeapon.startsWith("halberd")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe,
// fend
c.getPacketSender().sendFrame246(8461, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 8463);
} else if (WeaponName2.startsWith("Scythe")) {
c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 8463);
} else if (newWeapon.startsWith("Scythe")) {
c.getPacketSender().setSidebarInterface(0, 8460); // jab,
// swipe,
// fend
c.getPacketSender().sendFrame246(8461, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 8463);
} else if (WeaponName2.startsWith("spear")) {
c.getPacketSender().sendFrame246(8461, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 8463);
} else if (newWeapon.startsWith("spear")) {
c.getPacketSender().setSidebarInterface(0, 4679); // lunge,
// swipe,
// pound,
// block
c.getPacketSender().sendFrame246(4680, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 4682);
} else if (WeaponName2.toLowerCase().contains("mace")) {
c.getPacketSender().sendFrame246(4680, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 4682);
} else if (newWeapon.toLowerCase().contains("mace")) {
c.getPacketSender().setSidebarInterface(0, 3796);
c.getPacketSender().sendFrame246(3797, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 3799);
c.getPacketSender().sendFrame246(3797, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 3799);
} else if (c.playerEquipment[c.playerWeapon] == 4153) {
c.getPacketSender().setSidebarInterface(0, 425); // war hamer
// equip.
c.getPacketSender().sendFrame246(426, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 428);
c.getPacketSender().sendFrame246(426, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 428);
} else {
c.getPacketSender().setSidebarInterface(0, 2423); // chop,
// slash,
// lunge,
// block
c.getPacketSender().sendFrame246(2424, 200, Weapon);
c.getPacketSender().sendFrame126(WeaponName, 2426);
c.getPacketSender().sendFrame246(2424, 200, weapon);
c.getPacketSender().sendFrame126(weaponName, 2426);
}
}
@@ -1204,7 +1152,7 @@ public class ItemAssistant {
if (itemName.contains("crystal")) {
return true;
}
if (itemName.contains("godsword") || itemName.contains("aradomin sword") || itemName.contains("2h") || itemName.contains("spear")) {
if (itemName.contains("2h") || itemName.contains("spear")) {
return true;
}
switch (itemId) {
@@ -1212,7 +1160,6 @@ public class ItemAssistant {
case 11730:
case 4153:
case 6528:
case 14484:
return true;
}
return false;
@@ -1307,26 +1254,16 @@ public class ItemAssistant {
public void specialAmount(int weapon, double specAmount, int barId) {
c.specBarId = barId;
c.getPacketSender().sendFrame70(specAmount >= 10 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 9 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 8 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 7 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 6 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 5 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 4 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 3 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 2 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 1 ? 500 : 0, 0,
--barId);
c.getPacketSender().sendFrame70(specAmount >= 10 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 9 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 8 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 7 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 6 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 5 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 4 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 3 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 2 ? 500 : 0, 0, --barId);
c.getPacketSender().sendFrame70(specAmount >= 1 ? 500 : 0, 0, --barId);
updateSpecialBar();
sendWeapon(weapon, getItemName(weapon));
}
@@ -1665,54 +1602,38 @@ public class ItemAssistant {
}
public void wearItem(int wearID, int wearAmount, int targetSlot) {
synchronized (c) {
if (c.getOutStream() != null && c != null) {
c.getOutStream().createFrameVarSizeWord(34);
c.getOutStream().writeWord(1688);
c.getOutStream().writeByte(targetSlot);
c.getOutStream().writeWord(wearID + 1);
if (c.getOutStream() != null && c != null) {
c.getOutStream().createFrameVarSizeWord(34);
c.getOutStream().writeWord(1688);
c.getOutStream().writeByte(targetSlot);
c.getOutStream().writeWord(wearID + 1);
if (wearAmount > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord(wearAmount);
} else {
c.getOutStream().writeByte(wearAmount);
}
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
c.playerEquipment[targetSlot] = wearID;
c.playerEquipmentN[targetSlot] = wearAmount;
c.getItemAssistant();
c.getItemAssistant()
.sendWeapon(
c.playerEquipment[c.playerWeapon],
ItemAssistant
.getItemName(c.playerEquipment[c.playerWeapon]));
resetBonus();
getBonus();
/*for (int bowId : RangeData.BOWS) {
if (c.playerEquipment[c.playerWeapon] == bowId) {
for (int arrowId : RangeData.ARROWS) {
if (c.playerEquipment[c.playerArrows] == arrowId && c.playerEquipment[c.playerWeapon] == bowId) {
writeBonus();
} else if (c.playerEquipment[c.playerWeapon] == bowId && c.playerEquipment[c.playerArrows] != arrowId) {
writeBonus();
} else if (c.playerEquipment[c.playerArrows] != arrowId && c.playerEquipment[c.playerWeapon] != bowId) {
writeBonus();
}
}
}
}*/
writeBonus();
c.getCombatAssistant().getPlayerAnimIndex();
c.updateRequired = true;
c.setAppearanceUpdateRequired(true);
if (wearAmount > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord(wearAmount);
} else {
c.getOutStream().writeByte(wearAmount);
}
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
c.playerEquipment[targetSlot] = wearID;
c.playerEquipmentN[targetSlot] = wearAmount;
c.getItemAssistant();
c.getItemAssistant()
.sendWeapon(
c.playerEquipment[c.playerWeapon],
ItemAssistant
.getItemName(c.playerEquipment[c.playerWeapon]));
resetBonus();
getBonus();
writeBonus();
c.getCombatAssistant().getPlayerAnimIndex();
c.updateRequired = true;
c.setAppearanceUpdateRequired(true);
}
}
public void updateSlot(int slot) {
// synchronized(c) {
if (c.getOutStream() != null && c != null) {
c.getOutStream().createFrameVarSizeWord(34);
c.getOutStream().writeWord(1688);
@@ -1730,11 +1651,7 @@ public class ItemAssistant {
}
/**
* Remove Item
**/
public void removeItem(int wearID, int slot) {
// synchronized(c) {
if (c.getOutStream() != null && c != null) {
if (c.playerEquipment[slot] > -1) {
if (c.playerEquipment[slot] == CastleWars.SARA_BANNER|| c.playerEquipment[slot] == CastleWars.ZAMMY_BANNER) {
@@ -1770,7 +1687,6 @@ public class ItemAssistant {
}
}
}
// }
}
/**
@@ -1823,58 +1739,39 @@ public class ItemAssistant {
}
}
public void itemOnInterface(int id, int amount) {
// synchronized(c) {
c.getOutStream().createFrameVarSizeWord(53);
c.getOutStream().writeWord(2274);
c.getOutStream().writeWord(1);
if (amount > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord_v2(amount);
} else {
c.getOutStream().writeByte(amount);
}
c.getOutStream().writeWordBigEndianA(id);
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
}
public void resetBank() {
synchronized (c) {
if (c.getOutStream() != null) {
c.getOutStream().createFrameVarSizeWord(53);
c.getOutStream().writeWord(5382); // bank
c.getOutStream().writeWord(GameConstants.BANK_SIZE);
}
for (int i = 0; i < GameConstants.BANK_SIZE; i++) {
if (c.getOutStream() != null) {
c.getOutStream().createFrameVarSizeWord(53);
c.getOutStream().writeWord(5382); // bank
c.getOutStream().writeWord(GameConstants.BANK_SIZE);
}
for (int i = 0; i < GameConstants.BANK_SIZE; i++) {
if (c.getOutStream() != null) {
if (c.bankItemsN[i] > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord_v2(c.bankItemsN[i]);
} else {
c.getOutStream().writeByte(c.bankItemsN[i]);
}
}
if (c.bankItemsN[i] < 1) {
c.bankItems[i] = 0;
}
if (c.bankItems[i] > GameConstants.ITEM_LIMIT || c.bankItems[i] < 0) {
c.bankItems[i] = GameConstants.ITEM_LIMIT;
}
if (c.getOutStream() != null) {
c.getOutStream().writeWordBigEndianA(c.bankItems[i]);
if (c.bankItemsN[i] > 254) {
c.getOutStream().writeByte(255);
c.getOutStream().writeDWord_v2(c.bankItemsN[i]);
} else {
c.getOutStream().writeByte(c.bankItemsN[i]);
}
}
if (c.bankItemsN[i] < 1) {
c.bankItems[i] = 0;
}
if (c.bankItems[i] > GameConstants.ITEM_LIMIT || c.bankItems[i] < 0) {
c.bankItems[i] = GameConstants.ITEM_LIMIT;
}
if (c.getOutStream() != null) {
c.getOutStream().writeWordBigEndianA(c.bankItems[i]);
}
}
if (c.getOutStream() != null) {
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
}
if (c.getOutStream() != null) {
c.getOutStream().endFrameVarSizeWord();
c.flushOutStream();
}
}
public void resetTempItems() {
// synchronized(c) {
int itemCount = 0;
for (int i = 0; i < c.playerItems.length; i++) {
if (c.playerItems[i] > -1) {
@@ -2318,7 +2215,6 @@ public class ItemAssistant {
**/
public void setEquipment(int wearID, int amount, int targetSlot) {
// synchronized(c) {
if (c.getOutStream() != null) {
c.getOutStream().createFrameVarSizeWord(34);
c.getOutStream().writeWord(1688);
@@ -2409,7 +2305,6 @@ public class ItemAssistant {
**/
public void deleteEquipment(int i, int j) {
// synchronized(c) {
if (PlayerHandler.players[c.playerId] == null) {
return;
}
@@ -2483,7 +2378,6 @@ public class ItemAssistant {
* Delete Arrows
**/
public void deleteArrow() {
// synchronized(c) {
if (c.playerEquipment[c.playerCape] == 10499 && Misc.random(5) != 1
&& c.playerEquipment[c.playerArrows] != 4740) {
return;
@@ -2514,7 +2408,6 @@ public class ItemAssistant {
}
public void deleteEquipment() {
// synchronized(c) {
if (c.playerEquipmentN[c.playerWeapon] == 1) {
deleteEquipment(
c.playerEquipment[c.playerWeapon], c.playerWeapon);
@@ -7,6 +7,7 @@ import java.io.IOException;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.npcs.NpcAggressive;
import com.rebotted.game.content.combat.npcs.NpcCombat;
import com.rebotted.game.content.combat.npcs.NpcEmotes;
@@ -388,14 +389,7 @@ public class NpcHandler {
if (PlayerHandler.players[npcs[i].spawnedBy] == null
|| PlayerHandler.players[npcs[i].spawnedBy].heightLevel != npcs[i].heightLevel
|| PlayerHandler.players[npcs[i].spawnedBy].respawnTimer > 0
|| !PlayerHandler.players[npcs[i].spawnedBy]
.goodDistance(
npcs[i].getX(),
npcs[i].getY(),
PlayerHandler.players[npcs[i].spawnedBy]
.getX(),
PlayerHandler.players[npcs[i].spawnedBy]
.getY(), 20)) {
|| !PlayerHandler.players[npcs[i].spawnedBy].goodDistance(npcs[i].getX(), npcs[i].getY(), PlayerHandler.players[npcs[i].spawnedBy].getX(), PlayerHandler.players[npcs[i].spawnedBy].getY(), ((FightCaves.isFightCaveNpc(i)) ? 60 : 20))) {
if (npcs[i].npcType == FightCaves.YT_HURKOT) {
Player c = ((Client)PlayerHandler.players[npcs[i].spawnedBy]);
@@ -564,7 +558,7 @@ public class NpcHandler {
// emote
Player c = (Client) PlayerHandler.players[npcs[i].killedBy];
if (c != null) {
if (GameConstants.COMBAT_SOUNDS
if (CombatConstants.COMBAT_SOUNDS
&& NpcHandler.npcs[i].npcType < 3177
&& NpcHandler.npcs[i].npcType > 3180) {
c.getPacketSender()
@@ -110,8 +110,8 @@ public class ObjectsActions {
Searching.searchObject(player, objectType);
Levers.pullLever(player, objectType);
ThieveOther.lockedDoor(player, objectType);
SingleGates.useSingleGate(player, objectType);
DoubleGates.useDoubleGate(player, objectType);
player.getSingleGates().useSingleGate(player, objectType);
player.getDoubleGates().useDoubleGate(player, objectType);
PassDoor.processDoor(player, objectType);
AbyssalHandler.handleAbyssalTeleport(player, objectType);
// if its a rock we can mine, mine it
@@ -8,7 +8,6 @@ import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import org.apache.mina.common.IoSession;
import com.rebotted.Connection;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.event.CycleEvent;
@@ -17,9 +16,9 @@ import com.rebotted.event.CycleEventHandler;
import com.rebotted.game.content.BankPin;
import com.rebotted.game.content.EmoteHandler;
import com.rebotted.game.content.combat.CombatAssistant;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.Specials;
import com.rebotted.game.content.combat.magic.Enchanting;
import com.rebotted.game.content.combat.magic.MagicTeleports;
import com.rebotted.game.content.combat.prayer.PrayerData;
import com.rebotted.game.content.combat.prayer.PrayerDrain;
import com.rebotted.game.content.combat.range.DwarfCannon;
@@ -33,7 +32,6 @@ import com.rebotted.game.content.minigames.PestControl;
import com.rebotted.game.content.minigames.castlewars.CastleWars;
import com.rebotted.game.content.music.PlayList;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.content.quests.QuestAssistant;
import com.rebotted.game.content.skills.SkillInterfaces;
import com.rebotted.game.content.skills.agility.Agility;
import com.rebotted.game.content.skills.agility.ApeAtollAgility;
@@ -51,11 +49,12 @@ import com.rebotted.game.content.skills.smithing.Smithing;
import com.rebotted.game.content.skills.smithing.SmithingInterface;
import com.rebotted.game.content.traveling.Desert;
import com.rebotted.game.dialogues.DialogueHandler;
import com.rebotted.game.globalworldobjects.DoubleGates;
import com.rebotted.game.globalworldobjects.GateHandler;
import com.rebotted.game.globalworldobjects.SingleGates;
import com.rebotted.game.items.GameItem;
import com.rebotted.game.items.Item;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.items.Weight;
import com.rebotted.game.items.impl.LightSources;
import com.rebotted.game.items.impl.PotionMixing;
import com.rebotted.game.items.impl.Teles;
import com.rebotted.game.npcs.Npc;
@@ -128,6 +127,21 @@ public abstract class Player {
private ChallengePlayer challengePlayer = new ChallengePlayer();
private DwarfCannon dwarfCannon = new DwarfCannon(this);
private CycleEventContainer currentTask;
private GateHandler gateHandler = new GateHandler();
private SingleGates singleGates = new SingleGates();
private DoubleGates doubleGates = new DoubleGates();
public SingleGates getSingleGates() {
return singleGates;
}
public DoubleGates getDoubleGates() {
return doubleGates;
}
public GateHandler getGateHandler() {
return gateHandler;
}
public DwarfCannon getCannon() {
return dwarfCannon;
@@ -526,153 +540,6 @@ public abstract class Player {
resetWalkingQueue();
}
public void loginPlayer() {
getPlayerAssistant().loginScreen();
if (Connection.isNamedBanned(playerName)) {
logout();
return;
}
synchronized (this) {
if (getOutStream() != null) {
outStream.createFrame(249);
outStream.writeByteA(membership ? 1 : 0);
outStream.writeWordBigEndianA(playerId);
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (j == playerId) {
continue;
}
if (PlayerHandler.players[j] != null) {
if (PlayerHandler.players[j].playerName.equalsIgnoreCase(playerName)) {
disconnected = true;
}
}
}
}
lastLoginDate = getLastLogin();
QuestAssistant.sendStages(this);
if (hasNpc == true) {
if (summonId > 0) {
GameEngine.npcHandler.spawnNpc3(this, summonId, absX, absY - 1,
heightLevel, 0, 120, 25, 200, 200, true, false,
true);
}
}
if (questPoints > QuestAssistant.MAXIMUM_QUESTPOINTS || playerRights > 2) {
questPoints = QuestAssistant.MAXIMUM_QUESTPOINTS;// check for abusers
}
if (playerHitpoints < 0) {
isDead = true;
}
if (playerLevel[playerHitpoints] > 99) {
playerLevel[playerHitpoints] = 99;// check for abusers
getPlayerAssistant().refreshSkill(3);
}
if (playerLevel[playerFarming] > 1 && playerRights < 3) {
playerLevel[playerFarming] = 1;
getPlayerAssistant().refreshSkill(playerFarming);
}
if (tutorialProgress > 0 && tutorialProgress < 36 && GameConstants.TUTORIAL_ISLAND) {
getPacketSender().sendMessage("@blu@Continue the tutorial from the last step you were on.@bla@");
}
if (tutorialProgress > 35) {
getPlayerAssistant().sendSidebars();
Weight.updateWeight(this);
getPacketSender().sendMessage("Welcome to @blu@" + GameConstants.SERVER_NAME + "@bla@ - we are currently in Server Stage v@blu@" + GameConstants.TEST_VERSION + "@bla@.");
getPacketSender().sendMessage("@red@Did you know?@bla@ We're open source! Pull requests are welcome");
getPacketSender().sendMessage("Source code at github.com/dginovker/2006rebotted");
getPacketSender().sendMessage("Join our Discord: discord.gg/4zrA2Wy");
/*if (!hasBankpin) { //Kind of annoying. Maybe add Random % 10 or something.
getActionSender().sendMessage("You do not have a bank pin it is highly recommended you set one.");
}*/
}
getPlayerAssistant().firstTimeTutorial();
getItemAssistant().sendWeapon(playerEquipment[playerWeapon], ItemAssistant.getItemName(playerEquipment[playerWeapon]));
for (int i = 0; i < 25; i++) {
getPacketSender().setSkillLevel(i, playerLevel[i], playerXP[i]);
getPlayerAssistant().refreshSkill(i);
}
for (int p = 0; p < getPrayer().PRAYER.length; p++) { // reset
// prayer
// glows
getPrayer().prayerActive[p] = false;
getPacketSender().sendConfig(getPrayer().PRAYER_GLOW[p], 0);
}
lastX = absX;
lastY = absY;
lastH = heightLevel;
if (inWild()) {
WildernessWarning = true;
}
if (splitChat == true) {
getPacketSender().sendConfig(502, 1);
getPacketSender().sendConfig(287, 1);
} else {
getPacketSender().sendConfig(502, 0);
getPacketSender().sendConfig(287, 0);
}
if (isRunning2) {
getPacketSender().sendConfig(504, 1);
getPacketSender().sendConfig(173, 1);
} else {
getPacketSender().sendConfig(504, 0);
getPacketSender().sendConfig(173, 0);
}
getPlayList().fixAllColors();
getPlayerAction().setAction(false);
getPlayerAction().canWalk(true);
getPlayerAssistant().handleWeaponStyle();
MagicTeleports.handleLoginText(this);
accountFlagged = getPlayerAssistant().checkForFlags();
getPacketSender().sendConfig(108, 0);// resets autocast button
getPacketSender().sendFrame107(); // reset screen
getPacketSender().setChatOptions(0, 0, 0); // reset private
// messaging options
correctCoordinates();
getPacketSender().showOption(4, 0, "Trade With", 3);
getPacketSender().showOption(5, 0, "Follow", 4);
getItemAssistant().resetItems(3214);
getItemAssistant().resetBonus();
getItemAssistant().getBonus();
getItemAssistant().writeBonus();
getItemAssistant().setEquipment(playerEquipment[playerHat], 1,
playerHat);
getItemAssistant().setEquipment(playerEquipment[playerCape], 1,
playerCape);
getItemAssistant().setEquipment(playerEquipment[playerAmulet], 1,
playerAmulet);
getItemAssistant().setEquipment(playerEquipment[playerArrows],
playerEquipmentN[playerArrows], playerArrows);
getItemAssistant().setEquipment(playerEquipment[playerChest], 1,
playerChest);
getItemAssistant().setEquipment(playerEquipment[playerShield], 1,
playerShield);
getItemAssistant().setEquipment(playerEquipment[playerLegs], 1,
playerLegs);
getItemAssistant().setEquipment(playerEquipment[playerHands], 1,
playerHands);
getItemAssistant().setEquipment(playerEquipment[playerFeet], 1,
playerFeet);
getItemAssistant().setEquipment(playerEquipment[playerRing], 1,
playerRing);
getItemAssistant().setEquipment(playerEquipment[playerWeapon],
playerEquipmentN[playerWeapon], playerWeapon);
getCombatAssistant().getPlayerAnimIndex();
getPlayerAssistant().logIntoPM();
getItemAssistant().addSpecialBar(playerEquipment[playerWeapon]);
saveTimer = GameConstants.SAVE_TIMER;
saveCharacter = true;
Misc.println("[REGISTERED]: " + playerName + "");
handler.updatePlayer(this, outStream);
handler.updateNPC(this, outStream);
flushOutStream();
getPlayerAssistant().resetFollow();
LightSources.saveBrightness(this);
getPlayerAssistant().sendAutoRetalitate();
getCannon().loginCheck();
}
}
public void update() {
synchronized (this) {
handler.updatePlayer(this, outStream);
@@ -788,7 +655,7 @@ public abstract class Player {
int modY = absY > 6400 ? absY - 6400 : absY;
wildLevel = (modY - 3520) / 8 + 1;
getPacketSender().walkableInterface(197);
if (GameConstants.SINGLE_AND_MULTI_ZONES) {
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
if (inMulti()) {
getPacketSender().sendFrame126("@yel@Level: " + wildLevel,
199);
@@ -869,7 +736,7 @@ public abstract class Player {
}
getPlayerAssistant().writeEnergy();
if (System.currentTimeMillis() - specDelay > GameConstants.INCREASE_SPECIAL_AMOUNT) {
if (System.currentTimeMillis() - specDelay > CombatConstants.INCREASE_SPECIAL_AMOUNT) {
specDelay = System.currentTimeMillis();
if (specAmount < 10) {
specAmount += .5;
@@ -1307,8 +1174,7 @@ public abstract class Player {
this.statedInterface = statedInterface;
}
public String currentTime, date, slayerMaster;
public String slayerMaster;
public boolean lostCannon = false, refresh = false, isBot = false;
@@ -1321,17 +1187,16 @@ public abstract class Player {
{2035, 0}
};
public long homeTele, lastDesert, eventTimer, lastRunRecovery,
lastButton, lastFire, lastLight, muteTime, waitTime, miscTimer,
ladderTimer, webSlashDelay, climbDelay, lastReport = 0,
public long homeTele, lastDesert, lastButton, lastFire, lastLight, muteTime, waitTime, miscTimer,
webSlashDelay, climbDelay, lastReport = 0,
lastPlayerMove, lastPoison, lastPoisonSip, poisonImmune, lastSpear,
lastProtItem, dfsDelay, lastVeng, lastYell, teleGrabDelay,
lastProtItem, dfsDelay, lastYell, teleGrabDelay,
protMageDelay, protMeleeDelay, protRangeDelay, lastAction,
lastThieve, lastLockPick, alchDelay, specDelay = System.currentTimeMillis(), duelDelay, teleBlockDelay,
godSpellDelay, singleCombatDelay, singleCombatDelay2, reduceStat,
restoreStatsDelay, logoutDelay, buryDelay, foodDelay, potDelay,
doorDelay, doubleDoorDelay, buySlayerTimer, lastIncrease,
boneDelay, botAttempts, leverDelay = 0, farmTime, searchObjectDelay = 0, clickDelay = 0;
boneDelay, leverDelay = 0, searchObjectDelay = 0, clickDelay = 0;
private Npc specialTarget = null;
@@ -1344,21 +1209,19 @@ public abstract class Player {
public boolean initialized = false, musicOn = true, luthas,
playerIsCooking, disconnected = false, ruleAgreeButton = false,
RebuildNPCList = false, isActive = false, isKicked = false,
rebuildNPCList = false, isActive = false, isKicked = false,
isSkulled = false, friendUpdate = false, newPlayer = false,
hasMultiSign = false, saveCharacter = false, mouseButton = false,
chatEffects = true, acceptAid = false, recievedMask,
nextDialogue = false, autocasting = false, usedSpecial = false,
mageFollow = false, dbowSpec = false, craftingLeather = false,
properLogout = false, secDbow = false, maxNextHit = false,
ssSpec = false, vengOn = false, addStarter = false,
accountFlagged = false, inPartyRoom = false, msbSpec = false,
properLogout = false, secDbow = false,
addStarter = false, accountFlagged = false, inPartyRoom = false, msbSpec = false,
hasBankPin, enterdBankpin, firstPinEnter, requestPinDelete,
secondPinEnter, thirdPinEnter, fourthPinEnter, hasBankpin,
isBanking, isTeleporting = false, desertWarning,
isPotionMaking = false, isGrinding = false, hasStarter, isSpinning,
clickedSpinning, hasPaidBrim, isHerblore, herbloreI, secondHerb,
playerStun, playerFletch, isWoodcutting, playerIsFiremaking,
clickedSpinning, hasPaidBrim, playerStun, playerFletch, isWoodcutting, playerIsFiremaking,
hasNpc = false, playerIsFishing = false, isOperate, below459 = true,
splitChat, strongHold, village, needsNewTask = false,
canSpeak = true, ignoreFrog, ratdied2 = false,
@@ -1366,8 +1229,7 @@ public abstract class Player {
canWalkTutorial, closeTutorialInterface, isCrafting, showedUnfire,
showedFire, isPotCrafting, isFiremaking, playerIsFletching, milking,
stopPlayerPacket, spiritTree = false, isSmelting,
hasPaifAnTeleport = false, isSmithing, doingAgility = false,
hasPaid, canTeleport, magicCharge,
isSmithing, hasPaid, canTeleport, magicCharge,
clickedVamp = false, allowFading, otherBank = false,
recievedReward = false, poison, golemSpawned = false, zombieSpawned = false, shadeSpawned = false,
treeSpiritSpawned = false, chickenSpawned = false, clickedTree = false, filter = true,
@@ -1395,7 +1257,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, log = -1, newHerb,
rememberNpcIndex, lastLoginDate, selectedSkill, newHerb,
newItem, newXp, doingHerb, herbAmount, treeX, treeY, lastH,
cookingItem, cookingObject, summonId, npcId2 = 0, leatherType = -1,
weightCarried, teleotherType, rockX, rockY, itemUsing, tzKekTimer,
@@ -1405,8 +1267,7 @@ public abstract class Player {
teleBlockLength, poisonDelay, slayerPoints, blackMarks,
SlayerMaster, teleOtherTimer = 0,
teleOtherSlot = -1, tutorialProgress, cookStage1 = 1,
woodcuttingTree, smeltAmount, knightS, otherDirection,
brightness = 3, recoilHits, droppedItem = -1,
knightS, brightness = 3, recoilHits, droppedItem = -1,
spawnedHealers, cannonX = 0, cannonY = 0,
playerShopId;
@@ -1492,7 +1353,6 @@ public abstract class Player {
private final boolean barrowsNpcDead[] = new boolean[6];
public boolean membership = false, awardedmembership = false;
public Client teleporter = null;
public int[] party = new int[8];
public int[] partyN = new int[8];
@@ -1513,7 +1373,7 @@ public abstract class Player {
chocSelect = 0, bagelSelect = 0, triangleSandwich = 0,
squareSandwich = 0, breadSelect = 0;
public String clanName, properName;
public String properName;
public int lastX, lastY;
public int[] voidStatus = new int[5];
public int[] itemKeptId = new int[4];
@@ -1677,7 +1537,7 @@ public abstract class Player {
4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 2097152,
8388608, 16777216, 67108864, 134217728 };
public boolean doubleHit, usingSpecial, npcDroppingItems, usingRangeWeapon,
public boolean doubleHit, usingSpecial, usingRangeWeapon,
usingBow, usingMagic, castingMagic;
public int npcIndex, npcClickIndex, npcType, castingSpellId, oldSpellId,
spellId, hitDelay;
@@ -1704,12 +1564,10 @@ public abstract class Player {
public int combatLevel;
public boolean saveFile = false;
public int playerAppearance[] = new int[13];
public int apset;
public int actionID;
public int wearItemTimer, wearId, wearSlot, interfaceId;
public int XremoveSlot, XinterfaceID, XremoveID, Xamount;
public boolean usingGlory = false;
public boolean isMining;
public boolean antiFirePot = false;
@@ -1768,10 +1626,7 @@ public abstract class Player {
public boolean inCw() {
Client c = (Client) this;
if (CastleWars.isInCwWait(c)) {
return true;
}
if (CastleWars.isInCw(c)) {
if (CastleWars.isInCwWait(c) || CastleWars.isInCw(c)) {
return true;
}
return false;
@@ -1848,8 +1703,7 @@ public abstract class Player {
if (inCw()) {
return true;
}
if (absX > 2941 && absX < 3392 && absY > 3518 && absY < 3966
|| absX > 2941 && absX < 3392 && absY > 9918 && absY < 10366) {
if (absX > 2941 && absX < 3392 && absY > 3518 && absY < 3966 || absX > 2941 && absX < 3392 && absY > 9918 && absY < 10366) {
return true;
}
return false;
@@ -2065,7 +1919,7 @@ public abstract class Player {
public int[] playerLevel = new int[25];
public int[] playerXP = new int[25];
public void updateshop(int i) {
public void updateShop(int i) {
Client p = (Client) PlayerHandler.players[playerId];
p.getShopAssistant().resetShop(i);
}
@@ -2126,7 +1980,6 @@ public abstract class Player {
playerAppearance[11] = 5; // feet colour
playerAppearance[12] = 0; // skin colour
apset = 0;
actionID = 0;
playerEquipment[playerHat] = -1;
@@ -2201,8 +2054,7 @@ public abstract class Player {
}
public int distanceToPoint(int pointX, int pointY) {
return (int) Math.sqrt(Math.pow(absX - pointX, 2)
+ Math.pow(absY - pointY, 2));
return (int) Math.sqrt(Math.pow(absX - pointX, 2) + Math.pow(absY - pointY, 2));
}
public int mapRegionX, mapRegionY;
@@ -2235,7 +2087,6 @@ public abstract class Player {
}
public void addToWalkingQueue(int x, int y) {
// if (VirtualWorld.I(heightLevel, absX, absY, x, y, 0)) {
int next = (wQueueWritePtr + 1) % walkingQueueSize;
if (next == wQueueWritePtr) {
return;
@@ -2243,11 +2094,11 @@ public abstract class Player {
walkingQueueX[wQueueWritePtr] = x;
walkingQueueY[wQueueWritePtr] = y;
wQueueWritePtr = next;
// }
}
public boolean goodDistance(int objectX, int objectY, int playerX, int playerY, int distance) {
return ((objectX-playerX <= distance && objectX-playerX >= -distance) && (objectY-playerY <= distance && objectY-playerY >= -distance));
}
public boolean goodDistance(int objectX, int objectY, int playerX, int playerY, int distance) {
return ((objectX-playerX <= distance && objectX-playerX >= -distance) && (objectY-playerY <= distance && objectY-playerY >= -distance));
}
public int getNextWalkingDirection() {
if (wQueueReadPtr == wQueueWritePtr) {
@@ -2321,7 +2172,6 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
if (isRunning) {
dir2 = getNextWalkingDirection();
}
// c.sendMessage("Cycle Ended");
int deltaX = 0, deltaY = 0;
if (currentX < 2 * 8) {
deltaX = 4 * 8;
@@ -2376,8 +2226,7 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
}
}
if (dir1 == -1) {
// don't have to update the character position, because we're
// just standing
// don't have to update the character position, because we're just standing
if (str != null){
str.createFrameVarSizeWord(81);
str.initBitAccess();
@@ -2569,8 +2418,6 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
playerProps.writeByte(headIcon);
playerProps.writeByte(headIconPk);
// playerProps.writeByte(headIconHints);
// playerProps.writeByte(bountyIcon);
if (playerEquipment[playerHat] > 1) {
playerProps.writeWord(0x200 + playerEquipment[playerHat]);
@@ -2766,8 +2613,6 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
String s = ItemAssistant.getItemName(c.playerEquipment[c.playerWeapon]);
if (s.contains("2h")) {
return true;
} else if (s.contains("godsword")) {
return true;
}
return false;
}
@@ -3213,9 +3058,11 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
}
public void setInStreamDecryption(ISAACRandomGen inStreamDecryption) {
}
public void setOutStreamDecryption(ISAACRandomGen outStreamDecryption) {
}
public boolean samePlayer() {
@@ -3273,7 +3120,6 @@ public boolean goodDistance(int objectX, int objectY, int playerX, int playerY,
}
}
public int[] damageTaken = new int[PlayerHandler.players.length];
public void handleHitMask(int damage) {
@@ -1,8 +1,8 @@
package com.rebotted.game.players;
import java.util.ArrayList;
import java.util.Optional;
import java.util.Random;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.event.CycleEvent;
@@ -15,6 +15,7 @@ import com.rebotted.game.content.minigames.PestControl;
import com.rebotted.game.content.minigames.castlewars.CastleWars;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.content.randomevents.RandomEventHandler;
import com.rebotted.game.content.skills.SkillData;
import com.rebotted.game.content.skills.SkillHandler;
import com.rebotted.game.content.skills.smithing.Superheat;
import com.rebotted.game.items.GameItem;
@@ -97,11 +98,7 @@ public class PlayerAssistant {
}
player.getPacketSender().sendFrame126("" +GameConstants.SERVER_NAME + " will NEVER email you.\\n We use the forums or we \\nWill contact you through game.", 15260);
player.getPacketSender().sendFrame126("You have 0 unread messages\\nOn forums!", 15261);
if (player.membership == true) {
player.getPacketSender().sendFrame126("You have @gre@unlimited@yel@ days of member credit.", 15262);
} else {
player.getPacketSender().sendFrame126("You are currently not a member.", 15262);
}
player.getPacketSender().sendFrame126("You have @gre@unlimited@yel@ days of member credit.", 15262);
player.getPacketSender().sendFrame126("CLICK HERE TO PLAY", 15263);
if (!player.hasBankpin) {
player.getPacketSender().sendFrame126("You currently have no bank pin set!\\nWe strongly advise you to set\\n one.", 15270);
@@ -1371,32 +1368,6 @@ public class PlayerAssistant {
}
}
public void vengMe() {
if (System.currentTimeMillis() - player.lastVeng > 30000) {
if (player.getItemAssistant().playerHasItem(557, 10)
&& player.getItemAssistant().playerHasItem(9075, 4)
&& player.getItemAssistant().playerHasItem(560, 2)) {
player.vengOn = true;
player.lastVeng = System.currentTimeMillis();
player.startAnimation(4410);
player.gfx100(726);
player.getItemAssistant().deleteItem(557,
player.getItemAssistant().getItemSlot(557), 10);
player.getItemAssistant().deleteItem(560,
player.getItemAssistant().getItemSlot(560), 2);
player.getItemAssistant().deleteItem(9075,
player.getItemAssistant().getItemSlot(9075), 4);
} else {
player.getPacketSender()
.sendMessage(
"You do not have the required runes to cast this spell. (9075 for astrals)");
}
} else {
player.getPacketSender().sendMessage(
"You must wait 30 seconds before casting this again.");
}
}
public void resetTb() {
player.teleBlockLength = 0;
player.teleBlockDelay = 0;
@@ -1478,8 +1449,6 @@ public class PlayerAssistant {
resetDamageDone();
player.specAmount = 10;
player.getItemAssistant().addSpecialBar(player.playerEquipment[player.playerWeapon]);
player.lastVeng = 0;
player.vengOn = false;
resetFollowers();
player.attackTimer = 10;
player.getPacketSender().closeAllWindows();
@@ -2059,441 +2028,43 @@ public class PlayerAssistant {
}
}
public int getTotalLevel()
{
return getLevelForXP(player.playerXP[0])
+ getLevelForXP(player.playerXP[1])
+ getLevelForXP(player.playerXP[2])
+ getLevelForXP(player.playerXP[3])
+ getLevelForXP(player.playerXP[4])
+ getLevelForXP(player.playerXP[5])
+ getLevelForXP(player.playerXP[6])
+ getLevelForXP(player.playerXP[7])
+ getLevelForXP(player.playerXP[8])
+ getLevelForXP(player.playerXP[9])
+ getLevelForXP(player.playerXP[10])
+ getLevelForXP(player.playerXP[11])
+ getLevelForXP(player.playerXP[12])
+ getLevelForXP(player.playerXP[13])
+ getLevelForXP(player.playerXP[14])
+ getLevelForXP(player.playerXP[15])
+ getLevelForXP(player.playerXP[16])
+ getLevelForXP(player.playerXP[17])
+ getLevelForXP(player.playerXP[18])
+ getLevelForXP(player.playerXP[19])
+ getLevelForXP(player.playerXP[20]);
public int getTotalLevel() {
int total = 0;
for (int i = 0; i <= 20; i++) {
total += getLevelForXP(player.playerXP[i]);
}
return total;
}
public void levelUp(int skill) {
SkillHandler.resetSkills(player);
player.getPacketSender().sendFrame126("Total Lvl: " + getTotalLevel(), 3984);
switch (skill) {
case 0:
player.getPacketSender().sendFrame126("Congratulations, you just advanced an attack level!",
6248);
player.getPacketSender().sendFrame126("Your attack level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6249);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced an attack level.");
player.getPacketSender().sendChatInterface(6247);
break;
player.getPacketSender().sendFrame126("Total Lvl: "+getTotalLevel(), 3984);
player.getPacketSender().sendFrame126("Combat Lvl: "+player.calculateCombatLevel()+"", 3983);
case 1:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a defence level!",
6254);
player.getPacketSender().sendFrame126("Your defence level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6255);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a defence level.");
player.getPacketSender().sendChatInterface(6253);
break;
case 2:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a strength level!",
6207);
player.getPacketSender().sendFrame126("Your strength level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6208);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a strength level.");
player.getPacketSender().sendChatInterface(6206);
break;
case 3:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a hitpoints level!",
6217);
player.getPacketSender().sendFrame126("Your hitpoints level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6218);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a hitpoints level.");
player.getPacketSender().sendChatInterface(6216);
if (player.playerLevel[3] < player.getPlayerAssistant()
.getLevelForXP(player.playerXP[3])) {
player.playerLevel[3] += 1;
}
refreshSkill(3);
break;
case 4:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a ranged level!",
5453);
player.getPacketSender().sendFrame126("Your ranged level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6114);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a ranging level.");
player.getPacketSender().sendChatInterface(4443);
break;
case 5:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a prayer level!",
6243);
player.getPacketSender().sendFrame126("Your prayer level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6244);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a prayer level.");
player.getPacketSender().sendChatInterface(6242);
break;
case 6:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a magic level!",
6212);
player.getPacketSender().sendFrame126("Your magic level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6213);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a magic level.");
player.getPacketSender().sendChatInterface(6211);
break;
case 7:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a cooking level!",
6227);
player.getPacketSender().sendFrame126("Your cooking level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6228);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a cooking level.");
player.getPacketSender().sendChatInterface(6226);
break;
case 8:
player.getPacketSender().sendFrame126(
"Congratulations, you just advanced a woodcutting level!",
4273);
player.getPacketSender().sendFrame126("Your woodcutting level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4274);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a woodcutting level.");
player.getPacketSender().sendChatInterface(4272);
break;
case 9:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a fletching level!",
6232);
player.getPacketSender().sendFrame126("Your fletching level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6233);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a fletching level.");
player.getPacketSender().sendChatInterface(6231);
break;
case 10:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a fishing level!",
6259);
player.getPacketSender().sendFrame126("Your fishing level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6260);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a fishing level.");
player.getPacketSender().sendChatInterface(6258);
break;
case 11:
player.getPacketSender().sendFrame126(
"Congratulations, you just advanced a fire making level!",
4283);
player.getPacketSender().sendFrame126("Your firemaking level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4284);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a fire making level.");
player.getPacketSender().sendChatInterface(4282);
break;
case 12:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a crafting level!",
6264);
player.getPacketSender().sendFrame126("Your crafting level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6265);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a crafting level.");
player.getPacketSender().sendChatInterface(6263);
break;
case 13:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a smithing level!",
6222);
player.getPacketSender().sendFrame126("Your smithing level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6223);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a smithing level.");
player.getPacketSender().sendChatInterface(6221);
break;
case 14:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a mining level!",
4417);
player.getPacketSender().sendFrame126("Your mining level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4438);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a mining level.");
player.getPacketSender().sendChatInterface(4416);
break;
case 15:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a herblore level!",
6238);
player.getPacketSender().sendFrame126("Your herblore level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 6239);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a herblore level.");
player.getPacketSender().sendChatInterface(6237);
break;
case 16:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a agility level!",
4278);
player.getPacketSender().sendFrame126("Your agility level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4279);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced an agility level.");
player.getPacketSender().sendChatInterface(4277);
break;
case 17:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a thieving level!",
4263);
player.getPacketSender().sendFrame126("Your theiving level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4264);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a thieving level.");
player.getPacketSender().sendChatInterface(4261);
break;
case 18:
player.getPacketSender().sendFrame126("Congratulations, you just advanced a slayer level!",
12123);
player.getPacketSender().sendFrame126("Your slayer level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 12124);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a slayer level.");
player.getPacketSender().sendChatInterface(12122);
break;
case 20:
player.getPacketSender().sendFrame126(
"Congratulations, you just advanced a runecrafting level!",
4268);
player.getPacketSender().sendFrame126("Your runecrafting level is now "
+ getLevelForXP(player.playerXP[skill]) + ".", 4269);
player.getPacketSender().sendMessage(
"Congratulations, you just advanced a runecrafting level.");
player.getPacketSender().sendChatInterface(4267);
break;
}
Optional<SkillData> data = SkillData.getSkill(skill);
if(!data.isPresent())
return;
player.getPacketSender().sendMessage("Congratulations, you've advanced a level in "+data.get().toString()+"!");
player.getPacketSender().sendFrame126("Congratulations, you've advanced a level in "+data.get().toString()+"!", data.get().getFrame2());
player.getPacketSender().sendFrame126("Your " +data.get().toString()+ " level is now " + getLevelForXP(player.playerXP[skill]) + ".", data.get().getFrame3());
player.getPacketSender().sendChatInterface(data.get().getFrame1());
player.dialogueAction = 0;
player.nextChat = 0;
}
public void refreshSkill(int i) {
switch (i) {
case 0:
player.getPacketSender().sendFrame126("" + player.playerLevel[0] + "", 4004);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[0]) + "", 4005);
player.getPacketSender().sendFrame126("" + player.playerXP[0] + "", 4044);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[0]) + 1)
+ "", 4045);
break;
public void refreshSkill(int skill) {
player.getPacketSender().sendFrame126("Total Lvl: "+getTotalLevel(), 3984);
player.getPacketSender().sendFrame126("Combat Lvl: "+player.calculateCombatLevel()+"", 3983);
Optional<SkillData> data = SkillData.getSkill(skill);
case 1:
player.getPacketSender().sendFrame126("" + player.playerLevel[1] + "", 4008);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[1]) + "", 4009);
player.getPacketSender().sendFrame126("" + player.playerXP[1] + "", 4056);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[1]) + 1)
+ "", 4057);
break;
if(!data.isPresent())
return;
case 2:
player.getPacketSender().sendFrame126("" + player.playerLevel[2] + "", 4006);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[2]) + "", 4007);
player.getPacketSender().sendFrame126("" + player.playerXP[2] + "", 4050);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[2]) + 1)
+ "", 4051);
break;
case 3:
player.getPacketSender().sendFrame126("" + player.playerLevel[3] + "", 4016);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[3]) + "", 4017);
player.getPacketSender().sendFrame126("" + player.playerXP[3] + "", 4080);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[3]) + 1)
+ "", 4081);
break;
case 4:
player.getPacketSender().sendFrame126("" + player.playerLevel[4] + "", 4010);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[4]) + "", 4011);
player.getPacketSender().sendFrame126("" + player.playerXP[4] + "", 4062);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[4]) + 1)
+ "", 4063);
break;
case 5:
player.getPacketSender().sendFrame126("" + player.playerLevel[5] + "", 4012);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[5]) + "", 4013);
player.getPacketSender().sendFrame126("" + player.playerXP[5] + "", 4068);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[5]) + 1)
+ "", 4069);
player.getPacketSender().sendFrame126("" + player.playerLevel[5] + "/"
+ getLevelForXP(player.playerXP[5]) + "", 687);// Prayer
// frame
break;
case 6:
player.getPacketSender().sendFrame126("" + player.playerLevel[6] + "", 4014);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[6]) + "", 4015);
player.getPacketSender().sendFrame126("" + player.playerXP[6] + "", 4074);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[6]) + 1)
+ "", 4075);
break;
case 7:
player.getPacketSender().sendFrame126("" + player.playerLevel[7] + "", 4034);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[7]) + "", 4035);
player.getPacketSender().sendFrame126("" + player.playerXP[7] + "", 4134);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[7]) + 1)
+ "", 4135);
break;
case 8:
player.getPacketSender().sendFrame126("" + player.playerLevel[8] + "", 4038);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[8]) + "", 4039);
player.getPacketSender().sendFrame126("" + player.playerXP[8] + "", 4146);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[8]) + 1)
+ "", 4147);
break;
case 9:
player.getPacketSender().sendFrame126("" + player.playerLevel[9] + "", 4026);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[9]) + "", 4027);
player.getPacketSender().sendFrame126("" + player.playerXP[9] + "", 4110);
player.getPacketSender().sendFrame126(
"" + getXPForLevel(getLevelForXP(player.playerXP[9]) + 1)
+ "", 4111);
break;
case 10:
player.getPacketSender().sendFrame126("" + player.playerLevel[10] + "", 4032);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[10]) + "", 4033);
player.getPacketSender().sendFrame126("" + player.playerXP[10] + "", 4128);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[10]) + 1)
+ "", 4129);
break;
case 11:
player.getPacketSender().sendFrame126("" + player.playerLevel[11] + "", 4036);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[11]) + "", 4037);
player.getPacketSender().sendFrame126("" + player.playerXP[11] + "", 4140);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[11]) + 1)
+ "", 4141);
break;
case 12:
player.getPacketSender().sendFrame126("" + player.playerLevel[12] + "", 4024);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[12]) + "", 4025);
player.getPacketSender().sendFrame126("" + player.playerXP[12] + "", 4104);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[12]) + 1)
+ "", 4105);
break;
case 13:
player.getPacketSender().sendFrame126("" + player.playerLevel[13] + "", 4030);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[13]) + "", 4031);
player.getPacketSender().sendFrame126("" + player.playerXP[13] + "", 4122);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[13]) + 1)
+ "", 4123);
break;
case 14:
player.getPacketSender().sendFrame126("" + player.playerLevel[14] + "", 4028);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[14]) + "", 4029);
player.getPacketSender().sendFrame126("" + player.playerXP[14] + "", 4116);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[14]) + 1)
+ "", 4117);
break;
case 15:
player.getPacketSender().sendFrame126("" + player.playerLevel[15] + "", 4020);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[15]) + "", 4021);
player.getPacketSender().sendFrame126("" + player.playerXP[15] + "", 4092);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[15]) + 1)
+ "", 4093);
break;
case 16:
player.getPacketSender().sendFrame126("" + player.playerLevel[16] + "", 4018);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[16]) + "", 4019);
player.getPacketSender().sendFrame126("" + player.playerXP[16] + "", 4086);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[16]) + 1)
+ "", 4087);
break;
case 17:
player.getPacketSender().sendFrame126("" + player.playerLevel[17] + "", 4022);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[17]) + "", 4023);
player.getPacketSender().sendFrame126("" + player.playerXP[17] + "", 4098);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[17]) + 1)
+ "", 4099);
break;
case 18:
player.getPacketSender().sendFrame126("" + player.playerLevel[18] + "", 12166);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[18]) + "", 12167);
player.getPacketSender().sendFrame126("" + player.playerXP[18] + "", 12171);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[18]) + 1)
+ "", 12172);
break;
case 19:
player.getPacketSender().sendFrame126("" + player.playerLevel[19] + "", 13926);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[19]) + "", 13927);
player.getPacketSender().sendFrame126("" + player.playerXP[19] + "", 13921);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[19]) + 1)
+ "", 13922);
break;
case 20:
player.getPacketSender().sendFrame126("" + player.playerLevel[20] + "", 4152);
player.getPacketSender().sendFrame126("" + getLevelForXP(player.playerXP[20]) + "", 4153);
player.getPacketSender().sendFrame126("" + player.playerXP[20] + "", 4157);
player.getPacketSender().sendFrame126(""
+ getXPForLevel(getLevelForXP(player.playerXP[20]) + 1)
+ "", 4158);
break;
}
player.getPacketSender().sendFrame126("" + player.playerLevel[skill] + "", data.get().getFrame4());
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());
}
public int getXPForLevel(int level) {
@@ -2817,8 +2388,7 @@ public class PlayerAssistant {
if (i < 0) {
return;
}
player.getPacketSender().sendMessage(
"This pouch has " + player.pouches[i] + " rune ess in it.");
player.getPacketSender().sendMessage("This pouch has " + player.pouches[i] + " rune ess in it.");
}
public void fillPouch(int i) {
@@ -2861,8 +2431,7 @@ public class PlayerAssistant {
if (player.playerItems[j] - 1 == brokenBarrow[1]) {
if (totalCost + 80000 > cashAmount) {
breakOut = true;
player.getPacketSender().sendMessage(
"You have run out of money.");
player.getPacketSender().sendMessage("You have run out of money.");
break;
} else {
totalCost += 80000;
@@ -2875,8 +2444,7 @@ public class PlayerAssistant {
}
}
if (totalCost > 0) {
player.getItemAssistant().deleteItem(995,
player.getItemAssistant().getItemSlot(995), totalCost);
player.getItemAssistant().deleteItem(995, player.getItemAssistant().getItemSlot(995), totalCost);
}
}
@@ -234,7 +234,7 @@ public class PlayerHandler {
players[i] = null;
} else {
if (!players[i].initialized) {
players[i].loginPlayer();
players[i].getPacketSender().loginPlayer();
players[i].initialized = true;
} else {
players[i].update();
@@ -278,7 +278,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]) == true) {
plr.npcList[i].updateNPCMovement(str);
plr.npcList[i].appendNPCUpdateBlock(updateBlock);
plr.npcList[plr.npcListSize++] = plr.npcList[i];
@@ -294,7 +294,7 @@ public class PlayerHandler {
for (Npc i : NpcHandler.npcs) {
if (i != null) {
int id = i.npcId;
if (plr.RebuildNPCList == false
if (plr.rebuildNPCList == false
&& (plr.npcInListBitmap[id >> 3] & 1 << (id & 7)) != 0) {
} else if (plr.withinDistance(i) == false) {
} else {
@@ -303,7 +303,7 @@ public class PlayerHandler {
}
}
plr.RebuildNPCList = false;
plr.rebuildNPCList = false;
if (str != null) {
if (updateBlock.currentOffset > 0) {
@@ -296,9 +296,6 @@ public class PlayerSave {
case "hasStarter":
player.hasStarter = Boolean.parseBoolean(token2);
break;
case "membership":
player.membership = Boolean.parseBoolean(token2);
break;
case "canSpeak":
player.canSpeak = Boolean.parseBoolean(token2);
break;
@@ -668,8 +665,6 @@ public class PlayerSave {
characterfile.newLine();
characterfile.write("summonId = " + player.summonId);
characterfile.newLine();
characterfile.write("membership = " + player.membership);
characterfile.newLine();
characterfile.write("questPoints = " + player.questPoints);
characterfile.newLine();
characterfile.write("votePoints = " + player.votePoints);
@@ -93,7 +93,7 @@ public class ShopHandler {
if (PlayerHandler.players[k] != null) {
if (PlayerHandler.players[k].isShopping && PlayerHandler.players[k].shopId == i) {
PlayerHandler.players[k].updateShop = true;
PlayerHandler.players[k].updateshop(i);
PlayerHandler.players[k].updateShop(i);
}
}
}
@@ -2,8 +2,15 @@ package com.rebotted.net;
import java.text.DecimalFormat;
import com.rebotted.Connection;
import com.rebotted.GameConstants;
import com.rebotted.GameEngine;
import com.rebotted.game.content.combat.magic.MagicTeleports;
import com.rebotted.game.content.quests.QuestAssistant;
import com.rebotted.game.content.skills.SkillHandler;
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.Player;
import com.rebotted.game.players.PlayerHandler;
@@ -17,7 +24,135 @@ public class PacketSender {
public PacketSender(Player player2) {
this.player = player2;
}
public PacketSender loginPlayer() {
player.getPlayerAssistant().loginScreen();
if (Connection.isNamedBanned(player.playerName)) {
player.logout();
return this;
}
if (player.getOutStream() != null) {
player.outStream.createFrame(249);
player.outStream.writeByteA(1);
player.outStream.writeWordBigEndianA(player.playerId);
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (j == player.playerId) {
continue;
}
if (PlayerHandler.players[j] != null) {
if (PlayerHandler.players[j].playerName.equalsIgnoreCase(player.playerName)) {
player.disconnected = true;
}
}
}
}
player.lastLoginDate = player.getLastLogin();
QuestAssistant.sendStages(player);
if (player.hasNpc == true) {
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);
}
}
if (player.questPoints > QuestAssistant.MAXIMUM_QUESTPOINTS || player.playerRights > 2) {
player.questPoints = QuestAssistant.MAXIMUM_QUESTPOINTS;// check for abusers
}
if (player.playerHitpoints < 0) {
player.isDead = true;
}
if (player.playerLevel[player.playerHitpoints] > 99) {
player.playerLevel[player.playerHitpoints] = 99;// check for abusers
player.getPlayerAssistant().refreshSkill(3);
}
if (player.playerLevel[player.playerFarming] > 1 && player.playerRights < 3) {
player.playerLevel[player.playerFarming] = 1;
player.getPlayerAssistant().refreshSkill(player.playerFarming);
}
if (player.tutorialProgress > 0 && player.tutorialProgress < 36 && GameConstants.TUTORIAL_ISLAND) {
player.getPacketSender().sendMessage("@blu@Continue the tutorial from the last step you were on.@bla@");
}
if (player.tutorialProgress > 35) {
player.getPlayerAssistant().sendSidebars();
Weight.updateWeight(player);
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("Join our Discord: discord.gg/4zrA2Wy");
/*if (!hasBankpin) { //Kind of annoying. Maybe add Random % 10 or something.
getActionSender().sendMessage("You do not have a bank pin it is highly recommended you set one.");
}*/
}
player.getPlayerAssistant().firstTimeTutorial();
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]));
for (int i = 0; i < 25; i++) {
player.getPacketSender().setSkillLevel(i, player.playerLevel[i], player.playerXP[i]);
player.getPlayerAssistant().refreshSkill(i);
}
for (int p = 0; p < player.getPrayer().PRAYER.length; p++) { // reset prayer glow
player.getPrayer().prayerActive[p] = false;
player.getPacketSender().sendConfig(player.getPrayer().PRAYER_GLOW[p], 0);
}
player.lastX = player.absX;
player.lastY = player.absY;
player.lastH = player.heightLevel;
if (player.inWild()) {
player.WildernessWarning = true;
}
if (player.splitChat == true) {
player.getPacketSender().sendConfig(502, 1);
player.getPacketSender().sendConfig(287, 1);
} else {
player.getPacketSender().sendConfig(502, 0);
player.getPacketSender().sendConfig(287, 0);
}
if (player.isRunning2) {
player.getPacketSender().sendConfig(504, 1);
player.getPacketSender().sendConfig(173, 1);
} else {
player.getPacketSender().sendConfig(504, 0);
player.getPacketSender().sendConfig(173, 0);
}
player.getPlayList().fixAllColors();
player.getPlayerAction().setAction(false);
player.getPlayerAction().canWalk(true);
player.getPlayerAssistant().handleWeaponStyle();
MagicTeleports.handleLoginText(player);
player.accountFlagged = player.getPlayerAssistant().checkForFlags();
player.getPacketSender().sendConfig(108, 0);// resets autocast button
player.getPacketSender().sendFrame107(); // reset screen
player.getPacketSender().setChatOptions(0, 0, 0); // reset private messaging options
player.correctCoordinates();
player.getPacketSender().showOption(4, 0, "Trade With", 3);
player.getPacketSender().showOption(5, 0, "Follow", 4);
player.getItemAssistant().resetItems(3214);
player.getItemAssistant().resetBonus();
player.getItemAssistant().getBonus();
player.getItemAssistant().writeBonus();
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerHat], 1, player.playerHat);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerCape], 1, player.playerCape);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerAmulet], 1, player.playerAmulet);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerArrows], player.playerEquipmentN[player.playerArrows], player.playerArrows);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerChest], 1, player.playerChest);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerShield], 1, player.playerShield);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerLegs], 1, player.playerLegs);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerHands], 1, player.playerHands);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerFeet], 1, player.playerFeet);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerRing], 1,player.playerRing);
player.getItemAssistant().setEquipment(player.playerEquipment[player.playerWeapon], player.playerEquipmentN[player.playerWeapon], player.playerWeapon);
player.getCombatAssistant().getPlayerAnimIndex();
player.getPlayerAssistant().logIntoPM();
player.getItemAssistant().addSpecialBar(player.playerEquipment[player.playerWeapon]);
player.saveTimer = GameConstants.SAVE_TIMER;
player.saveCharacter = true;
Misc.println("[REGISTERED]: " + player.playerName + "");
player.handler.updatePlayer(player, player.outStream);
player.handler.updateNPC(player, player.outStream);
player.flushOutStream();
player.getPlayerAssistant().resetFollow();
LightSources.saveBrightness(player);
player.getPlayerAssistant().sendAutoRetalitate();
player.getCannon().loginCheck();
return this;
}
public PacketSender sendClan(String name, String message, String clan, int rights) {
if (player.getOutStream() == null)
@@ -1,6 +1,7 @@
package com.rebotted.net.packets.impl;
import com.rebotted.GameConstants;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.magic.CastOnOther;
import com.rebotted.game.content.combat.magic.MagicData;
import com.rebotted.game.content.combat.range.RangeData;
@@ -132,7 +133,7 @@ public class AttackPlayer implements PacketType {
return;
}
if (RangeData.correctBowAndArrows(c) < c.playerEquipment[c.playerArrows]
&& GameConstants.CORRECT_ARROWS
&& CombatConstants.CORRECT_ARROWS
&& usingBow
&& !RangeData.usingCrystalBow(c)
&& c.playerEquipment[c.playerWeapon] != 9185) {
@@ -1,9 +1,9 @@
package com.rebotted.net.packets.impl;
import com.rebotted.GameConstants;
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.magic.MagicData;
import com.rebotted.game.content.combat.range.RangeData;
import com.rebotted.game.content.skills.thieving.Pickpocket;
@@ -124,7 +124,7 @@ public class ClickNPC implements PacketType {
break;
}
if (RangeData.correctBowAndArrows(client) < client.playerEquipment[client.playerArrows]
&& GameConstants.CORRECT_ARROWS
&& CombatConstants.CORRECT_ARROWS
&& usingBow
&& !RangeData.usingCrystalBow(client)
&& client.playerEquipment[client.playerWeapon] != 9185) {
@@ -134,79 +134,17 @@ public class ClickObject implements PacketType {
}
if (p.teleTimer > 0) {
p.getPacketSender().sendMessage(
"You cannot use objects while teleporting.");
p.getPacketSender().sendMessage("You cannot use objects while teleporting.");
return;
}
if (Math.abs(p.getX() - p.objectX) > 25 || Math.abs(p.getY() - p.objectY) > 25) {
p.resetWalkingQueue();
break;
}
if (Woodcutting.playerTrees(p, p.objectId) && p.objectId != 1292) {
Woodcutting.startWoodcutting(p, p.objectId, p.objectX, p.objectY, p.clickObjectType);
}
switch (p.objectId) {
case 1276:
Woodcutting.startWoodcutting(p, 0, p.objectX, p.objectY, p.clickObjectType);
break;
case 1278:
Woodcutting.startWoodcutting(p, 1, p.objectX, p.objectY, p.clickObjectType);
break;
case 1286:
Woodcutting.startWoodcutting(p, 2, p.objectX, p.objectY, p.clickObjectType);
break;
case 1281:
Woodcutting.startWoodcutting(p, 3, p.objectX, p.objectY, p.clickObjectType);
break;
case 1308:
Woodcutting.startWoodcutting(p, 4, p.objectX, p.objectY, p.clickObjectType);
break;
case 5552:
Woodcutting.startWoodcutting(p, 5, p.objectX, p.objectY, p.clickObjectType);
break;
case 1307:
Woodcutting.startWoodcutting(p, 6, p.objectX, p.objectY, p.clickObjectType);
break;
case 1309:
Woodcutting.startWoodcutting(p, 7, p.objectX, p.objectY, p.clickObjectType);
break;
case 1306:
Woodcutting.startWoodcutting(p, 8, p.objectX, p.objectY, p.clickObjectType);
break;
case 5551:
Woodcutting.startWoodcutting(p, 9, p.objectX, p.objectY, p.clickObjectType);
break;
case 5553:
Woodcutting.startWoodcutting(p, 10, p.objectX, p.objectY, p.clickObjectType);
break;
case 3033:
Woodcutting.startWoodcutting(p, 11, p.objectX, p.objectY, p.clickObjectType);
break;
case 3037:
Woodcutting.startWoodcutting(p, 12, p.objectX, p.objectY, p.clickObjectType);
break;
case 1282:
Woodcutting.startWoodcutting(p, 13, p.objectX, p.objectY, p.clickObjectType);
break;
case 1383:
Woodcutting.startWoodcutting(p, 14, p.objectX, p.objectY, p.clickObjectType);
break;
case 2023:
Woodcutting.startWoodcutting(p, 15, p.objectX, p.objectY, p.clickObjectType);
break;
case 1319:
Woodcutting.startWoodcutting(p, 16, p.objectX, p.objectY, p.clickObjectType);
break;
case 1318:
Woodcutting.startWoodcutting(p, 17, p.objectX, p.objectY, p.clickObjectType);
break;
case 1315:
Woodcutting.startWoodcutting(p, 18, p.objectX, p.objectY, p.clickObjectType);
break;
case 1316:
Woodcutting.startWoodcutting(p, 19, p.objectX, p.objectY, p.clickObjectType);
break;
case 1332:
Woodcutting.startWoodcutting(p, 20, p.objectX, p.objectY, p.clickObjectType);
break;
case 1292:
if (p.spiritTree == false && p.clickedTree == true) {
p.getPacketSender().sendMessage("You have already spawned a tree spirit.");
@@ -217,7 +155,7 @@ public class ClickObject implements PacketType {
NpcHandler.spawnNpc(p, 655, p.getX(), p.getY(), 0, 0, 225, 20, 80, 80, true, false);
p.clickedTree = true;
} else if (p.spiritTree == true) {
Woodcutting.startWoodcutting(p, 21, p.objectX, p.objectY, p.clickObjectType);
Woodcutting.startWoodcutting(p, p.objectId, p.objectX, p.objectY, p.clickObjectType);
}
break;
@@ -1,6 +1,6 @@
package com.rebotted.net.packets.impl;
import com.rebotted.GameConstants;
import com.rebotted.game.content.combat.CombatConstants;
import com.rebotted.game.content.combat.Specials;
import com.rebotted.game.content.combat.magic.CastOnOther;
import com.rebotted.game.content.combat.magic.MagicData;
@@ -13,7 +13,6 @@ import com.rebotted.game.content.random.PartyRoom;
import com.rebotted.game.content.randomevents.SandwhichLady;
import com.rebotted.game.content.skills.cooking.Cooking;
import com.rebotted.game.content.skills.cooking.CookingTutorialIsland;
import com.rebotted.game.content.skills.crafting.JewelryMaking;
import com.rebotted.game.content.skills.crafting.LeatherMaking;
import com.rebotted.game.content.skills.crafting.Pottery;
import com.rebotted.game.content.skills.crafting.Spinning;
@@ -24,12 +23,11 @@ import com.rebotted.game.content.skills.herblore.Herblore;
import com.rebotted.game.content.skills.smithing.SilverCrafting;
import com.rebotted.game.content.skills.smithing.Smelting;
import com.rebotted.game.content.traveling.GnomeGlider;
import com.rebotted.game.dialogues.DialogueOptions;
import com.rebotted.game.items.GameItem;
import com.rebotted.game.items.ItemAssistant;
import com.rebotted.game.items.impl.ExperienceLamp;
import com.rebotted.game.items.impl.Flowers;
import com.rebotted.game.items.impl.LightSources;
import com.rebotted.game.items.impl.Teles;
import com.rebotted.game.objects.impl.Climbing;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
@@ -58,6 +56,7 @@ public class ClickingButtons implements PacketType {
SilverCrafting.makeSilver(player, actionButtonId, 0);
Climbing.handleLadderButtons(player, actionButtonId);
Specials.specialClicking(player, actionButtonId);
DialogueOptions.handleDialogueOptions(player, actionButtonId);
if (player.musicOn == true) {
player.getPlayList().handleButton(actionButtonId);
}
@@ -1216,729 +1215,6 @@ public class ClickingButtons implements PacketType {
player.getPacketSender().closeAllWindows();
break;
case 9157:// barrows tele to tunnels
if (player.dialogueAction == 1) {
int r = 4;
// int r = Misc.random(3);
switch (r) {
case 0:
player.getPlayerAssistant().movePlayer(3534, 9677, 0);
break;
case 1:
player.getPlayerAssistant().movePlayer(3534, 9712, 0);
break;
case 2:
player.getPlayerAssistant().movePlayer(3568, 9712, 0);
break;
case 3:
player.getPlayerAssistant().movePlayer(3568, 9677, 0);
break;
case 4:
player.getPlayerAssistant().movePlayer(3551, 9694, 0);
break;
}
} else if (player.dialogueAction == 2) {
player.getPlayerAssistant().movePlayer(2507, 4717, 0);
} else if (player.dialogueAction == 7) {
player.getPlayerAssistant().startTeleport(3088, 3933, 0, "modern");
player.getPacketSender().sendMessage(
"NOTE: You are now in the wilderness...");
} else if (player.dialogueAction == 8) {
player.getPlayerAssistant().resetBarrows();
player.getPacketSender().sendMessage(
"Your barrows have been reset.");
} else if (player.dialogueAction == 29) {
player.getDialogueHandler().sendDialogues(480, player.npcType);
return;
} else if (player.dialogueAction == 30) {
player.getDialogueHandler().sendDialogues(488, player.npcType);
return;
} else if (player.dialogueAction == 34) {
player.getDialogueHandler().sendDialogues(361, player.npcType);
return;
} else if (player.dialogueAction == 50) {
player.getPlayerAssistant().startTeleport(2898, 3562, 0,
"modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 55) {
player.getDialogueHandler().sendDialogues(91, player.npcType);
return;
} else if (player.dialogueAction == 56) {
player.getDialogueHandler().sendDialogues(96, player.npcType);
return;
} else if (player.dialogueAction == 57) {
player.getDialogueHandler().sendDialogues(57, player.npcType);
return;
} else if (player.dialogueAction == 3222) {
player.getBarrows().checkCoffins();
player.getPacketSender().closeAllWindows();
return;
} else if (player.dialogueAction == 3218) {
player.getDialogueHandler().sendDialogues(3219, 0);
return;
} else if (player.dialogueAction == 65) {
player.getDialogueHandler().sendDialogues(179, player.npcType);
return;
} else if (player.dialogueAction == 66) {
player.getDialogueHandler().sendDialogues(182, player.npcType);
return;
} else if (player.dialogueAction == 67) {
player.getDialogueHandler().sendDialogues(36, player.npcType);
return;
} else if (player.dialogueAction == 68) {
player.getDialogueHandler().sendDialogues(587, player.npcType);
return;
} else if (player.dialogueAction == 70) {
player.getDialogueHandler().sendDialogues(1009, player.npcType);
return;
} else if (player.dialogueAction == 71) {
player.getDialogueHandler().sendDialogues(556, player.npcType);
return;
} else if (player.dialogueAction == 72) {
player.getDialogueHandler().sendDialogues(563, player.npcType);
return;
} else if (player.dialogueAction == 73) {
player.getDialogueHandler().sendDialogues(579, player.npcType);
return;
} else if (player.dialogueAction == 74) {
player.getDialogueHandler().sendDialogues(534, player.npcType);
return;
} else if (player.dialogueAction == 90) {
player.getDialogueHandler().sendDialogues(12, player.npcType);
return;
} else if (player.dialogueAction == 91) {
player.getDialogueHandler().sendDialogues(16, player.npcType);
return;
} else if (player.dialogueAction == 92) {
player.getDialogueHandler().sendDialogues(9, player.npcType);
return;
} else if (player.dialogueAction == 93) {
player.getDialogueHandler().sendDialogues(23, player.npcType);
return;
} else if (player.dialogueAction == 118) {
player.getDialogueHandler().sendDialogues(394, player.npcType);
return;
} else if (player.dialogueAction == 119) {
player.getDialogueHandler().sendDialogues(399, player.npcType);
return;
} else if (player.dialogueAction == 120) {
player.getDialogueHandler().sendDialogues(406, player.npcType);
return;
} else if (player.dialogueAction == 121) {
player.getDialogueHandler().sendDialogues(438, player.npcType);
return;
} else if (player.dialogueAction == 125) {
player.getDialogueHandler().sendDialogues(154, player.npcType);
return;
} else if (player.dialogueAction == 127) {
player.getDialogueHandler().sendDialogues(210, player.npcType);
return;
} else if (player.dialogueAction == 128) {
player.getDialogueHandler().sendDialogues(223, player.npcType);
return;
} else if (player.dialogueAction == 130) {
player.getDialogueHandler().sendDialogues(594, player.npcType);
return;
} else if (player.dialogueAction == 132) {
player.getDialogueHandler().sendDialogues(1013, player.npcType);
} else if (player.dialogueAction == 133) {
player.getDialogueHandler().sendDialogues(1016, player.npcType);
} else if (player.dialogueAction == 140) {
player.getDialogueHandler().sendDialogues(198, player.npcType);
return;
} else if (player.dialogueAction == 141) {
player.getDialogueHandler().sendDialogues(1020, player.npcType);
return;
} else if (player.dialogueAction == 143) {
player.getDialogueHandler().sendDialogues(1232, player.npcType);
return;
} else if (player.dialogueAction == 168) {
player.getDialogueHandler().sendDialogues(476, player.npcType);
return;
} else if (player.dialogueAction == 508) {
player.getDialogueHandler().sendDialogues(1026, player.npcType);
return;
} else if (player.dialogueAction == 855) {
player.getItemAssistant().removeAllItems();
} else if (player.dialogueAction == 146) {
player.getDialogueHandler().sendDialogues(1325, player.npcType);
return;
} else if (player.dialogueAction == 177) {
player.getDialogueHandler().sendDialogues(1376, player.npcType);
return;
} else if (player.dialogueAction == 151) {
player.getDialogueHandler().sendDialogues(2998, player.npcType);
return;
} else if (player.dialogueAction == 152) {
player.getDialogueHandler().sendDialogues(3121, player.npcType);
return;
} else if (player.dialogueAction == 154) {
player.getDialogueHandler().sendDialogues(3137, player.npcType);
return;
} else if (player.dialogueAction == 155) {
player.getDialogueHandler().sendDialogues(3142, player.npcType);
return;
} else if (player.dialogueAction == 156) {
player.getDialogueHandler().sendDialogues(3147, player.npcType);
return;
} else if (player.dialogueAction == 157) {
player.getDialogueHandler().sendDialogues(3153, player.npcType);
return;
} else if (player.dialogueAction == 158) {
player.getDialogueHandler().sendDialogues(3156, player.npcType);
return;
} else if (player.dialogueAction == 3111) {
player.getDialogueHandler().sendDialogues(3112, 946);
return;
} else if (player.dialogueAction == 162) {
player.getDialogueHandler().sendDialogues(3170, player.npcType);
return;
} else if (player.dialogueAction == 163) {
player.getDialogueHandler().sendDialogues(3129, player.npcType);
return;
} else if (player.dialogueAction == 164) {
player.getDialogueHandler().sendDialogues(3177, 510);
return;
} else if (player.dialogueAction == 165) {
player.getDialogueHandler().sendDialogues(3182, 510);
return;
} else if (player.dialogueAction == 166) {
player.getDialogueHandler().sendDialogues(1340, player.npcType);
return;
} else if (player.dialogueAction == 170) {
player.getDialogueHandler().sendDialogues(1348, player.npcType);
return;
} else if (player.dialogueAction == 171) {
player.getDialogueHandler().sendDialogues(1352, player.npcType);
return;
} else if (player.dialogueAction == 172) {
player.getDialogueHandler().sendDialogues(1355, player.npcType);
return;
} else if (player.dialogueAction == 173) {
player.getDialogueHandler().sendDialogues(1360, player.npcType);
return;
} else if (player.dialogueAction == 175) {
player.getDialogueHandler().sendDialogues(3192, player.npcType);
return;
} else if (player.dialogueAction == 176) {
player.getDialogueHandler().sendDialogues(1372, player.npcType);
return;
} else if (player.dialogueAction == 178) {
player.getDialogueHandler().sendDialogues(3186, player.npcType);
return;
} else if (player.dialogueAction == 179) {
player.getDialogueHandler().sendDialogues(1380, player.npcType);
return;
} else if (player.dialogueAction == 180) {
player.getDialogueHandler().sendDialogues(3197, player.npcType);
return;
} else if (player.dialogueAction == 181) {
player.getDialogueHandler().sendDialogues(612, player.npcType);
return;
} else if (player.dialogueAction == 183) {
player.getDialogueHandler().sendDialogues(620, player.npcType);
return;
} else if (player.dialogueAction == 184) {
player.getDialogueHandler().sendDialogues(624, player.npcType);
return;
} else if (player.dialogueAction == 3204) {
player.getItemAssistant().deleteItem(1929, 1);
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1931, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 3205) {
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().deleteItem(1937, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1935, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 189) {
player.getDialogueHandler().sendDialogues(3210, player.npcType);
return;
} else if (player.dialogueAction == 161) {// rod
player.getPlayerAssistant().startTeleport(3313, 3234, 0, "modern");
Teles.necklaces(player);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9158:
if (player.dialogueAction == 8) {
player.getPlayerAssistant().fixAllBarrows();
} else if (player.dialogueAction == 29) {
player.getDialogueHandler().sendDialogues(481, player.npcType);
return;
} else if (player.dialogueAction == 34) {
player.getDialogueHandler().sendDialogues(359, player.npcType);
return;
} else if (player.dialogueAction == 50) {
player.getPlayerAssistant().startTeleport(2545, 3569, 0, "modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 55) {
player.getDialogueHandler().sendDialogues(92, player.npcType);
return;
} else if (player.dialogueAction == 56) {
player.getDialogueHandler().sendDialogues(95, player.npcType);
return;
} else if (player.dialogueAction == 74) {
player.getDialogueHandler().sendDialogues(535, player.npcType);
return;
} else if (player.dialogueAction == 57) {
player.getDialogueHandler().sendDialogues(58, player.npcType);
return;
} else if (player.dialogueAction == 62) {
player.getDialogueHandler().sendDialogues(309, player.npcType);
return;
} else if (player.dialogueAction == 67) {
player.getDialogueHandler().sendDialogues(35, player.npcType);
return;
} else if (player.dialogueAction == 68) {
player.getDialogueHandler().sendDialogues(586, player.npcType);
return;
} else if (player.dialogueAction == 71) {
player.getDialogueHandler().sendDialogues(582, player.npcType);
return;
} else if (player.dialogueAction == 72) {
player.getDialogueHandler().sendDialogues(562, player.npcType);
return;
} else if (player.dialogueAction == 73) {
player.getDialogueHandler().sendDialogues(580, player.npcType);
return;
} else if (player.dialogueAction == 90) {
player.getDialogueHandler().sendDialogues(13, player.npcType);
return;
} else if (player.dialogueAction == 91) {
player.getDialogueHandler().sendDialogues(17, player.npcType);
return;
} else if (player.dialogueAction == 118) {
player.getDialogueHandler().sendDialogues(392, player.npcType);
return;
} else if (player.dialogueAction == 119) {
player.getDialogueHandler().sendDialogues(404, player.npcType);
return;
} else if (player.dialogueAction == 120) {
player.getDialogueHandler().sendDialogues(404, player.npcType);
return;
} else if (player.dialogueAction == 121) {
player.getDialogueHandler().sendDialogues(437, player.npcType);
return;
} else if (player.dialogueAction == 125) {
player.getDialogueHandler().sendDialogues(163, player.npcType);
return;
} else if (player.dialogueAction == 130) {
player.getDialogueHandler().sendDialogues(593, player.npcType);
return;
} else if (player.dialogueAction == 131) {
JewelryMaking.mouldInterface(player);
return;
} else if (player.dialogueAction == 141) {
player.getDialogueHandler().sendDialogues(1021, player.npcType);
return;
} else if (player.dialogueAction == 143) {
player.getDialogueHandler().sendDialogues(1233, player.npcType);
return;
} else if (player.dialogueAction == 161) {// rod
player.getPlayerAssistant().startTeleport(2441, 3090, 0, "modern");
Teles.necklaces(player);
return;
} else if (player.dialogueAction == 508) {
player.getDialogueHandler().sendDialogues(1025, player.npcType);
return;
} else if (player.dialogueAction == 146) {
player.getDialogueHandler().sendDialogues(1324, player.npcType);
return;
} else if (player.dialogueAction == 177) {
player.getDialogueHandler().sendDialogues(1375, player.npcType);
return;
} else if (player.dialogueAction == 21) {
Flowers.harvestFlower(player, Flowers.lastObject);
player.getPacketSender().closeAllWindows();
} else if (player.dialogueAction == 3111) {
player.getDialogueHandler().sendDialogues(3117, 946);
return;
} else if (player.dialogueAction == 152) {
player.getDialogueHandler().sendDialogues(3120, player.npcType);
return;
} else if (player.dialogueAction == 151) {
player.getDialogueHandler().sendDialogues(3000, player.npcType);
player.getPacketSender().closeAllWindows();
return;
} else if (player.dialogueAction == 154) {
player.getDialogueHandler().sendDialogues(3135, player.npcType);
return;
} else if (player.dialogueAction == 155) {
player.getDialogueHandler().sendDialogues(3141, player.npcType);
return;
} else if (player.dialogueAction == 156) {
player.getDialogueHandler().sendDialogues(3146, player.npcType);
return;
} else if (player.dialogueAction == 157) {
player.getDialogueHandler().sendDialogues(3152, player.npcType);
return;
} else if (player.dialogueAction == 158) {
player.getDialogueHandler().sendDialogues(3157, player.npcType);
return;
} else if (player.dialogueAction == 162) {
player.getDialogueHandler().sendDialogues(3169, player.npcType);
return;
} else if (player.dialogueAction == 163) {
player.getDialogueHandler().sendDialogues(3131, player.npcType);
return;
} else if (player.dialogueAction == 164) {
player.getDialogueHandler().sendDialogues(3175, player.npcType);
return;
} else if (player.dialogueAction == 165) {
player.getDialogueHandler().sendDialogues(3180, player.npcType);
return;
} else if (player.dialogueAction == 166) {
player.getDialogueHandler().sendDialogues(1339, player.npcType);
return;
} else if (player.dialogueAction == 168) {
player.getDialogueHandler().sendDialogues(1337, player.npcType);
return;
} else if (player.dialogueAction == 170) {
player.getDialogueHandler().sendDialogues(1347, player.npcType);
return;
} else if (player.dialogueAction == 171) {
player.getDialogueHandler().sendDialogues(1351, player.npcType);
return;
} else if (player.dialogueAction == 172) {
player.getDialogueHandler().sendDialogues(1356, player.npcType);
return;
} else if (player.dialogueAction == 173) {
player.getDialogueHandler().sendDialogues(1361, player.npcType);
return;
} else if (player.dialogueAction == 175) {
player.getDialogueHandler().sendDialogues(3191, player.npcType);
return;
} else if (player.dialogueAction == 176) {
player.getDialogueHandler().sendDialogues(1371, player.npcType);
return;
} else if (player.dialogueAction == 178) {
player.getDialogueHandler().sendDialogues(3185, player.npcType);
return;
} else if (player.dialogueAction == 179) {
player.getDialogueHandler().sendDialogues(1381, player.npcType);
return;
} else if (player.dialogueAction == 180) {
player.getDialogueHandler().sendDialogues(3199, player.npcType);
return;
} else if (player.dialogueAction == 181) {
player.getDialogueHandler().sendNpcChat1("No I like my job as Squire, I just need some help.", player.talkingNpc, "Squire");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 183) {
player.getDialogueHandler().sendPlayerChat1("Well I hope you find it soon.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 184) {
player.getDialogueHandler().sendPlayerChat1("No, I've got lots of mining work to do.");
player.nextChat = 0;
return;
} else if (player.dialogueAction == 3204) {
player.getItemAssistant().deleteItem(1929, 1);
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().addItem(2307, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1931, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 3205) {
player.getItemAssistant().deleteItem(1933, 1);
player.getItemAssistant().deleteItem(1937, 1);
player.getItemAssistant().addItem(1953, 1);
player.getItemAssistant().addItem(1925, 1);
player.getItemAssistant().addItem(1935, 1);
player.getPlayerAssistant().addSkillXP(1, player.playerCooking);
player.nextChat = 0;
} else if (player.dialogueAction == 189) {
player.getDialogueHandler().sendDialogues(3212, player.npcType);
return;
}
player.dialogueAction = 0;
player.getPacketSender().closeAllWindows();
break;
case 9178:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(3428, 3538, 0, "modern");
}
if (player.dialogueAction == 122 && player.objectId == 12164 || player.objectId == 12163 || player.objectId == 12166) {//barb
player.getPlayerAssistant().startTeleport(3112, 3410, 0, "modern");
} else if (player.objectId == 12165) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to barbarian village because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(3565, 3314, 0,
"modern");
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3088, 3500, 0,
"modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(500, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(340, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(354, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(378, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3088, 3500, 0,
"modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(52, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3524,player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1005, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1045, player.npcType);
}
/*
* if (client.dialogueAction == 142)
* client.getDialogues().handleDialogues(1231, client.npcType);
*/
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1318, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3123, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3164, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1234, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().buyArrows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
}
break;
case 9179:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2884, 3395, 0, "modern");
}
if (player.dialogueAction == 122 && player.objectId == 12163 || player.objectId == 12165 || player.objectId == 12166) {//champ
player.getPlayerAssistant().startTeleport(3203, 3343, 0, "modern");
} else if (player.objectId == 12164) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to the Champion Guild because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(2444, 5170, 0, "modern");
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3243, 3513, 0, "modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(502, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(341, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(356, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(376, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3293, 3174, 0, "modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(64, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523, player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500002, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1042, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1319, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3124, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3164, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1235, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().exchangePoints();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(29, player.npcType);
}
break;
case 9180:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2471, 10137, 0, "modern");
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500003, player.npcType);
}
if (player.dialogueAction == 122 && player.objectId == 12164 || player.objectId == 12165 || player.objectId == 12166) {//lumby
player.getPlayerAssistant().startTeleport(3243, 3237, 0, "modern");
} else if (player.objectId == 12163) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to Lumbridge because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(3363, 3676, 0, "modern");
}
if (player.dialogueAction == 4) {
player.getPlayerAssistant().startTeleport(2659, 2676, 0, "modern");
}
if (player.dialogueAction == 31) {
player.getDialogueHandler().sendDialogues(501, player.npcType);
}
if (player.dialogueAction == 32) {
player.getDialogueHandler().sendDialogues(342, player.npcType);
}
if (player.dialogueAction == 33) {
player.getDialogueHandler().sendDialogues(355, player.npcType);
}
if (player.dialogueAction == 35) {
player.getDialogueHandler().sendDialogues(377, player.npcType);
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(2911, 3152, 0, "modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(65, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523,player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(30, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1041, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1320, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3125, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3165, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1236, player.npcType);
}
if (player.dialogueAction == 485) {
player.getRangersGuild().howAmIDoing();
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1003, player.npcType);
}
break;
case 9181:
if (player.dialogueAction == 2) {
player.getPlayerAssistant().startTeleport(2669, 3714, 0, "modern");
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(500004, player.npcType);
}
if (player.dialogueAction == 122 && player.objectId == 12163 || player.objectId == 12164 || player.objectId == 12165) {//edge
player.getPlayerAssistant().startTeleport(3132, 3509, 0, "modern");
} else if (player.objectId == 12166) {
if (player.dialogueAction == 122) {
player.getPacketSender().sendMessage("You can't take the canoe to Edgeville because you're already there!");
player.getPlayerAssistant().handleCanoe();
}
}
if (player.dialogueAction == 3) {
player.getPlayerAssistant().startTeleport(2540, 4716, 0,
"modern");
}
if (player.dialogueAction == 51) {
player.getPlayerAssistant().gloryTeleport(3103, 3249, 0,
"modern");
}
Teles.necklaces(player);
if (player.dialogueAction == 52) {
player.getDialogueHandler().sendDialogues(63, player.npcType);
}
if (player.dialogueAction == 1000) {
player.getDialogueHandler().sendDialogues(3523, player.npcType);
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(31, player.npcType);
}
if (player.dialogueAction == 69) {
player.getDialogueHandler().sendDialogues(1004, player.npcType);
}
if (player.dialogueAction == 228) {
player.getDialogueHandler().sendDialogues(1038, player.npcType);
}
if (player.dialogueAction == 145) {
player.getDialogueHandler().sendDialogues(1321, player.SlayerMaster);
}
if (player.dialogueAction == 153) {
player.getDialogueHandler().sendDialogues(3126, player.npcType);
}
if (player.dialogueAction == 160) {
player.getDialogueHandler().sendDialogues(3166, player.npcType);
}
if (player.dialogueAction == 142) {
player.getDialogueHandler().sendDialogues(1231, player.npcType);
}
if (player.dialogueAction == 485) {
player.getPacketSender().closeAllWindows();
}
if (player.dialogueAction == 700) {
player.getDialogueHandler().sendDialogues(28, player.npcType);
}
break;
/** Dueling **/
case 26065: // no forfeit
case 26040:
@@ -2152,14 +1428,12 @@ public class ClickingButtons implements PacketType {
break;
}
if (System.currentTimeMillis() - player.godSpellDelay < GameConstants.GOD_SPELL_CHARGE) {
player.getPacketSender().sendMessage(
"You still feel the charge in your body!");
if (System.currentTimeMillis() - player.godSpellDelay < CombatConstants.GOD_SPELL_CHARGE) {
player.getPacketSender().sendMessage("You still feel the charge in your body!");
break;
}
player.godSpellDelay = System.currentTimeMillis();
player.getPacketSender().sendMessage(
"You feel charged with a magical power!");
player.getPacketSender().sendMessage( "You feel charged with a magical power!");
player.gfx100(MagicData.MAGIC_SPELLS[48][3]);
player.startAnimation(MagicData.MAGIC_SPELLS[48][2]);
player.usingMagic = false;
@@ -2174,9 +1448,6 @@ public class ClickingButtons implements PacketType {
break;
case 152:
/*if (client.performingAction) {
return;
}*/
player.isRunning2 = false;
player.getPacketSender().sendConfig(173, 0);
break;
@@ -2214,9 +1485,6 @@ public class ClickingButtons implements PacketType {
case 14218: // mace
case 14221: // mace
player.fightMode = 0;// attack
if (player.playerName.equalsIgnoreCase("andrew")) {
player.getPacketSender().sendMessage("Fight mode = 0.");
}
if (player.autocasting) {
player.getPlayerAssistant().resetAutocast();
}
@@ -2233,9 +1501,6 @@ public class ClickingButtons implements PacketType {
case 8235: // block (dagger)
case 14219: // mace
player.fightMode = 1;// def
if (player.playerName.equalsIgnoreCase("andrew")) {
player.getPacketSender().sendMessage("Fight mode = 1.");
}
if (player.autocasting) {
player.getPlayerAssistant().resetAutocast();
}
@@ -2256,9 +1521,6 @@ public class ClickingButtons implements PacketType {
case 8236: // slash (dagger)
case 14220: // mace
player.fightMode = 2;// shared
if (player.playerName.equalsIgnoreCase("andrew")) {
player.getPacketSender().sendMessage("Fight mode = 2.");
}
if (player.autocasting) {
player.getPlayerAssistant().resetAutocast();
}
@@ -2274,9 +1536,6 @@ public class ClickingButtons implements PacketType {
case 18079: // pound (spear)
case 17100: // longrange (darts)
player.fightMode = 3;// block
if (player.playerName.equalsIgnoreCase("andrew")) {
player.getPacketSender().sendMessage("Fight mode = 3.");
}
if (player.autocasting) {
player.getPlayerAssistant().resetAutocast();
}
@@ -2591,11 +1850,7 @@ public class ClickingButtons implements PacketType {
case 24017:
player.getPlayerAssistant().resetAutocast();
player.getItemAssistant()
.sendWeapon(
player.playerEquipment[player.playerWeapon],
ItemAssistant
.getItemName(player.playerEquipment[player.playerWeapon]));
player.getItemAssistant().sendWeapon(player.playerEquipment[player.playerWeapon], ItemAssistant.getItemName(player.playerEquipment[player.playerWeapon]));
break;
}
@@ -41,55 +41,52 @@ public class ObjectManager {
}, ticks);
}
public static void singleGateTicks(final Player player, final int objectId, final int objectX, final int objectY, final int x1, final int y1, final int objectH, final int face, int ticks) {
public static void singleGateTicks(final Player player, final int objectId, final int newObjectX, final int newObjectY, final int oldObjectX, final int oldObjectY, final int objectH, final int face, int ticks) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (DoubleGates.gateAmount == 0) {
if (player.getGateHandler().gateStatus == player.getGateHandler().CLOSED || player.disconnected) {
container.stop();
return;
}
GameEngine.objectHandler.placeObject(new Objects(-1, x1, y1, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(objectId, objectX, objectY, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(-1, oldObjectX, oldObjectY, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(objectId, newObjectX, newObjectY, objectH, face, 0, 0));
container.stop();
}
@Override
public void stop() {
if (DoubleGates.gateAmount == 1) {
DoubleGates.gateAmount = 0;
if (player.getGateHandler().gateStatus == player.getGateHandler().PARTIAL_OPEN) {
player.getGateHandler().gateStatus = player.getGateHandler().CLOSED;
}
}
}, ticks);
}
public static void doubleGateTicks(final Player player, final int objectId, final int objectX, final int objectY,
final int x1, final int y1, final int x2, final int y2,
final int objectH, final int face, int ticks) {
public static void doubleGateTicks(final Player player, final int objectId, final int newObjectX, final int newObjectY, final int oldObjectX, final int oldObjectY, final int oldObjectX2, final int oldObjectY2, final int objectH, final int face, int ticks) {
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if (DoubleGates.gateAmount == 0) {
if (player.getGateHandler().gateStatus == player.getGateHandler().CLOSED || player.disconnected) {
container.stop();
return;
}
GameEngine.objectHandler.placeObject(new Objects(-1, x1, y1, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(-1, x2, y2, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(objectId, objectX, objectY, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(-1, oldObjectX, oldObjectY, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(-1, oldObjectX2, oldObjectY2, objectH, face, 0, 0));
GameEngine.objectHandler.placeObject(new Objects(objectId, newObjectX, newObjectY, objectH, face, 0, 0));
container.stop();
}
@Override
public void stop() {
if (DoubleGates.gateAmount == 2) {
DoubleGates.gateAmount = 1;
} else if (DoubleGates.gateAmount == 1) {
DoubleGates.gateAmount = 0;
if (player.getGateHandler().gateStatus == player.getGateHandler().OPEN) {
player.getGateHandler().gateStatus = player.getGateHandler().PARTIAL_OPEN;
} else if (player.getGateHandler().gateStatus == player.getGateHandler().PARTIAL_OPEN) {
player.getGateHandler().gateStatus = player.getGateHandler().CLOSED;
}
}
}, ticks);
}
public boolean objectExists(final int x, final int y) {
for (Object o : objects) {