Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------
- -- EXP on Kill quest by ManHunter
- ---------------------------------
- quest exp_kill begin
- state start begin
- -------------------
- -- Inizio functions
- -------------------
- function GetScriptData(data)
- local questData = { ['expConstMul'] = 3,
- ['expMul'] = 25,
- ['goldConstMul'] = 4,
- ['goldMul'] = 20,
- ['successProb'] = 65,
- ['extraSuccessProb'] = 20,
- ['numOfRewards'] = 2}
- return rawget(questData, data)
- end
- function GetRewardItem(reward, extra)
- if extra == 1 then
- local extraRewardList = { 4592,
- 7676 }
- return extraRewardList[reward]
- else
- local rewardList = { 1000,
- 3902 }
- return rewardList[reward]
- end
- end
- function GetRewardExp(mul)
- local expGained = 0
- if math.random(1, 100) <= GetScriptData('successProb') then
- expGained = (exp_kill.GetScriptData('expConstMul') * math.random(1, exp_kill.GetScriptData('expMul')) * pc.level * mul ) + exp_kill.GetScriptData('expMul')
- return expGained
- else
- expGained = math.random(1, exp_kill.GetScriptData('expMul'))
- return expGained
- end
- end
- function GetRewardGold(mul)
- local goldGained = 0
- if math.random(1, 100) <= GetScriptData('successProb') then
- goldGained = (exp_kill.GetScriptData('goldConstMul') * math.random(1, exp_kill.GetScriptData('goldMul')) * pc.level * mul ) + exp_kill.GetScriptData('goldMul')
- return goldGained
- else
- goldGained = math.random(1, exp_kill.GetScriptData('expMul'))
- return goldGained
- end
- end
- -----------------
- -- Fine functions
- -----------------
- when kill with npc.is_pc() and pc.level >= 15 and pc.level < 100 and npc.get_empire() ~= pc.get_empire() begin
- if math.random(1, 100) <= exp_kill.GetScriptData('successProb') then
- pc.give_item2(exp_kill.GetRewardItem(math.random(1, exp_kill.GetScriptData('numOfRewards')), 0), 1)
- if math.random(1, 100) <= exp_kill.GetScriptData('extraSuccessProb') then
- pc.give_item2(exp_kill.GetRewardItem(math.random(1, exp_kill.GetScriptData('numOfRewards')), 1), 1)
- end
- end
- if math.random(1, 100) <= exp_kill.GetScriptData('successProb') then
- local expGained = exp_kill.GetRewardExp(100)
- if math.random(1, 100) <= exp_kill.GetScriptData('extraSuccessProb') then
- expGained = expGained + exp_kill.GetRewardExp(25)
- end
- pc.give_exp2(expGained)
- end
- if math.random(1, 100) <= exp_kill.GetScriptData('successProb') then
- local goldGained = exp_kill.GetRewardGold(10)
- if math.random(1, 100) <= exp_kill.GetScriptData('extraSuccessProb') then
- goldGained = goldGained + exp_kill.GetRewardGold(2)
- end
- pc.changegold(goldGained)
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment