1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-13 10:42:54 +00:00

Calculator engine improved

Signed-off-by: Rogiel <rogiel@rogiel.com>
This commit is contained in:
2011-05-31 00:03:04 -03:00
parent ae3007559f
commit 7d4d9114e5
92 changed files with 1368 additions and 1318 deletions

View File

@@ -16,12 +16,15 @@
*/
package com.l2jserver.model.world.character;
import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.calculator.ActorCalculator;
import com.l2jserver.model.world.actor.stat.ActorStats;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorContext;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
import com.l2jserver.model.world.character.calculator.MaximumCPAddCalculator;
import com.l2jserver.model.world.character.calculator.MaximumCPBonusCalculator;
import com.l2jserver.model.world.character.calculator.MaximumHPAddCalculator;
@@ -74,21 +77,21 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_HP_CALCULATOR = new CharacterBaseHPCalculator();
private static final CharacterFormula BASE_HP_FORMULA = new CharacterBaseHPCalculator();
/**
* The calculator for base maximum MP
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MP_CALCULATOR = new CharacterBaseMPCalculator();
private static final CharacterFormula BASE_MP_FORMULA = new CharacterBaseMPCalculator();
/**
* The calculator for base maximum CP
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_CP_CALCULATOR = new CharacterBaseCPCalculator();
private static final CharacterFormula BASE_CP_FORMULA = new CharacterBaseCPCalculator();
/**
* The calculator for base intelligence
@@ -96,42 +99,42 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_INT_CALCULATOR = new CharacterBaseIntelligenceCalculator();
private static final CharacterFormula BASE_INT_FORMULA = new CharacterBaseIntelligenceCalculator();
/**
* The calculator for base strength
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_STR_CALCULATOR = new CharacterBaseStrengthCalculator();
private static final CharacterFormula BASE_STR_FORMULA = new CharacterBaseStrengthCalculator();
/**
* The calculator for base concentration
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_CON_CALCULATOR = new CharacterBaseConcentrationCalculator();
private static final CharacterFormula BASE_CON_FORMULA = new CharacterBaseConcentrationCalculator();
/**
* The calculator for base mentality
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MEN_CALCULATOR = new CharacterBaseMentalityCalculator();
private static final CharacterFormula BASE_MEN_FORMULA = new CharacterBaseMentalityCalculator();
/**
* The calculator for base dexterity
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_DEX_CALCULATOR = new CharacterBaseDexterityCalculator();
private static final CharacterFormula BASE_DEX_FORMULA = new CharacterBaseDexterityCalculator();
/**
* The calculator for base witness
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_WIT_CALCULATOR = new CharacterBaseWitnessCalculator();
private static final CharacterFormula BASE_WIT_FORMULA = new CharacterBaseWitnessCalculator();
/**
* The calculator for base run speed
@@ -139,14 +142,14 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_RUN_SPEED_CALCULATOR = new CharacterBaseRunSpeedCalculator();
private static final CharacterFormula BASE_RUN_SPEED_FORMULA = new CharacterBaseRunSpeedCalculator();
/**
* The calculator for base walk speed
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_WALK_SPEED_CALCULATOR = new CharacterBaseWalkSpeedCalculator();
private static final CharacterFormula BASE_WALK_SPEED_FORMULA = new CharacterBaseWalkSpeedCalculator();
/**
* The calculator base physical attack
@@ -154,28 +157,28 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_PHYSICAL_ATTACK_CALCULATOR = new CharacterBasePhysicalAttackCalculator();
private static final CharacterFormula BASE_PHYSICAL_ATTACK_FORMULA = new CharacterBasePhysicalAttackCalculator();
/**
* The calculator base physical attack speed
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_PHYSICAL_ATTACK_SPEED_CALCULATOR = new CharacterBasePhysicalAttackSpeedCalculator();
private static final CharacterFormula BASE_PHYSICAL_ATTACK_SPEED_FORMULA = new CharacterBasePhysicalAttackSpeedCalculator();
/**
* The calculator base physical attack critical rate
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_PHYSICAL_CRITICAL_RATE_CALCULATOR = new CharacterBasePhysicalCriticalRateCalculator();
private static final CharacterFormula BASE_PHYSICAL_CRITICAL_RATE_FORMULA = new CharacterBasePhysicalCriticalRateCalculator();
/**
* The calculator base physical defense
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_PHYSICAL_DEFENSE_CALCULATOR = new CharacterBasePhysicalDefenseCalculator();
private static final CharacterFormula BASE_PHYSICAL_DEFENSE_FORMULA = new CharacterBasePhysicalDefenseCalculator();
/**
* The calculator base magical attack
@@ -183,28 +186,28 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MAGICAL_ATTACK_CALCULATOR = new CharacterBaseMagicalAttackCalculator();
private static final CharacterFormula BASE_MAGICAL_ATTACK_FORMULA = new CharacterBaseMagicalAttackCalculator();
/**
* The calculator base magical attack speed
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MAGICAL_ATTACK_SPEED_CALCULATOR = new CharacterBaseMagicalAttackSpeedCalculator();
private static final CharacterFormula BASE_MAGICAL_ATTACK_SPEED_FORMULA = new CharacterBaseMagicalAttackSpeedCalculator();
/**
* The calculator base magical attack critical rate
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MAGICAL_CRITICAL_RATE_CALCULATOR = new CharacterBaseMagicalCriticalRateCalculator();
private static final CharacterFormula BASE_MAGICAL_CRITICAL_RATE_FORMULA = new CharacterBaseMagicalCriticalRateCalculator();
/**
* The calculator base magical defense
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_MAGICAL_DEFENSE_CALCULATOR = new CharacterBaseMagicalDefenseCalculator();
private static final CharacterFormula BASE_MAGICAL_DEFENSE_FORMULA = new CharacterBaseMagicalDefenseCalculator();
/**
* The calculator base attack accuracy
@@ -212,14 +215,14 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_ATTACK_ACCURACY_CALCULATOR = new CharacterBaseAttackAccuracyCalculator();
private static final CharacterFormula BASE_ATTACK_ACCURACY_FORMULA = new CharacterBaseAttackAccuracyCalculator();
/**
* The calculator base evasion
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator BASE_ATTACK_EVASION_CALCULATOR = new CharacterBaseAttackEvasionCalculator();
private static final CharacterFormula BASE_ATTACK_EVASION_FORMULA = new CharacterBaseAttackEvasionCalculator();
// BONUS
/**
@@ -228,7 +231,7 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator CP_BONUS_CALCULATOR = new MaximumCPBonusCalculator();
private static final CharacterFormula CP_BONUS_FORMULA = new MaximumCPBonusCalculator();
// ADD
/**
@@ -237,27 +240,30 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator HP_ADD_CALCULATOR = new MaximumHPAddCalculator();
private static final CharacterFormula HP_ADD_FORMULA = new MaximumHPAddCalculator();
/**
* The calculator for MP add
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator MP_ADD_CALCULATOR = new MaximumMPAddCalculator();
private static final CharacterFormula MP_ADD_FORMULA = new MaximumMPAddCalculator();
/**
* The calculator for CP add
* <p>
* <u>This calculator does not store any state and thus is safe to be
* shared.</u>
*/
private static final CharacterCalculator CP_ADD_CALCULATOR = new MaximumCPAddCalculator();
private static final CharacterFormula CP_ADD_FORMULA = new MaximumCPAddCalculator();
/**
* The character
*/
private final L2Character character;
private static final CharacterCalculator calculator = new CharacterCalculator(
StatType.class);
/**
* Creates a new {@link CharacterStats} and adds default calculators
*
@@ -267,44 +273,12 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
public CharacterStats(L2Character character) {
super();
this.character = character;
setup();
}
// base
add(StatType.MAX_HP, BASE_HP_CALCULATOR);
add(StatType.MAX_MP, BASE_MP_CALCULATOR);
add(StatType.MAX_CP, BASE_CP_CALCULATOR);
add(StatType.STAT_INT, BASE_INT_CALCULATOR);
add(StatType.STAT_STR, BASE_STR_CALCULATOR);
add(StatType.STAT_CON, BASE_CON_CALCULATOR);
add(StatType.STAT_MEN, BASE_MEN_CALCULATOR);
add(StatType.STAT_DEX, BASE_DEX_CALCULATOR);
add(StatType.STAT_WIT, BASE_WIT_CALCULATOR);
add(StatType.RUN_SPEED, BASE_RUN_SPEED_CALCULATOR);
add(StatType.WALK_SPEED, BASE_WALK_SPEED_CALCULATOR);
add(StatType.POWER_ATTACK, BASE_PHYSICAL_ATTACK_CALCULATOR);
add(StatType.POWER_ATTACK_SPEED, BASE_PHYSICAL_ATTACK_SPEED_CALCULATOR);
add(StatType.CRITICAL_RATE, BASE_PHYSICAL_CRITICAL_RATE_CALCULATOR);
add(StatType.POWER_DEFENSE, BASE_PHYSICAL_DEFENSE_CALCULATOR);
add(StatType.MAGIC_ATTACK, BASE_MAGICAL_ATTACK_CALCULATOR);
add(StatType.MAGIC_ATTACK_SPEED, BASE_MAGICAL_ATTACK_SPEED_CALCULATOR);
add(StatType.MCRITICAL_RATE, BASE_MAGICAL_CRITICAL_RATE_CALCULATOR);
add(StatType.MAGIC_DEFENSE, BASE_MAGICAL_DEFENSE_CALCULATOR);
add(StatType.ACCURACY_COMBAT, BASE_ATTACK_ACCURACY_CALCULATOR);
add(StatType.EVASION_RATE, BASE_ATTACK_EVASION_CALCULATOR);
// add hp/mp/cp add functions
add(StatType.MAX_HP, HP_ADD_CALCULATOR);
add(StatType.MAX_MP, MP_ADD_CALCULATOR);
add(StatType.MAX_CP, CP_ADD_CALCULATOR);
// bonus
add(StatType.MAX_CP, CP_BONUS_CALCULATOR);
// TODO henna stats calculators
@Override
protected ActorCalculator getCalculator() {
return calculator;
}
/**
@@ -321,15 +295,53 @@ public class CharacterStats extends ActorStats<CharacterCalculatorContext> {
return (int) calc(StatType.MAX_LOAD);
}
@Override
public void updateCalculators() {
super.updateCalculators();
if (character.getInventory().has(InventoryPaperdoll.RIGHT_HAND)) {
add(StatType.POWER_ATTACK,
character.getInventory()
.getItem(InventoryPaperdoll.RIGHT_HAND)
.getTemplateID().getTemplate().getPhysicalDamage());
}
@SuppressWarnings("unchecked")
private void setup() {
calculator.addNoSort(BASE_HP_FORMULA, BASE_MP_FORMULA,
BASE_CP_FORMULA);
calculator.addNoSort(BASE_INT_FORMULA, BASE_STR_FORMULA,
BASE_CON_FORMULA, BASE_MEN_FORMULA, BASE_DEX_FORMULA,
BASE_WIT_FORMULA);
calculator.addNoSort(BASE_RUN_SPEED_FORMULA, BASE_WALK_SPEED_FORMULA);
calculator.addNoSort(BASE_PHYSICAL_ATTACK_FORMULA,
BASE_PHYSICAL_ATTACK_SPEED_FORMULA,
BASE_PHYSICAL_CRITICAL_RATE_FORMULA,
BASE_PHYSICAL_DEFENSE_FORMULA);
calculator.addNoSort(BASE_MAGICAL_ATTACK_FORMULA,
BASE_MAGICAL_ATTACK_SPEED_FORMULA,
BASE_MAGICAL_CRITICAL_RATE_FORMULA,
BASE_MAGICAL_DEFENSE_FORMULA);
calculator.addNoSort(BASE_ATTACK_ACCURACY_FORMULA,
BASE_ATTACK_EVASION_FORMULA);
// add hp/mp/cp add functions
calculator.addNoSort(HP_ADD_FORMULA, MP_ADD_FORMULA, CP_ADD_FORMULA);
// bonus
calculator.addNoSort(CP_BONUS_FORMULA);
addTo(calculator);
calculator.sort();
}
public void updateCalculator() {
calculator.clear();
setup();
addItem(InventoryPaperdoll.RIGHT_HAND);
}
private void addItem(InventoryPaperdoll paperdoll) {
if (!character.getInventory().has(paperdoll))
return;
final ItemTemplate item = character.getInventory().getItem(paperdoll)
.getTemplate();
calculator.add(item.getPhysicalDamage());
calculator.add(item.getMagicalDamage());
}
@Override

View File

@@ -17,6 +17,9 @@
package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.world.actor.calculator.ActorCalculator;
import com.l2jserver.model.world.actor.calculator.ActorCalculatorContext;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.util.calculator.Calculator;
/**
* An calculator for character formulas.
@@ -24,7 +27,8 @@ import com.l2jserver.model.world.actor.calculator.ActorCalculator;
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterCalculator extends ActorCalculator {
public CharacterCalculator(CharacterCalculatorFunction... functions) {
super(functions);
public CharacterCalculator(Class<StatType> type,
Calculator<ActorCalculatorContext, StatType>... calculators) {
super(type, calculators);
}
}

View File

@@ -21,6 +21,7 @@ import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.Actor;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.calculator.ActorCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* An calculator for character formulas.
@@ -29,8 +30,8 @@ import com.l2jserver.model.world.actor.calculator.ActorCalculatorFunction;
*/
public abstract class CharacterCalculatorFunction extends
ActorCalculatorFunction {
public CharacterCalculatorFunction(int order) {
super(order);
public CharacterCalculatorFunction(int order, StatType type) {
super(order, type);
}
@Override

View File

@@ -0,0 +1,30 @@
/*
* This file is part of l2jserver <l2jserver.com>.
*
* l2jserver is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* l2jserver is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with l2jserver. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* An calculator for character formulas.
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public abstract class CharacterFormula extends CharacterCalculatorFunction {
public CharacterFormula(int order, StatType type) {
super(order, type);
}
}

View File

@@ -18,6 +18,7 @@ package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* Calculates the character base CP
@@ -32,19 +33,17 @@ import com.l2jserver.model.world.L2Character;
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class MaximumCPAddCalculator extends CharacterCalculator {
public class MaximumCPAddCalculator extends CharacterFormula {
public MaximumCPAddCalculator() {
super(new CharacterCalculatorFunction(0x100) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseCPModifier() * lvl;
double max = (t.getBaseCPAdd() + mod) * lvl;
double min = (t.getBaseCPAdd() * lvl) + mod;
super(0x100, StatType.MAX_CP);
}
return value + (max + min) / 2;
}
});
protected double calculate(L2Character c, CharacterTemplate t, double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseCPModifier() * lvl;
double max = (t.getBaseCPAdd() + mod) * lvl;
double min = (t.getBaseCPAdd() * lvl) + mod;
return value + (max + min) / 2;
}
}

View File

@@ -19,6 +19,7 @@ package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.stat.BaseStats;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* Calculates the character base CP
@@ -33,16 +34,13 @@ import com.l2jserver.model.world.actor.stat.BaseStats;
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class MaximumCPBonusCalculator extends CharacterCalculator {
public class MaximumCPBonusCalculator extends CharacterFormula {
public MaximumCPBonusCalculator() {
super(new CharacterCalculatorFunction(0x100) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return value
* BaseStats.CON.calculateBonus(c.getStats()
.getConcentration());
}
});
super(0x100, StatType.MAX_CP);
}
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return value
* BaseStats.CON.calculateBonus(c.getStats().getConcentration());
}
}

View File

@@ -18,6 +18,7 @@ package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* Calculates the character maximum HP
@@ -32,19 +33,17 @@ import com.l2jserver.model.world.L2Character;
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class MaximumHPAddCalculator extends CharacterCalculator {
public class MaximumHPAddCalculator extends CharacterFormula {
public MaximumHPAddCalculator() {
super(new CharacterCalculatorFunction(0x100) {
@Override
public double calculate(L2Character c, CharacterTemplate t,
double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseHPModifier() * lvl;
double max = (t.getBaseHPAdd() + mod) * lvl;
double min = (t.getBaseHPAdd() * lvl) + mod;
super(0x100, StatType.MAX_HP);
}
return value + (max + min) / 2;
}
});
public double calculate(L2Character c, CharacterTemplate t, double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseHPModifier() * lvl;
double max = (t.getBaseHPAdd() + mod) * lvl;
double min = (t.getBaseHPAdd() * lvl) + mod;
return value + (max + min) / 2;
}
}

View File

@@ -18,6 +18,7 @@ package com.l2jserver.model.world.character.calculator;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.actor.stat.StatType;
/**
* Calculates the character base MP
@@ -32,19 +33,18 @@ import com.l2jserver.model.world.L2Character;
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class MaximumMPAddCalculator extends CharacterCalculator {
public class MaximumMPAddCalculator extends CharacterFormula {
public MaximumMPAddCalculator() {
super(new CharacterCalculatorFunction(0x100) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseMPModifier() * lvl;
double max = (t.getBaseMPAdd() + mod) * lvl;
double min = (t.getBaseMPAdd() * lvl) + mod;
super(0x100, StatType.MAX_MP);
}
return value + (max + min) / 2;
}
});
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
int lvl = c.getLevel() - t.getMinimumLevel();
double mod = t.getBaseMPModifier() * lvl;
double max = (t.getBaseMPAdd() + mod) * lvl;
double min = (t.getBaseMPAdd() * lvl) + mod;
return value + (max + min) / 2;
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base accuracy.
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseAttackAccuracyCalculator extends CharacterCalculator {
public class CharacterBaseAttackAccuracyCalculator extends CharacterFormula {
public CharacterBaseAttackAccuracyCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseAccuracy();
}
});
super(0x000, StatType.ACCURACY_COMBAT);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseAccuracy();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character evasion
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseAttackEvasionCalculator extends CharacterCalculator {
public class CharacterBaseAttackEvasionCalculator extends CharacterFormula {
public CharacterBaseAttackEvasionCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseEvasion();
}
});
super(0x000, StatType.EVASION_RATE);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseEvasion();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character maximum CP
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseCPCalculator extends CharacterCalculator {
public class CharacterBaseCPCalculator extends CharacterFormula {
public CharacterBaseCPCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
public double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseCP();
}
});
super(0x000, StatType.MAX_CP);
}
@Override
public double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseCP();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character concentration
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseConcentrationCalculator extends CharacterCalculator {
public class CharacterBaseConcentrationCalculator extends CharacterFormula {
public CharacterBaseConcentrationCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseConcentration();
}
});
super(0x000, StatType.STAT_CON);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseConcentration();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base dexterity
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseDexterityCalculator extends CharacterCalculator {
public class CharacterBaseDexterityCalculator extends CharacterFormula {
public CharacterBaseDexterityCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseDexterity();
}
});
super(0x000, StatType.STAT_DEX);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseDexterity();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character maximum HP
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseHPCalculator extends CharacterCalculator {
public class CharacterBaseHPCalculator extends CharacterFormula {
public CharacterBaseHPCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
public double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseHP();
}
});
super(0x000, StatType.MAX_HP);
}
@Override
public double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseHP();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base intelligence
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseIntelligenceCalculator extends CharacterCalculator {
public class CharacterBaseIntelligenceCalculator extends CharacterFormula {
public CharacterBaseIntelligenceCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseIntelligence();
}
});
super(0x000, StatType.STAT_INT);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseIntelligence();
}
}

View File

@@ -18,11 +18,11 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character maximum HP
* Calculates the character maximum MP
*
* <pre>
* return c.getTemplate().getBaseMP();
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMPCalculator extends CharacterCalculator {
public class CharacterBaseMPCalculator extends CharacterFormula {
public CharacterBaseMPCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
public double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseBaseMP();
}
});
super(0x000, StatType.MAX_MP);
}
@Override
public double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseBaseMP();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base magical attack
@@ -31,14 +31,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMagicalAttackCalculator extends CharacterCalculator {
public class CharacterBaseMagicalAttackCalculator extends CharacterFormula {
public CharacterBaseMagicalAttackCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseMagicalAttack();
}
});
super(0x000, StatType.MAGIC_ATTACK);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseMagicalAttack();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the base magical attack speed
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMagicalAttackSpeedCalculator extends CharacterCalculator {
public class CharacterBaseMagicalAttackSpeedCalculator extends CharacterFormula {
public CharacterBaseMagicalAttackSpeedCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseMagicalAttackSpeed();
}
});
super(0x000, StatType.MAGIC_ATTACK_SPEED);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseMagicalAttackSpeed();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the base magical attack critical rate
@@ -32,14 +32,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMagicalCriticalRateCalculator extends
CharacterCalculator {
CharacterFormula {
public CharacterBaseMagicalCriticalRateCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseCritical();
}
});
super(0x000, StatType.MCRITICAL_RATE);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseCritical();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base magical defense.
@@ -41,14 +41,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMagicalDefenseCalculator extends CharacterCalculator {
public class CharacterBaseMagicalDefenseCalculator extends CharacterFormula {
public CharacterBaseMagicalDefenseCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseMagicalDefense();
}
});
super(0x000, StatType.MAGIC_DEFENSE);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseMagicalDefense();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base mentality
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseMentalityCalculator extends CharacterCalculator {
public class CharacterBaseMentalityCalculator extends CharacterFormula {
public CharacterBaseMentalityCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseMentality();
}
});
super(0x000, StatType.STAT_MEN);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseMentality();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base physical attack
@@ -32,14 +32,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBasePhysicalAttackCalculator extends CharacterCalculator {
public class CharacterBasePhysicalAttackCalculator extends CharacterFormula {
public CharacterBasePhysicalAttackCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBasePhysicalAttack();
}
});
super(0x000, StatType.POWER_ATTACK);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBasePhysicalAttack();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base physical attack speed
@@ -32,14 +32,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBasePhysicalAttackSpeedCalculator extends
CharacterCalculator {
CharacterFormula {
public CharacterBasePhysicalAttackSpeedCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBasePhysicalAttackSpeed();
}
});
super(0x000, StatType.POWER_ATTACK_SPEED);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBasePhysicalAttackSpeed();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base critical rate
@@ -33,14 +33,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBasePhysicalCriticalRateCalculator extends
CharacterCalculator {
CharacterFormula {
public CharacterBasePhysicalCriticalRateCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseCritical();
}
});
super(0x000, StatType.CRITICAL_RATE);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseCritical();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base physical defense
@@ -43,14 +43,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBasePhysicalDefenseCalculator extends CharacterCalculator {
public class CharacterBasePhysicalDefenseCalculator extends CharacterFormula {
public CharacterBasePhysicalDefenseCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBasePhysicalDefense();
}
});
super(0x000, StatType.POWER_DEFENSE);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBasePhysicalDefense();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base run speed
@@ -31,14 +31,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseRunSpeedCalculator extends CharacterCalculator {
public class CharacterBaseRunSpeedCalculator extends CharacterFormula {
public CharacterBaseRunSpeedCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseRunSpeed();
}
});
super(0x000, StatType.RUN_SPEED);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseRunSpeed();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base strength
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseStrengthCalculator extends CharacterCalculator {
public class CharacterBaseStrengthCalculator extends CharacterFormula {
public CharacterBaseStrengthCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseStrength();
}
});
super(0x000, StatType.STAT_STR);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseStrength();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base walk speed
@@ -31,14 +31,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseWalkSpeedCalculator extends CharacterCalculator {
public class CharacterBaseWalkSpeedCalculator extends CharacterFormula {
public CharacterBaseWalkSpeedCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseWalkSpeed();
}
});
super(0x000, StatType.WALK_SPEED);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseWalkSpeed();
}
}

View File

@@ -18,8 +18,8 @@ package com.l2jserver.model.world.character.calculator.base;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.character.calculator.CharacterCalculator;
import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunction;
import com.l2jserver.model.world.actor.stat.StatType;
import com.l2jserver.model.world.character.calculator.CharacterFormula;
/**
* Calculates the character base witness
@@ -30,14 +30,13 @@ import com.l2jserver.model.world.character.calculator.CharacterCalculatorFunctio
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class CharacterBaseWitnessCalculator extends CharacterCalculator {
public class CharacterBaseWitnessCalculator extends CharacterFormula {
public CharacterBaseWitnessCalculator() {
super(new CharacterCalculatorFunction(0x000) {
@Override
protected double calculate(L2Character c, CharacterTemplate t,
double value) {
return t.getBaseWitness();
}
});
super(0x000, StatType.STAT_WIT);
}
@Override
protected double calculate(L2Character c, CharacterTemplate t, double value) {
return t.getBaseWitness();
}
}