Browse Source

Party radar position fixes. Thx Pompinis, Kerberos

Gigiikun 16 years ago
parent
commit
b7d916b82f

+ 2 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/L2Party.java

@@ -224,6 +224,7 @@ public class L2Party {
 			{
 				member.sendPacket(new PartySmallWindowDeleteAll());
 				member.sendPacket(new PartySmallWindowAll(member, getPartyMembers()));
+				member.broadcastUserInfo();
 			}
 		}
 	}
@@ -297,6 +298,7 @@ public class L2Party {
         {
 			member.updateEffectIcons(true); // update party icons only
             summon = member.getPet();
+            member.broadcastUserInfo();
             if (summon != null)
             {
                 summon.updateEffectIcons();

+ 9 - 2
L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java

@@ -915,10 +915,17 @@ public final class L2PcInstance extends L2Playable
 			result |= RelationChanged.RELATION_PVP_FLAG;
 		if (getKarma() > 0)
 			result |= RelationChanged.RELATION_HAS_KARMA;
-
+		if (getClan() != null)
+			result |= RelationChanged.RELATION_CLAN_MEMBER;
 		if (isClanLeader())
 			result |= RelationChanged.RELATION_LEADER;
-
+		if (getParty() != null && getParty() == target.getParty())
+		{
+			result |= RelationChanged.RELATION_HAS_PARTY;
+			result |= RelationChanged.RELATION_PARTY_MEMBER;
+			if (getParty().getLeader() == this)
+				result |= RelationChanged.RELATION_PARTYLEADER;
+		}
 		if (getSiegeState() != 0)
 		{
 			result |= RelationChanged.RELATION_INSIEGE;

+ 5 - 1
L2_GameServer/java/net/sf/l2j/gameserver/network/serverpackets/RelationChanged.java

@@ -26,7 +26,11 @@ public final class RelationChanged extends L2GameServerPacket
 {
 	public static final int RELATION_PVP_FLAG     = 0x00002; // pvp ???
 	public static final int RELATION_HAS_KARMA    = 0x00004; // karma ???
-	public static final int RELATION_LEADER 	  = 0x00080; // leader
+	public static final int RELATION_HAS_PARTY    = 0x00008; // true if in party
+	public static final int RELATION_PARTYLEADER  = 0x00010; // true if is party leader
+	public static final int RELATION_PARTY_MEMBER = 0x00020; // party member (even party leader need it)
+	public static final int RELATION_CLAN_MEMBER  = 0x00040; // true if is in clan
+	public static final int RELATION_LEADER 	  = 0x00080; // true if is clan leader
 	public static final int RELATION_INSIEGE   	  = 0x00200; // true if in siege
 	public static final int RELATION_ATTACKER     = 0x00400; // true when attacker
 	public static final int RELATION_ALLY         = 0x00800; // blue siege icon, cannot have if red