From 031b05055666cc9e5f959ef1b08c78a1bdedea4e Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 7 Jun 2021 11:47:01 +0000 Subject: [PATCH] Addition of SetCp effect handler. Contributed by quangnguyen. --- .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/SetCp.java | 59 +++++++++++++++++++ .../game/data/stats/skills/documentation.txt | 1 + 57 files changed, 1159 insertions(+) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SetCp.java create mode 100644 L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/SetCp.java diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java index 97238978de..6bd54e335f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -308,6 +308,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); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt index 3d80b12087..0cdd1d6218 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt @@ -277,6 +277,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. diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java index 97238978de..6bd54e335f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -308,6 +308,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); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt index 3d80b12087..0cdd1d6218 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt @@ -277,6 +277,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. diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java index 97238978de..6bd54e335f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -308,6 +308,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); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt index 3d80b12087..0cdd1d6218 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt @@ -277,6 +277,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. diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java index bf24b391b8..4c9606775d 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -313,6 +313,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); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt index 2d7db86519..23869a6496 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/documentation.txt @@ -282,6 +282,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. diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java index 29c6a8f851..6e0c52680c 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -317,6 +317,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); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt index 3700ae3089..15cf881a69 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/documentation.txt @@ -286,6 +286,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. diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java index e3fe71bb1e..03cea40e60 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -318,6 +318,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); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt index 21a78c25a6..d366b28b34 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/documentation.txt @@ -287,6 +287,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. diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java index e3fe71bb1e..03cea40e60 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -318,6 +318,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); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt index 21a78c25a6..d366b28b34 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/stats/skills/documentation.txt @@ -287,6 +287,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. diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java index 1b57b7250f..88c55db086 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -318,6 +318,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); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt index aa38fbe909..9a447a29fd 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/stats/skills/documentation.txt @@ -286,6 +286,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. diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/EffectMasterHandler.java index cdf24a3595..f027134b2d 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -319,6 +319,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); diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_8.0_Homunculus/dist/game/data/stats/skills/documentation.txt index 77c92b8847..05f003ff0a 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/stats/skills/documentation.txt @@ -287,6 +287,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. diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/EffectMasterHandler.java index d56bf8fa99..b7187e803f 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -319,6 +319,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); diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/stats/skills/documentation.txt index fd380f4b29..514f744eb1 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/stats/skills/documentation.txt @@ -287,6 +287,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. diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java index 26fc48c913..29304d6826 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -304,6 +304,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); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt index b00a68dfa3..8db99ecd26 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt @@ -273,6 +273,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. diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java index 26fc48c913..29304d6826 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -304,6 +304,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); diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt index b00a68dfa3..8db99ecd26 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/documentation.txt @@ -273,6 +273,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. diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java index d05857031f..00880eb01e 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -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); diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt index f802180616..51d044b9d2 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/documentation.txt @@ -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. diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java index 8a7611b956..9db86e23f8 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -308,6 +308,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); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt index 9d46ec24e0..8ee5827d54 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/documentation.txt @@ -277,6 +277,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. diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java index 8a7611b956..9db86e23f8 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -308,6 +308,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); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt index 9d46ec24e0..8ee5827d54 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/stats/skills/documentation.txt @@ -277,6 +277,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. diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java index b70bdeddb4..61d2c5c6aa 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -310,6 +310,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); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt index e487805be9..75db5eb6ad 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/stats/skills/documentation.txt @@ -279,6 +279,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. diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java index 833c3dd255..0c90e99b6d 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -307,6 +307,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); diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt index 9eb4376efe..4ccda026ed 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/stats/skills/documentation.txt @@ -275,6 +275,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. diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java index f8fc447bd3..fc731b9c56 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -315,6 +315,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); diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt index 660e2e0028..1aaeb92359 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/stats/skills/documentation.txt @@ -284,6 +284,7 @@ SayhaGraceSupport: Set Sayha Grace support end time. (l2jmobius) 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. diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/EffectMasterHandler.java index 3e8b088abd..08b434bd6a 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -316,6 +316,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); diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/SetCp.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/SetCp.java new file mode 100644 index 0000000000..ba38b71aa0 --- /dev/null +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/handlers/effecthandlers/SetCp.java @@ -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 . + */ +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); + } +} diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/documentation.txt index e7af4d34c7..980503867d 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/stats/skills/documentation.txt @@ -285,6 +285,7 @@ SayhaGraceSupport: Set Sayha Grace support end time. (l2jmobius) 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.