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 java.util.HashMap;
|
||||||
|
|
||||||
|
import mineplex.minecraft.game.core.damage.CustomDamageEvent;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
|
@ -167,10 +168,12 @@ public class Takedown extends SkillActive
|
||||||
int damage = 3 + (level);
|
int damage = 3 + (level);
|
||||||
|
|
||||||
//Damage Event
|
//Damage Event
|
||||||
Factory.Damage().NewDamageEvent(damagee, damager, null,
|
CustomDamageEvent customDamageEvent = Factory.Damage().NewDamageEvent(damagee, damager, null,
|
||||||
DamageCause.CUSTOM, damage, false, true, false,
|
DamageCause.CUSTOM, damage, false, true, false,
|
||||||
damager.getName(), GetName());
|
damager.getName(), GetName());
|
||||||
|
|
||||||
|
if (!customDamageEvent.IsCancelled())
|
||||||
|
{
|
||||||
//Damage Event
|
//Damage Event
|
||||||
Factory.Damage().NewDamageEvent(damager, damagee, null,
|
Factory.Damage().NewDamageEvent(damager, damagee, null,
|
||||||
DamageCause.CUSTOM, damage / 2, false, true, false,
|
DamageCause.CUSTOM, damage / 2, false, true, false,
|
||||||
|
@ -187,6 +190,7 @@ public class Takedown extends SkillActive
|
||||||
//Sound
|
//Sound
|
||||||
damager.getWorld().playSound(damager.getLocation(), Sound.ZOMBIE_WOOD, 1f, 0.5f);
|
damager.getWorld().playSound(damager.getLocation(), Sound.ZOMBIE_WOOD, 1f, 0.5f);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void Particle(UpdateEvent event)
|
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,
|
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||||
String source, String reason)
|
String source, String reason)
|
||||||
{
|
{
|
||||||
NewDamageEvent(damagee, damager, proj,
|
return NewDamageEvent(damagee, damager, proj,
|
||||||
cause, damage, knockback, ignoreRate, ignoreArmor,
|
cause, damage, knockback, ignoreRate, ignoreArmor,
|
||||||
source, reason, false);
|
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,
|
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||||
String source, String reason, boolean cancelled)
|
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,
|
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||||
String source, String reason)
|
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);
|
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,
|
DamageCause cause, double damage, boolean knockback, boolean ignoreRate, boolean ignoreArmor,
|
||||||
String source, String reason, boolean cancelled)
|
String source, String reason, boolean cancelled)
|
||||||
{
|
{
|
||||||
_plugin.getServer().getPluginManager().callEvent(new CustomDamageEvent(damagee, damager, proj, knockbackOrigin, cause,
|
CustomDamageEvent customDamageEvent = new CustomDamageEvent(damagee, damager, proj, knockbackOrigin, cause,
|
||||||
damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled));
|
damage, knockback, ignoreRate, ignoreArmor, source, reason, cancelled);
|
||||||
|
_plugin.getServer().getPluginManager().callEvent(customDamageEvent);
|
||||||
|
return customDamageEvent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOW)
|
@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);
|
DisplayDamage(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue