Addition of vampiric skill configurations.

This commit is contained in:
MobiusDevelopment
2022-03-23 23:27:26 +00:00
parent 4db752b1b7
commit 7bc8e2da10
69 changed files with 468 additions and 166 deletions

View File

@@ -144,6 +144,12 @@ FakeDeathUntarget = False
# Stand when fake death is active and taking damage.
FakeDeathDamageStand = True
# Vampiric attack work with skills.
VampiricAttackWorkWithSkills = False
# MP vampiric attacks work with melee.
MpVampiricAttackWorkWithMelee = False
# ---------------------------------------------------------------------------
# Class, Sub-class and skill learning options

View File

@@ -195,6 +195,8 @@ public class Config
public static long EFFECT_TICK_RATIO;
public static boolean FAKE_DEATH_UNTARGET;
public static boolean FAKE_DEATH_DAMAGE_STAND;
public static boolean VAMPIRIC_ATTACK_WORKS_WITH_SKILLS;
public static boolean MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE;
public static boolean LIFE_CRYSTAL_NEEDED;
public static boolean DIVINE_SP_BOOK_NEEDED;
public static boolean ALT_GAME_SUBCLASS_WITHOUT_QUESTS;
@@ -1732,6 +1734,8 @@ public class Config
EFFECT_TICK_RATIO = characterConfig.getLong("EffectTickRatio", 666);
FAKE_DEATH_UNTARGET = characterConfig.getBoolean("FakeDeathUntarget", true);
FAKE_DEATH_DAMAGE_STAND = characterConfig.getBoolean("FakeDeathDamageStand", false);
VAMPIRIC_ATTACK_WORKS_WITH_SKILLS = characterConfig.getBoolean("VampiricAttackWorkWithSkills", true);
MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE = characterConfig.getBoolean("MpVampiricAttackWorkWithMelee", false);
LIFE_CRYSTAL_NEEDED = characterConfig.getBoolean("LifeCrystalNeeded", true);
DIVINE_SP_BOOK_NEEDED = characterConfig.getBoolean("DivineInspirationSpBookNeeded", true);
ALT_GAME_SUBCLASS_WITHOUT_QUESTS = characterConfig.getBoolean("AltSubClassWithoutQuests", false);

View File

@@ -4610,7 +4610,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
final boolean isPvP = isPlayable() && target.isPlayable();
if (!isPvP || Config.VAMPIRIC_ATTACK_AFFECTS_PVP)
{
if (skill == null) // Classic: Skills counted with the Vampiric Rage effect was introduced on GoD chronicles.
if ((skill == null) || Config.VAMPIRIC_ATTACK_WORKS_WITH_SKILLS)
{
final double absorbHpPercent = getStat().getValue(Stat.ABSORB_DAMAGE_PERCENT, 0) * target.getStat().getValue(Stat.ABSORB_DAMAGE_DEFENCE, 1);
if ((absorbHpPercent > 0) && (Rnd.nextDouble() < _stat.getValue(Stat.ABSORB_DAMAGE_CHANCE)))
@@ -4628,7 +4628,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// Absorb MP from the damage inflicted.
if (!isPvP || Config.MP_VAMPIRIC_ATTACK_AFFECTS_PVP)
{
if (skill != null) // Classic: Used to reduce skill MP consumption. See Orfen's Earring.
if ((skill != null) || Config.MP_VAMPIRIC_ATTACK_WORKS_WITH_MELEE)
{
if (Rnd.get(10) < 3) // Classic: Static 30% change.
{