瀏覽代碼

Fixed DoF transports (boats/lifts) and groundspawns no longer show (LFG)

Image 3 年之前
父節點
當前提交
b5e0de509c
共有 2 個文件被更改,包括 21 次插入12 次删除
  1. 11 2
      EQ2/source/WorldServer/Spawn.cpp
  2. 10 10
      server/SpawnStructs.xml

+ 11 - 2
EQ2/source/WorldServer/Spawn.cpp

@@ -2392,7 +2392,9 @@ void Spawn::InitializeInfoPacketData(Player* spawn, PacketStruct* packet) {
 		temp_activity_status = 1;
 
 	temp_activity_status += (IsNPC() || IsObject() || IsGroundSpawn()) ? 1 << 1 : 0;
-	if (version >= 546) {
+	
+	if ( version >= 546)
+	{
 		if (IsGroundSpawn() || GetShowHandIcon())
 			temp_activity_status += ACTIVITY_STATUS_INTERACTABLE_1188;
 
@@ -2430,11 +2432,18 @@ void Spawn::InitializeInfoPacketData(Player* spawn, PacketStruct* packet) {
 			temp_activity_status += ACTIVITY_STATUS_INCOMBAT_1188;
 
 		// if this is either a boat or lift let the client be manipulated by the object
+		// doesn't work for DoF client version 546
 		if (appearance.icon == 28 || appearance.icon == 12)
+		{
 			temp_activity_status += ACTIVITY_STATUS_ISTRANSPORT_1188;
 
+			if ( version == 546 )
+				packet->setDataByName("is_transport", 1);
+		}
+
 		// for some reason Spawns are using different flags??  all NPCs were getting LFG before this was here
-		if (IsEntity() && version <= 546)
+		// ground spawns seem to behave the same way, LFG ground spawn anyone??
+		if ((IsEntity() || IsGroundSpawn()) && version <= 546)
 			temp_activity_status = 0;
 	}
 	else

+ 10 - 10
server/SpawnStructs.xml

@@ -462,9 +462,9 @@
 <Data ElementName="unknown10" Type="int8" Size="1" /> <!-- 306 -->
 <Data ElementName="no_arrow_color_or_highlight" Type="int8" Size="1" /> <!-- 307 -->
 <Data ElementName="no_arrow_color_or_healthbar" Type="int8" Size="1" /> <!-- 308 -->
-<Data ElementName="hand_icon" Type="int8" Size="1" /> <!-- 309   127 -->
+<Data ElementName="hand_icon" Type="int8" Size="1" /> <!-- 309 -->
 <Data ElementName="hide_health" Type="int8" Size="1" /> <!-- 310 -->
-<Data ElementName="unknown11" Type="int8" Size="1" /> <!-- 311 -->
+<Data ElementName="is_transport" Type="int8" Size="1" /> <!-- 311 -->
 <Data ElementName="house_icon" Type="int8" Size="1" /> <!-- 312 -->
 <Data ElementName="in_combat" Type="int8" Size="1" /> <!-- 313 -->
 <Data ElementName="afk" Type="int8" Size="1" /> <!-- 314 -->
@@ -473,14 +473,14 @@
 <Data ElementName="linkdead" Type="int8" Size="1" /> <!-- 317 -->
 <Data ElementName="camping" Type="int8" Size="1" /> <!-- 318 -->
 <Data ElementName="lfg" Type="int8" Size="1" /> <!-- 319 -->
-<Data ElementName="activity_status" Type="int32" Size="1" /> <!-- 327 -->
-<Data ElementName="unknown12" Type="int8" Size="1" /> <!-- 321 -->
-<Data ElementName="unknown13" Type="int8" Size="1" /> <!-- 322 -->
-<Data ElementName="unknown14" Type="int8" Size="1" /> <!-- 323 -->
-<Data ElementName="unknown15" Type="int8" Size="1" /> <!-- 324 -->
-<Data ElementName="unknown16" Type="int8" Size="1" /> <!-- 325 -->
-<Data ElementName="unknown17" Type="int8" Size="1" /> <!-- 326 -->
-<Data ElementName="solid_object" Type="int8" Size="1" /> <!-- 320 -->
+<Data ElementName="activity_status" Type="int32" Size="1" /> <!-- 320 -->
+<Data ElementName="unknown12" Type="int8" Size="1" /> <!-- 324 -->
+<Data ElementName="unknown13" Type="int8" Size="1" /> <!-- 325 -->
+<Data ElementName="unknown14" Type="int8" Size="1" /> <!-- 326 -->
+<Data ElementName="unknown15" Type="int8" Size="1" /> <!-- 327 -->
+<Data ElementName="unknown16" Type="int8" Size="1" /> <!-- 328 -->
+<Data ElementName="unknown17" Type="int8" Size="1" /> <!-- 329 -->
+<Data ElementName="solid_object" Type="int8" Size="1" /> <!-- 330 not real position -->
 <Data ElementName="model_type" Type="int16" Size="1" /> <!-- 331 -->
 <Data ElementName="soga_model_type" Type="int16" Size="1" /> <!-- 333 -->
 <Data ElementName="skin_color" Type="EQ2_Color" Size="1" /> <!-- 335 -->