skills wiki reference
Guide for skills wiki reference
Legends of Hastinapur: Complete Skills Reference
A comprehensive guide to all 18 skills in the game, designed for wiki documentation.
Skill Categories Overview
Core System Mechanics
XP & Leveling
- Formula: OSRS-style exponential curve
- Points per level:
floor(level + 300 × 2^(level/7)) - Level cap: 108 (max level)
- Starting levels: All skills begin at level 1
Combat Level Calculation
Base = 0.25 × (Defence + Hitpoints + Tapasya/2)
Melee = 0.325 × (Attack + Strength)
Ranged = 0.325 × (Ranged × 1.5)
Magic = 0.325 × (Magic × 1.5)
Combat Level = Base + max(Melee, Ranged, Magic)Combat Skills
Attack ⚔️
Purpose: Increases melee accuracy
- Accuracy Roll:
Random(0 .. Attack + 8) - Training: Combat with melee weapons in Accurate mode
- Equipment Bonuses: Apply from equipped weapons
Strength 💪
Purpose: Increases melee damage
- Max Hit Formula:
1 + (Strength / 10) - Training: Combat with melee weapons in Aggressive mode
- Note: Formula is conservative compared to OSRS
Defence 🛡️
Purpose: Reduces incoming damage
- Defense Roll:
Random(0 .. Defense + 8) - Hit Calculation: Attack Roll > Defense Roll = Hit
- Training: Combat in Defensive mode
Ranged 🏹
Purpose: Ranged combat effectiveness
- Mechanics:
- Requires ammo in equipment slot
- Projectile speed: 20.0 units/sec
- Special bows (Sharanga) fire 2 arrows
- Ammo Retrieval: 0% (basic) to 90% (Garuda's Plume quiver)
Magic 🔮
Purpose: Spellcasting and magical combat
- Hit Chance: Fixed 90% (ignores target defense)
- Damage: Random(0 to MaxHit)
- Bija Cost: Consumed from inventory per cast
Combat Spells (Mantras)
Utility Spells
Teleport Recipes (Coconut-based)
Hitpoints ❤️
Purpose: Total health pool
- Player Max HP: Based on Hitpoints level
- NPC Max HP:
10 + level × 2 - Note: Discrepancy exists between player and NPC HP scaling
Tapasya (Prayer) 🙏
Purpose: Divine protection and stat buffs
- Drain Rate: Points/second while active
- Prayer Types: Offensive, Defensive, Protection, Utility
Prayer List
Gathering Skills
Mining ⛏️
Purpose: Extract ores from rocks
- Mechanic: Interact with rock → instant success if level met
- Level Check: Required level per rock type
- Respawn: Rocks deplete and respawn after timer
- Tool: Pickaxe (requirement placeholder)
- Data:
mining_rocks.json
Fishing 🎣
Purpose: Catch fish from water
- Spot Types: 7 different fishing spots
- Catch Chance: Base chance + 1% per level above requirement (cap 90%)
- Tool Requirement: Various (net, rod, pot, harpoon)
Fishing Spots
Woodcutting 🪓
Purpose: Chop trees for logs
- Mechanic: Tree interaction → level check → instant success
- Regeneration: Tree → Stump → respawns after X seconds
- Tool: Axe requirement (partially implemented)
- Data:
woodcutting_trees.json
Farming 🌾
Purpose: Grow crops on patches
- State Machine: Empty → Planted → Growing → Grown
- Growth: Time-based (seconds)
- Disease System:
- Chance per growth stage
- Death after 3 days if not cured
- Compost reduces disease: Regular 20%, Super 50%, Ultra 80%
- Harvest: Random quantity (min-max defined per seed)
- Data:
farming_seeds.json
Hunter 🦌
Purpose: Track and trap creatures
- Status: Skill defined but system not fully implemented
- Planned: Trapping wildlife for resources
Artisan Skills
Smithing 🔨
Purpose: Smelt ores and forge equipment
- Two-Phase Process:
Smelting (Furnace)
- Converts ores to bars
- Success rate defined in JSON (e.g., Iron 50%)
- Improved Furnace adds +10% success
Smithing (Anvil)
- Converts bars to equipment
- Always succeeds
- Data:
smelting_recipes.json,smithing_recipes.json
Cooking 🍳
Purpose: Prepare food for healing
- Mechanic: Interact with range → cook raw fish/food
- Burn Chance: Decreases with level
- Stop-Burn Level: Each recipe has a level where burning stops
Range Types
Cooking Recipes (Indian Fish)
Ayurveda 🧪 (Herblore)
Purpose: Create stat-boosting brews
- Tier System: Low (shop), Mid (crafted), High (boss ingredients)
- Effect Duration: 200-600 seconds
Brew Types
Key Ingredients
- Tulsi Leaf - Common herb for mid-tier brews
- Ashwagandha - Strength-boosting herb
- Demon Ash/Heart - Combat potion catalyst
- Saffron - Rare high-tier ingredient
- Sandalwood - Divine ingredient
- Holy Water - Prayer-related brews
Crafting ✂️
Purpose: Create jewelry and equipment
- Status: Skill defined, recipes to be expanded
- Planned: Gems, jewelry, leather goods
Fletching 🏹
Purpose: Create ranged weapons and ammo
- Status: Skill defined, system to be implemented
- Planned: Bows, arrows, crossbows
Slayer 💀
Purpose: Hunt assigned creatures for rewards
- Status: Skill defined, task system to be implemented
- Planned: Slayer masters, task assignments, unique drops
Data Architecture
File Structure
All skill data loaded from
data/*.json:fishing_spots.json- Fishing locations and fishcooking_recipes.json- Food recipes and burn ratesayurvedic_brews.json- Potion recipesmining_rocks.json- Rock types and oreswoodcutting_trees.json- Tree typesfarming_seeds.json- Seeds and growth datasmelting_recipes.json- Ore to bar recipessmithing_recipes.json- Bar to item recipesmantras.json- Magic spellsprayers.json- Prayer definitions
ID System
- String IDs: Human-readable (e.g., "bronze_sword")
- Runtime: Hashed to u32 for performance
Wiki Sync Script
Usage
cd loh-website
npm run sync-game-dataThis reads all JSON files from
loh-game/data/ and generates typed exports in lib/game-data/:fishing.json,cooking.json,mining.json, etc.types.ts- TypeScript interfacesindex.json- Combined data
Using in Wiki Pages
import fishingData from '@/lib/game-data/fishing.json';
// Dynamic table
{fishingData.spots.map(spot => (
<tr key={spot.spotId}>
<td>{spot.name}</td>
<td>{spot.levelReq}</td>
<td>{spot.toolRequired}</td>
</tr>
))}Known Issues & Gaps
- Magic Accuracy: Fixed 90% hit rate ignores target Magic defense
- HP Scaling: Player vs NPC MaxHP formulas differ
- Tool Checks: Woodcutting/Mining pickaxe checks are placeholders
- Damage Formula:
1 + Str/10is conservative (max hit ~10-15 at 99) - Incomplete Skills: Hunter, Crafting, Fletching, Slayer need full implementation
Last Updated: January 2026