Table of Contents

Interface IShrine

Namespace
FishMMO.Shared.Core
Assembly
FishMMO.Shared.dll

Server-side interface for shrine interactables. Exposes the shrine template needed for healing and buff application.

public interface IShrine : IInteractable, ISceneObject
Inherited Members

Properties

AchievementTemplate

Achievement template to increment when a player uses this shrine.

AchievementTemplate AchievementTemplate { get; }

Property Value

AchievementTemplate

Template

The shrine template defining heal percentages, buff grants, and other shrine effects.

ShrineTemplate Template { get; }

Property Value

ShrineTemplate

Methods

GetRemainingCooldown(long)

Seconds remaining before the given character may use this shrine again.

float GetRemainingCooldown(long characterID)

Parameters

characterID long

The character to test.

Returns

float

Seconds remaining, or 0 when the shrine is ready for that character.

Remarks

A pure query, and the value the refusal reply carries so the client can say how long is left rather than merely that nothing happened. Answers 0 on a client, which holds no cooldown table — the server is the only peer that knows.

TryConsumeCooldown(long)

Spends the character's shrine cooldown, returning false when it is still running.

bool TryConsumeCooldown(long characterID)

Parameters

characterID long

The character using the shrine.

Returns

bool

True when the shrine was ready and the cooldown has now started.

Remarks

Separate from CanInteract(IPlayerCharacter), which tests the same limiter without spending it — the same split, and for the same reason, as TryConsumeInteractRateLimit(IPlayerCharacter): several callers ask the question and only one of them is entitled to consume the answer.