internal static Thing GetMarriageSpotAt(this LordToil_MarriageCeremony _this, IntVec3 cell) { Cthulhu.Utility.DebugReport("Get Marriage Spot Called"); return(cell.GetThingList(_this.lord.lordManager.map).Find((Thing x) => x is Building_MarriageSpot)); }
public override StateGraph CreateGraph() { StateGraph stateGraph = new StateGraph(); LordToil_Party lordToil_Party = new LordToil_Party(this.spot, TicksPerPartyPulse); stateGraph.AddToil(lordToil_Party); LordToil_MarriageCeremony lordToil_MarriageCeremony = new LordToil_MarriageCeremony(this.firstPawn, this.secondPawn, this.spot); stateGraph.AddToil(lordToil_MarriageCeremony); LordToil_Party lordToil_Party2 = new LordToil_Party(this.spot, TicksPerPartyPulse); stateGraph.AddToil(lordToil_Party2); LordToil_End lordToil_End = new LordToil_End(); stateGraph.AddToil(lordToil_End); Transition transition = new Transition(lordToil_Party, lordToil_MarriageCeremony, false, true); transition.AddTrigger(new Trigger_TickCondition(() => this.lord.ticksInToil >= 5000 && this.AreFiancesInPartyArea(), 1)); transition.AddPreAction(new TransitionAction_Message("MessageMarriageCeremonyStarts".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.PositiveEvent, this.firstPawn, null, 1f)); stateGraph.AddTransition(transition); Transition transition2 = new Transition(lordToil_MarriageCeremony, lordToil_Party2, false, true); transition2.AddTrigger(new Trigger_TickCondition(() => this.firstPawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, this.secondPawn), 1)); transition2.AddPreAction(new TransitionAction_Message("MessageNewlyMarried".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.PositiveEvent, new TargetInfo(this.spot, base.Map, false), null, 1f)); transition2.AddPreAction(new TransitionAction_Custom(() => { this.AddAttendedWeddingThoughts(); })); stateGraph.AddTransition(transition2); Transition transition3 = new Transition(lordToil_Party2, lordToil_End, false, true); transition3.AddTrigger(new Trigger_TickCondition(() => this.ShouldAfterPartyBeCalledOff(), 1)); transition3.AddTrigger(new Trigger_PawnKilled()); transition3.AddPreAction(new TransitionAction_Message("MessageMarriageCeremonyCalledOff".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.NegativeEvent, new TargetInfo(this.spot, base.Map, false), null, 1f)); stateGraph.AddTransition(transition3); this.afterPartyTimeoutTrigger = new Trigger_TicksPassed(7500); Transition transition4 = new Transition(lordToil_Party2, lordToil_End, false, true); transition4.AddTrigger(this.afterPartyTimeoutTrigger); transition4.AddPreAction(new TransitionAction_Message("MessageMarriageCeremonyAfterPartyFinished".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.PositiveEvent, this.firstPawn, null, 1f)); stateGraph.AddTransition(transition4); Transition transition5 = new Transition(lordToil_MarriageCeremony, lordToil_End, false, true); transition5.AddSource(lordToil_Party); transition5.AddTrigger(new Trigger_TickCondition(() => this.lord.ticksInToil >= 120000 && (this.firstPawn.Drafted || this.secondPawn.Drafted || !this.firstPawn.Position.InHorDistOf(this.spot, 4f) || !this.secondPawn.Position.InHorDistOf(this.spot, 4f)), 1)); transition5.AddPreAction(new TransitionAction_Message("MessageMarriageCeremonyCalledOff".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.NegativeEvent, new TargetInfo(this.spot, base.Map, false), null, 1f)); stateGraph.AddTransition(transition5); Transition transition6 = new Transition(lordToil_MarriageCeremony, lordToil_End, false, true); transition6.AddSource(lordToil_Party); transition6.AddTrigger(new Trigger_TickCondition(() => this.ShouldCeremonyBeCalledOff(), 1)); transition6.AddTrigger(new Trigger_PawnKilled()); transition6.AddPreAction(new TransitionAction_Message("MessageMarriageCeremonyCalledOff".Translate(new object[] { this.firstPawn.LabelShort, this.secondPawn.LabelShort }), MessageTypeDefOf.NegativeEvent, new TargetInfo(this.spot, base.Map, false), null, 1f)); stateGraph.AddTransition(transition6); return(stateGraph); }
public override StateGraph CreateGraph() { var stateGraph = new StateGraph(); var lordToil_Party = new LordToil_Party(spot, GatheringDefOf.MarriageCeremony); stateGraph.AddToil(lordToil_Party); var lordToil_MarriageCeremony = new LordToil_MarriageCeremony(firstPawn, secondPawn, spot); stateGraph.AddToil(lordToil_MarriageCeremony); var lordToil_Party2 = new LordToil_Party(spot, GatheringDefOf.MarriageCeremony); stateGraph.AddToil(lordToil_Party2); var lordToil_End = new LordToil_End(); stateGraph.AddToil(lordToil_End); var transition = new Transition(lordToil_Party, lordToil_MarriageCeremony); transition.AddTrigger(new Trigger_TickCondition(() => lord.ticksInToil >= 5000 && AreFiancesInPartyArea())); transition.AddPreAction(new TransitionAction_Message( "MessageMarriageCeremonyStarts".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.PositiveEvent, firstPawn)); stateGraph.AddTransition(transition); var transition2 = new Transition(lordToil_MarriageCeremony, lordToil_Party2); transition2.AddTrigger(new Trigger_TickCondition(() => firstPawn.relations.DirectRelationExists(PawnRelationDefOf.Spouse, secondPawn))); transition2.AddPreAction(new TransitionAction_Message( "MessageNewlyMarried".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.PositiveEvent, new TargetInfo(spot, Map))); transition2.AddPreAction(new TransitionAction_Custom(AddAttendedWeddingThoughts)); stateGraph.AddTransition(transition2); var transition3 = new Transition(lordToil_Party2, lordToil_End); transition3.AddTrigger(new Trigger_TickCondition(ShouldAfterPartyBeCalledOff)); transition3.AddTrigger(new Trigger_PawnKilled()); transition3.AddPreAction(new TransitionAction_Message( "MessageMarriageCeremonyCalledOff".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.NegativeEvent, new TargetInfo(spot, Map))); stateGraph.AddTransition(transition3); afterPartyTimeoutTrigger = new Trigger_TicksPassed(7500); var transition4 = new Transition(lordToil_Party2, lordToil_End); transition4.AddTrigger(afterPartyTimeoutTrigger); transition4.AddPreAction(new TransitionAction_Message( "MessageMarriageCeremonyAfterPartyFinished".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.PositiveEvent, firstPawn)); stateGraph.AddTransition(transition4); var transition5 = new Transition(lordToil_MarriageCeremony, lordToil_End); transition5.AddSource(lordToil_Party); transition5.AddTrigger(new Trigger_TickCondition(() => lord.ticksInToil >= 120000 && (firstPawn.Drafted || secondPawn.Drafted || !firstPawn.Position.InHorDistOf(spot, 4f) || !secondPawn.Position.InHorDistOf(spot, 4f)))); transition5.AddPreAction(new TransitionAction_Message( "MessageMarriageCeremonyCalledOff".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.NegativeEvent, new TargetInfo(spot, Map))); stateGraph.AddTransition(transition5); var transition6 = new Transition(lordToil_MarriageCeremony, lordToil_End); transition6.AddSource(lordToil_Party); transition6.AddTrigger(new Trigger_TickCondition(ShouldCeremonyBeCalledOff)); transition6.AddTrigger(new Trigger_PawnKilled()); transition6.AddPreAction(new TransitionAction_Message( "MessageMarriageCeremonyCalledOff".Translate(firstPawn.LabelShort, secondPawn.LabelShort), MessageTypeDefOf.NegativeEvent, new TargetInfo(spot, Map))); stateGraph.AddTransition(transition6); return(stateGraph); }