Planned features
================

Steps towards feature completion for 28th March 2002:

Engine
------

- [x] Melee PvP combat
- [x] Melee PvM combat
- [x] Ranged PvP combat
- [x] Ranged PvM combat
- [x] Poison
- [x] Sound effects (protocol)
- [x] Sound effects (combat)
- [x] Duelling
- [x] Prayer
- [x] Player design
- [x] Player classes
- [x] Player movement
- [x] Player following
- [x] Player trading
- [x] Player messaging
- [x] Player client settings
- [x] Player privacy settings
- [x] NPC spawn loading
- [x] NPC movement
- [x] NPC aggression
- [x] NPC "bravery" (retreating)
- [x] NPC "regenerate" timer
- [x] Line of sight checks
- [x] Friends list
- [x] Ignore list
- [x] Locs
- [x] Boundaries
- [x] Item spawns
- [x] Dropping items
- [x] Equipping items
- [x] Inventory
- [x] Experience and levelling up
- [x] Stat restoration
- [x] Lua scripting
- [x] Shops
- [x] Item banking
- [x] Spell effects
- [x] Player saving (SQLite)
- [x] Player saving (password hashing)
- [ ] Login server
- [x] Moderation features: player controls
- [x] Moderation features: per-player action log
- [x] Protocol: 110
- [x] Protocol: 110 (new player)
- [ ] Protocol: 110 (password change)
- [x] Protocol: RSA decryption
- [x] Protocol: 201
- [x] Protocol: 204
- [x] Five minute movement timer (should be optional)
- [x] Al Kharid general store should reject silk

Content
-------

These should all be implemented in Lua script:

### Skills

- [x] Prayer (bone burying)
- [x] Prayer (bat bones)
- [x] Prayer (altars)
- [x] Magic (missiles vs. players)
- [x] Magic (missiles vs. NPCs)
- [x] Magic (crumble undead)
- [x] Magic (blood-rune missiles)
- [x] Magic (battlestaves save runes)
- [x] Magic (curses)
- [x] Magic (teleportation)
- [x] Magic (camelot teleport)
- [ ] Magic (bones to bananas) - no footage available
- [x] Magic (telegrab)
- [x] Magic (alchemy)
- [x] Magic (superheat)
- [x] Magic (enchantment)
- [x] Magic (orb enchantment)
- [x] Magic (dragonstone enchantment)
- [x] Woodcutting
- [x] Woodcutting (rare trees)
- [x] Firemaking
- [x] Fletching (cutting arrow shafts)
- [x] Fletching (cutting bows)
- [x] Fletching (attaching arrow heads)
- [x] Fletching (attaching strings to bows)
- [x] Crafting (pottery)
- [x] Crafting (gold jewelry)
- [x] Crafting (silver jewelry)
- [x] Crafting (dragonstone jewelry)
- [x] Crafting (leatherworking)
- [x] Crafting (wool)
- [x] Crafting (flax)
- [x] Crafting (making soda ash)
- [x] Crafting (making molten glass)
- [x] Crafting (making glassware)
- [x] Crafting (making battlestaves)
- [ ] Crafting (filling beer glass) - no footage available
- [x] Fishing
- [x] Fishing (big net)
- [x] Fishing (sharks)
- [x] Cooking (fish/meat)
- [x] Cooking (bread)
- [x] Cooking (wine)
- [x] Cooking (pies)
- [x] Cooking (pizzas)
- [x] Cooking (cake)
- [x] Cooking (stew)
- [x] Cooking (special range)
- [x] Cooking (cod, mackerel, bass)
- [x] Cooking (sharks)
- [x] Herblaw (filling vials)
- [x] Herblaw (identifying herbs)
- [x] Herblaw (mixing herbs)
- [x] Herblaw (adding secondaries)
- [x] Herblaw (using new potions)
- [x] Herblaw (poisoning arrows)
- [x] Herblaw (poisoning daggers)
- [x] Mining
- [x] Smithing (forging)
- [x] Smithing (forging arrow heads)
- [x] Smithing (smelting)

### Quests

