public override void OnEnter() { //Steal variables again var goodState = new MineArmingWeak(); if (string.IsNullOrEmpty(pathToChildToEnable)) { pathToChildToEnable = goodState.pathToChildToEnable; onEnterSfxPlaybackRate = goodState.onEnterSfxPlaybackRate; onEnterSfx = goodState.onEnterSfx; triggerRadius = goodState.triggerRadius; blastRadiusScale = goodState.blastRadiusScale; forceScale = goodState.forceScale; damageScale = goodState.damageScale; } //No trigger radius at this stage triggerRadius = 0f; base.OnEnter(); }
private void On_ESMineArmingWeak(On.EntityStates.Engi.Mine.MineArmingWeak.orig_FixedUpdate orig, MineArmingWeak self) { if (self.outer.name != "FootMine(Clone)") { orig(self); } else if (NetworkServer.active && !self.projectileController.owner) { if (Detonate.explosionEffectPrefab) { EffectManager.SpawnEffect(Detonate.explosionEffectPrefab, new EffectData { origin = self.transform.position, rotation = self.transform.rotation, scale = Detonate.blastRadius * 0.3f }, true); } EntityState.Destroy(self.gameObject); } }
private void On_ESMineArmingWeak(On.EntityStates.Engi.Mine.MineArmingWeak.orig_FixedUpdate orig, MineArmingWeak self) { if (self.outer.name != "InstantMine(Clone)") { orig(self); } else { self.outer.SetNextState(new MineArmingFull()); } }