Check cancellation before continuing Takedown. Fixes PC-277
This commit is contained in:
parent
72a2aa926f
commit
516ad5a640
|
@ -2,6 +2,7 @@ package mineplex.minecraft.game.classcombat.Skill.Brute;
|
|||
|
||||
import java.util.HashMap;
|
||||
|
||||
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
|
@ -167,10 +168,12 @@ public class Takedown extends SkillActive
|
|||
int damage = 3 + (level);
|
||||
|
||||
//Damage Event
|
||||
Factory.Damage().NewDamageEvent(damagee, damager, null,
|
||||
CustomDamageEvent customDamageEvent = Factory.Damage().NewDamageEvent(damagee, damager, null,
|
||||
DamageCause.CUSTOM, damage, false, true, false,
|
||||
damager.getName(), GetName());
|
||||
|
||||
if (!customDamageEvent.IsCancelled())
|
||||
{
|
||||
//Damage Event
|
||||
Factory.Damage().NewDamageEvent(damager, damagee, null,
|
||||
DamageCause.CUSTOM, damage / 2, false, true, false,
|
||||
|
@ -187,6 +190,7 @@ public class Takedown extends SkillActive
|
|||
//Sound
|
||||
damager.getWorld().playSound(damager.getLocation(), Sound.ZOMBIE_WOOD, 1f, 0.5f);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void Particle(UpdateEvent event)
|
||||
|
|
|
@ -171,36 +171,38 @@ public class DamageManager extends MiniPlugin
|
|||
}
|
||||
*/
|
||||
|
||||
public void NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj,
|
||||
public CustomDamageEvent NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj,
|
||||
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||
String source, String reason)
|
||||
{
|
||||
NewDamageEvent(damagee, damager, proj,
|
||||
return NewDamageEvent(damagee, damager, proj,
|
||||
cause, damage, knockback, ignoreRate, ignoreArmor,
|
||||
source, reason, false);
|
||||
}
|
||||
|
||||
public void NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj,
|
||||
public CustomDamageEvent NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj,
|
||||
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||
String source, String reason, boolean cancelled)
|
||||
{
|
||||
NewDamageEvent(damagee, damager, proj, null, cause, damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled);
|
||||
return NewDamageEvent(damagee, damager, proj, null, cause, damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled);
|
||||
}
|
||||
|
||||
public void NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj, Location knockbackOrigin,
|
||||
public CustomDamageEvent NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj, Location knockbackOrigin,
|
||||
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||
String source, String reason)
|
||||
{
|
||||
NewDamageEvent(damagee, damager, proj, knockbackOrigin, cause, damage, knockback, ignoreRate, ignoreArmor, source,
|
||||
return NewDamageEvent(damagee, damager, proj, knockbackOrigin, cause, damage, knockback, ignoreRate, ignoreArmor, source,
|
||||
reason, false);
|
||||
}
|
||||
|
||||
public void NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj, Location knockbackOrigin,
|
||||
public CustomDamageEvent NewDamageEvent(LivingEntity damagee, LivingEntity damager, Projectile proj, Location knockbackOrigin,
|
||||
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||
String source, String reason, boolean cancelled)
|
||||
{
|
||||
_plugin.getServer().getPluginManager().callEvent(new CustomDamageEvent(damagee, damager, proj, knockbackOrigin, cause,
|
||||
damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled));
|
||||
CustomDamageEvent customDamageEvent = new CustomDamageEvent(damagee, damager, proj, knockbackOrigin, cause,
|
||||
damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled);
|
||||
_plugin.getServer().getPluginManager().callEvent(customDamageEvent);
|
||||
return customDamageEvent;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
|
@ -351,8 +353,15 @@ public class DamageManager extends MiniPlugin
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Debug
|
||||
/*
|
||||
* Should only be used to debug the damage event
|
||||
* No modification of the event should take place
|
||||
*/
|
||||
@EventHandler (priority = EventPriority.MONITOR)
|
||||
public void debugDamageEvent(CustomDamageEvent event)
|
||||
{
|
||||
DisplayDamage(event);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue