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 @@
+