public override void DoAction(EmailMessage message, EmailBox box, Pawn speaker) { EmailMessage msg = box.FormMessageFrom(message.Faction, "NiceCaravan_Explain".Translate(), "NiceCaravan_Subject".Translate()); box.SendMessage(msg); message.Faction.TryAffectGoodwillWith(box.Owner, -15); Utils.SendRaid(message.Faction, 1.5f, 50000); Utils.SendRaid(message.Faction, 1.5f, 2 * 60000); }
public override void DoAction(EmailMessage message, EmailBox box, Pawn speaker) { EmailMessage msg = box.FormMessageFrom(message.Faction, "DontDoIs_Explain".Translate(), "DontDoIs_Subject".Translate()); box.SendMessage(msg); Map map = Find.AnyPlayerHomeMap; if (FindHomeAreaCell(map, out IntVec3 result)) { ThingDef bomb = ThingDefOfLocal.TrapIED_HighExplosive; Thing thing = GenSpawn.Spawn(bomb, result, map); thing.SetFaction(message.Faction); } }
public bool TrySendMessage(EmailMessageDef msg) { EmailBox playerBox = QuestsManager.Communications.PlayerBox; Faction faction = null; if (msg.StaticFaction != null) { if (!TryGetFactionWithFilter(msg.SenderAvaliable, msg.MinReqGoodWill, msg.StaticFaction, out faction)) { return(false); } } else { if (!TryGetFaction(msg.SenderAvaliable, msg.MinReqGoodWill, out faction)) { return(false); } } if (faction != null) { EmailMessage message = playerBox.FormMessageFrom(faction, msg.EmailText, msg.Subject); message.Answers = msg.Options; bool canSend = true; if (msg.MessageWorker != null) { canSend = msg.MessageWorker.PreReceived(message, playerBox); } if (canSend) { playerBox.SendMessage(message); msg.MessageWorker?.OnReceived(message, playerBox); return(true); } else { return(false); } } return(false); }
public override void DoAction(EmailMessage message, EmailBox box, Pawn speaker) { StringBuilder builder = new StringBuilder(); foreach (var building in Find.AnyPlayerHomeMap.listerBuildings.allBuildingsColonist) { if (Rand.Chance(0.15f)) { builder.Append($"{building.LabelCap}, "); } } builder.Remove(builder.Length - 1, 1); EmailMessage msg = box.FormMessageFrom(message.Faction, "NiceJoke_Explain".Translate(builder.ToString()), "NiceJoke_Subject".Translate()); msg.Answers.Add(new EmailMessageOption_Blef()); msg.Answers.Add(new EmailMessageOption_DontDoIs()); box.SendMessage(msg); }
public override void DoAction(EmailMessage message, EmailBox box, Pawn speaker) { EmailMessage msg = box.FormMessageFrom(message.Faction, "Wtf_Explain".Translate(), "Wtf_Subject".Translate()); box.SendMessage(msg); }