Walk and death working

This commit is contained in:
Woosle Park 2019-03-27 17:39:11 -04:00
parent e082d9c96e
commit 47b37fbee3
8 changed files with 2495 additions and 18 deletions

View File

@ -19,7 +19,7 @@ public class CubotPlugin extends ServerPlugin {
listeners.add(new PutItemCommandListener()); listeners.add(new PutItemCommandListener());
listeners.add(new PopItemCommandListener()); listeners.add(new PopItemCommandListener());
listeners.add(new DeathCountListener()); listeners.add(new DeathCountListener());
listeners.add(new TotalExecutionTimeListener()); listeners.add(new ExecutionTimeListener());
listeners.add(new WalkDistanceListener()); listeners.add(new WalkDistanceListener());
GameRegistry registry = gameServer.getRegistry(); GameRegistry registry = gameServer.getRegistry();

View File

@ -8,7 +8,7 @@ import net.simon987.server.logging.LogManager;
public class DeathCountListener implements GameEventListener { public class DeathCountListener implements GameEventListener {
private int count; private int count = 0;
@Override @Override
public Class getListenedEventType() { public Class getListenedEventType() {

View File

@ -3,9 +3,9 @@ package net.simon987.cubotplugin.event;
import net.simon987.server.event.GameEvent; import net.simon987.server.event.GameEvent;
import net.simon987.server.game.objects.GameObject; import net.simon987.server.game.objects.GameObject;
public class TotalExecutionTimeEvent extends GameEvent { public class ExecutionTimeEvent extends GameEvent {
public TotalExecutionTimeEvent(GameObject object) { public ExecutionTimeEvent(GameObject object) {
setSource(object); setSource(object);
} }

View File

@ -6,26 +6,26 @@ import net.simon987.server.game.objects.ControllableUnit;
import net.simon987.server.game.objects.GameObject; import net.simon987.server.game.objects.GameObject;
import net.simon987.server.logging.LogManager; import net.simon987.server.logging.LogManager;
public class TotalExecutionTimeListener implements GameEventListener { public class ExecutionTimeListener implements GameEventListener {
private int count; private int count = 0;
@Override @Override
public Class getListenedEventType() { public Class getListenedEventType() {
return TotalExecutionTimeEvent.class; return ExecutionTimeEvent.class;
} }
@Override @Override
public void handle(GameEvent event) { public void handle(GameEvent event) {
TotalExecutionTimeEvent TotalExecutionTimeEvent = (TotalExecutionTimeEvent) event; ExecutionTimeEvent executionTimeEvent = (ExecutionTimeEvent) event;
GameObject object = TotalExecutionTimeEvent.getSource(); GameObject object = executionTimeEvent.getSource();
if (object instanceof ControllableUnit) { if (object instanceof ControllableUnit) {
count = ((ControllableUnit) object).getParent().getStats().getInt("totalExecutionTime"); count = ((ControllableUnit) object).getParent().getStats().getInt("executionTime");
count++; count++;
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " execution time " + LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " execution time " +
Integer.toString(count)); Integer.toString(count));
((ControllableUnit) object).getParent().getStats().setInt("totalExecutionTime", ((ControllableUnit) object).getParent().getStats().setInt("executionTime",
count); count);
} }
} }

View File

@ -9,7 +9,8 @@ import net.simon987.server.user.UserStats;
public class WalkDistanceListener implements GameEventListener { public class WalkDistanceListener implements GameEventListener {
private int count; private int count = 0;
private int deaths = 0;
@Override @Override
public Class getListenedEventType() { public Class getListenedEventType() {
@ -21,11 +22,16 @@ public class WalkDistanceListener implements GameEventListener {
WalkDistanceEvent WalkDistanceEvent = (WalkDistanceEvent) event; WalkDistanceEvent WalkDistanceEvent = (WalkDistanceEvent) event;
GameObject object = WalkDistanceEvent.getSource(); GameObject object = WalkDistanceEvent.getSource();
if (object instanceof ControllableUnit) { if (object instanceof ControllableUnit) {
count = ((ControllableUnit) object).getParent().getStats().getInt("walkDistance"); //When cubot dies walk counter resets
if(deaths<((ControllableUnit) object).getParent().getStats().getInt("deathCount")){
count = 0;
deaths = ((ControllableUnit) object).getParent().getStats().getInt("deathCount");
}
count++; count++;
LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " walk distance " + LogManager.LOGGER.info(((ControllableUnit) object).getParent().getUsername() + " walk distance " +
count); count);
//Walk distance is only saved if higher than current hightest distance for user
if(count>((ControllableUnit) object).getParent().getStats().getInt("walkDistance"))
((ControllableUnit) object).getParent().getStats().setInt("walkDistance", ((ControllableUnit) object).getParent().getStats().setInt("walkDistance",
count); count);
} }

View File

@ -38,7 +38,8 @@ public class UserStatsHelper {
for (Document dbUser : users.find().sort(orderBy).limit(n)) { for (Document dbUser : users.find().sort(orderBy).limit(n)) {
User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username")); User user = GameServer.INSTANCE.getGameUniverse().getUser((String) dbUser.get("username"));
rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getInt(statName))); //rows.add(new AbstractMap.SimpleEntry<>(user, user.getStats().getInt(statName)));
rows.add(new AbstractMap.SimpleEntry<>(user, 999));
} }
return rows; return rows;

2470
no Normal file

File diff suppressed because it is too large Load Diff