From aab28cd68ce274408509623c406f34d64fe55822 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Wed, 26 Feb 2025 06:57:33 -0600 Subject: [PATCH] mele attack null checks --- src/engine/gameManager/CombatManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 6b81b32f..752ee13f 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -303,6 +303,9 @@ public enum CombatManager { //pet to assist in attacking target if(abstractCharacter.getObjectType().equals(GameObjectType.PlayerCharacter)){ PlayerCharacter attacker = (PlayerCharacter)abstractCharacter; + if(attacker.combatStats == null){ + attacker.combatStats = new PlayerCombatStats(attacker); + } if(attacker.getPet() != null){ Mob pet = attacker.getPet(); if(pet.combatTarget == null && pet.assist) @@ -326,10 +329,13 @@ public enum CombatManager { else if (!tar.isActive()) return 0; - if (target.getObjectType().equals(GameObjectType.PlayerCharacter) && abstractCharacter.getObjectType().equals(GameObjectType.PlayerCharacter) && abstractCharacter.getTimers().get("Attack" + slot) == null) + if (target.getObjectType().equals(GameObjectType.PlayerCharacter) && abstractCharacter.getObjectType().equals(GameObjectType.PlayerCharacter) && abstractCharacter.getTimers().get("Attack" + slot) == null) { + if(((PlayerCharacter)target).combatStats == null){ + ((PlayerCharacter)target).combatStats = new PlayerCombatStats(((PlayerCharacter)target)); + } if (!((PlayerCharacter) abstractCharacter).canSee((PlayerCharacter) target)) return 0; - + } //must not be immune to all or immune to attack Resists res = tar.getResists();