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
@@ -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);