diff --git a/src/engine/gameManager/CombatManager.java b/src/engine/gameManager/CombatManager.java index 138c7135..a7884fb8 100644 --- a/src/engine/gameManager/CombatManager.java +++ b/src/engine/gameManager/CombatManager.java @@ -68,22 +68,39 @@ public enum CombatManager { processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); if(attacker.getObjectType().equals(mbEnums.GameObjectType.PlayerCharacter)) processAttack(attacker, target, mbEnums.EquipSlotType.LHELD); - } else if (mainWeapon == null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block")) { + return; + } + + if (mainWeapon != null && offWeapon == null) { + //swing right hand only + processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); + return; + } + + if (mainWeapon == null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block") == false) { + //swing left hand only + processAttack(attacker, target, mbEnums.EquipSlotType.LHELD); + return; + } + + if (mainWeapon == null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block")) { //no weapon equipped with a shield, punch with one hand processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); - } else if (mainWeapon != null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block")) { + return; + } + + if (mainWeapon != null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block")) { //one weapon equipped with a shield, swing with one hand processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); - } else if (mainWeapon != null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block") == false) { + return; + } + + if (mainWeapon != null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block") == false) { //two weapons equipped, swing both hands processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); - processAttack(attacker, target, mbEnums.EquipSlotType.LHELD); - } else if (mainWeapon == null && offWeapon != null && offWeapon.template.item_skill_required.containsKey("Block") == false) { - //swing left hand only - processAttack(attacker, target, mbEnums.EquipSlotType.LHELD); - } else if (mainWeapon != null && offWeapon == null) { - //swing left hand only - processAttack(attacker, target, mbEnums.EquipSlotType.RHELD); + if(attacker.getObjectType().equals(mbEnums.GameObjectType.PlayerCharacter)) + processAttack(attacker, target, mbEnums.EquipSlotType.LHELD); + return; } }