Преглед на файлове

'''Transformation:'''
,,(Thanks Aikimaniac for all the testing you did :), without you these fixes wouldn't be possible),,

* Fixed #2401 and all others like it (no more nasty exceptions).
* Removed "onExit" from the Transformation Effect, there shouldn't be anything done by the transformation effect itself when exiting the skill.
* Removing displaying of transformations during character selection screen, according to Aikimaniac, Slyce, and others, this does not happen on retail, (yet :)).
* Moved the check for cursed weapons and updating of transform_id to 0 from the DP transformation scripts to L2Character, at "stopTransformation(L2Effect effect)".
* Please update your DP to [DP4505].

'''Enchant:'''

* Set default enchant rates to 66% (retail claims 2/3)

'''Import Organization:'''
* L2WarehouseInstance

Ahmed преди 17 години
родител
ревизия
4df57cac92

+ 8 - 8
L2_GameServer_T1/java/config/Character.properties

@@ -259,14 +259,14 @@ CastleCircletsRestriction = True
 # This controls the chance an item has to break if it is enchanted.
 # This chance is in %, so if you set this to 100%, enchants will always succeed.
 # The chances are in the following order: Weapon, Armor, and Jewelry.
-# Retail: 68, 52, 54
-EnchantChanceWeapon = 68
-EnchantChanceArmor = 52
-EnchantChanceJewelry = 54
-
-BlessedEnchantChanceWeapon = 68
-BlessedEnchantChanceArmor = 52
-BlessedEnchantChanceJewelry = 54
+# Retail: 66,66,66,66,66,66
+EnchantChanceWeapon = 66
+EnchantChanceArmor = 66
+EnchantChanceJewelry = 66
+
+BlessedEnchantChanceWeapon = 66
+BlessedEnchantChanceArmor = 66
+BlessedEnchantChanceJewelry = 66
 
 # This is the enchant limit, if set to 0, there will be no limit.
 # If this is set to 10, the maximum enchant will be 10.

+ 16 - 4
L2_GameServer_T1/java/net/sf/l2j/gameserver/model/L2Character.java

@@ -2904,7 +2904,8 @@ public abstract class L2Character extends L2Object
 		for(L2Effect e : effects)
 		{
 			// Stop active skills effects of the selected type
-			if (e.getEffectType() == type) e.exit();
+			if (e.getEffectType() == type)
+				e.exit();
 		}
 	}
 
@@ -3092,17 +3093,28 @@ public abstract class L2Character extends L2Object
     public final void stopTransformation(L2Effect effect)
     {
         if (effect == null)
+        {
             stopEffects(L2Effect.EffectType.TRANSFORMATION);
+        }
         else
+        {
             removeEffect(effect);
+        }
         
-        // if this is a player instance, then untransform.
+        // if this is a player instance, then untransform, also set the transform_id column equal to 0 if not cursed.
         if (this instanceof L2PcInstance)
         {
-            if (((L2PcInstance) this).getTransformation() != null) 
-            	// gm effect because removing skill didn't do it
+            if (((L2PcInstance) this).getTransformation() != null)
+            {
             	((L2PcInstance) this).untransform();
+            }
+
+            if(!((L2PcInstance) this).isCursedWeaponEquipped())
+            {
+            	((L2PcInstance) this).transformUpdateInfo();
+            }
         }
+        
         getAI().notifyEvent(CtrlEvent.EVT_THINK, null);
         updateAbnormalEffect();
     }

+ 1 - 1
L2_GameServer_T1/java/net/sf/l2j/gameserver/model/actor/instance/L2WarehouseInstance.java

@@ -25,10 +25,10 @@ import net.sf.l2j.gameserver.serverpackets.ActionFailed;
 import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
 import net.sf.l2j.gameserver.serverpackets.PackageToList;
 import net.sf.l2j.gameserver.serverpackets.SortedWareHouseWithdrawalList;
-import net.sf.l2j.gameserver.serverpackets.SortedWareHouseWithdrawalList.WarehouseListType;
 import net.sf.l2j.gameserver.serverpackets.SystemMessage;
 import net.sf.l2j.gameserver.serverpackets.WareHouseDepositList;
 import net.sf.l2j.gameserver.serverpackets.WareHouseWithdrawalList;
+import net.sf.l2j.gameserver.serverpackets.SortedWareHouseWithdrawalList.WarehouseListType;
 import net.sf.l2j.gameserver.templates.L2NpcTemplate;
 
 /**

+ 2 - 1
L2_GameServer_T1/java/net/sf/l2j/gameserver/serverpackets/CharSelectionInfo.java

@@ -187,7 +187,8 @@ public class CharSelectionInfo extends L2GameServerPacket
             writeH(charInfoPackage.getAugmentationId());
             writeH(0x00); // this is for augmentation too
             
-            writeD(charInfoPackage.getTransformId()); // Used to display Transformations
+            //writeD(charInfoPackage.getTransformId()); // Used to display Transformations
+            writeD(0x00); // Currently on retail when you are on character select you don't see your transformation.
         }
     }
     

+ 0 - 1
L2_GameServer_T1/java/net/sf/l2j/gameserver/serverpackets/SortedWareHouseWithdrawalList.java

@@ -24,7 +24,6 @@ import java.util.List;
 import java.util.logging.Logger;
 
 import javolution.util.FastList;
-
 import net.sf.l2j.gameserver.RecipeController;
 import net.sf.l2j.gameserver.model.L2ItemInstance;
 import net.sf.l2j.gameserver.model.L2RecipeList;

+ 0 - 9
L2_GameServer_T1/java/net/sf/l2j/gameserver/skills/effects/EffectTransformation.java

@@ -61,15 +61,6 @@ public class EffectTransformation extends L2Effect
         }
     }
     
-    @Override
-    public void onExit()
-    {
-        L2PcInstance trg = (L2PcInstance) getEffected();
-        if (trg == null)
-            return;
-        trg.untransform();
-    }
-    
     @Override
     public boolean onActionTime()
     {