Эх сурвалжийг харах

BETA: Teleporter transformation fixes.
* Included source format.
Patch by: malyelfik

Zoey76 12 жил өмнө
parent
commit
3fe5cc14fa
27 өөрчлөгдсөн 86 нэмэгдсэн , 71 устгасан
  1. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java
  2. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java
  3. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java
  4. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfCourage.java
  5. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java
  6. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ConfuseMob.java
  7. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confusion.java
  8. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Disarm.java
  9. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java
  10. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Invincible.java
  11. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Mute.java
  12. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java
  13. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java
  14. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Petrification.java
  15. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhoenixBless.java
  16. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java
  17. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java
  18. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java
  19. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Relax.java
  20. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Root.java
  21. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ServitorShare.java
  22. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java
  23. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sleep.java
  24. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Stun.java
  25. 1 1
      L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java
  26. 51 21
      L2J_DataPack_BETA/dist/game/data/scripts/transformations/Teleporter.java
  27. 10 25
      L2J_DataPack_BETA/dist/game/data/scripts/transformations/Teleporter2.java

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Betray.java

@@ -20,9 +20,9 @@ package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/BlockResurrection.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChameleonRest.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.stats.Env;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfCourage.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.gameserver.network.serverpackets.EtcStatusUpdate;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/CharmOfLuck.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.model.actor.L2Playable;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ConfuseMob.java

@@ -26,9 +26,9 @@ import javolution.util.FastList;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.util.Rnd;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Confusion.java

@@ -26,9 +26,9 @@ import javolution.util.FastList;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.L2Character;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.util.Rnd;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Disarm.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Fear.java

@@ -29,9 +29,9 @@ import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SiegeFlagInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SiegeSummonInstance;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Invincible.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Mute.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/NoblesseBless.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Paralyze.java

@@ -20,9 +20,9 @@ package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.model.effects.AbnormalEffect;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Petrification.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.model.effects.AbnormalEffect;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhoenixBless.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.model.actor.L2Playable;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalAttackMute.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/PhysicalMute.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ProtectionBlessing.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.model.actor.L2Playable;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Relax.java

@@ -19,9 +19,9 @@
 package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.ai.CtrlIntention;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.gameserver.network.SystemMessageId;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Root.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ServitorShare.java

@@ -20,9 +20,9 @@ package handlers.effecthandlers;
 
 import com.l2jserver.gameserver.model.actor.L2Summon;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SilentMove.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.stats.Env;

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Sleep.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Stun.java

@@ -18,9 +18,9 @@
  */
 package handlers.effecthandlers;
 
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ThrowUp.java

@@ -23,9 +23,9 @@ import java.util.logging.Logger;
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.model.Location;
+import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.EffectTemplate;
 import com.l2jserver.gameserver.model.effects.L2Effect;
-import com.l2jserver.gameserver.model.effects.EffectFlag;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.gameserver.network.serverpackets.FlyToLocation;

+ 51 - 21
L2J_DataPack_BETA/dist/game/data/scripts/transformations/Teleporter.java

@@ -29,8 +29,8 @@ public class Teleporter extends L2Transformation
 		5656,
 		5657,
 		5658,
-		5491,
-		8248
+		5659,
+		619
 	};
 	
 	public Teleporter()
@@ -58,35 +58,65 @@ public class Teleporter extends L2Transformation
 	
 	public void removeSkills()
 	{
-		/*
-		 * Commented out until we figure out how to remove the skills properly. What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up? Then when we untransform, the script will look for the level 41 version of the skill, right? Or will it
-		 * still remove the level 40 skill? Needs to be tested. // Gatekeeper Aura Flare getPlayer().removeSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false); // Gatekeeper Prominence getPlayer().removeSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()),
-		 * false); // Gatekeeper Flame Strike getPlayer().removeSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false); // Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?) getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659,
-		 * 1), false);
-		 */
-		// Decrease Bow/Crossbow Attack Speed
-		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
-		// Cancel Gatekeeper Transformation
-		getPlayer().removeSkill(SkillTable.getInstance().getInfo(8248, 1), false);
+		final int level = getPlayer().getLevel();
+		// Gatekeeper Aura Flare
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5656, level), false);
+		// Gatekeeper Prominence
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5657, level), false);
+		// Gatekeeper Flame Strike
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5658, level), false);
+		// Gatekeeper Berserker Spirit
+		if ((level >= 35) & (level < 52))
+		{
+			getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659, 1), false);
+		}
+		else if (level >= 52)
+		{
+			getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659, 2), false);
+		}
+		// Transform Dispel
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
 		
 		getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
 	}
 	
 	public void transformedSkills()
 	{
-		/*
-		 * Commented out until we figure out how to remove the skills properly. What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up? Then when we untransform, the script will look for the level 41 version of the skill, right? Or will it
-		 * still remove the level 40 skill? Needs to be tested. // Gatekeeper Aura Flare getPlayer().addSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false); // Gatekeeper Prominence getPlayer().addSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
-		 * // Gatekeeper Flame Strike getPlayer().addSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false); // Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?) getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 1), false);
-		 */
-		// Decrease Bow/Crossbow Attack Speed
-		getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
-		// Cancel Gatekeeper Transformation
-		getPlayer().addSkill(SkillTable.getInstance().getInfo(8248, 1), false);
+		updateSkills();
+		
+		// Transform Dispel
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
 		
 		getPlayer().setTransformAllowedSkills(SKILLS);
 	}
 	
