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(); } }
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(); } }
//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); } }
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; }
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); } }
//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); } } }
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; }