Browse Source

quick targeting check cleanup

lakebane-ai
FatBoy-DOTC 2 weeks ago
parent
commit
5a198669b9
  1. 3
      src/engine/net/client/ClientMessagePump.java
  2. 57
      src/engine/util/KeyCloneAudit.java

3
src/engine/net/client/ClientMessagePump.java

@ -1863,8 +1863,6 @@ public class ClientMessagePump implements NetMsgHandler {
return false; return false;
} }
KeyCloneAudit.auditNetMsg(msg);
ClientConnection origin; ClientConnection origin;
Protocol protocolMsg = Protocol.NONE; Protocol protocolMsg = Protocol.NONE;
Session s; Session s;
@ -1888,6 +1886,7 @@ public class ClientMessagePump implements NetMsgHandler {
switch (protocolMsg) { switch (protocolMsg) {
case SETSELECTEDOBECT: case SETSELECTEDOBECT:
KeyCloneAudit.auditTargetMsg(msg);
ClientMessagePump.targetObject((TargetObjectMsg) msg, origin); ClientMessagePump.targetObject((TargetObjectMsg) msg, origin);
break; break;

57
src/engine/util/KeyCloneAudit.java

@ -1,7 +1,5 @@
package engine.util; package engine.util;
import engine.InterestManagement.WorldGrid;
import engine.gameManager.ChatManager;
import engine.gameManager.ConfigManager; import engine.gameManager.ConfigManager;
import engine.gameManager.DbManager; import engine.gameManager.DbManager;
import engine.gameManager.SessionManager; import engine.gameManager.SessionManager;
@ -14,8 +12,6 @@ import engine.objects.PlayerCharacter;
import engine.server.MBServerStatics; import engine.server.MBServerStatics;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.awt.image.ImageObserver;
public enum KeyCloneAudit { public enum KeyCloneAudit {
KEYCLONEAUDIT; KEYCLONEAUDIT;
@ -38,42 +34,33 @@ public enum KeyCloneAudit {
} }
public static void auditNetMsg(ClientNetMsg msg) { public static void auditTargetMsg(ClientNetMsg msg) {
boolean valid = true;
try { try {
if (msg.getProtocolMsg().equals(Protocol.KEEPALIVESERVERCLIENT)) TargetObjectMsg tarMsg = (TargetObjectMsg) msg;
return;
ClientConnection origin = (ClientConnection) msg.getOrigin(); ClientConnection origin = (ClientConnection) msg.getOrigin();
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
PlayerCharacter pc = SessionManager.getSession(origin).getPlayerCharacter();
if (msg.getProtocolMsg().equals(Protocol.SETSELECTEDOBECT)) {
TargetObjectMsg tarMsg = (TargetObjectMsg)msg; if (tarMsg.getTargetType() != MBServerStatics.MASK_PLAYER)
if(tarMsg.getTargetType() != MBServerStatics.MASK_PLAYER) return;
return;
if (System.currentTimeMillis() > origin.finalStrikeRefresh) { if (System.currentTimeMillis() > origin.finalStrikeRefresh) {
origin.lastStrike = System.currentTimeMillis(); origin.lastStrike = System.currentTimeMillis();
origin.strikes = 0; origin.strikes = 0;
origin.finalStrikes = 0; origin.finalStrikes = 0;
origin.finalStrikeRefresh = System.currentTimeMillis(); origin.finalStrikeRefresh = System.currentTimeMillis();
} }
// Calculate time since last target switch // Calculate time since last target switch
long timeSinceLastTarget = now - origin.lastTargetSwitchTime; long timeSinceLastTarget = now - origin.lastTargetSwitchTime;
origin.lastTargetSwitchTime = now; origin.lastTargetSwitchTime = now;
if (timeSinceLastTarget < 150) { if (timeSinceLastTarget < 150) {
origin.strikes++; origin.strikes++;
origin.finalStrikeRefresh = System.currentTimeMillis() + 1000L; origin.finalStrikeRefresh = System.currentTimeMillis() + 1000L;
} }
if (origin.strikes > 20) { if (origin.strikes > 20) {
origin.finalStrikes++; origin.finalStrikes++;
//ChatManager.chatSystemInfo(pc, "Strike Received: " + origin.finalStrikes); }
} if (origin.finalStrikes > 3) {origin.forceDisconnect();
if (origin.finalStrikes > 3) { DbManager.AccountQueries.SET_TRASH(origin.machineID);
origin.forceDisconnect();
DbManager.AccountQueries.SET_TRASH(origin.machineID);
}
} }
} catch (Exception e) { } catch (Exception e) {

Loading…
Cancel
Save