public virtual int GetBuildTime(ActorInfo unit, BuildableInfo bi = null) { if (developerMode.FastBuild) { return(0); } var time = unit.GetBuildTime() * Info.BuildSpeed / 100; return(time); }
public virtual int GetBuildTime(ActorInfo unit, BuildableInfo bi = null) { if (self.World.AllowDevCommands && self.Owner.PlayerActor.Trait <DeveloperMode>().FastBuild) { return(0); } var time = unit.GetBuildTime() * Info.BuildSpeed / 100; return(time); }
public override int GetBuildTime(ActorInfo unit, BuildableInfo bi = null) { if (developerMode.FastBuild) { return(0); } var time = unit.GetBuildTime() * Info.BuildSpeed / 100; if (info.SpeedUp) { var type = (bi ?? unit.TraitInfo <BuildableInfo>()).BuildAtProductionType ?? info.Type; var selfsameProductionsCount = self.World.ActorsWithTrait <Production>() .Count(p => p.Actor.Owner == self.Owner && p.Trait.Info.Produces.Contains(type)); var speedModifier = selfsameProductionsCount.Clamp(1, info.BuildTimeSpeedReduction.Length) - 1; time = (time * info.BuildTimeSpeedReduction[speedModifier]) / 100; } return(time); }
public virtual int GetBuildTime(ActorInfo unit, BuildableInfo bi = null) { if (self.World.AllowDevCommands && self.Owner.PlayerActor.Trait<DeveloperMode>().FastBuild) return 0; var time = unit.GetBuildTime() * Info.BuildSpeed / 100; return time; }