| 
									
										
										
										
											2021-08-29 14:02:02 -04:00
										 |  |  | from BaseClasses import Item | 
					
						
							|  |  |  | import typing | 
					
						
							| 
									
										
										
										
											2021-09-07 17:14:20 -05:00
										 |  |  | from random import randint | 
					
						
							| 
									
										
										
										
											2021-08-29 14:02:02 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-07 09:22:12 -05:00
										 |  |  | class RiskOfRainItem(Item): | 
					
						
							| 
									
										
										
										
											2021-08-29 14:02:02 -04:00
										 |  |  |     game: str = "Risk of Rain 2" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # 37000 - 38000 | 
					
						
							|  |  |  | item_table = { | 
					
						
							|  |  |  |     "Dio's Best Friend": 37001, | 
					
						
							|  |  |  |     "Common Item": 37002, | 
					
						
							|  |  |  |     "Uncommon Item": 37003, | 
					
						
							|  |  |  |     "Legendary Item": 37004, | 
					
						
							|  |  |  |     "Boss Item": 37005, | 
					
						
							|  |  |  |     "Lunar Item": 37006, | 
					
						
							|  |  |  |     "Equipment": 37007, | 
					
						
							|  |  |  |     "Item Scrap, White": 37008, | 
					
						
							|  |  |  |     "Item Scrap, Green": 37009, | 
					
						
							|  |  |  |     "Item Scrap, Red": 37010, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 37011, | 
					
						
							|  |  |  |     "Victory": None, | 
					
						
							|  |  |  |     "Beat Level One": None, | 
					
						
							|  |  |  |     "Beat Level Two": None, | 
					
						
							|  |  |  |     "Beat Level Three": None, | 
					
						
							|  |  |  |     "Beat Level Four": None, | 
					
						
							|  |  |  |     "Beat Level Five": None, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-07 17:14:20 -05:00
										 |  |  | default_weights = { | 
					
						
							| 
									
										
										
										
											2021-08-29 14:02:02 -04:00
										 |  |  |     "Item Scrap, Green": 16, | 
					
						
							|  |  |  |     "Item Scrap, Red": 4, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 1, | 
					
						
							|  |  |  |     "Item Scrap, White": 32, | 
					
						
							|  |  |  |     "Common Item": 64, | 
					
						
							|  |  |  |     "Uncommon Item": 32, | 
					
						
							|  |  |  |     "Legendary Item": 8, | 
					
						
							|  |  |  |     "Boss Item": 4, | 
					
						
							|  |  |  |     "Lunar Item": 16, | 
					
						
							| 
									
										
										
										
											2021-09-07 17:14:20 -05:00
										 |  |  |     "Equipment": 32 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | new_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 15, | 
					
						
							|  |  |  |     "Item Scrap, Red": 5, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 1, | 
					
						
							|  |  |  |     "Item Scrap, White": 30, | 
					
						
							|  |  |  |     "Common Item": 75, | 
					
						
							|  |  |  |     "Uncommon Item": 40, | 
					
						
							|  |  |  |     "Legendary Item": 10, | 
					
						
							|  |  |  |     "Boss Item": 5, | 
					
						
							|  |  |  |     "Lunar Item": 15, | 
					
						
							|  |  |  |     "Equipment": 25 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | uncommon_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 15, | 
					
						
							|  |  |  |     "Item Scrap, Red": 5, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 1, | 
					
						
							|  |  |  |     "Item Scrap, White": 30, | 
					
						
							|  |  |  |     "Common Item": 45, | 
					
						
							|  |  |  |     "Uncommon Item": 100, | 
					
						
							|  |  |  |     "Legendary Item": 10, | 
					
						
							|  |  |  |     "Boss Item": 5, | 
					
						
							|  |  |  |     "Lunar Item": 15, | 
					
						
							|  |  |  |     "Equipment": 25 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | legendary_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 15, | 
					
						
							|  |  |  |     "Item Scrap, Red": 5, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 1, | 
					
						
							|  |  |  |     "Item Scrap, White": 30, | 
					
						
							|  |  |  |     "Common Item": 50, | 
					
						
							|  |  |  |     "Uncommon Item": 25, | 
					
						
							|  |  |  |     "Legendary Item": 100, | 
					
						
							|  |  |  |     "Boss Item": 5, | 
					
						
							|  |  |  |     "Lunar Item": 15, | 
					
						
							|  |  |  |     "Equipment": 25 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | lunartic_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 0, | 
					
						
							|  |  |  |     "Item Scrap, Red": 0, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 0, | 
					
						
							|  |  |  |     "Item Scrap, White": 0, | 
					
						
							|  |  |  |     "Common Item": 0, | 
					
						
							|  |  |  |     "Uncommon Item": 0, | 
					
						
							|  |  |  |     "Legendary Item": 0, | 
					
						
							|  |  |  |     "Boss Item": 0, | 
					
						
							|  |  |  |     "Lunar Item": 100, | 
					
						
							|  |  |  |     "Equipment": 0 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | no_scraps_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 0, | 
					
						
							|  |  |  |     "Item Scrap, Red": 0, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 0, | 
					
						
							|  |  |  |     "Item Scrap, White": 0, | 
					
						
							|  |  |  |     "Common Item": 80, | 
					
						
							|  |  |  |     "Uncommon Item": 30, | 
					
						
							|  |  |  |     "Legendary Item": 15, | 
					
						
							|  |  |  |     "Boss Item": 5, | 
					
						
							|  |  |  |     "Lunar Item": 10, | 
					
						
							|  |  |  |     "Equipment": 25 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | even_weights = { | 
					
						
							|  |  |  |     "Item Scrap, Green": 1, | 
					
						
							|  |  |  |     "Item Scrap, Red": 1, | 
					
						
							|  |  |  |     "Item Scrap, Yellow": 1, | 
					
						
							|  |  |  |     "Item Scrap, White": 1, | 
					
						
							|  |  |  |     "Common Item": 1, | 
					
						
							|  |  |  |     "Uncommon Item": 1, | 
					
						
							|  |  |  |     "Legendary Item": 1, | 
					
						
							|  |  |  |     "Boss Item": 1, | 
					
						
							|  |  |  |     "Lunar Item": 1, | 
					
						
							|  |  |  |     "Equipment": 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | item_pool_weights: typing.Dict[int, typing.Dict[str, int]] = { | 
					
						
							|  |  |  |     0: default_weights, | 
					
						
							|  |  |  |     1: new_weights, | 
					
						
							|  |  |  |     2: uncommon_weights, | 
					
						
							|  |  |  |     3: legendary_weights, | 
					
						
							|  |  |  |     4: lunartic_weights, | 
					
						
							|  |  |  |     6: no_scraps_weights, | 
					
						
							| 
									
										
										
										
											2021-09-26 14:22:46 -05:00
										 |  |  |     7: even_weights | 
					
						
							| 
									
										
										
										
											2021-08-29 14:02:02 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | lookup_id_to_name: typing.Dict[int, str] = {id: name for name, id in item_table.items() if id} |