mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Update player run calculations (#108)
* Update player run calculations * add regen calculations
This commit is contained in:
@@ -297,7 +297,7 @@ public class Potions {
|
||||
if (c.playerEnergy > 100) {
|
||||
c.playerEnergy = 100;
|
||||
}
|
||||
c.getPlayerAssistant().sendFrame126(c.playerEnergy + "%", 149);
|
||||
c.getPlayerAssistant().sendFrame126((int) Math.ceil(c.playerEnergy) + "%", 149);
|
||||
}
|
||||
|
||||
public void drinkAntiPoison(int itemId, int replaceItem, int slot,
|
||||
|
||||
@@ -695,8 +695,4 @@ public class Agility {
|
||||
changeObjectTimer = 10;
|
||||
}
|
||||
}
|
||||
|
||||
public static double getAgilityRunRestore(Client c) {
|
||||
return 2260 - c.playerLevel[Constants.AGILITY] * 10;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ public class Weight extends ItemDefinitions {
|
||||
public static void updateWeight(Client c) {
|
||||
if (c != null) {
|
||||
c.getActionSender().writeWeight((int) c.weight);
|
||||
// Inventory items
|
||||
for (int playerItem : c.playerItems) {
|
||||
if (playerItem > -1) {// inventory
|
||||
for (ItemList i1 : Server.itemHandler.ItemList) {
|
||||
@@ -62,7 +63,8 @@ public class Weight extends ItemDefinitions {
|
||||
}
|
||||
}
|
||||
}
|
||||
} // equipment
|
||||
}
|
||||
// Equiped items
|
||||
for (int element : c.playerEquipment) {
|
||||
if (element > -1) {// equipment
|
||||
for (ItemList i1 : Server.itemHandler.ItemList) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -112,12 +112,14 @@ public abstract class Player {
|
||||
teleGrabItem, teleGrabX, teleGrabY, duelCount, underAttackBy,
|
||||
underAttackBy2, wildLevel, teleTimer, respawnTimer, saveTimer = 0,
|
||||
teleBlockLength, poisonDelay, slayerPoints, blackMarks,
|
||||
playerEnergy = 100, SlayerMaster, teleOtherTimer = 0,
|
||||
SlayerMaster, teleOtherTimer = 0,
|
||||
teleOtherSlot = -1, tutorialProgress, Cookstage1 = 1,
|
||||
woodcuttingTree, smeltAmount, knightS, otherDirection,
|
||||
brightness = 3, recoilHits, droppedItem = -1,
|
||||
spawnedHealers, cannonX = 0, cannonY = 0;
|
||||
|
||||
public double playerEnergy = 100;
|
||||
|
||||
public Pets getSummon() {
|
||||
return pets;
|
||||
}
|
||||
@@ -1161,15 +1163,14 @@ public abstract class Player {
|
||||
str.writeBits(1, 0);
|
||||
}
|
||||
if (playerEnergy > 0 && playerRights < 2) {
|
||||
if (weight > 0.0) {
|
||||
playerEnergy -= 1 + Misc.random(1);
|
||||
} else {
|
||||
playerEnergy -= 1;
|
||||
}
|
||||
// calculations from https://oldschool.runescape.wiki/w/Energy
|
||||
playerEnergy -= 0.64;
|
||||
if (weight > 0.0)
|
||||
playerEnergy -= Math.min(weight, 64) / 100;
|
||||
} else if (playerRights >= 2) {
|
||||
playerEnergy = 100;
|
||||
isRunning2 = true;
|
||||
} else if (playerEnergy < 1) {
|
||||
} else if (playerEnergy <= 0) {
|
||||
playerEnergy = 0;
|
||||
isRunning2 = false;
|
||||
}
|
||||
|
||||
@@ -431,38 +431,16 @@ public class PlayerAssistant {
|
||||
|
||||
public void writeEnergy() {
|
||||
if (player.playerEnergy > 0) {
|
||||
sendFrame126(player.playerEnergy + "%", 149);
|
||||
sendFrame126((int) Math.ceil(player.playerEnergy) + "%", 149);
|
||||
} else {
|
||||
sendFrame126("0%", 149);
|
||||
}
|
||||
}
|
||||
|
||||
public int raiseTimer() {
|
||||
if (player.playerLevel[16] >= 2 && player.playerLevel[16] < 10) {
|
||||
return 6500;
|
||||
}
|
||||
if (player.playerLevel[16] >= 10 && player.playerLevel[16] < 25) {
|
||||
return 6000;
|
||||
}
|
||||
if (player.playerLevel[16] >= 25 && player.playerLevel[16] < 40) {
|
||||
return 5500;
|
||||
}
|
||||
if (player.playerLevel[16] >= 40 && player.playerLevel[16] < 55) {
|
||||
return 5000;
|
||||
}
|
||||
if (player.playerLevel[16] >= 55 && player.playerLevel[16] < 70) {
|
||||
return 4500;
|
||||
}
|
||||
if (player.playerLevel[16] >= 70 && player.playerLevel[16] < 85) {
|
||||
return 4000;
|
||||
}
|
||||
if (player.playerLevel[16] >= 85 && player.playerLevel[16] < 99) {
|
||||
return 3500;
|
||||
}
|
||||
if (player.playerLevel[16] == 99) {
|
||||
return 3000;
|
||||
}
|
||||
return 7000;
|
||||
// calculations from https://oldschool.runescape.wiki/w/Energy
|
||||
double seconds = 60 / (8 + Math.floor(player.playerLevel[player.playerAgility] / 6));
|
||||
return (int) Math.floor(seconds * 1000);
|
||||
}
|
||||
|
||||
public void handleTiara() {
|
||||
@@ -2056,7 +2034,7 @@ public class PlayerAssistant {
|
||||
frame1();
|
||||
resetTb();
|
||||
player.playerEnergy = 100;
|
||||
player.getPlayerAssistant().sendFrame126(player.playerEnergy + "%", 149);
|
||||
player.getPlayerAssistant().sendFrame126((int) Math.ceil(player.playerEnergy) + "%", 149);
|
||||
player.isSkulled = false;
|
||||
player.attackedPlayers.clear();
|
||||
player.headIconPk = -1;
|
||||
|
||||
@@ -696,8 +696,8 @@ public class PlayerSave {
|
||||
.toString(player.strongHold).length());
|
||||
characterfile.newLine();
|
||||
characterfile.write("character-energy = ", 0, 19);
|
||||
characterfile.write(Integer.toString(player.playerEnergy), 0,
|
||||
Integer.toString(player.playerEnergy).length());
|
||||
characterfile.write(Integer.toString((int) Math.ceil(player.playerEnergy)), 0,
|
||||
Integer.toString((int) Math.ceil(player.playerEnergy)).length());
|
||||
characterfile.newLine();
|
||||
characterfile.write("crystal-bow-shots = ", 0, 20);
|
||||
characterfile.write(Integer.toString(player.crystalBowArrowCount),
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user