-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
GameAIFor Gaming ApplicationsFor Gaming Applicationsgood first issueGood for newcomersGood for newcomerspolicyWriting CSL policies for business useWriting CSL policies for business use
Description
📝 Context
In an open-world RPG, an NPC (Quest Giver) should not offer a high-level quest to a beginner player. Additionally, some quests require a specific reputation level or the completion of a previous quest chain.
🎯 The Goal
Define a policy that blocks the "GRANT_QUEST" action if the player does not meet the requirements.
Variables you can use:
action(String): "GRANT_QUEST", "GREET", "TRADE".player_level(Integer): The current level of the player (1-60).reputation_score(Integer): How much the faction likes the player (0-100).has_completed_intro(Boolean): Has the player finished the tutorial?
Requirements:
- BLOCK "GRANT_QUEST" if
player_levelis less than 15. (Level Gate) - BLOCK "GRANT_QUEST" if
reputation_scoreis less than 50. (Reputation Gate) - BLOCK "GRANT_QUEST" if
has_completed_introis "FALSE". (Progression Gate) - ALLOW "GREET" and "TRADE" actions freely.
📚 Resources
- Start here:
docs/getting-started.md - Check basic tutorial:
quickstart/01_hello_world.csl - See how we handle numbers:
docs/syntax-spec.md
✅ Definition of Done
- Submit a PR with:
examples/community/rpg_quest_guard.csl - Verify that a Level 10 player cannot receive the quest.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
GameAIFor Gaming ApplicationsFor Gaming Applicationsgood first issueGood for newcomersGood for newcomerspolicyWriting CSL policies for business useWriting CSL policies for business use