Addition of SetCp effect handler.
Contributed by quangnguyen.
This commit is contained in:
@@ -305,6 +305,7 @@ public class EffectMasterHandler
|
||||
EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new);
|
||||
EffectHandler.getInstance().registerHandler("ServitorShare", ServitorShare::new);
|
||||
EffectHandler.getInstance().registerHandler("SetHp", SetHp::new);
|
||||
EffectHandler.getInstance().registerHandler("SetCp", SetCp::new);
|
||||
EffectHandler.getInstance().registerHandler("SetSkill", SetSkill::new);
|
||||
EffectHandler.getInstance().registerHandler("ShieldDefence", ShieldDefence::new);
|
||||
EffectHandler.getInstance().registerHandler("ShieldDefenceRate", ShieldDefenceRate::new);
|
||||
|
59
L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java
vendored
Normal file
59
L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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.enums.StatModifierType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
/**
|
||||
* An effect that sets the current cp to the given amount.
|
||||
* @author quangnguyen
|
||||
*/
|
||||
public class SetCp extends AbstractEffect
|
||||
{
|
||||
private final double _amount;
|
||||
private final StatModifierType _mode;
|
||||
|
||||
public SetCp(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_mode = params.getEnum("mode", StatModifierType.class, StatModifierType.DIFF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInstant()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
if (effected.isDead() || effected.isDoor())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final boolean full = (_mode == StatModifierType.PER) && (_amount == 100.0);
|
||||
final double amount = full ? effected.getMaxCp() : (_mode == StatModifierType.PER) ? ((effected.getMaxCp() * _amount) / 100.0) : _amount;
|
||||
effected.setCurrentCp(amount);
|
||||
}
|
||||
}
|
@@ -274,6 +274,7 @@ SafeFallHeight: Minimum falling height for taking damage stat.
|
||||
SendSystemMessageToClan: Sends the specified SystemMessageId to the clan.
|
||||
ServitorShare: Servitor share effect.
|
||||
SetHp: Sets current HP to the given amount.
|
||||
SetCp: Sets current CP to the given amount. (l2jmobius)
|
||||
SetSkill: Adds a skill to the Player and saves it in the database.
|
||||
ShieldDefence: Shield P. Def stat.
|
||||
ShieldDefenceRate: Shield block success rate stat.
|
||||
|
Reference in New Issue
Block a user