コード例 #1
0
 private void On_CMAddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable dpl, DeployableSlot dpls)
 {
     orig(self, dpl, dpls);
     if (inclDeploys && self.hasBody)
     {
         self.GetBody().GetComponent <LifeSavingsComponent>()?.ServerUpdateIcnt();
     }
 }
コード例 #2
0
 private void On_CMAddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable dpl, DeployableSlot dpls)
 {
     orig(self, dpl, dpls);
     if (inclDeploys && NetworkServer.active && self.TryGetComponent <LifeSavingsComponent>(out var cpt))
     {
         cpt.ServerUpdateIcnt();
     }
 }
コード例 #3
0
        //AddDeployable fires after OnInventoryChanged while creating a turret, so Deployable.ownerMaster won't be set in OIC
        private void On_CMAddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable depl, DeployableSlot slot)
        {
            orig(self, depl, slot);

            var body = depl.GetComponent <CharacterMaster>()?.GetBody();

            if (body)
            {
                UpdateBarbedWard(body);
            }
        }
コード例 #4
0
        private void CharacterMaster_AddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable deployable, DeployableSlot slot)
        {
            orig(self, deployable, slot);
            var turretinventory = self.gameObject.GetComponent<turretinventory>();
            if(turretinventory == null)
            {
                turretinventory = self.gameObject.AddComponent<turretinventory>();
            }

            turretinventory.deployables =  DeployList(self);
            turretinventory.characterMaster = self;
        }
コード例 #5
0
        private void TurretEliteInheritance(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable deployable, DeployableSlot slot)
        {
            orig(self, deployable, slot);

            if (deployable.gameObject.GetComponentInChildren <CharacterMaster>())
            {
                deployable.gameObject.GetComponentInChildren <CharacterMaster>().inventory.CopyEquipmentFrom(self.inventory);
                deployable.gameObject.GetComponentInChildren <CharacterMaster>().inventory.ResetItem(ItemIndex.AutoCastEquipment);
                deployable.gameObject.GetComponentInChildren <CharacterMaster>().inventory.ResetItem(ItemIndex.TonicAffliction);
            }
            else if (deployable.gameObject.GetComponentInParent <CharacterMaster>())
            {
                deployable.gameObject.GetComponentInParent <CharacterMaster>().inventory.CopyEquipmentFrom(self.inventory);
                deployable.gameObject.GetComponentInParent <CharacterMaster>().inventory.ResetItem(ItemIndex.AutoCastEquipment);
                deployable.gameObject.GetComponentInParent <CharacterMaster>().inventory.ResetItem(ItemIndex.TonicAffliction);
            }
        }
コード例 #6
0
 //Method to give turrets the starting bonus of its owner
 private void CharacterMaster_AddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig,
                                            CharacterMaster self,
                                            Deployable deployable,
                                            DeployableSlot slot)
 {
     orig(self, deployable, slot);
     if (TurretReceivesBonusFromEngineer.Value &&
         slot == DeployableSlot.EngiTurret)
     {
         var ownerMasterBonus = deployable.ownerMaster.inventory.infusionBonus;
         if (ownerMasterBonus > 0)
         {
             var turretMaster = deployable.GetComponent <CharacterMaster>();
             turretMaster.inventory.AddInfusionBonus(ownerMasterBonus);
         }
     }
 }
コード例 #7
0
        private void CharacterMaster_AddDeployable(On.RoR2.CharacterMaster.orig_AddDeployable orig, CharacterMaster self, Deployable deployable, DeployableSlot slot)
        {
            string turretType;
            if (RoR2Application.isInSinglePlayer)
            {
                turretType = currentRule.ToString();
            }
            else
            {
                turretType = Facepunch.Steamworks.Client.Instance.Lobby.GetMemberData(self.GetComponent<PlayerCharacterMasterController>().netId.Value, "Turret");
            }

            if(turretType == "RailGun" || turretType == "2")
            {
                SetToRail();
            }
            else if(turretType == "MiniGun" || turretType == "3")
            {
                SetToMinigun();
            }
            else
            {
                SetToDefault();
            }


            orig(self, deployable, slot);
            var turretinventory = self.gameObject.GetComponent<turretinventory>();
            if (turretinventory == null)
            {
                turretinventory = self.gameObject.AddComponent<turretinventory>();
            }

            turretinventory.deployables = DeployList(self);
            turretinventory.characterMaster = self;
        }