Parcourir la source

Fix for item load. Thx Punisher.

JIV il y a 14 ans
Parent
commit
7c36e1a227

+ 22 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -151,6 +151,7 @@ import com.l2jserver.gameserver.model.base.SubClass;
 import com.l2jserver.gameserver.model.entity.Castle;
 import com.l2jserver.gameserver.model.entity.Duel;
 import com.l2jserver.gameserver.model.entity.Fort;
+import com.l2jserver.gameserver.model.entity.Hero;
 import com.l2jserver.gameserver.model.entity.Instance;
 import com.l2jserver.gameserver.model.entity.L2Event;
 import com.l2jserver.gameserver.model.entity.Siege;
@@ -1244,11 +1245,6 @@ public final class L2PcInstance extends L2Playable
 		// Create a L2Radar object
 		_radar = new L2Radar(this);
 		
-		// Retrieve from the database all skills of this L2PcInstance and add them to _skills
-		// Retrieve from the database all items of this L2PcInstance and add them to _inventory
-		getInventory().restore();
-		if (!Config.WAREHOUSE_CACHE)
-			getWarehouse();
 		startVitalityTask();
 	}
 	
@@ -7166,6 +7162,17 @@ public final class L2PcInstance extends L2Playable
 						player.setClanPrivileges(L2Clan.CP_ALL);
 						player.setPowerGrade(1);
 					}
+					int pledgeClass = 0;
+					
+					pledgeClass = player.getClan().getClanMember(objectId).calculatePledgeClass(player);
+					
+					if (player.isNoble() && pledgeClass < 5)
+						pledgeClass = 5;
+					
+					if (player.isHero() && pledgeClass < 8)
+						pledgeClass = 8;
+					
+					player.setPledgeClass(pledgeClass);
 				}
 				else
 				{
@@ -7262,6 +7269,16 @@ public final class L2PcInstance extends L2Playable
 			rset.close();
 			statement.close();
 			
+			// Set Hero status if it applies
+			if (Hero.getInstance().getHeroes() != null && Hero.getInstance().getHeroes().containsKey(objectId))
+				player.setHero(true);
+			
+			// Retrieve from the database all skills of this L2PcInstance and add them to _skills
+			// Retrieve from the database all items of this L2PcInstance and add them to _inventory
+			player.getInventory().restore();
+			if (!Config.WAREHOUSE_CACHE)
+				player.getWarehouse();
+			
 			// Retrieve from the database all secondary data of this L2PcInstance
 			// and reward expertise/lucky skills if necessary.
 			// Note that Clan, Noblesse and Hero skills are given separately and not here.

+ 0 - 24
L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java

@@ -54,7 +54,6 @@ import com.l2jserver.gameserver.model.entity.ClanHall;
 import com.l2jserver.gameserver.model.entity.Couple;
 import com.l2jserver.gameserver.model.entity.Fort;
 import com.l2jserver.gameserver.model.entity.FortSiege;
-import com.l2jserver.gameserver.model.entity.Hero;
 import com.l2jserver.gameserver.model.entity.L2Event;
 import com.l2jserver.gameserver.model.entity.Siege;
 import com.l2jserver.gameserver.model.entity.TvTEvent;
@@ -189,12 +188,6 @@ public class EnterWorld extends L2GameClientPacket
 		if (activeChar.getCurrentHp() < 0.5)
 			activeChar.setIsDead(true);
 		
-		// Set Hero status if it applies
-		if (Hero.getInstance().getHeroes() != null && Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
-			activeChar.setHero(true);
-		
-		setPledgeClass(activeChar);
-		
 		boolean showClanNotice = false;
 		
 		// Clan related checks are here
@@ -632,23 +625,6 @@ public class EnterWorld extends L2GameClientPacket
 		return _C__03_ENTERWORLD;
 	}
 	
-	private void setPledgeClass(L2PcInstance activeChar)
-	{
-		int pledgeClass = 0;
-		
-		// This null check may not be needed anymore since setPledgeClass is called from within a null check already. Please remove if we're certain it's ok to do so.
-		if (activeChar.getClan() != null)
-			pledgeClass = activeChar.getClan().getClanMember(activeChar.getObjectId()).calculatePledgeClass(activeChar);
-		
-		if (activeChar.isNoble() && pledgeClass < 5)
-			pledgeClass = 5;
-		
-		if (activeChar.isHero() && pledgeClass < 8)
-			pledgeClass = 8;
-		
-		activeChar.setPledgeClass(pledgeClass);
-	}
-	
 	@Override
 	protected boolean triggersOnActionRequest()
 	{