Skip to main content

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_state against quest_config before granting rewards.
  • Kill Ownership: Mission progress for mob kills is only granted to the player (or party) with valid loot rights (kill_tx verification).

🔗 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 as isCompleted.
  • 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:

  1. Encounters: Calculated based on mission duration (e.g., 1 encounter per minute).
  2. Stat Checks: Uses StatService to roll for dodge, crit, and successRate.
  3. 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.