More refactoring. Adding to bazaar now works for selling and seeking by gil.

This commit is contained in:
Filip Maj 2017-11-11 17:05:07 -05:00
parent bbac4b0fce
commit e8c9904e1d
9 changed files with 109 additions and 75 deletions

View file

@ -10,13 +10,44 @@ All bazaar args have a Reward (The item the person who fufills the request gets)
function onEventStarted(player, actor, triggerName, rewardItem, seekItem, bazaarMode, arg1, bazaarActor, rewardAmount, seekAmount, arg2, arg3, type9ItemIds)
--Get reward reference or itemId
local originalReward = nil;
local originalSeek = nil;
--Handle Reward
if (type(rewardItem) == "number") then
rewardItem = GetWorldManager():CreateItem(rewardItem, rewardAmount);
else
rewardItem = player:GetItem(rewardItem);
originalReward = rewardItem;
if (bazaarMode ~= 11) then
rewardItem = GetWorldManager():CreateItem(rewardItem.itemId, rewardAmount, rewardItem.quality);
end
end
--Get seek reference or itemid
--Handle Seek
if (type(seekItem) == "number") then
seekItem = GetWorldManager():CreateItem(seekItem, rewardAmount);
else
seekItem = player:GetItem(seekItem);
originalSeek = seekItem;
if (bazaarMode ~= 11) then
seekItem = GetWorldManager():CreateItem(seekItem.itemId, seekAmount, seekItem.quality);
end
end
--Tell worldmaster to add bazaar entry with reward, seek, rewardAmount, seekAmount, and bazaarMode
--If not selling, remove the seek item
if (bazaarMode ~= 11 and bazaarMode ~= 12 and bazaarMode ~= 13) then
if (originalSeek ~= nil) then
player:RemoveItem(originalSeek, seekAmount);
end
end
--Remove reward items from inventory
--Remove the reward item
if (originalReward ~= nil) then
player:RemoveItem(originalReward, rewardAmount);
end
GetWorldManager():AddToBazaar(player, rewardItem, seekItem, rewardAmount, seekAmount, bazaarMode);
player:EndEvent();