Removal of EnlargeAbnormalSlot effect handler.

Contributed by Sahar.
This commit is contained in:
MobiusDev 2015-08-30 07:52:41 +00:00
parent c165eb8027
commit 086d9cd6f7
7 changed files with 9 additions and 141 deletions

View File

@ -86,7 +86,6 @@ public final class EffectMasterHandler
EnableCloak.class,
EnemyCharge.class,
EnergyAttack.class,
EnlargeAbnormalSlot.class,
Escape.class,
FakeDeath.class,
FatalBlow.class,

View File

@ -1,64 +0,0 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.skills.BuffInfo;
/**
* Enlarge Abnormal Slot effect implementation.
* @author Zoey76
*/
public final class EnlargeAbnormalSlot extends AbstractEffect
{
private final int _slots;
public EnlargeAbnormalSlot(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
{
super(attachCond, applyCond, set, params);
_slots = params.getInt("slots", 0);
}
@Override
public boolean canStart(BuffInfo info)
{
return (info.getEffector() != null) && (info.getEffected() != null) && info.getEffected().isPlayer();
}
@Override
public void onStart(BuffInfo info)
{
info.getEffected().getStat().setMaxBuffCount(info.getEffected().getStat().getMaxBuffCount() + _slots);
}
@Override
public boolean onActionTime(BuffInfo info)
{
return info.getSkill().isPassive();
}
@Override
public void onExit(BuffInfo info)
{
info.getEffected().getStat().setMaxBuffCount(Math.max(0, info.getEffected().getStat().getMaxBuffCount() - _slots));
}
}

View File

@ -254,11 +254,6 @@
<set name="magicLvl" val="#magicLvl" />
<set name="operateType" val="PASSIVE" />
<set name="targetType" val="SELF" />
<for>
<effect name="EnlargeAbnormalSlot">
<param slots="#slots" />
</effect>
</for>
</skill>
<skill id="1406" levels="1" name="Summon Feline King" enchantGroup1="5">
<!-- Confirmed CT2.5 and Updated to H5 -->

View File

@ -84,7 +84,6 @@ public final class EffectMasterHandler
EnableCloak.class,
EnemyCharge.class,
EnergyAttack.class,
EnlargeAbnormalSlot.class,
Escape.class,
FakeDeath.class,
FatalBlow.class,

View File

@ -1,64 +0,0 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.skills.BuffInfo;
/**
* Enlarge Abnormal Slot effect implementation.
* @author Zoey76
*/
public final class EnlargeAbnormalSlot extends AbstractEffect
{
private final int _slots;
public EnlargeAbnormalSlot(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
{
super(attachCond, applyCond, set, params);
_slots = params.getInt("slots", 0);
}
@Override
public boolean canStart(BuffInfo info)
{
return (info.getEffector() != null) && (info.getEffected() != null) && info.getEffected().isPlayer();
}
@Override
public void onStart(BuffInfo info)
{
info.getEffected().getStat().setMaxBuffCount(info.getEffected().getStat().getMaxBuffCount() + _slots);
}
@Override
public boolean onActionTime(BuffInfo info)
{
return info.getSkill().isPassive();
}
@Override
public void onExit(BuffInfo info)
{
info.getEffected().getStat().setMaxBuffCount(Math.max(0, info.getEffected().getStat().getMaxBuffCount() - _slots));
}
}

View File

@ -254,11 +254,6 @@
<set name="magicLvl" val="#magicLvl" />
<set name="operateType" val="PASSIVE" />
<set name="targetType" val="SELF" />
<for>
<effect name="EnlargeAbnormalSlot">
<param slots="#slots" />
</effect>
</for>
</skill>
<skill id="1406" levels="1" name="Summon Feline King" enchantGroup1="5">
<!-- Confirmed CT2.5 and Updated to H5 -->

View File

@ -35,6 +35,8 @@ import com.l2jserver.gameserver.model.zone.ZoneId;
public class CharStat
{
private static final int DIVINE_INSPIRATION = 1405;
private final L2Character _activeChar;
private long _exp = 0;
private long _sp = 0;
@ -61,7 +63,8 @@ public class CharStat
/**
* Calculate the new value of the state with modifiers that will be applied on the targeted L2Character.<BR>
* <B><U> Concept</U> :</B><BR A L2Character owns a table of Calculators called <B>_calculators</B>. Each Calculator (a calculator per state) own a table of Func object. A Func object is a mathematic function that permit to calculate the modifier of a state (ex : REGENERATE_HP_RATE...) : <BR>
* <B><U> Concept</U> :</B><BR
* A L2Character owns a table of Calculators called <B>_calculators</B>. Each Calculator (a calculator per state) own a table of Func object. A Func object is a mathematic function that permit to calculate the modifier of a state (ex : REGENERATE_HP_RATE...) : <BR>
* FuncAtkAccuracy -> Math.sqrt(_player.getDEX())*6+_player.getLevel()<BR>
* When the calc method of a calculator is launched, each mathematical function is called according to its priority <B>_order</B>.<br>
* Indeed, Func with lowest priority order is executed firsta and Funcs with the same order are executed in unspecified order.<br>
@ -835,6 +838,11 @@ public class CharStat
*/
public int getMaxBuffCount()
{
final int extraSlots = _activeChar.getSkillLevel(DIVINE_INSPIRATION);
if (extraSlots > -1)
{
return _maxBuffCount + extraSlots;
}
return _maxBuffCount;
}