public static string BlackmailSnitchMessage(HeistPlayer.HeistDecision decision) { return($"You conveniently found {decision.PlayerToBlackmail.Name} lurking in the area, about to tell the police about your crimes. " + (decision.PlayerToBlackmail.Decision.Blackmailers.Count > 1 ? $"Unsurprisingly, you find that {decision.PlayerToBlackmail.Decision.Blackmailers.Count - 1} of the thieves have the same idea." : "") + $"The snitch is forced to hand over ${decision.BlackmailReward} MILLION " + (decision.PlayerToBlackmail.Decision.Blackmailers.Count > 1 ? " to each thief in exchange for their silence. " : " to you in exchange for this to never be spoken off again.")); }
public static string DefendedSelfAfterArrest(HeistPlayer.HeistDecision decision) { return($"While in lockup, you are accused by {GetPlayerNames(decision.Blackmailers)} of being a snitch. " + $"However, there is no concrete evidence against you, and you don't appreciate being antagonized. " + $"After a lengthy talk with your lawyers, you manage to " + (decision.Blackmailers.Count > 1 ? $"pin more crimes on them, extending their jail sentences. " : $"find ways to get {decision.Blackmailers[0].Name} a longer jail sentence. ")); }
public static string BlackmailedAfterDisbanding(HeistPlayer.HeistDecision decision) { return($"Just after you step away from the meeting, you're stopped by by {GetPlayerNames(decision.Blackmailers)}. " + $"Irrefutable evidence of your dealings with the police have gotten out. " + $"You have no choice but to cough up ${decision.Blackmailers[0].Decision.BlackmailReward} MILLION " + (decision.Blackmailers.Count > 1 ? $"to each of them for their silence, and to let you live. " : $"in exchange for silence, and to let you live. ")); }
public static Tuple <string, string> DecisionMessage(HeistPlayer.HeistDecision decision) { string decisionTitle = ""; string decisionDescription = ""; if (decision.PlayerToBlackmail != null) { decisionTitle = "COMMIT BLACKMAIL"; decisionDescription = string.Format("You have decided to blackmail {0} if the opportunity presents itself while on this heist.", decision.PlayerToBlackmail.Name); } else if (decision.GoOnHeist && !decision.ReportPolice) { decisionTitle = "GO ON HEIST"; decisionDescription = "You decide to go on the heist."; } else if (!decision.GoOnHeist && !decision.ReportPolice) { decisionTitle = "RUN AWAY"; decisionDescription = "You have better things to do than risk your life on this. You stay far away."; } else if (decision.GoOnHeist && decision.ReportPolice) { decisionTitle = "GET YOURSELF ARRESTED"; decisionDescription = "You look at the bunch of criminals around you and figure you're screwed anyway - might as well be a snitch and get some cash. But you want to spend some time in jail to avoid suspicion."; } else if (!decision.GoOnHeist && decision.ReportPolice) { decisionTitle = "SNITCH"; decisionDescription = "You decide to tell the police that there's a heist going on. You'll watch your fellow thieves from close by and keep the police informed."; } return(Tuple.Create(decisionTitle, decisionDescription)); }
public static string BlackmailedAfterArrest(HeistPlayer.HeistDecision decision) { return($"While in lockup, you are confronted by {GetPlayerNames(decision.Blackmailers)} about your dealings with the police. " + $"They seem to have unrefutable evidence, and you reckon prison won't treat a snitch very well. " + $"You have no choice but to cough up ${decision.Blackmailers[0].Decision.BlackmailReward} MILLION " + (decision.Blackmailers.Count > 1 ? $"to each of them for their silence. " : $"in exchange for silence. ")); }
public static string DefendedSelfAfterDisbanding(HeistPlayer.HeistDecision decision) { return($"Just after you step away from the meeting, you're stopped by {GetPlayerNames(decision.Blackmailers)} and accused of being a snitch. " + $"However, there is no concrete evidence against you, and you don't appreciate being antagonized. " + $"You devote a good portion of the next year to " + (decision.Blackmailers.Count > 1 ? $"unearthing evidence of their previous crimes and landing them in jail. " : $"unearthing evidence of {decision.Blackmailers[0].Name}'s previous crimes and landing {decision.Blackmailers[0].Name} in jail. ")); }
public static Tuple <string, string> GetBlackmailedMessage(HeistPlayer.HeistDecision decision) { var decisionTitle = "BLACKMAILED."; var decisionMessage = $"While snooping around, you ran into {GetPlayerNames(decision.Blackmailers)}." + $" Clearly, your correspondence with the police has been less clandestine than you wanted it to be. " + $"You hand over ${decision.Blackmailers[0].Decision.BlackmailReward} MILLION " + (decision.Blackmailers.Count > 1 ? " to each of them in exchange for their silence. " : " in exchange for this to never be spoken off again."); return(Tuple.Create(decisionTitle, decisionMessage)); }
public static string HeistRewardSummary(HeistPlayer.HeistDecision decision) { if (decision.ReportPolice) { return($"SNITCH REWARD: ${decision.HeistReward} MILLION."); } else { return($"SUCCESSFUL HEIST REWARD: ${decision.HeistReward} MILLION."); } }
public static string BlackmailDefenseSummary(HeistPlayer.HeistDecision decision) { if (decision.WasExtortedFrom.HasValue && decision.WasExtortedFrom.Value) { return($"BLACKMAILED BY {GetPlayerNames(decision.Blackmailers)} FOR: ${decision.Blackmailers[0].Decision.BlackmailReward} MILLION " + $"{(decision.Blackmailers.Count > 1 ? "EACH" : "")}"); } else if (decision.WasExtortedFrom.HasValue && !decision.WasExtortedFrom.Value) { return($"{GetPlayerNames(decision.Blackmailers)} FAILED TO BLACKMAIL YOU."); } return(""); }
public static string BlackmailSummary(HeistPlayer.HeistDecision decision) { if (decision.ExtortionSuccessful.HasValue && decision.ExtortionSuccessful.Value) { return($"BLACKMAILED {decision.PlayerToBlackmail.Name} FOR: ${decision.BlackmailReward} MILLION."); } else if (decision.ExtortionSuccessful.HasValue && !decision.ExtortionSuccessful.Value) { return($"FAILED TO BLACKMAIL {decision.PlayerToBlackmail.Name}."); } else { return($"COULD NOT FIND {decision.PlayerToBlackmail.Name}."); } }
public static string GenerateFateSummary(HeistPlayer.HeistDecision decision) { var fateSummary = new StringBuilder(); if (decision.JailTerm > 0) { fateSummary.Append(JailPenaltySummary(decision)); fateSummary.Append("|"); if (decision.JailFine > 0) { fateSummary.Append(JailFineSummary(decision)); fateSummary.Append("|"); } } if (decision.HeistReward > 0) { fateSummary.Append(HeistRewardSummary(decision)); fateSummary.Append("|"); } if (decision.PlayerToBlackmail != null) { fateSummary.Append(BlackmailSummary(decision)); fateSummary.Append("|"); } if (decision.WasExtortedFrom.HasValue) { fateSummary.Append(BlackmailDefenseSummary(decision)); fateSummary.Append("|"); } if (fateSummary.Length > 0) { fateSummary.Length = fateSummary.Length - 1; } return(fateSummary.ToString()); }
public static string HeistSuccess(HeistPlayer.HeistDecision decision) { return($"{GetPlayerNames(decision.FellowHeisters)} successfully {decision.HeistSuccessMessage}! " + $"At the end of the day, you earn ${decision.HeistReward} MILLION for your troubles. "); }
public static string BlackmaileeMissingMessage(HeistPlayer.HeistDecision decision) { return($"Your contacts searched all over for {decision.PlayerToBlackmail.Name} but couldn't find him, which ruins your plans for blackmail. "); }
public static string JailFineSummary(HeistPlayer.HeistDecision decision) { return($"LAWYER FEES: ${decision.JailFine} MILLION."); }
public static string BlackmailFailureAfterHeistDisband(HeistPlayer.HeistDecision decision) { return($"As you all decide to go your separate ways, you accuse {decision.PlayerToBlackmail.Name} of having dealings with the police. " + $"Unfortunately, your accusations don't seem to be appreciate. " + $"The next day, you find out that someone has told the police to find out more about your criminal record. "); }
public static string SentencedToJail(HeistPlayer.HeistDecision decision) { return($"You are sentenced to {decision.JailTerm} years in jail. Without parole. " + (decision.JailFine > 0 ? $"Your lawyer fees and fines also incur you a loss of ${decision.JailFine} MILLION. " : "")); }
public static string BlackmailFailureAfterHeistArrest(HeistPlayer.HeistDecision decision) { return($"While in lockup, you interrogate {decision.PlayerToBlackmail.Name} about his past, but learn nothing. " + $"Unfortunately, {decision.PlayerToBlackmail.Name} does not appreciate your nosiness and his lawyers do a number on you, extending your prison sentence. "); }
public static string BlackmailFailureAfterHeistSuccess(HeistPlayer.HeistDecision decision) { return($"On the way back from the heist, you interrogate {decision.PlayerToBlackmail.Name} about whether he has had dealings with the police. " + $"Unfortunately, your accusations don't seem to be appreciate. " + $"The next day, you find out that someone has told the police to find out more about your criminal record. "); }
public static string BlackmailSuccessAfterHeistDisband(HeistPlayer.HeistDecision decision) { return($"As you all decide to go your separate ways, you confront {decision.PlayerToBlackmail.Name} about his previous dealings with the police. " + (decision.PlayerToBlackmail.Decision.Blackmailers.Count > 1 ? $"Unsurprisingly, you find that {decision.PlayerToBlackmail.Decision.Blackmailers.Count - 1} of the thieves have the same idea." : "") + $"You get ${decision.BlackmailReward} MILLION in exchange for your silence. "); }
public static Tuple <string, string> GenerateFateMessage(bool heistHappens, bool policeReported, HeistPlayer.HeistDecision decision) { // Resolve not going on the heist but getting blackmailed while snitching if (decision.WasExtortedFrom.HasValue && !decision.GoOnHeist && decision.WasExtortedFrom.Value) { return(GetBlackmailedMessage(decision)); } // Resolve doing nothing if (!decision.GoOnHeist && !decision.ReportPolice) { return(Bailing); } var fateTitle = ""; var fateMessage = ""; // Resolve blackmail not finding the target if (decision.ExtortionSuccessful == null && decision.PlayerToBlackmail != null) { fateTitle = fateTitle + $"COULD NOT FIND {decision.PlayerToBlackmail.Name}. "; fateMessage = fateMessage + BlackmaileeMissingMessage(decision); } // Resolve blackmailing a snitch before he snitched and doesn't go on a heist if (decision.ExtortionSuccessful.HasValue && decision.ExtortionSuccessful.Value && !decision.PlayerToBlackmail.Decision.GoOnHeist && decision.PlayerToBlackmail.Decision.ReportPolice) { fateTitle = fateTitle + $"CAUGHT {decision.PlayerToBlackmail.Name} SNITCHING. "; fateMessage = fateMessage + BlackmailSnitchMessage(decision); } // Resolve heist status if (decision.GoOnHeist) { if (!heistHappens) { fateTitle = fateTitle + "NOT ENOUGH ATTENDENCE. "; fateMessage = fateMessage + HeistAbandoned(decision.FellowHeisters); } else if (heistHappens && policeReported && !decision.ReportPolice) { fateTitle = fateTitle + "ARRESTED. "; fateMessage = fateMessage + HeistArrested; } else if (heistHappens && !policeReported) { fateTitle = fateTitle + "SUCCESSFUL HEIST. "; fateMessage = fateMessage + HeistSuccess(decision); } } // Resolve snitching status - only for when snitching is successful and the snitch isn't blackmailed if (decision.ReportPolice && policeReported && (!decision.WasExtortedFrom.HasValue || decision.WasExtortedFrom.Value)) { if (decision.GoOnHeist && !heistHappens) { fateTitle = fateTitle + "ARRESTED FOR FALSE REPORT. "; fateMessage = fateMessage + FalseReportNoHeistYouGo; } else if (decision.GoOnHeist && heistHappens) { fateTitle = fateTitle + "GOT YOURSELF ARRESTED. "; fateMessage = fateMessage + GetYourselfArrested; } else if (!decision.GoOnHeist && heistHappens) { fateTitle = fateTitle + "SNITCH SUCCESS. "; fateMessage = fateMessage + SnitchSuccess(decision); } else if (!decision.GoOnHeist && !heistHappens) { fateTitle = fateTitle + "ARRESTED FOR FALSE REPORT. "; fateMessage = fateMessage + FalseReportNoHeistNoGo; } } // Resolve blackmailing others who went on the heist if (decision.PlayerToBlackmail != null && decision.PlayerToBlackmail.Decision.GoOnHeist) { if (decision.ExtortionSuccessful.HasValue && decision.ExtortionSuccessful.Value) { if (heistHappens && policeReported) { fateTitle = fateTitle + $"BLACKMAILED {decision.PlayerToBlackmail.Name}. "; fateMessage = fateMessage + BlackmailSuccessAfterHeistArrest(decision); } else if (heistHappens && !policeReported) { fateTitle = fateTitle + $"BLACKMAILED {decision.PlayerToBlackmail.Name}. "; fateMessage = fateMessage + BlackmailSuccessAfterHeistSuccess(decision); } else if (!heistHappens) { fateTitle = fateTitle + $"BLACKMAILED {decision.PlayerToBlackmail.Name}. "; fateMessage = fateMessage + BlackmailSuccessAfterHeistDisband(decision); } } else if (decision.ExtortionSuccessful.HasValue && !decision.ExtortionSuccessful.Value) { if (heistHappens && policeReported) { fateTitle = fateTitle + $"FAILED TO BLACKMAIL {decision.PlayerToBlackmail.Name} . "; fateMessage = fateMessage + BlackmailFailureAfterHeistArrest(decision); } else if (heistHappens && !policeReported) { fateTitle = fateTitle + $"FAILED TO BLACKMAIL {decision.PlayerToBlackmail.Name} AND ARRESTED. "; fateMessage = fateMessage + BlackmailFailureAfterHeistSuccess(decision); } else if (!heistHappens) { fateTitle = fateTitle + $"FAILED TO BLACKMAIL {decision.PlayerToBlackmail.Name} AND ARRESTED. "; fateMessage = fateMessage + BlackmailFailureAfterHeistDisband(decision); } } } // Resolve getting blackmailed and going on a heist if (decision.Blackmailers != null && decision.GoOnHeist) { if (decision.WasExtortedFrom.HasValue && decision.WasExtortedFrom.Value) { if (heistHappens && policeReported) { fateTitle = fateTitle + "EXPOSED AS A SNITCH. "; fateMessage = fateMessage + BlackmailedAfterArrest(decision); } else if (heistHappens && !policeReported) { fateTitle = fateTitle + "EXPOSED AS A SNITCH. "; fateMessage = fateMessage + BlackmailedAfterSuccessfulHeist(decision); } else if (!heistHappens) { fateTitle = fateTitle + "EXPOSED AS A SNITCH. "; fateMessage = fateMessage + BlackmailedAfterDisbanding(decision); } } else if (decision.WasExtortedFrom.HasValue && !decision.WasExtortedFrom.Value) { if (heistHappens && policeReported) { fateTitle = fateTitle + "FALSELY ACCUSED. "; fateMessage = fateMessage + DefendedSelfAfterArrest(decision); } else if (heistHappens && !policeReported) { fateTitle = fateTitle + "FALSELY ACCUSED. "; fateMessage = fateMessage + DefendedSelfAfterSuccessfulHeist(decision); } else if (!heistHappens) { fateTitle = fateTitle + "FALSELY ACCUSED. "; fateMessage = fateMessage + DefendedSelfAfterDisbanding(decision); } } } if (decision.JailTerm > 0) { fateMessage = fateMessage + SentencedToJail(decision); } return(Tuple.Create(fateTitle, fateMessage)); }
public static string BlackmailSuccessAfterHeistArrest(HeistPlayer.HeistDecision decision) { return($"While in lockup, you confront {decision.PlayerToBlackmail.Name} about his previous dealings with the police. " + (decision.PlayerToBlackmail.Decision.Blackmailers.Count > 1 ? $"Unsurprisingly, you find that {decision.PlayerToBlackmail.Decision.Blackmailers.Count - 1} of the thieves have the same idea." : "") + $"You reckon prison won't treat a snitch very well. You get ${decision.BlackmailReward} MILLION in exchange for your silence. "); }
public static string SnitchSuccess(HeistPlayer.HeistDecision decision) { return($"You watch from afar as the heist takes place, informing the police about what is happening. " + $"When they least expect it, the thieves are snatched off to jail. And you are rewarded with ${decision.HeistReward} MILLION. "); }
public static string JailPenaltySummary(HeistPlayer.HeistDecision decision) { return($"JAIL SENTENCE: {decision.JailTerm} YEARS."); }