- [x] Cook's Assistant
- [x] Sheep Shearer
- [x] The Restless Ghost
- [x] Demon Slayer
- [x] Romeo & Juliet (several bugs not implemented)
- [x] Shield of Arrav
- [x] Ernest the chicken
- [x] Vampire Slayer
- [x] Imp catcher
- [x] Prince Ali Rescue
- [x] Witch's potion
- [x] Black knight's fortress
- [x] Doric's quest
- [x] The knight's sword
- [x] Goblin diplomacy
- [x] Pirate's treasure
- [x] Dragon slayer
- [x] Witch's house
- [x] Lost city
- [x] Hero's quest
- [x] Druidic ritual
- [x] Merlin's crystal
- [x] Scorpion catcher
- [x] Scorpion catcher (Bar crawl)

### Miscellaneous

- [x] Brass key
- [x] Muddy key and chest
- [x] Hans NPC dialogue
- [x] Silk trader NPC dialogue
- [x] Tanner NPC dialogue
- [x] Kebab Seller NPC dialogue
- [x] Aggie NPC dialogue
- [x] Certing (Miles, Niles, Giles NPCs)
- [x] Bartender NPC dialogue
- [x] Bartender (Dead Man's Chest) NPC dialogue
- [x] Barmaid NPC dialogue
- [x] Monk NPC dialogue
- [x] Barbarian NPC dialogue
- [x] Pirate NPC dialogue
- [x] Man NPC dialogue
- [x] Thrander NPC dialogue
- [x] Baraek NPC dialogue
- [x] Baraek NPC dialogue (wolf fur)
- [x] Wyson the gardener NPC dialogue
- [x] Apothecary NPC dialogue (a broken dialogue path where he gives the player spot cream twice is not implemented)
- [x] Banker NPC dialogue
- [x] Fairy Lunderwin NPC dialogue
- [x] Noterazzo NPC dialogue
- [x] Fat Tony NPC dialogue
- [x] Seth NPC dialogue
- [x] Owen NPC dialogue
- [x] Velrak the explorer NPC dialogue
- [x] Cook's Guild
- [x] Champions' Guild
- [x] Mining Guild
- [x] Monastery (Prayer Guild)
- [x] Crafting Guild
- [x] Alcohol (beers, wizards mind bomb)
- [x] Food (fish/meat)
- [x] Food (cabbage)
- [x] Food (bread)
- [x] Food (cake)
- [x] Food (pizzas)
- [x] Food (pies)
- [x] Food (stews)
- [x] Food (kebab)
- [x] Food (spinach roll)
- [x] Food (members fish)
- [x] Strength Potions
- [x] Dying capes
- [x] Mixing dyes
- [x] Monk of Zamorak wine aggression
- [x] Picking plants
- [x] Cutting webs
- [x] Water sources
- [x] Using the windmill
- [x] Using the zanaris windmill
- [x] Using ladders
- [x] Using stairs
- [x] Equipment level requirements
- [x] Silverlight effect
- [x] Punching dummies
- [x] Guards should retaliate to PvP combat
- [x] Party hall

### Drop tables

Most NPCs (that use constant drops) are found within config46.jag.
The following use randomvar and need to be implemented in script:

- [x] Chicken
- [x] Man1 (Man, Thief, Farmer, Warrior)
- [x] Mugger
- [x] Wiz1 (Darkwizard)
- [x] Darkerwiz (Darkwizard)
- [x] Goblin1
- [x] Goblin2
- [x] Barbarian
- [x] Dwarf
- [x] Skeleton1
- [x] Skeleton2
- [x] Skeleton3
- [x] Zombie1
- [x] Zombie2
- [x] Zombie3
- [x] Pirate
- [x] Guard
- [x] Giant
- [x] Black Knight
- [x] White Knight
- [x] Hobgoblin1
- [x] Ice Warrior
- [x] Chaos dwarf
- [x] Moss Giant
- [x] Ice Giant
- [x] Lesser Demon
- [x] Greater Demon
- [x] Dark Warrior
- [x] Druid
- [x] Red Dragon
- [x] Blue Dragon
- [x] Entranazombie
- [x] Thug
- [x] Bandit
- [x] Banditleader
- [x] Chaos Druid
- [x] Black Demon
- [x] Black Dragon
- [x] Otherworldly being
