Esempio n. 1
0
        public ManeuverSuccessSet RollManeuverSpeedAndEvasion(IServiceProvider services, VolleyOrders formationOrders, int formationId, int currentVolley, int speedDRM = 0, int evasionDRM = 0)
        {
            var logger  = services.GetLogger();
            var roller  = services.GetService <IDiceUtility>();
            var builder = new StringBuilder();

            builder.Append($" -- [{this.FormationId}]{this.FormationName} rolls {formationOrders.SpeedDice}D for Speed: ");
            formationOrders.SpeedSuccesses = FullThrustDieRolls.RollFTSuccesses(roller, formationOrders.SpeedDice, out IEnumerable <int> speedRolls);
            builder.AppendLine($" -- {formationOrders.SpeedSuccesses}s ({string.Join(", ", speedRolls)})");

            builder.Append($" -- [{this.FormationId}]{this.FormationName} rolls {formationOrders.EvasionDice}D for Evasion: ");
            formationOrders.EvasionSuccesses = FullThrustDieRolls.RollFTSuccesses(roller, formationOrders.EvasionDice, out IEnumerable <int> evasionRolls);
            builder.AppendLine($" -- {formationOrders.EvasionSuccesses}s ({string.Join(", ", evasionRolls)})");

            logger.LogInformation(builder.ToString());

            return(new ManeuverSuccessSet()
            {
                FormationId = formationId, Volley = currentVolley, SpeedSuccesses = formationOrders.SpeedSuccesses, EvasionSuccesses = formationOrders.EvasionSuccesses
            });
        }
Esempio n. 2
0
 internal static VolleyOrders Clone(VolleyOrders o)
 {
     return(o.Clone());
 }