IEnumerator Investigate() { InvestigateLocation investigateAction = new InvestigateLocation(ThisCard, investigateCardEffect.IsCancelable); yield return(investigateAction.RunNow()); investigateCardEffect.IsCancel = !investigateAction.SkillTest.IsComplete ?? false; }
IEnumerator Investigate() { InvestigateLocation investigateLocation = new InvestigateLocation(ThisCard.VisualOwner.CurrentLocation, mainCardEffect.IsCancelable); investigateLocation.WinEffect = () => new AddTokenAction(ThisCard.VisualOwner.InvestigatorCardComponent.ResourcesToken, 3).RunNow();; yield return(investigateLocation.RunNow()); mainCardEffect.IsCancel = !investigateLocation.SkillTest.IsComplete ?? false; }
IEnumerator InvestigateWithFlash() { InvestigateLocation investigateLocation = new InvestigateLocation(ThisCard.VisualOwner.CurrentLocation, investigateWithFlash.IsCancelable); investigateLocation.SkillTest.TestValue -= 2; investigateLocation.SkillTest.ExtraCard = ThisCard; yield return(investigateLocation.RunNow()); investigateWithFlash.IsCancel = !investigateLocation.SkillTest.IsComplete ?? false; }
bool Discard(InvestigateLocation investigateLocation) { if (LocationAffected != investigateLocation.Location) { return(false); } if (!investigateLocation.SkillTest.IsWin) { return(false); } return(true); }