public CampaignRunResult RunCampaign(Member sender, Member subject, CampaignMode mode, uint duration) { if (activeCampaigns.Count >= 2) { return(CampaignRunResult.RefusedTooManyCampaigns); } if (Owner.Opinions[sender] < -Params.OpinionThreshold) { return(CampaignRunResult.RefusedOpinionSender); } if (mode == CampaignMode.Pro && Owner.Opinions[subject] < -Params.OpinionThreshold) { return(CampaignRunResult.RefusedOpinionSubject); } if (mode == CampaignMode.Against && Owner.Opinions[subject] > Params.OpinionThreshold) { return(CampaignRunResult.RefusedOpinionSubject); } if (Owner.PresidentServicePoints + Utils.Unsigmoid(Owner.Opinions[sender]) < duration) { return(CampaignRunResult.RefusedServicePoints); } activeCampaigns.Add(new Campaign(this, subject, mode, duration)); return(CampaignRunResult.OK); }
public DemoForm(CampaignMode mode) { InitializeComponent(); campaignMode = mode; SetControlsVisibility(); }
public Campaign(MassMediaUnit media, Member subject, CampaignMode mode, uint duration) : this(media, subject, (double)mode, duration) { }