random script to print drop rates
This commit is contained in:
		
							parent
							
								
									da18931684
								
							
						
					
					
						commit
						6214335b2c
					
				
							
								
								
									
										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