From e8f7d6b663705683e904a0e43a749419f7ef56c8 Mon Sep 17 00:00:00 2001 From: Matthew Walls Date: Sun, 13 Nov 2022 13:30:55 -0800 Subject: [PATCH] Byakhee code fixes; Added Byakhee translation text to separate it from transport pods --- 1.4/Assemblies/CultOfCthulhu.dll | Bin 374272 -> 381952 bytes .../PawnKinds_Byakhee.xml | 1 - 1.4/Defs/ThingDefs_Special/PawnFlyerDefs.xml | 39 +- About/About.xml | 6 +- About/Changelog.txt | 4 + About/Manifest.xml | 2 +- About/Version.txt | 2 +- Languages/English/Keyed/PawnFlyer.xml | 31 ++ .../ByakheeArrivalAction_AttackSettlement.cs | 123 ----- .../ByakheeArrivalAction_GiveGift.cs | 117 ----- ...akheeArrivalAction_GiveToCaravanByakhee.cs | 70 --- .../ByakheeArrivalAction_VisitSettlement.cs | 61 --- .../ByakheeArrivalAction_VisitSite.cs | 57 --- .../PawnFlyer/ByakheeArrivalUtilty.cs | 192 ------- .../PawnFlyer/Command_LoadToTransporter.cs | 2 +- .../PawnFlyer/CompLaunchablePawn.cs | 470 ++++++++---------- .../PawnFlyer/CompTransporterPawn.cs | 19 +- .../PawnFlyer/Dialog_LoadTransportersPawn.cs | 12 +- .../LordJob_LoadAndEnterTransportersPawn.cs | 1 - Source/Code/NewSystems/PawnFlyer/PawnFlyer.cs | 197 +++++--- .../PawnFlyer/PawnFlyerArrivalAction.cs | 25 + .../PawnFlyer/PawnFlyerArrivalActionUtilty.cs | 344 +++++++++++++ ...PawnFlyerArrivalAction_AttackSettlement.cs | 151 ++++++ .../PawnFlyerArrivalAction_FormCaravan.cs | 93 ++++ .../PawnFlyerArrivalAction_GiveGift.cs | 135 +++++ .../PawnFlyerArrivalAction_GiveToCaravan.cs | 77 +++ ...wnFlyerArrivalAction_LandInSpecificCell.cs | 88 ++++ .../PawnFlyer/PawnFlyerArrivalAction_Trade.cs | 101 ++++ .../PawnFlyerArrivalAction_TransportShip.cs | 90 ++++ .../PawnFlyerArrivalAction_VisitSettlement.cs | 65 +++ .../PawnFlyerArrivalAction_VisitSite.cs | 117 +++++ .../Code/NewSystems/PawnFlyer/PawnFlyerDef.cs | 2 - .../NewSystems/PawnFlyer/PawnFlyersCargo.cs | 15 + .../PawnFlyer/PawnFlyersIncoming.cs | 268 ++-------- .../NewSystems/PawnFlyer/PawnFlyersLanded.cs | 195 -------- .../NewSystems/PawnFlyer/PawnFlyersLeaving.cs | 223 ++------- .../PawnFlyer/PawnFlyersTraveling.cs | 456 +++++++---------- Textures/Pawn/Byakhee/Byakhee_west.png | Bin 0 -> 50251 bytes 38 files changed, 1998 insertions(+), 1853 deletions(-) create mode 100644 Languages/English/Keyed/PawnFlyer.xml delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_AttackSettlement.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveGift.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveToCaravanByakhee.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSettlement.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSite.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/ByakheeArrivalUtilty.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalActionUtilty.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_AttackSettlement.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_FormCaravan.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveGift.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveToCaravan.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_LandInSpecificCell.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_Trade.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_TransportShip.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSettlement.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSite.cs create mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyersCargo.cs delete mode 100644 Source/Code/NewSystems/PawnFlyer/PawnFlyersLanded.cs create mode 100644 Textures/Pawn/Byakhee/Byakhee_west.png diff --git a/1.4/Assemblies/CultOfCthulhu.dll b/1.4/Assemblies/CultOfCthulhu.dll index 8f67dddb1dedcb69067df77916b067f07ea9f872..dd5600c2afaa2d2813e5b3647ebb86f886069df2 100644 GIT binary patch literal 381952 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 literal 374272 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�`n2LKn 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%0D0$U8;k`c5?1+8v6u0Xi%_ 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⩔Qn0i4gk;WytZHlp(K6 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

0?8o;v^exV_cKShLr&}h&M!4}|p23-6W0Yg$ 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 ByakheeTraveling ByakheeIncoming - ByakheeLanded ByakheeTakeOff ByakheeLanding Pawn_Mech_Centipede_Call diff --git a/1.4/Defs/ThingDefs_Special/PawnFlyerDefs.xml b/1.4/Defs/ThingDefs_Special/PawnFlyerDefs.xml index deecb44..7bfcd93 100644 --- a/1.4/Defs/ThingDefs_Special/PawnFlyerDefs.xml +++ b/1.4/Defs/ThingDefs_Special/PawnFlyerDefs.xml @@ -4,10 +4,10 @@ ByakheeIncoming - DropPodIncoming + CultOfCthulhu.PawnFlyersIncoming - Pawn/Byakhee/Byakhee - Graphic_Multi + Pawn/Byakhee/Byakhee_east + Graphic_Single 5.0 (0.6, 0.8, 0.6) @@ -26,10 +26,10 @@ ByakheeLeaving - FlyShipLeaving + CultOfCthulhu.PawnFlyersLeaving - Pawn/Byakhee/Byakhee - Graphic_Multi + Pawn/Byakhee/Byakhee_west + Graphic_Single 5.0 (0.6, 0.8, 0.6) @@ -51,7 +51,7 @@ ByakheeTraveling Byakhee in flight. - TravelingTransportPods + CultOfCthulhu.PawnFlyersTraveling WorldObjects/ByakheeFlying true true @@ -62,6 +62,29 @@ + + ByakheeDrop + + CultOfCthulhu.PawnFlyersCargo + Pawn_Mech_Centipede_Call + + Pawn/Byakhee/Byakhee_east + Graphic_Single + 5.0 + + (0.6, 0.8, 0.6) + + + Building + true + true + + 500 + 0 + + + + ByakheeIncoming_old @@ -111,7 +134,7 @@ ByakheeLanded Item - CultOfCthulhu.PawnFlyersLanded + CultOfCthulhu.PawnFlyersCargo false Normal diff --git a/About/About.xml b/About/About.xml index 57888e7..3753926 100644 --- a/About/About.xml +++ b/About/About.xml @@ -30,7 +30,7 @@

  • CETeam.CombatExtended
  • syrchalis.traitvalue
  • - 1.0.24.0 (11-01-2022) + 1.0.24.1 (11-13-2022) [h1]Gameplay expansion for RimWorld.[/h1] @@ -101,6 +101,10 @@ Darcilyn Lynds (darci.andel), Luke Salinas, RainerWingel , Noisy Koi, Lea Stanna ======================== Changelog ======================== +1.0.24.1 (11-13-2022) +======================== +Fixed byakhee code (RW 1.4); Added translation text for byakhee to seperate it from transport pods + 1.0.24.0 (11-01-2022) ======================== Updated Call of Cthulhu - Cults for RimWorld 1.4 diff --git a/About/Changelog.txt b/About/Changelog.txt index ae4d0ae..795bf83 100644 --- a/About/Changelog.txt +++ b/About/Changelog.txt @@ -1,3 +1,7 @@ +1.0.24.1 (11-13-2022) +======================== +Fixed byakhee code (RW 1.4); Added translation text for byakhee to seperate it from transport pods + 1.0.24.0 (11-01-2022) ======================== Updated Call of Cthulhu - Cults for RimWorld 1.4 diff --git a/About/Manifest.xml b/About/Manifest.xml index 17bcbc9..45dc72a 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@  CallofCthulhuCults - 1.0.24.0 + 1.0.24.1 diff --git a/About/Version.txt b/About/Version.txt index 4b653c5..62c9266 100644 --- a/About/Version.txt +++ b/About/Version.txt @@ -1 +1 @@ -1.0.24.0 +1.0.24.1 diff --git a/Languages/English/Keyed/PawnFlyer.xml b/Languages/English/Keyed/PawnFlyer.xml new file mode 100644 index 0000000..6f36fcd --- /dev/null +++ b/Languages/English/Keyed/PawnFlyer.xml @@ -0,0 +1,31 @@ + + + + + Fly + Take off and fly to a destination. + {0} arrived at {1}. + Some flyers are unreachable. + Some flyers are under a roof. + Flight group isn't completely loaded. {1_labelShort} is missing. Take off anyway? + Ready for take off. + Not ready for take off + Your flight group have arrived. + Your flight group have arrived, but since there were no colonists inside, everything has been lost. + Your flight group has arrived. The contents have been added to {0}. + Your flight group has arrived at {0}. + Land at edge + Land in center + Attack {0}: Land at edge + Attack {0}: Land in center + The assigned people and items are too heavy for the flight group. + {1_labelShort} can't reach the flight group. + There is no path between the flight group and the {0}. + There is no path between the flight group and {0}x {1}. + Load flight group of {0} + Defines the selected flyer(s) as a flight group. Opens the loading dialog so you can decide who and what cargo should be loaded. + Assigned items and passengers will now be loaded into the flight group. + < + + + \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_AttackSettlement.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_AttackSettlement.cs deleted file mode 100644 index 19335a9..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_AttackSettlement.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System; -using System.Collections.Generic; -using Verse; -using RimWorld.Planet; -using RimWorld; - -namespace CultOfCthulhu -{ - public class ByakheeArrivalAction_AttackSettlement : TransportPodsArrivalAction - { - private Settlement settlement; - - private PawnsArrivalModeDef arrivalMode; - - public ByakheeArrivalAction_AttackSettlement() - { - } - - public ByakheeArrivalAction_AttackSettlement(Settlement settlement, PawnsArrivalModeDef arrivalMode) - { - this.settlement = settlement; - this.arrivalMode = arrivalMode; - } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_References.Look(refee: ref this.settlement, label: "settlement", saveDestroyedThings: false); - Scribe_Defs.Look(value: ref this.arrivalMode, label: "arrivalMode"); - } - - public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods: pods, destinationTile: destinationTile); - if (!floatMenuAcceptanceReport) - { - return floatMenuAcceptanceReport; - } - if (this.settlement != null && this.settlement.Tile != destinationTile) - { - return false; - } - return ByakheeArrivalAction_AttackSettlement.CanAttack(pods: pods, settlement: this.settlement); - } - - public override bool ShouldUseLongEvent(List pods, int tile) - { - return !this.settlement.HasMap; - } - - public override void Arrived(List pods, int tile) - { - Thing lookTarget = ByakheeArrivalActionUtility.GetLookTarget(pods: pods); - bool flag = !this.settlement.HasMap; - Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(tile: this.settlement.Tile, suggestedMapParentDef: null); - TaggedString label = "LetterLabelCaravanEnteredEnemyBase".Translate(); - TaggedString text = "LetterTransportPodsLandedInEnemyBase".Translate(arg1: this.settlement.Label).CapitalizeFirst(); - SettlementUtility.AffectRelationsOnAttacked(mapParent: this.settlement, letterText: ref text); - if (flag) - { - Find.TickManager.Notify_GeneratedPotentiallyHostileMap(); - PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(seenPawns: orGenerateMap.mapPawns.AllPawns, letterLabel: ref label, letterText: ref text, relationsInfoHeader: "LetterRelatedPawnsInMapWherePlayerLanded".Translate(arg1: Faction.OfPlayer.def.pawnsPlural), informEvenIfSeenBefore: true, writeSeenPawnsNames: true); - } - Find.LetterStack.ReceiveLetter(label: label, text: text, textLetterDef: LetterDefOf.NeutralEvent, lookTargets: lookTarget, relatedFaction: this.settlement.Faction, quest: null, hyperlinkThingDefs: null, debugInfo: null); - this.arrivalMode.Worker.TravelingTransportPodsArrived(dropPods: pods, map: orGenerateMap); - } - - public static FloatMenuAcceptanceReport CanAttack(IEnumerable pods, Settlement settlement) - { - if (settlement == null || !settlement.Spawned || !settlement.Attackable) - { - return false; - } - if (!ByakheeArrivalActionUtility.AnyNonDownedColonist(pods: pods)) - { - return false; - } - if (settlement.EnterCooldownBlocksEntering()) - { - return FloatMenuAcceptanceReport.WithFailReasonAndMessage(failReason: "EnterCooldownBlocksEntering".Translate(), failMessage: "MessageEnterCooldownBlocksEntering".Translate(arg1: settlement.EnterCooldownTicksLeft().ToStringTicksToPeriod(allowSeconds: true, shortForm: false, canUseDecimals: true, allowYears: true))); - } - return true; - } - - - private static ByakheeArrivalAction_AttackSettlement arrivalActionEdgeDrop(Settlement settlement) - { - return new ByakheeArrivalAction_AttackSettlement(settlement: settlement, arrivalMode: PawnsArrivalModeDefOf.EdgeDrop); - } - - private static ByakheeArrivalAction_AttackSettlement arrivalActionCenterDrop(Settlement settlement) - { - return new ByakheeArrivalAction_AttackSettlement(settlement: settlement, arrivalMode: PawnsArrivalModeDefOf.CenterDrop); - } - - public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable pods, Settlement settlement) - { - if (ByakheeArrivalAction_AttackSettlement.CanAttack(pods: pods, settlement: settlement)) - { - yield break; - } - - Func acceptanceReportGetter = new Func(() => CanAttack(pods: pods, settlement: settlement)); - Func dropAtEdge = new Func(() => arrivalActionEdgeDrop(settlement: settlement)); - - Func idunno = null; - foreach (FloatMenuOption floatMenuOption in ByakheeArrivalActionUtility.GetFloatMenuOptions(acceptanceReportGetter: acceptanceReportGetter, arrivalActionGetter: dropAtEdge, label: "AttackAndDropAtEdge".Translate(arg1: settlement.Label), representative: representative, destinationTile: settlement.Tile, uiConfirmationCallback: null)) - { - yield return floatMenuOption; - } - - - Func dropAtCenter = new Func(() => arrivalActionCenterDrop(settlement: settlement)); - - foreach (FloatMenuOption floatMenuOption2 in ByakheeArrivalActionUtility.GetFloatMenuOptions(acceptanceReportGetter: acceptanceReportGetter, arrivalActionGetter: dropAtCenter, label: "AttackAndDropInCenter".Translate(arg1: settlement.Label), representative: representative, destinationTile: settlement.Tile, uiConfirmationCallback: null)) - { - yield return floatMenuOption2; - } - yield break; - } - - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveGift.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveGift.cs deleted file mode 100644 index 47da32e..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveGift.cs +++ /dev/null @@ -1,117 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Verse; -using RimWorld.Planet; -using RimWorld; - -namespace CultOfCthulhu -{ - public class ByakheeArrivalAction_GiveGift : TransportPodsArrivalAction - { - private Settlement settlement; - - public ByakheeArrivalAction_GiveGift() - { - } - - public ByakheeArrivalAction_GiveGift(Settlement settlement) - { - this.settlement = settlement; - } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_References.Look(refee: ref this.settlement, label: "settlement", saveDestroyedThings: false); - } - - public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods: pods, destinationTile: destinationTile); - if (!floatMenuAcceptanceReport) - { - return floatMenuAcceptanceReport; - } - if (this.settlement != null && this.settlement.Tile != destinationTile) - { - return false; - } - return ByakheeArrivalAction_GiveGift.CanGiveGiftTo(pods: pods, settlement: this.settlement); - } - - public override void Arrived(List pods, int tile) - { - for (int i = 0; i < pods.Count; i++) - { - for (int j = 0; j < pods[index: i].innerContainer.Count; j++) - { - Pawn pawn = pods[index: i].innerContainer[index: j] as Pawn; - if (pawn != null) - { - if (pawn.RaceProps.Humanlike) - { - Pawn arg; - if (pawn.HomeFaction == this.settlement.Faction) - { - GenGuest.AddHealthyPrisonerReleasedThoughts(prisoner: pawn); - } - else if (PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonists.TryRandomElement(result: out arg)) - { - Find.HistoryEventsManager.RecordEvent(historyEvent: new HistoryEvent(def: HistoryEventDefOf.SoldSlave, arg1: arg.Named(label: HistoryEventArgsNames.Doer)), canApplySelfTookThoughts: true); - } - } - else if (pawn.RaceProps.Animal && pawn.relations != null) - { - Pawn firstDirectRelationPawn = pawn.relations.GetFirstDirectRelationPawn(def: PawnRelationDefOf.Bond, predicate: null); - if (firstDirectRelationPawn != null && firstDirectRelationPawn.needs.mood != null) - { - pawn.relations.RemoveDirectRelation(def: PawnRelationDefOf.Bond, otherPawn: firstDirectRelationPawn); - firstDirectRelationPawn.needs.mood.thoughts.memories.TryGainMemory(def: ThoughtDefOf.SoldMyBondedAnimalMood, otherPawn: null, sourcePrecept: null); - } - } - } - } - } - FactionGiftUtility.GiveGift(pods: pods, giveTo: this.settlement); - } - - public static FloatMenuAcceptanceReport CanGiveGiftTo(IEnumerable pods, Settlement settlement) - { - foreach (IThingHolder thingHolder in pods) - { - ThingOwner directlyHeldThings = thingHolder.GetDirectlyHeldThings(); - for (int i = 0; i < directlyHeldThings.Count; i++) - { - Pawn p; - if ((p = (directlyHeldThings[index: i] as Pawn)) != null && p.IsQuestLodger()) - { - return false; - } - } - } - return settlement != null && settlement.Spawned && settlement.Faction != null && settlement.Faction != Faction.OfPlayer && !settlement.Faction.def.permanentEnemy && !settlement.HasMap; - } - - public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable pods, Settlement settlement) - { - if (settlement.Faction == Faction.OfPlayer) - { - return Enumerable.Empty(); - } - return ByakheeArrivalActionUtility.GetFloatMenuOptions(acceptanceReportGetter: () => ByakheeArrivalAction_GiveGift.CanGiveGiftTo(pods: pods, settlement: settlement), arrivalActionGetter: () => new ByakheeArrivalAction_GiveGift(settlement: settlement), label: "GiveGiftViaTransportPods".Translate(arg1: settlement.Faction.Name, arg2: FactionGiftUtility.GetGoodwillChange(pods: pods, giveTo: settlement).ToStringWithSign()), representative: representative, destinationTile: settlement.Tile, uiConfirmationCallback: delegate (Action action) - { - TradeRequestComp tradeReqComp = settlement.GetComponent(); - if (tradeReqComp.ActiveRequest && pods.Any(predicate: (IThingHolder p) => p.GetDirectlyHeldThings().Contains(def: tradeReqComp.requestThingDef))) - { - Find.WindowStack.Add(window: new Dialog_MessageBox(text: "GiveGiftViaTransportPodsTradeRequestWarning".Translate(), buttonAText: "Yes".Translate(), buttonAAction: delegate () - { - action(); - }, buttonBText: "No".Translate(), buttonBAction: null, title: null, buttonADestructive: false, acceptAction: null, cancelAction: null, layer: WindowLayer.Dialog)); - return; - } - action(); - }); - } - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveToCaravanByakhee.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveToCaravanByakhee.cs deleted file mode 100644 index c7375f9..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_GiveToCaravanByakhee.cs +++ /dev/null @@ -1,70 +0,0 @@ -using RimWorld; -using RimWorld.Planet; -using System; -using System.Collections.Generic; -using Verse; - -namespace CultOfCthulhu -{ - public class ByakheeArrivalAction_GiveToCaravan : TransportPodsArrivalAction - { - private Caravan caravan; - - private static List tmpContainedThings = new List(); - - public ByakheeArrivalAction_GiveToCaravan() - { - } - - public ByakheeArrivalAction_GiveToCaravan(Caravan caravan) - { - this.caravan = caravan; - } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_References.Look(refee: ref this.caravan, label: "caravan", saveDestroyedThings: false); - } - - public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods: pods, destinationTile: destinationTile); - if (!floatMenuAcceptanceReport) - { - return floatMenuAcceptanceReport; - } - if (this.caravan != null && !Find.WorldGrid.IsNeighborOrSame(tile1: this.caravan.Tile, tile2: destinationTile)) - { - return false; - } - return ByakheeArrivalAction_GiveToCaravan.CanGiveTo(pods: pods, caravan: this.caravan); - } - - public override void Arrived(List pods, int tile) - { - for (int i = 0; i < pods.Count; i++) - { - ByakheeArrivalAction_GiveToCaravan.tmpContainedThings.Clear(); - ByakheeArrivalAction_GiveToCaravan.tmpContainedThings.AddRange(collection: pods[index: i].innerContainer); - for (int j = 0; j < ByakheeArrivalAction_GiveToCaravan.tmpContainedThings.Count; j++) - { - pods[index: i].innerContainer.Remove(item: ByakheeArrivalAction_GiveToCaravan.tmpContainedThings[index: j]); - this.caravan.AddPawnOrItem(thing: ByakheeArrivalAction_GiveToCaravan.tmpContainedThings[index: j], addCarriedPawnToWorldPawnsIfAny: true); - } - } - ByakheeArrivalAction_GiveToCaravan.tmpContainedThings.Clear(); - Messages.Message(text: "MessageTransportPodsArrivedAndAddedToCaravan".Translate(arg1: this.caravan.Name), lookTargets: this.caravan, def: MessageTypeDefOf.TaskCompletion, historical: true); - } - - public static FloatMenuAcceptanceReport CanGiveTo(IEnumerable pods, Caravan caravan) - { - return caravan != null && caravan.Spawned && caravan.IsPlayerControlled; - } - - public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable pods, Caravan caravan) - { - return ByakheeArrivalActionUtility.GetFloatMenuOptions(acceptanceReportGetter: () => ByakheeArrivalAction_GiveToCaravan.CanGiveTo(pods: pods, caravan: caravan), arrivalActionGetter: () => new ByakheeArrivalAction_GiveToCaravan(caravan: caravan), label: "GiveToCaravan".Translate(arg1: caravan.Label), representative: representative, destinationTile: caravan.Tile, uiConfirmationCallback: null); - } - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSettlement.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSettlement.cs deleted file mode 100644 index 7be402c..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSettlement.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Collections.Generic; -using Verse; -using RimWorld.Planet; -using RimWorld; - -namespace CultOfCthulhu -{ - public class ByakheeArrivalAction_VisitSettlement : TransportPodsArrivalAction_FormCaravan - { - protected Settlement settlement; - - public ByakheeArrivalAction_VisitSettlement() - { - } - - public ByakheeArrivalAction_VisitSettlement(Settlement settlement) - { - this.settlement = settlement; - } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_References.Look(refee: ref this.settlement, label: "settlement", saveDestroyedThings: false); - } - - public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods: pods, destinationTile: destinationTile); - if (!floatMenuAcceptanceReport) - { - return floatMenuAcceptanceReport; - } - if (this.settlement != null && this.settlement.Tile != destinationTile) - { - return false; - } - return ByakheeArrivalAction_VisitSettlement.CanVisit(pods: pods, settlement: this.settlement); - } - - public static FloatMenuAcceptanceReport CanVisit(IEnumerable pods, Settlement settlement) - { - if (settlement == null || !settlement.Spawned || !settlement.Visitable) - { - if (settlement.Faction.IsPlayer) return true; - return false; - } - if (!TransportPodsArrivalActionUtility.AnyPotentialCaravanOwner(pods: pods, faction: Faction.OfPlayer)) - { - return false; - } - return true; - } - - public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, IEnumerable pods, Settlement settlement) - { - return ByakheeArrivalActionUtility.GetFloatMenuOptions(acceptanceReportGetter: () => ByakheeArrivalAction_VisitSettlement.CanVisit(pods: pods, settlement: settlement), arrivalActionGetter: () => new ByakheeArrivalAction_VisitSettlement(settlement: settlement), label: "VisitSettlement".Translate(arg1: settlement.Label), representative: representative, destinationTile: settlement.Tile, uiConfirmationCallback: null); - } - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSite.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSite.cs deleted file mode 100644 index eec43a6..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalAction_VisitSite.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using Verse; -using RimWorld; -using RimWorld.Planet; - -namespace CultOfCthulhu -{ - public class ByakheeArrivalAction_VisitSite : TransportPodsArrivalAction - { - private Site site; - - private PawnsArrivalModeDef arrivalMode; - - public ByakheeArrivalAction_VisitSite() - { - } - - public ByakheeArrivalAction_VisitSite(Site site, PawnsArrivalModeDef arrivalMode) - { - this.site = site; - this.arrivalMode = arrivalMode; - } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_References.Look(refee: ref this.site, label: "site", saveDestroyedThings: false); - Scribe_Defs.Look(value: ref this.arrivalMode, label: "arrivalMode"); - } - - - public override bool ShouldUseLongEvent(List pods, int tile) - { - return !this.site.HasMap; - } - - public override void Arrived(List pods, int tile) - { - Thing lookTarget = TransportPodsArrivalActionUtility.GetLookTarget(pods: pods); - bool flag = !this.site.HasMap; - Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(tile: this.site.Tile, size: this.site.PreferredMapSize, suggestedMapParentDef: null); - if (flag) - { - Find.TickManager.Notify_GeneratedPotentiallyHostileMap(); - PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter_Send(seenPawns: orGenerateMap.mapPawns.AllPawns, relationsInfoHeader: "LetterRelatedPawnsInMapWherePlayerLanded".Translate(arg1: Faction.OfPlayer.def.pawnsPlural), letterDef: LetterDefOf.NeutralEvent, informEvenIfSeenBefore: true, writeSeenPawnsNames: true); - } - if (this.site.Faction != null && this.site.Faction != Faction.OfPlayer) - { - Faction.OfPlayer.TryAffectGoodwillWith(other: this.site.Faction, goodwillChange: Faction.OfPlayer.GoodwillToMakeHostile(other: this.site.Faction), canSendMessage: true, canSendHostilityLetter: true, reason: HistoryEventDefOf.AttackedSettlement, lookTarget: null); - } - Messages.Message(text: "MessageTransportPodsArrived".Translate(), lookTargets: lookTarget, def: MessageTypeDefOf.TaskCompletion, historical: true); - this.arrivalMode.Worker.TravelingTransportPodsArrived(dropPods: pods, map: orGenerateMap); - } - - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalUtilty.cs b/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalUtilty.cs deleted file mode 100644 index 1fb754f..0000000 --- a/Source/Code/NewSystems/PawnFlyer/ByakheeArrivalUtilty.cs +++ /dev/null @@ -1,192 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using RimWorld.QuestGen; -using Verse; -using RimWorld; -using RimWorld.Planet; - -namespace CultOfCthulhu -{ - public static class ByakheeArrivalActionUtility - { - public static IEnumerable GetFloatMenuOptions(Func acceptanceReportGetter, Func arrivalActionGetter, string label, CompLaunchablePawn representative, int destinationTile, Action uiConfirmationCallback = null) where T : TransportPodsArrivalAction - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); - if (floatMenuAcceptanceReport.Accepted || !floatMenuAcceptanceReport.FailReason.NullOrEmpty() || !floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) - { - if (!floatMenuAcceptanceReport.FailReason.NullOrEmpty()) - { - yield return new FloatMenuOption(label: label + " (" + floatMenuAcceptanceReport.FailReason + ")", action: null, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); - } - else - { - //Action <> 9__1; - yield return new FloatMenuOption(label: label, action: delegate () - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport2 = acceptanceReportGetter(); - if (!floatMenuAcceptanceReport2.Accepted) - { - if (!floatMenuAcceptanceReport2.FailMessage.NullOrEmpty()) - { - Messages.Message(text: floatMenuAcceptanceReport2.FailMessage, lookTargets: new GlobalTargetInfo(tile: destinationTile), def: MessageTypeDefOf.RejectInput, historical: false); - } - return; - } - if (uiConfirmationCallback == null) - { - representative.TryLaunch(destinationTile: destinationTile, arrivalAction: arrivalActionGetter()); - return; - } - //Action uiConfirmationCallback2 = uiConfirmationCallback; - //Action obj; - //if ((obj = <> 9__1) == null) - //{ - // obj = (<> 9__1 = delegate () - // { - representative.TryLaunch(destinationTile: destinationTile, arrivalAction: arrivalActionGetter()); - // }); - //} - //uiConfirmationCallback2(obj); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); - } - } - yield break; - } - - public static IEnumerable GetFloatMenuOptions(Func acceptanceReportGetter, Func arrivalActionGetter, string label, Action launchAction, int destinationTile) where T : TransportPodsArrivalAction - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); - if (floatMenuAcceptanceReport.Accepted || !floatMenuAcceptanceReport.FailReason.NullOrEmpty() || !floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) - { - if (!floatMenuAcceptanceReport.Accepted && !floatMenuAcceptanceReport.FailReason.NullOrEmpty()) - { - label = label + " (" + floatMenuAcceptanceReport.FailReason + ")"; - } - yield return new FloatMenuOption(label: label, action: delegate () - { - FloatMenuAcceptanceReport floatMenuAcceptanceReport2 = acceptanceReportGetter(); - if (floatMenuAcceptanceReport2.Accepted) - { - launchAction(arg1: destinationTile, arg2: arrivalActionGetter()); - return; - } - if (!floatMenuAcceptanceReport2.FailMessage.NullOrEmpty()) - { - Messages.Message(text: floatMenuAcceptanceReport2.FailMessage, lookTargets: new GlobalTargetInfo(tile: destinationTile), def: MessageTypeDefOf.RejectInput, historical: false); - } - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); - } - yield break; - } - - public static bool AnyNonDownedColonist(IEnumerable pods) - { - foreach (IThingHolder thingHolder in pods) - { - ThingOwner directlyHeldThings = thingHolder.GetDirectlyHeldThings(); - for (int i = 0; i < directlyHeldThings.Count; i++) - { - Pawn pawn = directlyHeldThings[index: i] as Pawn; - if (pawn != null && pawn.IsColonist && !pawn.Downed) - { - return true; - } - } - } - return false; - } - - public static bool AnyPotentialCaravanOwner(IEnumerable pods, Faction faction) - { - foreach (IThingHolder thingHolder in pods) - { - ThingOwner directlyHeldThings = thingHolder.GetDirectlyHeldThings(); - for (int i = 0; i < directlyHeldThings.Count; i++) - { - Pawn pawn = directlyHeldThings[index: i] as Pawn; - if (pawn != null && CaravanUtility.IsOwner(pawn: pawn, caravanFaction: faction)) - { - return true; - } - } - } - return false; - } - - public static Thing GetLookTarget(List pods) - { - for (int i = 0; i < pods.Count; i++) - { - ThingOwner directlyHeldThings = pods[index: i].GetDirectlyHeldThings(); - for (int j = 0; j < directlyHeldThings.Count; j++) - { - Pawn pawn = directlyHeldThings[index: j] as Pawn; - if (pawn != null && pawn.IsColonist) - { - return pawn; - } - } - } - for (int k = 0; k < pods.Count; k++) - { - Thing thing = pods[index: k].GetDirectlyHeldThings().FirstOrDefault(); - if (thing != null) - { - return thing; - } - } - return null; - } - - public static void DropTravelingTransportPods(List dropPods, IntVec3 near, Map map) - { - ByakheeArrivalActionUtility.RemovePawnsFromWorldPawns(pods: dropPods); - for (int i = 0; i < dropPods.Count; i++) - { - IntVec3 c; - DropCellFinder.TryFindDropSpotNear(center: near, map: map, result: out c, allowFogged: false, canRoofPunch: true, allowIndoors: true, size: null, mustBeReachableFromCenter: true); - DropPodUtility.MakeDropPodAt(c: c, map: map, info: dropPods[index: i]); - } - } - - public static Thing DropShuttle(List pods, Map map, IntVec3 cell, Faction faction = null) - { - ByakheeArrivalActionUtility.RemovePawnsFromWorldPawns(pods: pods); - Thing thing = QuestGen_Shuttle.GenerateShuttle(owningFaction: faction, requiredPawns: null, requiredItems: null, acceptColonists: false, onlyAcceptColonists: false, onlyAcceptHealthy: false, requireColonistCount: 0, dropEverythingIfUnsatisfied: false, leaveImmediatelyWhenSatisfied: false, dropEverythingOnArrival: true, stayAfterDroppedEverythingOnArrival: false, missionShuttleTarget: null, missionShuttleHome: null, maxColonistCount: -1, shuttleDef: null, permitShuttle: false, hideControls: true, allowSlaves: false, requireAllColonistsOnMap: false); - TransportShip transportShip = TransportShipMaker.MakeTransportShip(def: TransportShipDefOf.Ship_Shuttle, contents: null, shipThing: thing); - CompTransporter compTransporter = thing.TryGetComp(); - for (int i = 0; i < pods.Count; i++) - { - compTransporter.innerContainer.TryAddRangeOrTransfer(things: pods[index: i].innerContainer, canMergeWithExistingStacks: true, destroyLeftover: false); - } - if (!cell.IsValid) - { - cell = DropCellFinder.GetBestShuttleLandingSpot(map: map, factionForFindingSpot: Faction.OfPlayer); - } - transportShip.ArriveAt(cell: cell, mapParent: map.Parent); - transportShip.AddJobs(defs: new ShipJobDef[] - { - ShipJobDefOf.Unload, - ShipJobDefOf.FlyAway - }); - return thing; - } - - public static void RemovePawnsFromWorldPawns(List pods) - { - for (int i = 0; i < pods.Count; i++) - { - ThingOwner innerContainer = pods[index: i].innerContainer; - for (int j = 0; j < innerContainer.Count; j++) - { - Pawn pawn = innerContainer[index: j] as Pawn; - if (pawn != null && pawn.IsWorldPawn()) - { - Find.WorldPawns.RemovePawn(p: pawn); - } - } - } - } - } -} diff --git a/Source/Code/NewSystems/PawnFlyer/Command_LoadToTransporter.cs b/Source/Code/NewSystems/PawnFlyer/Command_LoadToTransporter.cs index a5c14e0..567280c 100644 --- a/Source/Code/NewSystems/PawnFlyer/Command_LoadToTransporter.cs +++ b/Source/Code/NewSystems/PawnFlyer/Command_LoadToTransporter.cs @@ -40,7 +40,7 @@ public override void ProcessInput(Event ev) continue; } - Messages.Message(text: "MessageTransporterUnreachable".Translate(), lookTargets: compTransporterPawn.parent, + Messages.Message(text: "PawnFlyer_MessageUnreachable".Translate(), lookTargets: compTransporterPawn.parent, def: MessageTypeDefOf.RejectInput); return; } diff --git a/Source/Code/NewSystems/PawnFlyer/CompLaunchablePawn.cs b/Source/Code/NewSystems/PawnFlyer/CompLaunchablePawn.cs index ce1cf9f..96510db 100644 --- a/Source/Code/NewSystems/PawnFlyer/CompLaunchablePawn.cs +++ b/Source/Code/NewSystems/PawnFlyer/CompLaunchablePawn.cs @@ -18,7 +18,8 @@ public class CompLaunchablePawn : ThingComp private static readonly Texture2D TargeterMouseAttachment = ContentFinder.Get(itemPath: "UI/Overlays/LaunchableMouseAttachment"); - private static readonly Texture2D LaunchCommandTex = ContentFinder.Get(itemPath: "UI/Commands/LaunchShip"); + private static readonly Texture2D LaunchCommandTex = + ContentFinder.Get(itemPath: "UI/Commands/LaunchShip"); private CompTransporterPawn cachedCompTransporter; @@ -39,9 +40,10 @@ public bool AnyInGroupIsUnderRoof get { var transportersInGroup = TransportersInGroup; + if (transportersInGroup?.FirstOrDefault() == null) return false; foreach (var compTransporterPawn in transportersInGroup) { - if (compTransporterPawn.parent.Position.Roofed(map: parent.Map)) + if (compTransporterPawn?.parent?.Position.Roofed(map: parent.Map) == true) { return true; } @@ -94,15 +96,15 @@ public override IEnumerable CompGetGizmosExtra() { var command_Action = new Command_Action { - defaultLabel = "CommandLaunchGroup".Translate(), - defaultDesc = "CommandLaunchGroupDesc".Translate(), + defaultLabel = "PawnFlyer_CommandTakeOffGroup".Translate(), + defaultDesc = "CommandLaunchGroupDesc".Translate(), //Translaton: ok icon = LaunchCommandTex, action = delegate { if (AnyInGroupHasAnythingLeftToLoad) { Find.WindowStack.Add(window: Dialog_MessageBox.CreateConfirmation( - text: "ConfirmSendNotCompletelyLoadedPods".Translate( + text: "PawnFlyer_ConfirmSendNotCompletelyLoaded".Translate( arg1: FirstThingLeftToLoadInGroup.LabelCap ), confirmedAct: StartChoosingDestination)); } @@ -114,36 +116,7 @@ public override IEnumerable CompGetGizmosExtra() }; if (AnyInGroupIsUnderRoof) { - command_Action.Disable(reason: "CommandLaunchGroupFailUnderRoof".Translate()); - } - - yield return command_Action; - } - else - { - var command_Action = new Command_Action - { - defaultLabel = "DEBUG", - defaultDesc = "CommandLaunchGroupDesc".Translate(), - icon = LaunchCommandTex, - action = delegate - { - if (AnyInGroupHasAnythingLeftToLoad) - { - Find.WindowStack.Add(window: Dialog_MessageBox.CreateConfirmation( - text: "ConfirmSendNotCompletelyLoadedPods".Translate( - arg1: FirstThingLeftToLoadInGroup.LabelCap - ), confirmedAct: StartChoosingDestination)); - } - else - { - StartChoosingDestination(); - } - } - }; - if (AnyInGroupIsUnderRoof) - { - command_Action.Disable(reason: "CommandLaunchGroupFailUnderRoof".Translate()); + command_Action.Disable(reason: "PawnFlyer_CommandLaunchGroupFailUnderRoof".Translate()); } yield return command_Action; @@ -158,9 +131,9 @@ public override string CompInspectStringExtra() } return AnyInGroupHasAnythingLeftToLoad - ? (string) ("NotReadyForLaunch".Translate() + ": " + - "TransportPodInGroupHasSomethingLeftToLoad".Translate() + ".") - : (string) "ReadyForLaunch".Translate(); + ? (string)("PawnFlyer_NotReadyForTakeOff".Translate() + ": " + + "TransportPodInGroupHasSomethingLeftToLoad".Translate() + ".") //Translation: ok + : (string)"PawnFlyer_ReadyForTakeOff".Translate(); } public void StartChoosingDestination() @@ -168,81 +141,142 @@ public void StartChoosingDestination() CameraJumper.TryJump(target: CameraJumper.GetWorldTarget(target: this.parent)); Find.WorldSelector.ClearSelection(); int tile = this.parent.Map.Tile; - Find.WorldTargeter.BeginTargeting(action: new Func(this.ChoseWorldTarget), canTargetTiles: true, mouseAttachment: CompLaunchable.TargeterMouseAttachment, closeWorldTabWhenFinished: true, onUpdate: delegate + Find.WorldTargeter.BeginTargeting(action: new Func(this.ChoseWorldTarget), + canTargetTiles: true, mouseAttachment: CompLaunchable.TargeterMouseAttachment, + closeWorldTabWhenFinished: true, + onUpdate: delegate { GenDraw.DrawWorldRadiusRing(center: tile, radius: this.MaxLaunchDistance); }, + extraLabelGetter: (GlobalTargetInfo target) => CompLaunchablePawn.TargetingLabelGetter(target: target, + tile: tile, maxLaunchDistance: this.MaxLaunchDistance, + pods: this.TransportersInGroup.Cast(), + launchAction: new Action(this.TryLaunch), launchable: this), + canSelectTarget: null); + } + + public static IEnumerable GetOptionsForTile(int tile, IEnumerable pods, + Action launchAction) + { + bool anything = false; + if (PawnFlyerArrivalAction_FormCaravan.CanFormCaravanAt(pods, tile) && + !Find.WorldObjects.AnySettlementBaseAt(tile) && !Find.WorldObjects.AnySiteAt(tile)) { - GenDraw.DrawWorldRadiusRing(center: tile, radius: this.MaxLaunchDistance); - }, extraLabelGetter: (GlobalTargetInfo target) => CompLaunchablePawn.TargetingLabelGetter(target: target, tile: tile, maxLaunchDistance: this.MaxLaunchDistance, pods: this.TransportersInGroup.Cast(), launchAction: new Action(this.TryLaunch), launchable: this), canSelectTarget: null); + anything = true; + yield return new FloatMenuOption("FormCaravanHere".Translate(), //Translation: ok + delegate { launchAction(tile, new PawnFlyerArrivalAction_FormCaravan("MessageShuttleArrived")); }); //Translation: ok + } + + List worldObjects = Find.WorldObjects.AllWorldObjects; + for (int i = 0; i < worldObjects.Count; i++) + { + if (worldObjects[i].Tile != tile) + { + continue; + } + + switch (worldObjects[i]) + { + case Settlement s: + { + foreach (FloatMenuOption pawnFlyerFloatMenuOption in PawnFlyerArrivalActionUtility.GetSettlementFloatMenuOptions(pods, launchAction, s)) + { + anything = true; + yield return pawnFlyerFloatMenuOption; + } + + break; + } + case Site s: + { + foreach (FloatMenuOption pawnFlyerFloatMenuOption in PawnFlyerArrivalActionUtility.GetSiteFloatMenuOptions(pods, launchAction, s)) + { + anything = true; + yield return pawnFlyerFloatMenuOption; + } + + break; + } + case MapParent s: + { + foreach (FloatMenuOption pawnFlyerFloatMenuOption in PawnFlyerArrivalActionUtility.GetMapParentFloatMenuOptions(pods, launchAction, s)) + { + anything = true; + yield return pawnFlyerFloatMenuOption; + } + + break; + } + } + } + + if (!anything && !Find.World.Impassable(tile)) + { + yield return new FloatMenuOption("TransportPodsContentsWillBeLost".Translate(), //Translation: ok + delegate { launchAction(tile, null); }); + } } - public static string TargetingLabelGetter(GlobalTargetInfo target, int tile, int maxLaunchDistance, IEnumerable pods, Action launchAction, CompLaunchablePawn launchable) + + + public static string TargetingLabelGetter(GlobalTargetInfo target, int tile, int maxLaunchDistance, + IEnumerable pods, Action launchAction, + CompLaunchablePawn launchable) { if (!target.IsValid) { return null; } - int num = Find.WorldGrid.TraversalDistanceBetween(start: tile, end: target.Tile, passImpassable: true, maxDist: int.MaxValue); + + int num = Find.WorldGrid.TraversalDistanceBetween(start: tile, end: target.Tile, passImpassable: true, + maxDist: int.MaxValue); if (maxLaunchDistance > 0 && num > maxLaunchDistance) { GUI.color = ColorLibrary.RedReadable; - return "TransportPodDestinationBeyondMaximumRange".Translate(); + return "TransportPodDestinationBeyondMaximumRange".Translate(); //Translation: ok } - IEnumerable source = (launchable != null) ? launchable.GetTransportPodsFloatMenuOptionsAt(tile: target.Tile) : CompLaunchable.GetOptionsForTile(tile: target.Tile, pods: pods, launchAction: launchAction); + + IEnumerable source = (launchable != null) + ? launchable.GetPawnFlyerFloatMenuOptionsAt(tile: target.Tile) + : CompLaunchablePawn.GetOptionsForTile(tile: target.Tile, pods: pods, launchAction: launchAction); if (!source.Any()) { return string.Empty; } + if (source.Count() == 1) { if (source.First().Disabled) { GUI.color = ColorLibrary.RedReadable; } + return source.First().Label; } + MapParent mapParent; if ((mapParent = (target.WorldObject as MapParent)) != null) { - return "ClickToSeeAvailableOrders_WorldObject".Translate(arg1: mapParent.LabelCap); + return "ClickToSeeAvailableOrders_WorldObject".Translate(arg1: mapParent.LabelCap); //Translation: ok } - return "ClickToSeeAvailableOrders_Empty".Translate(); + + return "ClickToSeeAvailableOrders_Empty".Translate(); //Translation: ok } - //RimWorld 1.0 - //public void StartChoosingDestination() - //{ - // CameraJumper.TryJump(CameraJumper.GetWorldTarget(parent)); - // Find.WorldSelector.ClearSelection(); - // var tile = parent.Map.Tile; - // Find.WorldTargeter.BeginTargeting(ChoseWorldTarget, true, TargeterMouseAttachment, true, - // delegate { GenDraw.DrawWorldRadiusRing(tile, MaxLaunchDistance); }, delegate(GlobalTargetInfo target) - // { - // if (!target.IsValid) - // { - // return null; - // } - - // var num = Find.WorldGrid.TraversalDistanceBetween(tile, target.Tile); - // if (num <= MaxLaunchDistance) - // { - // return null; - // } - - // return num > maxTileDistance - // ? (string) "TransportPodDestinationBeyondMaximumRange".Translate() - // : (string) "TransportPodNotEnoughFuel".Translate(); - // }); - //} - - private IEnumerable GetTransportPodsFloatMenuOptionsAt(int tile) + private IEnumerable GetPawnFlyerFloatMenuOptionsAt(int tile) { bool anything = false; - if (TransportPodsArrivalAction_FormCaravan.CanFormCaravanAt(pods: this.TransportersInGroup.Cast(), tile: tile) && !Find.WorldObjects.AnySettlementBaseAt(tile: tile) && !Find.WorldObjects.AnySiteAt(tile: tile)) + if (TransportPodsArrivalAction_FormCaravan.CanFormCaravanAt( + pods: this.TransportersInGroup.Cast(), tile: tile) && + !Find.WorldObjects.AnySettlementBaseAt(tile: tile) && !Find.WorldObjects.AnySiteAt(tile: tile)) { anything = true; - yield return new FloatMenuOption(label: "FormCaravanHere".Translate(), action: delegate () - { - this.TryLaunch(destinationTile: tile, arrivalAction: new TransportPodsArrivalAction_FormCaravan()); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption(label: "FormCaravanHere".Translate(), //Translation: ok + action: delegate() + { + this.TryLaunch(destinationTile: tile, + arrivalAction: new PawnFlyerArrivalAction_FormCaravan()); + }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, + extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, + playSelectionSound: true, orderInPriority: 0); } + List worldObjects = Find.WorldObjects.AllWorldObjects; int num; for (int i = 0; i < worldObjects.Count; i = num + 1) @@ -251,94 +285,135 @@ private IEnumerable GetTransportPodsFloatMenuOptionsAt(int tile { if (worldObjects[index: i] is Caravan caravan) { - foreach (FloatMenuOption floatMenuOption in ByakheeArrivalAction_GiveToCaravan.GetFloatMenuOptions(representative: this, pods: this.TransportersInGroup.Cast(), caravan: caravan)) + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalAction_GiveToCaravan + .GetFloatMenuOptions(representative: this, + pods: this.TransportersInGroup.Cast(), caravan: caravan)) { yield return floatMenuOption; } } + if (worldObjects[index: i] is Site site) { - yield return new FloatMenuOption(label: "DropAtEdge".Translate(arg1: site.Label), action: delegate - { - this.TryLaunch(destinationTile: tile, arrivalAction: new ByakheeArrivalAction_VisitSite(site: site, arrivalMode: PawnsArrivalModeDefOf.EdgeDrop)); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); - yield return new FloatMenuOption(label: "DropInCenter".Translate(arg1: site.Label), action: delegate - { - this.TryLaunch(destinationTile: tile, arrivalAction: new ByakheeArrivalAction_VisitSite(site: site, arrivalMode: PawnsArrivalModeDefOf.CenterDrop)); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption(label: "PawnFlyer_LandAtEdge".Translate(arg1: site.Label), + action: delegate + { + this.TryLaunch(destinationTile: tile, + arrivalAction: new PawnFlyerArrivalAction_VisitSite(site: site, + arrivalMode: PawnsArrivalModeDefOf.EdgeDrop)); + }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, + revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, + revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption(label: "PawnFlyer_LandInCenter".Translate(arg1: site.Label), + action: delegate + { + this.TryLaunch(destinationTile: tile, + arrivalAction: new PawnFlyerArrivalAction_VisitSite(site: site, + arrivalMode: PawnsArrivalModeDefOf.CenterDrop)); + }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, + revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, + revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); } + if (worldObjects[index: i] is Settlement settlement) { if (!settlement.Faction.IsPlayer) { - yield return new FloatMenuOption(label: "AttackAndDropAtEdge".Translate(arg1: settlement.Label), action: delegate - { - this.TryLaunch(destinationTile: tile, arrivalAction: new ByakheeArrivalAction_AttackSettlement(settlement: settlement, arrivalMode: PawnsArrivalModeDefOf.EdgeDrop)); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); - yield return new FloatMenuOption(label: "AttackAndDropInCenter".Translate(arg1: settlement.Label), action: delegate - { - this.TryLaunch(destinationTile: tile, arrivalAction: new ByakheeArrivalAction_AttackSettlement(settlement: settlement, arrivalMode: PawnsArrivalModeDefOf.CenterDrop)); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption( + label: "PawnFlyer_AttackAndLandAtEdge".Translate(arg1: settlement.Label), + action: delegate + { + this.TryLaunch(destinationTile: tile, + arrivalAction: new PawnFlyerArrivalAction_AttackSettlement(settlement: settlement, + arrivalMode: PawnsArrivalModeDefOf.EdgeDrop)); + }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, + revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, + revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption( + label: "PawnFlyer_AttackAndLandInCenter".Translate(arg1: settlement.Label), + action: delegate + { + this.TryLaunch(destinationTile: tile, + arrivalAction: new PawnFlyerArrivalAction_AttackSettlement(settlement: settlement, + arrivalMode: PawnsArrivalModeDefOf.CenterDrop)); + }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, + revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, + revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); } - foreach (FloatMenuOption floatMenuOption in ByakheeArrivalAction_VisitSettlement.GetFloatMenuOptions(representative: this, pods: this.TransportersInGroup.Cast(), settlement: settlement)) + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalAction_VisitSettlement + .GetFloatMenuOptions(representative: this, + pods: this.TransportersInGroup.Cast(), settlement: settlement)) { yield return floatMenuOption; } - //foreach (FloatMenuOption floatMenuOption in ByakheeArrivalAction_AttackSettlement.GetFloatMenuOptions(this, this.TransportersInGroup.Cast(), settlement)) - //{ - // yield return floatMenuOption; - //} - - - - foreach (FloatMenuOption floatMenuOption in ByakheeArrivalAction_GiveGift.GetFloatMenuOptions(representative: this, pods: this.TransportersInGroup.Cast(), settlement: settlement)) + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalAction_GiveGift.GetFloatMenuOptions( + representative: this, pods: this.TransportersInGroup.Cast(), + settlement: settlement)) { yield return floatMenuOption; } } } + num = i; } + if (!anything && !Find.World.Impassable(tileID: tile)) { - yield return new FloatMenuOption(label: "TransportPodsContentsWillBeLost".Translate(), action: delegate () - { - this.TryLaunch(destinationTile: tile, arrivalAction: null); - }, priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, playSelectionSound: true, orderInPriority: 0); + yield return new FloatMenuOption(label: "TransportPodsContentsWillBeLost".Translate(), + action: delegate() { this.TryLaunch(destinationTile: tile, arrivalAction: null); }, + priority: MenuOptionPriority.Default, mouseoverGuiAction: null, revalidateClickTarget: null, + extraPartWidth: 0f, extraPartOnGUI: null, revalidateWorldClickTarget: null, + playSelectionSound: true, orderInPriority: 0); } + yield break; } - private bool ChoseWorldTarget(GlobalTargetInfo target) { - return !this.LoadingInProgressOrReadyToLaunch || CompLaunchablePawn.ChoseWorldTarget(target: target, tile: this.parent.Map.Tile, pods: this.TransportersInGroup.Cast(), maxLaunchDistance: this.MaxLaunchDistance, launchAction: new Action(this.TryLaunch), launchable: this); + return !this.LoadingInProgressOrReadyToLaunch || CompLaunchablePawn.ChoseWorldTarget(target: target, + tile: this.parent.Map.Tile, pods: this.TransportersInGroup.Cast(), + maxLaunchDistance: this.MaxLaunchDistance, + launchAction: new Action(this.TryLaunch), launchable: this); } - public static bool ChoseWorldTarget(GlobalTargetInfo target, int tile, IEnumerable pods, int maxLaunchDistance, Action launchAction, CompLaunchablePawn launchable) + public static bool ChoseWorldTarget(GlobalTargetInfo target, int tile, IEnumerable pods, + int maxLaunchDistance, Action launchAction, CompLaunchablePawn launchable) { if (!target.IsValid) { - Messages.Message(text: "MessageTransportPodsDestinationIsInvalid".Translate(), def: MessageTypeDefOf.RejectInput, historical: false); + //Translation is ok + Messages.Message(text: "MessageTransportPodsDestinationIsInvalid".Translate(), + def: MessageTypeDefOf.RejectInput, historical: false); return false; } - int num = Find.WorldGrid.TraversalDistanceBetween(start: tile, end: target.Tile, passImpassable: true, maxDist: int.MaxValue); + + int num = Find.WorldGrid.TraversalDistanceBetween(start: tile, end: target.Tile, passImpassable: true, + maxDist: int.MaxValue); if (maxLaunchDistance > 0 && num > maxLaunchDistance) { - Messages.Message(text: "TransportPodDestinationBeyondMaximumRange".Translate(), def: MessageTypeDefOf.RejectInput, historical: false); + //Translation is ok + Messages.Message(text: "TransportPodDestinationBeyondMaximumRange".Translate(), + def: MessageTypeDefOf.RejectInput, historical: false); return false; } - IEnumerable source = (launchable != null) ? launchable.GetTransportPodsFloatMenuOptionsAt(tile: target.Tile) : CompLaunchable.GetOptionsForTile(tile: target.Tile, pods: pods, launchAction: launchAction); + + IEnumerable source = (launchable != null) + ? launchable.GetPawnFlyerFloatMenuOptionsAt(tile: target.Tile) + : null;//: CompLaunchable.GetOptionsForTile(tile: target.Tile, pods: pods, launchAction: launchAction); if (!source.Any()) { if (Find.World.Impassable(tileID: target.Tile)) { - Messages.Message(text: "MessageTransportPodsDestinationIsInvalid".Translate(), def: MessageTypeDefOf.RejectInput, historical: false); + Messages.Message(text: "MessageTransportPodsDestinationIsInvalid".Translate(), + def: MessageTypeDefOf.RejectInput, historical: false); return false; } + launchAction(arg1: target.Tile, arg2: null); return true; } @@ -349,118 +424,18 @@ public static bool ChoseWorldTarget(GlobalTargetInfo target, int tile, IEnumerab Find.WindowStack.Add(window: new FloatMenu(options: source.ToList())); return false; } + if (!source.First().Disabled) { source.First().action(); return true; } + return false; } } - - //private bool ChoseWorldTarget(GlobalTargetInfo target) - //{ - // Utility.DebugReport("ChooseWorldTarget Called"); - // if (!LoadingInProgressOrReadyToLaunch) - // { - // return true; - // } - - // if (!target.IsValid) - // { - // Messages.Message("MessageTransportPodsDestinationIsInvalid".Translate(), MessageTypeDefOf.RejectInput); - // return false; - // } - - // var num = Find.WorldGrid.TraversalDistanceBetween(parent.Map.Tile, target.Tile); - // if (num > MaxLaunchDistance) - // { - // //Messages.Message("MessageTransportPodsDestinationIsTooFar".Translate(new object[] - // //{ - // // CompLaunchable.FuelNeededToLaunchAtDist((float)num).ToString("0.#") - // //}), MessageTypeDefOf.RejectInput); - // return false; - // } - - // if (target.WorldObject is MapParent {HasMap: true} mapParent) - // { - // var myMap = parent.Map; - // var map = mapParent.Map; - // Current.Game.CurrentMap = map; - // var arg_139_0 = Find.Targeter; - - // void ActionWhenFinished() - // { - // if (Find.Maps.Contains(myMap)) - // { - // Current.Game.CurrentMap = myMap; - // } - // } - - // arg_139_0.BeginTargeting(TargetingParameters.ForDropPodsDestination(), delegate(LocalTargetInfo x) - // { - // if (!LoadingInProgressOrReadyToLaunch) - // { - // Utility.DebugReport("ChooseTarget Exited - LoadingInProgressOrReadyToLaunch"); - // return; - // } - - // TryLaunch(x.ToGlobalTargetInfo(map), PawnsArrivalModeDefOf.EdgeDrop, false); - // }, null, ActionWhenFinished, TargeterMouseAttachment); - // return true; - // } - - // if (target.WorldObject is Settlement && target.WorldObject.Faction != Faction.OfPlayer) - // { - // Find.WorldTargeter.closeWorldTabWhenFinished = false; - // var list = new List(); - // if (!target.WorldObject.Faction.HostileTo(Faction.OfPlayer)) - // { - // list.Add(new FloatMenuOption("VisitFactionBase".Translate( - // target.WorldObject.Label - // ), delegate - // { - // if (!LoadingInProgressOrReadyToLaunch) - // { - // return; - // } - - // TryLaunch(target, PawnsArrivalModeDefOf.EdgeDrop, false); - // CameraJumper.TryHideWorld(); - // })); - // } - - // list.Add(new FloatMenuOption("DropAtEdge".Translate(), delegate - // { - // if (!LoadingInProgressOrReadyToLaunch) - // { - // return; - // } - - // TryLaunch(target, PawnsArrivalModeDefOf.EdgeDrop, true); - // CameraJumper.TryHideWorld(); - // })); - // list.Add(new FloatMenuOption("DropInCenter".Translate(), delegate - // { - // if (!LoadingInProgressOrReadyToLaunch) - // { - // return; - // } - - // TryLaunch(target, PawnsArrivalModeDefOf.CenterDrop, true); - // CameraJumper.TryHideWorld(); - // })); - // Find.WindowStack.Add(new FloatMenu(list)); - // return true; - // } - // Messages.Message("MessageTransportPodsDestinationIsInvalid".Translate(), MessageTypeDefOf.RejectInput); - // return false; - // //this.TryLaunch(target, PawnsArrivalModeDefOf.Undecided, false); - // //return true; - //} - - public void TryLaunch(int destinationTile, TransportPodsArrivalAction arrivalAction) + public void TryLaunch(int destinationTile, PawnFlyerArrivalAction arrivalAction) { Utility.DebugReport(x: "TryLaunch Called"); if (!parent.Spawned) @@ -497,53 +472,30 @@ public void TryLaunch(int destinationTile, TransportPodsArrivalAction arrivalAct var compTransporter = compTransporterPawn; var originalPawn = (Pawn)compTransporter.parent; var oldPosition = compTransporter.parent.Position; - - - ActiveDropPod activeDropPod = (ActiveDropPod)ThingMaker.MakeThing(def: ThingDefOf.ActiveDropPod, stuff: null); - activeDropPod.Contents = new ActiveDropPodInfo(); - activeDropPod.Contents.innerContainer.TryAddRangeOrTransfer(things: compTransporter.GetDirectlyHeldThings(), canMergeWithExistingStacks: true, destroyLeftover: true); - FlyShipLeaving flyShipLeaving = (FlyShipLeaving)SkyfallerMaker.MakeSkyfaller(skyfaller: PawnFlyerDef.leavingDef ?? ThingDefOf.DropPodLeaving, innerThing: activeDropPod); + PawnFlyersCargo activePawnFlyerCargo = + (PawnFlyersCargo)ThingMaker.MakeThing(def: ThingDef.Named("ByakheeDrop"), stuff: null); + activePawnFlyerCargo.Contents = new ActiveDropPodInfo(); + activePawnFlyerCargo.Contents.innerContainer.TryAddRangeOrTransfer( + things: compTransporter.GetDirectlyHeldThings(), canMergeWithExistingStacks: true, + destroyLeftover: true); + activePawnFlyerCargo.pawnFlyer = originalPawn; + PawnFlyersLeaving flyShipLeaving = (PawnFlyersLeaving)SkyfallerMaker.MakeSkyfaller( + skyfaller: PawnFlyerDef.leavingDef ?? ThingDefOf.DropPodLeaving, innerThing: activePawnFlyerCargo); flyShipLeaving.groupID = groupID; flyShipLeaving.destinationTile = destinationTile; flyShipLeaving.arrivalAction = arrivalAction; flyShipLeaving.worldObjectDef = PawnFlyerDef.travelingDef; - //flyShipLeaving.worldObjectDef = WorldObjectDefOf.TravelingTransportPods; compTransporter.CleanUpLoadingVars(map: map); - //compTransporter.parent.Destroy(DestroyMode.Vanish); - compTransporterPawn.parent.DeSpawn(); - flyShipLeaving.Contents.innerContainer.TryAddOrTransfer(item: originalPawn); + Utility.DebugReport(originalPawn.ToString()); + originalPawn.ClearAllReservations(); + originalPawn.ClearMind(); + originalPawn.mindState.Active = false; + originalPawn.DeSpawn(); + flyShipLeaving.Contents.innerContainer.TryAdd(originalPawn); GenSpawn.Spawn(newThing: flyShipLeaving, loc: oldPosition, map: map, wipeMode: WipeMode.Vanish); - - //Utility.DebugReport("Transporter Outspawn Attempt"); - //var compTransporter = compTransporterPawn; - //Utility.DebugReport("Transporter Outspawn " + compTransporter.parent.Label); - //var pawnFlyerLeaving = (Skyfaller) ThingMaker.MakeThing(PawnFlyerDef.leavingDef); - //pawnFlyerLeaving.groupID = groupID; - //pawnFlyerLeaving.pawnFlyer = parent as PawnFlyer; - //pawnFlyerLeaving.destinationTile = target.Tile; - //pawnFlyerLeaving.destinationCell = target.Cell; - //pawnFlyerLeaving.arriveMode = arriveMode; - //pawnFlyerLeaving.attackOnArrival = attackOnArrival; - //var innerContainer = compTransporter.GetDirectlyHeldThings(); - //pawnFlyerLeaving.Contents = new ActiveDropPodInfo(); - //innerContainer.TryTransferAllToContainer(pawnFlyerLeaving.Contents.innerContainer); - ////pawnFlyerLeaving.Contents.innerContainer. //TryAddMany(innerContainer); - //innerContainer.Clear(); - //compTransporter.CleanUpLoadingVars(map); - //compTransporter.parent.DeSpawn(); - //pawnFlyerLeaving.Contents.innerContainer.TryAdd(compTransporter.parent); - //GenSpawn.Spawn(pawnFlyerLeaving, compTransporter.parent.Position, map); } - CameraJumper.TryHideWorld(); - } - public void Notify_FuelingPortSourceDeSpawned() - { - if (Transporter.CancelLoad()) - { - Messages.Message(text: "MessageTransportersLoadCanceled_FuelingPortGiverDeSpawned".Translate(), lookTargets: parent, - def: MessageTypeDefOf.NegativeEvent); - } + CameraJumper.TryHideWorld(); } } } \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/CompTransporterPawn.cs b/Source/Code/NewSystems/PawnFlyer/CompTransporterPawn.cs index c26856e..d87aed6 100644 --- a/Source/Code/NewSystems/PawnFlyer/CompTransporterPawn.cs +++ b/Source/Code/NewSystems/PawnFlyer/CompTransporterPawn.cs @@ -33,6 +33,8 @@ public class CompTransporterPawn : ThingComp, IThingHolder private ThingOwner innerContainer; public List leftToLoad; + + private CompShuttle cachedCompShuttle; public CompTransporterPawn() { @@ -189,10 +191,10 @@ public override IEnumerable CompGetGizmosExtra() } } - Command_LoadToTransporterPawn.defaultLabel = "CommandLoadTransporter".Translate( + Command_LoadToTransporterPawn.defaultLabel = "PawnFlyer_CommandLoad".Translate( arg1: num.ToString() ); - Command_LoadToTransporterPawn.defaultDesc = "CommandLoadTransporterDesc".Translate(); + Command_LoadToTransporterPawn.defaultDesc = "PawnFlyer_CommandLoadDesc".Translate(); Command_LoadToTransporterPawn.icon = LoadCommandTex; Command_LoadToTransporterPawn.transComp = this; var launchable = Launchable; @@ -306,6 +308,7 @@ public void TryRemoveLord(Map map) { map.lordManager.RemoveLord(oldLord: lord); } + } public void CleanUpLoadingVars(Map map) @@ -366,5 +369,17 @@ private void SelectNextInGroup() var num = list.IndexOf(item: this); CameraJumper.TryJumpAndSelect(target: list[index: (num + 1) % list.Count].parent); } + + public CompShuttle Shuttle + { + get + { + if (this.cachedCompShuttle == null) + { + this.cachedCompShuttle = this.parent.GetComp(); + } + return this.cachedCompShuttle; + } + } } } \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/Dialog_LoadTransportersPawn.cs b/Source/Code/NewSystems/PawnFlyer/Dialog_LoadTransportersPawn.cs index 61851f1..90902c4 100644 --- a/Source/Code/NewSystems/PawnFlyer/Dialog_LoadTransportersPawn.cs +++ b/Source/Code/NewSystems/PawnFlyer/Dialog_LoadTransportersPawn.cs @@ -482,7 +482,7 @@ where x.IsColonist && !x.Downed } } - Messages.Message(text: "MessageTransportersLoadingProcessStarted".Translate(), lookTargets: transporters[index: 0].parent, + Messages.Message(text: "PawnFlyer_MessageLoadingProcessStarted".Translate(), lookTargets: transporters[index: 0].parent, def: MessageTypeDefOf.PositiveEvent); return true; } @@ -555,13 +555,13 @@ private bool CheckForErrors(List pawns) if (MassUsage > MassCapacity) { FlashMass(); - Messages.Message(text: "TooBigTransportersMassUsage".Translate(), def: MessageTypeDefOf.RejectInput); + Messages.Message(text: "PawnFlyer_TooBigMassUsage".Translate(), def: MessageTypeDefOf.RejectInput); return false; } if (pawns.Count > PawnCapacity) { - Messages.Message(text: "OverPawnRiderLimit".Translate( + Messages.Message(text: "OverPawnRiderLimit".Translate( //Translation: ok arg1: PawnCapacity.ToString() ), def: MessageTypeDefOf.RejectInput); return false; @@ -572,7 +572,7 @@ private bool CheckForErrors(List pawns) traverseParams: TraverseParms.For(mode: TraverseMode.PassDoors))); if (pawn != null) { - Messages.Message(text: "PawnCantReachTransporters".Translate( + Messages.Message(text: "PawnFlyer_PawnCantReach".Translate( arg1: pawn.LabelShort ).CapitalizeFirst(), def: MessageTypeDefOf.RejectInput); return false; @@ -615,13 +615,13 @@ private bool CheckForErrors(List pawns) if (countToTransfer == 1) { - Messages.Message(text: "TransporterItemIsUnreachableSingle".Translate( + Messages.Message(text: "PawnFlyer_ItemIsUnreachableSingle".Translate( arg1: transferableOneWay.ThingDef.label ), def: MessageTypeDefOf.RejectInput); } else { - Messages.Message(text: "TransporterItemIsUnreachableMulti".Translate( + Messages.Message(text: "PawnFlyer_ItemIsUnreachableMulti".Translate( arg1: countToTransfer, arg2: transferableOneWay.ThingDef.label ), def: MessageTypeDefOf.RejectInput); diff --git a/Source/Code/NewSystems/PawnFlyer/LordJob_LoadAndEnterTransportersPawn.cs b/Source/Code/NewSystems/PawnFlyer/LordJob_LoadAndEnterTransportersPawn.cs index a3fb461..0fbd69a 100644 --- a/Source/Code/NewSystems/PawnFlyer/LordJob_LoadAndEnterTransportersPawn.cs +++ b/Source/Code/NewSystems/PawnFlyer/LordJob_LoadAndEnterTransportersPawn.cs @@ -33,7 +33,6 @@ public override StateGraph CreateGraph() stateGraph.AddToil(toil: lordToil_End); var transition = new Transition(firstSource: lordToil_LoadAndEnterTransporters, target: lordToil_End); transition.AddTrigger(trigger: new Trigger_PawnLost()); - //transition.AddPreAction(new TransitionAction_Message("MessageFailedToLoadTransportersBecauseColonistLost".Translate(), MessageTypeDefOf.NegativeEvent)); transition.AddPreAction(action: new TransitionAction_Custom(action: CancelLoadingProcess)); stateGraph.AddTransition(transition: transition); return stateGraph; diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyer.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyer.cs index a6a2e85..0feacee 100644 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyer.cs +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyer.cs @@ -1,7 +1,11 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Linq; using RimWorld; using UnityEngine; using Verse; +using Verse.AI; +using Verse.AI.Group; using Verse.Sound; namespace CultOfCthulhu @@ -15,93 +19,128 @@ public override void SpawnSetup(Map map, bool bla) { compTransporterPawn = this.TryGetComp(); compLaunchablePawn = this.TryGetComp(); - DecrementMapIndex(); base.SpawnSetup(map: map, respawningAfterLoad: bla); - } - - public override IEnumerable GetGizmos() - { - using var enumerator = base.GetGizmos().GetEnumerator(); - while (enumerator.MoveNext()) - { - var current = enumerator.Current; - yield return current; - } - - if (Faction != Faction.OfPlayer || Dead || Dead) + ClearMind(); + mindState.Active = true; + if (map?.IsPlayerHome == false) { - yield break; - } - - if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) - { - var command_Action = new Command_Action + if (map.mapPawns?.FreeColonists.First() is { } colonist) { - defaultLabel = "CommandLaunchGroup".Translate(), - defaultDesc = "CommandLaunchGroupDesc".Translate(), - icon = ContentFinder.Get(itemPath: "UI/Icons/Commands/FlyingTarget"), - action = delegate + var lord = colonist.GetLord(); + if (lord != null) + lord.AddPawn(this); + + ThinkNode_JobGiver obj = (ThinkNode_JobGiver)Activator.CreateInstance(typeof(JobGiver_WanderMapEdge)); + obj.ResolveReferences(); + ThinkResult thinkResult = obj.TryIssueJobPackage(this, default(JobIssueParams)); + if (thinkResult.Job != null) { - if (compTransporterPawn.AnyInGroupHasAnythingLeftToLoad) - { - Find.WindowStack.Add(window: Dialog_MessageBox.CreateConfirmation( - text: "ConfirmSendNotCompletelyLoadedPods".Translate( - arg1: compTransporterPawn.FirstThingLeftToLoadInGroup.LabelCap - ), confirmedAct: compLaunchablePawn.StartChoosingDestination)); - } - else - { - compLaunchablePawn.StartChoosingDestination(); - } + this.jobs.StartJob(thinkResult.Job); } - }; - if (compLaunchablePawn.AnyInGroupIsUnderRoof) - { - command_Action.Disable(reason: "CommandLaunchGroupFailUnderRoof".Translate()); + } - - yield return command_Action; } + } - if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) - { - yield return new Command_Action - { - defaultLabel = "CommandCancelLoad".Translate(), - defaultDesc = "CommandCancelLoadDesc".Translate(), - icon = CompTransporterPawn.CancelLoadCommandTex, - action = delegate - { - SoundDefOf.Designate_Cancel.PlayOneShotOnCamera(); - compTransporterPawn.CancelLoad(); - } - }; - } - - var command_LoadToTransporter = new Command_LoadToTransporterPawn(); - var num = 0; - for (var i = 0; i < Find.Selector.NumSelected; i++) - { - if (Find.Selector.SelectedObjectsListForReading[index: i] is not Thing thing || thing.def != def) - { - continue; - } - - var compLaunchable = thing.TryGetComp(); - if (compLaunchable != null) - { - num++; - } - } + public override void Kill(DamageInfo? dinfo, Hediff exactCulprit = null) + { + if (compTransporterPawn is { LoadingInProgressOrReadyToLaunch: true }) + compTransporterPawn.CancelLoad(); + base.Kill(dinfo, exactCulprit); + } - command_LoadToTransporter.defaultLabel = "CommandLoadTransporter".Translate( - arg1: num.ToString() - ); - command_LoadToTransporter.defaultDesc = "CommandLoadTransporterDesc".Translate(); - command_LoadToTransporter.icon = CompTransporterPawn.LoadCommandTex; - command_LoadToTransporter.transComp = compTransporterPawn; - var launchable = compTransporterPawn.Launchable; - yield return command_LoadToTransporter; + public override void Destroy(DestroyMode mode = DestroyMode.Vanish) + { + if (compTransporterPawn is { LoadingInProgressOrReadyToLaunch: true }) + compTransporterPawn.CancelLoad(); + base.Destroy(mode); } + + // + // public override IEnumerable GetGizmos() + // { + // using var enumerator = base.GetGizmos().GetEnumerator(); + // while (enumerator.MoveNext()) + // { + // var current = enumerator.Current; + // yield return current; + // } + // + // + // if (Faction != Faction.OfPlayer || Dead || Dead) + // { + // yield break; + // } + // + // if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) + // { + // var command_Action = new Command_Action + // { + // defaultLabel = "CommandLaunchGroup".Translate(), + // defaultDesc = "CommandLaunchGroupDesc".Translate(), + // icon = ContentFinder.Get(itemPath: "UI/Icons/Commands/FlyingTarget"), + // action = delegate + // { + // if (compTransporterPawn.AnyInGroupHasAnythingLeftToLoad) + // { + // Find.WindowStack.Add(window: Dialog_MessageBox.CreateConfirmation( + // text: "ConfirmSendNotCompletelyLoadedPods".Translate( + // arg1: compTransporterPawn.FirstThingLeftToLoadInGroup.LabelCap + // ), confirmedAct: compLaunchablePawn.StartChoosingDestination)); + // } + // else + // { + // compLaunchablePawn.StartChoosingDestination(); + // } + // } + // }; + // if (compLaunchablePawn.AnyInGroupIsUnderRoof) + // { + // command_Action.Disable(reason: "CommandLaunchGroupFailUnderRoof".Translate()); + // } + // + // yield return command_Action; + // } + // + // if (compTransporterPawn.LoadingInProgressOrReadyToLaunch) + // { + // yield return new Command_Action + // { + // defaultLabel = "CommandCancelLoad".Translate(), + // defaultDesc = "CommandCancelLoadDesc".Translate(), + // icon = CompTransporterPawn.CancelLoadCommandTex, + // action = delegate + // { + // SoundDefOf.Designate_Cancel.PlayOneShotOnCamera(); + // compTransporterPawn.CancelLoad(); + // } + // }; + // } + // + // var command_LoadToTransporter = new Command_LoadToTransporterPawn(); + // var num = 0; + // for (var i = 0; i < Find.Selector.NumSelected; i++) + // { + // if (Find.Selector.SelectedObjectsListForReading[index: i] is not Thing thing || thing.def != def) + // { + // continue; + // } + // + // var compLaunchable = thing.TryGetComp(); + // if (compLaunchable != null) + // { + // num++; + // } + // } + // + // command_LoadToTransporter.defaultLabel = "CommandLoadTransporter".Translate( + // arg1: num.ToString() + // ); + // command_LoadToTransporter.defaultDesc = "CommandLoadTransporterDesc".Translate(); + // command_LoadToTransporter.icon = CompTransporterPawn.LoadCommandTex; + // command_LoadToTransporter.transComp = compTransporterPawn; + // var launchable = compTransporterPawn.Launchable; + // yield return command_LoadToTransporter; + // } } } \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction.cs new file mode 100644 index 0000000..5a4d351 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; +using RimWorld; +using Verse; + +namespace CultOfCthulhu +{ + public abstract class PawnFlyerArrivalAction : IExposable + { + public virtual FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + return true; + } + + public virtual bool ShouldUseLongEvent(List pods, int tile) + { + return false; + } + + public abstract void Arrived(List pods, int tile); + + public virtual void ExposeData() + { + } + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalActionUtilty.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalActionUtilty.cs new file mode 100644 index 0000000..bc72e09 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalActionUtilty.cs @@ -0,0 +1,344 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using RimWorld.QuestGen; +using Verse; +using RimWorld; +using RimWorld.Planet; + +namespace CultOfCthulhu +{ + public static class PawnFlyerArrivalActionUtility + { + public static IEnumerable GetFloatMenuOptions( + Func acceptanceReportGetter, Func arrivalActionGetter, string label, + CompLaunchablePawn representative, int destinationTile, Action uiConfirmationCallback = null) + where T : PawnFlyerArrivalAction + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); + if (!floatMenuAcceptanceReport.Accepted && floatMenuAcceptanceReport.FailReason.NullOrEmpty() && + floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) + { + yield break; + } + + if (!floatMenuAcceptanceReport.FailReason.NullOrEmpty()) + { + yield return new FloatMenuOption(label + " (" + floatMenuAcceptanceReport.FailReason + ")", null); + yield break; + } + + yield return new FloatMenuOption(label, delegate + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport2 = acceptanceReportGetter(); + if (floatMenuAcceptanceReport2.Accepted) + { + if (uiConfirmationCallback == null) + { + representative.TryLaunch(destinationTile, arrivalActionGetter()); + } + else + { + uiConfirmationCallback(delegate + { + representative.TryLaunch(destinationTile, arrivalActionGetter()); + }); + } + } + else if (!floatMenuAcceptanceReport2.FailMessage.NullOrEmpty()) + { + Messages.Message(floatMenuAcceptanceReport2.FailMessage, new GlobalTargetInfo(destinationTile), + MessageTypeDefOf.RejectInput, historical: false); + } + }); + } + + public static IEnumerable GetFloatMenuOptions( + Func acceptanceReportGetter, Func arrivalActionGetter, string label, + Action launchAction, int destinationTile) + where T : PawnFlyerArrivalAction + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); + if (!floatMenuAcceptanceReport.Accepted && floatMenuAcceptanceReport.FailReason.NullOrEmpty() && + floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) + { + yield break; + } + + if (!floatMenuAcceptanceReport.Accepted && !floatMenuAcceptanceReport.FailReason.NullOrEmpty()) + { + label = label + " (" + floatMenuAcceptanceReport.FailReason + ")"; + } + + yield return new FloatMenuOption(label, delegate + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport2 = acceptanceReportGetter(); + if (floatMenuAcceptanceReport2.Accepted) + { + launchAction(destinationTile, arrivalActionGetter()); + } + else if (!floatMenuAcceptanceReport2.FailMessage.NullOrEmpty()) + { + Messages.Message(floatMenuAcceptanceReport2.FailMessage, new GlobalTargetInfo(destinationTile), + MessageTypeDefOf.RejectInput, historical: false); + } + }); + } + + public static bool AnyNonDownedColonist(IEnumerable pods) + { + foreach (IThingHolder thingHolder in pods) + { + ThingOwner directlyHeldThings = thingHolder.GetDirectlyHeldThings(); + for (int i = 0; i < directlyHeldThings.Count; i++) + { + Pawn pawn = directlyHeldThings[index: i] as Pawn; + if (pawn != null && pawn.IsColonist && !pawn.Downed) + { + return true; + } + } + } + + return false; + } + + public static bool AnyPotentialCaravanOwner(IEnumerable pods, Faction faction) + { + foreach (IThingHolder thingHolder in pods) + { + ThingOwner directlyHeldThings = thingHolder.GetDirectlyHeldThings(); + for (int i = 0; i < directlyHeldThings.Count; i++) + { + Pawn pawn = directlyHeldThings[index: i] as Pawn; + if (pawn != null && CaravanUtility.IsOwner(pawn: pawn, caravanFaction: faction)) + { + return true; + } + } + } + + return false; + } + + public static Thing GetLookTarget(List pods) + { + for (int i = 0; i < pods.Count; i++) + { + ThingOwner directlyHeldThings = pods[index: i].GetDirectlyHeldThings(); + for (int j = 0; j < directlyHeldThings.Count; j++) + { + Pawn pawn = directlyHeldThings[index: j] as Pawn; + if (pawn != null && pawn.IsColonist) + { + return pawn; + } + } + } + + for (int k = 0; k < pods.Count; k++) + { + Thing thing = pods[index: k].GetDirectlyHeldThings().FirstOrDefault(); + if (thing != null) + { + return thing; + } + } + + return null; + } + + public static void DropTravelingTransportPods(List dropPods, IntVec3 near, Map map) + { + PawnFlyerArrivalActionUtility.RemovePawnsFromWorldPawns(pods: dropPods); + for (int i = 0; i < dropPods.Count; i++) + { + IntVec3 c; + DropCellFinder.TryFindDropSpotNear(center: near, map: map, result: out c, allowFogged: false, + canRoofPunch: true, allowIndoors: true, size: null, mustBeReachableFromCenter: true); + DropPodUtility.MakeDropPodAt(c: c, map: map, info: dropPods[index: i]); + } + } + + public static Thing DropShuttle(List pods, Map map, IntVec3 cell, Faction faction = null) + { + PawnFlyerArrivalActionUtility.RemovePawnsFromWorldPawns(pods: pods); + Thing thing = QuestGen_Shuttle.GenerateShuttle(owningFaction: faction, requiredPawns: null, + requiredItems: null, acceptColonists: false, onlyAcceptColonists: false, onlyAcceptHealthy: false, + requireColonistCount: 0, dropEverythingIfUnsatisfied: false, leaveImmediatelyWhenSatisfied: false, + dropEverythingOnArrival: true, stayAfterDroppedEverythingOnArrival: false, missionShuttleTarget: null, + missionShuttleHome: null, maxColonistCount: -1, shuttleDef: null, permitShuttle: false, + hideControls: true, allowSlaves: false, requireAllColonistsOnMap: false); + TransportShip transportShip = TransportShipMaker.MakeTransportShip(def: TransportShipDefOf.Ship_Shuttle, + contents: null, shipThing: thing); + CompTransporter compTransporter = thing.TryGetComp(); + for (int i = 0; i < pods.Count; i++) + { + compTransporter.innerContainer.TryAddRangeOrTransfer(things: pods[index: i].innerContainer, + canMergeWithExistingStacks: true, destroyLeftover: false); + } + + if (!cell.IsValid) + { + cell = DropCellFinder.GetBestShuttleLandingSpot(map: map, factionForFindingSpot: Faction.OfPlayer); + } + + transportShip.ArriveAt(cell: cell, mapParent: map.Parent); + transportShip.AddJobs(defs: new ShipJobDef[] + { + ShipJobDefOf.Unload, + ShipJobDefOf.FlyAway + }); + return thing; + } + + public static void RemovePawnsFromWorldPawns(List pods) + { + for (int i = 0; i < pods.Count; i++) + { + ThingOwner innerContainer = pods[index: i].innerContainer; + for (int j = 0; j < innerContainer.Count; j++) + { + Pawn pawn = innerContainer[index: j] as Pawn; + if (pawn != null && pawn.IsWorldPawn()) + { + Find.WorldPawns.RemovePawn(p: pawn); + } + } + } + } + + public static IEnumerable GetSettlementFloatMenuOptions(IEnumerable pods, + Action launchAction, Settlement settlement) + { + if ((bool)PawnFlyerArrivalAction_Trade.CanTradeWith(pods, settlement)) + { + yield return new FloatMenuOption("TradeWith".Translate(settlement.Label), + delegate { launchAction(settlement.Tile, new PawnFlyerArrivalAction_Trade(settlement)); }); + } + + if ((bool)PawnFlyerArrivalAction_GiveGift.CanGiveGiftTo(pods, settlement)) + { + yield return new FloatMenuOption( + "GiveGiftViaTransportPods".Translate(settlement.Faction.Name, + FactionGiftUtility.GetGoodwillChange(pods, settlement).ToStringWithSign()), delegate + { + TradeRequestComp tradeReqComp = settlement.GetComponent(); + if (tradeReqComp.ActiveRequest && pods.Any((IThingHolder p) => + p.GetDirectlyHeldThings().Contains(tradeReqComp.requestThingDef))) + { + Find.WindowStack.Add(new Dialog_MessageBox( + "GiveGiftViaTransportPodsTradeRequestWarning".Translate(), "Yes".Translate(), + delegate + { + launchAction(settlement.Tile, new PawnFlyerArrivalAction_GiveGift(settlement)); + }, + "No".Translate())); + } + else + { + launchAction(settlement.Tile, new PawnFlyerArrivalAction_GiveGift(settlement)); + } + }); + } + + CompTransporter firstPod; + if (settlement.HasMap || (firstPod = pods.FirstOrDefault() as CompTransporter) == null || + firstPod.Shuttle.shipParent == null) + { + yield break; + } + + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => PawnFlyerArrivalAction_AttackSettlement.CanAttack(pods, settlement), + () => new PawnFlyerArrivalAction_TransportShip(settlement, firstPod.Shuttle.shipParent), + "AttackShuttle".Translate(settlement.Label), launchAction, settlement.Tile)) + { + yield return floatMenuOption; + } + } + + + public static IEnumerable GetSiteFloatMenuOptions(IEnumerable pods, + Action launchAction, Site site) + { + CompTransporterPawn firstPod; + if ((firstPod = pods.FirstOrDefault() as CompTransporterPawn) == null) + { + yield break; + } + + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => true, + () => new PawnFlyerArrivalAction_TransportShip(site, firstPod.Shuttle.shipParent), + "EnterMap".Translate(site.Label), launchAction, site.Tile)) + { + yield return floatMenuOption; + } + } + + public static void MakeIncomingPawnFlyerAt(PawnFlyer flyer, IntVec3 c, Map map, ActiveDropPodInfo info, + Faction faction = null) + { + ActiveDropPod activeDropPod = (ActiveDropPod)ThingMaker.MakeThing( + ThingDef.Named("ByakheeDrop") ?? ThingDefOf.ActiveDropPod, null); + activeDropPod.Contents = info; + if (flyer.def is not PawnFlyerDef flyerDef) return; + SkyfallerMaker.SpawnSkyfaller( + flyerDef.incomingDef ?? ThingDefOf.DropPodIncoming, activeDropPod, + c, map); + + using (IEnumerator enumerator = + ((IEnumerable)activeDropPod.Contents.innerContainer).GetEnumerator()) + { + while (enumerator.MoveNext()) + { + Pawn pawn; + if ((pawn = enumerator.Current as Pawn) != null && pawn.IsWorldPawn()) + { + Find.WorldPawns.RemovePawn(pawn); + Pawn_PsychicEntropyTracker psychicEntropy = pawn.psychicEntropy; + if (psychicEntropy != null) + { + psychicEntropy.SetInitialPsyfocusLevel(); + } + } + } + } + } + + public static IEnumerable GetMapParentFloatMenuOptions(IEnumerable pods, + Action launchAction, MapParent mapParent) + { + if (!TransportPodsArrivalAction_LandInSpecificCell.CanLandInSpecificCell(pods, mapParent)) + { + yield break; + } + + yield return new FloatMenuOption("LandInExistingMap".Translate(mapParent.Label), delegate + { + Map map = mapParent.Map; + Current.Game.CurrentMap = map; + CameraJumper.TryHideWorld(); + Find.Targeter.BeginTargeting(TargetingParameters.ForDropPodsDestination(), + delegate(LocalTargetInfo x) + { + launchAction(mapParent.Tile, + new PawnFlyerArrivalAction_LandInSpecificCell(mapParent, x.Cell, landInShuttle: true)); + }, delegate(LocalTargetInfo x) { RoyalTitlePermitWorker_CallShuttle.DrawShuttleGhost(x, map); }, + delegate(LocalTargetInfo x) + { + AcceptanceReport acceptanceReport = + RoyalTitlePermitWorker_CallShuttle.ShuttleCanLandHere(x, map); + if (!acceptanceReport.Accepted) + { + Messages.Message(acceptanceReport.Reason, new LookTargets(mapParent), + MessageTypeDefOf.RejectInput, historical: false); + } + + return acceptanceReport.Accepted; + }, null, null, CompLaunchable.TargeterMouseAttachment); + }); + } + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_AttackSettlement.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_AttackSettlement.cs new file mode 100644 index 0000000..5b050f8 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_AttackSettlement.cs @@ -0,0 +1,151 @@ +// RimWorld.Planet.TransportPodsArrivalAction_AttackSettlement + +using System.Collections.Generic; +using System.Linq; +using RimWorld; +using RimWorld.Planet; +using UnityEngine; +using UnityEngine.Experimental.TerrainAPI; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_AttackSettlement : PawnFlyerArrivalAction +{ + private Settlement settlement; + + private PawnsArrivalModeDef arrivalMode; + + public PawnFlyerArrivalAction_AttackSettlement() + { + } + + public PawnFlyerArrivalAction_AttackSettlement(Settlement settlement, PawnsArrivalModeDef arrivalMode) + { + this.settlement = settlement; + this.arrivalMode = arrivalMode; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref settlement, "settlement"); + Scribe_Defs.Look(ref arrivalMode, "arrivalMode"); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (settlement != null && settlement.Tile != destinationTile) + { + return false; + } + + return CanAttack(pods, settlement); + } + + public override bool ShouldUseLongEvent(List pods, int tile) + { + return !settlement.HasMap; + } + + public override void Arrived(List pods, int tile) + { + Thing lookTarget = PawnFlyerArrivalActionUtility.GetLookTarget(pods); + bool num = !settlement.HasMap; + Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(settlement.Tile, null); + TaggedString letterLabel = "LetterLabelCaravanEnteredEnemyBase".Translate(); + TaggedString letterText = "PawnFlyer_LetterLandedInEnemyBase".Translate(settlement.Label).CapitalizeFirst(); + SettlementUtility.AffectRelationsOnAttacked(settlement, ref letterText); + if (num) + { + Find.TickManager.Notify_GeneratedPotentiallyHostileMap(); + PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(orGenerateMap.mapPawns.AllPawns, ref letterLabel, + ref letterText, "LetterRelatedPawnsInMapWherePlayerLanded".Translate(Faction.OfPlayer.def.pawnsPlural), + informEvenIfSeenBefore: true); + } + + Find.LetterStack.ReceiveLetter(letterLabel, letterText, LetterDefOf.NeutralEvent, lookTarget, + settlement.Faction); + + TravelingPawnFlyersArrived(pods, orGenerateMap, arrivalMode); + } + + public static void TravelingPawnFlyersArrived(List dropPods, Map map, PawnsArrivalModeDef arrivalMode) + { + IntVec3 intVec = IntVec3.Zero; + if (arrivalMode == PawnsArrivalModeDefOf.EdgeDrop) + intVec = DropCellFinder.FindRaidDropCenterDistant(map, false); + if (arrivalMode == PawnsArrivalModeDefOf.CenterDrop) + DropCellFinder.TryFindRaidDropCenterClose(out intVec, map, false); + if (intVec == IntVec3.Zero) + intVec = DropCellFinder.FindRaidDropCenterDistant(map, false); + DropTravelingPawnFlyers(dropPods, intVec, map); + } + + public static void DropTravelingPawnFlyers(List dropPods, IntVec3 near, Map map) + { + PawnFlyerArrivalActionUtility.RemovePawnsFromWorldPawns(dropPods); + for (int i = 0; i < dropPods.Count; i++) + { + IntVec3 intVec; + DropCellFinder.TryFindDropSpotNear(center: near, map: map, result: out intVec, allowFogged: false, + canRoofPunch: true, allowIndoors: true, size: null, mustBeReachableFromCenter: true); + PawnFlyer flyer = (PawnFlyer)dropPods[i].innerContainer.FirstOrDefault(x => x.def is PawnFlyerDef); + if (flyer != null) + PawnFlyerArrivalActionUtility.MakeIncomingPawnFlyerAt(flyer, intVec, map, dropPods[i], null); + else + { + Log.Error("No pawn flyer found in drop pod info"); + } + } + } + + public static FloatMenuAcceptanceReport CanAttack(IEnumerable pods, Settlement settlement) + { + if (settlement == null || !settlement.Spawned || !settlement.Attackable) + { + return false; + } + + if (!PawnFlyerArrivalActionUtility.AnyNonDownedColonist(pods)) + { + return false; + } + + if (settlement.EnterCooldownBlocksEntering()) + { + return FloatMenuAcceptanceReport.WithFailReasonAndMessage("EnterCooldownBlocksEntering".Translate(), + "MessageEnterCooldownBlocksEntering".Translate(settlement.EnterCooldownTicksLeft() + .ToStringTicksToPeriod())); + } + + return true; + } + + public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, + IEnumerable pods, Settlement settlement) + { + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => CanAttack(pods, settlement), + () => new PawnFlyerArrivalAction_AttackSettlement(settlement, PawnsArrivalModeDefOf.EdgeDrop), + "PawnFlyer_AttackAndLandAtEdge".Translate(settlement.Label), representative, settlement.Tile)) + { + yield return floatMenuOption; + } + + foreach (FloatMenuOption floatMenuOption2 in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => CanAttack(pods, settlement), + () => new PawnFlyerArrivalAction_AttackSettlement(settlement, + PawnsArrivalModeDefOf.CenterDrop), "PawnFlyer_AttackAndLandInCenter".Translate(settlement.Label), + representative, settlement.Tile)) + { + yield return floatMenuOption2; + } + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_FormCaravan.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_FormCaravan.cs new file mode 100644 index 0000000..b6ce6bd --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_FormCaravan.cs @@ -0,0 +1,93 @@ +// RimWorld.Planet.TransportPodsArrivalAction_FormCaravan + +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu +{ + public class PawnFlyerArrivalAction_FormCaravan : PawnFlyerArrivalAction + { + private string arrivalMessageKey = "PawnFlyer_MessageArrived"; + + private static List tmpPawns = new List(); + + private static List tmpContainedThings = new List(); + + public PawnFlyerArrivalAction_FormCaravan() + { + } + + public PawnFlyerArrivalAction_FormCaravan(string arrivalMessageKey) + { + this.arrivalMessageKey = arrivalMessageKey; + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + return CanFormCaravanAt(pods, destinationTile); + } + + public override void Arrived(List pods, int tile) + { + tmpPawns.Clear(); + for (int i = 0; i < pods.Count; i++) + { + ThingOwner innerContainer = pods[i].innerContainer; + for (int num = innerContainer.Count - 1; num >= 0; num--) + { + if (innerContainer[num] is Pawn item) + { + tmpPawns.Add(item); + innerContainer.Remove(item); + } + } + } + + if (!GenWorldClosest.TryFindClosestPassableTile(tile, out var foundTile)) + { + foundTile = tile; + } + + Caravan caravan = CaravanMaker.MakeCaravan(tmpPawns, Faction.OfPlayer, foundTile, + addToWorldPawnsIfNotAlready: true); + for (int j = 0; j < pods.Count; j++) + { + tmpContainedThings.Clear(); + tmpContainedThings.AddRange(pods[j].innerContainer); + for (int k = 0; k < tmpContainedThings.Count; k++) + { + pods[j].innerContainer.Remove(tmpContainedThings[k]); + CaravanInventoryUtility.GiveThing(caravan, tmpContainedThings[k]); + } + } + + tmpPawns.Clear(); + tmpContainedThings.Clear(); + Messages.Message(arrivalMessageKey.Translate(), caravan, MessageTypeDefOf.TaskCompletion); + } + + public static bool CanFormCaravanAt(IEnumerable pods, int tile) + { + if (PawnFlyerArrivalActionUtility.AnyPotentialCaravanOwner(pods, Faction.OfPlayer)) + { + return !Find.World.Impassable(tile); + } + + return false; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref arrivalMessageKey, "arrivalMessageKey", "MessageTransportPodsArrived"); + } + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveGift.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveGift.cs new file mode 100644 index 0000000..8a39913 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveGift.cs @@ -0,0 +1,135 @@ +// RimWorld.Planet.TransportPodsArrivalAction_GiveGift + +using System; +using System.Collections.Generic; +using System.Linq; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_GiveGift : PawnFlyerArrivalAction +{ + private Settlement settlement; + + public PawnFlyerArrivalAction_GiveGift() + { + } + + public PawnFlyerArrivalAction_GiveGift(Settlement settlement) + { + this.settlement = settlement; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref settlement, "settlement"); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (settlement != null && settlement.Tile != destinationTile) + { + return false; + } + + return CanGiveGiftTo(pods, settlement); + } + + public override void Arrived(List pods, int tile) + { + for (int i = 0; i < pods.Count; i++) + { + for (int j = 0; j < pods[i].innerContainer.Count; j++) + { + if (pods[i].innerContainer[j] is Pawn pawn) + { + if (pawn.RaceProps.Humanlike) + { + Pawn result; + if (pawn.HomeFaction == settlement.Faction) + { + GenGuest.AddHealthyPrisonerReleasedThoughts(pawn); + } + else if (PawnsFinder.AllMapsCaravansAndTravelingTransportPods_Alive_FreeColonists + .TryRandomElement(out result)) + { + Find.HistoryEventsManager.RecordEvent(new HistoryEvent(HistoryEventDefOf.SoldSlave, + result.Named(HistoryEventArgsNames.Doer))); + } + } + else if (pawn.RaceProps.Animal && pawn.relations != null) + { + Pawn firstDirectRelationPawn = + pawn.relations.GetFirstDirectRelationPawn(PawnRelationDefOf.Bond); + if (firstDirectRelationPawn != null && firstDirectRelationPawn.needs.mood != null) + { + pawn.relations.RemoveDirectRelation(PawnRelationDefOf.Bond, firstDirectRelationPawn); + firstDirectRelationPawn.needs.mood.thoughts.memories.TryGainMemory(ThoughtDefOf + .SoldMyBondedAnimalMood); + } + } + } + + pods[i].innerContainer[j].Notify_AbandonedAtTile(tile); + } + } + + FactionGiftUtility.GiveGift(pods, settlement); + } + + public static FloatMenuAcceptanceReport CanGiveGiftTo(IEnumerable pods, Settlement settlement) + { + foreach (IThingHolder pod in pods) + { + ThingOwner directlyHeldThings = pod.GetDirectlyHeldThings(); + for (int i = 0; i < directlyHeldThings.Count; i++) + { + if (directlyHeldThings[i] is Pawn p && p.IsQuestLodger()) + { + return false; + } + } + } + + return settlement != null && settlement.Spawned && settlement.Faction != null && + settlement.Faction != Faction.OfPlayer && !settlement.Faction.def.permanentEnemy && !settlement.HasMap; + } + + public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, + IEnumerable pods, Settlement settlement) + { + if (settlement.Faction == Faction.OfPlayer) + { + return Enumerable.Empty(); + } + + return PawnFlyerArrivalActionUtility.GetFloatMenuOptions(() => CanGiveGiftTo(pods, settlement), + () => new PawnFlyerArrivalAction_GiveGift(settlement), + "GiveGiftViaTransportPods".Translate(settlement.Faction.Name, + FactionGiftUtility.GetGoodwillChange(pods, settlement).ToStringWithSign()), representative, + settlement.Tile, delegate(Action action) + { + TradeRequestComp tradeReqComp = settlement.GetComponent(); + if (tradeReqComp.ActiveRequest && pods.Any((IThingHolder p) => + p.GetDirectlyHeldThings().Contains(tradeReqComp.requestThingDef))) + { + Find.WindowStack.Add(new Dialog_MessageBox( + "GiveGiftViaTransportPodsTradeRequestWarning".Translate(), "Yes".Translate(), + delegate { action(); }, "No".Translate())); + } + else + { + action(); + } + }); + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveToCaravan.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveToCaravan.cs new file mode 100644 index 0000000..1bd872f --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_GiveToCaravan.cs @@ -0,0 +1,77 @@ +// RimWorld.Planet.TransportPodsArrivalAction_GiveToCaravan + +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_GiveToCaravan : PawnFlyerArrivalAction +{ + private Caravan caravan; + + private static List tmpContainedThings = new List(); + + public PawnFlyerArrivalAction_GiveToCaravan() + { + } + + public PawnFlyerArrivalAction_GiveToCaravan(Caravan caravan) + { + this.caravan = caravan; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref caravan, "caravan"); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (caravan != null && !Find.WorldGrid.IsNeighborOrSame(caravan.Tile, destinationTile)) + { + return false; + } + + return CanGiveTo(pods, caravan); + } + + public override void Arrived(List pods, int tile) + { + for (int i = 0; i < pods.Count; i++) + { + tmpContainedThings.Clear(); + tmpContainedThings.AddRange(pods[i].innerContainer); + for (int j = 0; j < tmpContainedThings.Count; j++) + { + pods[i].innerContainer.Remove(tmpContainedThings[j]); + caravan.AddPawnOrItem(tmpContainedThings[j], addCarriedPawnToWorldPawnsIfAny: true); + } + } + + tmpContainedThings.Clear(); + Messages.Message("PawnFlyer_MessageArrivedAndAddedToCaravan".Translate(caravan.Name), caravan, + MessageTypeDefOf.TaskCompletion); + } + + public static FloatMenuAcceptanceReport CanGiveTo(IEnumerable pods, Caravan caravan) + { + return caravan != null && caravan.Spawned && caravan.IsPlayerControlled; + } + + public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, + IEnumerable pods, Caravan caravan) + { + return PawnFlyerArrivalActionUtility.GetFloatMenuOptions(() => CanGiveTo(pods, caravan), + () => new PawnFlyerArrivalAction_GiveToCaravan(caravan), "GiveToCaravan".Translate(caravan.Label), + representative, caravan.Tile); + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_LandInSpecificCell.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_LandInSpecificCell.cs new file mode 100644 index 0000000..f762b07 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_LandInSpecificCell.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_LandInSpecificCell : PawnFlyerArrivalAction +{ + private MapParent mapParent; + + private IntVec3 cell; + + private bool landInShuttle; + + public PawnFlyerArrivalAction_LandInSpecificCell() + { + } + + public PawnFlyerArrivalAction_LandInSpecificCell(MapParent mapParent, IntVec3 cell) + { + this.mapParent = mapParent; + this.cell = cell; + } + + public PawnFlyerArrivalAction_LandInSpecificCell(MapParent mapParent, IntVec3 cell, bool landInShuttle) + { + this.mapParent = mapParent; + this.cell = cell; + this.landInShuttle = landInShuttle; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref mapParent, "mapParent"); + Scribe_Values.Look(ref cell, "cell"); + Scribe_Values.Look(ref landInShuttle, "landInShuttle", defaultValue: false); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (mapParent != null && mapParent.Tile != destinationTile) + { + return false; + } + + return CanLandInSpecificCell(pods, mapParent); + } + + public override void Arrived(List pods, int tile) + { + Thing lookTarget = PawnFlyerArrivalActionUtility.GetLookTarget(pods); + if (landInShuttle) + { + PawnFlyerArrivalActionUtility.DropShuttle(pods, mapParent.Map, cell); + Messages.Message("MessageShuttleArrived".Translate(), lookTarget, MessageTypeDefOf.TaskCompletion); + } + else + { + PawnFlyerArrivalActionUtility.DropTravelingTransportPods(pods, cell, mapParent.Map); + Messages.Message("MessageTransportPodsArrived".Translate(), lookTarget, MessageTypeDefOf.TaskCompletion); + } + } + + public static bool CanLandInSpecificCell(IEnumerable pods, MapParent mapParent) + { + if (mapParent == null || !mapParent.Spawned || !mapParent.HasMap) + { + return false; + } + + if (mapParent.EnterCooldownBlocksEntering()) + { + return FloatMenuAcceptanceReport.WithFailMessage( + "MessageEnterCooldownBlocksEntering".Translate(mapParent.EnterCooldownTicksLeft() + .ToStringTicksToPeriod())); + } + + return true; + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_Trade.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_Trade.cs new file mode 100644 index 0000000..9d39744 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_Trade.cs @@ -0,0 +1,101 @@ +// RimWorld.Planet.CaravanArrivalAction_Trade + +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_Trade : PawnFlyerArrivalAction_VisitSettlement +{ + public PawnFlyerArrivalAction_Trade() + { + } + + public PawnFlyerArrivalAction_Trade(Settlement settlement) + : base(settlement) + { + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + return CanTradeWith(pods, settlement); + } + + public override void Arrived(List pods, int tile) + { + Pawn pawn = null; + for (int i = 0; i < pods.Count; i++) + { + if (pawn != null) + { + break; + } + + foreach (Thing item in (IEnumerable)pods[i].GetDirectlyHeldThings()) + { + if (item is Pawn pawn2) + { + pawn = pawn2; + break; + } + } + } + + base.Arrived(pods, tile); + if (pawn != null) + { + Caravan caravan = pawn.GetCaravan(); + if (caravan != null && CaravanArrivalAction_Trade.HasNegotiator(caravan, settlement)) + { + CameraJumper.TryJumpAndSelect(caravan); + Pawn playerNegotiator = + BestCaravanPawnUtility.FindBestNegotiator(caravan, settlement.Faction, settlement.TraderKind); + Find.WindowStack.Add(new Dialog_Trade(playerNegotiator, settlement)); + } + } + } + + public static FloatMenuAcceptanceReport CanTradeWith(IEnumerable pods, Settlement settlement) + { + if (!TransportPodsArrivalAction_VisitSettlement.CanVisit(pods, settlement)) + { + return false; + } + + if (settlement.Faction == null || settlement.Faction == Faction.OfPlayer) + { + return false; + } + + bool flag = false; + foreach (IThingHolder pod in pods) + { + foreach (Thing item in (IEnumerable)pod.GetDirectlyHeldThings()) + { + if (item is Pawn pawn && pawn.RaceProps.Humanlike && + pawn.CanTradeWith(settlement.Faction, settlement.TraderKind).Accepted) + { + flag = true; + break; + } + } + + if (flag) + { + break; + } + } + + return flag && !settlement.HasMap && !settlement.Faction.def.permanentEnemy && + !settlement.Faction.HostileTo(Faction.OfPlayer) && settlement.CanTradeNow; + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_TransportShip.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_TransportShip.cs new file mode 100644 index 0000000..d9994b8 --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_TransportShip.cs @@ -0,0 +1,90 @@ +// RimWorld.PawnFlyerArrivalAction_TransportShip + +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_TransportShip : PawnFlyerArrivalAction +{ + public MapParent mapParent; + + public TransportShip transportShip; + + public IntVec3 cell = IntVec3.Invalid; + + public PawnFlyerArrivalAction_TransportShip() + { + } + + public PawnFlyerArrivalAction_TransportShip(MapParent mapParent, TransportShip transportShip) + { + this.mapParent = mapParent; + this.transportShip = transportShip; + } + + public override bool ShouldUseLongEvent(List pods, int tile) + { + return !mapParent.HasMap; + } + + public override void Arrived(List pods, int tile) + { + if (transportShip == null || transportShip.Disposed) + { + Log.Error("Trying to arrive in a null or disposed transport ship."); + return; + } + + bool flag = !mapParent.HasMap; + Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(tile, null); + if (!cell.IsValid) + { + cell = DropCellFinder.GetBestShuttleLandingSpot(orGenerateMap, Faction.OfPlayer); + } + + LookTargets lookTargets = new LookTargets(cell, orGenerateMap); + if (!cell.IsValid) + { + Log.Error("Could not find cell for transport ship arrival."); + return; + } + + if (orGenerateMap.Parent is Settlement settlement && settlement.Faction != Faction.OfPlayer) + { + TaggedString letterLabel = "LetterLabelCaravanEnteredEnemyBase".Translate(); //Translation: ok + TaggedString letterText = "PawnFlyer_LetterLandedInEnemyBase".Translate(transportShip.def.label.CapitalizeFirst(), settlement.Label).CapitalizeFirst(); + SettlementUtility.AffectRelationsOnAttacked(settlement, ref letterText); + if (flag) + { + Find.TickManager.Notify_GeneratedPotentiallyHostileMap(); + PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter(orGenerateMap.mapPawns.AllPawns, ref letterLabel, + ref letterText, + "LetterRelatedPawnsInMapWherePlayerLanded".Translate(Faction.OfPlayer.def.pawnsPlural), //Translation: ok + informEvenIfSeenBefore: true); + } + + Find.LetterStack.ReceiveLetter(letterLabel, letterText, LetterDefOf.NeutralEvent, lookTargets, + settlement.Faction); + } + + for (int i = 0; i < pods.Count; i++) + { + transportShip.TransporterComp.innerContainer.TryAddRangeOrTransfer(pods[i].innerContainer, + canMergeWithExistingStacks: true, destroyLeftover: true); + } + + transportShip.ArriveAt(cell, mapParent); + Messages.Message("MessageShuttleArrived".Translate(), lookTargets, MessageTypeDefOf.TaskCompletion); + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref transportShip, "transportShip"); + Scribe_References.Look(ref mapParent, "mapParent"); + Scribe_Values.Look(ref cell, "cell"); + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSettlement.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSettlement.cs new file mode 100644 index 0000000..f63fc9a --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSettlement.cs @@ -0,0 +1,65 @@ +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_VisitSettlement : PawnFlyerArrivalAction_FormCaravan +{ + protected Settlement settlement; + + public PawnFlyerArrivalAction_VisitSettlement() + { + } + + public PawnFlyerArrivalAction_VisitSettlement(Settlement settlement) + { + this.settlement = settlement; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref settlement, "settlement"); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (settlement != null && settlement.Tile != destinationTile) + { + return false; + } + + return CanVisit(pods, settlement); + } + + public static FloatMenuAcceptanceReport CanVisit(IEnumerable pods, Settlement settlement) + { + if (settlement == null || !settlement.Spawned || !settlement.Visitable) + { + return false; + } + + if (!PawnFlyerArrivalActionUtility.AnyPotentialCaravanOwner(pods, Faction.OfPlayer)) + { + return false; + } + + return true; + } + + public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, + IEnumerable pods, Settlement settlement) + { + return PawnFlyerArrivalActionUtility.GetFloatMenuOptions(() => CanVisit(pods, settlement), + () => new PawnFlyerArrivalAction_VisitSettlement(settlement), + "VisitSettlement".Translate(settlement.Label), representative, settlement.Tile); + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSite.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSite.cs new file mode 100644 index 0000000..cb3af2f --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerArrivalAction_VisitSite.cs @@ -0,0 +1,117 @@ +// RimWorld.Planet.TransportPodsArrivalAction_VisitSite + +using System.Collections.Generic; +using RimWorld; +using RimWorld.Planet; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyerArrivalAction_VisitSite : PawnFlyerArrivalAction +{ + private Site site; + + private PawnsArrivalModeDef arrivalMode; + + public PawnFlyerArrivalAction_VisitSite() + { + } + + public PawnFlyerArrivalAction_VisitSite(Site site, PawnsArrivalModeDef arrivalMode) + { + this.site = site; + this.arrivalMode = arrivalMode; + } + + public override void ExposeData() + { + base.ExposeData(); + Scribe_References.Look(ref site, "site"); + Scribe_Defs.Look(ref arrivalMode, "arrivalMode"); + } + + public override FloatMenuAcceptanceReport StillValid(IEnumerable pods, int destinationTile) + { + FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); + if (!floatMenuAcceptanceReport) + { + return floatMenuAcceptanceReport; + } + + if (site != null && site.Tile != destinationTile) + { + return false; + } + + return CanVisit(pods, site); + } + + public override bool ShouldUseLongEvent(List pods, int tile) + { + return !site.HasMap; + } + + public override void Arrived(List pods, int tile) + { + Thing lookTarget = PawnFlyerArrivalActionUtility.GetLookTarget(pods); + bool num = !site.HasMap; + Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(site.Tile, site.PreferredMapSize, null); + if (num) + { + Find.TickManager.Notify_GeneratedPotentiallyHostileMap(); + PawnRelationUtility.Notify_PawnsSeenByPlayer_Letter_Send(orGenerateMap.mapPawns.AllPawns, + "LetterRelatedPawnsInMapWherePlayerLanded".Translate(Faction.OfPlayer.def.pawnsPlural), + LetterDefOf.NeutralEvent, informEvenIfSeenBefore: true); + } + + if (site.Faction != null && site.Faction != Faction.OfPlayer) + { + Faction.OfPlayer.TryAffectGoodwillWith(site.Faction, Faction.OfPlayer.GoodwillToMakeHostile(site.Faction), + canSendMessage: true, canSendHostilityLetter: true, HistoryEventDefOf.AttackedSettlement); + } + + Messages.Message("MessageTransportPodsArrived".Translate(), lookTarget, MessageTypeDefOf.TaskCompletion); + arrivalMode.Worker.TravelingTransportPodsArrived(pods, orGenerateMap); + } + + public static FloatMenuAcceptanceReport CanVisit(IEnumerable pods, Site site) + { + if (site == null || !site.Spawned) + { + return false; + } + + if (!TransportPodsArrivalActionUtility.AnyNonDownedColonist(pods)) + { + return false; + } + + if (site.EnterCooldownBlocksEntering()) + { + return FloatMenuAcceptanceReport.WithFailMessage( + "MessageEnterCooldownBlocksEntering".Translate(site.EnterCooldownTicksLeft().ToStringTicksToPeriod())); + } + + return true; + } + + public static IEnumerable GetFloatMenuOptions(CompLaunchablePawn representative, + IEnumerable pods, Site site) + { + foreach (FloatMenuOption floatMenuOption in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => CanVisit(pods, site), + () => new PawnFlyerArrivalAction_VisitSite(site, PawnsArrivalModeDefOf.EdgeDrop), + "DropAtEdge".Translate(), representative, site.Tile)) + { + yield return floatMenuOption; + } + + foreach (FloatMenuOption floatMenuOption2 in PawnFlyerArrivalActionUtility.GetFloatMenuOptions( + () => CanVisit(pods, site), + () => new PawnFlyerArrivalAction_VisitSite(site, PawnsArrivalModeDefOf.CenterDrop), + "DropInCenter".Translate(), representative, site.Tile)) + { + yield return floatMenuOption2; + } + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyerDef.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyerDef.cs index 0ccffe6..6a511e9 100644 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyerDef.cs +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyerDef.cs @@ -15,8 +15,6 @@ public class PawnFlyerDef : ThingDef public ThingDef incomingDef; - public ThingDef landedDef; - public TaleDef landedTale; public SoundDef landingSound; diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyersCargo.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyersCargo.cs new file mode 100644 index 0000000..c56098e --- /dev/null +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyersCargo.cs @@ -0,0 +1,15 @@ +using RimWorld; +using Verse; + +namespace CultOfCthulhu; + +public class PawnFlyersCargo : ActiveDropPod +{ + public Pawn pawnFlyer; + + public override void ExposeData() + { + Scribe_References.Look(ref pawnFlyer, "pawnFlyer"); + base.ExposeData(); + } +} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyersIncoming.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyersIncoming.cs index bfb9401..9935f11 100644 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyersIncoming.cs +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyersIncoming.cs @@ -8,261 +8,57 @@ namespace CultOfCthulhu { - public class PawnFlyersIncoming : Thing, IActiveDropPod, IThingHolder + public class PawnFlyersIncoming : Skyfaller, IActiveDropPod, IThingHolder { - protected const int MinTicksToImpact = 120; - - protected const int MaxTicksToImpact = 200; - - protected const int RoofHitPreDelay = 15; - - private const int SoundAnticipationTicks = 100; - - private float angle; - - // RimWorld.Skyfaller - private Material cachedShadowMaterial; - - private ActiveDropPodInfo contents; - public PawnFlyer pawnFlyer; - - private bool soundPlayed; - - protected int ticksToImpact = 120; - - public override Vector3 DrawPos - { - get - { - //switch (this.def.skyfaller.movementType) - //{ - // case SkyfallerMovementType.Accelerate: - // result = SkyfallerDrawPosUtility.DrawPos_Accelerate(base.DrawPos, this.ticksToImpact, this.angle, this.def.skyfaller.speed); - // break; - // case SkyfallerMovementType.ConstantSpeed: - // result = SkyfallerDrawPosUtility.DrawPos_ConstantSpeed(base.DrawPos, this.ticksToImpact, this.angle, this.def.skyfaller.speed); - // break; - // case SkyfallerMovementType.Decelerate: - // result = SkyfallerDrawPosUtility.DrawPos_Decelerate(base.DrawPos, this.ticksToImpact, this.angle, this.def.skyfaller.speed); - // break; - // default: - // Log.ErrorOnce("SkyfallerMovementType not handled: " + this.def.skyfaller.movementType, this.thingIDNumber ^ 1948576711); - var result = SkyfallerDrawPosUtility.DrawPos_Accelerate(center: base.DrawPos, ticksToImpact: ticksToImpact, angle: angle, - speed: def.skyfaller.speed); - //break; - //} - return result; - //return DropPodAnimationUtility.DrawPosAt(this.ticksToImpact, base.Position); - } - } - - private PawnFlyerDef PawnFlyerDef => pawnFlyer.def as PawnFlyerDef; - - // RimWorld.Skyfaller - private Material ShadowMaterial - { - get - { - if (cachedShadowMaterial == null && !def.skyfaller.shadow.NullOrEmpty()) - { - cachedShadowMaterial = MaterialPool.MatFrom(texPath: def.skyfaller.shadow, shader: ShaderDatabase.Transparent); - } - - return cachedShadowMaterial; - } - } - public ActiveDropPodInfo Contents { - get => contents; - set - { - if (contents != null) - { - contents.parent = null; - } - - if (value != null) - { - value.parent = this; - } - - contents = value; - } - } - - public void GetChildHolders(List outChildren) - { - ThingOwnerUtility.AppendThingHoldersFromThings(outThingsHolders: outChildren, container: GetDirectlyHeldThings()); - } - - public ThingOwner GetDirectlyHeldThings() - { - return contents.innerContainer; - } - - public override void SpawnSetup(Map map, bool respawningAfterLoad) - { - base.SpawnSetup(map: map, respawningAfterLoad: respawningAfterLoad); - // RimWorld.Skyfaller - base.SpawnSetup(map: map, respawningAfterLoad: respawningAfterLoad); - if (respawningAfterLoad) - { - return; - } - - ticksToImpact = def.skyfaller.ticksToImpactRange.RandomInRange; - angle = -33.7f; - if (def.rotatable && this.TryGetInnerInteractableThingOwner().Any) - { - Rotation = this.TryGetInnerInteractableThingOwner()[index: 0].Rotation; - } - } - - public IntVec3 GetPosition() - { - return PositionHeld; - } - - public Map GetMap() - { - return MapHeld; - } - - public override void PostMake() - { - base.PostMake(); - ticksToImpact = Rand.RangeInclusive(min: 120, max: 200); - } - - public override void ExposeData() - { - base.ExposeData(); - //PawnFlyer - Scribe_References.Look(refee: ref pawnFlyer, label: "pawnFlyer"); - - //Vanilla - Scribe_Values.Look(value: ref ticksToImpact, label: "ticksToImpact"); - Scribe_Deep.Look(target: ref contents, label: "contents", this); - } - - public override void Tick() - { - ticksToImpact--; - if (ticksToImpact == 15) - { - HitRoof(); - } - - if (ticksToImpact <= 0) - { - Impact(); - } - - if (soundPlayed || ticksToImpact >= 100) - { - return; - } - - soundPlayed = true; - - - if (PawnFlyerDef.landingSound != null) - { - PawnFlyerDef.landingSound.PlayOneShot(info: new TargetInfo(cell: Position, map: Map)); - } - else - { - Log.Warning(text: "PawnFlyersIncoming :: Landing sound not set"); - } + get { return ((ActiveDropPod)this.innerContainer[0]).Contents; } + set { ((ActiveDropPod)this.innerContainer[0]).Contents = value; } } - private void HitRoof() + protected override void SpawnThings() { - if (!Position.Roofed(map: Map)) - { - return; - } - - RoofCollapserImmediate.DropRoofInCells(cells: this.OccupiedRect().ExpandedBy(dist: 1).Cells.Where(predicate: delegate(IntVec3 c) + if (this.Contents.spawnWipeMode == null) { - if (!c.InBounds(map: Map)) - { - return false; - } - - if (c == Position) - { - return true; - } - - if (Map.thingGrid.CellContains(c: c, cat: ThingCategory.Pawn)) + //Skyfaller.SpawnThings() + for (int i = this.innerContainer.Count - 1; i >= 0; i--) { - return false; + GenPlace.TryPlaceThing(this.innerContainer[i], base.Position, base.Map, ThingPlaceMode.Near, + delegate(Thing thing, int count) + { + if (thing is PawnFlyer pawnFlyer) + pawnFlyer.mindState.Active = true; + PawnUtility.RecoverFromUnwalkablePositionOrKill(thing.Position, thing.Map); + if (thing.def.Fillage == FillCategory.Full && this.def.skyfaller.CausesExplosion && + this.def.skyfaller.explosionDamage.isExplosive && + thing.Position.InHorDistOf(base.Position, this.def.skyfaller.explosionRadius)) + { + base.Map.terrainGrid.Notify_TerrainDestroyed(thing.Position); + } + }, null, this.innerContainer[i].def.defaultPlacingRot); + return; } - - var edifice = c.GetEdifice(map: Map); - return edifice == null || !edifice.def.holdsRoof; - }), map: Map); - } - - - public override void DrawAt(Vector3 drawLoc, bool flipped) - { - if (!drawLoc.InBounds(map: Map)) - { - return; } - pawnFlyer.Drawer.DrawAt(loc: drawLoc); - - var shadowMaterial = ShadowMaterial; - if (!(shadowMaterial == null)) + for (int i = this.innerContainer.Count - 1; i >= 0; i--) { - Skyfaller.DrawDropSpotShadow(center: base.DrawPos, rot: Rotation, material: shadowMaterial, shadowSize: def.skyfaller.shadowSize, - ticksToImpact: ticksToImpact); + GenSpawn.Spawn(this.innerContainer[i], base.Position, base.Map, this.Contents.spawnWipeMode.Value); + if (this.innerContainer[i] is PawnFlyer pawnFlyer) + pawnFlyer.mindState.Active = true; } - - //DropPodAnimationUtility.DrawDropSpotShadow(this, this.ticksToImpact); } - private void Impact() + protected override void Impact() { - Utility.DebugReport(x: "Impacted Called"); - for (var i = 0; i < 6; i++) + for (int i = 0; i < 6; i++) { - var loc = Position.ToVector3Shifted() + Gen.RandomHorizontalVector(max: 1f); - FleckMaker.ThrowDustPuff(loc: loc, map: Map, scale: 1.2f); - } - - FleckMaker.ThrowLightningGlow(loc: Position.ToVector3Shifted(), map: Map, size: 2f); - var pawnFlyerLanded = (PawnFlyersLanded) ThingMaker.MakeThing(def: PawnFlyerDef.landedDef); - pawnFlyerLanded.pawnFlyer = pawnFlyer; - pawnFlyerLanded.Contents = contents; - if (!pawnFlyerLanded.Contents.innerContainer.Contains(item: pawnFlyer)) - { - pawnFlyerLanded.Contents.innerContainer.TryAdd(item: pawnFlyer); - } - - GenSpawn.Spawn(newThing: pawnFlyerLanded, loc: Position, map: Map, rot: Rotation); - var roof = Position.GetRoof(map: Map); - if (roof != null) - { - if (!roof.soundPunchThrough.NullOrUndefined()) - { - roof.soundPunchThrough.PlayOneShot(info: new TargetInfo(cell: Position, map: Map)); - } - - if (roof.filthLeaving != null) - { - for (var j = 0; j < 3; j++) - { - FilthMaker.TryMakeFilth(c: Position, map: Map, filthDef: roof.filthLeaving); - } - } + FleckMaker.ThrowDustPuff(base.Position.ToVector3Shifted() + Gen.RandomHorizontalVector(1f), base.Map, + 1.2f); } - Destroy(); + FleckMaker.ThrowLightningGlow(base.Position.ToVector3Shifted(), base.Map, 2f); + GenClamor.DoClamor(this, 15f, ClamorDefOf.Impact); + base.Impact(); } } } \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyersLanded.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyersLanded.cs deleted file mode 100644 index 23e49f6..0000000 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyersLanded.cs +++ /dev/null @@ -1,195 +0,0 @@ -using System.Collections.Generic; -using Cthulhu; -using RimWorld; -using UnityEngine; -using Verse; -using Verse.Sound; - -namespace CultOfCthulhu -{ - public class PawnFlyersLanded : Thing, IActiveDropPod, IThingHolder - { - public int age; - - private ActiveDropPodInfo contents; - - public PawnFlyer pawnFlyer; - - public PawnFlyerDef PawnFlyerDef => pawnFlyer.def as PawnFlyerDef; - - public void GetChildHolders(List outChildren) - { - ThingOwnerUtility.AppendThingHoldersFromThings(outThingsHolders: outChildren, container: GetDirectlyHeldThings()); - if (contents != null) - { - outChildren.Add(item: contents); - } - } - - public ThingOwner GetDirectlyHeldThings() - { - return null; - } - - public ActiveDropPodInfo Contents - { - get => contents; - set - { - if (contents != null) - { - contents.parent = null; - } - - if (value != null) - { - value.parent = this; - } - - contents = value; - } - } - - public override void ExposeData() - { - base.ExposeData(); - //Pawn - Scribe_References.Look(refee: ref pawnFlyer, label: "pawnFlyer"); - - //Vanilla - Scribe_Values.Look(value: ref age, label: "age"); - Scribe_Deep.Look(target: ref contents, label: "contents", this); - } - - public IntVec3 GetPosition() - { - return PositionHeld; - } - - public Map GetMap() - { - return MapHeld; - } - - public override void DrawAt(Vector3 drawLoc, bool flipped) - { - if (drawLoc.InBounds(map: Map)) - { - pawnFlyer?.Drawer?.DrawAt(loc: drawLoc); - } - } - - public override void Tick() - { - age++; - if (contents != null && (int) contents?.openDelay > -1 && age > contents.openDelay) - { - DismountAll(); - } - } - - public override void Destroy(DestroyMode mode = DestroyMode.Vanish) - { - contents?.innerContainer?.ClearAndDestroyContents(); - var map = Map; - base.Destroy(mode: mode); - if (mode != DestroyMode.KillFinalize) - { - return; - } - - for (var i = 0; i < 1; i++) - { - var thing = ThingMaker.MakeThing(def: ThingDefOf.ChunkSlagSteel); - GenPlace.TryPlaceThing(thing: thing, center: Position, map: map, mode: ThingPlaceMode.Near); - } - } - - private void DismountAll() - { - if (!pawnFlyer.Spawned) - { - if (pawnFlyer.Destroyed) - { - GenSpawn.Spawn(newThing: pawnFlyer, loc: Position, map: Map, rot: Rot4.Random); - - Utility.DebugReport(x: "Spawned Destroyed PawnFlyer: " + pawnFlyer.Label); - } - else - { - GenPlace.TryPlaceThing(thing: pawnFlyer, center: Position, map: Map, mode: ThingPlaceMode.Near, lastResultingThing: out _, - placedAction: delegate { Utility.DebugReport(x: "Successfully Spawned: " + pawnFlyer.Label); }); - } - } - - foreach (var thing in contents.innerContainer.InRandomOrder()) - { - //Log.Message("1"); - if (thing.Spawned) - { - continue; //Avoid errors. We already spawned our pawnFlyer. - } - //Log.Message("2"); - - //this.contents.innerContainer.TryDrop(thing, ThingPlaceMode.Near, out thing2); - - GenPlace.TryPlaceThing(thing: thing, center: Position, map: Map, mode: ThingPlaceMode.Near, lastResultingThing: out var thing2, - placedAction: delegate(Thing placedThing, int _) - { - //Log.Message("3"); - - if (Find.TickManager.TicksGame < 1200 && TutorSystem.TutorialMode && - placedThing.def.category == ThingCategory.Item) - { - Find.TutorialState.AddStartingItem(t: placedThing); - } - }); - //Log.Message("4"); - - if (thing2 is not Pawn pawn) - { - continue; - } - //Log.Message("5"); - - //if (!pawn.IsPrisoner) - //{ - // if (pawn.Faction != pawnFlyer.Faction) - // pawn.SetFaction(pawnFlyer.Faction); - //} - if (pawn.RaceProps.Humanlike) - { - if (PawnFlyerDef.landedTale != null) - { - TaleRecorder.RecordTale(def: PawnFlyerDef.landedTale, pawn); - } - } - - if (pawn.IsColonist && pawn.Spawned && !Map.IsPlayerHome) - { - pawn.drafter.Drafted = true; - } - } - - if (contents.leaveSlag) - { - for (var j = 0; j < 1; j++) - { - var thing3 = ThingMaker.MakeThing(def: ThingDefOf.ChunkSlagSteel); - GenPlace.TryPlaceThing(thing: thing3, center: Position, map: Map, mode: ThingPlaceMode.Near); - } - } - - if (PawnFlyerDef.dismountSound != null) - { - PawnFlyerDef.dismountSound.PlayOneShot(info: new TargetInfo(cell: Position, map: Map)); - } - else - { - Log.Warning(text: "PawnFlyersLanded :: Dismount sound not set"); - } - - Destroy(); - } - } -} \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyersLeaving.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyersLeaving.cs index 04118eb..05c4b6c 100644 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyersLeaving.cs +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyersLeaving.cs @@ -9,227 +9,100 @@ namespace CultOfCthulhu { - public class PawnFlyersLeaving : Thing, IActiveDropPod, IThingHolder + public class PawnFlyersLeaving : Skyfaller, IActiveDropPod, IThingHolder { - private const int MinTicksSinceStart = -40; - - private const int MaxTicksSinceStart = -15; - - private const int TicksSinceStartToPlaySound = -10; - - private const int LeaveMapAfterTicks = 220; - - private static readonly List tmpActiveDropPods = new List(); - - private bool alreadyLeft; - - public PawnsArrivalModeDef arriveMode; - - public bool attackOnArrival; - - // RimWorld.Skyfaller - private Material cachedShadowMaterial; - - private ActiveDropPodInfo contents; - - public IntVec3 destinationCell = IntVec3.Invalid; - - public int destinationTile = -1; - public int groupID = -1; - public PawnFlyer pawnFlyer; - private bool soundPlayed; - - private int ticksSinceStart; - - private PawnFlyerDef PawnFlyerDef => pawnFlyer.def as PawnFlyerDef; + public int destinationTile = -1; - public override Vector3 DrawPos => - SkyfallerDrawPosUtility.DrawPos_Accelerate(center: base.DrawPos, ticksToImpact: ticksSinceStart, angle: -33f, - speed: def.skyfaller.speed); //return DropPodAnimationUtility.DrawPosAt(this.ticksSinceStart, base.Position); + public PawnFlyerArrivalAction arrivalAction; - // RimWorld.Skyfaller - private Material ShadowMaterial - { - get - { - if (cachedShadowMaterial == null && !def.skyfaller.shadow.NullOrEmpty()) - { - cachedShadowMaterial = MaterialPool.MatFrom(texPath: def.skyfaller.shadow, shader: ShaderDatabase.Transparent); - } + public bool createWorldObject = true; - return cachedShadowMaterial; - } - } + public WorldObjectDef worldObjectDef; - public void GetChildHolders(List outChildren) - { - ThingOwnerUtility.AppendThingHoldersFromThings(outThingsHolders: outChildren, container: GetDirectlyHeldThings()); - } + private bool alreadyLeft; - public ThingOwner GetDirectlyHeldThings() - { - return contents.innerContainer; - } + private static List tmpActivePawnFlyers = new List(); public ActiveDropPodInfo Contents { - get => contents; - set - { - if (contents != null) - { - contents.parent = null; - } - - if (value != null) - { - value.parent = this; - } - - contents = value; - } - } - - public IntVec3 GetPosition() - { - return PositionHeld; - } - - public Map GetMap() - { - return MapHeld; - } - - public override void PostMake() - { - base.PostMake(); - ticksSinceStart = Rand.RangeInclusive(min: -40, max: -15); + get { return ((ActiveDropPod)innerContainer[0]).Contents; } + set { ((ActiveDropPod)innerContainer[0]).Contents = value; } } public override void ExposeData() { base.ExposeData(); - - //PawnFlyer - Scribe_References.Look(refee: ref pawnFlyer, label: "pawnFlyer"); - - //Vanilla - Scribe_Values.Look(value: ref groupID, label: "groupID"); - Scribe_Values.Look(value: ref destinationTile, label: "destinationTile"); - Scribe_Values.Look(value: ref destinationCell, label: "destinationCell"); - Scribe_Values.Look(value: ref arriveMode, label: "arriveMode", defaultValue: PawnsArrivalModeDefOf.EdgeDrop); - Scribe_Values.Look(value: ref attackOnArrival, label: "attackOnArrival"); - Scribe_Values.Look(value: ref ticksSinceStart, label: "ticksSinceStart"); - Scribe_Deep.Look(target: ref contents, label: "contents", this); - Scribe_Values.Look(value: ref alreadyLeft, label: "alreadyLeft"); - Scribe_Values.Look(value: ref soundPlayed, label: "soundPlayed"); + Scribe_Values.Look(ref groupID, "groupID", 0); + Scribe_Values.Look(ref destinationTile, "destinationTile", 0); + Scribe_Deep.Look(ref arrivalAction, "arrivalAction"); + Scribe_Values.Look(ref alreadyLeft, "alreadyLeft", defaultValue: false); + Scribe_Values.Look(ref createWorldObject, "createWorldObject", defaultValue: true); + Scribe_Defs.Look(ref worldObjectDef, "worldObjectDef"); } - public override void Tick() + protected override void LeaveMap() { - if (!soundPlayed && ticksSinceStart >= -10) + if (alreadyLeft || !createWorldObject) { - if (PawnFlyerDef.takeOffSound != null) - { - PawnFlyerDef.takeOffSound.PlayOneShot(info: new TargetInfo(cell: Position, map: Map)); - } - else + if (Contents != null) { - Log.Warning(text: "PawnFlyersLeaving :: Take off sound not set"); + foreach (Thing item in (IEnumerable)Contents.innerContainer) + { + if (item is Pawn pawn) + { + pawn.ExitMap(allowedToJoinOrCreateCaravan: false, Rot4.Invalid); + } + } + + Contents.innerContainer.ClearAndDestroyContentsOrPassToWorld(DestroyMode.QuestLogic); } - soundPlayed = true; - } - - ticksSinceStart++; - if (!alreadyLeft && ticksSinceStart >= 220) - { - GroupLeftMap(); - } - } - - public override void DrawAt(Vector3 drawLoc, bool flip) - { - if (!drawLoc.InBounds(map: Map)) - { + base.LeaveMap(); return; } - pawnFlyer.Drawer.DrawAt(loc: drawLoc); - var shadowMaterial = ShadowMaterial; - if (!(shadowMaterial == null)) - { - Skyfaller.DrawDropSpotShadow(center: base.DrawPos, rot: Rotation, material: shadowMaterial, shadowSize: def.skyfaller.shadowSize, - ticksToImpact: ticksSinceStart); - } - - //DropPodAnimationUtility.DrawDropSpotShadow(this, this.ticksSinceStart); - } - - private void GroupLeftMap() - { if (groupID < 0) { - Log.Error(text: "Drop pod left the map, but its group ID is " + groupID); + Log.Error("Drop pod left the map, but its group ID is " + groupID); Destroy(); return; } if (destinationTile < 0) { - Log.Error(text: "Drop pod left the map, but its destination tile is " + destinationTile); + Log.Error("Drop pod left the map, but its destination tile is " + destinationTile); Destroy(); return; } - var lord = FindLord(transportersGroup: groupID, map: Map); + Lord lord = TransporterUtility.FindLord(groupID, base.Map); if (lord != null) { - Map.lordManager.RemoveLord(oldLord: lord); + base.Map.lordManager.RemoveLord(lord); } - var PawnFlyersTraveling = (PawnFlyersTraveling) WorldObjectMaker.MakeWorldObject(def: PawnFlyerDef.travelingDef); - PawnFlyersTraveling.pawnFlyer = pawnFlyer; - PawnFlyersTraveling.Tile = Map.Tile; - PawnFlyersTraveling.destinationTile = destinationTile; - PawnFlyersTraveling.destinationCell = destinationCell; - PawnFlyersTraveling.arriveMode = arriveMode; - PawnFlyersTraveling.attackOnArrival = attackOnArrival; - Find.WorldObjects.Add(o: PawnFlyersTraveling); - tmpActiveDropPods.Clear(); - tmpActiveDropPods.AddRange(collection: Map.listerThings.ThingsInGroup(@group: ThingRequestGroup.ActiveDropPod)); - - foreach (var thing in tmpActiveDropPods) + PawnFlyersTraveling travelingPawnFlyers = + (PawnFlyersTraveling)WorldObjectMaker.MakeWorldObject(worldObjectDef ?? + WorldObjectDefOf.TravelingTransportPods); + travelingPawnFlyers.Tile = base.Map.Tile; + travelingPawnFlyers.SetFaction(Faction.OfPlayer); + travelingPawnFlyers.destinationTile = destinationTile; + travelingPawnFlyers.arrivalAction = arrivalAction; + Find.WorldObjects.Add(travelingPawnFlyers); + tmpActivePawnFlyers.Clear(); + tmpActivePawnFlyers.AddRange(base.Map.listerThings.ThingsInGroup(ThingRequestGroup.ActiveDropPod)); + for (int i = 0; i < tmpActivePawnFlyers.Count; i++) { - if (thing is not PawnFlyersLeaving pawnFlyerLeaving || pawnFlyerLeaving.groupID != groupID) + if (tmpActivePawnFlyers[i] is PawnFlyersLeaving flyShipLeaving && flyShipLeaving.groupID == groupID) { - continue; + flyShipLeaving.alreadyLeft = true; + travelingPawnFlyers.AddPod(flyShipLeaving.Contents, justLeftTheMap: true); + flyShipLeaving.Contents = null; + flyShipLeaving.Destroy(); } - - Utility.DebugReport(x: "Transport Already Left"); - pawnFlyerLeaving.alreadyLeft = true; - PawnFlyersTraveling.AddPod(contents: pawnFlyerLeaving.contents, justLeftTheMap: true); - pawnFlyerLeaving.contents = null; - pawnFlyerLeaving.Destroy(); } } - - // RimWorld.TransporterUtility - public static Lord FindLord(int transportersGroup, Map map) - { - var lords = map.lordManager.lords; - foreach (var findLord in lords) - { - if (findLord.LordJob is LordJob_LoadAndEnterTransportersPawn lordJob_LoadAndEnterTransporters && - lordJob_LoadAndEnterTransporters.transportersGroup == transportersGroup) - { - return findLord; - } - } - - return null; - } } } \ No newline at end of file diff --git a/Source/Code/NewSystems/PawnFlyer/PawnFlyersTraveling.cs b/Source/Code/NewSystems/PawnFlyer/PawnFlyersTraveling.cs index d3265a0..a72d47e 100644 --- a/Source/Code/NewSystems/PawnFlyer/PawnFlyersTraveling.cs +++ b/Source/Code/NewSystems/PawnFlyer/PawnFlyersTraveling.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Linq; using Cthulhu; using RimWorld; using RimWorld.Planet; @@ -7,67 +9,105 @@ namespace CultOfCthulhu { - public class PawnFlyersTraveling : WorldObject + public class PawnFlyersTraveling : WorldObject, IThingHolder { - private static readonly List tmpPawns = new List(); + public int destinationTile = -1; - private bool arrived; + public PawnFlyerArrivalAction arrivalAction; - public PawnsArrivalModeDef arriveMode; + private List pods = new List(); - public bool attackOnArrival; + private bool arrived; - public IntVec3 destinationCell = IntVec3.Invalid; + private int initialTile = -1; + private float traveledPct; - public int destinationTile = -1; + private const float TravelSpeed = 0.00025f; - private int initialTile = -1; - public PawnFlyer pawnFlyer; + public bool IsPlayerControlled => base.Faction == Faction.OfPlayer; - private List pods = new List(); + private Vector3 Start => Find.WorldGrid.GetTileCenter(initialTile); - private float traveledPct; + private Vector3 End => Find.WorldGrid.GetTileCenter(destinationTile); - private float TravelSpeed => PawnFlyerDef.flightSpeed; + public override Vector3 DrawPos => Vector3.Slerp(Start, End, traveledPct); - private PawnFlyerDef PawnFlyerDef => pawnFlyer.def as PawnFlyerDef; + public override bool ExpandingIconFlipHorizontal => + GenWorldUI.WorldToUIPosition(Start).x > GenWorldUI.WorldToUIPosition(End).x; - private Vector3 Start => Find.WorldGrid.GetTileCenter(tileID: initialTile); + public override float ExpandingIconRotation + { + get + { + if (!def.rotateGraphicWhenTraveling) + { + return base.ExpandingIconRotation; + } - private Vector3 End => Find.WorldGrid.GetTileCenter(tileID: destinationTile); + Vector2 vector = GenWorldUI.WorldToUIPosition(Start); + Vector2 vector2 = GenWorldUI.WorldToUIPosition(End); + float num = Mathf.Atan2(vector2.y - vector.y, vector2.x - vector.x) * 57.29578f; + if (num > 180f) + { + num -= 180f; + } - public override Vector3 DrawPos => Vector3.Slerp(a: Start, b: End, t: traveledPct); + return num + 90f; + } + } private float TraveledPctStepPerTick { get { - var start = Start; - var end = End; + Vector3 start = Start; + Vector3 end = End; if (start == end) { return 1f; } - var num = GenMath.SphericalDistance(normalizedA: start.normalized, normalizedB: end.normalized); - return num == 0f ? 1f : 0.00025f / num; + float num = GenMath.SphericalDistance(start.normalized, end.normalized); + if (num == 0f) + { + return 1f; + } + + return 0.00025f / num; } } - //There is always the byakhee - private bool PodsHaveAnyPotentialCaravanOwner => true; + private bool PodsHaveAnyPotentialCaravanOwner + { + get + { + for (int i = 0; i < pods.Count; i++) + { + ThingOwner innerContainer = pods[i].innerContainer; + for (int j = 0; j < innerContainer.Count; j++) + { + if (innerContainer[j] is Pawn pawn && CaravanUtility.IsOwner(pawn, base.Faction)) + { + return true; + } + } + } + + return false; + } + } public bool PodsHaveAnyFreeColonist { get { - foreach (var activeDropPodInfo in pods) + for (int i = 0; i < pods.Count; i++) { - var innerContainer = activeDropPodInfo.innerContainer; - foreach (var thing in innerContainer) + ThingOwner innerContainer = pods[i].innerContainer; + for (int j = 0; j < innerContainer.Count; j++) { - if (thing is Pawn {IsColonist: true, HostFaction: null}) + if (innerContainer[j] is Pawn pawn && pawn.IsColonist && pawn.HostFaction == null) { return true; } @@ -82,12 +122,12 @@ public IEnumerable Pawns { get { - foreach (var activeDropPodInfo in pods) + for (int i = 0; i < pods.Count; i++) { - var innerContainer = activeDropPodInfo.innerContainer; - foreach (var thing in innerContainer) + ThingOwner things = pods[i].innerContainer; + for (int j = 0; j < things.Count; j++) { - if (thing is Pawn pawn) + if (things[j] is Pawn pawn) { yield return pawn; } @@ -99,83 +139,62 @@ public IEnumerable Pawns public override void ExposeData() { base.ExposeData(); - //Pawn - Scribe_References.Look(refee: ref pawnFlyer, label: "pawnFlyer"); - - //Vanilla - Scribe_Collections.Look(list: ref pods, label: "pods", lookMode: LookMode.Deep); - Scribe_Values.Look(value: ref destinationTile, label: "destinationTile"); - Scribe_Values.Look(value: ref destinationCell, label: "destinationCell"); - Scribe_Values.Look(value: ref arriveMode, label: "arriveMode", defaultValue: PawnsArrivalModeDefOf.EdgeDrop); - Scribe_Values.Look(value: ref attackOnArrival, label: "attackOnArrival"); - Scribe_Values.Look(value: ref arrived, label: "arrived"); - Scribe_Values.Look(value: ref initialTile, label: "initialTile"); - Scribe_Values.Look(value: ref traveledPct, label: "traveledPct"); + Scribe_Collections.Look(ref pods, "pods", LookMode.Deep); + Scribe_Values.Look(ref destinationTile, "destinationTile", 0); + Scribe_Deep.Look(ref arrivalAction, "arrivalAction"); + Scribe_Values.Look(ref arrived, "arrived", defaultValue: false); + Scribe_Values.Look(ref initialTile, "initialTile", 0); + Scribe_Values.Look(ref traveledPct, "traveledPct", 0f); + if (Scribe.mode == LoadSaveMode.PostLoadInit) + { + for (int i = 0; i < pods.Count; i++) + { + pods[i].parent = this; + } + } } public override void PostAdd() { base.PostAdd(); - initialTile = Tile; + initialTile = base.Tile; } public override void Tick() { base.Tick(); traveledPct += TraveledPctStepPerTick; - if (!(traveledPct >= 1f)) + if (traveledPct >= 1f) { - return; + traveledPct = 1f; + Arrived(); } - - traveledPct = 1f; - Arrived(); } public void AddPod(ActiveDropPodInfo contents, bool justLeftTheMap) { - contents.parent = null; - pods.Add(item: contents); - var innerContainer = contents.innerContainer; - foreach (var thing in innerContainer) + contents.parent = this; + pods.Add(contents); + ThingOwner innerContainer = contents.innerContainer; + for (int i = 0; i < innerContainer.Count; i++) { - if (thing is Pawn pawn && !pawn.IsWorldPawn()) + if (innerContainer[i] is Pawn pawn && !pawn.IsWorldPawn()) { - if (!Spawned) + if (!base.Spawned) { - Log.Warning(text: "Passing pawn " + pawn + - " to world, but the TravelingTransportPod is not spawned. This means that WorldPawns can discard this pawn which can cause bugs."); + Log.Warning(string.Concat("Passing pawn ", pawn, + " to world, but the TravelingTransportPod is not spawned. This means that WorldPawns can discard this pawn which can cause bugs.")); } if (justLeftTheMap) { - pawn.ExitMap(allowedToJoinOrCreateCaravan: false, exitDir: Rot4.Random); + pawn.ExitMap(allowedToJoinOrCreateCaravan: false, Rot4.Invalid); } else { - Find.WorldPawns.PassToWorld(pawn: pawn); + Find.WorldPawns.PassToWorld(pawn); } } - - if (thing is not PawnFlyer flyer || flyer.IsWorldPawn()) - { - continue; - } - - if (!Spawned) - { - Log.Warning(text: "Passing pawn " + flyer + - " to world, but the TravelingTransportPod is not spawned. This means that WorldPawns can discard this pawn which can cause bugs."); - } - - if (justLeftTheMap) - { - flyer.ExitMap(allowedToJoinOrCreateCaravan: false, exitDir: Rot4.Random); - } - else - { - Find.WorldPawns.PassToWorld(pawn: flyer); - } } contents.savePawnsWithReferenceMode = true; @@ -183,22 +202,9 @@ public void AddPod(ActiveDropPodInfo contents, bool justLeftTheMap) public bool ContainsPawn(Pawn p) { - foreach (var activeDropPodInfo in pods) + for (int i = 0; i < pods.Count; i++) { - if (activeDropPodInfo.innerContainer.Contains(item: p)) - { - return true; - } - } - - return false; - } - - public bool ContainsPawnFlyer(PawnFlyer p) - { - foreach (var activeDropPodInfo in pods) - { - if (activeDropPodInfo.innerContainer.Contains(item: p)) + if (pods[i].innerContainer.Contains(p)) { return true; } @@ -209,240 +215,160 @@ public bool ContainsPawnFlyer(PawnFlyer p) private void Arrived() { - Utility.DebugReport(x: "Arrived"); if (arrived) { return; } arrived = true; - var map = Current.Game.FindMap(tile: destinationTile); - if (map != null) - { - SpawnDropPodsInMap(map: map); - } - else if (!PodsHaveAnyPotentialCaravanOwner) + if (arrivalAction == null || !arrivalAction.StillValid(pods.Cast(), destinationTile)) { - var caravan = Find.WorldObjects.PlayerControlledCaravanAt(tile: destinationTile); - if (caravan != null) - { - GivePodContentsToCaravan(caravan: caravan); - } - else + arrivalAction = null; + List maps = Find.Maps; + for (int i = 0; i < maps.Count; i++) { - foreach (var activeDropPodInfo in pods) + if (maps[i].Tile == destinationTile) { - activeDropPodInfo.innerContainer.ClearAndDestroyContentsOrPassToWorld(); + arrivalAction = new PawnFlyerArrivalAction_LandInSpecificCell(maps[i].Parent, + DropCellFinder.RandomDropSpot(maps[i])); + break; } - - RemoveAllPods(); - Find.WorldObjects.Remove(o: this); - Messages.Message(text: "MessageTransportPodsArrivedAndLost".Translate(), - lookTargets: new GlobalTargetInfo(tile: destinationTile), def: MessageTypeDefOf.NegativeEvent); } - } - else - { - var mapParent = Find.WorldObjects.MapParentAt(tile: destinationTile); - if (mapParent != null && attackOnArrival) + + if (arrivalAction == null) { - LongEventHandler.QueueLongEvent(action: delegate + if (TransportPodsArrivalAction_FormCaravan.CanFormCaravanAt(pods.Cast(), + destinationTile)) { - var unused = GetOrGenerateMapUtility.GetOrGenerateMap(tile: mapParent.Tile, suggestedMapParentDef: null); - string extraMessagePart = null; - if (!mapParent.Faction.HostileTo(other: Faction.OfPlayer)) + arrivalAction = new PawnFlyerArrivalAction_FormCaravan(); + } + else + { + List caravans = Find.WorldObjects.Caravans; + for (int j = 0; j < caravans.Count; j++) { - mapParent.Faction.SetRelationDirect(other: Faction.OfPlayer, kind: FactionRelationKind.Hostile, canSendHostilityLetter: false); - //mapParent.Faction.SetHostileTo(Faction.OfPlayer, true); - extraMessagePart = "MessageTransportPodsArrived_BecameHostile".Translate( - arg1: mapParent.Faction.Name - ).CapitalizeFirst(); + if (caravans[j].Tile == destinationTile && + (bool)PawnFlyerArrivalAction_GiveToCaravan.CanGiveTo(pods.Cast(), + caravans[j])) + { + arrivalAction = new PawnFlyerArrivalAction_GiveToCaravan(caravans[j]); + break; + } } - - Find.TickManager.CurTimeSpeed = TimeSpeed.Paused; - SpawnDropPodsInMap(map: mapParent.Map, extraMessagePart: extraMessagePart); - }, textKey: "GeneratingMapForNewEncounter", doAsynchronously: false, exceptionHandler: null); - } - else - { - SpawnCaravanAtDestinationTile(); + } } } - } - private void SpawnDropPodsInMap(Map map, string extraMessagePart = null) - { - Utility.DebugReport(x: "SpawnDropPodsInMap Called"); - RemoveAllPawnsFromWorldPawns(); - IntVec3 intVec; - if (destinationCell.IsValid && destinationCell.InBounds(map: map)) + if (arrivalAction != null && arrivalAction.ShouldUseLongEvent(pods, destinationTile)) { - intVec = destinationCell; - } - else if (arriveMode == PawnsArrivalModeDefOf.CenterDrop) - { - if (!DropCellFinder.TryFindRaidDropCenterClose(spot: out intVec, map: map)) - { - intVec = DropCellFinder.FindRaidDropCenterDistant(map: map); - } + LongEventHandler.QueueLongEvent(delegate { DoArrivalAction(); }, "GeneratingMapForNewEncounter", + doAsynchronously: false, null); } else { - if (arriveMode != PawnsArrivalModeDefOf.EdgeDrop && arriveMode != PawnsArrivalModeDefOf.EdgeDrop) - { - Log.Warning(text: "Unsupported arrive mode " + arriveMode); - } - - intVec = DropCellFinder.FindRaidDropCenterDistant(map: map); + DoArrivalAction(); } + } - foreach (var activeDropPodInfo in pods) + private void DoArrivalAction() + { + for (int i = 0; i < pods.Count; i++) { - Utility.DebugReport(x: "PawnFlyerIncoming Generation Started"); - DropCellFinder.TryFindDropSpotNear(center: intVec, map: map, result: out var c, allowFogged: false, canRoofPunch: true); - var pawnFlyerIncoming = - (PawnFlyersIncoming) ThingMaker.MakeThing(def: PawnFlyerDef.incomingDef); - pawnFlyerIncoming.pawnFlyer = pawnFlyer; - pawnFlyerIncoming.Contents = activeDropPodInfo; - GenSpawn.Spawn(newThing: pawnFlyerIncoming, loc: c, map: map); + pods[i].savePawnsWithReferenceMode = false; + pods[i].parent = null; } - RemoveAllPods(); - Find.WorldObjects.Remove(o: this); - string text = "MessageTransportPodsArrived".Translate(); - if (extraMessagePart != null) + if (arrivalAction != null) { - text = text + " " + extraMessagePart; - } - - Messages.Message(text: text, lookTargets: new TargetInfo(cell: intVec, map: map), def: MessageTypeDefOf.PositiveEvent); - } + try + { + arrivalAction.Arrived(pods, destinationTile); + } + catch (Exception ex) + { + Log.Error("Exception in transport pods arrival action: " + ex); + } - private void GivePodContentsToCaravan(Caravan caravan) - { - foreach (var activeDropPodInfo in pods) + arrivalAction = null; + } + else { - var tmpContainedThings = new List(); - //PawnFlyersTraveling.tmpContainedThing.Clear(); - - tmpContainedThings.AddRange(collection: activeDropPodInfo.innerContainer); - //this.pods[i].innerContainer. - foreach (var thing in tmpContainedThings) + for (int j = 0; j < pods.Count; j++) { - activeDropPodInfo.innerContainer.Remove(item: thing); - thing.holdingOwner = null; - if (thing is Pawn pawn) + for (int k = 0; k < pods[j].innerContainer.Count; k++) { - caravan.AddPawn(p: pawn, addCarriedPawnToWorldPawnsIfAny: true); + if (pods[j].innerContainer[k] is Pawn pawn && + (pawn.Faction == Faction.OfPlayer || pawn.HostFaction == Faction.OfPlayer)) + { + PawnBanishUtility.Banish(pawn, destinationTile); + } } - else + } + + bool flag = true; + if (ModsConfig.BiotechActive) + { + flag = false; + for (int l = 0; l < pods.Count; l++) { - var pawn2 = CaravanInventoryUtility.FindPawnToMoveInventoryTo(item: thing, - candidates: caravan.PawnsListForReading, ignoreCandidates: null); - var flag = false; - if (pawn2 != null) + if (flag) { - flag = pawn2.inventory.innerContainer.TryAdd(item: thing); + break; } - if (!flag) + for (int m = 0; m < pods[l].innerContainer.Count; m++) { - thing.Destroy(); + if (pods[l].innerContainer[m].def != ThingDefOf.Wastepack) + { + flag = true; + break; + } } } } - } - RemoveAllPods(); - Find.WorldObjects.Remove(o: this); - Messages.Message(text: "MessageTransportPodsArrivedAndAddedToCaravan".Translate(), lookTargets: caravan, - def: MessageTypeDefOf.PositiveEvent); - } - - - private void SpawnCaravanAtDestinationTile() - { - tmpPawns.Clear(); - foreach (var activeDropPodInfo in pods) - { - var innerContainer = activeDropPodInfo.innerContainer; - foreach (var thing in innerContainer) + for (int n = 0; n < pods.Count; n++) { - if (thing is Pawn pawn) + for (int num = 0; num < pods[n].innerContainer.Count; num++) { - tmpPawns.Add(item: pawn); + pods[n].innerContainer[num].Notify_AbandonedAtTile(destinationTile); } } - } - if (!GenWorldClosest.TryFindClosestPassableTile(rootTile: destinationTile, foundTile: out var startingTile)) - { - startingTile = destinationTile; - } + for (int num2 = 0; num2 < pods.Count; num2++) + { + pods[num2].innerContainer.ClearAndDestroyContentsOrPassToWorld(); + } - var o = CaravanMaker.MakeCaravan(pawns: tmpPawns, faction: Faction.OfPlayer, startingTile: startingTile, addToWorldPawnsIfNotAlready: true); - o.AddPawn(p: pawnFlyer, addCarriedPawnToWorldPawnsIfAny: false); - foreach (var activeDropPodInfo in pods) - { - var innerContainer2 = activeDropPodInfo.innerContainer; - foreach (var thing in innerContainer2) + if (flag) { - if (!(thing is Pawn)) + string key = "PawnFlyer_MessageArrivedAndLost"; + if (def == WorldObjectDefOf.TravelingShuttle) { - var pawn2 = CaravanInventoryUtility.FindPawnToMoveInventoryTo(item: thing, - candidates: tmpPawns, ignoreCandidates: null); - pawn2.inventory.innerContainer.TryAdd(item: thing); + key = "PawnFlyer_MessageArrivedAndLost"; } - else - { - var pawn3 = thing as Pawn; - if (pawn3.IsPrisoner) - { - continue; - } - if (pawn3.Faction != pawnFlyer.Faction) - { - pawn3.SetFaction(newFaction: pawnFlyer.Faction); - } - } + Messages.Message(key.Translate(), new GlobalTargetInfo(destinationTile), + MessageTypeDefOf.NegativeEvent); } } - RemoveAllPods(); - Find.WorldObjects.Remove(o: this); - Messages.Message(text: "MessageTransportPodsArrived".Translate(), lookTargets: o, def: MessageTypeDefOf.PositiveEvent); + pods.Clear(); + Destroy(); } - private void RemoveAllPawnsFromWorldPawns() + public ThingOwner GetDirectlyHeldThings() { - foreach (var activeDropPodInfo in pods) - { - var innerContainer = activeDropPodInfo.innerContainer; - foreach (var thing in innerContainer) - { - var pawn = thing as Pawn; - Pawn flyer = thing as PawnFlyer; - if (pawn != null && pawn.IsWorldPawn()) - { - Find.WorldPawns.RemovePawn(p: pawn); - } - else if (flyer != null && pawn.IsWorldPawn()) - { - Find.WorldPawns.RemovePawn(p: flyer); - } - } - } + return null; } - private void RemoveAllPods() + public void GetChildHolders(List outChildren) { - foreach (var activeDropPodInfo in pods) + ThingOwnerUtility.AppendThingHoldersFromThings(outChildren, GetDirectlyHeldThings()); + for (int i = 0; i < pods.Count; i++) { - activeDropPodInfo.savePawnsWithReferenceMode = false; + outChildren.Add(pods[i]); } - - pods.Clear(); } } } \ No newline at end of file diff --git a/Textures/Pawn/Byakhee/Byakhee_west.png b/Textures/Pawn/Byakhee/Byakhee_west.png new file mode 100644 index 0000000000000000000000000000000000000000..c89583dcd1a60240b57e6bdae0272804bad694b2 GIT binary patch literal 50251 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 Lu2}HE#Q*;R%84(_ literal 0 HcmV?d00001