Implemented [Trainer] Kate Voucher/Auto Loot Exchange.
Merge pull request #399 from Annunaki/master

Implemented [Trainer] Kate Voucher/Auto Loot Exchange.
Added Magic Bag exchange.

Added Check for Pet name change certificate.
13013_Patric.lua - Removed unnecessary button.
13016_Keite.lua - Sorry OCD.
31508_NEnchant.lua - Changed a 2 to a 3 something to do with menu/button size :/.

31526_Chaos.lua - Added Lua script for [White Shadow Captain] Sirin Chaos NPC.
Added start of 11610_charel.lua [Knight Clerk] Charel (Elmorad) Cape Quest NPC.
Corrected an error with 11610_charel.lua script.
Merge pull request #400 from Annunaki/master

Added Magic Bag exchange.
Game server/skill system: fixed a crash caused by "multiple shot"-type skills, when an arrow doesn't hit any target. Resolves #401.
Edited function AcreditedTest() function.
Merge pull request #403 from Annunaki/master

Edited function AcreditedTest() function...
Game server/skill system: cleaned up opcodes & fixed "Instantly magic". Resolves #352.
Game server: removed unnecessary const_cast<> use.
Game server: fixes a bug with the weapon delay check (inconsistency with what the client sent) which caused a few weapons to fail when using normally.
Game server: revised the 2h item check.
Game server: removed a forgotten to-do comment (long since implemented).
Game server: implemented BUFF_TYPE_IGNORE_WEAPON (not sure how accurate to official it is... it always seems to removes both weapons client-side, so went with the client there); refs #229, resolves #220.
Lua Script: 11610_charel.lua - Implemented:

Royal Knight Promotion/Test

Training Knight Promotion/Test
Edited 11610_charel.lua Script:

pUser:ZoneClanChange ---> pUser:ZoneChangeClan

(pUser:isClanLeader() == 1) ---> (pUser:isClanLeader())
Implemented:

BuyLoyalty() 500/100

RequestPersonalRankReward()
MonthPersonalRankRequestReward()
RequestReward()

However the rewards still require some LUA functions creating.
Added missing PromoteKnight() LUA function to event functions:

AcreditedPromote()
RoyalPromote()