mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-06 08:39:06 +00:00
Highscores fix
This commit is contained in:
@@ -133,6 +133,11 @@ public class CombatAssistant {
|
||||
if (NpcHandler.npcs[i].HP - damage <= 0 && damage2 > 0) {
|
||||
damage2 = 0;
|
||||
}
|
||||
c.globalDamageDealt += damage;
|
||||
if (damage2 > 0)
|
||||
{
|
||||
c.globalDamageDealt += damage2;
|
||||
}
|
||||
if (c.fightMode == 3) {//range shared
|
||||
c.getPlayerAssistant().addSkillXP(damage * Constants.RANGE_EXP_RATE / 3, 4);
|
||||
c.getPlayerAssistant().addSkillXP(damage / 3, 1);
|
||||
@@ -219,6 +224,7 @@ public class CombatAssistant {
|
||||
}
|
||||
//magic
|
||||
c.getPlayerAssistant().addSkillXP(MagicData.MAGIC_SPELLS[c.oldSpellId][7] + damage * Constants.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 * Constants.MAGIC_EXP_RATE / 3, 3);
|
||||
}
|
||||
@@ -315,13 +321,14 @@ public class CombatAssistant {
|
||||
damage = 0;
|
||||
}
|
||||
}
|
||||
if (NpcHandler.npcs[i].HP - damage > 0) {
|
||||
if (NpcHandler.npcs[i].npcType == FightCaves.TZTOK_JAD && NpcHandler.npcs[i].spawnedBy == c.getId() && ((NpcHandler.npcs[i].HP > (FightCaves.getHp(FightCaves.TZTOK_JAD)/2)) &&
|
||||
(NpcHandler.npcs[i].HP-damage < (FightCaves.getHp(FightCaves.TZTOK_JAD)/2)))) {
|
||||
if (c.canHealersRespawn)
|
||||
FightCaves.spawnHealers(c, i, 4-c.spawnedHealers);
|
||||
}
|
||||
}
|
||||
c.globalDamageDealt += damage;
|
||||
if (NpcHandler.npcs[i].HP - damage > 0) {
|
||||
if (NpcHandler.npcs[i].npcType == FightCaves.TZTOK_JAD && NpcHandler.npcs[i].spawnedBy == c.getId() && ((NpcHandler.npcs[i].HP > (FightCaves.getHp(FightCaves.TZTOK_JAD)/2)) &&
|
||||
(NpcHandler.npcs[i].HP-damage < (FightCaves.getHp(FightCaves.TZTOK_JAD)/2)))) {
|
||||
if (c.canHealersRespawn)
|
||||
FightCaves.spawnHealers(c, i, 4-c.spawnedHealers);
|
||||
}
|
||||
}
|
||||
boolean guthansEffect = false;
|
||||
if (c.getPlayerAssistant().fullGuthans()) {
|
||||
if (Misc.random(3) == 1) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package redone.game.players;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
import static redone.game.players.PlayerSave.loadPlayerInfo;
|
||||
@@ -31,8 +30,8 @@ public class HighscoresHandler {
|
||||
players.sort(new totalGoldComparator());
|
||||
return players.get(i).playerName + ": " + players.get(i).getPlayerAssistant().totalGold() + "gp";
|
||||
default:
|
||||
players.sort(new totalDmgComparator());
|
||||
return players.get(i).playerName + ": " + players.get(i).totalDamageDealt;
|
||||
players.sort(new globalDmgComparator());
|
||||
return players.get(i).playerName + ": " + players.get(i).globalDamageDealt;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,10 +49,10 @@ public class HighscoresHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private class totalDmgComparator implements Comparator<Client> {
|
||||
private class globalDmgComparator implements Comparator<Client> {
|
||||
@Override
|
||||
public int compare(Client client, Client t1) {
|
||||
return - client.totalDamageDealt + t1.totalDamageDealt;
|
||||
return - client.globalDamageDealt + t1.globalDamageDealt;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ public abstract class Player {
|
||||
dialogueAction = 0, autocastId, followDistance, followId2,
|
||||
barrageCount = 0, delayedDamage = 0, delayedDamage2 = 0,
|
||||
pcPoints = 0, magePoints = 0, desertTreasure = 0,
|
||||
lastArrowUsed = -1, autoRet = 1, pcDamage = 0, xInterfaceId = 0,
|
||||
lastArrowUsed = -1, autoRet = 0, pcDamage = 0, xInterfaceId = 0,
|
||||
xRemoveId = 0, xRemoveSlot = 0, tzhaarToKill = 0, tzhaarKilled = 0,
|
||||
waveId, frozenBy = 0, poisonDamage = 0, teleAction = 0,
|
||||
bonusAttack = 0, lastNpcAttacked = 0, killCount = 0, witchspot,
|
||||
@@ -397,7 +397,7 @@ public abstract class Player {
|
||||
playerIndex, oldPlayerIndex, lastWeaponUsed, projectileStage,
|
||||
crystalBowArrowCount, playerMagicBook, teleGfx, teleEndAnimation,
|
||||
teleHeight, teleX, teleY, rangeItemUsed, killingNpcIndex,
|
||||
totalDamageDealt, oldNpcIndex, fightMode, attackTimer;
|
||||
totalDamageDealt, globalDamageDealt, oldNpcIndex, fightMode, attackTimer;
|
||||
public boolean magicFailed, oldMagicFailed;
|
||||
public int bowSpecShot, clickNpcType, clickObjectType, objectId, objectX,
|
||||
objectY, objectXOffset, objectYOffset, objectDistance;
|
||||
|
||||
@@ -39,6 +39,11 @@ public class PlayerSave {
|
||||
if (File1) {
|
||||
// new File ("./characters/"+playerName+".txt");
|
||||
} else {
|
||||
if (playerName.equals(""))
|
||||
{
|
||||
//it's the .gitignore :P
|
||||
return 0;
|
||||
}
|
||||
Misc.println(playerName + ": character file not found.");
|
||||
player.newPlayer = false;
|
||||
return 0;
|
||||
@@ -135,6 +140,9 @@ public class PlayerSave {
|
||||
case "debugMode":
|
||||
player.debugMode = Boolean.parseBoolean(token2);
|
||||
break;
|
||||
case "global-damage":
|
||||
player.globalDamageDealt = Integer.parseInt(token2);
|
||||
break;
|
||||
case "skull-timer":
|
||||
player.skullTimer = Integer.parseInt(token2);
|
||||
break;
|
||||
@@ -622,6 +630,10 @@ public class PlayerSave {
|
||||
characterfile.write(Boolean.toString(player.isBotting), 0,
|
||||
Boolean.toString(player.isBotting).length());
|
||||
characterfile.newLine();
|
||||
characterfile.write("global-damage = ", 0, 16);
|
||||
characterfile.write(Integer.toString(player.globalDamageDealt), 0, Integer
|
||||
.toString(player.globalDamageDealt).length());
|
||||
characterfile.newLine();
|
||||
characterfile.write("brightness = ", 0, 13);
|
||||
characterfile.write(Integer.toString(player.brightness), 0, Integer
|
||||
.toString(player.brightness).length());
|
||||
|
||||
@@ -2,11 +2,10 @@ package redone.net.packets.impl;
|
||||
|
||||
import redone.Connection;
|
||||
import redone.Constants;
|
||||
import redone.Server;
|
||||
import redone.game.items.ItemAssistant;
|
||||
import redone.game.npcs.NpcHandler;
|
||||
import redone.game.players.Client;
|
||||
import redone.game.players.HighscoresHandler;
|
||||
import redone.game.players.PlayerHandler;
|
||||
import redone.game.players.*;
|
||||
import redone.net.packets.PacketType;
|
||||
import redone.util.GameLogger;
|
||||
import redone.util.Misc;
|
||||
@@ -53,6 +52,15 @@ public class Commands implements PacketType {
|
||||
return;
|
||||
}
|
||||
|
||||
if (playerCommand.startsWith("gfx100"))
|
||||
{
|
||||
player.gfx100(Integer.parseInt(playerCommand.split(" ")[1]));
|
||||
}
|
||||
if (playerCommand.startsWith("gfx0"))
|
||||
{
|
||||
player.gfx0(Integer.parseInt(playerCommand.split(" ")[1]));
|
||||
}
|
||||
|
||||
String message = null;
|
||||
switch (playerCommand)
|
||||
{
|
||||
@@ -83,30 +91,39 @@ public class Commands implements PacketType {
|
||||
player.getActionSender().sendMessage(message);
|
||||
break;
|
||||
case "highscores":
|
||||
HighscoresHandler hs = new HighscoresHandler();
|
||||
String[] highscores = new String[]{
|
||||
"@dre@Highscores",
|
||||
"",
|
||||
"Top 5 Total Level:",
|
||||
hs.getRank(0, "level"), hs.getRank(1, "level"), hs.getRank(2, "level"), hs.getRank(3, "level"), hs.getRank(4, "level"),
|
||||
"",
|
||||
"Top 5 Wealthiest Players:",
|
||||
hs.getRank(0, "gold"), hs.getRank(1, "gold"), hs.getRank(2, "gold"), hs.getRank(3, "gold"), hs.getRank(4, "gold"),
|
||||
"",
|
||||
"Top 5 Highest Total Damage:",
|
||||
hs.getRank(0, "damage"), hs.getRank(1, "damage"), hs.getRank(2, "damage"), hs.getRank(3, "damage"), hs.getRank(4, "damage"),
|
||||
};
|
||||
for (Player p : PlayerHandler.players) {
|
||||
if (p == null) {
|
||||
continue;
|
||||
}
|
||||
PlayerSave.saveGame((Client) p);
|
||||
System.out.println("Saved game for " + p.playerName
|
||||
+ ".");
|
||||
Server.lastMassSave = System.currentTimeMillis();
|
||||
}
|
||||
HighscoresHandler hs = new HighscoresHandler();
|
||||
String[] highscores = new String[]{
|
||||
"@dre@Highscores",
|
||||
"",
|
||||
"Top 5 Total Level:",
|
||||
hs.getRank(0, "level"), hs.getRank(1, "level"), hs.getRank(2, "level"), hs.getRank(3, "level"), hs.getRank(4, "level"),
|
||||
"",
|
||||
"Top 5 Wealthiest Players:",
|
||||
hs.getRank(0, "gold"), hs.getRank(1, "gold"), hs.getRank(2, "gold"), hs.getRank(3, "gold"), hs.getRank(4, "gold"),
|
||||
"",
|
||||
"Top 5 Highest Total Damage:",
|
||||
hs.getRank(0, "damage"), hs.getRank(1, "damage"), hs.getRank(2, "damage"), hs.getRank(3, "damage"), hs.getRank(4, "damage"),
|
||||
};
|
||||
|
||||
for (int i = 8144; i < 8195; i++) {
|
||||
for (int i = 8144; i < 8245; i++) {
|
||||
player.getPlayerAssistant().sendFrame126("", i);
|
||||
}
|
||||
|
||||
for (int i = 8144; i < 8144 + highscores.length; i++) {
|
||||
player.getPlayerAssistant().sendFrame126(highscores[i - 8144], i+3);
|
||||
}
|
||||
player.getPlayerAssistant().showInterface(8134);
|
||||
player.getPlayerAssistant().sendFrame126(highscores[i - 8144], i+3);
|
||||
}
|
||||
player.getPlayerAssistant().showInterface(8134);
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user