private BDExplosivePart GetMine() { BDExplosivePart m = null; m = part.FindModuleImplementing <BDExplosivePart>(); return(m); }
IEnumerator DetonateMineRoutine() { detonating = true; mine = GetMine(); mine.DetonateAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); yield return(new WaitForSeconds(1)); part.explode(); }
private void ArmMine() { part.vessel.DiscoveryInfo.SetLevel(DiscoveryLevels.Unowned); mine = GetMine(); armMine = true; deployed = true; mine.ArmAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); string _proximity_ = Convert.ToString(proximity); }
public override void OnStart(StartState state) { if (HighLogic.LoadedSceneIsFlight) { part.force_activate(); mine = GetMine(); } base.OnStart(state); }
IEnumerator DetonateMineRoutine() { detonating = true; mine = GetMine(); mine.ArmAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); AddForce(); yield return(new WaitForFixedUpdate()); mine.DetonateAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); part.explode(); }
IEnumerator DetonateMineRoutine() { detonating = true; UnityEngine.Debug.Log("[OrX Bonus Ball] Waldo Attack " + this.vessel.vesselName + " Detonating ... "); mine = GetMine(); mine.ArmAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); yield return(new WaitForFixedUpdate()); mine.DetonateAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); part.explode(); }
IEnumerator DisarmRoutine() { mine = GetMine(); armMine = false; mine.Armed = false; yield return(new WaitForSeconds(2.5f)); ScreenMsg("<color=#017c19ff><b>MINE DISARMED</b></color>"); vessel.DiscoveryInfo.SetLevel(DiscoveryLevels.Owned); disarm = true; disarming = false; armMine = false; }
public override void OnStart(StartState state) { decouple = GetDecouple(); minimumCrew = 0; decouple.staged = false; decouple.stagingEnabled = false; if (HighLogic.LoadedSceneIsFlight) { part.force_activate(); mine = GetMine(); } base.OnStart(state); }
public override void OnStart(StartState state) { minimumCrew = 0; decouple = GetDecouple(); decouple.staged = false; decouple.stagingEnabled = false; GameEvents.onVesselWasModified.Add(ReconfigureEvent); recalcSurfaceArea(); if (HighLogic.LoadedSceneIsFlight) { part.force_activate(); mine = GetMine(); } base.OnStart(state); }
IEnumerator ArmMine() { checkIfArmed = false; yield return(new WaitForSeconds(1f)); mine = GetMine(); if (part.vessel.Splashed) { armMine = true; deployed = true; mine.ArmAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); } else { checkIfArmed = true; } }
private void ProxDetect() { mine = GetMine(); if (!detonating) { foreach (Vessel v in FlightGlobals.Vessels) { double targetDistance = Vector3d.Distance(this.vessel.GetWorldPos3D(), v.GetWorldPos3D()); if (targetDistance <= proximity) { if (targetDistance >= 0 && v.speed >= 1.5f) { StartCoroutine(DetonateMineRoutine()); } } } } }
////////////////////////////////////////////////////////////////////////// IEnumerator ArmMine() { part.vessel.DiscoveryInfo.SetLevel(DiscoveryLevels.Unowned); checkIfArmed = false; yield return(new WaitForSeconds(1f)); mine = GetMine(); if (part.vessel.altitude <= 0 || part.vessel.altitude == 0) { armMine = true; deployed = true; part.vessel.DiscoveryInfo.SetLevel(DiscoveryLevels.Unowned); mine.ArmAG(new KSPActionParam(KSPActionGroup.None, KSPActionType.Activate)); } else { checkIfArmed = true; } }
private void ProxDetect() { part.vessel.DiscoveryInfo.SetLevel(DiscoveryLevels.Unowned); mine = GetMine(); if (!detonating) { foreach (Vessel v in FlightGlobals.Vessels) { if (!v.HoldPhysics && v.speed >= 1.1f) { double targetDistance = Vector3d.Distance(this.vessel.GetWorldPos3D(), v.GetWorldPos3D()); if (targetDistance >= 0 && targetDistance <= proximity) { StartCoroutine(DetonateMineRoutine()); } } } } }
IEnumerator ProxDetect() { double targetDistance = Vector3d.Distance(this.vessel.GetWorldPos3D(), FlightGlobals.ActiveVessel.GetWorldPos3D()); if (targetDistance <= 10) { mine = GetMine(); if (FlightGlobals.ActiveVessel.isEVA) { speed = 1.5f + KerbinMissions.instance.level * 0.1; mine.tntMass = 1; StartCoroutine(DetonateMineRoutine()); Debug.Log("[OrX Bonus Ball] Waldo Attack " + this.vessel.vesselName + " Found Kerbal ... Detonating"); } else { if (FlightGlobals.ActiveVessel.srfSpeed >= 5) { speed = (FlightGlobals.ActiveVessel.srfSpeed * 0.9f) + (KerbinMissions.instance.level * 0.1f); mine.tntMass = 5 + (KerbinMissions.instance.level * 0.1f); StartCoroutine(DetonateMineRoutine()); Debug.Log("[OrX Bonus Ball] Waldo Attack " + this.vessel.vesselName + " Found Vessel ... Detonating"); } else { speed = 4 + KerbinMissions.instance.level * 0.1f; mine.tntMass = 5 + (KerbinMissions.instance.level * 0.1f); StartCoroutine(DetonateMineRoutine()); Debug.Log("[OrX Bonus Ball] Waldo Attack " + this.vessel.vesselName + " Found Vessel ... Detonating"); } } } yield return(new WaitForSeconds(2)); detecting = false; }