Interface IShrine
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
Template
The shrine template defining heal percentages, buff grants, and other shrine effects.
ShrineTemplate Template { get; }
Property Value
Methods
GetRemainingCooldown(long)
Seconds remaining before the given character may use this shrine again.
float GetRemainingCooldown(long characterID)
Parameters
characterIDlongThe 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
characterIDlongThe 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.