Vixen
caa30e12
csharp
public sealed class DynamicEventInstance

One running dynamic event on one realm.

Read the guide page for this →

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 Template

    What it is.

  • public DefId Id

    Which event.

  • public DynamicEventStatus Status

    Where it is.

  • public float Elapsed

    How long it has been running, in seconds.

  • public float Remaining

    How long it has left, or zero when it has no clock.

  • public ObjectiveTracker Objectives

    What is tracking its objectives.

  • public int Participants

    How many people have contributed anything.

  • public float Scale

    How hard it currently is.

  • public bool IsTerminal

    Whether it is over.

  • public IReadOnlyDictionary<PlayerId, int> Contributions

    Everybody 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