From feb419c98a491f76f4eee863dcf6a9ecd0d5534e Mon Sep 17 00:00:00 2001 From: Bryce Allen Date: Wed, 5 Aug 2015 22:28:54 -0500 Subject: [PATCH] add mhmoney script script to print top parts to farm for zenny --- bin/mhmoney.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 bin/mhmoney.py diff --git a/bin/mhmoney.py b/bin/mhmoney.py new file mode 100755 index 0000000..af60938 --- /dev/null +++ b/bin/mhmoney.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python +""" +Script to find the most lucrative monster parts to farm for money. +""" + +import codecs +import urllib +import os.path + +import _pathfix + +from mhapi.db import MHDB +from mhapi import rewards + + + +ITEM_TYPES = "Bone Bug Flesh Ore Sac/Fluid".split() + + +def print_top_items(db): + items = db.get_items(ITEM_TYPES) + ev = dict() + strats = dict() + for item in items: + trade = db.get_wyporium_trade(item.id) + if trade is not None: + ev[item.id] = 0 + continue + + if item.sell == "": + item.sell = 0 + else: + item.sell = int(item.sell) + + ir = rewards.ItemRewards(db, item) + strat = ir.get_best_strat() + if strat is None: + ev[item.id] = 0 + else: + ev[item.id] = strat.ev + strats[item.id] = strat + + def item_value(i): + return i.sell * ev[i.id] / 100.0 + + items.sort(key=item_value, reverse=True) + for item in items: + value = item_value(item) + if value < 10000: + break + print " %-20s % 7.f % 6d (% 5.f)" % \ + (item.name, value, int(item.sell), ev[item.id]) + + +if __name__ == '__main__': + db = MHDB() + print_top_items(db)