Addition of ImmobileDamageBonus and ImmobileDamageResist effects.
This commit is contained in:
+2
@@ -178,6 +178,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -149,7 +149,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -281,9 +280,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -178,6 +178,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -149,7 +149,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -281,9 +280,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -178,6 +178,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -149,7 +149,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -281,9 +280,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -182,6 +182,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ImmobileDamageResist.java
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -153,7 +153,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -282,9 +281,11 @@ public enum Stat
|
|||||||
CRAFTING_CRITICAL("craftingCritical"),
|
CRAFTING_CRITICAL("craftingCritical"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -184,6 +184,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -155,7 +155,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -287,9 +286,11 @@ public enum Stat
|
|||||||
CRAFTING_CRITICAL("craftingCritical"),
|
CRAFTING_CRITICAL("craftingCritical"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -185,6 +185,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -156,7 +156,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -290,9 +289,11 @@ public enum Stat
|
|||||||
CRAFTING_CRITICAL("craftingCritical"),
|
CRAFTING_CRITICAL("craftingCritical"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -185,6 +185,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -156,7 +156,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4383,6 +4383,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -290,9 +289,11 @@ public enum Stat
|
|||||||
CRAFTING_CRITICAL("craftingCritical"),
|
CRAFTING_CRITICAL("craftingCritical"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -185,6 +185,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/ImmobileDamageResist.java
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -156,7 +156,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4382,6 +4382,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -290,9 +289,11 @@ public enum Stat
|
|||||||
CRAFTING_CRITICAL("craftingCritical"),
|
CRAFTING_CRITICAL("craftingCritical"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -176,6 +176,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -147,7 +147,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4372,6 +4372,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -279,9 +278,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -176,6 +176,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ImmobileDamageBonus.java
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -147,7 +147,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4372,6 +4372,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -279,9 +278,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -177,6 +177,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -148,7 +148,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
+7
@@ -4372,6 +4372,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -284,9 +283,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -180,6 +180,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -151,7 +151,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
+7
@@ -4385,6 +4385,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
+4
-3
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -300,9 +299,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
Vendored
+2
@@ -180,6 +180,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -151,7 +151,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
+7
@@ -4385,6 +4385,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
+4
-3
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -300,9 +299,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -180,6 +180,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-1
@@ -151,7 +151,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
+7
@@ -4384,6 +4384,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
+4
-3
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -302,9 +301,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
+2
@@ -178,6 +178,8 @@ public class EffectMasterHandler
|
|||||||
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
EffectHandler.getInstance().registerHandler("HpRegen", HpRegen::new);
|
||||||
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
EffectHandler.getInstance().registerHandler("HpToOwner", HpToOwner::new);
|
||||||
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
EffectHandler.getInstance().registerHandler("IgnoreDeath", IgnoreDeath::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageBonus", ImmobileDamageBonus::new);
|
||||||
|
EffectHandler.getInstance().registerHandler("ImmobileDamageResist", ImmobileDamageResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
EffectHandler.getInstance().registerHandler("ImmobilePetBuff", ImmobilePetBuff::new);
|
||||||
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
EffectHandler.getInstance().registerHandler("InstantKillResist", InstantKillResist::new);
|
||||||
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
EffectHandler.getInstance().registerHandler("JewelSlot", JewelSlot::new);
|
||||||
|
|||||||
L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/ImmobileDamageBonus.java
Vendored
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bonus damage to immobile targets.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageBonus extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageBonus(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_BONUS);
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* This file is part of the L2J Mobius project.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
package handlers.effecthandlers;
|
||||||
|
|
||||||
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
|
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resist damage while immobile.
|
||||||
|
* @author Mobius
|
||||||
|
*/
|
||||||
|
public class ImmobileDamageResist extends AbstractStatPercentEffect
|
||||||
|
{
|
||||||
|
public ImmobileDamageResist(StatSet params)
|
||||||
|
{
|
||||||
|
super(params, Stat.IMMOBILE_DAMAGE_RESIST);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -149,7 +149,9 @@ Hp: Increases current HP by a static value.
|
|||||||
HpRegen: HP Regeneration stat.
|
HpRegen: HP Regeneration stat.
|
||||||
HpToOwner: DOT effect that absorbs HP over time.
|
HpToOwner: DOT effect that absorbs HP over time.
|
||||||
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
IgnoreDeath: Become undying. Hp cannot decrease below 1.
|
||||||
ImmobilePetBuff: Causes your pet to become immobolized.
|
ImmobileDamageBonus: Bonus damage to immobile targets. (l2jmobius)
|
||||||
|
ImmobileDamageResist: Resist damage while immobile. (l2jmobius)
|
||||||
|
ImmobilePetBuff: Causes your pet to become immobilized.
|
||||||
InstantKillResist: Resist against Lethal strike.
|
InstantKillResist: Resist against Lethal strike.
|
||||||
KarmaCount: Sets current Karma.
|
KarmaCount: Sets current Karma.
|
||||||
KnockBack: Knocks back or knocks down target.
|
KnockBack: Knocks back or knocks down target.
|
||||||
|
|||||||
@@ -4372,6 +4372,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
|||||||
|
|
||||||
getAI().clientStartAutoAttack();
|
getAI().clientStartAutoAttack();
|
||||||
|
|
||||||
|
// ImmobileDamageBonus and ImmobileDamageResist effect bonuses.
|
||||||
|
if (target.isImmobilized())
|
||||||
|
{
|
||||||
|
damage *= _stat.getValue(Stat.IMMOBILE_DAMAGE_BONUS, 1);
|
||||||
|
damage /= target.getStat().getValue(Stat.IMMOBILE_DAMAGE_RESIST, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!reflect && !isDOT)
|
if (!reflect && !isDOT)
|
||||||
{
|
{
|
||||||
// RearDamage effect bonus.
|
// RearDamage effect bonus.
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.model.stats;
|
|||||||
import java.util.NoSuchElementException;
|
import java.util.NoSuchElementException;
|
||||||
import java.util.OptionalDouble;
|
import java.util.OptionalDouble;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
@@ -281,9 +280,11 @@ public enum Stat
|
|||||||
STAT_BONUS_SPEED("statSpeed"),
|
STAT_BONUS_SPEED("statSpeed"),
|
||||||
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
SHOTS_BONUS("shotBonus", new ShotsBonusFinalizer()),
|
||||||
WORLD_CHAT_POINTS("worldChatPoints"),
|
WORLD_CHAT_POINTS("worldChatPoints"),
|
||||||
ATTACK_DAMAGE("attackDamage");
|
ATTACK_DAMAGE("attackDamage"),
|
||||||
|
|
||||||
|
IMMOBILE_DAMAGE_BONUS("immobileBonus"),
|
||||||
|
IMMOBILE_DAMAGE_RESIST("immobileResist");
|
||||||
|
|
||||||
static final Logger LOGGER = Logger.getLogger(Stat.class.getName());
|
|
||||||
public static final int NUM_STATS = values().length;
|
public static final int NUM_STATS = values().length;
|
||||||
|
|
||||||
private final String _value;
|
private final String _value;
|
||||||
|
|||||||
Reference in New Issue
Block a user