Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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;
            }
        }