Cleanup part 1 (#213)

* Clean up part 1

- Removed lots of dead code
- Removed unncessary files not in use
- Cleaned up small bits of code
- Removed a few warnings
- Server.java ---> GameEngine.java
- Constants.java ---> GameConstants.java

* Cape Dye

Rewrote cape dying

* Packaging

- redone ----> com.rebotted

* PacketSender/clean up

- ActionSender ---> PacketSender
- Moved many more packets to packetsender
- Cleaned up more dead code

* Merge Client/Player

- Merged Client.java with Player.java (both were doing same thing so redundant to have both)
- Removed some more dead code
- Tidy a few small things up

* Quests/more clean up

- Removed more dead code
- Made quests static in order to clean them up a bit

* More cleanup

- Removed some more of the dead quest code
- Correcting naming of some of the shop variables
This commit is contained in:
Mr Extremez
2019-11-25 11:08:56 -06:00
committed by Daniel Ginovker
parent 3d1ae1b288
commit d876a923b9
379 changed files with 80684 additions and 83170 deletions
@@ -0,0 +1,27 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class EvilChicken {
// min cmb, maxcmb, npcid, maxhit, attack, defence
private static int[][] chicken = { { 3, 10, 2463, 19, 1, 10, 10 },
{ 11, 20, 2464, 40, 1, 30, 30 }, { 21, 40, 2465, 60, 2, 60, 60 },
{ 41, 60, 2466, 80, 3, 80, 80 },
{ 61, 90, 2467, 105, 4, 100, 100 },
{ 91, 138, 2468, 120, 5, 120, 120 }, };
public static void spawnChicken(Player c) {
for (int[] aChicken : chicken) {
if (c.chickenSpawned == false) {
if (c.combatLevel >= aChicken[0] && c.combatLevel <= aChicken[1]) {
NpcHandler.spawnNpc(c, aChicken[2], c.absX + Misc.random(1), c.absY + Misc.random(1), c.heightLevel, 0, aChicken[3], aChicken[4], aChicken[5], aChicken[6], true, false);
c.chickenSpawned = true;
c.randomActions = 0;
}
}
}
}
}
@@ -0,0 +1,71 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class FreakyForester {
public static void teleportToLocation(Player c) {
c.lastX = c.absX;
c.lastY = c.absY;
c.lastH = c.heightLevel;
c.teleportToX = 2602;
c.teleportToY = 4775;
c.heightLevel = 0;
c.getPacketSender().sendMessage("Talk to the freaky forester to get out.");
}
private static String[] pheasant = { "one", "two", "three", "four", };
public static String getPheasant(Player client) {
if (client.getPheasent < 0) {
client.getPheasent = Misc.random(3);
}
return pheasant[client.getPheasent] + " tailed";
}
public static void leaveArea(Player client) {
if (client.killedPheasant[client.getPheasent]) {
client.getPlayerAssistant().movePlayer(client.lastX, client.lastY, client.lastH);
client.canLeaveArea = true;
client.getPacketSender().sendMessage("Congratulations, you've completed the freaky forester event!");
if (client.recievedReward == false) {
client.getItemAssistant().addItem(6180, 1);
client.getItemAssistant().addItem(6181, 1);
client.getItemAssistant().addItem(6182, 1);
client.recievedReward = true;
} else {
client.getItemAssistant().addItem(995, 500);
client.getPacketSender().sendMessage("You have already beat the freaky forester event so you get 500 coins.");
}
int delete = client.getItemAssistant().getItemCount(6178);
client.getItemAssistant().deleteItem(6178, delete);
client.randomActions = 0;
} else {
RandomEventHandler.failEvent(client);
}
for (int i = 0; i < 4; i++) {
client.killedPheasant[i] = false;
}
client.getPheasent = -1;
client.canLeaveArea = false;
}
public static void killedPheasant(Player c, int p) {
for (int i = 0; i < 4; i++) {
c.killedPheasant[i] = false;
}
c.killedPheasant[p] = true;
}
public static boolean hasKilledPheasant(Player client) {
for (int i = 0; i < 4; i++) {
if (client.killedPheasant[i]) {
client.canLeaveArea = true;
return true;
}
}
client.canLeaveArea = false;
return false;
}
}
@@ -0,0 +1,50 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
import com.rebotted.util.Misc;
/**
* Frog Event
* @author Andrew (I'm A Boss on Rune-Server, Mr Extremez on Moparscape & Runelocus)
*/
public final class Frog {
private static final int[][] FROG_DATA = { { 2469, 2470, 2471, 2472, 2473 } };
public static void startEvent(Client client) {
spawnFrogs(client);
spawnBasedOnGender(client);
client.ignoreFrog = false;
}
public static void finishEvent(Client client) {// breaks
if (client.ignoreFrog) {
client.getPlayerAssistant().movePlayer(client.lastX, client.lastY, client.lastH);
}
giveReward(client);
}
public static void spawnBasedOnGender(Client client) {// ternary
NpcHandler.spawnNpc(client, client.playerAppearance[0] == 1 ? 2474 : 2475, client.absX + Misc.random(1), client.absY + Misc.random(1), 0, 0, 0, 0, 0, 0, false, false);
}
public static void ignoreFrogs(Client client) {
String type = client.playerMagicBook == 0 ? "modern" : "ancient";
client.getPlayerAssistant().startTeleport(6861, 5834, 0, type);
spawnFrogs(client);
spawnBasedOnGender(client);
client.ignoreFrog = true;
}
public static void giveReward(Client client) {
client.getItemAssistant().addItem(6183, 1);
}
public static void spawnFrogs(Client client) {
for (int[] element : FROG_DATA) {
NpcHandler.spawnNpc(client, element[0], client.absX + Misc.random(1), client.absY + Misc.random(1), 0, 0, 0, 0, 0, 0, false, false);
}
}
}
@@ -0,0 +1,105 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
import com.rebotted.util.Misc;
/**
* @author Aintaro
*/
public class GenieLamp {
private static final int GENIE_LAMP1 = 7498;// , GENIE_LAMP2 = 6543;
private static int expAmount;
public static boolean spawnGenieNpc(Client c) {
if (Misc.random(100) == 1 && !c.inWild()) {
NpcHandler.spawnNpc(c, 409, c.absX, c.absY + 1, 0, 0, 0, 0, 0, 0,
false, false);
return true;
}
return false;
}
public static void removeGenieNpc(Client c) {
NpcHandler.npcs[c.lastNpcClickIndex].absX = 0;
NpcHandler.npcs[c.lastNpcClickIndex].absY = 0;
}
public static void rubGenieLamp(Client c, int itemId) {
if (itemId == GENIE_LAMP1) {// || itemId == GENIE_LAMP2) {
c.getPacketSender().sendMessage("You rub the lamp...");
c.getPacketSender().showInterface(2808);
}
}
private static int[][] genieData = { { 10252, 0 }, { 11000, 1 },
{ 10253, 2 }, { 11001, 3 }, { 10254, 4 }, { 11002, 5 },
{ 10255, 6 }, { 11011, 7 }, { 11013, 8 }, { 11014, 9 },
{ 11010, 10 }, { 11012, 11 }, { 11006, 12 }, { 11009, 13 },
{ 11008, 14 }, { 11004, 15 }, { 11003, 16 }, { 11005, 17 },
{ 47002, 18 }, { 54090, 19 }, { 11007, 20 }, };
public String statName[] = { "attack", "defence", "strength", "hitpoints",
"range", "prayer", "magic", "cooking", "woodcutting", "fletching",
"fishing", "firemaking", "crafting", "smithing", "mining",
"herblore", "agility", "thieving", "slayer", "farming",
"runecrafting" };
private static void whatSkillAreWeLookingFor(Client c, int actionButtonId) {
for (int[] genie : genieData) {
if (genie[0] == actionButtonId) {
if (c.getItemAssistant().playerHasItem(GENIE_LAMP1, 1)) {
c.getItemAssistant().deleteItem(GENIE_LAMP1, 1);
expAmount = 10 * c.playerLevel[genie[1]];
c.getPlayerAssistant().addSkillXP(expAmount, genie[1]);
// c.getDH().sendStatement(
// "You gained " + expAmount * Config.SERVER_EXP_BONUS
// + " experience.");
c.nextChat = 0;
break;
/*
* } else if
* (c.getItemAssistant().playerHasItem(GENIE_LAMP2, 1)) {
* c.getItemAssistant().deleteItem(GENIE_LAMP2, 1);
* expAmount = 10 * c.playerLevel[genie[1]];
* c.getPlayerAssistant().addSkillXP(expAmount, genie[1]);
* //c.getDH().sendStatement( //"You gained " + expAmount *
* Config.SERVER_EXP_BONUS // + " experience."); c.nextChat
* = 0; break;
*/
}
}
}
}
public static boolean genieInterfaceButtons(Client c, int actionButtonId) {
switch (actionButtonId) {
case 10252:
case 10253:
case 10254:
case 10255:
case 11000:
case 11001:
case 11002:
case 11003:
case 11004:
case 11005:
case 11006:
case 11007:
case 47002:
case 54090:
case 11008:
case 11009:
case 11010:
case 11011:
case 11012:
case 11013:
case 11014:
whatSkillAreWeLookingFor(c, actionButtonId);
return true;
}
return false;
}
}
@@ -0,0 +1,80 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
/**
* Eventhandler class
* @author Andrew (Mr Extremez)
*/
public class RandomEventHandler {
public static int CALL_RANDOM = 350 + Misc.random(100);
public static void resetEvent(Player c) {
c.randomActions = 0;
}
private static int[][] FAIL_COORDS = { { 3333, 3333 }, { 3196, 3193 },
{ 3084, 3549 }, { 2974, 3346 }, { 2781, 3506 }, { 2810, 3508 }, };
public static void failEvent(Player client) {
int loc = Misc.random(FAIL_COORDS.length - 1);
client.teleportToX = FAIL_COORDS[loc][0];
client.teleportToY = FAIL_COORDS[loc][1];
client.heightLevel = 0;
client.getPacketSender().sendMessage("You wake up in a strange location...");
resetEvent(client);
client.getPacketSender().closeAllWindows();
}
public static void callRandom(Player c) { // add all random events here
if (c.inFightCaves() || c.playerEquipment[c.playerWeapon] == 4024 || c.tutorialProgress < 36) {
return;
}
int randomEvent = Misc.random(3);
switch (randomEvent) {
case 0:
SandwhichLady.openSandwhichLady(c);
resetEvent(c);
break;
case 1:
if (c.chickenSpawned == false) {
EvilChicken.spawnChicken(c);
resetEvent(c);
}
break;
case 2:
FreakyForester.teleportToLocation(c);
resetEvent(c);
break;
case 3:
Swarm.spawnSwarm(c);
resetEvent(c);
break;
default:
System.out.println("Error no random event called for " + c.playerName + ".");
break;
}
}
public static void addRandom(Player c) {
if (c.randomEventsEnabled)
{
if (c.randomActions >= CALL_RANDOM) {
callRandom(c);
if (c.playerIsBusy() && !c.hasSandwhichLady) {
c.getPacketSender().closeAllWindows();
}
} else {
int nextRandom = CALL_RANDOM - c.randomActions;
if (c.playerRights == 3) {
c.getPacketSender().sendMessage("Next random will be in " + nextRandom + " more random actions.");
}
c.randomActions += 1;
}
}
}
}
@@ -0,0 +1,28 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class RiverTroll {
public static boolean hasRiverTroll = false;
private static int[][] riverTroll = { { 3, 10, 391, 19, 1 },
{ 11, 20, 392, 40, 1 }, { 21, 40, 393, 80, 3 },
{ 61, 90, 394, 105, 4 }, { 91, 110, 395, 120, 5 },
{ 111, 138, 396, 150, 7 }, };
public static void spawnRiverTroll(Player client) {
for (int[] element : riverTroll) {
if (hasRiverTroll == false) {
if (client.combatLevel >= element[0] && client.combatLevel <= element[1] && hasRiverTroll == false) {
NpcHandler.spawnNpc(client, element[2], client.absX + Misc.random(1), client.absY + Misc.random(1), client.heightLevel, 0, element[3], element[4], client.playerLevel[client.playerAttack] * 2, client.playerLevel[client.playerDefence] * 2, true, false);
client.randomActions = 0;
hasRiverTroll = true;
NpcHandler.npcs[element[2]].forceChat("Fishies be mine! Leave dem fishies!");
}
}
}
}
}
@@ -0,0 +1,30 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
import com.rebotted.util.Misc;
public class RockGolem {
public static int[][] rockGolem = {
{3, 10, 413, 19, 1},
{11, 20, 414, 40, 1},
{21, 40, 415, 80, 3},
{61, 90, 416, 105, 4},
{91, 110, 417, 120, 5},
{111, 138, 418, 150, 7},
};
public static void spawnRockGolem(Client c) {
for (int[] aRockGolem : rockGolem) {
if(!c.golemSpawned) {
if (c.combatLevel >= aRockGolem[0] && c.combatLevel <= aRockGolem[1]) {
NpcHandler.spawnNpc(c, aRockGolem[2], c.getX() + Misc.random(1), c.getY() + Misc.random(1), c.heightLevel, 0, aRockGolem[3], aRockGolem[4], aRockGolem[4] * 10, aRockGolem[4] * 10, true, false);
c.golemSpawned = true;
NpcHandler.npcs[aRockGolem[2]].forceChat("Raarrrgghh! Flee human!");
}
}
}
}
}
@@ -0,0 +1,160 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class SandwhichLady {
private static int itemType;
public static void handleOptions(Player player, int actionbuttonId) {
if (player.hasSandwhichLady) {
switch (actionbuttonId) {
case 63013:
if (itemType == 0) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(2323, 1);
player.getPacketSender()
.sendMessage(
"Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage(
"You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63014:
if (itemType == 1) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(1971, 1);
player.getPacketSender()
.sendMessage(
"Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage(
"You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63015:
if (itemType == 2) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(1973, 1);
player.getPacketSender()
.sendMessage(
"Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage(
"You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63009:
if (itemType == 3) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(6961, 10);
player.getPacketSender()
.sendMessage(
"Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage(
"You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63010:
if (itemType == 4) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(6962, 1);
player.getPacketSender()
.sendMessage(
"Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage(
"You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63011:
if (itemType == 5) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(6965, 1);
player.getPacketSender().sendMessage("Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage("You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
case 63012:
if (itemType == 6) {
player.getPacketSender().closeAllWindows();
player.getItemAssistant().addItem(2309, 1);
player.getPacketSender().sendMessage("Congratulations, you have completed the random event!");
} else {
player.getPacketSender().sendMessage("You have chosen the wrong item!");
RandomEventHandler.failEvent(player);
}
player.hasSandwhichLady = false;
break;
}
} else if (player.hasSandwhichLady == false && actionbuttonId > 63008 && actionbuttonId < 63116) {
player.getPacketSender().sendMessage("You have improperly opened the sandwhich lady interface.");
}
}
public static void openSandwhichLady(Player c) {
c.hasSandwhichLady = true;
c.getPacketSender().sendFrame126(" ", 16131);
c.getPacketSender().showInterface(16135);
int randomMessage = Misc.random(6);
switch (randomMessage) {
case 0:
c.getPacketSender().sendFrame126("Please select the pie.",
16145);
itemType = 0;
break;
case 1:
c.getPacketSender().sendFrame126("Please select the kebab.",
16145);
itemType = 1;
break;
case 2:
c.getPacketSender().sendFrame126(
"Please select the chocolate.", 16145);
itemType = 2;
break;
case 3:
c.getPacketSender().sendFrame126("Please select the bagel.",
16145);
itemType = 3;
break;
case 4:
c.getPacketSender().sendFrame126(
"Please select the triangle sandwich.", 16145);
itemType = 4;
break;
case 5:
c.getPacketSender().sendFrame126(
"Please select the square sandwich.", 16145);
itemType = 5;
break;
case 6:
c.getPacketSender().sendFrame126("Please select the bread.",
16145);
itemType = 6;
break;
}
}
}
@@ -0,0 +1,35 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class Shade {
private static int[][] shade = { { 3, 10, 425, 19, 1 },
{ 11, 20, 426, 40, 3 }, { 21, 40, 427, 60, 5 },
{ 41, 60, 428, 80, 8 }, { 61, 90, 429, 105, 11 },
{ 91, 138, 430, 120, 13 }, };
public static void spawnShade(Player c) {
for (int[] element : shade) {
if (c.shadeSpawned == false) {
if (c.combatLevel >= element[0]
&& c.combatLevel <= element[1]) {
NpcHandler
.spawnNpc(c, element[2],
c.absX + Misc.random(1), c.absY
+ Misc.random(1), c.heightLevel,
0,
element[3], // HP
element[4], // maxhit
(int) (NpcHandler.getNpcListCombat(element[3]) * 1.5), // defence
(int) (NpcHandler.getNpcListCombat(element[3]) * 1.5),
true, false); // attack
c.randomActions = 0;
c.shadeSpawned = true;
}
}
}
}
}
@@ -0,0 +1,65 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Client;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
/**
* Swarm Event
* @author Andrew (I'm A Boss on Rune-Server, Mr Extremez on Moparscape & Runelocus)
*/
public class Swarm {
private static int checkStats(Player c, boolean bot) {
if (bot) {
return c.getPlayerAssistant().getLevelForXP(c.playerXP[c.playerHitpoints]) * 3;
} else {
return c.getPlayerAssistant().getLevelForXP(c.playerXP[c.playerHitpoints]) * 2;
}
}
/**
* Spawns the swarm.
*
* @param c
*/
public static void spawnSwarm(Player c) {
NpcHandler.spawnNpc(c, // param
411, // npctype
c.absX + Misc.random(1), // posX
c.absY + Misc.random(1), // posY
c.heightLevel, // height
0, // walkingtype
1, // HP
2, // maxhit
checkStats(c, false),
3 * c.combatLevel, // defence
true, // attackplayer
false); // headicon
c.autoRet = 0;
}
/**
* Spawns the swarm. If suspect a botter ... this one is stronger, botter
* has to react faster to survive.
*
* @param c
*/
public static void checkBot(Client client) {
NpcHandler.spawnNpc(client, // param
411, // npctype
client.absX + Misc.random(1), // posX
client.absY + Misc.random(1), // posY
client.heightLevel, // height
0, // walkingtype
1, // HP
6, // maxhit
checkStats(client, true), // attack
4 * client.combatLevel, // defence
true, // attackplayer
false); // headicon
client.autoRet = 0;
}
}
@@ -0,0 +1,35 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class TreeSpirit {
private static int[][] treeSpirit = {
// combat, combat 2, npcid, hitpoints, levels
{ 3, 10, 438, 28, 1 }, { 11, 20, 439, 36, 1 },
{ 21, 40, 440, 57, 3 }, { 61, 90, 441, 90, 4 },
{ 91, 110, 442, 130, 5 }, { 111, 138, 443, 160, 7 }, };
private static int checkStats(Player p) {
return p.getPlayerAssistant().getLevelForXP(p.playerXP[p.playerHitpoints]) * 2;
}
public static void spawnTreeSpirit(Player p) {
for (int[] element : treeSpirit) {
if (p.treeSpiritSpawned == false) {
if (p.combatLevel >= element[0] && p.combatLevel <= element[1]) {
NpcHandler.spawnNpc(p, element[2], p.absX + Misc.random(1),
p.absY + Misc.random(1), p.heightLevel, 0, element[3],
element[4], checkStats(p), p.playerLevel[p.playerDefence] * 2, true,
false);
NpcHandler.npcs[element[2]]
.forceChat("Leave these woods and never return!");
p.treeSpiritSpawned = true;
p.randomActions = 0;
}
}
}
}
}
@@ -0,0 +1,28 @@
package com.rebotted.game.content.randomevents;
import com.rebotted.game.npcs.NpcHandler;
import com.rebotted.game.players.Player;
import com.rebotted.util.Misc;
public class Zombie {
private static int[][] zombie = { { 3, 10, 419, 28, 2, 10, 10 },
{ 11, 20, 420, 36, 4, 20, 20 }, { 21, 40, 421, 57, 6, 30, 30 },
{ 61, 90, 422, 90, 8, 40, 40 }, { 91, 110, 423, 130, 10, 50, 50 },
{ 111, 138, 424, 160, 12, 60, 60 } };
public static void spawnZombie(Player c) {
for (int[] element : zombie) {
if (c.zombieSpawned == false) {
if (c.combatLevel >= element[0] && c.combatLevel <= element[1]) {
NpcHandler.spawnNpc(c, element[2], c.absX + Misc.random(1),
c.absY + Misc.random(1), c.heightLevel, 0, element[3],
element[4], element[5], element[6], true, false);
c.randomActions = 0;
c.zombieSpawned = true;
NpcHandler.npcs[element[2]].forceChat("Braaaainssss!");
}
}
}
}
}