From cff22c8f18c1d0b4fcdf76d61086701daa1deebb Mon Sep 17 00:00:00 2001 From: unurled Date: Mon, 18 Mar 2024 20:39:28 +0100 Subject: [PATCH] code refactoring for visibility --- gradle.properties | 2 +- .../sr/components/combat/CombatManager.java | 113 ++++++++---------- 2 files changed, 53 insertions(+), 62 deletions(-) diff --git a/gradle.properties b/gradle.properties index 74d0029..89a0681 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -sonar.gradle.skipCompile=true \ No newline at end of file +systemProp.sonar.gradle.skipCompile=true \ No newline at end of file diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java index d736618..2ccf6af 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java @@ -99,13 +99,11 @@ public class CombatManager extends Manager { d.sendMessage(comp("You missed!")); return; } - } else if (luck > 0 && luck < 1000) { + } else if (luck > 0 && luck < 1000 && RANDOM.nextBoolean()) { // chance of critical hit - if (RANDOM.nextBoolean()) { - d.playSound(d, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); - // damage * 2 - damage = damage * 2; - } + d.playSound(d, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); + // damage * 2 + damage = damage * 2; } // apply damage @@ -150,71 +148,64 @@ public class CombatManager extends Manager { spawnIndicator(entity, false, damage); // TODO: check for status effects (apply status effects depending item of damager) } - } else if (entity instanceof Player player) { + } else if (entity instanceof Player player && damager instanceof Mob mob) { // damager is not player - if (damager instanceof Mob mob) { - // get equipment of damager - EntityEquipment equipment = mob.getEquipment(); - Double dStrength = Items.getTotalAttribute(equipment, Attribute.STRENGTH); - Double eDefense = Items.getTotalAttribute(player, Attribute.DEFENSE); + // get equipment of damager + EntityEquipment equipment = mob.getEquipment(); + Double dStrength = Items.getTotalAttribute(equipment, Attribute.STRENGTH); + Double eDefense = Items.getTotalAttribute(player, Attribute.DEFENSE); - double damage = dStrength - eDefense; + double damage = dStrength - eDefense; - Double dLuck = Items.getTotalAttribute(equipment, Attribute.LUCK); - Double eLuck = Items.getTotalAttribute(player, Attribute.LUCK); + Double dLuck = Items.getTotalAttribute(equipment, Attribute.LUCK); + Double eLuck = Items.getTotalAttribute(player, Attribute.LUCK); - double luck = dLuck - eLuck; + double luck = dLuck - eLuck; - if (luck < -1000) { - // 100% chance of miss - player.sendMessage(comp("You dodged!")); + if (luck < -1000) { + // 100% chance of miss + player.sendMessage(comp("You dodged!")); + player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); + e.setCancelled(true); + return; + } else if (luck > 1000) { + // 100% chance of critical hit + luck = 10000d; + player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); + damage = damage * 2; + } + + if (luck < 0) { + // chances of miss + if (RANDOM.nextBoolean()) { player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); e.setCancelled(true); + player.sendMessage(comp("You dodged!")); return; - } else if (luck > 1000) { - // 100% chance of critical hit - luck = 10000d; - player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); - damage = damage * 2; } - - if (luck < 0) { - // chances of miss - if (RANDOM.nextBoolean()) { - player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); - e.setCancelled(true); - player.sendMessage(comp("You dodged!")); - return; - } - } else if (luck > 0 && luck < 1000) { - // chance of critical hit - if (RANDOM.nextBoolean()) { - player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); - // damage * 2 - damage = damage * 2; - } - } - - // apply damage - player.damage(damage); - // add an - - SRPlayer player1 = pm.getPlayer(player.getUniqueId()); - if (player1 != null) { - player1.setHealth(player.getHealth() - damage, DamageCause.ENTITY_ATTACK); - if (player1.getHealth() <= 0) { - player.damage(player.getHealth()); - } - updateActionBar(player, player1); - } - - spawnIndicator(player, false, damage); - - // TODO: check for status effects (apply status effects depending item of damager) + } else if (luck > 0 && luck < 1000 && RANDOM.nextBoolean()) { + // chance of critical hit + player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); + // damage * 2 + damage = damage * 2; } + + // apply damage + player.damage(damage); + // add an + + SRPlayer player1 = pm.getPlayer(player.getUniqueId()); + if (player1 != null) { + player1.setHealth(player.getHealth() - damage, DamageCause.ENTITY_ATTACK); + if (player1.getHealth() <= 0) { + player.damage(player.getHealth()); + } + updateActionBar(player, player1); + } + + spawnIndicator(player, false, damage); + + // TODO: check for status effects (apply status effects depending item of damager) } } - - /*@EventHandler - public void onDamage(EntityDamageEvent e) {}*/ }