private HitpointTracker GetHP() { HitpointTracker hp = null; hp = part.FindModuleImplementing <HitpointTracker>(); return(hp); }
private void Setup() { hp = GetHP(); partHPmax = hp.maxHitPoints; partHPtotal = hp.Hitpoints; partArmorMax = hp.ArmorThickness; partArmorTotal = hp.Armor; }
public override void OnStart(StartState state) { if (HighLogic.LoadedSceneIsFlight) { hpTracker = GetHP(); hpTracker.maxHitPoints = 10000; hpTracker.Hitpoints = 10000; HPcheck = hpTracker.maxHitPoints; } base.OnStart(state); }
public override void OnStart(StartState state) { base.OnStart(state); if (HighLogic.LoadedSceneIsFlight) { shieldState = GetShieldState(); shieldCheck = ShieldControl(); hpTracker = GetHP(); CheckShieldState(); calcSurfaceArea(); hp = hpTracker.Hitpoints; hpCheck = hp; } }
private void DetectDamage() { hpTracker = GetHP(); armorModifier = hpTracker.Armor / hpTracker.ArmorThickness; var bullet = GameObject.FindObjectOfType <PooledBullet>(); if (bullet.hasPenetrated) { if (hpTracker.Armor <= armorCheck) { armorCheck = hpTracker.Armor; var random = new System.Random().Next(0, 100); if (random >= armorModifier * 100) { Kill(); } } } }
private void CheckShieldHP() { hpTracker = GetHP(); if (hp <= hpCheck) { var depletedEC = (hpCheck - hp) * ecDrain; this.part.RequestResource("ElectricCharge", depletedEC); hpCheck = hp; } if (hpTracker.Hitpoints < hpTracker.maxHitPoints * 0.05) { hpAvailable = false; } else { hpAvailable = true; } if (hpTracker.Hitpoints < hpTracker.maxHitPoints * 0.35) { shieldDeployable = false; } else { shieldDeployable = true; } if (hpTracker.Hitpoints < hpTracker.maxHitPoints * 0.99f) { GenerateHP(); } if (hpTracker.Hitpoints < hpTracker.maxHitPoints * 0.0001 || hpTracker.Armor < hpTracker.ArmorThickness * 0.0001) { part.explode(); } }
private void CheckHP() { hpTracker = GetHP(); hp = hpTracker.Hitpoints; count = 2; if (hp <= 10000) { var OrX = part.FindModuleImplementing <ModuleOrXBDAc>(); if (OrX != null) { var _hpToRemove = hp - HPcheck; OrX.hpToRemove = _hpToRemove; hpTracker.Hitpoints = hpTracker.maxHitPoints; } } if (this.part.vessel.vesselName.Contains("Debris")) { this.part.Die(); } }
public void CheckPart() { hp = GetHP(); partHPtotal = hp.Hitpoints; partArmorTotal = hp.Armor; if (stage != 1 || (!(partHPtotal <= partHPmax * DAMAGEMODIFIER1 / 100) && !(partArmorTotal <= partArmorMax * ARMORMODIFIER1 / 100))) { return; } stage = 2; hp.Armor = ARMORMODIFIER2 * partArmorMax / 100; hp.ArmorThickness = hp.Armor; hp.Hitpoints = DAMAGEMODIFIER2 * partHPmax / 100; hp.maxHitPoints = hp.Hitpoints; partHPmax = hp.maxHitPoints; partHPtotal = hp.Hitpoints; partArmorMax = hp.ArmorThickness; partArmorTotal = hp.Armor; nextTextureEvent(); }
private void Setup() { hpTracker = GetHP(); armorCheck = hpTracker.Armor; }