diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPolymorph.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPolymorph.java
index 60798f1698f6ef9faa2a3057e1ce1b0738611bee..5e04a54d95c461576c43965f593e3ff455ade635 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPolymorph.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/admincommandhandlers/AdminPolymorph.java
@@ -25,10 +25,8 @@ import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 import com.l2jserver.gameserver.network.serverpackets.SetupGauge;
 
-
 /**
  * This class handles following admin commands: polymorph
- *
  * @version $Revision: 1.2.2.1.2.4 $ $Date: 2007/07/31 10:05:56 $
  */
 public class AdminPolymorph implements IAdminCommandHandler
@@ -48,9 +46,27 @@ public class AdminPolymorph implements IAdminCommandHandler
 	@Override
 	public boolean useAdminCommand(String command, L2PcInstance activeChar)
 	{
-		if (activeChar.isMounted())
+		if (activeChar.isSitting())
+		{
+			activeChar.sendPacket(SystemMessageId.CANNOT_TRANSFORM_WHILE_SITTING);
+			return false;
+		}
+		
+		if (activeChar.isTransformed() || activeChar.isInStance())
+		{
+			activeChar.sendPacket(SystemMessageId.YOU_ALREADY_POLYMORPHED_AND_CANNOT_POLYMORPH_AGAIN);
+			return false;
+		}
+		
+		if (activeChar.isInWater())
 		{
-			activeChar.sendMessage("You can't transform while mounted, please dismount and try again.");
+			activeChar.sendPacket(SystemMessageId.YOU_CANNOT_POLYMORPH_INTO_THE_DESIRED_FORM_IN_WATER);
+			return false;
+		}
+		
+		if (activeChar.isFlyingMounted() || activeChar.isMounted() || activeChar.isRidingStrider())
+		{
+			activeChar.sendPacket(SystemMessageId.YOU_CANNOT_POLYMORPH_WHILE_RIDING_A_PET);
 			return false;
 		}
 		
@@ -90,7 +106,9 @@ public class AdminPolymorph implements IAdminCommandHandler
 					}
 				}
 				else if (parts.length == 1)
+				{
 					cha.untransform();
+				}
 				else
 				{
 					activeChar.sendMessage("Usage: //transform <id>");
@@ -115,7 +133,9 @@ public class AdminPolymorph implements IAdminCommandHandler
 					doPolymorph(activeChar, target, p2, p1);
 				}
 				else
+				{
 					doPolymorph(activeChar, target, p1, "npc");
+				}
 			}
 			catch (Exception e)
 			{
@@ -142,7 +162,7 @@ public class AdminPolymorph implements IAdminCommandHandler
 	
 	/**
 	 * @param activeChar
-	 * @param obj 
+	 * @param obj
 	 * @param id
 	 * @param type
 	 */
@@ -151,7 +171,7 @@ public class AdminPolymorph implements IAdminCommandHandler
 		if (obj != null)
 		{
 			obj.getPoly().setPolyInfo(type, id);
-			//animation
+			// animation
 			if (obj instanceof L2Character)
 			{
 				L2Character Char = (L2Character) obj;
@@ -160,13 +180,15 @@ public class AdminPolymorph implements IAdminCommandHandler
 				SetupGauge sg = new SetupGauge(0, 4000);
 				Char.sendPacket(sg);
 			}
-			//end of animation
+			// end of animation
 			obj.decayMe();
 			obj.spawnMe(obj.getX(), obj.getY(), obj.getZ());
 			activeChar.sendMessage("Polymorph succeed");
 		}
 		else
+		{
 			activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET);
+		}
 	}
 	
 	/**
@@ -183,16 +205,24 @@ public class AdminPolymorph implements IAdminCommandHandler
 			activeChar.sendMessage("Unpolymorph succeed");
 		}
 		else
+		{
 			activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET);
+		}
 	}
 	
 	private void showMainPage(L2PcInstance activeChar, String command)
 	{
 		if (command.contains("transform"))
+		{
 			AdminHelpPage.showHelpPage(activeChar, "transform.htm");
+		}
 		else if (command.contains("abnormal"))
+		{
 			AdminHelpPage.showHelpPage(activeChar, "abnormal.htm");
+		}
 		else
+		{
 			AdminHelpPage.showHelpPage(activeChar, "effects_menu.htm");
+		}
 	}
 }
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
index 5b95ce548655fd3bfb8968e07944d52698ffcf9a..c322efed6f45220d9e89fcb2c4ccd1780b46a63e 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Transformation.java
@@ -64,6 +64,12 @@ public class Transformation extends L2Effect
 			return false;
 		}
 		
+		if (trg.isSitting())
+		{
+			trg.sendPacket(SystemMessageId.CANNOT_TRANSFORM_WHILE_SITTING);
+			return false;
+		}
+		
 		if (trg.isTransformed() || trg.isInStance())
 		{
 			trg.sendPacket(SystemMessageId.YOU_ALREADY_POLYMORPHED_AND_CANNOT_POLYMORPH_AGAIN);
@@ -76,7 +82,7 @@ public class Transformation extends L2Effect
 			return false;
 		}
 		
-		if (trg.isMounted() || trg.isFlyingMounted())
+		if (trg.isFlyingMounted() || trg.isMounted() || trg.isRidingStrider())
 		{
 			trg.sendPacket(SystemMessageId.YOU_CANNOT_POLYMORPH_WHILE_RIDING_A_PET);
 			return false;