diff --git a/trunk/dist/game/data/scripts/handlers/actionshifthandlers/L2NpcActionShift.java b/trunk/dist/game/data/scripts/handlers/actionshifthandlers/L2NpcActionShift.java
index 850ebd10f7..dc256523cf 100644
--- a/trunk/dist/game/data/scripts/handlers/actionshifthandlers/L2NpcActionShift.java
+++ b/trunk/dist/game/data/scripts/handlers/actionshifthandlers/L2NpcActionShift.java
@@ -78,10 +78,10 @@ public class L2NpcActionShift implements IActionShiftHandler
html.replace("%mp%", String.valueOf((int) ((L2Character) target).getCurrentMp()));
html.replace("%mpmax%", String.valueOf(((L2Character) target).getMaxMp()));
- html.replace("%patk%", String.valueOf(((L2Character) target).getPAtk(null)));
- html.replace("%matk%", String.valueOf(((L2Character) target).getMAtk(null, null)));
- html.replace("%pdef%", String.valueOf(((L2Character) target).getPDef(null)));
- html.replace("%mdef%", String.valueOf(((L2Character) target).getMDef(null, null)));
+ html.replace("%patk%", String.valueOf((int) ((L2Character) target).getPAtk(null)));
+ html.replace("%matk%", String.valueOf((int) ((L2Character) target).getMAtk(null, null)));
+ html.replace("%pdef%", String.valueOf((int) ((L2Character) target).getPDef(null)));
+ html.replace("%mdef%", String.valueOf((int) ((L2Character) target).getMDef(null, null)));
html.replace("%accu%", String.valueOf(((L2Character) target).getAccuracy()));
html.replace("%evas%", String.valueOf(((L2Character) target).getEvasionRate(null)));
html.replace("%crit%", String.valueOf(((L2Character) target).getCriticalHit(null, null)));
@@ -126,8 +126,8 @@ public class L2NpcActionShift implements IActionShiftHandler
html.replace("%spawntype%", "Fixed");
html.replace("%spawn%", ((L2Npc) target).getSpawn().getX() + " " + ((L2Npc) target).getSpawn().getY() + " " + ((L2Npc) target).getSpawn().getZ());
}
- html.replace("%loc2d%", String.valueOf((int) target.calculateDistance(((L2Npc) target).getSpawn().getLocation(target), false, false)));
- html.replace("%loc3d%", String.valueOf((int) target.calculateDistance(((L2Npc) target).getSpawn().getLocation(target), true, false)));
+ html.replace("%loc2d%", String.valueOf((int) activeChar.calculateDistance(((L2Npc) target).getSpawn().getLocation(target), false, false)));
+ html.replace("%loc3d%", String.valueOf((int) activeChar.calculateDistance(((L2Npc) target).getSpawn().getLocation(target), true, false)));
if (((L2Npc) target).getSpawn().getRespawnMinDelay() == 0)
{
html.replace("%resp%", "None");
diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
index 3c476ec46c..9894cea787 100644
--- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
+++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEditChar.java
@@ -1000,10 +1000,10 @@ public class AdminEditChar implements IAdminCommandHandler
adminReply.replace("%currentload%", String.valueOf(player.getCurrentLoad()));
adminReply.replace("%maxload%", String.valueOf(player.getMaxLoad()));
adminReply.replace("%percent%", String.valueOf(Util.roundTo(((float) player.getCurrentLoad() / (float) player.getMaxLoad()) * 100, 2)));
- adminReply.replace("%patk%", String.valueOf(player.getPAtk(null)));
- adminReply.replace("%matk%", String.valueOf(player.getMAtk(null, null)));
- adminReply.replace("%pdef%", String.valueOf(player.getPDef(null)));
- adminReply.replace("%mdef%", String.valueOf(player.getMDef(null, null)));
+ adminReply.replace("%patk%", String.valueOf((int) player.getPAtk(null)));
+ adminReply.replace("%matk%", String.valueOf((int) player.getMAtk(null, null)));
+ adminReply.replace("%pdef%", String.valueOf((int) player.getPDef(null)));
+ adminReply.replace("%mdef%", String.valueOf((int) player.getMDef(null, null)));
adminReply.replace("%accuracy%", String.valueOf(player.getAccuracy()));
adminReply.replace("%evasion%", String.valueOf(player.getEvasionRate(null)));
adminReply.replace("%critical%", String.valueOf(player.getCriticalHit(null, null)));
diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminFightCalculator.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminFightCalculator.java
index 1148886b3f..e5f6c4da44 100644
--- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminFightCalculator.java
+++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminFightCalculator.java
@@ -222,7 +222,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
{
shld1++;
}
- boolean _crit1 = Formulas.calcCrit(npc1.getCriticalHit(npc2, null), false, npc2);
+ boolean _crit1 = Formulas.calcCrit(npc1, npc2);
if (_crit1)
{
crit1++;
@@ -255,7 +255,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
{
shld2++;
}
- boolean _crit2 = Formulas.calcCrit(npc2.getCriticalHit(npc1, null), false, npc1);
+ boolean _crit2 = Formulas.calcCrit(npc2, npc1);
if (_crit2)
{
crit2++;
diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminHeal.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminHeal.java
index bcb92e4fc0..2f4056a8c1 100644
--- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminHeal.java
+++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminHeal.java
@@ -44,7 +44,6 @@ public class AdminHeal implements IAdminCommandHandler
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
-
if (command.equals("admin_heal"))
{
handleHeal(activeChar);
diff --git a/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java b/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
index dc791c2c9f..9879d05d0c 100644
--- a/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
+++ b/trunk/dist/game/data/scripts/handlers/bypasshandlers/NpcViewMod.java
@@ -187,11 +187,11 @@ public class NpcViewMod implements IBypassHandler
html.replace("%atktype%", Util.capitalizeFirst(npc.getAttackType().name().toLowerCase()));
html.replace("%atkrange%", npc.getStat().getPhysicalAttackRange());
- html.replace("%patk%", npc.getPAtk(activeChar));
- html.replace("%pdef%", npc.getPDef(activeChar));
+ html.replace("%patk%", (int) npc.getPAtk(activeChar));
+ html.replace("%pdef%", (int) npc.getPDef(activeChar));
- html.replace("%matk%", npc.getMAtk(activeChar, null));
- html.replace("%mdef%", npc.getMDef(activeChar, null));
+ html.replace("%matk%", (int) npc.getMAtk(activeChar, null));
+ html.replace("%mdef%", (int) npc.getMDef(activeChar, null));
html.replace("%atkspd%", npc.getPAtkSpd());
html.replace("%castspd%", npc.getMAtkSpd());
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/Backstab.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
index 458eaaa038..9f0055a0ae 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
@@ -26,7 +26,7 @@ import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.model.stats.BaseStats;
+import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.stats.Formulas;
/**
@@ -43,7 +43,7 @@ public final class Backstab extends AbstractEffect
@Override
public boolean calcSuccess(BuffInfo info)
{
- return info.getEffector().isBehindTarget() && !Formulas.calcPhysicalSkillEvasion(info.getEffector(), info.getEffected(), info.getSkill()) && Formulas.calcBlowSuccess(info.getEffector(), info.getEffected(), info.getSkill());
+ return !info.getEffector().isInFrontOf(info.getEffected()) && !Formulas.calcPhysicalSkillEvasion(info.getEffector(), info.getEffected(), info.getSkill()) && Formulas.calcBlowSuccess(info.getEffector(), info.getEffected(), info.getSkill());
}
@Override
@@ -68,18 +68,19 @@ public final class Backstab extends AbstractEffect
L2Character target = info.getEffected();
L2Character activeChar = info.getEffector();
- boolean ss = info.getSkill().useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
- byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
- double damage = Formulas.calcBackstabDamage(activeChar, target, info.getSkill(), shld, ss);
+ Skill skill = info.getSkill();
+ boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
+ byte shld = Formulas.calcShldUse(activeChar, target, skill);
+ double damage = Formulas.calcBackstabDamage(activeChar, target, skill, shld, ss);
// Crit rate base crit rate for skill, modified with STR bonus
- if (Formulas.calcCrit(info.getSkill().getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target))
+ if (Formulas.calcCrit(activeChar, target, skill))
{
damage *= 2;
}
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
- target.notifyDamageReceived(damage, activeChar, info.getSkill(), true, false);
+ target.reduceCurrentHp(damage, activeChar, skill);
+ target.notifyDamageReceived(damage, activeChar, skill, true, false);
// Manage attack or cast break of the target (calculating rate, sending message...)
if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
@@ -95,6 +96,6 @@ public final class Backstab extends AbstractEffect
}
// Check if damage should be reflected
- Formulas.calcDamageReflected(activeChar, target, info.getSkill(), true);
+ Formulas.calcDamageReflected(activeChar, target, skill, true);
}
}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java
index 6bccd5cbed..109bdc5069 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java
@@ -85,7 +85,7 @@ public final class EnergyAttack extends AbstractEffect
final Skill skill = info.getSkill();
double attack = attacker.getPAtk(target);
- int defence = target.getPDef(attacker);
+ double defence = target.getPDef(attacker);
if (!_ignoreShieldDefence)
{
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
index 8aa7154464..3b25b661fb 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.skills.AbnormalType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.model.stats.BaseStats;
+import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.stats.Formulas;
import com.l2jserver.gameserver.model.stats.Stats;
@@ -73,15 +73,16 @@ public final class FatalBlow extends AbstractEffect
{
L2Character target = info.getEffected();
L2Character activeChar = info.getEffector();
+ Skill skill = info.getSkill();
if (activeChar.isAlikeDead())
{
return;
}
- boolean ss = info.getSkill().useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
- byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
- double damage = Formulas.calcBlowDamage(activeChar, target, info.getSkill(), shld, ss);
+ boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
+ byte shld = Formulas.calcShldUse(activeChar, target, skill);
+ double damage = Formulas.calcBlowDamage(activeChar, target, skill, shld, ss);
if (_targetAbnormalType != "NULL")
{
@@ -97,8 +98,7 @@ public final class FatalBlow extends AbstractEffect
}
}
- // Crit rate base crit rate for skill, modified with STR bonus
- boolean crit = Formulas.calcCrit(info.getSkill().getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target);
+ boolean crit = Formulas.calcCrit(activeChar, target, skill);
if (crit)
{
damage *= 2;
@@ -111,8 +111,8 @@ public final class FatalBlow extends AbstractEffect
damage = (int) maxDamage;
}
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
- target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
+ target.reduceCurrentHp(damage, activeChar, skill);
+ target.notifyDamageReceived(damage, activeChar, skill, crit, false);
// Manage attack or cast break of the target (calculating rate, sending message...)
if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
@@ -128,6 +128,6 @@ public final class FatalBlow extends AbstractEffect
}
// Check if damage should be reflected
- Formulas.calcDamageReflected(activeChar, target, info.getSkill(), true);
+ Formulas.calcDamageReflected(activeChar, target, skill, true);
}
}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java
index 25fcdf20c6..15cbe646a7 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttack.java
@@ -28,7 +28,7 @@ import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.items.type.WeaponType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.model.stats.BaseStats;
+import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.stats.Formulas;
import com.l2jserver.gameserver.model.stats.Stats;
import com.l2jserver.gameserver.network.SystemMessageId;
@@ -80,16 +80,17 @@ public final class PhysicalAttack extends AbstractEffect
{
L2Character target = info.getEffected();
L2Character activeChar = info.getEffector();
+ Skill skill = info.getSkill();
if (activeChar.isAlikeDead())
{
return;
}
- if (((info.getSkill().getFlyRadius() > 0) || (info.getSkill().getFlyType() != null)) && activeChar.isMovementDisabled())
+ if (((info.getSkill().getFlyRadius() > 0) || (skill.getFlyType() != null)) && activeChar.isMovementDisabled())
{
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
- sm.addSkillName(info.getSkill());
+ sm.addSkillName(skill);
activeChar.sendPacket(sm);
return;
}
@@ -100,16 +101,16 @@ public final class PhysicalAttack extends AbstractEffect
}
int damage = 0;
- boolean ss = info.getSkill().isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
- final byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
+ boolean ss = skill.isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
+ final byte shld = Formulas.calcShldUse(activeChar, target, skill);
// Physical damage critical rate is only affected by STR.
boolean crit = false;
- if (info.getSkill().getBaseCritRate() > 0)
+ if (skill.getBaseCritRate() > 0)
{
- crit = Formulas.calcCrit(info.getSkill().getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target);
+ crit = Formulas.calcCrit(activeChar, target, skill);
}
- damage = (int) Formulas.calcPhysDam(activeChar, target, info.getSkill(), shld, false, ss);
+ damage = (int) Formulas.calcPhysDam(activeChar, target, skill, shld, false, ss);
if (crit)
{
@@ -158,24 +159,24 @@ public final class PhysicalAttack extends AbstractEffect
}
else
{
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
+ target.reduceCurrentHp(damage, activeChar, skill);
}
}
else
{
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
- target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
+ target.reduceCurrentHp(damage, activeChar, skill);
+ target.notifyDamageReceived(damage, activeChar, skill, crit, false);
}
// Check if damage should be reflected
- Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit);
+ Formulas.calcDamageReflected(activeChar, target, skill, crit);
}
else
{
activeChar.sendPacket(SystemMessageId.YOUR_ATTACK_HAS_FAILED);
}
- if (info.getSkill().isSuicideAttack())
+ if (skill.isSuicideAttack())
{
activeChar.doDie(activeChar);
}
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java
index 405ac5bd4b..6090c08ec0 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackHpLink.java
@@ -25,7 +25,7 @@ import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.model.stats.BaseStats;
+import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.stats.Formulas;
import com.l2jserver.gameserver.model.stats.Stats;
import com.l2jserver.gameserver.network.SystemMessageId;
@@ -65,6 +65,7 @@ public final class PhysicalAttackHpLink extends AbstractEffect
{
L2Character target = info.getEffected();
L2Character activeChar = info.getEffector();
+ Skill skill = info.getSkill();
if (activeChar.isAlikeDead())
{
@@ -74,22 +75,22 @@ public final class PhysicalAttackHpLink extends AbstractEffect
if (activeChar.isMovementDisabled())
{
SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
- sm.addSkillName(info.getSkill());
+ sm.addSkillName(skill);
activeChar.sendPacket(sm);
return;
}
- final byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
+ final byte shld = Formulas.calcShldUse(activeChar, target, skill);
// Physical damage critical rate is only affected by STR.
boolean crit = false;
- if (info.getSkill().getBaseCritRate() > 0)
+ if (skill.getBaseCritRate() > 0)
{
- crit = Formulas.calcCrit(info.getSkill().getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target);
+ crit = Formulas.calcCrit(activeChar, target, skill);
}
int damage = 0;
- boolean ss = info.getSkill().isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
- damage = (int) Formulas.calcPhysDam(activeChar, target, info.getSkill(), shld, false, ss);
+ boolean ss = skill.isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
+ damage = (int) Formulas.calcPhysDam(activeChar, target, skill, shld, false, ss);
if (damage > 0)
{
@@ -101,11 +102,11 @@ public final class PhysicalAttackHpLink extends AbstractEffect
}
activeChar.sendDamageMessage(target, damage, false, crit, false);
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
- target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
+ target.reduceCurrentHp(damage, activeChar, skill);
+ target.notifyDamageReceived(damage, activeChar, skill, crit, false);
// Check if damage should be reflected.
- Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit);
+ Formulas.calcDamageReflected(activeChar, target, skill, crit);
}
else
{
diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java
index b66de9a0fe..2803f1f01e 100644
--- a/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java
+++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/PhysicalSoulAttack.java
@@ -25,7 +25,7 @@ import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.effects.L2EffectType;
import com.l2jserver.gameserver.model.skills.BuffInfo;
-import com.l2jserver.gameserver.model.stats.BaseStats;
+import com.l2jserver.gameserver.model.skills.Skill;
import com.l2jserver.gameserver.model.stats.Formulas;
import com.l2jserver.gameserver.model.stats.Stats;
import com.l2jserver.gameserver.network.SystemMessageId;
@@ -65,16 +65,17 @@ public final class PhysicalSoulAttack extends AbstractEffect
{
L2Character target = info.getEffected();
L2Character activeChar = info.getEffector();
+ Skill skill = info.getSkill();
if (activeChar.isAlikeDead())
{
return;
}
- if (((info.getSkill().getFlyRadius() > 0) || (info.getSkill().getFlyType() != null)) && activeChar.isMovementDisabled())
+ if (((skill.getFlyRadius() > 0) || (skill.getFlyType() != null)) && activeChar.isMovementDisabled())
{
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
- sm.addSkillName(info.getSkill());
+ sm.addSkillName(skill);
activeChar.sendPacket(sm);
return;
}
@@ -85,21 +86,21 @@ public final class PhysicalSoulAttack extends AbstractEffect
}
int damage = 0;
- boolean ss = info.getSkill().isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
- final byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
+ boolean ss = skill.isPhysical() && activeChar.isChargedShot(ShotType.SOULSHOTS);
+ final byte shld = Formulas.calcShldUse(activeChar, target, skill);
// Physical damage critical rate is only affected by STR.
boolean crit = false;
- if (info.getSkill().getBaseCritRate() > 0)
+ if (skill.getBaseCritRate() > 0)
{
- crit = Formulas.calcCrit(info.getSkill().getBaseCritRate() * 10 * BaseStats.STR.calcBonus(activeChar), true, target);
+ crit = Formulas.calcCrit(activeChar, target, skill);
}
- damage = (int) Formulas.calcPhysDam(activeChar, target, info.getSkill(), shld, false, ss);
+ damage = (int) Formulas.calcPhysDam(activeChar, target, skill, shld, false, ss);
- if ((info.getSkill().getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
+ if ((skill.getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
{
// Souls Formula (each soul increase +4%)
- int chargedSouls = (activeChar.getActingPlayer().getChargedSouls() <= info.getSkill().getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getChargedSouls() : info.getSkill().getMaxSoulConsumeCount();
+ int chargedSouls = (activeChar.getActingPlayer().getChargedSouls() <= skill.getMaxSoulConsumeCount()) ? activeChar.getActingPlayer().getChargedSouls() : skill.getMaxSoulConsumeCount();
damage *= 1 + (chargedSouls * 0.04);
}
if (crit)
@@ -117,18 +118,18 @@ public final class PhysicalSoulAttack extends AbstractEffect
}
activeChar.sendDamageMessage(target, damage, false, crit, false);
- target.reduceCurrentHp(damage, activeChar, info.getSkill());
- target.notifyDamageReceived(damage, activeChar, info.getSkill(), crit, false);
+ target.reduceCurrentHp(damage, activeChar, skill);
+ target.notifyDamageReceived(damage, activeChar, skill, crit, false);
// Check if damage should be reflected
- Formulas.calcDamageReflected(activeChar, target, info.getSkill(), crit);
+ Formulas.calcDamageReflected(activeChar, target, skill, crit);
}
else
{
activeChar.sendPacket(SystemMessageId.YOUR_ATTACK_HAS_FAILED);
}
- if (info.getSkill().isSuicideAttack())
+ if (skill.isSuicideAttack())
{
activeChar.doDie(activeChar);
}
diff --git a/trunk/dist/game/data/stats/items/00000-00099.xml b/trunk/dist/game/data/stats/items/00000-00099.xml
index 0e42637ef5..a0ffc8c887 100644
--- a/trunk/dist/game/data/stats/items/00000-00099.xml
+++ b/trunk/dist/game/data/stats/items/00000-00099.xml
@@ -17,7 +17,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -102,7 +102,7 @@
-
+
@@ -127,7 +127,7 @@
-
+
@@ -150,7 +150,7 @@
-
+
@@ -173,7 +173,7 @@
-
+
@@ -196,7 +196,7 @@
-
+
@@ -220,7 +220,7 @@
-
+
@@ -242,7 +242,7 @@
-
+
@@ -264,7 +264,7 @@
-
+
@@ -288,7 +288,7 @@
-
+
@@ -312,7 +312,7 @@
-
+
@@ -335,7 +335,7 @@
-
+
@@ -358,7 +358,7 @@
-
+
@@ -845,7 +845,7 @@
-
+
@@ -1061,7 +1061,7 @@
-
+
@@ -1082,7 +1082,7 @@
-
+
@@ -1103,7 +1103,7 @@
-
+
@@ -1128,7 +1128,7 @@
-
+
@@ -1156,7 +1156,7 @@
-
+
@@ -1184,7 +1184,7 @@
-
+
@@ -1212,7 +1212,7 @@
-
+
@@ -1239,7 +1239,7 @@
-
+
@@ -1266,7 +1266,7 @@
-
+
@@ -1293,7 +1293,7 @@
-
+
@@ -1320,7 +1320,7 @@
-
+
@@ -1347,7 +1347,7 @@
-
+
@@ -1375,7 +1375,7 @@
-
+
@@ -1403,7 +1403,7 @@
-
+
@@ -1430,7 +1430,7 @@
-
+
@@ -1458,7 +1458,7 @@
-
+
@@ -1486,7 +1486,7 @@
-
+
@@ -1513,7 +1513,7 @@
-
+
@@ -1541,7 +1541,7 @@
-
+
@@ -1568,7 +1568,7 @@
-
+
@@ -1594,7 +1594,7 @@
-
+
@@ -1618,7 +1618,7 @@
-
+
@@ -1643,7 +1643,7 @@
-
+
@@ -1670,7 +1670,7 @@
-
+
@@ -1698,7 +1698,7 @@
-
+
@@ -1725,7 +1725,7 @@
-
+
@@ -1753,7 +1753,7 @@
-
+
@@ -1781,7 +1781,7 @@
-
+
@@ -1809,7 +1809,7 @@
-
+
@@ -1837,7 +1837,7 @@
-
+
@@ -1865,7 +1865,7 @@
-
+
@@ -1894,7 +1894,7 @@
-
+
@@ -1922,7 +1922,7 @@
-
+
@@ -1947,7 +1947,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/00100-00199.xml b/trunk/dist/game/data/stats/items/00100-00199.xml
index 733529b2cd..ea205808c3 100644
--- a/trunk/dist/game/data/stats/items/00100-00199.xml
+++ b/trunk/dist/game/data/stats/items/00100-00199.xml
@@ -18,7 +18,7 @@
-
+
@@ -43,7 +43,7 @@
-
+
@@ -347,7 +347,7 @@
-
+
@@ -368,7 +368,7 @@
-
+
@@ -389,7 +389,7 @@
-
+
@@ -414,7 +414,7 @@
-
+
@@ -441,7 +441,7 @@
-
+
@@ -468,7 +468,7 @@
-
+
@@ -495,7 +495,7 @@
-
+
@@ -522,7 +522,7 @@
-
+
@@ -549,7 +549,7 @@
-
+
@@ -576,7 +576,7 @@
-
+
@@ -603,7 +603,7 @@
-
+
@@ -630,7 +630,7 @@
-
+
@@ -657,7 +657,7 @@
-
+
@@ -684,7 +684,7 @@
-
+
@@ -711,7 +711,7 @@
-
+
@@ -739,7 +739,7 @@
-
+
@@ -850,7 +850,7 @@
-
+
@@ -877,7 +877,7 @@
-
+
@@ -904,7 +904,7 @@
-
+
@@ -931,7 +931,7 @@
-
+
@@ -958,7 +958,7 @@
-
+
@@ -985,7 +985,7 @@
-
+
@@ -1013,7 +1013,7 @@
-
+
@@ -1040,7 +1040,7 @@
-
+
@@ -1067,7 +1067,7 @@
-
+
@@ -1095,7 +1095,7 @@
-
+
@@ -1118,7 +1118,7 @@
-
+
@@ -1140,7 +1140,7 @@
-
+
@@ -1162,7 +1162,7 @@
-
+
@@ -1184,7 +1184,7 @@
-
+
@@ -1209,7 +1209,7 @@
-
+
@@ -1236,7 +1236,7 @@
-
+
@@ -1263,7 +1263,7 @@
-
+
@@ -1290,7 +1290,7 @@
-
+
@@ -1318,7 +1318,7 @@
-
+
@@ -1345,7 +1345,7 @@
-
+
@@ -1372,7 +1372,7 @@
-
+
@@ -1414,7 +1414,7 @@
-
+
@@ -1441,7 +1441,7 @@
-
+
@@ -1468,7 +1468,7 @@
-
+
@@ -1495,7 +1495,7 @@
-
+
@@ -1522,7 +1522,7 @@
-
+
@@ -1549,7 +1549,7 @@
-
+
@@ -1591,7 +1591,7 @@
-
+
@@ -1618,7 +1618,7 @@
-
+
@@ -1646,7 +1646,7 @@
-
+
@@ -1674,7 +1674,7 @@
-
+
@@ -1702,7 +1702,7 @@
-
+
@@ -1727,7 +1727,7 @@
-
+
@@ -1750,7 +1750,7 @@
-
+
@@ -1776,7 +1776,7 @@
-
+
@@ -1804,7 +1804,7 @@
-
+
@@ -1832,7 +1832,7 @@
-
+
@@ -1860,7 +1860,7 @@
-
+
@@ -1888,7 +1888,7 @@
-
+
@@ -1916,7 +1916,7 @@
-
+
@@ -1945,7 +1945,7 @@
-
+
@@ -1974,7 +1974,7 @@
-
+
@@ -2002,7 +2002,7 @@
-
+
@@ -2030,7 +2030,7 @@
-
+
@@ -2058,7 +2058,7 @@
-
+
@@ -2087,7 +2087,7 @@
-
+
@@ -2116,7 +2116,7 @@
-
+
@@ -2144,7 +2144,7 @@
-
+
@@ -2173,7 +2173,7 @@
-
+
@@ -2201,7 +2201,7 @@
-
+
@@ -2229,7 +2229,7 @@
-
+
@@ -2257,7 +2257,7 @@
-
+
@@ -2285,7 +2285,7 @@
-
+
@@ -2313,7 +2313,7 @@
-
+
@@ -2341,7 +2341,7 @@
-
+
@@ -2369,7 +2369,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/00200-00299.xml b/trunk/dist/game/data/stats/items/00200-00299.xml
index 6806dbd041..026e445673 100644
--- a/trunk/dist/game/data/stats/items/00200-00299.xml
+++ b/trunk/dist/game/data/stats/items/00200-00299.xml
@@ -21,7 +21,7 @@
-
+
@@ -50,7 +50,7 @@
-
+
@@ -78,7 +78,7 @@
-
+
@@ -106,7 +106,7 @@
-
+
@@ -134,7 +134,7 @@
-
+
@@ -162,7 +162,7 @@
-
+
@@ -190,7 +190,7 @@
-
+
@@ -218,7 +218,7 @@
-
+
@@ -246,7 +246,7 @@
-
+
@@ -274,7 +274,7 @@
-
+
@@ -303,7 +303,7 @@
-
+
@@ -331,7 +331,7 @@
-
+
@@ -359,7 +359,7 @@
-
+
@@ -388,7 +388,7 @@
-
+
@@ -416,7 +416,7 @@
-
+
@@ -440,7 +440,7 @@
-
+
@@ -462,7 +462,7 @@
-
+
@@ -484,7 +484,7 @@
-
+
@@ -506,7 +506,7 @@
-
+
@@ -528,7 +528,7 @@
-
+
@@ -553,7 +553,7 @@
-
+
@@ -580,7 +580,7 @@
-
+
@@ -608,7 +608,7 @@
-
+
@@ -635,7 +635,7 @@
-
+
@@ -662,7 +662,7 @@
-
+
@@ -689,7 +689,7 @@
-
+
@@ -717,7 +717,7 @@
-
+
@@ -744,7 +744,7 @@
-
+
@@ -772,7 +772,7 @@
-
+
@@ -800,7 +800,7 @@
-
+
@@ -827,7 +827,7 @@
-
+
@@ -854,7 +854,7 @@
-
+
@@ -882,7 +882,7 @@
-
+
@@ -909,7 +909,7 @@
-
+
@@ -937,7 +937,7 @@
-
+
@@ -964,7 +964,7 @@
-
+
@@ -992,7 +992,7 @@
-
+
@@ -1019,7 +1019,7 @@
-
+
@@ -1047,7 +1047,7 @@
-
+
@@ -1075,7 +1075,7 @@
-
+
@@ -1103,7 +1103,7 @@
-
+
@@ -1131,7 +1131,7 @@
-
+
@@ -1159,7 +1159,7 @@
-
+
@@ -1187,7 +1187,7 @@
-
+
@@ -1205,7 +1205,7 @@
-
+
@@ -1221,7 +1221,7 @@
-
+
@@ -1237,7 +1237,7 @@
-
+
@@ -1253,7 +1253,7 @@
-
+
@@ -1269,7 +1269,7 @@
-
+
@@ -1285,7 +1285,7 @@
-
+
@@ -1301,7 +1301,7 @@
-
+
@@ -1317,7 +1317,7 @@
-
+
@@ -1333,7 +1333,7 @@
-
+
@@ -1354,7 +1354,7 @@
-
+
@@ -1376,7 +1376,7 @@
-
+
@@ -1398,7 +1398,7 @@
-
+
@@ -1420,7 +1420,7 @@
-
+
@@ -1442,7 +1442,7 @@
-
+
@@ -1467,7 +1467,7 @@
-
+
@@ -1494,7 +1494,7 @@
-
+
@@ -1521,7 +1521,7 @@
-
+
@@ -1548,7 +1548,7 @@
-
+
@@ -1576,7 +1576,7 @@
-
+
@@ -1603,7 +1603,7 @@
-
+
@@ -1630,7 +1630,7 @@
-
+
@@ -1657,7 +1657,7 @@
-
+
@@ -1685,7 +1685,7 @@
-
+
@@ -1713,7 +1713,7 @@
-
+
@@ -1741,7 +1741,7 @@
-
+
@@ -1768,7 +1768,7 @@
-
+
@@ -1795,7 +1795,7 @@
-
+
@@ -1821,7 +1821,7 @@
-
+
@@ -1845,7 +1845,7 @@
-
+
@@ -1869,7 +1869,7 @@
-
+
@@ -1897,7 +1897,7 @@
-
+
@@ -1927,7 +1927,7 @@
-
+
@@ -1957,7 +1957,7 @@
-
+
@@ -1988,7 +1988,7 @@
-
+
@@ -2018,7 +2018,7 @@
-
+
@@ -2048,7 +2048,7 @@
-
+
@@ -2079,7 +2079,7 @@
-
+
@@ -2110,7 +2110,7 @@
-
+
@@ -2140,7 +2140,7 @@
-
+
@@ -2171,7 +2171,7 @@
-
+
@@ -2202,7 +2202,7 @@
-
+
@@ -2232,7 +2232,7 @@
-
+
@@ -2263,7 +2263,7 @@
-
+
@@ -2294,7 +2294,7 @@
-
+
@@ -2324,7 +2324,7 @@
-
+
@@ -2355,7 +2355,7 @@
-
+
@@ -2384,7 +2384,7 @@
-
+
@@ -2412,7 +2412,7 @@
-
+
@@ -2440,7 +2440,7 @@
-
+
@@ -2468,7 +2468,7 @@
-
+
@@ -2496,7 +2496,7 @@
-
+
@@ -2525,7 +2525,7 @@
-
+
@@ -2553,7 +2553,7 @@
-
+
@@ -2581,7 +2581,7 @@
-
+
@@ -2610,7 +2610,7 @@
-
+
@@ -2639,7 +2639,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/00300-00399.xml b/trunk/dist/game/data/stats/items/00300-00399.xml
index 60317f3c30..0d8e098b82 100644
--- a/trunk/dist/game/data/stats/items/00300-00399.xml
+++ b/trunk/dist/game/data/stats/items/00300-00399.xml
@@ -21,7 +21,7 @@
-
+
@@ -49,7 +49,7 @@
-
+
@@ -77,7 +77,7 @@
-
+
@@ -105,7 +105,7 @@
-
+
@@ -133,7 +133,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -189,7 +189,7 @@
-
+
@@ -218,7 +218,7 @@
-
+
@@ -243,7 +243,7 @@
-
+
@@ -265,7 +265,7 @@
-
+
@@ -287,7 +287,7 @@
-
+
@@ -309,7 +309,7 @@
-
+
@@ -334,7 +334,7 @@
-
+
@@ -361,7 +361,7 @@
-
+
@@ -388,7 +388,7 @@
-
+
@@ -415,7 +415,7 @@
-
+
@@ -442,7 +442,7 @@
-
+
@@ -469,7 +469,7 @@
-
+
@@ -496,7 +496,7 @@
-
+
@@ -523,7 +523,7 @@
-
+
@@ -550,7 +550,7 @@
-
+
@@ -577,7 +577,7 @@
-
+
@@ -604,7 +604,7 @@
-
+
@@ -631,7 +631,7 @@
-
+
@@ -658,7 +658,7 @@
-
+
@@ -685,7 +685,7 @@
-
+
@@ -712,7 +712,7 @@
-
+
@@ -739,7 +739,7 @@
-
+
@@ -766,7 +766,7 @@
-
+
@@ -793,7 +793,7 @@
-
+
@@ -820,7 +820,7 @@
-
+
@@ -847,7 +847,7 @@
-
+
@@ -874,7 +874,7 @@
-
+
@@ -901,7 +901,7 @@
-
+
@@ -928,7 +928,7 @@
-
+
@@ -955,7 +955,7 @@
-
+
@@ -982,7 +982,7 @@
-
+
@@ -1009,7 +1009,7 @@
-
+
@@ -1036,7 +1036,7 @@
-
+
@@ -1063,7 +1063,7 @@
-
+
@@ -1090,7 +1090,7 @@
-
+
@@ -1117,7 +1117,7 @@
-
+
@@ -1144,7 +1144,7 @@
-
+
@@ -1171,7 +1171,7 @@
-
+
@@ -1198,7 +1198,7 @@
-
+
@@ -1225,7 +1225,7 @@
-
+
@@ -1252,7 +1252,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/00700-00799.xml b/trunk/dist/game/data/stats/items/00700-00799.xml
index 7d5b7fe4c3..e5d4f52afe 100644
--- a/trunk/dist/game/data/stats/items/00700-00799.xml
+++ b/trunk/dist/game/data/stats/items/00700-00799.xml
@@ -539,7 +539,7 @@
-
+
@@ -604,7 +604,7 @@
-
+
@@ -626,7 +626,7 @@
-
+
@@ -671,7 +671,7 @@
-
+
@@ -696,7 +696,7 @@
-
+
@@ -720,7 +720,7 @@
-
+
@@ -789,7 +789,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/00900-00999.xml b/trunk/dist/game/data/stats/items/00900-00999.xml
index 0fa89fc2f1..10828e24dc 100644
--- a/trunk/dist/game/data/stats/items/00900-00999.xml
+++ b/trunk/dist/game/data/stats/items/00900-00999.xml
@@ -699,7 +699,7 @@
-
+
@@ -1045,7 +1045,7 @@
-
+
@@ -1121,7 +1121,7 @@
-
+
@@ -1219,7 +1219,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01100-01199.xml b/trunk/dist/game/data/stats/items/01100-01199.xml
index 2bd27efca2..61921e4c27 100644
--- a/trunk/dist/game/data/stats/items/01100-01199.xml
+++ b/trunk/dist/game/data/stats/items/01100-01199.xml
@@ -536,7 +536,7 @@
-
+
@@ -983,7 +983,7 @@
-
+
@@ -1007,7 +1007,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01200-01299.xml b/trunk/dist/game/data/stats/items/01200-01299.xml
index 0d1a78b4fe..d445d52314 100644
--- a/trunk/dist/game/data/stats/items/01200-01299.xml
+++ b/trunk/dist/game/data/stats/items/01200-01299.xml
@@ -164,7 +164,7 @@
-
+
@@ -1075,7 +1075,7 @@
-
+
@@ -1097,7 +1097,7 @@
-
+
@@ -1119,7 +1119,7 @@
-
+
@@ -1141,7 +1141,7 @@
-
+
@@ -1163,7 +1163,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01300-01399.xml b/trunk/dist/game/data/stats/items/01300-01399.xml
index 834c12e93c..8b14a80955 100644
--- a/trunk/dist/game/data/stats/items/01300-01399.xml
+++ b/trunk/dist/game/data/stats/items/01300-01399.xml
@@ -18,7 +18,7 @@
-
+
@@ -41,7 +41,7 @@
-
+
@@ -65,7 +65,7 @@
-
+
@@ -89,7 +89,7 @@
-
+
@@ -112,7 +112,7 @@
-
+
@@ -135,7 +135,7 @@
-
+
@@ -158,7 +158,7 @@
-
+
@@ -183,7 +183,7 @@
-
+
@@ -559,7 +559,7 @@
-
+
@@ -1039,7 +1039,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01400-01499.xml b/trunk/dist/game/data/stats/items/01400-01499.xml
index 39458d7dbf..87ed920837 100644
--- a/trunk/dist/game/data/stats/items/01400-01499.xml
+++ b/trunk/dist/game/data/stats/items/01400-01499.xml
@@ -741,7 +741,7 @@
-
+
@@ -769,7 +769,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01500-01599.xml b/trunk/dist/game/data/stats/items/01500-01599.xml
index 6fab1dcb0c..d4cb4f566c 100644
--- a/trunk/dist/game/data/stats/items/01500-01599.xml
+++ b/trunk/dist/game/data/stats/items/01500-01599.xml
@@ -113,7 +113,7 @@
-
+
@@ -134,7 +134,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/01600-01699.xml b/trunk/dist/game/data/stats/items/01600-01699.xml
index 1eeeaa79a8..45c59fba80 100644
--- a/trunk/dist/game/data/stats/items/01600-01699.xml
+++ b/trunk/dist/game/data/stats/items/01600-01699.xml
@@ -675,7 +675,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/02300-02399.xml b/trunk/dist/game/data/stats/items/02300-02399.xml
index 7543086cca..6d14ec65ac 100644
--- a/trunk/dist/game/data/stats/items/02300-02399.xml
+++ b/trunk/dist/game/data/stats/items/02300-02399.xml
@@ -835,7 +835,7 @@
-
+
@@ -859,7 +859,7 @@
-
+
@@ -882,7 +882,7 @@
-
+
@@ -904,7 +904,7 @@
-
+
@@ -926,7 +926,7 @@
-
+
@@ -949,7 +949,7 @@
-
+
@@ -971,7 +971,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/02400-02499.xml b/trunk/dist/game/data/stats/items/02400-02499.xml
index 53e7824ff3..e1fc498d42 100644
--- a/trunk/dist/game/data/stats/items/02400-02499.xml
+++ b/trunk/dist/game/data/stats/items/02400-02499.xml
@@ -1649,7 +1649,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/items/02500-02599.xml b/trunk/dist/game/data/stats/items/02500-02599.xml
index 8d130d8a06..2e766287d0 100644
--- a/trunk/dist/game/data/stats/items/02500-02599.xml
+++ b/trunk/dist/game/data/stats/items/02500-02599.xml
@@ -21,7 +21,7 @@
-
+
@@ -44,7 +44,7 @@
-
+
@@ -69,7 +69,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
@@ -125,7 +125,7 @@
-
+
@@ -151,7 +151,7 @@
-
+
@@ -192,7 +192,7 @@
-
+
@@ -320,7 +320,7 @@
-
+
@@ -346,7 +346,7 @@
-
+
@@ -372,7 +372,7 @@
-
+
@@ -398,7 +398,7 @@
-
+
@@ -424,7 +424,7 @@
-
+
@@ -450,7 +450,7 @@
-
+
@@ -476,7 +476,7 @@
-
+
@@ -502,7 +502,7 @@
-
+
@@ -528,7 +528,7 @@
-
+
@@ -554,7 +554,7 @@
-
+
@@ -580,7 +580,7 @@
-
+
@@ -606,7 +606,7 @@
-
+
@@ -632,7 +632,7 @@
-
+
@@ -658,7 +658,7 @@
-
+
@@ -685,7 +685,7 @@
-
+
@@ -711,7 +711,7 @@
-
+
@@ -737,7 +737,7 @@
-
+
@@ -763,7 +763,7 @@
-
+
@@ -789,7 +789,7 @@
-
+
@@ -815,7 +815,7 @@
-
+
@@ -841,7 +841,7 @@
-
+
@@ -867,7 +867,7 @@
-
+
@@ -893,7 +893,7 @@
-
+
@@ -919,7 +919,7 @@
-
+
@@ -945,7 +945,7 @@
-
+
@@ -971,7 +971,7 @@
-
+
@@ -997,7 +997,7 @@
-
+
@@ -1023,7 +1023,7 @@