You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 7, 2026. It is now read-only.
🔗 Is your feature request related to a specific issue?
Complex game logic and conditions are often hardcoded directly in C# scripts. This makes the logic opaque and difficult for designers to inspect or modify without involving a programmer.
💡 Feature Description
Build a rule engine that can evaluate a set of conditions based on the current state of the Fact system and trigger actions or events when conditions are met.
Expected outcome or effect: Abstraction of complex conditional logic out of code and into data-driven rule sets.
Specific implementation ideas: The following definitions are for reference only and are subject to change. Implementation could include:
A Rule data structure that contains a list of Conditions and a list of Actions.
A Condition could be "Fact player_level is greater than 10".
An Action could be "Publish UnlockFireballSpellEvent".
A RuleEngine that continuously evaluates a set of active rules against the FactDatabase.
Usage scenarios or benefits:
A designer can define a rule: "IF quest_A_complete is true AND player_is_in_town is true, THEN trigger StartQuestB event."
This is extremely powerful for creating systemic interactions, dynamic quests, and emergent game behavior.
⚖ Alternatives Considered
N/A
📝 Additional Information
This feature is heavily dependent on the Fact and Event systems.
Should complete #4 and #5 first.