1package com.osroyale.game.world.entity.combat.maxhit;
3import com.osroyale.game.world.entity.combat.attack.FightStyle;
4import com.osroyale.game.world.entity.mob.Mob;
5import com.osroyale.game.world.entity.mob.prayer.Prayer;
6import com.osroyale.game.world.entity.skill.Skill;
68 return (
int) Math.floor(
maxHit);
71 public static int getBaseDamage(
Mob player) {
72 return (
int) (Math.floor(0.5 + (getEffectiveStrength(player)) * (getStrengthBonus(player) + 64) + 320) / 640.0);
75 public static int getStrengthBonus(
Mob player) {
76 return player.getBonus(9);
79 public static int getStrengthLevel(
Mob player) {
80 return player.skills.
getLevel(Skill.STRENGTH);
83 private static double getPrayerBonus(
Mob player) {
88 double prayerBonus = 1;
89 if (player.prayer.
isActive(Prayer.THICK_SKIN))
91 else if (player.prayer.
isActive(Prayer.ROCK_SKIN))
93 else if (player.prayer.
isActive(Prayer.STEEL_SKIN))
95 else if (player.prayer.
isActive(Prayer.CHIVALRY))
97 else if (player.prayer.
isActive(Prayer.PIETY))
102 public static int getStyleBonus(
Mob player) {
103 FightStyle style = player.
getCombat().getFightType().getStyle();
104 return style.equals(FightStyle.AGGRESSIVE) ? 3 : style.equals(FightStyle.ACCURATE) ? 1 : 0;
121 double otherBonus = 1;
265 public static int getEffectiveStrength(
Mob player) {
266 return (
int) (Math.floor(((((getStrengthLevel(player)) * getPrayerBonus(player)) + getStyleBonus(player)) + 8) *
getOtherBonus(player,
true)));
static int maxHit(Mob player)
static double getOtherBonus(Mob player, boolean includeNpcMax)
static double slayerPerkBonus(Mob player)
abstract Combat<? extends Mob > getCombat()
boolean isActive(Prayer... prayers)