mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Random slayer task amounts, Move unequiped item to same slot as weapon you are equiping (#206)
* tidy up * Update DialogueHandler.java * Slayer master gives specific difficulty tasks * int * tidy up * replace difficulty int, with variable * Dragons give lower amount needed to kill * vail -> vial * Update ObjectsActions.java * tidy up * tidy up * tidy up * Assign random amounts * tidy up, remove magic numbers * move rebinding of equip slot * tidy up and move unequiped items to same inventory slot * Drop castlewars flag when equiping a weapon * vars * tidy up
This commit is contained in:
@@ -18,32 +18,53 @@ public class FightCaves {
|
||||
/**
|
||||
* Holds the data for the 63 waves fight cave.
|
||||
*/
|
||||
private final int[][] WAVES = { { TZ_KIH }, { TZ_KIH, TZ_KIH }, { TZ_KEK },
|
||||
{ TZ_KEK, TZ_KIH }, { TZ_KEK, TZ_KIH, TZ_KIH }, { TZ_KEK, TZ_KEK },
|
||||
{ TOK_XIL }, { TOK_XIL, TZ_KIH }, { TOK_XIL, TZ_KIH, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KEK }, { TOK_XIL, TZ_KEK, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KEK, TZ_KIH, TZ_KIH }, { TOK_XIL, TZ_KEK, TZ_KEK },
|
||||
{ TOK_XIL, TOK_XIL }, { YT_MEJKOT }, { YT_MEJKOT, TZ_KIH },
|
||||
{ YT_MEJKOT, TZ_KIH, TZ_KIH }, { YT_MEJKOT, TZ_KEK },
|
||||
private final int[][] WAVES = {
|
||||
{ TZ_KIH },
|
||||
{ TZ_KIH, TZ_KIH },
|
||||
{ TZ_KEK },
|
||||
{ TZ_KEK, TZ_KIH },
|
||||
{ TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ TZ_KEK, TZ_KEK },
|
||||
{ TOK_XIL },
|
||||
{ TOK_XIL, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KIH, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KEK },
|
||||
{ TOK_XIL, TZ_KEK, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ TOK_XIL, TZ_KEK, TZ_KEK },
|
||||
{ TOK_XIL, TOK_XIL },
|
||||
{ YT_MEJKOT },
|
||||
{ YT_MEJKOT, TZ_KIH },
|
||||
{ YT_MEJKOT, TZ_KIH, TZ_KIH },
|
||||
{ YT_MEJKOT, TZ_KEK },
|
||||
{ YT_MEJKOT, TZ_KEK, TZ_KIH },
|
||||
{ YT_MEJKOT, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ YT_MEJKOT, TZ_KEK, TZ_KEK }, { YT_MEJKOT, TOK_XIL },
|
||||
{ YT_MEJKOT, TZ_KEK, TZ_KEK },
|
||||
{ YT_MEJKOT, TOK_XIL },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KIH },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KIH, TZ_KIH },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KEK },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KEK, TZ_KIH },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ YT_MEJKOT, TOK_XIL, TZ_KEK, TZ_KEK },
|
||||
{ YT_MEJKOT, TOK_XIL, TOK_XIL }, { YT_MEJKOT, YT_MEJKOT },
|
||||
{ KET_ZEK }, { KET_ZEK, TZ_KIH }, { KET_ZEK, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KEK }, { KET_ZEK, TZ_KEK, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KEK, TZ_KIH, TZ_KIH }, { KET_ZEK, TZ_KEK, TZ_KEK },
|
||||
{ KET_ZEK, TOK_XIL }, { KET_ZEK, TOK_XIL, TZ_KIH },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KIH, TZ_KIH }, { KET_ZEK, TOK_XIL, TZ_KEK },
|
||||
{ YT_MEJKOT, TOK_XIL, TOK_XIL },
|
||||
{ YT_MEJKOT, YT_MEJKOT },
|
||||
{ KET_ZEK },
|
||||
{ KET_ZEK, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KEK },
|
||||
{ KET_ZEK, TZ_KEK, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, TZ_KEK, TZ_KEK },
|
||||
{ KET_ZEK, TOK_XIL },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KIH },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KEK },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KEK, TZ_KIH },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, TOK_XIL, TZ_KEK, TZ_KEK },
|
||||
{ KET_ZEK, TOK_XIL, TOK_XIL }, { KET_ZEK, YT_MEJKOT },
|
||||
{ KET_ZEK, TOK_XIL, TOK_XIL },
|
||||
{ KET_ZEK, YT_MEJKOT },
|
||||
{ KET_ZEK, YT_MEJKOT, TZ_KIH },
|
||||
{ KET_ZEK, YT_MEJKOT, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, YT_MEJKOT, TZ_KEK },
|
||||
@@ -58,8 +79,10 @@ public class FightCaves {
|
||||
{ KET_ZEK, YT_MEJKOT, TOK_XIL, TZ_KEK, TZ_KIH, TZ_KIH },
|
||||
{ KET_ZEK, YT_MEJKOT, TOK_XIL, TZ_KEK, TZ_KEK },
|
||||
{ KET_ZEK, YT_MEJKOT, TOK_XIL, TOK_XIL },
|
||||
{ KET_ZEK, YT_MEJKOT, YT_MEJKOT }, { KET_ZEK, KET_ZEK },
|
||||
{ TZTOK_JAD } };
|
||||
{ KET_ZEK, YT_MEJKOT, YT_MEJKOT },
|
||||
{ KET_ZEK, KET_ZEK },
|
||||
{ TZTOK_JAD }
|
||||
};
|
||||
|
||||
private static final int[][] JAD_SPAWNS = {{2400, 5090},{2419, 5080}};
|
||||
private static final int[][] HEALER_COORDS = {{2390, 5101}, {2391, 5077}, {2411, 5084}, {2398, 5091}};
|
||||
|
||||
@@ -18,7 +18,8 @@ import redone.util.Misc;
|
||||
|
||||
public class Prayer {
|
||||
|
||||
private static int[][] data = { { 526, 5 }, // NPC BONES
|
||||
private static int[][] data = {
|
||||
{ 526, 5 }, // NPC BONES
|
||||
{ 528, 5 }, // BURNT BONES
|
||||
{ 530, 5 }, // BAT BONES
|
||||
{ 2859, 5 }, // WOLF BONES
|
||||
|
||||
@@ -13,13 +13,14 @@ public class Slayer {
|
||||
EASY_TASK = 1,
|
||||
MEDIUM_TASK = 2,
|
||||
HARD_TASK = 3,
|
||||
VERY_HARD_TASK = 4,
|
||||
VERY_EASY_AMOUNT = 15 + r(25),
|
||||
EASY_AMOUNT = 25 + r(25),
|
||||
MEDIUM_AMOUNT = 50 + r(25),
|
||||
HARD_AMOUNT = 100 + r(50),
|
||||
VERY_HARD_AMOUNT = 130 + r(70),
|
||||
DRAGON_AMOUNT = 10 + r(40);
|
||||
VERY_HARD_TASK = 4;
|
||||
public static final int[]
|
||||
VERY_EASY_AMOUNT = new int[]{15, 40},
|
||||
EASY_AMOUNT = new int[]{25, 50},
|
||||
MEDIUM_AMOUNT = new int[]{50, 75},
|
||||
HARD_AMOUNT = new int[]{100, 150},
|
||||
VERY_HARD_AMOUNT = new int[]{130, 200},
|
||||
DRAGON_AMOUNT = new int[]{20, 60};
|
||||
|
||||
public static ArrayList<Integer> veryEasyTask = new ArrayList<Integer>();
|
||||
public static ArrayList<Integer> easyTask = new ArrayList<Integer>();
|
||||
@@ -75,61 +76,61 @@ public class Slayer {
|
||||
|
||||
//dark beast, red dragon, skeleton
|
||||
public enum Task {
|
||||
ABERRANT_SPECTRE(1604, 60, 90, 3, "Slayer Tower"),
|
||||
ABYSSAL_DEMON(1615, 85, 150, 4, "Slayer Tower"),
|
||||
BANSHEE(1612, 15, 22, 0 + r(1), "Slayer Tower"),
|
||||
BASILISK(1616, 40, 75, 2, "Fremennik Slayer Dungeon"),
|
||||
BAT(412, 1, 8, 1, "Road to Paterdomus"),
|
||||
BLACK_DEMON(84, 1, 157, 3, "Taverly Dungeon"),
|
||||
BLACK_DRAGON(54, 1, 258, 4, "Taverly Dungeon"),
|
||||
BLOODVELD(1618, 50, 120, 3 + r(1), "Slayer Tower"),
|
||||
BLUE_DRAGON(55, 1, 107, 3, "Taverly Dungeon"),
|
||||
BRONZE_DRAGON(1590, 1, 125, 3, "Brimhaven Dungeon"),
|
||||
CAVE_CRAWLER(1600, 10, 22, 1, "Fremennik Slayer Dungeon"),
|
||||
COCKATRICE(1620, 25, 37, 2, "Fremennik Slayer Dungeon"),
|
||||
CRAWLING_HAND(1648, 5, 16 + r(3), 1 + r(1), "Slayer Tower"),
|
||||
DAGANNOTH_74(1338, 1, 70 + r(50), 3, "Lighthouse Basement"),
|
||||
DAGANNOTH_92(1342, 1, 80 + r(50), 3, "Lighthouse Basement"),
|
||||
DARK_BEAST(2783, 90, 180, 4, "Slayer Tower"),
|
||||
DUST_DEVIL(1624, 65, 105, 2, "Slayer Tower"),
|
||||
EARTH_WARRIOR(124, 1, 54, 2, "Edgeville Dungeon"),
|
||||
FIRE_GIANT(110, 1, 111, 3, "Brimhaven Dungeon"),
|
||||
GARGOYLE(1611, 75, 105, 3, "Slayer Tower"),
|
||||
GHOST(103, 1, 25, 1 + r(1), "Taverly Dungeon"),
|
||||
GREATER_DEMON(83, 1, 87, 3, "Brimhaven Dungeon"),
|
||||
GREEN_DRAGON(941, 1, 75, 2, "The Wilderness"),
|
||||
HELLHOUND(49, 1, 116, 3 + r(1),"Taverly Dungeon"),
|
||||
HILL_GIANT(117, 1, 35, 2, "Edgeville Dungeon"),
|
||||
ICE_GIANT(111, 1, 70, 2, "Asgarnian Ice Caves or White Wolf Mountain"),
|
||||
ICE_WARRIOR(125, 1, 59, 2, "Asgarnian Ice Caves or the Wilderness"),
|
||||
SKELETAL_WYVERN(3068, 72, 210, 4, "Asgarnian Ice Caves"),
|
||||
INFERNAL_MAGE(1643, 45, 60, 2, "Slayer Tower"),
|
||||
IRON_DRAGON(1591, 1, 174, 4, "Brimhaven Dungeon"),
|
||||
JELLY(1637, 52, 75, 2, "Fremennik Slayer Dungeon"),
|
||||
KALPHITE_WORKER(1156, 1, 40, 1 + r(1), "Kalphite Lair"),
|
||||
KALPHITE_SOLDIER(1154, 1, 90, 3, "Kalphite Lair"),
|
||||
KALPHITE_GUARDIAN(1157, 1, 170, 4, "Kalphite Lair"),
|
||||
KURASK(1608, 70, 97, 3, "Fremennik Slayer Dungeon"),
|
||||
LESSER_DEMON(82, 1, 79, 3, "Karamja Dungeon"),
|
||||
MOSS_GIANT(112, 1, 60, 2, "Brimhaven Dungeon"),
|
||||
NECHRYAELS(1613, 80, 1, 3, "Slayer Tower"),
|
||||
PYREFIEND(1633, 30, 1, 1, "Fremennik Slayer Dungeon"),
|
||||
RED_DRAGON(53, 1, 120, 3, "Brimhaven Dungeon"),
|
||||
ROCKSLUG(1622, 20, 27, 1, "Fremennik Slayer Dungeon"),
|
||||
SKELETON(90, 1, 30, 0 + r(2), "Edgeville Dungeon or Taverly Dungeon"),
|
||||
KARAMAJA_SKELETON(91, 1, 30, 0 + r(2), "Karamaja"),
|
||||
WILDERNESS_SKELETON(92, 1, 30, 0 + r(2), "Wilderness"),
|
||||
STEEL_DRAGON(1592, 1, 221, 4, "Brimhaven Dungeon"),
|
||||
BEAR(105, 1, 27, 0, "Goblin Village"),
|
||||
GREEN_GOBLIN(298, 1, 6, 0, "Goblin Village"),
|
||||
RED_GOBLIN(299, 1, 6, 0, "Goblin Village"),
|
||||
SCORPION(107, 1, 17, 0, "Goblin Village"),
|
||||
TUROTH(1632, 55, 77, 3, "Fremennik Slayer Dungeon");
|
||||
ABERRANT_SPECTRE(1604, 60, 90, HARD_TASK, "Slayer Tower"),
|
||||
ABYSSAL_DEMON(1615, 85, 150, VERY_HARD_TASK, "Slayer Tower"),
|
||||
BANSHEE(1612, 15, 22, VERY_EASY_TASK + r(1), "Slayer Tower"),
|
||||
BASILISK(1616, 40, 75, MEDIUM_TASK, "Fremennik Slayer Dungeon"),
|
||||
BAT(412, 1, 8, EASY_TASK, "Road to Paterdomus"),
|
||||
BLACK_DEMON(84, 1, 157, HARD_TASK, "Taverly Dungeon"),
|
||||
BLACK_DRAGON(54, 1, 258, VERY_HARD_TASK, "Taverly Dungeon"),
|
||||
BLOODVELD(1618, 50, 120, HARD_TASK + r(1), "Slayer Tower"),
|
||||
BLUE_DRAGON(55, 1, 107, HARD_TASK, "Taverly Dungeon"),
|
||||
BRONZE_DRAGON(1590, 1, 125, HARD_TASK, "Brimhaven Dungeon"),
|
||||
CAVE_CRAWLER(1600, 10, 22, EASY_TASK, "Fremennik Slayer Dungeon"),
|
||||
COCKATRICE(1620, 25, 37, MEDIUM_TASK, "Fremennik Slayer Dungeon"),
|
||||
CRAWLING_HAND(1648, 5, 16 + r(3), EASY_TASK + r(1), "Slayer Tower"),
|
||||
DAGANNOTH_74(1338, 1, 70 + r(50), HARD_TASK, "Lighthouse Basement"),
|
||||
DAGANNOTH_92(1342, 1, 80 + r(50), HARD_TASK, "Lighthouse Basement"),
|
||||
DARK_BEAST(2783, 90, 180, VERY_HARD_TASK, "Slayer Tower"),
|
||||
DUST_DEVIL(1624, 65, 105, MEDIUM_TASK, "Slayer Tower"),
|
||||
EARTH_WARRIOR(124, 1, 54, MEDIUM_TASK, "Edgeville Dungeon"),
|
||||
FIRE_GIANT(110, 1, 111, HARD_TASK, "Brimhaven Dungeon"),
|
||||
GARGOYLE(1611, 75, 105, HARD_TASK, "Slayer Tower"),
|
||||
GHOST(103, 1, 25, EASY_TASK + r(1), "Taverly Dungeon"),
|
||||
GREATER_DEMON(83, 1, 87, HARD_TASK, "Brimhaven Dungeon"),
|
||||
GREEN_DRAGON(941, 1, 75, MEDIUM_TASK, "The Wilderness"),
|
||||
HELLHOUND(49, 1, 116, HARD_TASK + r(1),"Taverly Dungeon"),
|
||||
HILL_GIANT(117, 1, 35, MEDIUM_TASK, "Edgeville Dungeon"),
|
||||
ICE_GIANT(111, 1, 70, MEDIUM_TASK, "Asgarnian Ice Caves or White Wolf Mountain"),
|
||||
ICE_WARRIOR(125, 1, 59, MEDIUM_TASK, "Asgarnian Ice Caves or the Wilderness"),
|
||||
SKELETAL_WYVERN(3068, 72, 210, VERY_HARD_TASK, "Asgarnian Ice Caves"),
|
||||
INFERNAL_MAGE(1643, 45, 60, MEDIUM_TASK, "Slayer Tower"),
|
||||
IRON_DRAGON(1591, 1, 174, VERY_HARD_TASK, "Brimhaven Dungeon"),
|
||||
JELLY(1637, 52, 75, MEDIUM_TASK, "Fremennik Slayer Dungeon"),
|
||||
KALPHITE_WORKER(1156, 1, 40, EASY_TASK + r(1), "Kalphite Lair"),
|
||||
KALPHITE_SOLDIER(1154, 1, 90, HARD_TASK, "Kalphite Lair"),
|
||||
KALPHITE_GUARDIAN(1157, 1, 170, VERY_HARD_TASK, "Kalphite Lair"),
|
||||
KURASK(1608, 70, 97, HARD_TASK, "Fremennik Slayer Dungeon"),
|
||||
LESSER_DEMON(82, 1, 79, HARD_TASK, "Karamja Dungeon"),
|
||||
MOSS_GIANT(112, 1, 60, MEDIUM_TASK, "Brimhaven Dungeon"),
|
||||
NECHRYAELS(1613, 80, 1, HARD_TASK, "Slayer Tower"),
|
||||
PYREFIEND(1633, 30, 1, EASY_TASK, "Fremennik Slayer Dungeon"),
|
||||
RED_DRAGON(53, 1, 120, HARD_TASK, "Brimhaven Dungeon"),
|
||||
ROCKSLUG(1622, 20, 27, EASY_TASK, "Fremennik Slayer Dungeon"),
|
||||
SKELETON(90, 1, 30, VERY_EASY_TASK + r(2), "Edgeville Dungeon or Taverly Dungeon"),
|
||||
KARAMAJA_SKELETON(91, 1, 30, VERY_EASY_TASK + r(2), "Karamaja"),
|
||||
WILDERNESS_SKELETON(92, 1, 30, VERY_EASY_TASK + r(2), "Wilderness"),
|
||||
STEEL_DRAGON(1592, 1, 221, VERY_HARD_TASK, "Brimhaven Dungeon"),
|
||||
BEAR(105, 1, 27, VERY_EASY_TASK, "Goblin Village"),
|
||||
GREEN_GOBLIN(298, 1, 6, VERY_EASY_TASK, "Goblin Village"),
|
||||
RED_GOBLIN(299, 1, 6, VERY_EASY_TASK, "Goblin Village"),
|
||||
SCORPION(107, 1, 17, VERY_EASY_TASK, "Goblin Village"),
|
||||
TUROTH(1632, 55, 77, HARD_TASK, "Fremennik Slayer Dungeon");
|
||||
|
||||
private int npcId, levelReq, diff, exp;
|
||||
private String location;
|
||||
|
||||
private Task(int npcId, int levelReq, int exp, int difficulty, String location) {
|
||||
Task(int npcId, int levelReq, int exp, int difficulty, String location) {
|
||||
this.npcId = npcId;
|
||||
this.exp = exp;
|
||||
this.levelReq = levelReq;
|
||||
@@ -357,7 +358,7 @@ public class Slayer {
|
||||
}
|
||||
}
|
||||
c.slayerTask = task;
|
||||
c.taskAmount = getTaskAmount(taskLevel);
|
||||
c.taskAmount = getTaskAmount(task);
|
||||
} else {
|
||||
int task = getRandomTask(getDifficulty(taskLevel - 1));
|
||||
for (int removedTask : c.removedTasks) {
|
||||
@@ -368,7 +369,7 @@ public class Slayer {
|
||||
}
|
||||
}
|
||||
c.slayerTask = task;
|
||||
c.taskAmount = getTaskAmount(getDifficulty(c.slayerTask) - 1);
|
||||
c.taskAmount = getTaskAmount(task);
|
||||
c.needsNewTask = false;
|
||||
}
|
||||
c.getDialogueHandler().sendDialogues(1237, c.npcType);// assign task
|
||||
@@ -379,20 +380,42 @@ public class Slayer {
|
||||
}
|
||||
}
|
||||
|
||||
public int getTaskAmount(int diff) {
|
||||
switch (diff) {
|
||||
case 0:
|
||||
return VERY_EASY_AMOUNT;
|
||||
case 1:
|
||||
return EASY_AMOUNT;
|
||||
case 2:
|
||||
return MEDIUM_AMOUNT;
|
||||
case 3:
|
||||
return HARD_AMOUNT;
|
||||
case 4:
|
||||
return VERY_HARD_AMOUNT;
|
||||
public int getTaskAmount(int task_id) {
|
||||
Task task = null;
|
||||
for (Task _task : Task.values())
|
||||
if (_task.getNpcId() == task_id)
|
||||
task = _task;
|
||||
|
||||
int[] amounts = VERY_EASY_AMOUNT;
|
||||
if (task == null){
|
||||
amounts = VERY_EASY_AMOUNT;
|
||||
}
|
||||
return EASY_AMOUNT;
|
||||
else if (task.name().toLowerCase().contains("_dragon")) {
|
||||
amounts = DRAGON_AMOUNT;
|
||||
}
|
||||
else {
|
||||
switch (task.getDifficulty()) {
|
||||
case 0:
|
||||
amounts = VERY_EASY_AMOUNT;
|
||||
break;
|
||||
case 1:
|
||||
amounts = EASY_AMOUNT;
|
||||
break;
|
||||
case 2:
|
||||
amounts = MEDIUM_AMOUNT;
|
||||
break;
|
||||
case 3:
|
||||
amounts = HARD_AMOUNT;
|
||||
break;
|
||||
case 4:
|
||||
amounts = VERY_HARD_AMOUNT;
|
||||
break;
|
||||
default:
|
||||
amounts = VERY_EASY_AMOUNT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Misc.random(amounts[0], amounts[1]);
|
||||
}
|
||||
|
||||
public int getSlayerDifficulty(Client c) {
|
||||
|
||||
@@ -222,15 +222,10 @@ public class Item {
|
||||
}
|
||||
|
||||
counter = 0;
|
||||
|
||||
try {
|
||||
FileInputStream dataIn = new FileInputStream(new File("./data/data/notes.dat"));
|
||||
while ((c = dataIn.read()) != -1) {
|
||||
if (c == 0) {
|
||||
itemIsNote[counter] = true;
|
||||
} else {
|
||||
itemIsNote[counter] = false;
|
||||
}
|
||||
itemIsNote[counter] = c == 0;
|
||||
counter++;
|
||||
}
|
||||
dataIn.close();
|
||||
@@ -243,11 +238,135 @@ public class Item {
|
||||
try {
|
||||
FileInputStream dataIn = new FileInputStream(new File("./data/data/equipment.dat"));
|
||||
while ((c = dataIn.read()) != -1) {
|
||||
targetSlots[counter++] = c;
|
||||
int slot;
|
||||
// rebind item equip slot here
|
||||
switch (counter) {
|
||||
// Legs
|
||||
case 6181:
|
||||
case 428:
|
||||
case 538:
|
||||
case 6343:
|
||||
case 6353:
|
||||
case 6363:
|
||||
case 6396:
|
||||
case 6373:
|
||||
case 6404:
|
||||
case 5044:
|
||||
case 5046:
|
||||
case 5050:
|
||||
case 5052:
|
||||
case 5040:
|
||||
case 5038:
|
||||
case 6752:
|
||||
case 5048:
|
||||
case 5036:
|
||||
case 5042:
|
||||
case 4300:
|
||||
case 1835:
|
||||
case 7116:
|
||||
case 7126:
|
||||
case 7132:
|
||||
case 7138:
|
||||
case 548:
|
||||
case 6185:
|
||||
slot = Constants.LEGS;
|
||||
break;
|
||||
// Hats
|
||||
case 4166:
|
||||
case 1167:
|
||||
case 5525:
|
||||
case 4168:
|
||||
case 1025:
|
||||
case 7112:
|
||||
case 7124:
|
||||
case 7130:
|
||||
case 7136:
|
||||
case 4611:
|
||||
case 5527:
|
||||
case 5529:
|
||||
case 5531:
|
||||
case 5533:
|
||||
case 5535:
|
||||
case 5537:
|
||||
case 5539:
|
||||
case 5541:
|
||||
case 5543:
|
||||
case 5545:
|
||||
case 5547:
|
||||
slot = Constants.HAT;
|
||||
break;
|
||||
// Cape
|
||||
case 4304:
|
||||
case 3759:
|
||||
case 3761:
|
||||
case 3763:
|
||||
case 3765:
|
||||
case 3777:
|
||||
case 3779:
|
||||
case 3781:
|
||||
case 3783:
|
||||
case 3785:
|
||||
case 3787:
|
||||
case 3789:
|
||||
case 4514:
|
||||
case 4516:
|
||||
slot = Constants.CAPE;
|
||||
break;
|
||||
// Shield
|
||||
case 7051:
|
||||
case 7053:
|
||||
slot = Constants.SHIELD;
|
||||
break;
|
||||
// Chest
|
||||
case 577:
|
||||
case 426:
|
||||
case 540:
|
||||
case 430:
|
||||
case 6786:
|
||||
case 581:
|
||||
case 5024:
|
||||
case 5030:
|
||||
case 1757:
|
||||
case 5034:
|
||||
case 5032:
|
||||
case 3793:
|
||||
case 1005:
|
||||
case 546:
|
||||
case 6402:
|
||||
case 6788:
|
||||
case 6184:
|
||||
case 7390:
|
||||
case 7392:
|
||||
case 6186:
|
||||
slot = Constants.CHEST;
|
||||
break;
|
||||
// Amulet
|
||||
case 3853:
|
||||
case 3855:
|
||||
case 3857:
|
||||
case 3859:
|
||||
case 3861:
|
||||
case 3863:
|
||||
case 1718:
|
||||
case 3865:
|
||||
case 4306:
|
||||
case 3867:
|
||||
case 1702:
|
||||
slot = Constants.AMULET;
|
||||
break;
|
||||
// Hands
|
||||
case 776:
|
||||
slot = Constants.HANDS;
|
||||
break;
|
||||
default:
|
||||
slot = c;
|
||||
}
|
||||
targetSlots[counter] = slot;
|
||||
counter++;
|
||||
}
|
||||
dataIn.close();
|
||||
} catch (IOException e) {
|
||||
System.out.println("Critical error while loading notedata! Trace:");
|
||||
System.out.println("Critical error while loading equipment data! Trace:");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,10 @@ import redone.game.players.Client;
|
||||
import redone.game.players.PlayerHandler;
|
||||
import redone.util.Misc;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ItemAssistant {
|
||||
|
||||
private final Client c;
|
||||
@@ -1191,12 +1195,12 @@ public class ItemAssistant {
|
||||
return true;
|
||||
}
|
||||
switch (itemId) {
|
||||
case 6724: // seercull
|
||||
case 11730:
|
||||
case 4153:
|
||||
case 6528:
|
||||
case 14484:
|
||||
return true;
|
||||
case 6724: // seercull
|
||||
case 11730:
|
||||
case 4153:
|
||||
case 6528:
|
||||
case 14484:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1360,21 +1364,19 @@ public class ItemAssistant {
|
||||
**/
|
||||
|
||||
public boolean wearItem(int wearID, int slot) {
|
||||
// Check the player has the item the want to wear
|
||||
if (!playerHasItem(wearID, 1, slot)) {
|
||||
// add a method here for logging cheaters(If you want)
|
||||
return false;
|
||||
}
|
||||
if (c.tutorialProgress < 22) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You'll be told how to equip items later.");
|
||||
c.getActionSender().sendMessage("You'll be told how to equip items later.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (c.tutorialProgress == 22) {
|
||||
c.getActionSender().chatbox(6180);
|
||||
c.getDialogueHandler()
|
||||
.chatboxText(
|
||||
c,
|
||||
.chatboxText(c,
|
||||
"Clothes, armour, weapons and many other items are equipped",
|
||||
"like this. You can unequip items by clicking on the item in the",
|
||||
"worn inventory. You can close this window by clicking on the",
|
||||
@@ -1396,144 +1398,119 @@ public class ItemAssistant {
|
||||
c.getActionSender().flashSideBarIcon(0);
|
||||
// c.getPacketDispatcher().tutorialIslandInterface(50, 11);
|
||||
}
|
||||
int targetSlot = 0;
|
||||
|
||||
int wearAmount = c.playerItemsN[slot];
|
||||
if (wearAmount < 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int targetSlot = Constants.HAT;
|
||||
boolean canWearItem = true;
|
||||
if (c.playerItems[slot] == wearID + 1) {
|
||||
getRequirements(getItemName(wearID).toLowerCase(), wearID);
|
||||
targetSlot = Item.targetSlots[wearID];
|
||||
|
||||
if (c.duelRule[11] && targetSlot == 0) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing hats has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing hats has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[12] && targetSlot == 1) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing capes has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing capes has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[13] && targetSlot == 2) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing amulets has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing amulets has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[14] && targetSlot == 3) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wielding weapons has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wielding weapons has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[15] && targetSlot == 4) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing bodies has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing bodies has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[16] && targetSlot == 5 || c.duelRule[16]
|
||||
&& is2handed(getItemName(wearID).toLowerCase(), wearID)) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing shield has been disabled in this duel!");
|
||||
if (c.duelRule[16] && targetSlot == 5 || c.duelRule[16] && is2handed(getItemName(wearID).toLowerCase(), wearID)) {
|
||||
c.getActionSender().sendMessage("Wearing shield has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[17] && targetSlot == 7) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing legs has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing legs has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[18] && targetSlot == 9) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing gloves has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing gloves has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[19] && targetSlot == 10) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing boots has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing boots has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[20] && targetSlot == 12) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing rings has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing rings has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
if (c.duelRule[21] && targetSlot == 13) {
|
||||
c.getActionSender().sendMessage(
|
||||
"Wearing arrows has been disabled in this duel!");
|
||||
c.getActionSender().sendMessage("Wearing arrows has been disabled in this duel!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Constants.itemRequirements) {
|
||||
if (targetSlot == 10 || targetSlot == 7 || targetSlot == 5
|
||||
|| targetSlot == 4 || targetSlot == 0
|
||||
|| targetSlot == 9 || targetSlot == 10) {
|
||||
// Check if slot is armor
|
||||
if (targetSlot == Constants.FEET
|
||||
|| targetSlot == Constants.LEGS
|
||||
|| targetSlot == Constants.SHIELD
|
||||
|| targetSlot == Constants.CHEST
|
||||
|| targetSlot == Constants.HAT
|
||||
|| targetSlot == Constants.HANDS) {
|
||||
if (c.defenceLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[1]) < c.defenceLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a defence level of "
|
||||
+ c.defenceLevelReq
|
||||
+ " to wear this item.");
|
||||
c.getActionSender().sendMessage("You need a defence level of " + c.defenceLevelReq + " to wear this item.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (c.rangeLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a range level of "
|
||||
+ c.rangeLevelReq
|
||||
+ " to wear this item.");
|
||||
c.getActionSender().sendMessage("You need a range level of " + c.rangeLevelReq + " to wear this item.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (c.magicLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a magic level of "
|
||||
+ c.magicLevelReq
|
||||
+ " to wear this item.");
|
||||
c.getActionSender().sendMessage("You need a magic level of " + c.magicLevelReq + " to wear this item.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (c.slayerLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[18]) < c.slayerLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a slayer level of "
|
||||
+ c.slayerLevelReq
|
||||
+ " to wear this item.");
|
||||
c.getActionSender().sendMessage("You need a slayer level of " + c.slayerLevelReq + " to wear this item.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (c.agilityLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[16]) < c.agilityLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a agility level of "
|
||||
+ c.agilityLevelReq
|
||||
+ " to wear this item.");
|
||||
c.getActionSender().sendMessage("You need a agility level of " + c.agilityLevelReq + " to wear this item.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (targetSlot == 3) {
|
||||
// Weapon
|
||||
if (targetSlot == Constants.WEAPON) {
|
||||
if (c.attackLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[0]) < c.attackLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need an attack level of "
|
||||
+ c.attackLevelReq
|
||||
+ " to wield this weapon.");
|
||||
c.getActionSender().sendMessage("You need an attack level of " + c.attackLevelReq + " to wield this weapon.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (c.rangeLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[4]) < c.rangeLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a range level of "
|
||||
+ c.rangeLevelReq
|
||||
+ " to wield this weapon.");
|
||||
c.getActionSender().sendMessage("You need a range level of " + c.rangeLevelReq + " to wield this weapon.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
if (c.magicLevelReq > 0) {
|
||||
if (c.getPlayerAssistant().getLevelForXP(c.playerXP[6]) < c.magicLevelReq) {
|
||||
c.getActionSender().sendMessage(
|
||||
"You need a magic level of "
|
||||
+ c.magicLevelReq
|
||||
+ " to wield this weapon.");
|
||||
c.getActionSender().sendMessage("You need a magic level of " + c.magicLevelReq + " to wield this weapon.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
@@ -1541,154 +1518,35 @@ public class ItemAssistant {
|
||||
}
|
||||
|
||||
switch (wearID) {
|
||||
case 6181:
|
||||
case 428:// legs
|
||||
case 538:
|
||||
case 6343:
|
||||
case 6353:
|
||||
case 6363:
|
||||
case 6396:
|
||||
case 6373:
|
||||
case 6404:
|
||||
case 5044:
|
||||
case 5046:
|
||||
case 5050:
|
||||
case 5052:
|
||||
case 5040:
|
||||
case 5038:
|
||||
case 6752:
|
||||
case 5048:
|
||||
case 5036:
|
||||
case 5042:
|
||||
case 4300:
|
||||
case 1835:
|
||||
case 7116:
|
||||
case 7126:
|
||||
case 7132:
|
||||
case 7138:
|
||||
case 548:
|
||||
case 6185:
|
||||
targetSlot = 7;
|
||||
break;
|
||||
case 4166:// hats
|
||||
case 1167:
|
||||
case 5525:
|
||||
case 4168:
|
||||
case 1025:
|
||||
case 7112:
|
||||
case 7124:
|
||||
case 7130:
|
||||
case 7136:
|
||||
case 4611:
|
||||
case 5527:
|
||||
case 5529:
|
||||
case 5531:
|
||||
case 5533:
|
||||
case 5535:
|
||||
case 5537:
|
||||
case 5539:
|
||||
case 5541:
|
||||
case 5543:
|
||||
case 5545:
|
||||
case 5547:
|
||||
targetSlot = 0;
|
||||
break;
|
||||
case 4304:// cape
|
||||
case 3759:
|
||||
case 3761:
|
||||
case 3763:
|
||||
case 3765:
|
||||
case 3777:
|
||||
case 3779:
|
||||
case 3781:
|
||||
case 3783:
|
||||
case 3785:
|
||||
case 3787:
|
||||
case 3789:
|
||||
case 4514:
|
||||
case 4516:
|
||||
targetSlot = 1;
|
||||
break;
|
||||
case 7051:
|
||||
case 7053:// shields
|
||||
targetSlot = 5;
|
||||
break;
|
||||
case 577:
|
||||
case 426:// bodies
|
||||
case 540:
|
||||
case 430:
|
||||
case 6786:
|
||||
case 581:
|
||||
case 5024:
|
||||
case 5030:
|
||||
case 1757:
|
||||
case 5034:
|
||||
case 5032:
|
||||
case 3793:
|
||||
case 1005:
|
||||
case 546:
|
||||
case 6402:
|
||||
case 6788:
|
||||
case 6184:
|
||||
case 7390:
|
||||
case 7392:
|
||||
case 6186:
|
||||
targetSlot = 4;
|
||||
break;
|
||||
case 3853:
|
||||
case 3855:
|
||||
case 3857:
|
||||
case 3859:
|
||||
case 3861:
|
||||
case 3863:
|
||||
case 1718:
|
||||
case 3865:
|
||||
case 4306:
|
||||
case 3867:// necklace/amulet
|
||||
case 1702:
|
||||
targetSlot = 2;
|
||||
break;
|
||||
case 776:// gloves
|
||||
targetSlot = 9;
|
||||
break;
|
||||
case 1215:
|
||||
case 1231:
|
||||
case 5680:
|
||||
case 5698:
|
||||
case 1305:
|
||||
if (c.spiritTree == false && c.playerRights != 3) {
|
||||
c.getActionSender().sendMessage("You need to beat the tree spirit to wear this.");
|
||||
return false;
|
||||
}
|
||||
// Dragon daggers/sword
|
||||
case 1215:
|
||||
case 1231:
|
||||
case 5680:
|
||||
case 5698:
|
||||
case 1305:
|
||||
if (c.spiritTree == false && c.playerRights != 3) {
|
||||
c.getActionSender().sendMessage("You need to beat the tree spirit to wield this weapon.");
|
||||
canWearItem = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!canWearItem) {
|
||||
// return false here so we can send multiple messages of requirements
|
||||
return false;
|
||||
}
|
||||
|
||||
int wearAmount = c.playerItemsN[slot];
|
||||
if (wearAmount < 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (targetSlot == c.playerWeapon) {
|
||||
c.autocasting = false;
|
||||
c.autocastId = 0;
|
||||
c.getPlayerAssistant().sendConfig(108, 0);
|
||||
}
|
||||
|
||||
if (CastleWars.isInCw(c) || CastleWars.isInCwWait(c)) {
|
||||
if (targetSlot == 1 || targetSlot == 0) {
|
||||
if (targetSlot == Constants.CAPE || targetSlot == Constants.HAT) {
|
||||
c.getActionSender().sendMessage("You can't wear your own capes or hats in a Castle Wars Game!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* if (slot >= 0 && wearID >= 0) { int toEquip =
|
||||
* c.playerItems[slot]; int toEquipN = c.playerItemsN[slot]; int
|
||||
* toRemove = c.playerEquipment[targetSlot]; int toRemoveN =
|
||||
* c.playerEquipmentN[targetSlot];
|
||||
*/
|
||||
if (targetSlot == Constants.WEAPON) {
|
||||
c.autocasting = false;
|
||||
c.autocastId = 0;
|
||||
c.getPlayerAssistant().sendConfig(108, 0);
|
||||
}
|
||||
|
||||
if (slot >= 0 && wearID >= 0) {
|
||||
int toEquip = c.playerItems[slot];
|
||||
@@ -1698,51 +1556,35 @@ public class ItemAssistant {
|
||||
if (toEquip == toRemove + 1 && Item.itemStackable[toRemove]) {
|
||||
deleteItem(toRemove, getItemSlot(toRemove), toEquipN);
|
||||
c.playerEquipmentN[targetSlot] += toEquipN;
|
||||
/*
|
||||
* Castle wars
|
||||
*/
|
||||
|
||||
if (CastleWars.SARA_BANNER == toRemove
|
||||
|| CastleWars.ZAMMY_BANNER == toRemove) { // alk
|
||||
// update
|
||||
CastleWars.dropFlag(c, toRemove);
|
||||
toRemove = -1;
|
||||
toRemoveN = 0;
|
||||
}
|
||||
} else if (targetSlot != 5 && targetSlot != 3) {
|
||||
// c.playerItems[slot] = 0;
|
||||
// c.playerItemsN[slot] = 0;
|
||||
// c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
// c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
|
||||
c.playerItems[slot] = 0;
|
||||
c.playerItemsN[slot] = 0;
|
||||
if (toRemove > 0 && toRemoveN > 0) {
|
||||
addItem(toRemove, toRemoveN);
|
||||
}
|
||||
} else if (targetSlot != Constants.SHIELD && targetSlot != Constants.WEAPON) {
|
||||
c.playerItems[slot] = toRemove + 1;
|
||||
c.playerItemsN[slot] = toRemoveN;
|
||||
c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
} else if (targetSlot == 5) {
|
||||
boolean wearing2h = is2handed(
|
||||
getItemName(c.playerEquipment[c.playerWeapon])
|
||||
.toLowerCase(),
|
||||
c.playerEquipment[c.playerWeapon]);
|
||||
} else if (targetSlot == Constants.SHIELD) {
|
||||
boolean wearing2h = is2handed(getItemName(c.playerEquipment[Constants.WEAPON]).toLowerCase(), c.playerEquipment[Constants.WEAPON]);
|
||||
if (wearing2h) {
|
||||
// remove the weapon, add to inventory
|
||||
toRemove = c.playerEquipment[c.playerWeapon];
|
||||
toRemoveN = c.playerEquipmentN[c.playerWeapon];
|
||||
c.playerEquipment[c.playerWeapon] = -1;
|
||||
c.playerEquipmentN[c.playerWeapon] = 0;
|
||||
updateSlot(c.playerWeapon);
|
||||
updateSlot(Constants.WEAPON);
|
||||
}
|
||||
c.playerItems[slot] = toRemove + 1;
|
||||
c.playerItemsN[slot] = toRemoveN;
|
||||
c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
} else if (targetSlot == 3) {
|
||||
boolean is2h = is2handed(getItemName(wearID).toLowerCase(),
|
||||
wearID);
|
||||
boolean wearingShield = c.playerEquipment[c.playerShield] > 0;
|
||||
boolean wearingWeapon = c.playerEquipment[c.playerWeapon] > 0;
|
||||
} else if (targetSlot == Constants.WEAPON) {
|
||||
if (CastleWars.SARA_BANNER == toRemove || CastleWars.ZAMMY_BANNER == toRemove) { // alk
|
||||
// update
|
||||
CastleWars.dropFlag(c, toRemove);
|
||||
toRemove = -1;
|
||||
toRemoveN = 0;
|
||||
}
|
||||
boolean is2h = is2handed(getItemName(wearID).toLowerCase(), wearID);
|
||||
boolean wearingShield = c.playerEquipment[Constants.SHIELD] > 0;
|
||||
boolean wearingWeapon = c.playerEquipment[Constants.WEAPON] > 0;
|
||||
if (is2h) {
|
||||
if (wearingShield && wearingWeapon) {
|
||||
if (freeSlots() > 0) {
|
||||
@@ -1750,22 +1592,19 @@ public class ItemAssistant {
|
||||
c.playerItemsN[slot] = toRemoveN;
|
||||
c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
removeItem(c.playerEquipment[c.playerShield],
|
||||
c.playerShield);
|
||||
removeItem(c.playerEquipment[Constants.SHIELD], Constants.SHIELD);
|
||||
} else {
|
||||
c.getActionSender()
|
||||
.sendMessage(
|
||||
"You do not have enough inventory space to do this.");
|
||||
c.getActionSender().sendMessage("You do not have enough inventory space to do this.");
|
||||
return false;
|
||||
}
|
||||
} else if (wearingShield && !wearingWeapon) {
|
||||
c.playerItems[slot] = c.playerEquipment[c.playerShield] + 1;
|
||||
c.playerItemsN[slot] = c.playerEquipmentN[c.playerShield];
|
||||
c.playerItems[slot] = c.playerEquipment[Constants.SHIELD] + 1;
|
||||
c.playerItemsN[slot] = c.playerEquipmentN[Constants.SHIELD];
|
||||
c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
c.playerEquipment[c.playerShield] = -1;
|
||||
c.playerEquipmentN[c.playerShield] = 0;
|
||||
updateSlot(c.playerShield);
|
||||
c.playerEquipment[Constants.SHIELD] = -1;
|
||||
c.playerEquipmentN[Constants.SHIELD] = 0;
|
||||
updateSlot(Constants.SHIELD);
|
||||
} else {
|
||||
c.playerItems[slot] = toRemove + 1;
|
||||
c.playerItemsN[slot] = toRemoveN;
|
||||
@@ -1773,26 +1612,15 @@ public class ItemAssistant {
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
}
|
||||
} else {
|
||||
// c.playerItems[slot] = toRemove + 1;
|
||||
// c.playerItemsN[slot] = toRemoveN;
|
||||
// c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
// c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
|
||||
c.playerItems[slot] = 0;
|
||||
c.playerItemsN[slot] = 0;
|
||||
|
||||
// c.playerItems[slot] = toRemove + 1;
|
||||
// c.playerItemsN[slot] = toRemoveN;
|
||||
if (toRemove > 0 && toRemoveN > 0) {
|
||||
addItem(toRemove, toRemoveN);
|
||||
}
|
||||
c.playerItems[slot] = toRemove + 1;
|
||||
c.playerItemsN[slot] = toRemoveN;
|
||||
c.playerEquipment[targetSlot] = toEquip - 1;
|
||||
c.playerEquipmentN[targetSlot] = toEquipN;
|
||||
}
|
||||
}
|
||||
}
|
||||
resetItems(3214);
|
||||
if (targetSlot == 3) {
|
||||
if (targetSlot == Constants.WEAPON) {
|
||||
c.usingSpecial = false;
|
||||
addSpecialBar(wearID);
|
||||
}
|
||||
@@ -1812,8 +1640,7 @@ public class ItemAssistant {
|
||||
c.getOutStream().endFrameVarSizeWord();
|
||||
c.flushOutStream();
|
||||
}
|
||||
sendWeapon(c.playerEquipment[c.playerWeapon],
|
||||
getItemName(c.playerEquipment[c.playerWeapon]));
|
||||
sendWeapon(c.playerEquipment[c.playerWeapon], getItemName(c.playerEquipment[c.playerWeapon]));
|
||||
resetBonus();
|
||||
getBonus();
|
||||
writeBonus();
|
||||
|
||||
@@ -1888,7 +1888,7 @@ public class NPCDrops extends NPCDropsHandler {
|
||||
new ItemDrop( 217, 1, RARE ),
|
||||
};
|
||||
|
||||
public static final ItemDrop[] kalphitesolider = {
|
||||
public static final ItemDrop[] kalphitesoldier = {
|
||||
new ItemDrop( i("steel full helm"), 1, COMMON ),
|
||||
new ItemDrop( i("steel scimitar"), 1, COMMON ),
|
||||
new ItemDrop( i("steel axe"), 1, COMMON ),
|
||||
@@ -2249,7 +2249,7 @@ public class NPCDrops extends NPCDropsHandler {
|
||||
new ItemDrop( i("mind rune"), 12, COMMON ),
|
||||
new ItemDrop( i("nature rune"), 3, UNCOMMON ),
|
||||
new ItemDrop( 995, new int[]{2, 485}, COMMON ),
|
||||
new ItemDrop( i("vail of water"), 1, COMMON ),
|
||||
new ItemDrop( i("vial of water"), 1, COMMON ),
|
||||
new ItemDrop( 540, 1, COMMON ),
|
||||
new ItemDrop( 538, 1, COMMON ),
|
||||
new ItemDrop( i("bronze longsword"), 1, UNCOMMON ),
|
||||
|
||||
@@ -74,8 +74,7 @@ public class NPCDropsHandler {
|
||||
return NPCDrops.firegiant;
|
||||
} else if (npc.equals("basilisk")) {
|
||||
return NPCDrops.basilisk;
|
||||
} else if (npc.equals("baby_blue_dragon")
|
||||
|| npc.equals("baby_red_dragon") || npc.equals("baby_dragon")) {
|
||||
} else if (npc.equals("baby_blue_dragon") || npc.equals("baby_red_dragon") || npc.equals("baby_dragon")) {
|
||||
return NPCDrops.babybluedragon;
|
||||
} else if (npc.equals("red_dragon")) {
|
||||
return NPCDrops.reddragon;
|
||||
@@ -134,7 +133,7 @@ public class NPCDropsHandler {
|
||||
} else if (npc.equals("kalphite_worker")) {
|
||||
return NPCDrops.kalphiteworker;
|
||||
} else if (npc.equals("kalphite_soldier")) {
|
||||
return NPCDrops.kalphitesolider;
|
||||
return NPCDrops.kalphitesoldier;
|
||||
} else if (npc.equals("kalphite_guardian")) {
|
||||
return NPCDrops.kalphiteguardian;
|
||||
} else if (npc.equals("bat") || npc.equals("giant_bat")) {
|
||||
|
||||
@@ -2226,9 +2226,7 @@ public class ObjectsActions {
|
||||
} else {
|
||||
player.getActionSender().setSidebarInterface(6, 1151); // modern
|
||||
player.playerMagicBook = 0;
|
||||
player.getActionSender().sendMessage(
|
||||
"You feel a drain on your memory.");
|
||||
player.autocastId = -1;
|
||||
player.getActionSender().sendMessage("You feel a drain on your memory.");
|
||||
player.getPlayerAssistant().resetAutocast();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1913,8 +1913,7 @@ public class PlayerAssistant {
|
||||
}
|
||||
resetDamageDone();
|
||||
player.specAmount = 10;
|
||||
player.getItemAssistant().addSpecialBar(
|
||||
player.playerEquipment[player.playerWeapon]);
|
||||
player.getItemAssistant().addSpecialBar(player.playerEquipment[player.playerWeapon]);
|
||||
player.lastVeng = 0;
|
||||
player.vengOn = false;
|
||||
resetFollowers();
|
||||
|
||||
@@ -1794,24 +1794,21 @@ public class ClickingButtons implements PacketType {
|
||||
|
||||
case 9179:
|
||||
if (player.dialogueAction == 2) {
|
||||
player.getPlayerAssistant().startTeleport(2884, 3395, 0,
|
||||
"modern");
|
||||
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.getActionSender().sendMessage("You can't take the canoe to the Champion Guild because you're already there!");
|
||||
player.getPlayerAssistant().handleCanoe();
|
||||
player.getActionSender().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");
|
||||
player.getPlayerAssistant().startTeleport(2444, 5170, 0, "modern");
|
||||
}
|
||||
if (player.dialogueAction == 3) {
|
||||
player.getPlayerAssistant().startTeleport(3243, 3513, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().startTeleport(3243, 3513, 0, "modern");
|
||||
}
|
||||
if (player.dialogueAction == 31) {
|
||||
player.getDialogueHandler().sendDialogues(502, player.npcType);
|
||||
@@ -1826,8 +1823,7 @@ public class ClickingButtons implements PacketType {
|
||||
player.getDialogueHandler().sendDialogues(376, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 51) {
|
||||
player.getPlayerAssistant().gloryTeleport(3293, 3174, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().gloryTeleport(3293, 3174, 0, "modern");
|
||||
}
|
||||
Teles.necklaces(player);
|
||||
if (player.dialogueAction == 52) {
|
||||
@@ -1864,8 +1860,7 @@ public class ClickingButtons implements PacketType {
|
||||
|
||||
case 9180:
|
||||
if (player.dialogueAction == 2) {
|
||||
player.getPlayerAssistant().startTeleport(2471, 10137, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().startTeleport(2471, 10137, 0, "modern");
|
||||
}
|
||||
if (player.dialogueAction == 69) {
|
||||
player.getDialogueHandler().sendDialogues(500003, player.npcType);
|
||||
@@ -1879,12 +1874,10 @@ public class ClickingButtons implements PacketType {
|
||||
}
|
||||
}
|
||||
if (player.dialogueAction == 3) {
|
||||
player.getPlayerAssistant().startTeleport(3363, 3676, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().startTeleport(3363, 3676, 0, "modern");
|
||||
}
|
||||
if (player.dialogueAction == 4) {
|
||||
player.getPlayerAssistant().startTeleport(2659, 2676, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().startTeleport(2659, 2676, 0, "modern");
|
||||
}
|
||||
if (player.dialogueAction == 31) {
|
||||
player.getDialogueHandler().sendDialogues(501, player.npcType);
|
||||
@@ -1899,8 +1892,7 @@ public class ClickingButtons implements PacketType {
|
||||
player.getDialogueHandler().sendDialogues(377, player.npcType);
|
||||
}
|
||||
if (player.dialogueAction == 51) {
|
||||
player.getPlayerAssistant().gloryTeleport(2911, 3152, 0,
|
||||
"modern");
|
||||
player.getPlayerAssistant().gloryTeleport(2911, 3152, 0, "modern");
|
||||
}
|
||||
Teles.necklaces(player);
|
||||
if (player.dialogueAction == 52) {
|
||||
|
||||
Reference in New Issue
Block a user