diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index 2ded593a625833ecec449293779906bfe150e792..bccfdbb5570fcf2772be45881b0b54897c1d6a29 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -14,6 +14,7 @@ handlers/MasterHandler.java
 ai/npc/DragonVortex/DragonVortex.java
 ai/npc/NpcBuffers/BirthdayCake.java
 ai/npc/NpcBuffers/CabaleBuffer.java
+ai/npc/NpcBuffers/ChristmasTree.java
 ai/npc/NpcBuffers/Totems.java
 ai/npc/TerritoryManagers/TerritoryManagers.java
 ai/npc/Teleports/CrumaTower/CrumaTower.java
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
index 05bfb3f7aa0596719420daf9a32eb49353b238c9..d1c9e7d23a6e48e86290b16ae144fe8400a37573 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/BirthdayCake.java
@@ -109,7 +109,7 @@ public class BirthdayCake extends AbstractNpcAI
 					}
 					case BIRTHDAY_CAKE_24:
 					{
-						final L2PcInstance player = (L2PcInstance) _npc.getSummoner();
+						final L2PcInstance player = _npc.getSummoner().getActingPlayer();
 						if (player == null)
 						{
 							ThreadPoolManager.getInstance().scheduleGeneral(this, 1000);
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java
new file mode 100644
index 0000000000000000000000000000000000000000..ddbecd6ea9bb3c3ec6ef2c053d995c27e2e1cf6f
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/ai/npc/NpcBuffers/ChristmasTree.java
@@ -0,0 +1,115 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+package ai.npc.NpcBuffers;
+
+import ai.npc.AbstractNpcAI;
+
+import com.l2jserver.gameserver.ThreadPoolManager;
+import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.holders.SkillHolder;
+import com.l2jserver.gameserver.model.skills.L2Skill;
+
+/**
+ * @author Drunkard Zabb0x
+ */
+public class ChristmasTree extends AbstractNpcAI
+{
+	private static final int CHRISTMAS_TREE = 13007;
+	
+	protected ChristmasTree(String name, String descr)
+	{
+		super(name, descr);
+		addFirstTalkId(CHRISTMAS_TREE);
+		addSpawnId(CHRISTMAS_TREE);
+	}
+	
+	@Override
+	public String onFirstTalk(L2Npc npc, L2PcInstance player)
+	{
+		return null;
+	}
+	
+	@Override
+	public String onSpawn(L2Npc npc)
+	{
+		addTask(npc);
+		return super.onSpawn(npc);
+	}
+	
+	private void addTask(L2Npc npc)
+	{
+		final SkillHolder holder = new SkillHolder(2139, 1);
+		ThreadPoolManager.getInstance().scheduleGeneral(new ChristmasTreeAI(npc, holder), 1000);
+	}
+	
+	protected class ChristmasTreeAI implements Runnable
+	{
+		private final L2Npc _npc;
+		private final SkillHolder _holder;
+		
+		protected ChristmasTreeAI(L2Npc npc, SkillHolder holder)
+		{
+			_npc = npc;
+			_holder = holder;
+		}
+		
+		@Override
+		public void run()
+		{
+			if ((_npc == null) || !_npc.isVisible() || (_holder == null) || (_holder.getSkill() == null))
+			{
+				return;
+			}
+			
+			if (!_npc.isInsideZone(L2Character.ZONE_PEACE))
+			{
+				L2Skill skill = _holder.getSkill();
+				
+				final L2PcInstance player = _npc.getSummoner().getActingPlayer();
+				if (player == null)
+				{
+					ThreadPoolManager.getInstance().scheduleGeneral(this, 1000);
+					return;
+				}
+				
+				if (!player.isInParty())
+				{
+					if (player.isInsideRadius(_npc, skill.getSkillRadius(), true, true))
+					{
+						skill.getEffects(_npc, player);
+					}
+				}
+				else
+				{
+					for (L2PcInstance member : player.getParty().getMembers())
+					{
+						if ((member != null) && member.isInsideRadius(_npc, skill.getSkillRadius(), true, true))
+						{
+							skill.getEffects(_npc, member);
+						}
+					}
+				}
+			}
+			ThreadPoolManager.getInstance().scheduleGeneral(this, 1000);
+		}
+	}
+	
+	public static void main(String[] args)
+	{
+		new ChristmasTree(ChristmasTree.class.getSimpleName(), "ai/npc");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java
index dec15a3d224cbc61893c241d348087cb6492f69d..50bb715c5cb22bfa71fa11d0966abcd889a706d1 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/SummonItems.java
@@ -20,7 +20,6 @@
  */
 package handlers.itemhandlers;
 
-import java.util.Collection;
 import java.util.logging.Level;
 
 import com.l2jserver.gameserver.ThreadPoolManager;
@@ -30,12 +29,10 @@ import com.l2jserver.gameserver.handler.IItemHandler;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.L2SummonItem;
-import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.L2Playable;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
-import com.l2jserver.gameserver.model.actor.instance.L2XmassTreeInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.entity.TvTEvent;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
@@ -44,7 +41,6 @@ import com.l2jserver.gameserver.network.serverpackets.MagicSkillLaunched;
 import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 import com.l2jserver.gameserver.network.serverpackets.PetItemList;
 import com.l2jserver.gameserver.network.serverpackets.SetupGauge;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.util.Broadcast;
 /**
  * UnAfraid: TODO: Rewrite me :D
@@ -117,18 +113,6 @@ public class SummonItems implements IItemHandler
 			case 0: // static summons (like Christmas tree)
 				try
 				{
-					Collection<L2Character> characters = activeChar.getKnownList().getKnownCharactersInRadius(1200);
-					for (L2Character ch : characters)
-					{
-						if (ch instanceof L2XmassTreeInstance && npcTemplate.isSpecialTree())
-						{
-							SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CANNOT_SUMMON_S1_AGAIN);
-							sm.addCharName(ch);
-							activeChar.sendPacket(sm);
-							return false;
-						}
-					}
-					
 					if (activeChar.destroyItem("Summon", item.getObjectId(), 1, null, false))
 					{
 						final L2Spawn spawn = new L2Spawn(npcTemplate);
diff --git a/L2J_DataPack_BETA/dist/sql/game/npc.sql b/L2J_DataPack_BETA/dist/sql/game/npc.sql
index 4ab1b627c9791f0972f2a1a11b09f96c787292f0..4fc616deb1aeccb8f35e8660393ccd223d242a83 100644
--- a/L2J_DataPack_BETA/dist/sql/game/npc.sql
+++ b/L2J_DataPack_BETA/dist/sql/game/npc.sql
@@ -266,7 +266,7 @@ INSERT INTO `npc` VALUES
 (13004, 13004, "Flame Control Tower", 0, "", 0, "LineageNPC.broadcasting_tower", 7, 35, 20, "etc", "L2FlameTower", 40, 342.5127, 192, 2.5, 1.2, 40, 43, 30, 21, 20, 10, 40, 10, 44.32863, 86.87049, 30.2707, 63.56806, 253, 4, 333, 0, 0, 0, 50, 1, 0, 1), 
 (13005, 13005, "Flame Control Tower", 0, "", 0, "LineageNPC.dead_castle_aden_controltower_jewel", 7, 35, 20, "etc", "L2FlameTower", 40, 342.5127, 192, 2.5, 1.2, 40, 43, 30, 21, 20, 10, 40, 10, 44.32863, 86.87049, 30.2707, 63.56806, 253, 4, 333, 0, 0, 0, 50, 1, 0, 1), 
 (13006, 13006, "Christmas Tree", 0, "", 0, "LineageDeco.x_mas_tree", 0.01, 0.01, 70, "male", "L2Npc", 40, 2444.46819, 1345.8, 7.5, 2.7, 40, 43, 30, 21, 20, 10, 490, 10, 688.86373, 295.91597, 470.40463, 216.53847, 253, 4, 333, 0, 0, 0, 30, 120, 0, 1), 
-(13007, 13007, "Special Christmas Tree", 0, "", 0, "LineageDeco.x_mas_tree_50_bi", 0.01, 0.01, 70, "male", "L2XmassTree", 40, 2444.46819, 1345.8, 7.5, 2.7, 40, 43, 30, 21, 20, 10, 490, 10, 688.86373, 295.91597, 470.40463, 216.53847, 253, 4, 333, 0, 0, 0, 30, 120, 0, 1), 
+(13007, 13007, "Special Christmas Tree", 0, "", 0, "LineageDeco.x_mas_tree_50_bi", 0.01, 0.01, 70, "male", "L2Npc", 40, 2444.46819, 1345.8, 7.5, 2.7, 40, 43, 30, 21, 20, 10, 490, 10, 688.86373, 295.91597, 470.40463, 216.53847, 253, 4, 333, 0, 0, 0, 30, 120, 0, 1), 
 (13014, 13014, "", 0, "", 0, "LineageNPC.clear_npc", 0.1, 0.1, 85, "male", "L2Npc", 40, 3046.70947, 1846.8, 8.5, 3, 40, 43, 30, 21, 20, 10, 0, 0, 983.0479, 361.78814, 671.29428, 264.74086, 253, 4, 333, 0, 0, 0, 1, 160, 0, 1), 
 (13015, 13015, "", 0, "", 0, "LineageMonster3.Evilate_weather", 16, 18.5, 85, "female", "L2Npc", 40, 3046.70947, 1846.8, 8.5, 3, 40, 43, 30, 21, 20, 20, 0, 0, 983.0479, 361.78814, 671.29428, 264.74086, 253, 4, 333, 0, 0, 0, 10, 1, 0, 1), 
 (13016, 13016, "King Squash", 0, "", 0, "LineageNPC.drop_gourd", 23, 25, 1, "etc", "L2Npc", 40, 39.74519, 40, 2, 0.9, 40, 43, 30, 21, 20, 10, 0, 0, 8.47458, 44.44444, 5.78704, 32.52252, 253, 1, 333, 0, 0, 0, 50, 100, 0, 1),