UNPKG

osrs-tools

Version:

A comprehensive TypeScript library for Old School RuneScape (OSRS) data and utilities, including quest data, skill requirements, and game item information

143 lines 3.92 kB
/** * PRACTICAL IMPLEMENTATION EXAMPLE * ============================================================== * * This file demonstrates how to implement drops for multiple NPCs * following the recommendations from IMPLEMENTATION_STRATEGY.md * and using the utilities from DropImplementationUtils.ts * * BATCH 1: Dragon Types (5 NPCs) * - Baby Black Dragon * - Baby Blue Dragon * - Baby Green Dragon * - Baby Red Dragon * - Chromatic Dragons (parent type) */ import { Npc } from '../Npc'; import { NpcDrop } from '../NpcDrop'; /** * Baby Black Dragon * Location: Taverly Dungeon * Level: 79 Combat * Wiki: https://oldschool.runescape.wiki/w/Baby_black_dragon */ export declare const BabyBlackDragon: Npc; /** * Baby Blue Dragon * Location: Taverley Dungeon * Level: 49 Combat * Wiki: https://oldschool.runescape.wiki/w/Baby_blue_dragon */ export declare const BabyBlueDragon: Npc; /** * Baby Green Dragon * Location: Taverly Dungeon * Level: 42 Combat * Wiki: https://oldschool.runescape.wiki/w/Baby_green_dragon * * NOTE: This could use shared drops via template since all baby dragons * have essentially identical drops */ export declare const BabyGreenDragon: Npc; /** * Lesser Demon * Locations: Dungeons across RuneScape * Level: 7 Combat * Wiki: https://oldschool.runescape.wiki/w/Lesser_demon */ export declare const LesserDemon: Npc; /** * Greater Demon * Location: Demonic Ruins, Wilderness * Level: 82 Combat * Wiki: https://oldschool.runescape.wiki/w/Greater_demon */ export declare const GreaterDemon: Npc; /** * Chicken * Location: Various (Lumbridge, Falador, etc.) * Level: 1 Combat * Wiki: https://oldschool.runescape.wiki/w/Chicken * * Simple template - easily replicable for other animals */ export declare const ChickenDrops: NpcDrop[]; export declare const Chicken: Npc; export declare const Cerberus: Npc; /** * Copy this for each new batch: * * BATCH [X]: [Category] NPCs ([Count] NPCs) * ========================================== * * NPCs to implement: * [ ] NPC Name 1 * [ ] NPC Name 2 * [ ] NPC Name 3 * * Research phase: * [ ] All wiki pages reviewed * [ ] Drop rates verified * [ ] Shared drops identified * * Implementation: * [ ] Drop utilities/templates prepared * [ ] Code written and reviewed * [ ] Tests added * [ ] Validation passes * [ ] No syntax errors * * Quality assurance: * [ ] All drop rates match wiki * [ ] No duplicate item drops * [ ] Proper probability distribution * [ ] Edge cases handled * * Documentation: * [ ] Wiki URLs included in code * [ ] Comments explain non-obvious drops * [ ] Team notified of new drops */ /** * 1. USE TEMPLATES FOR SIMILAR NPCs * - All baby dragons use createDragonDrops({ tier: 'baby' }) * - Reduces duplication and maintains consistency * * 2. INCLUDE WIKI REFERENCES * - Every NPC has officialWikiUrl * - Comments reference wiki for verification * * 3. USE HELPER FUNCTIONS * - createDragonDrops() * - createDemonDrops() * - createBossNPCDrops() * - Makes code cleaner and more maintainable * * 4. LEVERAGE CONSTANTS * - DROP_RATES.RARE_1_512 is clearer than '1/512' * - STANDARD_DROPS.bones is reusable * * 5. BATCH SIMILAR NPCS TOGETHER * - Dragons together (share templates) * - Demons together (share templates) * - Makes it easier to verify consistency * * 6. VALIDATE BEFORE COMMITTING * - Use validateNPCDrops() to check for errors * - Run tests to ensure no breaking changes * * 7. DOCUMENT NON-OBVIOUS DROPS * - Note when drops are special/quest-only * - Include conditions that affect drops */ declare const _default: { BabyBlackDragon: Npc; BabyBlueDragon: Npc; BabyGreenDragon: Npc; LesserDemon: Npc; GreaterDemon: Npc; Chicken: Npc; Cerberus: Npc; }; export default _default; //# sourceMappingURL=IMPLEMENTATION_EXAMPLES.d.ts.map