Re: Using custom game time for FactionMember memory durations
Posted: Mon Dec 05, 2016 8:29 pm
I'm going to try to get the next release out in a few weeks, but you can go ahead and make the change yourself right now, just in case my timeline slips. It's FactionMember.cs line 351:tylerwsavatronix wrote:It sounds like #2 is only a temporary measure until the next release; do you have a rough ETA on that (If it's in the next few weeks then I can probably wait on that step specifically).
Code: Select all
if (m_currentMemoryCleanupFrequency != m_currentWaitForSecondsValue)
{
if (Mathf.Approximately(0, memoryCleanupFrequency)) yield break; //<--ADD THIS LINE.
Yes, something like:tylerwsavatronix wrote:For Gossip and Aura I'm assuming we'll need to take similar steps as with Greeting (implement an AbstractXTrigger), is that accurate?
CustomGossipTrigger.cs:
Code: Select all
using UnityEngine;
using PixelCrushers.LoveHate;
public class GossipTrigger : AbstractGossipTrigger {
void Awake() {
timeBetweenGossip = 0; // We'll handle this manually.
}
private void OnTriggerEnter(Collider other) {
if (/*your condition*/) TryGossip(GetFactionMember(other.gameObject));
}
}
Mostly. StabilizePAD runs every frame (in Update) and observes GameTime.deltaTime. Let's say you want a character's Arousal to stabilize toward a target value over 24 hours, jumping toward the target at noon and sleep time. Here are the steps:tylerwsavatronix wrote:I think we are going to use StabalizePAD (at least initially, need to see it in action and do some prototyping of our personalities and see them in action). I haven't looked too much into it, but it looks like if we'll just need to set the ChangeRate for each one and treat it as days.
1. Set Arousal Settings > Change Rate to 100. In your context, this means fully reaching the target in 1 day.
2. For one frame at noon, set GameTime.deltaTime to 0.5f. In your context, this means half the day has passed.
3. For one frame when the character goes to sleep, set GameTime.deltaTime to 0.5f.
At all other times, leave GameTime.deltaTime at 0.
If you want the character to take 4 days to stabilize its Arousal, set Change Rate to 25.