public Warband_Caravan() { pawns = new ThingOwner<Pawn>(this, false, LookMode.Reference); pather = new Caravan_PathFollower(this); gotoMote = new Caravan_GotoMoteRenderer(); tweener = new Caravan_Tweener(this); trader = new Caravan_TraderTracker(this); forage = new Caravan_ForageTracker(this); needs = new Caravan_NeedsTracker(this); carryTracker = new Caravan_CarryTracker(this); beds = new Caravan_BedsTracker(this); storyState = new StoryState(this); }
public static bool Prefix(Caravan_NeedsTracker __instance, Pawn pawn) { var extension = pawn.def.GetModExtension <MechanoidExtension>(); if (extension != null && pawn.def.GetModExtension <MechanoidExtension>().isCaravanRiddable) { if (pawn.needs.TryGetNeed <Need_Power>().CurLevel <= 0) { PawnBanishUtility.Banish(pawn); pawn.Kill(null); Messages.Message("VFEM.CaravanMachineRanOutPower".Translate(pawn.Named("MACHINE")), __instance.caravan, MessageTypeDefOf.CautionInput); } return(false); } return(true); }