random script to print drop rates
This commit is contained in:
		
							parent
							
								
									2f3c72cdc8
								
							
						
					
					
						commit
						c8c897694c
					
				
							
								
								
									
										36
									
								
								tools/print_drop_rates.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								tools/print_drop_rates.py
									
									
									
									
									
										Normal file
									
								
							@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user