224 lines
5.3 KiB
Java
224 lines
5.3 KiB
Java
/*
|
|
* 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;
|
|
|
|
import handlers.effecthandlers.*;
|
|
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Logger;
|
|
|
|
import com.l2jserver.gameserver.handler.EffectHandler;
|
|
import com.l2jserver.gameserver.model.effects.AbstractEffect;
|
|
|
|
/**
|
|
* Effect Master handler.
|
|
* @author BiggBoss, Zoey76
|
|
*/
|
|
public final class EffectMasterHandler
|
|
{
|
|
private static final Logger _log = Logger.getLogger(EffectMasterHandler.class.getName());
|
|
|
|
private static final Class<?>[] EFFECTS =
|
|
{
|
|
AddHate.class,
|
|
AttackTrait.class,
|
|
Backstab.class,
|
|
Betray.class,
|
|
Blink.class,
|
|
BlockAction.class,
|
|
BlockChat.class,
|
|
BlockParty.class,
|
|
BlockBuffSlot.class,
|
|
BlockResurrection.class,
|
|
Bluff.class,
|
|
Buff.class,
|
|
CallParty.class,
|
|
CallPc.class,
|
|
CallSkill.class,
|
|
ChameleonRest.class,
|
|
ChangeFace.class,
|
|
ChangeFishingMastery.class,
|
|
ChangeHairColor.class,
|
|
ChangeHairStyle.class,
|
|
ClanGate.class,
|
|
ClassChange.class,
|
|
Confuse.class,
|
|
ConsumeBody.class,
|
|
ConvertItem.class,
|
|
CpDamPercent.class,
|
|
CpHeal.class,
|
|
CpHealOverTime.class,
|
|
CpHealPercent.class,
|
|
CrystalGradeModify.class,
|
|
CubicMastery.class,
|
|
DamOverTime.class,
|
|
DamOverTimePercent.class,
|
|
DeathLink.class,
|
|
Debuff.class,
|
|
DefenceTrait.class,
|
|
DeleteHate.class,
|
|
DeleteHateOfMe.class,
|
|
DetectHiddenObjects.class,
|
|
Detection.class,
|
|
Disarm.class,
|
|
DispelAll.class,
|
|
DispelByCategory.class,
|
|
DispelBySlot.class,
|
|
DispelBySlotProbability.class,
|
|
EnableCloak.class,
|
|
EnemyCharge.class,
|
|
EnergyAttack.class,
|
|
EnlargeAbnormalSlot.class,
|
|
Escape.class,
|
|
FakeDeath.class,
|
|
FatalBlow.class,
|
|
Fear.class,
|
|
Fishing.class,
|
|
Flag.class,
|
|
FocusEnergy.class,
|
|
FocusMaxEnergy.class,
|
|
FocusSouls.class,
|
|
GetAgro.class,
|
|
GiveRecommendation.class,
|
|
GiveSp.class,
|
|
Grow.class,
|
|
HairAccessorySet.class,
|
|
Harvesting.class,
|
|
HeadquarterCreate.class,
|
|
Heal.class,
|
|
HealOverTime.class,
|
|
HealPercent.class,
|
|
Hide.class,
|
|
HpByLevel.class,
|
|
HpCpHeal.class,
|
|
HpDrain.class,
|
|
ImmobileBuff.class,
|
|
ImmobilePetBuff.class,
|
|
Invincible.class,
|
|
KnockBack.class,
|
|
KnockDown.class,
|
|
Lethal.class,
|
|
Lucky.class,
|
|
MagicalAttack.class,
|
|
MagicalAttackByAbnormal.class,
|
|
MagicalAttackMp.class,
|
|
MagicalSoulAttack.class,
|
|
ManaDamOverTime.class,
|
|
ManaHeal.class,
|
|
ManaHealByLevel.class,
|
|
ManaHealOverTime.class,
|
|
ManaHealPercent.class,
|
|
MpConsumePerLevel.class,
|
|
Mute.class,
|
|
NoblesseBless.class,
|
|
OpenChest.class,
|
|
Unsummon.class,
|
|
OpenCommonRecipeBook.class,
|
|
OpenDoor.class,
|
|
OpenDwarfRecipeBook.class,
|
|
Paralyze.class,
|
|
Passive.class,
|
|
Petrification.class,
|
|
PhysicalAttack.class,
|
|
PhysicalAttackHpLink.class,
|
|
PhysicalAttackMute.class,
|
|
PhysicalMute.class,
|
|
PhysicalSoulAttack.class,
|
|
Pumping.class,
|
|
ProtectionBlessing.class,
|
|
RandomizeHate.class,
|
|
RebalanceHP.class,
|
|
Recovery.class,
|
|
Reeling.class,
|
|
RefuelAirship.class,
|
|
Relax.class,
|
|
ResistSkill.class,
|
|
Restoration.class,
|
|
RestorationRandom.class,
|
|
Resurrection.class,
|
|
ResurrectionSpecial.class,
|
|
Root.class,
|
|
ServitorShare.class,
|
|
SetSkill.class,
|
|
ShilensBreath.class,
|
|
SilentMove.class,
|
|
SkillTurning.class,
|
|
Sleep.class,
|
|
SoulBlow.class,
|
|
SoulEating.class,
|
|
Sow.class,
|
|
Spoil.class,
|
|
StaticDamage.class,
|
|
StealAbnormal.class,
|
|
Stun.class,
|
|
Summon.class,
|
|
SummonAgathion.class,
|
|
SummonCubic.class,
|
|
SummonNpc.class,
|
|
SummonPet.class,
|
|
SummonTrap.class,
|
|
Sweeper.class,
|
|
TakeCastle.class,
|
|
TakeCastleStart.class,
|
|
TakeFort.class,
|
|
TakeFortStart.class,
|
|
TalismanSlot.class,
|
|
TargetCancel.class,
|
|
TargetMe.class,
|
|
TargetMeProbability.class,
|
|
Teleport.class,
|
|
TeleportToTarget.class,
|
|
ThrowUp.class,
|
|
TransferDamage.class,
|
|
TransferHate.class,
|
|
Transformation.class,
|
|
TrapDetect.class,
|
|
TrapRemove.class,
|
|
TriggerSkillByAttack.class,
|
|
TriggerSkillByAvoid.class,
|
|
TriggerSkillByDamage.class,
|
|
TriggerSkillBySkill.class,
|
|
UnsummonAgathion.class,
|
|
VitalityPointUp.class,
|
|
};
|
|
|
|
@SuppressWarnings("unchecked")
|
|
public static void main(String[] args)
|
|
{
|
|
for (Class<?> c : EFFECTS)
|
|
{
|
|
if (c == null)
|
|
{
|
|
continue; // Disabled handler
|
|
}
|
|
EffectHandler.getInstance().registerHandler((Class<? extends AbstractEffect>) c);
|
|
}
|
|
|
|
// And lets try get size
|
|
try
|
|
{
|
|
_log.log(Level.INFO, EffectMasterHandler.class.getSimpleName() + ": Loaded " + EffectHandler.getInstance().size() + " effect handlers.");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
_log.log(Level.WARNING, "Failed invoking size method for handler: " + EffectMasterHandler.class.getSimpleName(), e);
|
|
}
|
|
}
|
|
}
|