+	@Override
+	public void onLevelUp()
+	{
+		updateSkills();
+	}
+	
+	private void updateSkills()
+	{
+		final int level = getPlayer().getLevel();
+		
+		// Gatekeeper Aura Flare
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(5656, level), false);
+		// Gatekeeper Prominence
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(5657, level), false);
+		// Gatekeeper Flame Strike
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(5658, level), false);
+		// Gatekeeper Berserker Spirit
+		if ((level >= 35) & (level < 52))
+		{
+			getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 1), false);
+		}
+		else if (level >= 52)
+		{
+			getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 2), false);
+		}
+	}
+	
 	public static void main(String[] args)
 	{
 		TransformationManager.getInstance().registerTransformation(new Teleporter());

+ 10 - 25
L2J_DataPack_BETA/dist/game/data/scripts/transformations/Teleporter2.java

@@ -26,16 +26,12 @@ public class Teleporter2 extends L2Transformation
 {
 	private static final int[] SKILLS =
 	{
-		5656,
-		5657,
-		5658,
-		5491,
-		8248
+		5437,
+		619
 	};
 	
 	public Teleporter2()
 	{
-		// id, colRadius, colHeight
 		super(107, 8, 25);
 	}
 	
@@ -58,31 +54,20 @@ public class Teleporter2 extends L2Transformation
 	
 	public void removeSkills()
 	{
-		/*
-		 * Commented out until we figure out how to remove the skills properly. What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up? Then when we untransform, the script will look for the level 41 version of the skill, right? Or will it
-		 * still remove the level 40 skill? Needs to be tested. // Gatekeeper Aura Flare getPlayer().removeSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false); // Gatekeeper Prominence getPlayer().removeSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()),
-		 * false); // Gatekeeper Flame Strike getPlayer().removeSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false); // Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?) getPlayer().removeSkill(SkillTable.getInstance().getInfo(5659,
-		 * 1), false);
-		 */
-		// Decrease Bow/Crossbow Attack Speed
-		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
-		// Cancel Gatekeeper Transformation
-		getPlayer().removeSkill(SkillTable.getInstance().getInfo(8248, 1), false);
+		// Dissonance
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(5437, 2), false);
+		// Transform Dispel
+		getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
 		
 		getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
 	}
 	
 	public void transformedSkills()
 	{
-		/*
-		 * Commented out until we figure out how to remove the skills properly. What happens if a player transforms at level 40, gets the level 40 version of the skill, then somehow levels up? Then when we untransform, the script will look for the level 41 version of the skill, right? Or will it
-		 * still remove the level 40 skill? Needs to be tested. // Gatekeeper Aura Flare getPlayer().addSkill(SkillTable.getInstance().getInfo(5656, getPlayer().getLevel()), false); // Gatekeeper Prominence getPlayer().addSkill(SkillTable.getInstance().getInfo(5657, getPlayer().getLevel()), false);
-		 * // Gatekeeper Flame Strike getPlayer().addSkill(SkillTable.getInstance().getInfo(5658, getPlayer().getLevel()), false); // Gatekeeper Berserker Spirit (there are two levels, when do players get access to level 2?) getPlayer().addSkill(SkillTable.getInstance().getInfo(5659, 1), false);
-		 */
-		// Decrease Bow/Crossbow Attack Speed
-		getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
-		// Cancel Gatekeeper Transformation
-		getPlayer().addSkill(SkillTable.getInstance().getInfo(8248, 1), false);
+		// Dissonance
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(5437, 2), false);
+		// Transform Dispel
+		getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
 		
 		getPlayer().setTransformAllowedSkills(SKILLS);
 	}