protected BaseActionAIInfo(ShipStateChange cost) { if (cost != null) { this.cost = new ShipStateChange(cost); this.cost.Health *= 3; } }
public ShipStateEffect(TargetingInfo effectsWho, EffectTypes effectTypes, EffectSounds effectSounds, ShipStateChange ssc) : base(effectsWho, effectTypes | ssc.HarmfulEffectTypes, effectSounds) { this.ssc = ssc; this.isHarmful = ssc.Energy < 0 || ssc.EnergyChangeRate < 0 || ssc.Health < 0 || ssc.HealthChangeRate < 0; }
public override void FilterEffects(float dt, List <IEffect> effects) { GeneralChange change = new GeneralChange(); foreach (IEffect effect in effects) { change.Merge(effect.RemoveEffectTypes(filteredEffectTypes)); } if (change.ShipStateChange != null && change.ShipStateChange.Health < 0) { ShipStateChange truechange = new ShipStateChange(); truechange.Energy = MathHelper.Floor(-change.ShipStateChange.Health * absorptionRatio); truechange.Health = MathHelper.Ceiling(change.ShipStateChange.Health * (1 - absorptionRatio)); this.attachie.ShipState.Change(truechange); } }
public MyconShipStateEffect(TargetingInfo effectsWho, EffectTypes harmfulEffectTypes, EffectSounds effectSounds, ShipStateChange ssc) : base(effectsWho, harmfulEffectTypes, effectSounds, ssc) { }
public CloakingActionAIInfo(ShipStateChange cost) : base(cost) { }
public BuildUpGunActionAIInfo(ShipStateChange cost) : base(cost) { }
public SpecificRangeActionAIInfo(ShipStateChange cost, float minRange, float maxRange) : base(cost) { this.minRange = minRange; this.maxRange = maxRange; }
public RayActionAIInfo(ShipStateChange cost) : base(cost) { }
protected BaseActionAIInfo(BaseActionAIInfo copy) { this.cost = copy.cost; }
public ProximityActionAIInfo(ShipStateChange cost) : base(cost) { }
public MultiGunActionAIInfo(ShipStateChange cost) : base(cost) { }
public RechargeActionAIInfo(ShipStateChange cost) : base(cost) { }
public OffensiveShieldActionAIInfo(ShipStateChange cost, float range) : base(cost) { this.range = range; }
protected ShipStateEffect(ShipStateEffect copy) : base(copy) { this.ssc = new ShipStateChange(copy.ssc); }