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