Код:
public class FuncMaxHpAdd extends Func {
@Getter(lazy=true) private final static FuncMaxHpAdd instance = new FuncMaxHpAdd();
private FuncMaxHpAdd() {
super(Stats.MAX_HP, 0x10, null);
}
@Override
protected void calc(Env env) {
PlayerTemplate t = env.player.getPlayer().getTemplate();
int lvl = env.player.getLevel() - t.getClassBaseLevel();
double hpmod = t.getLvlHpMod() * lvl;
double hpmax = (t.getLvlHpAdd() + hpmod) * lvl;
double hpmin = (t.getLvlHpAdd() * lvl) + hpmod;
env.value += (hpmax + hpmin) / 2;
}
}
Код:
public class FuncMaxHpMul extends Func {
@Getter(lazy=true) private final static FuncMaxHpMul instance = new FuncMaxHpMul();
private FuncMaxHpMul() {
super(Stats.MAX_HP, 0x20, null);
}
@Override
protected void calc(Env env) {
env.value *= Formula.getInstance().getParameterBonus().getBonus(Parameter.CON, env.player);
}
}
Код:
public class FuncMaxMpAdd extends Func {
@Getter(lazy=true) private final static FuncMaxMpAdd instance = new FuncMaxMpAdd();
private FuncMaxMpAdd() {
super(Stats.MAX_MP, 0x10, null);
}
@Override
protected void calc(Env env) {
PlayerTemplate t = env.player.getPlayer().getTemplate();
int lvl = env.player.getLevel() - t.getClassBaseLevel();
double mpmod = t.getLvlMpMod() * lvl;
double mpmax = (t.getLvlMpAdd() + mpmod) * lvl;
double mpmin = (t.getLvlMpAdd() * lvl) + mpmod;
env.value += (mpmax + mpmin) / 2;
}
}
Код:
public class FuncMaxMpMul extends Func {
@Getter(lazy=true) private final static FuncMaxMpMul instance = new FuncMaxMpMul();
private FuncMaxMpMul() {
super(Stats.MAX_MP, 0x20, null);
}
@Override
protected void calc(Env env) {
env.value *= Formula.getInstance().getParameterBonus().getBonus(Parameter.MEN, env.player);
}
}
Код:
@Override
public double getBonus(Parameter parameter, L2Character actor) {
return (getRawBonus(parameter, actor) + 100.d) / 100.d;
}
@Override
public double getRawBonus(Parameter parameter, L2Character actor) {
int level = Math.min(99, Math.max(1, parameter.getLevel(actor)));
return ParameterData.getInstance().getParameterInt(parameter, level);
}
Код:
CON {
@Override
public int getLevel(L2Character actor) {
return actor.getStat().getCON();
}
},
MEN {
@Override
public int getLevel(L2Character actor) {
return actor.getStat().getMEN();
}
},
Код:
<list>
<con>
<set key="1" value="-54"/>
<set key="2" value="-53"/>
<set key="3" value="-52"/>
<set key="4" value="-50"/>
<set key="5" value="-49"/>
<set key="6" value="-47"/>
<set key="7" value="-46"/>
<set key="8" value="-44"/>
<set key="9" value="-42"/>
<set key="10" value="-41"/>
<set key="11" value="-39"/>
<set key="12" value="-37"/>
<set key="13" value="-35"/>
<set key="14" value="-33"/>
<set key="15" value="-31"/>
<set key="16" value="-29"/>
<set key="17" value="-27"/>
<set key="18" value="-25"/>
<set key="19" value="-23"/>
<set key="20" value="-20"/>
<set key="21" value="-18"/>
<set key="22" value="-15"/>
<set key="23" value="-13"/>
<set key="24" value="-10"/>
<set key="25" value="-7"/>
<set key="26" value="-5"/>
<set key="27" value="-2"/>
<set key="28" value="1"/>
<set key="29" value="4"/>
<set key="30" value="7"/>
<set key="31" value="10"/>
<set key="32" value="14"/>
<set key="33" value="17"/>
<set key="34" value="21"/>
<set key="35" value="24"/>
<set key="36" value="28"/>
<set key="37" value="32"/>
<set key="38" value="36"/>
<set key="39" value="40"/>
<set key="40" value="44"/>
<set key="41" value="48"/>
<set key="42" value="53"/>
<set key="43" value="58"/>
<set key="44" value="62"/>
<set key="45" value="67"/>
<set key="46" value="72"/>
<set key="47" value="77"/>
<set key="48" value="83"/>
<set key="49" value="88"/>
<set key="50" value="94"/>
<set key="51" value="100"/>
<set key="52" value="106"/>
<set key="53" value="112"/>
<set key="54" value="118"/>
<set key="55" value="125"/>
<set key="56" value="131"/>
<set key="57" value="138"/>
<set key="58" value="145"/>
<set key="59" value="153"/>
<set key="60" value="160"/>
<set key="61" value="168"/>
<set key="62" value="176"/>
<set key="63" value="184"/>
<set key="64" value="193"/>
<set key="65" value="202"/>
<set key="66" value="211"/>
<set key="67" value="220"/>
<set key="68" value="230"/>
<set key="69" value="240"/>
<set key="70" value="250"/>
<set key="71" value="260"/>
<set key="72" value="271"/>
<set key="73" value="282"/>
<set key="74" value="294"/>
<set key="75" value="306"/>
<set key="76" value="318"/>
<set key="77" value="330"/>
<set key="78" value="343"/>
<set key="79" value="356"/>
<set key="80" value="370"/>
<set key="81" value="384"/>
<set key="82" value="399"/>
<set key="83" value="414"/>
<set key="84" value="429"/>
<set key="85" value="445"/>
<set key="86" value="461"/>
<set key="87" value="478"/>
<set key="88" value="496"/>
<set key="89" value="513"/>
<set key="90" value="532"/>
<set key="91" value="551"/>
<set key="92" value="570"/>
<set key="93" value="590"/>
<set key="94" value="611"/>
<set key="95" value="633"/>
<set key="96" value="654"/>
<set key="97" value="677"/>
<set key="98" value="700"/>
<set key="99" value="724"/>
</con>
<men>
<set key="1" value="1"/>
<set key="2" value="2"/>
<set key="3" value="3"/>
<set key="4" value="4"/>
<set key="5" value="5"/>
<set key="6" value="6"/>
<set key="7" value="7"/>
<set key="8" value="8"/>
<set key="9" value="9"/>
<set key="10" value="11"/>
<set key="11" value="12"/>
<set key="12" value="13"/>
<set key="13" value="14"/>
<set key="14" value="15"/>
<set key="15" value="16"/>
<set key="16" value="17"/>
<set key="17" value="19"/>
<set key="18" value="20"/>
<set key="19" value="21"/>
<set key="20" value="22"/>
<set key="21" value="23"/>
<set key="22" value="25"/>
<set key="23" value="26"/>
<set key="24" value="27"/>
<set key="25" value="28"/>
<set key="26" value="30"/>
<set key="27" value="31"/>
<set key="28" value="32"/>
<set key="29" value="34"/>
<set key="30" value="35"/>
<set key="31" value="36"/>
<set key="32" value="38"/>
<set key="33" value="39"/>
<set key="34" value="40"/>
<set key="35" value="42"/>
<set key="36" value="43"/>
<set key="37" value="45"/>
<set key="38" value="46"/>
<set key="39" value="48"/>
<set key="40" value="49"/>
<set key="41" value="50"/>
<set key="42" value="52"/>
<set key="43" value="53"/>
<set key="44" value="55"/>
<set key="45" value="57"/>
<set key="46" value="58"/>
<set key="47" value="60"/>
<set key="48" value="61"/>
<set key="49" value="63"/>
<set key="50" value="65"/>
<set key="51" value="66"/>
<set key="52" value="68"/>
<set key="53" value="70"/>
<set key="54" value="71"/>
<set key="55" value="73"/>
<set key="56" value="75"/>
<set key="57" value="76"/>
<set key="58" value="78"/>
<set key="59" value="80"/>
<set key="60" value="82"/>
<set key="61" value="84"/>
<set key="62" value="85"/>
<set key="63" value="87"/>
<set key="64" value="89"/>
<set key="65" value="91"/>
<set key="66" value="93"/>
<set key="67" value="95"/>
<set key="68" value="97"/>
<set key="69" value="99"/>
<set key="70" value="101"/>
<set key="71" value="103"/>
<set key="72" value="105"/>
<set key="73" value="107"/>
<set key="74" value="109"/>
<set key="75" value="111"/>
<set key="76" value="113"/>
<set key="77" value="115"/>
<set key="78" value="117"/>
<set key="79" value="120"/>
<set key="80" value="122"/>
<set key="81" value="124"/>
<set key="82" value="126"/>
<set key="83" value="129"/>
<set key="84" value="131"/>
<set key="85" value="133"/>
<set key="86" value="135"/>
<set key="87" value="138"/>
<set key="88" value="140"/>
<set key="89" value="143"/>
<set key="90" value="145"/>
<set key="91" value="147"/>
<set key="92" value="150"/>
<set key="93" value="152"/>
<set key="94" value="155"/>
<set key="95" value="158"/>
<set key="96" value="160"/>
<set key="97" value="163"/>
<set key="98" value="165"/>
<set key="99" value="168"/>
</men>
</list>