From 33493b67b186416b3c9fbd23e5b4e60d8185cdb0 Mon Sep 17 00:00:00 2001 From: Bryce Allen Date: Wed, 18 Mar 2015 21:05:20 -0500 Subject: [PATCH] fix fixed rewards Fixed rewards for the matching item will be listed on a separate output line from non-fixed rewards for the same item in the same quest reward slot. --- mhrewards.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mhrewards.py b/mhrewards.py index 317c5f4..254bbc8 100755 --- a/mhrewards.py +++ b/mhrewards.py @@ -136,15 +136,14 @@ def print_quests_and_rewards(db, item_row, out): quest_ev = 0 sub_used = False - fixed_other_rewards = dict(A=0, B=0, Sub=0) + fixed_rewards = dict(A=0, B=0, Sub=0) total_reward_p = dict(A=0, B=0, Sub=0) for reward in q._rewards: slot = reward["reward_slot"] #reward_item_row = db.get_item(reward["item_id"]) #print slot, reward_item_row["name"], reward["percentage"] if reward["percentage"] == 100: - if reward["item_id"] != item_id: - fixed_other_rewards[slot] += 1 + fixed_rewards[slot] += 1 else: total_reward_p[slot] += reward["percentage"] @@ -159,14 +158,18 @@ def print_quests_and_rewards(db, item_row, out): #reward_item_row = db.get_item(reward["item_id"]) #print slot, reward_item_row["name"], reward["percentage"] if reward["item_id"] == item_id: - totals = [mhprob.quest_reward_expected_c(slot, skill) - for skill in xrange(mhprob.LUCK_SKILL_NONE, - mhprob.LUCK_SKILL_GREAT+1)] + if reward["percentage"] == 100: + totals = [100] + evs = [100 * reward["stack_size"]] + else: + totals = [mhprob.quest_reward_expected_c(slot, skill) + for skill in xrange(mhprob.LUCK_SKILL_NONE, + mhprob.LUCK_SKILL_GREAT+1)] - evs = [((i - fixed_other_rewards[slot]) - * reward["stack_size"] * reward["percentage"]) - for i in totals] + evs = [((i - fixed_rewards[slot]) + * reward["stack_size"] * reward["percentage"]) + for i in totals] out.write(" %20s %d %5.2f / 100" % (reward["reward_slot"], reward["stack_size"],