public override void DeactivateAbility() { HostShip.WingsOpen(); HostShip.OnMovementActivationStart -= RegisterAskToFlip; HostShip.OnManeuverIsRevealed -= RegisterAskToRotate; HostShip.ChangeAgilityBy(+1); }
private void RestoreOriginalAgility(GenericShip ship) { HostShip.OnAttackFinishAsDefender -= RestoreOriginalAgility; Messages.ShowInfo(HostShip.PilotInfo.PilotName + "'s Agility hass been restored to " + OriginalAgility); HostShip.ChangeAgilityBy(OriginalAgility - HostShip.AssignedManeuver.Speed); }
public override void DeactivateAbility() { HostShip.ShipInfo.Agility--; HostShip.ChangeAgilityBy(-1); HostShip.OnDamageWasSuccessfullyDealt -= RegisterStealthDeviceCleanupSe; }
public override void ActivateAbility() { ChangeInitialWingsPosition(); HostShip.OnMovementActivation += RegisterAskToFlip; HostShip.OnManeuverIsRevealed += RegisterAskToRotate; HostShip.ChangeAgilityBy(-1); }
public override void DeactivateAbility() { HostShip.ShipInfo.Agility--; HostShip.ChangeAgilityBy(-1); HostShip.OnAttackHitAsDefender -= RegisterStealthDeviceCleanup; }
private void RemoveExposeEffect() { HostShip.ChangeFirepowerBy(-1); HostShip.ChangeAgilityBy(+1); Phases.Events.OnEndPhaseStart_NoTriggers -= RemoveExposeEffect; }
public override void ActionTake() { Sounds.PlayShipSound("Astromech-Beeping-and-whistling"); HostShip.ChangeAgilityBy(+1); Phases.Events.OnEndPhaseStart_NoTriggers += R2F2DecreaseAgility; HostShip.Tokens.AssignCondition(typeof(Conditions.R2F2Condition)); Phases.CurrentSubPhase.CallBack(); }
public override void DeactivateAbility() { HostShip.ShipInfo.ArcInfo.Arcs.First().Firepower--; HostShip.PrimaryWeapons.First().WeaponInfo.AttackValue--; HostShip.ChangeFirepowerBy(-1); HostShip.ShipInfo.Agility++; HostShip.ChangeAgilityBy(1); HostShip.ShipInfo.Shields -= 2; HostShip.ChangeShieldBy(-2); }
private void TryActivateAbilityBonus() { if (!AbilityIsActive) { Messages.ShowInfo(HostShip.PilotInfo.PilotName + ": +1 Agility"); HostShip.ChangeAgilityBy(+1); HostShip.Tokens.AssignCondition(typeof(Conditions.GemmerSojanCondition)); AbilityIsActive = true; } }
private void TryActivateAbilityBonus() { if (!AbilityIsActive) { Messages.ShowInfo(HostShip.PilotInfo.PilotName + " is within range 1 of at least one enemy ship and gains +1 Agility"); HostShip.ChangeAgilityBy(+1); HostShip.Tokens.AssignCondition(typeof(Conditions.GemmerSojanCondition)); AbilityIsActive = true; } }
private void ApplyExposeEffect() { HostShip.ChangeFirepowerBy(+1); HostShip.ChangeAgilityBy(-1); Phases.Events.OnEndPhaseStart_NoTriggers += RemoveExposeEffect; HostShip.Tokens.AssignCondition(typeof(Conditions.ExposeCondition)); Phases.CurrentSubPhase.CallBack(); }
private void TryDeactivateAbilityBonus() { if (AbilityIsActive) { Messages.ShowError(HostShip.PilotInfo.PilotName + ": -1 Agility"); HostShip.ChangeAgilityBy(-1); HostShip.Tokens.RemoveCondition(typeof(Conditions.GemmerSojanCondition)); AbilityIsActive = false; } }
private void ChangeAgility(object sender, System.EventArgs e) { Messages.ShowInfo(HostShip.PilotInfo.PilotName + "'s Agility is now " + HostShip.AssignedManeuver.Speed); OriginalAgility = HostShip.State.Agility; HostShip.ChangeAgilityBy(HostShip.AssignedManeuver.Speed - HostShip.State.Agility); HostShip.OnAttackFinishAsDefender += RestoreOriginalAgility; DecisionSubPhase.ConfirmDecision(); }
public override void ActivateAbility() { HostShip.ChangeAgilityBy(1); if (RuleSet.Instance is FirstEdition) { HostShip.OnAttackHitAsDefender += RegisterStealthDeviceCleanup; } else { HostShip.OnDamageWasSuccessfullyDealt += RegisterStealthDeviceCleanupSe; } }
private void ActivateCountermeasures(object sender, System.EventArgs e) { HostShip.ChangeAgilityBy(+1); Phases.OnRoundEnd += DeactivateCountermeasures; if (HostShip.Tokens.HasToken(typeof(RedTargetLockToken), '*')) { AskToRemoveTargetLock(); } else { HostUpgrade.TryDiscard(SubPhases.DecisionSubPhase.ConfirmDecision); } }
private void ActivateCountermeasures(object sender, System.EventArgs e) { Messages.ShowInfo(string.Format("{0} used Countermeasures.", HostShip.PilotInfo.PilotName)); HostShip.ChangeAgilityBy(+1); Phases.Events.OnRoundEnd += DeactivateCountermeasures; if (HostShip.Tokens.HasToken(typeof(RedTargetLockToken), '*')) { SubPhases.DecisionSubPhase.ConfirmDecisionNoCallback(); AskToRemoveTargetLock(); } else { HostUpgrade.TryDiscard(SubPhases.DecisionSubPhase.ConfirmDecision); } }
private void R2F2DecreaseAgility() { HostShip.ChangeAgilityBy(-1); HostShip.Tokens.RemoveCondition(typeof(Conditions.R2F2Condition)); Phases.Events.OnEndPhaseStart_NoTriggers -= R2F2DecreaseAgility; }
public override void ActivateAbility() { Phases.Events.OnGameStart += ChangeInitialWingsPosition; HostShip.OnMovementFinish += RegisterAskToUseFlip; HostShip.ChangeAgilityBy(+1); }
public override void DeactivateAbility() { Phases.Events.OnGameStart -= ChangeInitialWingsPosition; HostShip.OnMovementFinish -= RegisterAskToUseFlip; HostShip.ChangeAgilityBy(-1); // Works only if flipped during battle, for squad builder ActivateAbilityForSquadBuilder is used }
public override void DeactivateAbility() { HostShip.OnMovementFinish -= RegisterAskToUseFlip; HostShip.ChangeAgilityBy(-1); }
public override void ActivateAbility() { ChangeInitialWingsPosition(); HostShip.OnMovementFinish += RegisterAskToUseFlip; HostShip.ChangeAgilityBy(+1); }
public override void ActivateAbility() { HostShip.ChangeAgilityBy(1); HostShip.OnAttackHitAsDefender += RegisterStealthDeviceCleanup; }
public override void DeactivateAbility() { HostShip.ChangeAgilityBy(-1); HostShip.OnAttackHitAsDefender -= RegisterStealthDeviceCleanup; HostShip.OnDamageWasSuccessfullyDealt -= RegisterStealthDeviceCleanupSe; }
private void DeactivateCountermeasures() { Phases.OnRoundEnd -= DeactivateCountermeasures; HostShip.ChangeAgilityBy(-1); }