From 1ac91de53c6baec599e11fefc29158db80ea9a94 Mon Sep 17 00:00:00 2001
From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Tue, 26 May 2015 09:09:41 +0000
Subject: [PATCH] Added physicalSkillPowerAdd, mCritPowerAdd, reflectDamageRes
and receivedDamageModifier stats. New Talismans.
---
.../game/data/buylists/custom/0011072.xml | 1 +
.../game/data/stats/items/34900-34999.xml | 56 ++++++++++++++++
.../game/data/stats/items/39500-39599.xml | 11 +++
.../game/data/stats/skills/08800-08899.xml | 67 ++++++++++++++++++-
.../game/data/stats/skills/13300-13399.xml | 12 ++--
.../game/data/stats/skills/17900-17999.xml | 3 +-
trunk/dist/game/data/xsd/skills.xsd | 4 ++
trunk/dist/game/data_classic/xsd/skills.xsd | 4 ++
.../gameserver/model/actor/L2Character.java | 15 ++++-
.../model/skills/AbnormalVisualEffect.java | 1 +
.../gameserver/model/stats/Formulas.java | 14 ++++
.../gameserver/model/stats/Stats.java | 4 ++
12 files changed, 178 insertions(+), 14 deletions(-)
diff --git a/trunk/dist/game/data/buylists/custom/0011072.xml b/trunk/dist/game/data/buylists/custom/0011072.xml
index d426a7841d..b85c794890 100644
--- a/trunk/dist/game/data/buylists/custom/0011072.xml
+++ b/trunk/dist/game/data/buylists/custom/0011072.xml
@@ -18,4 +18,5 @@
+
diff --git a/trunk/dist/game/data/stats/items/34900-34999.xml b/trunk/dist/game/data/stats/items/34900-34999.xml
index 35e684d106..74fd77992e 100644
--- a/trunk/dist/game/data/stats/items/34900-34999.xml
+++ b/trunk/dist/game/data/stats/items/34900-34999.xml
@@ -572,7 +572,18 @@
+
+
+
+
+
+
+
+
+
+
+
-
@@ -586,6 +597,7 @@
+
@@ -593,25 +605,69 @@
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/trunk/dist/game/data/stats/items/39500-39599.xml b/trunk/dist/game/data/stats/items/39500-39599.xml
index c6943d456f..378d022ad1 100644
--- a/trunk/dist/game/data/stats/items/39500-39599.xml
+++ b/trunk/dist/game/data/stats/items/39500-39599.xml
@@ -381,7 +381,18 @@
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/trunk/dist/game/data/stats/skills/08800-08899.xml b/trunk/dist/game/data/stats/skills/08800-08899.xml
index fbe13f8785..16420eb031 100644
--- a/trunk/dist/game/data/stats/skills/08800-08899.xml
+++ b/trunk/dist/game/data/stats/skills/08800-08899.xml
@@ -448,14 +448,75 @@
-
-
-
+
+
+
+
+
+
+
+
icon.r85_talisman_pa_up_passive icon.r85_talisman_pa_up_passive icon.r85_talisman_pa_up_passive icon.r85_talisman_pa_up_passive icon.r85_talisman_pa_up_passive icon.r85_talisman_pa_up_passive icon.accessory_punishment_talisman_i01
+ TALISMAN_DECO_DARK_PURPLE TALISMAN_DECO_DARK_PURPLE TALISMAN_DECO_GOLD TALISMAN_DECO_ORANGE TALISMAN_DECO_BLUE TALISMAN_DECO_LIGHT_PURPLE TALISMAN_DECO_DARK_PURPLE
+ 100 100 300 400 500 600 800
+
+
+
+
+
+
+
+ 1 1 1 1.01 1.02 1.04 1.05
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/dist/game/data/stats/skills/13300-13399.xml b/trunk/dist/game/data/stats/skills/13300-13399.xml
index b21b2dc807..6dbab4f2b6 100644
--- a/trunk/dist/game/data/stats/skills/13300-13399.xml
+++ b/trunk/dist/game/data/stats/skills/13300-13399.xml
@@ -744,7 +744,7 @@
-
+
@@ -752,7 +752,7 @@
-
+
@@ -760,7 +760,7 @@
-
+
@@ -768,7 +768,7 @@
-
+
@@ -776,7 +776,7 @@
-
+
@@ -784,7 +784,7 @@
-
+
diff --git a/trunk/dist/game/data/stats/skills/17900-17999.xml b/trunk/dist/game/data/stats/skills/17900-17999.xml
index cce716256e..e09dedd727 100644
--- a/trunk/dist/game/data/stats/skills/17900-17999.xml
+++ b/trunk/dist/game/data/stats/skills/17900-17999.xml
@@ -915,10 +915,9 @@
-
-
+
diff --git a/trunk/dist/game/data/xsd/skills.xsd b/trunk/dist/game/data/xsd/skills.xsd
index fceaa8e3fa..7f6d93cc77 100644
--- a/trunk/dist/game/data/xsd/skills.xsd
+++ b/trunk/dist/game/data/xsd/skills.xsd
@@ -313,11 +313,13 @@
+
+
@@ -384,6 +386,8 @@
+
+
diff --git a/trunk/dist/game/data_classic/xsd/skills.xsd b/trunk/dist/game/data_classic/xsd/skills.xsd
index fceaa8e3fa..7f6d93cc77 100644
--- a/trunk/dist/game/data_classic/xsd/skills.xsd
+++ b/trunk/dist/game/data_classic/xsd/skills.xsd
@@ -313,11 +313,13 @@
+
+
@@ -384,6 +386,8 @@
+
+
diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java
index 60d6b6b666..3ccae361b0 100644
--- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java
+++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java
@@ -5006,7 +5006,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
{
// Reduce HP of the target and calculate reflection damage to reduce HP of attacker if necessary
double reflectPercent = target.getStat().calcStat(Stats.REFLECT_DAMAGE_PERCENT, 0, null, null);
-
if (reflectPercent > 0)
{
reflectedDamage = (int) ((reflectPercent / 100.) * damage);
@@ -5016,6 +5015,13 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
reflectedDamage = target.getMaxHp();
}
}
+
+ // Reflect resistance
+ double reflectResistance = target.getStat().calcStat(Stats.REFLECT_DAMAGE_RESISTANCE, 0, null, null);
+ if (reflectResistance > 0)
+ {
+ reflectedDamage -= reflectResistance;
+ }
}
}
@@ -6472,13 +6478,16 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
public void reduceCurrentHp(double i, L2Character attacker, boolean awake, boolean isDOT, Skill skill)
{
+ // Damage modifier
+ final double damage = getStat().calcStat(Stats.RECEIVED_DAMAGE_MODIFIER, i, null, null);
+
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0))
{
- getStatus().reduceHp(i / Config.L2JMOD_CHAMPION_HP, attacker, awake, isDOT, false);
+ getStatus().reduceHp((damage / Config.L2JMOD_CHAMPION_HP), attacker, awake, isDOT, false);
}
else
{
- getStatus().reduceHp(i, attacker, awake, isDOT, false);
+ getStatus().reduceHp(damage, attacker, awake, isDOT, false);
}
}
diff --git a/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalVisualEffect.java b/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalVisualEffect.java
index 5a90b1aaa7..2759c07559 100644
--- a/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalVisualEffect.java
+++ b/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalVisualEffect.java
@@ -91,6 +91,7 @@ public enum AbnormalVisualEffect
HERB_OF_POWER(69),
HERB_OF_MAGIC(70),
TALISMAN_DECO_DARK_PURPLE(71),
+ TALISMAN_POWER2(72), // removed?
TALISMAN_DECO_GOLD(73),
TALISMAN_DECO_ORANGE(74),
TALISMAN_DECO_BLUE(75),
diff --git a/trunk/java/com/l2jserver/gameserver/model/stats/Formulas.java b/trunk/java/com/l2jserver/gameserver/model/stats/Formulas.java
index a5360147e5..9d541c9852 100644
--- a/trunk/java/com/l2jserver/gameserver/model/stats/Formulas.java
+++ b/trunk/java/com/l2jserver/gameserver/model/stats/Formulas.java
@@ -827,6 +827,13 @@ public final class Formulas
}
}
}
+
+ // Physical skill dmg add
+ if (skill != null)
+ {
+ damage += attacker.calcStat(Stats.PHYSICAL_SKILL_POWER_ADD, 0, null, null);
+ }
+
return damage;
}
@@ -936,6 +943,13 @@ public final class Formulas
}
}
}
+
+ // Magical Crit dmg add
+ if (mcrit)
+ {
+ damage += attacker.calcStat(Stats.MAGIC_CRIT_DMG_ADD, 0, null, null);
+ }
+
return damage;
}
diff --git a/trunk/java/com/l2jserver/gameserver/model/stats/Stats.java b/trunk/java/com/l2jserver/gameserver/model/stats/Stats.java
index 3381001f9c..359144bfba 100644
--- a/trunk/java/com/l2jserver/gameserver/model/stats/Stats.java
+++ b/trunk/java/com/l2jserver/gameserver/model/stats/Stats.java
@@ -47,6 +47,7 @@ public enum Stats
POWER_ATTACK("pAtk"),
MAGIC_ATTACK("mAtk"),
PHYSICAL_SKILL_POWER("physicalSkillPower"),
+ PHYSICAL_SKILL_POWER_ADD("physicalSkillPowerAdd"),
POWER_ATTACK_SPEED("pAtkSpd"),
MAGIC_ATTACK_SPEED("mAtkSpd"), // Magic Skill Casting Time Rate
ATK_REUSE("atkReuse"), // Bows Hits Reuse Rate
@@ -57,6 +58,7 @@ public enum Stats
CRITICAL_DAMAGE("cAtk"),
CRITICAL_DAMAGE_ADD("cAtkAdd"), // this is another type for special critical damage mods - vicious stance, critical power and critical damage SA
MAGIC_CRIT_DMG("mCritPower"),
+ MAGIC_CRIT_DMG_ADD("mCritPowerAdd"),
// PVP BONUS
PVP_PHYSICAL_DMG("pvpPhysDmg"),
@@ -147,6 +149,7 @@ public enum Stats
REFLECT_DAMAGE_PERCENT("reflectDam"),
REFLECT_SKILL_MAGIC("reflectSkillMagic"),
REFLECT_SKILL_PHYSIC("reflectSkillPhysic"),
+ REFLECT_DAMAGE_RESISTANCE("reflectDamageRes"),
VENGEANCE_SKILL_MAGIC_DAMAGE("vengeanceMdam"),
VENGEANCE_SKILL_PHYSICAL_DAMAGE("vengeancePdam"),
ABSORB_DAMAGE_PERCENT("absorbDam"),
@@ -154,6 +157,7 @@ public enum Stats
MANA_SHIELD_PERCENT("manaShield"),
TRANSFER_DAMAGE_TO_PLAYER("transDamToPlayer"),
ABSORB_MANA_DAMAGE_PERCENT("absorbDamMana"),
+ RECEIVED_DAMAGE_MODIFIER("receivedDamageModifier"),
WEIGHT_LIMIT("weightLimit"),
WEIGHT_PENALTY("weightPenalty"),