From 26e376eefb0d45ed704b6ebbd2957bc48c42d7b5 Mon Sep 17 00:00:00 2001 From: Bryce Allen Date: Wed, 19 Aug 2015 00:53:54 -0500 Subject: [PATCH] add rank filter to mhmoney --- bin/mhmoney.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/bin/mhmoney.py b/bin/mhmoney.py index af60938..e54be30 100755 --- a/bin/mhmoney.py +++ b/bin/mhmoney.py @@ -6,6 +6,7 @@ Script to find the most lucrative monster parts to farm for money. import codecs import urllib import os.path +import sys import _pathfix @@ -17,7 +18,7 @@ from mhapi import rewards ITEM_TYPES = "Bone Bug Flesh Ore Sac/Fluid".split() -def print_top_items(db): +def print_top_items(db, rank="G"): items = db.get_items(ITEM_TYPES) ev = dict() strats = dict() @@ -33,7 +34,7 @@ def print_top_items(db): item.sell = int(item.sell) ir = rewards.ItemRewards(db, item) - strat = ir.get_best_strat() + strat = ir.get_best_strat(rank=rank) if strat is None: ev[item.id] = 0 else: @@ -43,15 +44,26 @@ def print_top_items(db): def item_value(i): return i.sell * ev[i.id] / 100.0 + min_value = 10000 + if rank == "LR": + min_value = 1000 + if rank == "HR": + min_value = 5000 + items.sort(key=item_value, reverse=True) for item in items: value = item_value(item) - if value < 10000: + if value < min_value: break print " %-20s % 7.f % 6d (% 5.f)" % \ (item.name, value, int(item.sell), ev[item.id]) if __name__ == '__main__': + if len(sys.argv) > 1: + rank = sys.argv[1] + else: + rank = "G" + db = MHDB() - print_top_items(db) + print_top_items(db, rank)