From f4267c3c92a8080ccd911473732c3b84e82001c3 Mon Sep 17 00:00:00 2001
From: FatBoy-DOTC <justin.chucksinsulating@gmail.com>
Date: Thu, 30 Jan 2025 19:49:37 -0600
Subject: [PATCH] calculate combat stats spam fix

---
 src/engine/objects/PlayerCharacter.java   | 16 ++++++++-------
 src/engine/objects/PlayerCombatStats.java | 24 +++++++++++------------
 2 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/engine/objects/PlayerCharacter.java b/src/engine/objects/PlayerCharacter.java
index 54d23686..2d507de8 100644
--- a/src/engine/objects/PlayerCharacter.java
+++ b/src/engine/objects/PlayerCharacter.java
@@ -5060,14 +5060,16 @@ public class PlayerCharacter extends AbstractCharacter {
                     return;
                 }
                 this.updateLocation();
-                this.updateMovementState();
-                this.doRegen();
-                if (this.combatStats == null) {
-                    this.combatStats = new PlayerCombatStats(this);
-                }else{
-                    this.combatStats.update();
-                }
+                if(this.isAlive() && this.isActive && this.enteredWorld) {
+                    this.updateMovementState();
+                    this.doRegen();
 
+                    if (this.combatStats == null) {
+                        this.combatStats = new PlayerCombatStats(this);
+                    } else {
+                        this.combatStats.update();
+                    }
+                }
 
                 if (this.getStamina() < 10) {
                     if (this.getAltitude() > 0 || this.getDesiredAltitude() > 0) {
diff --git a/src/engine/objects/PlayerCombatStats.java b/src/engine/objects/PlayerCombatStats.java
index 3f2c5f13..2d6e4cb4 100644
--- a/src/engine/objects/PlayerCombatStats.java
+++ b/src/engine/objects/PlayerCombatStats.java
@@ -41,62 +41,62 @@ public class PlayerCombatStats {
         try {
             this.calculateATR(true);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateATR(false);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE ATR FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateMin(true);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateMin(false);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Min FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateMax(true);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateMax(false);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Max FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateAttackSpeed(true);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateAttackSpeed(false);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Attack Speed FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateAttackRange(true);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateAttackRange(false);
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Attack Range FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateRegen();
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Regen FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Regen FOR: " + this.owner.getObjectUUID());
         }
         try {
             this.calculateDefense();
         } catch (Exception e) {
-            Logger.error("FAILED TO CALCULATE Defense FOR: " + this.owner.getObjectUUID());
+            //Logger.error("FAILED TO CALCULATE Defense FOR: " + this.owner.getObjectUUID());
         }
     }