public PersonalOpinionConversationNode(string text, string id, int feelingAdjust) { Text = text; ID = id; OnVisit = (GameObject speaker, GameObject listener) => { UnityEngine.Debug.Log($"Adjusting {speaker.DebugName}'s personal opinion of {listener.DebugName} by {feelingAdjust}"); DynamicPersonality personality = speaker.GetPart <DynamicPersonality>(); personality.AdjustPersonalOpinion(listener, feelingAdjust); }; }
public Fyrefly_PersonalOpinion(DynamicPersonality p, GameObject target) { personality = p; opinionHaver = personality.ParentObject; opinionTarget = target; var rand = new System.Random(); if (personality.minimumRandomOpinion <= personality.maximumRandomOpinion) { value = rand.Next(personality.minimumRandomOpinion, personality.maximumRandomOpinion); } ; }
public static bool Prefix(TradeUI __instance, XRL.World.GameObject Trader) { Debug.Log("Running Trade Patch to check willingness!"); if (Trader.HasPart("DynamicPersonality")) { DynamicPersonality personality = Trader.GetPart <DynamicPersonality>(); if (personality.WillingToTrade) { Debug.Log("Is willing to trade!"); return(true); } else { Debug.Log("Is NOT willing to trade!"); Popup.ShowFail(Trader.The + Trader.ShortDisplayName + " does not like you well enough to trade."); return(false); } } else { Debug.LogError($"CheckTradeWillingnessPatch run on gameobject {Trader.DebugName} which has no DynamicPersonality part"); return(true); } }