1package com.runehive.game.world.entity.combat.attack;
3import java.util.function.Function;
7 private Function<Integer, Integer>
magicModifier = Function.identity();
121 private static Function<Integer, Integer>
link(Function<Integer, Integer> modifier, Function<Integer, Integer> next) {
122 return modifier.andThen(next);
125 private static Function<Integer, Integer>
addition(
int amount) {
126 return modifier -> modifier + amount;
129 private static Function<Integer, Integer>
percentage(
double percent) {
130 return modifier -> (int) (modifier * (1 + percent));
137 public static void main(String[] args) {
147 System.out.println(total);
150 System.out.println(total);
final Modifier magic(double percentage)
int modifyMagic(int level)
final Modifier attackPercent(double percentage)
final Modifier aggressive(int level)
static Function< Integer, Integer > percentage(double percent)
final Modifier aggressive(double percentage)
static Modifier attack(double percent)
Function< Integer, Integer > defensiveModifier
Function< Integer, Integer > maxHitModifier
static Modifier link(Modifier first, Modifier second)
int modifyDamage(int damage)
int modifyMaxHit(int max)
final Modifier defensive(double percentage)
Function< Integer, Integer > magicModifier
int modifyAggressive(int level)
final Modifier maxHit(double percentage)
static void main(String[] args)
Function< Integer, Integer > attackModifier
final Modifier magic(int level)
int modifyAttack(int level)
Function< Integer, Integer > aggressiveModifier
final Modifier ranged(double percentage)
int modifyRanged(int level)
Function< Integer, Integer > rangedModifier
final Modifier attack(int level)
final Modifier ranged(int level)
static Function< Integer, Integer > link(Function< Integer, Integer > modifier, Function< Integer, Integer > next)
int modifyDefensive(int level)
final Modifier defensive(int level)
final Modifier maxHit(int level)
Function< Integer, Integer > damageModifier
static Function< Integer, Integer > addition(int amount)