private void PickupDropletController_OnCollisionEnter(On.RoR2.PickupDropletController.orig_OnCollisionEnter orig, PickupDropletController self, Collision collision) { bool wasCmd = false; if (NetworkServer.active && self.GetComponent <PickupDropletNoCommandFlag>()) { wasCmd = RunArtifactManager.enabledArtifactsEnumerable.Contains(RoR2Content.Artifacts.Command); if (wasCmd) { RunArtifactManager.instance.SetArtifactEnabledServer(RoR2Content.Artifacts.Command, false); } } orig(self, collision); if (NetworkServer.active && wasCmd) { RunArtifactManager.instance.SetArtifactEnabledServer(RoR2Content.Artifacts.Command, true); } }
private void TransferTracker(GameObject newObj, PickupDropletController controller) { if (newObj == null || controller == null || !NetworkServer.active) { return; } var tracker = controller.GetComponent <DurabilityTracker>(); if (tracker != null) { var newTracker = newObj.AddComponent <DurabilityTracker>(); newTracker.durability = tracker.durability; } else if (controller.pickupIndex.equipmentIndex != EquipmentIndex.None) { var newTracker = newObj.AddComponent <DurabilityTracker>(); newTracker.durability = FullDurability; } }