فهرست منبع

Some Npe fix, thx Gnat.
Remove cp check from character regeneration.

JIV 15 سال پیش
والد
کامیت
fd427ed1dd

+ 1 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/CharStatus.java

@@ -376,8 +376,7 @@ public class CharStatus
 		{
 			// no broadcast necessary for characters that are in inactive regions.
 			// stop regeneration for characters who are filled up and in an inactive region.
-			if ((getCurrentCp() == charstat.getMaxCp())
-					&& (getCurrentHp() == charstat.getMaxHp())
+			if ((getCurrentHp() == charstat.getMaxHp())
 					&& (getCurrentMp() == charstat.getMaxMp()))
 				stopHpMpRegeneration();
 		}

+ 26 - 23
L2_GameServer/java/com/l2jserver/gameserver/network/serverpackets/ExMPCCPartyInfoUpdate.java

@@ -24,10 +24,11 @@ import com.l2jserver.gameserver.model.L2Party;
  */
 public class ExMPCCPartyInfoUpdate extends L2GameServerPacket
 {
-
+	
 	private static final String _S__FE_5B_EXMPCCPARTYINFOUPDATE = "[S] FE:5B ExMPCCPartyInfoUpdate";
 	private L2Party _party;
-	private int _mode;
+	private int _mode, _LeaderOID, _memberCount;
+	private String _name;
 	
 	/**
 	 * 
@@ -37,31 +38,33 @@ public class ExMPCCPartyInfoUpdate extends L2GameServerPacket
 	public ExMPCCPartyInfoUpdate(L2Party party, int mode)
 	{
 		_party = party;
+		_name = _party.getLeader().getName();
+		_LeaderOID = _party.getPartyLeaderOID();
+		_memberCount = _party.getMemberCount();
 		_mode = mode;
 	}
 	
 	/**
-     * @see com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
-     */
-    @Override
-    protected void writeImpl()
-    {
-	    writeC(0xfe);
-	    writeH(0x5b);
-	    
-	    writeS(_party.getLeader().getName());
-	    writeD(_party.getPartyLeaderOID());
-	    writeD(_party.getMemberCount());
-	    writeD(_mode); //mode 0 = Remove Party, 1 = AddParty, maybe more...
-    }
-    
+	 * @see com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
+	 */
+	@Override
+	protected void writeImpl()
+	{
+		writeC(0xfe);
+		writeH(0x5b);
+		writeS(_name);
+		writeD(_LeaderOID);
+		writeD(_memberCount);
+		writeD(_mode); //mode 0 = Remove Party, 1 = AddParty, maybe more...
+	}
+	
 	/**
-     * @see com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket#getType()
-     */
-    @Override
-    public String getType()
-    {
-	    return _S__FE_5B_EXMPCCPARTYINFOUPDATE;
-    }
+	 * @see com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket#getType()
+	 */
+	@Override
+	public String getType()
+	{
+		return _S__FE_5B_EXMPCCPARTYINFOUPDATE;
+	}
 	
 }

+ 8 - 4
L2_GameServer/java/com/l2jserver/gameserver/network/serverpackets/PartySmallWindowAll.java

@@ -35,25 +35,27 @@ public final class PartySmallWindowAll extends L2GameServerPacket
 	private static final String _S__63_PARTYSMALLWINDOWALL = "[S] 4e PartySmallWindowAll";
 	private L2Party _party;
 	private L2PcInstance _exclude;
+	private int _dist, _LeaderOID;
 	
 	public PartySmallWindowAll(L2PcInstance exclude, L2Party party)
 	{
 		_exclude = exclude;
 		_party = party;
+		_LeaderOID = _party.getPartyLeaderOID();
+		_dist = _party.getLootDistribution();
 	}
 	
 	@Override
 	protected final void writeImpl()
 	{
 		writeC(0x4e);
-		writeD(_party.getPartyLeaderOID());
-		writeD(_party.getLootDistribution());
-
+		writeD(_LeaderOID);
+		writeD(_dist);
 		writeD(_party.getMemberCount() - 1);
 		
 		for (L2PcInstance member : _party.getPartyMembers())
 		{
-			if (member != null && member != _exclude)
+			if ((member != null) && (member != _exclude))
 			{
 				writeD(member.getObjectId());
 				writeS(member.getName());
@@ -83,7 +85,9 @@ public final class PartySmallWindowAll extends L2GameServerPacket
 					writeD(member.getPet().getLevel());
 				}
 				else
+				{
 					writeD(0x00);
+				}
 			}
 		}
 	}