local setup = {
--[[
[0] = { <- vocation ID number
level = 20, --required minimum level to obtain promotion
outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
oldWeapon = 2160, --required weapon to obtain promotion
newWeapon = 2160, --weapon you get after promotion
newVocation = 2, --new vocation's ID that the player is promoted to
},]]
[5] = { --Master Sorcerer
level = 20,
outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
oldWeapon = 2160,
newWeapon = 2160,
newVocation = 9,
newPromo = 2
},
[6] = { --Elder Druid
level = 20,
outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
oldWeapon = 2160,
newWeapon = 2160,
newVocation = 10,
newPromo = 2
},
[7] = { --Royal Paladin
level = 20,
outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
oldWeapon = 2160,
newWeapon = 2160,
newVocation = 11,
newPromo = 2
},
[8] = { --Elite Knight
level = 20,
outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
oldWeapon = 2160,
newWeapon = 2160,
newVocation = 12,
newPromo = 2
},
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
local scroll = setup[getPlayerVocation(cid)]
if not scroll then
doPlayerSendCancel(cid, 'You do not have the required vocation.')
return true
end
if getPlayerLevel(cid) < scroll.level then
doPlayerSendCancel(cid, 'You need to be at least level '..scroll.level..' in order to be promoted.')
return true
end
if getPlayerItemCount(cid, scroll.oldWeapon) == 1 then
doTransformItem(getPlayerItemById(cid, true, scroll.oldWeapon).uid, scroll.newWeapon)
else
doPlayerSendCancel(cid, 'You need only 1 '.. getItemNameById(scroll.oldWeapon)..' in order to be promoted.')
return true
end
if scroll.outfit then
doCreatureChangeOutfit(cid, scroll.outfit)
end
doRemoveItem(item.uid, 1)
doPlayerSetPromotionLevel(cid, scroll.newPromo)
doPlayerSetVocation(cid, scroll.newVocation)
doSendMagicEffect(fromPosition, CONST_ME_FIREWORK_YELLOW)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have just been promoted to '..getPlayerVocationName(cid)..'!!')
doPlayerSave(cid, true)
return true
end