Events
On authority, each change sends all events. Server bindings receive the full set.
On the owning client, replicated QuestStates diffs into:
OnQuestStartedOnQuestBecameAvailableOnQuestCompleted(Times Completed increases)- Phase advances
- Objective count increases
OnObjectiveFailTimerStartedwhen a fail timer becomes active
Fail Time Remaining on FQuestObjectiveRuntime updates about four times a second while a timer runs.
Time To Fail ticks on authority only. Owning clients do not tick it.
First replication is a snapshot
The first OnRep_QuestStates does not replay Started or Completed for quests that are already in progress.
- When the widget constructs, call
GetQuestsByStatusorFindQuestState. - Paint from that snapshot.
- Then bind events for later changes.
Fail and abandon on the client
Abandon and fail change Active to Available in one replication update. They do not show as a Failed or Abandoned status on the client.
Replication alone does not fire the client fail and abandon events.
- When the widget is shown, refresh the log and tracker from
GetQuestsByStatus. - If you must catch abandon at once, refresh on a short timer or when the widget becomes visible.
Authority-side bindings still receive OnQuestFailed and OnQuestAbandoned.