144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from BaseClasses import Item
 | 
						|
import typing
 | 
						|
 | 
						|
class RiskOfRainItem(Item):
 | 
						|
    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,
 | 
						|
}
 | 
						|
 | 
						|
default_weights = {
 | 
						|
    "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,
 | 
						|
    "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": 10,
 | 
						|
    "Equipment": 20
 | 
						|
}
 | 
						|
 | 
						|
uncommon_weights = {
 | 
						|
    "Item Scrap, Green": 45,
 | 
						|
    "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": 20
 | 
						|
}
 | 
						|
 | 
						|
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": 20
 | 
						|
}
 | 
						|
 | 
						|
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": 100,
 | 
						|
    "Uncommon Item": 40,
 | 
						|
    "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
 | 
						|
}
 | 
						|
 | 
						|
scraps_only = {
 | 
						|
    "Item Scrap, Green": 70,
 | 
						|
    "Item Scrap, White": 100,
 | 
						|
    "Item Scrap, Red": 30,
 | 
						|
    "Item Scrap, Yellow": 5,
 | 
						|
    "Common Item": 0,
 | 
						|
    "Uncommon Item": 0,
 | 
						|
    "Legendary Item": 0,
 | 
						|
    "Boss Item": 0,
 | 
						|
    "Lunar Item": 0,
 | 
						|
    "Equipment": 0
 | 
						|
}
 | 
						|
 | 
						|
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,
 | 
						|
    7: even_weights,
 | 
						|
    8: scraps_only
 | 
						|
}
 | 
						|
 | 
						|
lookup_id_to_name: typing.Dict[int, str] = {id: name for name, id in item_table.items() if id}
 |