hiperesp/DragonFable-Private-Server

Give quest rewards

Closed this issue · 2 comments

This issue was updated, because:
We need to get all quest-rewards from all quest rewards to fix all the merge shop items.
It is very important and is a urgent needed feature to implement merge shops.

Status:

  • Download all quests rewards
  • Convert all quest rewards to JSON
  • Modify database structure to store quest rewards
  • Implement giving quest rewards

Case to test:
Buy any item from any merge shop.

  1. Get 5x of Pouch of Sparkling Sand
  2. Buy any item from Sir Vey.

Buy any item from Sir Vey:

  1. Go to Oaklore Keep
  2. Talk to Sir Valence
  3. Select Sir Vey's Camp
  4. Talk to Sir Vey
  5. Select Shop then Reward Shop

Get Pouch of Sparkling Sand:

  1. Go to Oaklore Keep
  2. Talk to Sir Vivor and Sir Casm (at catapult)
  3. Select Explore Ruins! then begin and end the quest.
  4. Now you have a quest reward Pouch of Sparkling Sand

Case progress:

  • Get items
  • Buy mergeShop Item

Quest 123 - Item 817

Request to cf-questcomplete-Mar2011.asp

<flash><intWaveCount>1</intWaveCount><intRare>0</intRare><intWar>0</intWar><intLootID>-1</intLootID><intExp>911</intExp><intGold>48</intGold><intQuestID>123</intQuestID><strToken>TOKEN</strToken><intCharID>1</intCharID></flash>
<?xml version="1.0" encoding="UTF-8"?>
<questreward xmlns:sql="urn:schemas-microsoft-com:xml-sql"><questreward intExp="8025" intSilver="0" intGold="729" intGems="0" intCoins="3"><items ItemID="817" strItemName="Wind Seal Fragment" strItemDescription="The priests at the Temple of the Four Winds were charged with protecting these seals which hold very strong elemental magics, even when shattered." bitVisible="1" bitDestroyable="1" bitSellable="1" bitDragonAmulet="0" intCurrency="2" intCost="100" intMaxStackSize="500" intBonus="0" intRarity="2" intLevel="1" strType="Melee" strElement="Wind" strCategory="Item" strEquipSpot="Not Equipable" strItemType="Resource" strFileName="" strIcon="bag" intStr="0" intDex="0" intInt="0" intLuk="0" intCha="0" intEnd="0" intWis="0" intMin="0" intMax="0" intDefMelee="0" intDefPierce="0" intDefMagic="0" intCrit="0" intParry="0" intDodge="0" intBlock="0" strResists=""/></questreward></questreward>

Request to cf-questreward.asp

<flash><intNewItemID>817</intNewItemID><strToken>TOKEN</strToken><intCharID>1</intCharID></flash>
<?xml version="1.0" encoding="UTF-8"?>
<questreward xmlns:sql="urn:schemas-microsoft-com:xml-sql"><CharItemID>783729975</CharItemID></questreward>

Quest 16 - Item 7

Request to cf-questcomplete-Mar2011.asp

<flash><intWaveCount>1</intWaveCount><intRare>0</intRare><intWar>0</intWar><intLootID>-1</intLootID><intExp>2565</intExp><intGold>122</intGold><intQuestID>16</intQuestID><strToken>TOKEN</strToken><intCharID>1</intCharID></flash>
<?xml version="1.0" encoding="UTF-8"?>
<questreward xmlns:sql="urn:schemas-microsoft-com:xml-sql"><questreward intExp="10590" intSilver="0" intGold="851" intGems="0" intCoins="3"><items ItemID="7" strItemName="Newbie Ring" strItemDescription="It feels as cheap as it looks. It is exactly what you expect for the level 1 warrior wanting to make a name for himself." bitVisible="1" bitDestroyable="1" bitSellable="1" bitDragonAmulet="0" intCurrency="2" intCost="20" intMaxStackSize="1" intBonus="0" intRarity="0" intLevel="1" strType="Melee" strElement="Metal" strCategory="Armor" strEquipSpot="Finger" strItemType="Ring" strFileName="" strIcon="ring" intStr="0" intDex="0" intInt="0" intLuk="0" intCha="0" intEnd="0" intMin="0" intMax="0" intDefMelee="1" intDefPierce="0" intDefMagic="1" intCrit="0" intParry="0" intDodge="0" intBlock="0" strResists=""/></questreward></questreward>

Request to cf-questreward.asp

<flash><intNewItemID>7</intNewItemID><strToken>TOKEN</strToken><intCharID>1</intCharID></flash>
<?xml version="1.0" encoding="UTF-8"?>
<questreward xmlns:sql="urn:schemas-microsoft-com:xml-sql"><CharItemID>783730404</CharItemID></questreward>