mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-06 16:49:07 +00:00
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:
committed by
Daniel Ginovker
parent
20303071de
commit
68256e41d8
@@ -61,7 +61,7 @@ public class CombatAssistant {
|
||||
NpcHandler.npcs[i].animUpdateRequired = true;
|
||||
NpcHandler.npcs[i].updateRequired = true;
|
||||
}
|
||||
if (GameConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) {
|
||||
if (CombatConstants.COMBAT_SOUNDS && NpcHandler.npcs[i].npcType < 3177 && NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender().sendSound(CombatSounds.getNpcBlockSound(NpcHandler.npcs[c.oldNpcIndex].npcType), 100, 0);
|
||||
}
|
||||
NpcHandler.npcs[i].facePlayer(c.playerId);
|
||||
@@ -139,15 +139,15 @@ public class CombatAssistant {
|
||||
c.globalDamageDealt += damage2;
|
||||
}
|
||||
if (c.fightMode == 3) {//range shared
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE / 3, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE / 3, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(1);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
c.getPlayerAssistant().refreshSkill(4);
|
||||
} else {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE /3, 3);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE /3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
c.getPlayerAssistant().refreshSkill(4);
|
||||
}
|
||||
@@ -196,7 +196,7 @@ public class CombatAssistant {
|
||||
int damage = Misc
|
||||
.random(MagicData.MAGIC_SPELLS[c.oldSpellId][6]);
|
||||
if (MagicSpells.godSpells(c)) {
|
||||
if (System.currentTimeMillis() - c.godSpellDelay < GameConstants.GOD_SPELL_CHARGE) {
|
||||
if (System.currentTimeMillis() - c.godSpellDelay < CombatConstants.GOD_SPELL_CHARGE) {
|
||||
damage += Misc.random(10);
|
||||
}
|
||||
}
|
||||
@@ -223,10 +223,10 @@ public class CombatAssistant {
|
||||
damage = NpcHandler.npcs[i].HP;
|
||||
}
|
||||
//magic
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
|
||||
c.totalDamageDealt += damage;
|
||||
if (MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1161 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1153 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1157 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1542 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1543 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1562) {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MAGIC_EXP_RATE / 3, 3);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MAGIC_EXP_RATE / 3, 3);
|
||||
}
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
c.getPlayerAssistant().refreshSkill(6);
|
||||
@@ -336,18 +336,18 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
if (c.fightMode == 3 && NpcHandler.npcs[i].npcType != 2459 && NpcHandler.npcs[i].npcType != 2460 && NpcHandler.npcs[i].npcType != 2461 && NpcHandler.npcs[i].npcType != 2462) {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 0);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 2);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 3);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 0);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 2);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(0);
|
||||
c.getPlayerAssistant().refreshSkill(1);
|
||||
c.getPlayerAssistant().refreshSkill(2);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
} else {
|
||||
if (NpcHandler.npcs[i].npcType != 2459 && NpcHandler.npcs[i].npcType != 2460 && NpcHandler.npcs[i].npcType != 2461 && NpcHandler.npcs[i].npcType != 2462) {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE, c.fightMode);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 3);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE, c.fightMode);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(c.fightMode);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
}
|
||||
@@ -644,7 +644,7 @@ public class CombatAssistant {
|
||||
return;
|
||||
}
|
||||
if (c.usingRangeWeapon || c.usingBow
|
||||
&& GameConstants.COMBAT_SOUNDS
|
||||
&& CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender().sendSound(SoundList.SHOOT_ARROW,
|
||||
@@ -677,7 +677,7 @@ public class CombatAssistant {
|
||||
return;
|
||||
}
|
||||
if (RangeData.correctBowAndArrows(c) < c.playerEquipment[c.playerArrows]
|
||||
&& GameConstants.CORRECT_ARROWS && c.usingBow
|
||||
&& CombatConstants.CORRECT_ARROWS && c.usingBow
|
||||
&& !RangeData.usingCrystalBow(c)
|
||||
&& c.playerEquipment[c.playerWeapon] != 9185) {
|
||||
c.getItemAssistant();
|
||||
@@ -737,7 +737,7 @@ public class CombatAssistant {
|
||||
"You don't have the required special energy to use this attack.");
|
||||
c.usingSpecial = false;
|
||||
c.getItemAssistant().updateSpecialBar();
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
@@ -750,13 +750,13 @@ public class CombatAssistant {
|
||||
}
|
||||
c.specMaxHitIncrease = 0;
|
||||
if (!c.usingMagic) {
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(
|
||||
CombatSounds.getWeaponSounds(c), 100, 0);
|
||||
}
|
||||
c.startAnimation(getWepAnim());
|
||||
} else {
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(
|
||||
CombatSounds.getMagicSound(c, c.spellId), 100,
|
||||
0);
|
||||
@@ -849,7 +849,7 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
if (c.usingBow && GameConstants.CRYSTAL_BOW_DEGRADES) { // crystal
|
||||
if (c.usingBow && CombatConstants.CRYSTAL_BOW_DEGRADES) { // crystal
|
||||
// bow
|
||||
// degrading
|
||||
if (c.playerEquipment[c.playerWeapon] == 4212) { // new
|
||||
@@ -1097,7 +1097,7 @@ public class CombatAssistant {
|
||||
return;
|
||||
}
|
||||
if (RangeData.correctBowAndArrows(c) < c.playerEquipment[c.playerArrows]
|
||||
&& GameConstants.CORRECT_ARROWS && c.usingBow
|
||||
&& CombatConstants.CORRECT_ARROWS && c.usingBow
|
||||
&& !RangeData.usingCrystalBow(c)
|
||||
&& c.playerEquipment[c.playerWeapon] != 9185
|
||||
&& !c.usingMagic) {
|
||||
@@ -1146,7 +1146,7 @@ public class CombatAssistant {
|
||||
.contains(c.playerId)) {
|
||||
c.attackedPlayers.add(c.playerIndex);
|
||||
c.isSkulled = true;
|
||||
c.skullTimer = GameConstants.SKULL_TIMER;
|
||||
c.skullTimer = CombatConstants.SKULL_TIMER;
|
||||
c.headIconPk = 0;
|
||||
c.getPlayerAssistant().requestUpdates();
|
||||
}
|
||||
@@ -1161,7 +1161,7 @@ public class CombatAssistant {
|
||||
"Special attacks have been disabled during this duel!");
|
||||
c.usingSpecial = false;
|
||||
c.getItemAssistant().updateSpecialBar();
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
@@ -1183,7 +1183,7 @@ public class CombatAssistant {
|
||||
"You don't have the required special energy to use this attack.");
|
||||
c.usingSpecial = false;
|
||||
c.getItemAssistant().updateSpecialBar();
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
@@ -1196,7 +1196,7 @@ public class CombatAssistant {
|
||||
}
|
||||
|
||||
if (!c.usingMagic) {
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(
|
||||
CombatSounds.getWeaponSounds(c), 100, 0);
|
||||
}
|
||||
@@ -1204,7 +1204,7 @@ public class CombatAssistant {
|
||||
c.mageFollow = false;
|
||||
} else {
|
||||
c.startAnimation(MagicData.MAGIC_SPELLS[c.spellId][2]);
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
c.getPacketSender().sendSound(
|
||||
CombatSounds.getMagicSound(c, c.spellId), 100,
|
||||
0);
|
||||
@@ -1336,7 +1336,7 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
if (c.usingBow && GameConstants.CRYSTAL_BOW_DEGRADES) { // crystal
|
||||
if (c.usingBow && CombatConstants.CRYSTAL_BOW_DEGRADES) { // crystal
|
||||
// bow
|
||||
// degrading
|
||||
if (c.playerEquipment[c.playerWeapon] == 4212) { // new
|
||||
@@ -1379,28 +1379,6 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
public void appendVengeance(int otherPlayer, int damage) {
|
||||
if (damage <= 0) {
|
||||
return;
|
||||
}
|
||||
Player o = PlayerHandler.players[otherPlayer];
|
||||
o.forcedText = "Taste Vengeance!";
|
||||
o.forcedChatUpdateRequired = true;
|
||||
o.updateRequired = true;
|
||||
o.vengOn = false;
|
||||
if (o.playerLevel[3] - damage > 0) {
|
||||
damage = (int) (damage * 0.75);
|
||||
if (damage > c.playerLevel[3]) {
|
||||
damage = c.playerLevel[3];
|
||||
}
|
||||
c.setHitDiff2(damage);
|
||||
c.setHitUpdateRequired2(true);
|
||||
c.playerLevel[3] -= damage;
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
}
|
||||
c.updateRequired = true;
|
||||
}
|
||||
|
||||
public void playerDelayedHit(int i) {
|
||||
if (PlayerHandler.players[i] != null) {
|
||||
if (PlayerHandler.players[i].isDead || c.isDead
|
||||
@@ -1424,7 +1402,7 @@ public class CombatAssistant {
|
||||
if (o.attackTimer <= 3 || o.attackTimer == 0 && o.playerIndex == 0
|
||||
&& !c.castingMagic) { // block animation
|
||||
o.startAnimation(o.getCombatAssistant().getBlockEmote());
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
o.getPacketSender().sendSound(
|
||||
CombatSounds.getPlayerBlockSounds(o), 100, 0);
|
||||
}
|
||||
@@ -1513,10 +1491,6 @@ public class CombatAssistant {
|
||||
if (damage2 < 0 && damage2 != -1) {
|
||||
damage2 = 0;
|
||||
}
|
||||
if (o.vengOn) {
|
||||
appendVengeance(i, damage);
|
||||
appendVengeance(i, damage2);
|
||||
}
|
||||
if (damage > 0) {
|
||||
applyRecoil(c, damage, i);
|
||||
}
|
||||
@@ -1524,14 +1498,14 @@ public class CombatAssistant {
|
||||
applyRecoil(c, damage2, i);
|
||||
}
|
||||
if (c.fightMode == 3) {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE / 3, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE / 3, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(1);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
c.getPlayerAssistant().refreshSkill(4);
|
||||
} else {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
c.getPlayerAssistant().refreshSkill(4);
|
||||
@@ -1578,7 +1552,7 @@ public class CombatAssistant {
|
||||
int damage = Misc
|
||||
.random(MagicData.MAGIC_SPELLS[c.oldSpellId][6]);
|
||||
if (MagicSpells.godSpells(c)) {
|
||||
if (System.currentTimeMillis() - c.godSpellDelay < GameConstants.GOD_SPELL_CHARGE) {
|
||||
if (System.currentTimeMillis() - c.godSpellDelay < CombatConstants.GOD_SPELL_CHARGE) {
|
||||
damage += 10;
|
||||
}
|
||||
}
|
||||
@@ -1600,13 +1574,10 @@ public class CombatAssistant {
|
||||
if (PlayerHandler.players[i].playerLevel[3] - damage < 0) {
|
||||
damage = PlayerHandler.players[i].playerLevel[3];
|
||||
}
|
||||
if (o.vengOn) {
|
||||
appendVengeance(i, damage);
|
||||
}
|
||||
if (damage > 0) {
|
||||
applyRecoil(c, damage, i);
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
|
||||
if (MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1161 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1153 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1157 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1542 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1543 && MagicData.MAGIC_SPELLS[c.oldSpellId][0] != 1562) {
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage / 3, 3);
|
||||
}
|
||||
@@ -1843,9 +1814,6 @@ public class CombatAssistant {
|
||||
&& !veracsEffect) { // if prayer active reduce damage by 40%
|
||||
damage = damage * 60 / 100;
|
||||
}
|
||||
if (c.maxNextHit) {
|
||||
damage = meleeMaxHit();
|
||||
}
|
||||
if (damage > 0 && guthansEffect) {
|
||||
c.playerLevel[3] += damage;
|
||||
if (c.playerLevel[3] > c.getLevelForXP(c.playerXP[3])) {
|
||||
@@ -1854,16 +1822,9 @@ public class CombatAssistant {
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
o.gfx0(398);
|
||||
}
|
||||
if (c.ssSpec && damageMask == 2) {
|
||||
damage = 5 + Misc.random(11);
|
||||
c.ssSpec = false;
|
||||
}
|
||||
if (PlayerHandler.players[i].playerLevel[3] - damage < 0) {
|
||||
damage = PlayerHandler.players[i].playerLevel[3];
|
||||
}
|
||||
if (o.vengOn && damage > 0) {
|
||||
appendVengeance(i, damage);
|
||||
}
|
||||
if (damage > 0) {
|
||||
applyRecoil(c, damage, i);
|
||||
}
|
||||
@@ -1928,17 +1889,17 @@ public class CombatAssistant {
|
||||
}
|
||||
c.specEffect = 0;
|
||||
if (c.fightMode == 3) {//melee shared
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 0);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE / 3, 2);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 0);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 1);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE / 3, 2);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(0);
|
||||
c.getPlayerAssistant().refreshSkill(1);
|
||||
c.getPlayerAssistant().refreshSkill(2);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
} else {
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE, c.fightMode);
|
||||
c.getPlayerAssistant().addSkillXP(damage * GameConstants.MELEE_EXP_RATE/3, 3);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE, c.fightMode);
|
||||
c.getPlayerAssistant().addSkillXP(damage * CombatConstants.MELEE_EXP_RATE/3, 3);
|
||||
c.getPlayerAssistant().refreshSkill(c.fightMode);
|
||||
c.getPlayerAssistant().refreshSkill(3);
|
||||
}
|
||||
@@ -2097,7 +2058,7 @@ public class CombatAssistant {
|
||||
resetPlayerAttack();
|
||||
return false;
|
||||
}
|
||||
if (GameConstants.COMBAT_LEVEL_DIFFERENCE && !c.inCw()) {
|
||||
if (CombatConstants.COMBAT_LEVEL_DIFFERENCE && !c.inCw()) {
|
||||
int combatDif1 = getCombatDifference(c.combatLevel,
|
||||
PlayerHandler.players[c.playerIndex].combatLevel);
|
||||
if (combatDif1 > c.wildLevel
|
||||
@@ -2111,7 +2072,7 @@ public class CombatAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
if (GameConstants.SINGLE_AND_MULTI_ZONES) {
|
||||
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
|
||||
if (!PlayerHandler.players[c.playerIndex].inMulti()) { // single
|
||||
// combat
|
||||
// zones
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.rebotted.game.content.combat;
|
||||
|
||||
|
||||
/**
|
||||
* CombatConstants
|
||||
* @author Andrew (Mr Extremez)
|
||||
*/
|
||||
|
||||
public class CombatConstants {
|
||||
|
||||
public final static int MELEE_EXP_RATE = 4;
|
||||
|
||||
public final static int RANGE_EXP_RATE = 4;
|
||||
|
||||
public final static int MAGIC_EXP_RATE = 4;
|
||||
|
||||
public final static int INCREASE_SPECIAL_AMOUNT = 17500;
|
||||
|
||||
public final static int GOD_SPELL_CHARGE = 300000;
|
||||
|
||||
public final static boolean CORRECT_ARROWS = true;
|
||||
|
||||
public final static boolean CRYSTAL_BOW_DEGRADES = true;
|
||||
|
||||
public final static int SKULL_TIMER = 1200;
|
||||
|
||||
public final static int TELEBLOCK_DELAY = 20000;
|
||||
|
||||
public final static boolean SINGLE_AND_MULTI_ZONES = true;
|
||||
|
||||
public final static boolean COMBAT_LEVEL_DIFFERENCE = true;
|
||||
|
||||
public final static boolean COMBAT_SOUNDS = true;
|
||||
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.rebotted.game.content.combat;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.game.content.combat.range.RangeData;
|
||||
import com.rebotted.game.content.music.sound.CombatSounds;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
@@ -24,26 +22,26 @@ public class Specials {
|
||||
// ItemName(ItemId, SpecDamage, SpecAccuracy, SpecAmount, Anim, GFX0,
|
||||
// GFX100, DoubleHit, SsSpec, SpecEffect)
|
||||
|
||||
ABYSSAL_WHIP(4151, 1, 1.25, 5, 1658, 341, -1, false, false, 0),
|
||||
DRAGON_DAGGER(1215, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
|
||||
DRAGON_DAGGER_P(1231, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
|
||||
DRAGON_DAGGER_PP(5698, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
|
||||
DRAGON_DAGGER_PPP(5680, 1.15, 1.25, 2.5, 1062, -1, 252, true, false, 0),
|
||||
DRAGON_LONG(1305, 1.20, 1.10, 2.5, 1058, -1, 248, false, false, 0),
|
||||
DRAGON_MACE(1434, 1.55, 1.25, 2.5, 1060, -1, 251, false, false, 0),
|
||||
DRAGON_SCIMITAR(4587, 1, 1.25, 5.5, 1872, -1, 347, false, false, 1),
|
||||
DRAGON_HALBERD(3204, 1.25, .85, 3, 1203, -1, 282, true, false, 0),
|
||||
GRANITE_MAUL(4153, 1.10, .85, 5, 1667, -1, 337, false, false, 0),
|
||||
MAGIC_SHORTBOW(861, 1.05, .95, 5.5, 1074, -1, -1, true, false, 0),
|
||||
MAGIC_LONGBOW(859, 1.20, 1.05, 5.5, 426, -1, -1, false, false, 0);
|
||||
ABYSSAL_WHIP(4151, 1, 1.25, 5, 1658, 341, -1, false, 0),
|
||||
DRAGON_DAGGER(1215, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
|
||||
DRAGON_DAGGER_P(1231, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
|
||||
DRAGON_DAGGER_PP(5698, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
|
||||
DRAGON_DAGGER_PPP(5680, 1.15, 1.25, 2.5, 1062, -1, 252, true, 0),
|
||||
DRAGON_LONG(1305, 1.20, 1.10, 2.5, 1058, -1, 248, false, 0),
|
||||
DRAGON_MACE(1434, 1.55, 1.25, 2.5, 1060, -1, 251, false, 0),
|
||||
DRAGON_SCIMITAR(4587, 1, 1.25, 5.5, 1872, -1, 347, false, 1),
|
||||
DRAGON_HALBERD(3204, 1.25, .85, 3, 1203, -1, 282, true, 0),
|
||||
GRANITE_MAUL(4153, 1.10, .85, 5, 1667, -1, 337, false, 0),
|
||||
MAGIC_SHORTBOW(861, 1.05, .95, 5.5, 1074, -1, -1, true, 0),
|
||||
MAGIC_LONGBOW(859, 1.20, 1.05, 5.5, 426, -1, -1, false, 0);
|
||||
|
||||
private int weapon, anim, gfx1, gfx2, specEffect;
|
||||
private double specDamage, specAccuracy, specAmount;
|
||||
private boolean doubleHit, ssSpec;
|
||||
private boolean doubleHit;
|
||||
|
||||
private specialAttack(int weapon, double specDamage,
|
||||
double specAccuracy, double specAmount, int anim, int gfx1,
|
||||
int gfx2, boolean doubleHit, boolean ssSpec, int specEffect) {
|
||||
int gfx2, boolean doubleHit, int specEffect) {
|
||||
this.weapon = weapon;
|
||||
this.specDamage = specDamage;
|
||||
this.specAccuracy = specAccuracy;
|
||||
@@ -52,7 +50,6 @@ public class Specials {
|
||||
this.gfx1 = gfx1;
|
||||
this.gfx2 = gfx2;
|
||||
this.doubleHit = doubleHit;
|
||||
this.ssSpec = ssSpec;
|
||||
this.specEffect = specEffect;
|
||||
}
|
||||
|
||||
@@ -88,9 +85,6 @@ public class Specials {
|
||||
return doubleHit;
|
||||
}
|
||||
|
||||
private boolean getSsSpec() {
|
||||
return ssSpec;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private int getSpecEffect() {
|
||||
@@ -113,9 +107,7 @@ public class Specials {
|
||||
|
||||
public void activateSpecial(int weapon, int i) {
|
||||
int equippedWeapon = player.playerEquipment[player.playerWeapon];
|
||||
if (NpcHandler.npcs[i] == null && player.npcIndex > 0
|
||||
|| PlayerHandler.players[player.playerIndex] == null
|
||||
&& player.playerIndex > 0) {
|
||||
if (NpcHandler.npcs[i] == null && player.npcIndex > 0 || PlayerHandler.players[player.playerIndex] == null && player.playerIndex > 0) {
|
||||
return;
|
||||
}
|
||||
player.doubleHit = false;
|
||||
@@ -128,8 +120,7 @@ public class Specials {
|
||||
player.oldPlayerIndex = i;
|
||||
PlayerHandler.players[i].underAttackBy = player.playerId;
|
||||
PlayerHandler.players[i].logoutDelay = System.currentTimeMillis();
|
||||
PlayerHandler.players[i].singleCombatDelay = System
|
||||
.currentTimeMillis();
|
||||
PlayerHandler.players[i].singleCombatDelay = System.currentTimeMillis();
|
||||
PlayerHandler.players[i].killerId = player.playerId;
|
||||
}
|
||||
player.specEffect = 0;
|
||||
@@ -226,7 +217,6 @@ public class Specials {
|
||||
player.specAccuracy = SA.getSpecAccuracy();
|
||||
player.hitDelay = player.getCombatAssistant().getHitDelay();
|
||||
player.doubleHit = SA.getDoubleHit();
|
||||
player.ssSpec = SA.getSsSpec();
|
||||
} else {
|
||||
player.gfx0(SA.getGfx1());
|
||||
player.startAnimation(SA.getAnim());
|
||||
@@ -234,36 +224,26 @@ public class Specials {
|
||||
player.specAccuracy = SA.getSpecAccuracy();
|
||||
player.hitDelay = player.getCombatAssistant().getHitDelay();
|
||||
player.doubleHit = SA.getDoubleHit();
|
||||
player.ssSpec = SA.getSsSpec();
|
||||
}
|
||||
}
|
||||
player.delayedDamage = Misc.random(player.getCombatAssistant().meleeMaxHit());
|
||||
player.delayedDamage2 = Misc
|
||||
.random(player.getCombatAssistant().meleeMaxHit());
|
||||
player.delayedDamage2 = Misc.random(player.getCombatAssistant().meleeMaxHit());
|
||||
player.usingSpecial = false;
|
||||
player.getItemAssistant().updateSpecialBar();
|
||||
if (GameConstants.COMBAT_SOUNDS) {
|
||||
player.getPacketSender()
|
||||
.sendSound(
|
||||
CombatSounds
|
||||
.specialSounds(player.playerEquipment[player.playerWeapon]),
|
||||
100, 0);
|
||||
if (CombatConstants.COMBAT_SOUNDS) {
|
||||
player.getPacketSender().sendSound(CombatSounds.specialSounds(player.playerEquipment[player.playerWeapon]), 100, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void handleGmaul() {
|
||||
if (player.npcIndex > 0 && NpcHandler.npcs[player.npcIndex] != null) {
|
||||
if (player.goodDistance(player.getX(), player.getY(), NpcHandler.npcs[player.npcIndex]
|
||||
.getX(), NpcHandler.npcs[player.npcIndex].getY(), player
|
||||
.getCombatAssistant().getRequiredDistance())) {
|
||||
if (player.goodDistance(player.getX(), player.getY(), NpcHandler.npcs[player.npcIndex].getX(), NpcHandler.npcs[player.npcIndex].getY(), player.getCombatAssistant().getRequiredDistance())) {
|
||||
if (player.getCombatAssistant().checkSpecAmount(4153)) {
|
||||
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc
|
||||
.random(NpcHandler.npcs[player.npcIndex].defence);
|
||||
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc.random(NpcHandler.npcs[player.npcIndex].defence);
|
||||
int damage = 0;
|
||||
if (hit) {
|
||||
damage = Misc.random(player.getCombatAssistant()
|
||||
.meleeMaxHit());
|
||||
damage = Misc.random(player.getCombatAssistant().meleeMaxHit());
|
||||
NpcHandler.npcs[player.npcIndex].HP -= damage;
|
||||
NpcHandler.npcs[player.npcIndex].hitDiff2 = damage;
|
||||
NpcHandler.npcs[player.npcIndex].hitUpdateRequired2 = true;
|
||||
@@ -279,17 +259,12 @@ public class Specials {
|
||||
.getCombatAssistant().getRequiredDistance())) {
|
||||
if (player.getCombatAssistant().checkReqs()) {
|
||||
if (player.getCombatAssistant().checkSpecAmount(4153)) {
|
||||
boolean hit = Misc.random(player.getCombatAssistant()
|
||||
.calcAtt()) > Misc.random(o
|
||||
.getCombatAssistant().calcDef());
|
||||
boolean hit = Misc.random(player.getCombatAssistant().calcAtt()) > Misc.random(o.getCombatAssistant().calcDef());
|
||||
int damage = 0;
|
||||
if (hit) {
|
||||
damage = Misc.random(player.getCombatAssistant()
|
||||
.meleeMaxHit());
|
||||
damage = Misc.random(player.getCombatAssistant().meleeMaxHit());
|
||||
}
|
||||
if (o.getPrayer().prayerActive[18]
|
||||
&& System.currentTimeMillis()
|
||||
- o.protMeleeDelay > 1500) {
|
||||
if (o.getPrayer().prayerActive[18] && System.currentTimeMillis() - o.protMeleeDelay > 1500) {
|
||||
damage *= .6;
|
||||
}
|
||||
if (o.playerLevel[3] - damage <= 0) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.rebotted.game.content.combat.magic;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.game.content.combat.CombatConstants;
|
||||
import com.rebotted.game.content.music.sound.SoundList;
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
@@ -32,7 +32,7 @@ public class MagicSpells extends MagicData {
|
||||
if (c2.playerLevel[3] - damage < 0) {
|
||||
damage = c2.playerLevel[3];
|
||||
}
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * GameConstants.MAGIC_EXP_RATE, 6);
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * CombatConstants.MAGIC_EXP_RATE, 6);
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage / 3, 3);
|
||||
// Server.playerHandler.players[playerId].setHitDiff(damage);
|
||||
// Server.playerHandler.players[playerId].setHitUpdateRequired(true);
|
||||
@@ -100,7 +100,7 @@ public class MagicSpells extends MagicData {
|
||||
if (!PlayerHandler.players[i].inWild()) {
|
||||
return false;
|
||||
}
|
||||
if (GameConstants.COMBAT_LEVEL_DIFFERENCE) {
|
||||
if (CombatConstants.COMBAT_LEVEL_DIFFERENCE) {
|
||||
int combatDif1 = c.getCombatAssistant().getCombatDifference(c.combatLevel,
|
||||
PlayerHandler.players[i].combatLevel);
|
||||
if (combatDif1 > c.wildLevel
|
||||
@@ -112,7 +112,7 @@ public class MagicSpells extends MagicData {
|
||||
}
|
||||
}
|
||||
|
||||
if (GameConstants.SINGLE_AND_MULTI_ZONES) {
|
||||
if (CombatConstants.SINGLE_AND_MULTI_ZONES) {
|
||||
if (!PlayerHandler.players[i].inMulti()) { // single combat
|
||||
// zones
|
||||
if (PlayerHandler.players[i].underAttackBy != c.playerId
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.rebotted.game.content.combat.npcs;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.game.content.combat.CombatAssistant;
|
||||
import com.rebotted.game.content.combat.CombatConstants;
|
||||
import com.rebotted.game.content.combat.melee.MeleeData;
|
||||
import com.rebotted.game.content.minigames.FightCaves;
|
||||
import com.rebotted.game.content.music.sound.CombatSounds;
|
||||
@@ -181,7 +182,7 @@ public class NpcCombat {
|
||||
NpcHandler.npcs[i].attackTimer = NpcData.getNpcDelay(i);
|
||||
NpcHandler.npcs[i].hitDelayTimer = NpcData.getHitDelay(i);
|
||||
NpcHandler.npcs[i].attackType = 0;
|
||||
if (GameConstants.COMBAT_SOUNDS
|
||||
if (CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender()
|
||||
@@ -201,7 +202,7 @@ public class NpcCombat {
|
||||
if (NpcHandler.multiAttacks(i)) {
|
||||
multiAttackGfx(i, NpcHandler.npcs[i].projectileId);
|
||||
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
|
||||
if (GameConstants.COMBAT_SOUNDS
|
||||
if (CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender()
|
||||
@@ -240,7 +241,7 @@ public class NpcCombat {
|
||||
c.singleCombatDelay2 = System.currentTimeMillis();
|
||||
NpcHandler.npcs[i].oldIndex = c.playerId;
|
||||
NpcData.startAnimation(NpcEmotes.getAttackEmote(i), i);
|
||||
if (GameConstants.COMBAT_SOUNDS
|
||||
if (CombatConstants.COMBAT_SOUNDS
|
||||
&& NpcHandler.npcs[i].npcType < 3177
|
||||
&& NpcHandler.npcs[i].npcType > 3180) {
|
||||
c.getPacketSender()
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.rebotted.game.content.combat.range;
|
||||
|
||||
import com.rebotted.GameConstants;
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.event.CycleEvent;
|
||||
import com.rebotted.event.CycleEventContainer;
|
||||
import com.rebotted.event.CycleEventHandler;
|
||||
import com.rebotted.game.content.combat.CombatConstants;
|
||||
import com.rebotted.game.npcs.Npc;
|
||||
import com.rebotted.game.npcs.NpcHandler;
|
||||
import com.rebotted.game.players.Client;
|
||||
@@ -397,7 +397,7 @@ public class DwarfCannon {
|
||||
target.hitUpdateRequired2 = true;
|
||||
target.updateRequired = true;
|
||||
myBalls -= 1;
|
||||
player.getPlayerAssistant().addSkillXP(damage * GameConstants.RANGE_EXP_RATE, player.playerRanged);
|
||||
player.getPlayerAssistant().addSkillXP(damage * CombatConstants.RANGE_EXP_RATE, player.playerRanged);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-3
@@ -1,6 +1,5 @@
|
||||
package com.rebotted.game.content.randomevents;
|
||||
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
import com.rebotted.util.Misc;
|
||||
|
||||
@@ -61,8 +60,7 @@ public class RandomEventHandler {
|
||||
}
|
||||
|
||||
public static void addRandom(Player c) {
|
||||
if (c.randomEventsEnabled)
|
||||
{
|
||||
if (c.randomEventsEnabled) {
|
||||
if (c.randomActions >= CALL_RANDOM) {
|
||||
callRandom(c);
|
||||
if (c.playerIsBusy() && !c.hasSandwhichLady) {
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.rebotted.game.content.skills;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author Syndicate
|
||||
*/
|
||||
|
||||
public enum SkillData {
|
||||
ATTACK(0, 6247, 6248, 6249, 4004, 4005, 4044, 4045),
|
||||
DEFENCE(1, 6253, 6254, 6255, 4008, 4009, 4056, 4057),
|
||||
STRENGTH(2, 6206, 6207, 6208, 4006, 4007, 4050, 4051),
|
||||
HITPOINTS(3, 6216, 6217, 6218, 4016, 4017, 4080, 4081),
|
||||
RANGED(4, 4443, 5453, 6114, 4010, 4011, 4062, 4063),
|
||||
PRAYER(5, 6242, 6243, 6244, 4012, 4013, 4068, 4069),
|
||||
MAGIC(6, 6211, 6212, 6213, 4014, 4015, 4074, 4075),
|
||||
COOKING(7, 6226, 6227, 6228, 4034, 4035, 4134, 4135),
|
||||
WOODCUTTING(8, 4272, 4273, 4274, 4038, 4039, 4146, 4147),
|
||||
FLETCHING(9, 6231, 6232, 6233, 4026, 4027, 4110, 4111),
|
||||
FISHING(10, 6258, 6259, 6260, 4032, 4033, 4128, 4129),
|
||||
FIREMAKING(11, 4282, 4283, 4284, 4036, 4037, 4140, 4141),
|
||||
CRAFTING(12, 6263, 6264, 6265, 4024, 4025, 4104, 4105),
|
||||
SMITHING(13, 6221, 6222, 6223, 4030, 4031, 4122, 4123),
|
||||
MINING(14, 4416, 4417, 4438, 4028, 4029, 4116, 4117),
|
||||
HERBLORE(15, 6237, 6238, 6239, 4020, 4021, 4092, 4093),
|
||||
AGILITY(16, 4277, 4278, 4279, 4018, 4019, 4086, 4087),
|
||||
THIEVING(17, 4261, 4263, 4264, 4022, 4023, 4098, 4099),
|
||||
SLAYER(18, 12122, 12123, 12124, 12166, 12167, 12171, 12172),
|
||||
FARMING(19, 12122, 12123, 12124, 13926, 13927, 13921, 13922),
|
||||
RUNECRAFTING(20, 4267, 4268, 4269, 4152, 4153, 4157, 4158);
|
||||
|
||||
/**
|
||||
* The identifier for this skill.
|
||||
*/
|
||||
private final int skill;
|
||||
|
||||
/**
|
||||
* The first frame id for this skill.
|
||||
*/
|
||||
private final int frame;
|
||||
|
||||
/**
|
||||
* The second frame id for this skill.
|
||||
*/
|
||||
private final int frame2;
|
||||
|
||||
/**
|
||||
* The third frame id for this skill.
|
||||
*/
|
||||
private final int frame3;
|
||||
|
||||
/**
|
||||
* The fourth frame id for this skill.
|
||||
*/
|
||||
private final int frame4;
|
||||
|
||||
/**
|
||||
* The fifth frame id for this skill.
|
||||
*/
|
||||
private final int frame5;
|
||||
|
||||
/**
|
||||
* The sixth frame id for this skill.
|
||||
*/
|
||||
private final int frame6;
|
||||
|
||||
/**
|
||||
* The seventh frame id for this skill.
|
||||
*/
|
||||
private final int frame7;
|
||||
|
||||
/**
|
||||
* Constructs a new {@link SkillData}.
|
||||
*
|
||||
* @param skill
|
||||
* @param frame
|
||||
* @param frame2
|
||||
* @param frame3
|
||||
* @param frame4
|
||||
* @param frame5
|
||||
* @param frame6
|
||||
* @param frame7
|
||||
*/
|
||||
SkillData(int skill, int frame, int frame2,
|
||||
int frame3, int frame4, int frame5, int frame6, int frame7) {
|
||||
this.skill = skill;
|
||||
this.frame = frame;
|
||||
this.frame2 = frame2;
|
||||
this.frame3 = frame3;
|
||||
this.frame4 = frame4;
|
||||
this.frame5 = frame5;
|
||||
this.frame6 = frame6;
|
||||
this.frame7 = frame7;
|
||||
}
|
||||
|
||||
public final int getId() {
|
||||
return skill;
|
||||
}
|
||||
|
||||
public final int getFrame1() {
|
||||
return frame;
|
||||
}
|
||||
|
||||
public final int getFrame2() {
|
||||
return frame2;
|
||||
}
|
||||
|
||||
public final int getFrame3() {
|
||||
return frame3;
|
||||
}
|
||||
|
||||
public final int getFrame4() {
|
||||
return frame4;
|
||||
}
|
||||
|
||||
public final int getFrame5() {
|
||||
return frame5;
|
||||
}
|
||||
|
||||
public final int getFrame6() {
|
||||
return frame6;
|
||||
}
|
||||
|
||||
public final int getFrame7() {
|
||||
return frame7;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return name().charAt(0) + name().substring(1).toLowerCase();
|
||||
}
|
||||
|
||||
public static Optional<SkillData> getSkill(int identifier) {
|
||||
return Arrays.stream(values()).filter(s -> s.skill == identifier).findFirst();
|
||||
}
|
||||
}
|
||||
@@ -110,15 +110,6 @@ public class SkillHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean membersOnly(Player c) {
|
||||
if (c.membership == false) {
|
||||
c.getPacketSender()
|
||||
.sendMessage("This is a members only skill.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean noInventorySpace(Player c, String skill) {
|
||||
if (c.getItemAssistant().freeSlots() == 0) {
|
||||
c.getPacketSender().sendMessage(
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
package com.rebotted.game.content.skills.agility;
|
||||
|
||||
import com.rebotted.game.players.Client;
|
||||
import com.rebotted.game.players.Player;
|
||||
|
||||
/**
|
||||
* Agility Shortcuts
|
||||
* @author Andrew (I'm A Boss on Rune-Server, Mr Extremez on Moparscape & Runelocus)
|
||||
* @author Andrew (Mr Extremez)
|
||||
*/
|
||||
|
||||
public class AgilityShortcut {
|
||||
|
||||
@@ -151,8 +151,8 @@ public class Mining {
|
||||
}
|
||||
|
||||
public void startMining(final Player player, final int objectID, final int objectX, final int objectY, final int type) {
|
||||
if (player.isMining || player.miningRock) return;
|
||||
|
||||
if (player.isMining || player.miningRock)
|
||||
return;
|
||||
int miningLevel = player.playerLevel[player.playerMining];
|
||||
rockData rock = rockData.getRock(objectID);
|
||||
pickaxe = -1;
|
||||
@@ -272,8 +272,7 @@ public class Mining {
|
||||
}
|
||||
|
||||
public void mineRock(int respawnTime, int x, int y, int type, int i) {
|
||||
if (i != 2491)
|
||||
{
|
||||
if (i != 2491) {
|
||||
new Object(452, x, y, 0, type, 10, i, respawnTime);
|
||||
Region.addObject(452, x, y, 0, 10, type, false);
|
||||
}
|
||||
|
||||
@@ -27,31 +27,74 @@ public class Woodcutting {
|
||||
{6739, 61, 8, 2846},
|
||||
{13661, 41, 8, 10251}
|
||||
};
|
||||
|
||||
public final static int[][] Tree_Settings = {
|
||||
{ 1276, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 1278, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 1286, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 1281, 1356, 15, 38, 1521, 11, 20 },
|
||||
{ 1308, 7399, 30, 68, 1519, 11, 8 },
|
||||
{ 5552, 7399, 30, 68, 1519, 11, 8 },
|
||||
{ 1307, 1343, 45, 100, 1517, 48, 8 },
|
||||
{ 1309, 7402, 60, 175, 1515, 79, 5 },
|
||||
{ 1306, 7401, 75, 250, 1513, 150, 3 },
|
||||
{ 5551, 7399, 30, 68, 1519, 11, 8 },
|
||||
{ 5553, 7399, 30, 68, 1519, 11, 8 },
|
||||
{ 3033, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 3037, 1356, 15, 38, 1521, 11, 20 },
|
||||
{ 1282, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 1383, 1342, 1, 25, 1511, 45, 100 },
|
||||
{ 2023, 3371, 1, 25, 2862, 45, 100 },
|
||||
{ 1319, 1341, 1, 25, 1511, 45, 100 },
|
||||
{ 1318, 1341, 1, 25, 1511, 45, 100 },
|
||||
{ 1315, 1341, 1, 25, 1511, 45, 100 },
|
||||
{ 1316, 1341, 1, 25, 1511, 45, 100 },
|
||||
{ 1332, 1341, 1, 25, 1511, 45, 100 },
|
||||
{ 1292, 1341, 36, 1, 771, 45, 100 }
|
||||
};
|
||||
|
||||
private static enum treeData {
|
||||
TREE(new int[] {1276, 1278, 1286, 3033, 1282, 1383}, 1342, 1, 25, 1511, 11, 100),
|
||||
OAK(new int[] {1281, 3037}, 1356, 15, 38, 1521, 25, 20),
|
||||
WILLOW(new int[] {1308, 5552, 5551, 5553}, 7399, 30, 68, 1519, 30, 8),
|
||||
MAPLE(new int[] {1307}, 1343, 45, 100, 1517, 48, 8),
|
||||
YEW(new int[] {1309}, 7402, 60, 175, 1515, 79, 5),
|
||||
MAGIC(new int[] {1306}, 7401, 75, 250, 1513, 150, 3),
|
||||
EVERGREEN(new int[] {1319, 1318, 1315, 1316, 1332}, 1341, 1, 25, 1511, 11, 100),
|
||||
ACHEY(new int[] {2023}, 3371, 1, 25, 1511, 11, 100),
|
||||
DRAMEN(new int[] {1292}, 1341, 1, 25, 771, 45, 100);
|
||||
|
||||
private int[] treeId;
|
||||
private int stumpId, levelReq, xpRecieved, logRecieved, respawnTime, cutChance;
|
||||
|
||||
private treeData(int[] treeId, int stumpId, int levelReq, int xpRecieved, int logRecieved, int respawnTime, int cutChance) {
|
||||
this.treeId = treeId;
|
||||
this.stumpId = stumpId;
|
||||
this.levelReq = levelReq;
|
||||
this.xpRecieved = xpRecieved;
|
||||
this.logRecieved = logRecieved;
|
||||
this.respawnTime = respawnTime;
|
||||
this.cutChance = cutChance;
|
||||
}
|
||||
|
||||
private int getStump() {
|
||||
return stumpId;
|
||||
}
|
||||
|
||||
private int getLevelReq() {
|
||||
return levelReq;
|
||||
}
|
||||
|
||||
private int getXpReceived() {
|
||||
return xpRecieved;
|
||||
}
|
||||
|
||||
private int getLogRecieved() {
|
||||
return logRecieved;
|
||||
}
|
||||
|
||||
private int getRespawnTime() {
|
||||
return respawnTime;
|
||||
}
|
||||
|
||||
private int getChance() {
|
||||
return cutChance;
|
||||
}
|
||||
|
||||
private int getObject(int object) {
|
||||
for (int element : treeId) {
|
||||
if (object == element) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private static treeData getTree(int objectId) {
|
||||
for (treeData tree : treeData.values()) {
|
||||
if (objectId == tree.getObject(objectId)) {
|
||||
return tree;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static int[][] FIX_AXE = { { 492, 508, 1351 }, { 492, 510, 1349 },
|
||||
{ 492, 512, 1353 }, { 492, 514, 1361 }, { 492, 516, 1355 },
|
||||
@@ -63,22 +106,16 @@ public class Woodcutting {
|
||||
CycleEventHandler.getSingleton().addEvent(p, new CycleEvent() {
|
||||
@Override
|
||||
public void execute(CycleEventContainer container) {
|
||||
if (p.isWoodcutting)
|
||||
{
|
||||
if ((a >= 0) && (a < Axe_Settings.length))
|
||||
{
|
||||
try
|
||||
{
|
||||
if (p.isWoodcutting) {
|
||||
if ((a >= 0) && (a < Axe_Settings.length)) {
|
||||
try {
|
||||
p.startAnimation(Axe_Settings[a][3]);
|
||||
} catch (ArrayIndexOutOfBoundsException exception)
|
||||
{
|
||||
} catch (ArrayIndexOutOfBoundsException exception) {
|
||||
System.out.println("LOL this happend again: " + exception);
|
||||
}
|
||||
p.getPacketSender().sendSound(SoundList.TREE_CUTTING, 100, 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
container.stop();
|
||||
}
|
||||
}
|
||||
@@ -99,17 +136,13 @@ public class Woodcutting {
|
||||
|
||||
for (int axes[] : Axe_Settings) {
|
||||
int type = axes[0];
|
||||
if ( player.getItemAssistant().playerHasItem(type) || player.playerEquipment[player.playerWeapon] == type)
|
||||
{
|
||||
if ( player.getItemAssistant().playerHasItem(type) || player.playerEquipment[player.playerWeapon] == type) {
|
||||
gotAxe = true;
|
||||
}
|
||||
}
|
||||
if (gotAxe)
|
||||
{
|
||||
if (gotAxe) {
|
||||
player.getPacketSender().sendMessage("You swing your axe at the station.");
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
player.getPacketSender().sendMessage("You need an axe to cut the station.");
|
||||
return;
|
||||
}
|
||||
@@ -196,7 +229,7 @@ public class Woodcutting {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void startWoodcutting(final Player p, final int j, final int x, final int y, final int type) {
|
||||
public static void startWoodcutting(final Player p, final int objectId, final int x, final int y, final int type) {
|
||||
CycleEventHandler.getSingleton().stopEvents(p, "WoodcuttingEvent".hashCode());
|
||||
if (p.isWoodcutting || p.isFletching || p.isFiremaking || p.playerIsFletching) {
|
||||
return;
|
||||
@@ -211,9 +244,10 @@ public class Woodcutting {
|
||||
}
|
||||
int wcLevel = p.playerLevel[8];
|
||||
a = -1;
|
||||
treeData tree = treeData.getTree(objectId);
|
||||
p.turnPlayerTo(x, y);
|
||||
if (Tree_Settings[j][2] > wcLevel) {
|
||||
p.getPacketSender().sendMessage("You need a Woodcutting level of " + Tree_Settings[j][2] + " to cut this tree.");
|
||||
if (tree.getLevelReq() > wcLevel) {
|
||||
p.getPacketSender().sendMessage("You need a Woodcutting level of " + tree.getLevelReq() + " to cut this tree.");
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < Axe_Settings.length; i++) {
|
||||
@@ -278,11 +312,11 @@ public class Woodcutting {
|
||||
p.getPacketSender().sendMessage("You have ran out of inventory slots.");
|
||||
container.stop();
|
||||
}
|
||||
int XP = Tree_Settings[j][3];
|
||||
int XP = tree.getXpReceived();
|
||||
if (p.isWoodcutting) {
|
||||
p.getItemAssistant().addItem(Tree_Settings[j][4], 1);
|
||||
p.getItemAssistant().addItem(tree.getLogRecieved(), 1);
|
||||
p.getPlayerAssistant().addSkillXP(XP, 8);
|
||||
p.getPacketSender().sendMessage("You manage to get some " + ItemAssistant.getItemName(Tree_Settings[j][4]).toLowerCase() + " from the tree.");
|
||||
p.getPacketSender().sendMessage("You manage to get some " + ItemAssistant.getItemName(tree.getLogRecieved()).toLowerCase() + " from the tree.");
|
||||
}
|
||||
if (p.tutorialProgress == 3) {
|
||||
p.getDialogueHandler().sendDialogues(3014, 0);
|
||||
@@ -299,8 +333,8 @@ public class Woodcutting {
|
||||
if (p.playerIsFletching || p.isFiremaking) {
|
||||
container.stop();
|
||||
}
|
||||
if (Misc.random(100) <= Tree_Settings[j][6]) {
|
||||
cutDownTree(Tree_Settings[j][5], x, y, type, Tree_Settings[j][1], Tree_Settings[j][0]);
|
||||
if (Misc.random(100) <= tree.getChance()) {
|
||||
cutDownTree(tree.getRespawnTime(), x, y, type, tree.getStump(), objectId);
|
||||
p.getPacketSender().sendSound(SoundList.TREE_EMPTY, 100, 0);
|
||||
container.stop();
|
||||
}
|
||||
@@ -312,7 +346,7 @@ public class Woodcutting {
|
||||
p.treeX = 0;
|
||||
p.treeY = 0;
|
||||
}
|
||||
}, getTimer(j, a, wcLevel));
|
||||
}, getTimer(tree, a, wcLevel));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -323,8 +357,8 @@ public class Woodcutting {
|
||||
player.treeY = 0;
|
||||
}
|
||||
|
||||
public static int getTimer(int b, int c, int level) {
|
||||
double timer = (int)((Tree_Settings[b][2] * 2) + 20 + Misc.random(20))-((Axe_Settings[c][2] * (Axe_Settings[c][2] * 0.75)) + level);
|
||||
public static int getTimer(treeData tree, int axe, int level) {
|
||||
double timer = (int)((tree.getLevelReq() * 2) + 20 + Misc.random(20))-((Axe_Settings[axe][2] * (Axe_Settings[axe][2] * 0.75)) + level);
|
||||
if (timer < 3.0) {
|
||||
return 3;
|
||||
} else {
|
||||
@@ -384,17 +418,19 @@ public class Woodcutting {
|
||||
{ // MAPLE
|
||||
1307, 4674, 8435, 8436, 8437, 8438, 8439, 8440, 8441, 8442, 8443,
|
||||
8444, 8454, 8455, 8456, 8457, 8458, 8459, 8460, 8461,
|
||||
13415, 13423, }, { // YEW
|
||||
13415, 13423, },
|
||||
{ // YEW
|
||||
1309, 8503, 8504, 8505, 8506, 8507, 8508, 8509, 8510, 8511, 8512,
|
||||
8513, 13416, 13422, }, { // MAGIC
|
||||
8513, 13416, 13422, },
|
||||
{ // MAGIC
|
||||
1306, 8396, 8397, 8398, 8399, 8400, 8401, 8402, 8403, 8404, 8405,
|
||||
8406, 8407, 8408, 8409, 13417, 13424, } };
|
||||
|
||||
public static void cutDownTree(int respawnTime, int x, int y, int type, int i, int j) {
|
||||
new Object(i, x, y, 0, type, 10, j, respawnTime);
|
||||
public static void cutDownTree(int respawnTime, int objectX, int objectY, int type, int i, int objectId) {
|
||||
new Object(i, objectX, objectY, 0, type, 10, objectId, respawnTime);
|
||||
for (int t = 0; t < PlayerHandler.players.length; t++) {
|
||||
if (PlayerHandler.players[t] != null) {
|
||||
if (PlayerHandler.players[t].treeX == x && PlayerHandler.players[t].treeY == y) {
|
||||
if (PlayerHandler.players[t].treeX == objectX && PlayerHandler.players[t].treeY == objectY) {
|
||||
PlayerHandler.players[t].isWoodcutting = false;
|
||||
PlayerHandler.players[t].startAnimation(65535);
|
||||
PlayerHandler.players[t].treeX = 0;
|
||||
|
||||
Reference in New Issue
Block a user