Skip to content

Commit

Permalink
Having a look at BridgeHealth.
Browse files Browse the repository at this point in the history
  • Loading branch information
asofold committed Apr 5, 2018
1 parent 274c15e commit 3b8e34d
Show file tree
Hide file tree
Showing 6 changed files with 126 additions and 71 deletions.

This file was deleted.

@@ -0,0 +1,27 @@
package fr.neatmonster.nocheatplus.actions.types.penalty.fight;

import org.bukkit.event.entity.EntityDamageEvent;

import fr.neatmonster.nocheatplus.compat.BridgeHealth;

/**
* Multiply the final damage by a set amount.
*
* @author asofold
*
*/
public class FightPenaltyMultiplyDamage extends FightPenaltyEntityDamage {

private final double multiplier;

public FightPenaltyMultiplyDamage(final double multiplier) {
super();
this.multiplier = multiplier;
}

@Override
protected void applyGenericEffects(final EntityDamageEvent event) {
BridgeHealth.multiplyFinalDamage(event, multiplier);
}

}
Expand Up @@ -581,7 +581,7 @@ public void onEntityDamage(final EntityDamageEvent event) {
penaltyList = new DefaultPenaltyList();
}
if (godMode.check(damagedPlayer, damagedIsFake,
BridgeHealth.getDamage(event), damagedData, damagedPData)) {
BridgeHealth.getRawDamage(event), damagedData, damagedPData)) {
// It requested to "cancel" the players invulnerability, so set their noDamageTicks to 0.
damagedPlayer.setNoDamageTicks(0);
}
Expand Down
Expand Up @@ -2162,7 +2162,8 @@ private void checkFallDamageEvent(final Player player, final EntityDamageEvent e
boolean allowReset = true;
float fallDistance = player.getFallDistance();
final float yDiff = (float) (data.noFallMaxY - loc.getY());
final double damage = BridgeHealth.getDamage(event);
final double damage = BridgeHealth.getRawDamage(event); // Raw damage.
// TODO: Account for modifiers.
if (debug) {
debug(player, "Damage(FALL/PRE): " + damage + " / mc=" + player.getFallDistance() + " nf=" + data.noFallFallDistance + " yDiff=" + yDiff);
}
Expand Down Expand Up @@ -2219,7 +2220,7 @@ else if (noFallVL(player, "fakefall", data, cc)) {
debug(player, "NoFall/Damage: override player fall distance and damage (" + fallDistance + " -> " + dataDist + ").");
}
fallDistance = dataDist;
BridgeHealth.setDamage(event, dataDamage);
BridgeHealth.setRawDamage(event, dataDamage);
}
}
}
Expand Down Expand Up @@ -2249,7 +2250,7 @@ else if (noFallVL(player, "fakefall", data, cc)) {
: NoFall.getDamage(Math.max(yDiff, Math.max(data.noFallFallDistance, fallDistance))) + (allowReset ? 0.0 : Magic.FALL_DAMAGE_DIST);
if (maxD > damage) {
// TODO: respect dealDamage ?
BridgeHealth.setDamage(event, maxD);
BridgeHealth.setRawDamage(event, maxD);
if (debug) {
debug(player, "Adjust fall damage to: " + maxD);
}
Expand Down
Expand Up @@ -183,7 +183,7 @@ private void dealFallDamage(final Player player, final double damage) {
if (!event.isCancelled()) {
// TODO: account for no damage ticks etc.
player.setLastDamageCause(event);
mcAccess.getHandle().dealFallDamage(player, BridgeHealth.getDamage(event));
mcAccess.getHandle().dealFallDamage(player, BridgeHealth.getRawDamage(event));
}
}

Expand Down

0 comments on commit 3b8e34d

Please sign in to comment.