protected override bool CanFireNowSub(IIncidentTarget target) { Map map = (Map)target; if (!this.AtLeast2HealthyColonists(map)) { return(false); } if (IncidentWorker_CaravanRequest.RandomNearbyTradeableSettlement(map.Tile) == null) { return(false); } return(base.CanFireNowSub(target)); }
protected override bool TryExecuteWorker(IncidentParms parms) { Settlement settlement = IncidentWorker_CaravanRequest.RandomNearbyTradeableSettlement(parms.target.Tile); if (settlement == null) { return(false); } CaravanRequestComp component = ((WorldObject)settlement).GetComponent <CaravanRequestComp>(); if (!this.TryGenerateCaravanRequest(component, (Map)parms.target)) { return(false); } Find.LetterStack.ReceiveLetter("LetterLabelCaravanRequest".Translate(), "LetterCaravanRequest".Translate(settlement.Label, GenLabel.ThingLabel(component.requestThingDef, null, component.requestCount).CapitalizeFirst(), component.rewards[0].LabelCap, (component.expiration - Find.TickManager.TicksGame).ToStringTicksToDays("F0")), LetterDefOf.PositiveEvent, settlement, null); return(true); }
protected override bool CanFireNowSub(IIncidentTarget target) { Map map = (Map)target; return(this.AtLeast2HealthyColonists(map) && IncidentWorker_CaravanRequest.RandomNearbyTradeableSettlement(map.Tile) != null && base.CanFireNowSub(target)); }