public void CannotPerformRedManeuversWhileStressed(Ship.GenericShip ship, ref Movement.MovementStruct movement) { //TODO: Should I show red maneuvers if I have stress? if ((movement.ColorComplexity == Movement.ManeuverColor.Red) && (ship.GetToken(typeof(Tokens.StressToken)) != null)) { movement.ColorComplexity = Movement.ManeuverColor.None; } }
private void NienNunbAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.ManeuverColor.None) { if (movement.Bearing == Movement.ManeuverBearing.Straight) { movement.ColorComplexity = Movement.ManeuverColor.Green; } } }
private void TurnManeuversAreRed(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.Bearing == Movement.ManeuverBearing.Turn) { //Too many notifications //Game.UI.ShowInfo("Damaged Engine: Treat all turn maneuvers as red maneuvers"); //Game.UI.AddTestLogEntry("Damaged Engine: Treat all turn maneuvers as red maneuvers"); movement.ColorComplexity = Movement.ManeuverColor.Red; } }
private void TwinIonEngineMkIIAbility(GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.ManeuverColor.None) { if (movement.Bearing == Movement.ManeuverBearing.Bank) { movement.ColorComplexity = Movement.ManeuverColor.Green; } } }
private void CheckAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.MovementComplexity.None) { if (movement.Speed == Movement.ManeuverSpeed.Speed3) { movement.ColorComplexity = Movement.MovementComplexity.Easy; } } }
private void CheckT65DA1Ability(GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.ManeuverColor.None) { if (movement.Speed == Movement.ManeuverSpeed.Speed2) { movement.ColorComplexity = Movement.ManeuverColor.Green; } } }
private void CheckAbility(GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.MovementComplexity.None) { if (movement.Bearing == Movement.ManeuverBearing.Bank) { movement.ColorComplexity = Movement.MovementComplexity.Easy; } } }
private void CannotBeAssignedStraightManeuvers(GenericShip ship, ref Movement.MovementStruct movement) { if (movement.Bearing == Movement.ManeuverBearing.Straight) { //Too many //Game.UI.ShowError("Shaken Pilot: Cannot be assigned straight maneuvers"); //Game.UI.AddTestLogEntry("Shaken Pilot: Cannot be assigned straight maneuvers"); movement.ColorComplexity = Movement.MovementComplexity.None; } }
private void TurnManeuversAreRed(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.MovementComplexity.None) { if (movement.Bearing == Movement.ManeuverBearing.Turn) { movement.ColorComplexity = Movement.MovementComplexity.Complex; } } }
private void R2AstromechAbility(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.ManeuverColor.None) { if ((movement.Speed == Movement.ManeuverSpeed.Speed1) || (movement.Speed == Movement.ManeuverSpeed.Speed2)) { movement.ColorComplexity = Movement.ManeuverColor.Green; } } }
private bool IsBankManeuversSameSpeed(string maneuverString) { bool result = false; Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString); if (movementStruct.Bearing == Movement.ManeuverBearing.Bank && movementStruct.Speed == HostShip.AssignedManeuver.ManeuverSpeed) { result = true; } return(result); }
private bool IsSameComplexity(string maneuverString) { bool result = false; Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString); if (movementStruct.ColorComplexity == HostShip.AssignedManeuver.ColorComplexity) { result = true; } return(result); }
private bool IsSameSpeed(string maneuverString) { bool result = false; Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString); if (movementStruct.Speed == Selection.ThisShip.AssignedManeuver.ManeuverSpeed) { result = true; } return(result); }
private bool IsSameBearingAndDirection(string maneuverString) { bool result = false; Movement.MovementStruct movementStruct = new Movement.MovementStruct(maneuverString); if (movementStruct.Bearing == Selection.ThisShip.AssignedManeuver.Bearing && movementStruct.Direction == Selection.ThisShip.AssignedManeuver.Direction) { if (!(movementStruct.ColorComplexity == Movement.MovementComplexity.Complex && HostShip.Tokens.HasToken(typeof(Tokens.StressToken)))) { result = true; } } return(result); }
// MANEUVERS // TODO: Rewrite public Movement.ManeuverColor GetColorComplexityOfManeuver(Movement.MovementStruct movement) { if (AfterGetManeuverColorDecreaseComplexity != null) { AfterGetManeuverColorDecreaseComplexity(this, ref movement); } if (AfterGetManeuverColorIncreaseComplexity != null) { AfterGetManeuverColorIncreaseComplexity(this, ref movement); } if (AfterGetManeuverAvailablity != null) { AfterGetManeuverAvailablity(this, ref movement); } return(movement.ColorComplexity); }
private void TurnManeuversAreHarder(Ship.GenericShip ship, ref Movement.MovementStruct movement) { if (movement.ColorComplexity != Movement.MovementComplexity.None) { if (movement.Bearing == Movement.ManeuverBearing.Turn) { switch (movement.ColorComplexity) { case Movement.MovementComplexity.Easy: movement.ColorComplexity = Movement.MovementComplexity.Normal; break; case Movement.MovementComplexity.Normal: movement.ColorComplexity = Movement.MovementComplexity.Complex; break; } } } }
public Dictionary <string, Movement.ManeuverColor> GetManeuvers() { Dictionary <string, Movement.ManeuverColor> result = new Dictionary <string, Movement.ManeuverColor>(); foreach (var maneuverHolder in Maneuvers) { Movement.MovementStruct movement = Game.Movement.ManeuverFromString(maneuverHolder.Key); if (AfterGetManeuverColorDecreaseComplexity != null) { AfterGetManeuverColorDecreaseComplexity(this, ref movement); } if (AfterGetManeuverColorIncreaseComplexity != null) { AfterGetManeuverColorIncreaseComplexity(this, ref movement); } if (AfterGetManeuverAvailablity != null) { AfterGetManeuverAvailablity(this, ref movement); } result.Add(maneuverHolder.Key, movement.ColorComplexity); } return(result); }
public bool HasManeuver(Movement.MovementStruct maneuverStruct) { string maneuverString = maneuverStruct.ToString(); return(HasManeuver(maneuverString)); }