From d6a1e12ea0635fd01d1575191031e38b9af2c8a6 Mon Sep 17 00:00:00 2001 From: Indyuce Date: Sun, 5 Apr 2020 14:26:34 +0200 Subject: [PATCH] !Improved fireball spell --- lib/MMOLib.jar | Bin 163111 -> 162504 bytes .../net/Indyuce/mmocore/skill/Fireball.java | 48 ++++++++++++++---- 2 files changed, 39 insertions(+), 9 deletions(-) diff --git a/lib/MMOLib.jar b/lib/MMOLib.jar index b3a89a19225c8b07fa98fd15e9730b9a8170c8f0..af54ae578829dd1e8bb8e0495dbc2796c9459cb2 100644 GIT binary patch delta 17526 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 diff --git a/src/main/java/net/Indyuce/mmocore/skill/Fireball.java b/src/main/java/net/Indyuce/mmocore/skill/Fireball.java index 798827a1..23b979d3 100644 --- a/src/main/java/net/Indyuce/mmocore/skill/Fireball.java +++ b/src/main/java/net/Indyuce/mmocore/skill/Fireball.java @@ -17,6 +17,7 @@ import net.Indyuce.mmocore.api.util.math.formula.LinearValue; import net.mmogroup.mmolib.MMOLib; import net.mmogroup.mmolib.api.AttackResult; import net.mmogroup.mmolib.api.DamageType; +import net.mmogroup.mmolib.api.MMORayTraceResult; import net.mmogroup.mmolib.version.VersionMaterial; import net.mmogroup.mmolib.version.VersionSound; @@ -24,11 +25,12 @@ public class Fireball extends Skill { public Fireball() { super(); setMaterial(VersionMaterial.FIRE_CHARGE.toMaterial()); - setLore("Casts a deadly fireball onto your", "target, dealing &c{damage} &7damage upon contact", "and igniting it for &c{ignite} &7seconds.", "", "Shatters into 3 blazing hot shards which stick", "to walls and explode 3 seconds later, dealing", "33% of the initial spell damage.", "", "&e{cooldown}s Cooldown", "&9Costs {mana} {mana_name}"); + setLore("Casts a deadly fireball onto your", "target, dealing &c{damage} &7damage upon contact", "and igniting it for &c{ignite} &7seconds.", "", "Shatters into 3 blazing hot shards which stick", "to walls and explode 3 seconds later, dealing", "&c{ratio}% &7of the initial spell damage.", "", "&e{cooldown}s Cooldown", "&9Costs {mana} {mana_name}"); addModifier("mana", new LinearValue(15, 1)); addModifier("damage", new LinearValue(5, 3)); addModifier("ignite", new LinearValue(2, .1)); + addModifier("ratio", new LinearValue(50, 3)); addModifier("cooldown", new LinearValue(9, -.1, 1, 5)); } @@ -41,8 +43,8 @@ public class Fireball extends Skill { data.getPlayer().getWorld().playSound(data.getPlayer().getLocation(), VersionSound.ENTITY_FIREWORK_ROCKET_BLAST.toSound(), 1, 1); new BukkitRunnable() { int j = 0; - Vector vec = data.getPlayer().getEyeLocation().getDirection(); - Location loc = data.getPlayer().getLocation().add(0, 1.3, 0); + final Vector vec = data.getPlayer().getEyeLocation().getDirection(); + final Location loc = data.getPlayer().getLocation().add(0, 1.3, 0); public void run() { if (j++ > 40) { @@ -52,13 +54,10 @@ public class Fireball extends Skill { loc.add(vec); - loc.getWorld().playSound(loc, Sound.BLOCK_FIRE_AMBIENT, 2, 1); - // loc.getWorld().spawnParticle(Particle.FLAME, loc, 5, .12, - // .12, .12, 0); + if (j % 3 == 0) + loc.getWorld().playSound(loc, Sound.BLOCK_FIRE_AMBIENT, 2, 1); loc.getWorld().spawnParticle(Particle.FLAME, loc, 4, .02, .02, .02, 0); loc.getWorld().spawnParticle(Particle.LAVA, loc, 0); - // if (random.nextDouble() < .3) - // loc.getWorld().spawnParticle(Particle.LAVA, loc, 0); for (Entity target : MMOCoreUtils.getNearbyChunkEntities(loc)) if (MMOLib.plugin.getNMS().isInBoundingBox(target, loc) && MMOCoreUtils.canTarget(data.getPlayer(), target)) { @@ -66,11 +65,42 @@ public class Fireball extends Skill { loc.getWorld().spawnParticle(Particle.FLAME, loc, 32, 0, 0, 0, .1); loc.getWorld().playSound(loc, Sound.ENTITY_BLAZE_HURT, 2, 1); target.setFireTicks((int) (target.getFireTicks() + cast.getModifier("ignite") * 20)); - MMOLib.plugin.getDamage().damage(data.getPlayer(), (LivingEntity) target, new AttackResult(cast.getModifier("damage"), DamageType.SKILL, DamageType.PROJECTILE, DamageType.MAGIC)); + double damage = cast.getModifier("damage"); + MMOLib.plugin.getDamage().damage(data.getPlayer(), (LivingEntity) target, new AttackResult(damage, DamageType.SKILL, DamageType.PROJECTILE, DamageType.MAGIC)); + + new BukkitRunnable() { + int i = 0; + + @Override + public void run() { + if (i++ > 2) { + cancel(); + return; + } + + double range = 2.5 * (1 + random.nextDouble()); + Vector dir = randomDirection(); + loc.getWorld().playSound(loc, Sound.ENTITY_BLAZE_HURT, 2, 1.5f); + + MMORayTraceResult result = MMOLib.plugin.getVersion().getWrapper().rayTrace(loc, dir, range, entity -> MMOCoreUtils.canTarget(data.getPlayer(), entity)); + if (result.hasHit()) + MMOLib.plugin.getDamage().damage(data.getPlayer(), result.getHit(), new AttackResult(damage, DamageType.SKILL, DamageType.PROJECTILE, DamageType.MAGIC)); + result.draw(loc.clone(), dir, 8, tick -> tick.getWorld().spawnParticle(Particle.FLAME, tick, 0)); + + } + }.runTaskTimer(MMOCore.plugin, 3, 3); + cancel(); + return; } } }.runTaskTimer(MMOCore.plugin, 0, 1); return cast; } + + private Vector randomDirection() { + double x = random.nextDouble() - .5, y = (random.nextDouble() - .2) / 2, z = random.nextDouble() - .5; + Vector dir = new Vector(x, y, z); + return dir.lengthSquared() == 0 ? new Vector(1, 0, 0) : dir.normalize(); + } }