1010using NitroxModel . Logger ;
1111using NitroxModel . Packets ;
1212using NitroxModel_Subnautica . DataStructures ;
13- using NitroxModel_Subnautica . Helper ;
1413using UnityEngine ;
1514
1615namespace NitroxClient . GameLogic
1716{
1817 public class EquipmentSlots
1918 {
19+ private List < EquipmentType > ApplicableEquipmentTypes { get ; } = new List < EquipmentType > ( )
20+ {
21+ EquipmentType . CyclopsModule ,
22+ EquipmentType . SeamothModule ,
23+ EquipmentType . ExosuitModule ,
24+ EquipmentType . ExosuitArm ,
25+ EquipmentType . NuclearReactor ,
26+ EquipmentType . BatteryCharger ,
27+ EquipmentType . PowerCellCharger ,
28+ EquipmentType . DecoySlot
29+ } ;
2030 private readonly IPacketSender packetSender ;
2131
2232 public EquipmentSlots ( IPacketSender packetSender )
@@ -53,7 +63,13 @@ public void BroadcastEquip(Pickupable pickupable, GameObject owner, string slot)
5363 return ;
5464 }
5565
56- ModuleAdded moduleAdded = new ModuleAdded ( equippedItem ) ;
66+ bool playerModule = true ;
67+ if ( ApplicableEquipmentTypes . Contains ( Equipment . GetSlotType ( slot ) ) )
68+ {
69+ playerModule = false ;
70+ }
71+
72+ ModuleAdded moduleAdded = new ModuleAdded ( equippedItem , playerModule ) ;
5773 packetSender . Send ( moduleAdded ) ;
5874 pickupable . gameObject . transform . SetParent ( parent ) ;
5975 }
@@ -80,7 +96,13 @@ public void BroadcastUnequip(Pickupable pickupable, GameObject owner, string slo
8096 packetSender . Send ( vehicleChildInteractiveData ) ;
8197 }
8298
83- ModuleRemoved moduleRemoved = new ModuleRemoved ( ownerId , slot , itemId ) ;
99+ bool playerModule = true ;
100+ if ( ApplicableEquipmentTypes . Contains ( Equipment . GetSlotType ( slot ) ) )
101+ {
102+ playerModule = false ;
103+ }
104+
105+ ModuleRemoved moduleRemoved = new ModuleRemoved ( ownerId , slot , itemId , playerModule ) ;
84106 packetSender . Send ( moduleRemoved ) ;
85107 }
86108
0 commit comments