Browse Source

BETA: Cleanup isUsingDualWeapon from L2Character is unused.
* Implemented a way to create custom transformations using displayId just like items/skills.

Rumen Nikiforov 11 years ago
parent
commit
b7e6b448dc

+ 0 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -5559,14 +5559,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder
 		}
 	}
 	
-	/**
-	 * @return True if the L2Character use a dual weapon.
-	 */
-	public boolean isUsingDualWeapon()
-	{
-		return false;
-	}
-	
 	/**
 	 * Add a skill to the L2Character _skills and its Func objects to the calculator set of the L2Character.<br>
 	 * <B><U>Concept</U>:</B><br>

+ 5 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -5096,6 +5096,11 @@ public final class L2PcInstance extends L2Playable
 		return (isTransformed() ? getTransformation().getId() : 0);
 	}
 	
+	public int getTransformationDisplayId()
+	{
+		return (isTransformed() ? getTransformation().getDisplayId() : 0);
+	}
+	
 	/**
 	 * This is a simple query that inserts the transform Id into the character table for future reference.
 	 */

+ 47 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/transform/Transform.java

@@ -35,10 +35,13 @@ import com.l2jserver.gameserver.network.serverpackets.ExBasicActionList;
 public final class Transform
 {
 	private final int _id;
+	private final int _displayId;
 	private final TransformType _type;
 	private final boolean _canSwim;
 	private final int _spawnHeight;
 	private final boolean _canAttack;
+	private final String _name;
+	private final String _title;
 	
 	private TransformTemplate _maleTemplate;
 	private TransformTemplate _femaleTemplate;
@@ -46,10 +49,13 @@ public final class Transform
 	public Transform(StatsSet set)
 	{
 		_id = set.getInteger("id");
+		_displayId = set.getInteger("displayId", _id);
 		_type = set.getEnum("type", TransformType.class, TransformType.COMBAT);
 		_canSwim = set.getInteger("can_swim", 0) == 1;
 		_canAttack = set.getInteger("normal_attackable", 1) == 1;
 		_spawnHeight = set.getInteger("spawn_height", 0);
+		_name = set.getString("setName", null);
+		_title = set.getString("setTitle", null);
 	}
 	
 	public int getId()
@@ -57,6 +63,11 @@ public final class Transform
 		return _id;
 	}
 	
+	public int getDisplayId()
+	{
+		return _displayId;
+	}
+	
 	public TransformType getType()
 	{
 		return _type;
@@ -77,6 +88,22 @@ public final class Transform
 		return _spawnHeight;
 	}
 	
+	/**
+	 * @return name that's going to be set to the player while is transformed with current transformation.
+	 */
+	public String getName()
+	{
+		return _name;
+	}
+	
+	/**
+	 * @return title that's going to be set to the player while is transformed with current transformation.
+	 */
+	public String getTitle()
+	{
+		return _title;
+	}
+	
 	public TransformTemplate getTemplate(L2PcInstance player)
 	{
 		return player != null ? (player.getAppearance().getSex() ? _femaleTemplate : _maleTemplate) : null;
@@ -168,11 +195,20 @@ public final class Transform
 		if (template != null)
 		{
 			// Start flying.
-			if (getType() == TransformType.FLYING)
+			if (isFlying())
 			{
 				player.setIsFlying(true);
 			}
 			
+			if (getName() != null)
+			{
+				player.getAppearance().setVisibleName(getName());
+			}
+			if (getTitle() != null)
+			{
+				player.getAppearance().setVisibleTitle(getTitle());
+			}
+			
 			// Add common skills.
 			if (!template.getSkills().isEmpty())
 			{
@@ -254,11 +290,20 @@ public final class Transform
 		if (template != null)
 		{
 			// Stop flying.
-			if (getType() == TransformType.FLYING)
+			if (isFlying())
 			{
 				player.setIsFlying(false);
 			}
 			
+			if (getName() != null)
+			{
+				player.getAppearance().setVisibleName(null);
+			}
+			if (getTitle() != null)
+			{
+				player.getAppearance().setVisibleTitle(null);
+			}
+			
 			// Remove common skills.
 			if (!template.getSkills().isEmpty())
 			{

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/CharInfo.java

@@ -359,7 +359,7 @@ public class CharInfo extends L2GameServerPacket
 			writeD(_activeChar.getClanId() > 0 ? _activeChar.getClan().getReputationScore() : 0);
 			
 			// T1
-			writeD(_activeChar.getTransformationId());
+			writeD(_activeChar.getTransformationDisplayId());
 			writeD(_activeChar.getAgathionId());
 			
 			// T2

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/UserInfo.java

@@ -319,7 +319,7 @@ public final class UserInfo extends L2GameServerPacket
 		writeD(_activeChar.isCursedWeaponEquipped() ? CursedWeaponsManager.getInstance().getLevel(_activeChar.getCursedWeaponEquippedId()) : 0);
 		
 		// T1 Starts
-		writeD(_activeChar.getTransformationId());
+		writeD(_activeChar.getTransformationDisplayId());
 		
 		byte attackAttribute = _activeChar.getAttackElement();
 		writeH(attackAttribute);