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
TypeScript
/**
* 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