RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
MagicStrategy.java
1package com.osroyale.game.world.entity.combat.strategy.basic;
2
3import com.osroyale.Config;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.world.entity.combat.attack.FightType;
6import com.osroyale.game.world.entity.combat.hit.Hit;
7import com.osroyale.game.world.entity.combat.strategy.CombatStrategy;
8import com.osroyale.game.world.entity.mob.Mob;
9import com.osroyale.game.world.entity.mob.player.Player;
10import com.osroyale.game.world.entity.skill.Skill;
11import com.osroyale.game.world.pathfinding.path.SimplePathChecker;
12import com.osroyale.util.Utility;
13
17public abstract class MagicStrategy<T extends Mob> extends CombatStrategy<T> {
18
20 public static final Graphic SPLASH = new Graphic(85, 0, Graphic.HIGH_HEIGHT/*96*/);
21
22 @Override
23 public boolean withinDistance(T attacker, Mob defender) {
24 FightType fightType = attacker.getCombat().getFightType();
25 int distance = getAttackDistance(attacker, fightType);
26
27 return Utility.inRange(attacker, defender, distance)
28 && (SimplePathChecker.checkProjectile(attacker, defender)
29 || SimplePathChecker.checkProjectile(defender, attacker));
30 }
31
32 protected static void addCombatExperience(Player player, double base, Hit... hits) {
33 int exp = 0;
34 for (Hit hit : hits) {
35 if (hit.getDamage() <= 0) continue;
36 exp += hit.getDamage();
37 }
38
40 exp += base;
41 player.skills.addExperience(Skill.MAGIC, exp);
42 player.skills.addExperience(Skill.HITPOINTS, exp / 3);
43 }
44
45}
static final double COMBAT_MODIFICATION
Definition Config.java:286