Fix combat xp from summoning

This commit is contained in:
vk
2021-11-16 22:40:33 +00:00
committed by Ceikry
parent d495f7042a
commit 5bffe4bb9e
36 changed files with 86 additions and 178 deletions
@@ -336,4 +336,18 @@ public final class BattleState {
public Entity getAttacker() {
return entity;
}
public int getTotalDamage() {
int hit = Math.max(estimatedHit, 0) + Math.max(secondaryHit, 0);
if (targets != null) {
for (BattleState s : targets) {
if (s != null) {
hit += Math.max(s.getEstimatedHit(), 0) + Math.max(s.getSecondaryHit(), 0);
}
}
}
return hit;
}
}
@@ -146,7 +146,6 @@ public final class ChinchompaSwingHandler extends RangeSwingHandler {
s.getVictim().animate(s.getVictim().getProperties().getDefenceAnimation());
}
}
addExperience(entity, victim, state);
}
/**
@@ -73,6 +73,5 @@ public final class AncientMaceSpecialHandler extends MeleeSwingHandler implement
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -71,6 +71,5 @@ public final class BackstabSpecialHandler extends MeleeSwingHandler implements P
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -107,7 +107,6 @@ public final class ChainhitSpecialHandler extends RangeSwingHandler implements P
entity.visualize(ANIMATION, GRAPHIC);
int speed = (int) (32 + (entity.getLocation().getDistance(victim.getLocation()) * 5));
Projectile.create(entity, victim, 258, 40, 36, 32, speed, 5, 11).send();
addExperience(entity, victim, state);
}
@Override
@@ -66,6 +66,5 @@ public final class CleaveSpecialHandler extends MeleeSwingHandler implements Plu
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -73,6 +73,5 @@ public final class ClobberSpecialHandler extends MeleeSwingHandler implements Pl
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -146,6 +146,5 @@ public final class DescentOfDarknessSpecialHandler extends RangeSwingHandler imp
@Override
public void visualizeImpact(Entity entity, Entity victim, BattleState state) {
victim.visualize(victim.getProperties().getDefenceAnimation(), state.isFrozen() ? DRAGON_IMPACT : DARKNESS_IMPACT);
addExperience(entity, victim, state);
}
}
@@ -70,6 +70,5 @@ public final class EnergyDrainSpecialHandler extends MeleeSwingHandler implement
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.animate(ANIMATION);
victim.graphics(GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -59,6 +59,5 @@ public final class FeintSpecialHandler extends MeleeSwingHandler implements Plug
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.animate(ANIMATION);
addExperience(entity, victim, state);
}
}
@@ -76,7 +76,6 @@ public final class HealingBladeSpecialHandler extends MeleeSwingHandler implemen
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -75,6 +75,5 @@ public final class IceCleaveSpecialHandler extends MeleeSwingHandler implements
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -69,6 +69,5 @@ public final class ImpaleSpecialHandler extends MeleeSwingHandler implements Plu
return;
}
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -66,6 +66,5 @@ public final class JudgementSpecialHandler extends MeleeSwingHandler implements
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -68,6 +68,5 @@ public final class PowershotSpecialHandler extends RangeSwingHandler implements
entity.visualize(state.getRangeWeapon().getAnimation(), GRAPHIC);
int speed = (int) (46 + (entity.getLocation().getDistance(victim.getLocation()) * 5));
Projectile.create(entity, victim, 249, 40, 36, 45, speed, 5, 11).send();
addExperience(entity, victim, state);
}
}
@@ -95,7 +95,6 @@ public final class PowerstabSpecialHandler extends MeleeSwingHandler implements
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
@Override
@@ -81,6 +81,5 @@ public final class PunctureSpecialHandler extends MeleeSwingHandler implements P
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -76,7 +76,6 @@ public final class SaradominsLightningHandler extends MeleeSwingHandler implemen
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
@Override
@@ -79,6 +79,5 @@ public final class SeverSpecialHandler extends MeleeSwingHandler implements Plug
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -65,6 +65,5 @@ public final class ShatterSpecialHandler extends MeleeSwingHandler implements Pl
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -102,6 +102,5 @@ public final class SliceAndDiceSpecialHandler extends MeleeSwingHandler implemen
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -67,6 +67,5 @@ public final class SmashSpecialHandler extends MeleeSwingHandler implements Plug
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -105,6 +105,5 @@ public final class SnapshotSpecialHandler extends RangeSwingHandler implements P
Projectile.create(entity, victim, 249, 40, 36, 20, speed, 15, 11).send();
speed = (int) (32 + (entity.getLocation().getDistance(victim.getLocation()) * 10));
Projectile.create(entity, victim, 249, 40, 36, 50, speed, 15, 11).send();
addExperience(entity, victim, state);
}
}
@@ -70,6 +70,5 @@ public final class SnipeSpecialHandler extends RangeSwingHandler implements Plug
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.animate(ANIMATION);
Projectile.create(entity, victim, 698, 36, 25, 35, 72).send();
addExperience(entity, victim, state);
}
}
@@ -94,7 +94,6 @@ public final class SpearWallSpecialHandler extends MeleeSwingHandler implements
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
@Override
@@ -157,7 +157,6 @@ public final class SweepSpecialHandler extends MeleeSwingHandler implements Plug
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -85,6 +85,5 @@ public final class WarstrikeSpecialHandler extends MeleeSwingHandler implements
@Override
public void visualize(Entity entity, Entity victim, BattleState state) {
entity.visualize(ANIMATION, GRAPHIC);
addExperience(entity, victim, state);
}
}
@@ -310,6 +310,7 @@ public abstract class MagicSpell implements Plugin<SpellType> {
* @param hit The hit.
*/
public void addExperience(Entity entity, int hit) {
entity.getSkills().addExperience(Skills.MAGIC, experience, true);
if (!(entity instanceof Player) || hit < 1) {
return;
}