Browse Source

random script to print drop rates

pull/91/head
andy 3 years ago
parent
commit
6214335b2c
  1. 36
      tools/print_drop_rates.py

36
tools/print_drop_rates.py

@ -0,0 +1,36 @@
#!/usr/bin/env python3
import toml, os
# TODO
# print summary of all drops (all eps/diffs/ids)
# figure out a format for summary
# print specific monster info (ie: all falz drops for all ids, or only a specific id, or only an episode)
# search for specific item drop rate across all eps/diffs/ids
# search for specific item in a specific criteria (ie: only look for vjaya drops in ep1, or only for specific section id, or specific episode
episodes = ['ep1', 'ep2', 'ep4']
difficulties = ['normal', 'hard', 'veryhard', 'ultimate']
sectionids = ['viridia', 'greenill', 'skyly', 'bluefull', 'purplenum', 'pinkal', 'redria', 'oran', 'yellowboze', 'whitill']
base_dir = '../data/drops/' # assumes script is running from /path/to/elseware/tools
def print_all_drops():
for episode in episodes:
for difficulty in difficulties:
for sectionid in sectionids:
rare_rates = toml.load('{}/{}/{}/{}/rare_rate.toml'.format(base_dir, episode, difficulty, sectionid))
dar_rates = toml.load('{}/{}/{}/{}/monster_dar.toml'.format(base_dir, episode, difficulty, sectionid))
for key in rare_rates.keys():
monster = key
item = rare_rates[key][0]['item']
droprate = rare_rates[key][0]['rate'] * (dar_rates[key]['dar']/100)
print('{},{},{},{},{},{:.4f}'.format(episode, difficulty, sectionid, monster, item, droprate * 100))
def main():
print_all_drops()
if __name__ == '__main__':
main()
Loading…
Cancel
Save