Quest Mechanics
Prerequisites
Some quests are not available to everyone. You might face:
- Stat Requirements: "You need 50 Strength to lift this rock."
- Item Requirements: "Bring me a Golden Ticket to enter."
- Reputation Check: "The Savages do not trust you yet."
Quest Engines (Hybrid System)
Wildoria uses a unique hybrid system to handle different types of progression:
🎮 Event-Driven Engine
These are real-time, action-based quests (e.g., mob hunting, resource gathering).
- Progress: Tracked instantly via WebSocket (
ws). - Validation: The server validates each action (kill, loot) to ensure criteria are met.
- Visuals: Map indicators (
!,?) update in real-time as you progress.
⏳ Time-Based Engine
These represent background operations or simulation-style missions.
- Process: Starts a timer (
time_complete). Quest status remains "In Progress" until the timer ends. - Simulation: Upon completion, the MissionSimulator evaluates the outcome based on player stats and mission difficulty.
Technical Architecture & Security
Wildoria follows a Server-Authoritative model to ensure fairness.
🛡️ Security
- Thin Client: The game client is a visual layer. All quest states and rewards are calculated on the API.
- State Verification: Even if a client reports a quest as "ready", the API re-verifies the
progress_stateagainstquest_configbefore granting rewards. - Kill Ownership: Mission progress for mob kills is only granted to the player (or party) with valid loot rights (
kill_txverification).
🔗 Chain Structure (PID)
Quests use a parent-child relationship:
- Locked Paths: A quest with a
pid(Parent ID) remains hidden until the parent quest is marked asisCompleted. - Branching: Some stories may fork into multiple quests based on dialog choices or faction alignment.
Simulation & Replay (Offline)
For time-based missions, the game continues even when you are offline.
📈 Mission Simulator
When a timer ends, a virtual combat/event sequence is run:
- Encounters: Calculated based on mission duration (e.g., 1 encounter per minute).
- Stat Checks: Uses
StatServiceto roll fordodge,crit, andsuccessRate. - Reward Multiplier: Performance counts! Staying above 90% HP or having high Luck can boost your rewards up to 1.5x.
🎬 Replays
Every event during a simulation is recorded. You can watch the "Replay" to see exactly when your character dodged a critical blow or fell in battle.