Fix combat xp from summoning
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
-1
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user