|
@@ -24,7 +24,6 @@ import com.l2jserver.gameserver.model.stats.Stats;
|
|
|
|
|
|
public class FuncEnchant extends Func
|
|
|
{
|
|
|
-
|
|
|
public FuncEnchant(Stats pStat, int pOrder, Object owner, Lambda lambda)
|
|
|
{
|
|
|
super(pStat, pOrder, owner);
|
|
@@ -33,14 +32,18 @@ public class FuncEnchant extends Func
|
|
|
@Override
|
|
|
public void calc(Env env)
|
|
|
{
|
|
|
- if (cond != null && !cond.test(env))
|
|
|
+ if ((cond != null) && !cond.test(env))
|
|
|
+ {
|
|
|
return;
|
|
|
+ }
|
|
|
L2ItemInstance item = (L2ItemInstance) funcOwner;
|
|
|
|
|
|
int enchant = item.getEnchantLevel();
|
|
|
|
|
|
if (enchant <= 0)
|
|
|
+ {
|
|
|
return;
|
|
|
+ }
|
|
|
|
|
|
int overenchant = 0;
|
|
|
|
|
@@ -50,11 +53,10 @@ public class FuncEnchant extends Func
|
|
|
enchant = 3;
|
|
|
}
|
|
|
|
|
|
- if (env.player != null && env.player instanceof L2PcInstance)
|
|
|
+ if (env.getPlayer() != null)
|
|
|
{
|
|
|
- L2PcInstance player = (L2PcInstance)env.player;
|
|
|
- if (player.isInOlympiadMode() && Config.ALT_OLY_ENCHANT_LIMIT >= 0 &&
|
|
|
- (enchant + overenchant) > Config.ALT_OLY_ENCHANT_LIMIT)
|
|
|
+ L2PcInstance player = env.getPlayer();
|
|
|
+ if (player.isInOlympiadMode() && (Config.ALT_OLY_ENCHANT_LIMIT >= 0) && ((enchant + overenchant) > Config.ALT_OLY_ENCHANT_LIMIT))
|
|
|
{
|
|
|
if (Config.ALT_OLY_ENCHANT_LIMIT > 3)
|
|
|
{
|
|
@@ -68,9 +70,9 @@ public class FuncEnchant extends Func
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (stat == Stats.MAGIC_DEFENCE || stat == Stats.POWER_DEFENCE)
|
|
|
+ if ((stat == Stats.MAGIC_DEFENCE) || (stat == Stats.POWER_DEFENCE))
|
|
|
{
|
|
|
- env.value += enchant + 3 * overenchant;
|
|
|
+ env.addValue(enchant + (3 * overenchant));
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -81,40 +83,38 @@ public class FuncEnchant extends Func
|
|
|
case L2Item.CRYSTAL_S:
|
|
|
// M. Atk. increases by 4 for all weapons.
|
|
|
// Starting at +4, M. Atk. bonus double.
|
|
|
- env.value += 4 * enchant + 8 * overenchant;
|
|
|
+ env.addValue((4 * enchant) + (8 * overenchant));
|
|
|
break;
|
|
|
case L2Item.CRYSTAL_A:
|
|
|
case L2Item.CRYSTAL_B:
|
|
|
case L2Item.CRYSTAL_C:
|
|
|
// M. Atk. increases by 3 for all weapons.
|
|
|
// Starting at +4, M. Atk. bonus double.
|
|
|
- env.value += 3 * enchant + 6 * overenchant;
|
|
|
+ env.addValue((3 * enchant) + (6 * overenchant));
|
|
|
break;
|
|
|
case L2Item.CRYSTAL_D:
|
|
|
case L2Item.CRYSTAL_NONE:
|
|
|
// M. Atk. increases by 2 for all weapons. Starting at +4, M. Atk. bonus double.
|
|
|
// Starting at +4, M. Atk. bonus double.
|
|
|
- env.value += 2 * enchant + 4 * overenchant;
|
|
|
+ env.addValue((2 * enchant) + (4 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if (item.isWeapon())
|
|
|
{
|
|
|
- L2WeaponType type = (L2WeaponType) item.getItemType();
|
|
|
-
|
|
|
+ final L2WeaponType type = (L2WeaponType) item.getItemType();
|
|
|
switch (item.getItem().getItemGradeSPlus())
|
|
|
{
|
|
|
case L2Item.CRYSTAL_S:
|
|
|
- switch(type)
|
|
|
+ switch (type)
|
|
|
{
|
|
|
case BOW:
|
|
|
case CROSSBOW:
|
|
|
// P. Atk. increases by 10 for bows.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 10 * enchant + 20 * overenchant;
|
|
|
+ env.addValue((10 * enchant) + (20 * overenchant));
|
|
|
break;
|
|
|
case BIGSWORD:
|
|
|
case BIGBLUNT:
|
|
@@ -124,23 +124,23 @@ public class FuncEnchant extends Func
|
|
|
case DUALDAGGER:
|
|
|
// P. Atk. increases by 6 for two-handed swords, two-handed blunts, dualswords, and two-handed combat weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 6 * enchant + 12 * overenchant;
|
|
|
+ env.addValue((6 * enchant) + (12 * overenchant));
|
|
|
break;
|
|
|
default:
|
|
|
// P. Atk. increases by 5 for one-handed swords, one-handed blunts, daggers, spears, and other weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 5 * enchant + 10 * overenchant;
|
|
|
+ env.addValue((5 * enchant) + (10 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
case L2Item.CRYSTAL_A:
|
|
|
- switch(type)
|
|
|
+ switch (type)
|
|
|
{
|
|
|
case BOW:
|
|
|
case CROSSBOW:
|
|
|
// P. Atk. increases by 8 for bows.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 8 * enchant + 16 * overenchant;
|
|
|
+ env.addValue((8 * enchant) + (16 * overenchant));
|
|
|
break;
|
|
|
case BIGSWORD:
|
|
|
case BIGBLUNT:
|
|
@@ -150,24 +150,24 @@ public class FuncEnchant extends Func
|
|
|
case DUALDAGGER:
|
|
|
// P. Atk. increases by 5 for two-handed swords, two-handed blunts, dualswords, and two-handed combat weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 5 * enchant + 10 * overenchant;
|
|
|
+ env.addValue((5 * enchant) + (10 * overenchant));
|
|
|
break;
|
|
|
default:
|
|
|
// P. Atk. increases by 4 for one-handed swords, one-handed blunts, daggers, spears, and other weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 4 * enchant + 8 * overenchant;
|
|
|
+ env.addValue((4 * enchant) + (8 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
case L2Item.CRYSTAL_B:
|
|
|
case L2Item.CRYSTAL_C:
|
|
|
- switch(type)
|
|
|
+ switch (type)
|
|
|
{
|
|
|
case BOW:
|
|
|
case CROSSBOW:
|
|
|
// P. Atk. increases by 6 for bows.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 6 * enchant + 12 * overenchant;
|
|
|
+ env.addValue((6 * enchant) + (12 * overenchant));
|
|
|
break;
|
|
|
case BIGSWORD:
|
|
|
case BIGBLUNT:
|
|
@@ -177,31 +177,31 @@ public class FuncEnchant extends Func
|
|
|
case DUALDAGGER:
|
|
|
// P. Atk. increases by 4 for two-handed swords, two-handed blunts, dualswords, and two-handed combat weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 4 * enchant + 8 * overenchant;
|
|
|
+ env.addValue((4 * enchant) + (8 * overenchant));
|
|
|
break;
|
|
|
default:
|
|
|
// P. Atk. increases by 3 for one-handed swords, one-handed blunts, daggers, spears, and other weapons.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 3 * enchant + 6 * overenchant;
|
|
|
+ env.addValue((3 * enchant) + (6 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
break;
|
|
|
case L2Item.CRYSTAL_D:
|
|
|
case L2Item.CRYSTAL_NONE:
|
|
|
- switch(type)
|
|
|
+ switch (type)
|
|
|
{
|
|
|
case BOW:
|
|
|
case CROSSBOW:
|
|
|
{
|
|
|
// Bows increase by 4.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 4 * enchant + 8 * overenchant;
|
|
|
+ env.addValue((4 * enchant) + (8 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
default:
|
|
|
// P. Atk. increases by 2 for all weapons with the exception of bows.
|
|
|
// Starting at +4, P. Atk. bonus double.
|
|
|
- env.value += 2 * enchant + 4 * overenchant;
|
|
|
+ env.addValue((2 * enchant) + (4 * overenchant));
|
|
|
break;
|
|
|
}
|
|
|
break;
|