code refactoring for visibility
This commit is contained in:
parent
f70b335264
commit
cff22c8f18
2 changed files with 53 additions and 62 deletions
|
@ -1 +1 @@
|
||||||
sonar.gradle.skipCompile=true
|
systemProp.sonar.gradle.skipCompile=true
|
|
@ -99,13 +99,11 @@ public class CombatManager extends Manager {
|
||||||
d.sendMessage(comp("<red>You missed!"));
|
d.sendMessage(comp("<red>You missed!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (luck > 0 && luck < 1000) {
|
} else if (luck > 0 && luck < 1000 && RANDOM.nextBoolean()) {
|
||||||
// chance of critical hit
|
// chance of critical hit
|
||||||
if (RANDOM.nextBoolean()) {
|
d.playSound(d, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f);
|
||||||
d.playSound(d, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f);
|
// damage * 2
|
||||||
// damage * 2
|
damage = damage * 2;
|
||||||
damage = damage * 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// apply damage
|
// apply damage
|
||||||
|
|
||||||
|
@ -150,71 +148,64 @@ public class CombatManager extends Manager {
|
||||||
spawnIndicator(entity, false, damage);
|
spawnIndicator(entity, false, damage);
|
||||||
// TODO: check for status effects (apply status effects depending item of damager)
|
// 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
|
// damager is not player
|
||||||
if (damager instanceof Mob mob) {
|
// get equipment of damager
|
||||||
// get equipment of damager
|
EntityEquipment equipment = mob.getEquipment();
|
||||||
EntityEquipment equipment = mob.getEquipment();
|
Double dStrength = Items.getTotalAttribute(equipment, Attribute.STRENGTH);
|
||||||
Double dStrength = Items.getTotalAttribute(equipment, Attribute.STRENGTH);
|
Double eDefense = Items.getTotalAttribute(player, Attribute.DEFENSE);
|
||||||
Double eDefense = Items.getTotalAttribute(player, Attribute.DEFENSE);
|
|
||||||
|
|
||||||
double damage = dStrength - eDefense;
|
double damage = dStrength - eDefense;
|
||||||
|
|
||||||
Double dLuck = Items.getTotalAttribute(equipment, Attribute.LUCK);
|
Double dLuck = Items.getTotalAttribute(equipment, Attribute.LUCK);
|
||||||
Double eLuck = Items.getTotalAttribute(player, Attribute.LUCK);
|
Double eLuck = Items.getTotalAttribute(player, Attribute.LUCK);
|
||||||
|
|
||||||
double luck = dLuck - eLuck;
|
double luck = dLuck - eLuck;
|
||||||
|
|
||||||
if (luck < -1000) {
|
if (luck < -1000) {
|
||||||
// 100% chance of miss
|
// 100% chance of miss
|
||||||
player.sendMessage(comp("<red>You dodged!"));
|
player.sendMessage(comp("<red>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);
|
player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f);
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
player.sendMessage(comp("<red>You dodged!"));
|
||||||
return;
|
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;
|
|
||||||
}
|
}
|
||||||
|
} else if (luck > 0 && luck < 1000 && RANDOM.nextBoolean()) {
|
||||||
if (luck < 0) {
|
// chance of critical hit
|
||||||
// chances of miss
|
player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f);
|
||||||
if (RANDOM.nextBoolean()) {
|
// damage * 2
|
||||||
player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f);
|
damage = damage * 2;
|
||||||
e.setCancelled(true);
|
|
||||||
player.sendMessage(comp("<red>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)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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) {}*/
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue