public sealed class DynamicEventInstanceOne running dynamic event on one realm.
Remarks
Realm-scoped, which is the only thing that makes it not a quest. The objectives are a quest stage's, tracked by the same ObjectiveTracker with no owner set, so everybody's kills count towards the same number.
⚠ Contribution rather than tap-ownership, and it is recorded per participant as the event runs. Deciding who "gets" an event when it ends — by first hit, most damage or killing blow — is the mechanic that makes a world boss a race and a passer-by an intruder. Doc 28 picks tiers deliberately: everyone who did enough gets their tier, and one player's reward is not another player's loss.
Fields and properties (10)
public DynamicEventTemplate TemplateWhat it is.
public DefId IdWhich event.
public DynamicEventStatus StatusWhere it is.
public float ElapsedHow long it has been running, in seconds.
public float RemainingHow long it has left, or zero when it has no clock.
public ObjectiveTracker ObjectivesWhat is tracking its objectives.
public int ParticipantsHow many people have contributed anything.
public float ScaleHow hard it currently is.
public bool IsTerminalWhether it is over.
public IReadOnlyDictionary<PlayerId, int> ContributionsEverybody who contributed, and how much.
Methods (6)
public int Contribute(PlayerId participant, int amount)Records that somebody did something.
public int ContributionOf(PlayerId participant)How much somebody did.
public ContributionTier? TierOf(PlayerId participant)Which tier somebody earned.
public bool Tick(float delta)Advances it.
public bool Finish(DynamicEventStatus status)Ends it, however a game decides to.
public void Dispose()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Used by (4)
- EventChainProjectionVixen.Editor.Gameplay.Quests
- EventChainProjectionTestsVixen.Editor.Gameplay.Quests.Tests
- DynamicEventDirectorVixen.Gameplay.Quests
- DynamicEventTestsVixen.Gameplay.Quests.Tests