From 260fe5ddf456cdbc4b22e490c63f5c4b131726ba Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 2 Dec 2015 06:22:43 +0000 Subject: [PATCH] Give XP effect implementation. --- .../scripts/handlers/EffectMasterHandler.java | 1 + .../handlers/effecthandlers/GiveXp.java | 57 +++++++++++++++++++ trunk/dist/game/data/xsd/skills.xsd | 2 + 3 files changed, 60 insertions(+) create mode 100644 trunk/dist/game/data/scripts/handlers/effecthandlers/GiveXp.java diff --git a/trunk/dist/game/data/scripts/handlers/EffectMasterHandler.java b/trunk/dist/game/data/scripts/handlers/EffectMasterHandler.java index 9892179bd6..3ab2ab5c8c 100644 --- a/trunk/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/trunk/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -101,6 +101,7 @@ public final class EffectMasterHandler GetAgro.class, GiveRecommendation.class, GiveSp.class, + GiveXp.class, Grow.class, HairAccessorySet.class, Harvesting.class, diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/GiveXp.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/GiveXp.java new file mode 100644 index 0000000000..3a1fb5b53b --- /dev/null +++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/GiveXp.java @@ -0,0 +1,57 @@ +/* + * 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 . + */ +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; + +/** + * Give XP effect implementation. + * @author Mobius + */ +public final class GiveXp extends AbstractEffect +{ + private final int _xp; + + public GiveXp(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) + { + super(attachCond, applyCond, set, params); + + _xp = params.getInt("xp", 0); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void onStart(BuffInfo info) + { + if ((info.getEffector() == null) || (info.getEffected() == null) || !info.getEffector().isPlayer() || !info.getEffected().isPlayer() || info.getEffected().isAlikeDead()) + { + return; + } + + info.getEffector().getActingPlayer().addExpAndSp(_xp, 0); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/xsd/skills.xsd b/trunk/dist/game/data/xsd/skills.xsd index 6e9ef71600..6b5bf67201 100644 --- a/trunk/dist/game/data/xsd/skills.xsd +++ b/trunk/dist/game/data/xsd/skills.xsd @@ -344,6 +344,7 @@ + @@ -611,6 +612,7 @@ +