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