RoR2: 1.20 content update (#1396)

## Adding in Explore Mode:

Features include:
* Added in `environments` to be items.
* `Location checks` are now `environment based` instead of being able to get them from anywhere.
* Added in support for the `DLC Survivors of the void` which include `Void Items` and `3 new maps` that come with it. (option added to use DLC)

---------

Co-authored-by: Dogpetkid <dogpetkid@gmail.com>
This commit is contained in:
kindasneaki
2023-02-05 13:51:03 -07:00
committed by GitHub
parent fb1a9e9c5a
commit cae1e683e2
8 changed files with 908 additions and 116 deletions

View File

@@ -1,13 +1,13 @@
from typing import Dict
from BaseClasses import Item
from .Options import ItemWeights
from .RoR2Environments import *
class RiskOfRainItem(Item):
game: str = "Risk of Rain 2"
# 37000 - 38000
# 37000 - 37699, 38000
item_table: Dict[str, int] = {
"Dio's Best Friend": 37001,
"Common Item": 37002,
@@ -19,9 +19,24 @@ item_table: Dict[str, int] = {
"Item Scrap, White": 37008,
"Item Scrap, Green": 37009,
"Item Scrap, Red": 37010,
"Item Scrap, Yellow": 37011
"Item Scrap, Yellow": 37011,
"Void Item": 37012
}
# 37700 - 37699
##################################################
# environments
environment_offest = 37700
# add ALL environments into the item table
environment_offset_table = shift_by_offset(environment_ALL_table, environment_offest)
item_table.update(shift_by_offset(environment_ALL_table, environment_offest))
# use the sotv dlc in the item table so that all names can be looked up regardless of use
# end of environments
##################################################
default_weights: Dict[str, int] = {
"Item Scrap, Green": 16,
"Item Scrap, Red": 4,
@@ -32,6 +47,7 @@ default_weights: Dict[str, int] = {
"Legendary Item": 8,
"Boss Item": 4,
"Lunar Item": 16,
"Void Item": 16,
"Equipment": 32
}
@@ -45,6 +61,7 @@ new_weights: Dict[str, int] = {
"Legendary Item": 10,
"Boss Item": 5,
"Lunar Item": 10,
"Void Item": 16,
"Equipment": 20
}
@@ -58,6 +75,7 @@ uncommon_weights: Dict[str, int] = {
"Legendary Item": 10,
"Boss Item": 5,
"Lunar Item": 15,
"Void Item": 16,
"Equipment": 20
}
@@ -71,6 +89,7 @@ legendary_weights: Dict[str, int] = {
"Legendary Item": 100,
"Boss Item": 5,
"Lunar Item": 15,
"Void Item": 16,
"Equipment": 20
}
@@ -84,6 +103,7 @@ lunartic_weights: Dict[str, int] = {
"Legendary Item": 0,
"Boss Item": 0,
"Lunar Item": 100,
"Void Item": 0,
"Equipment": 0
}
@@ -97,6 +117,7 @@ chaos_weights: Dict[str, int] = {
"Legendary Item": 30,
"Boss Item": 20,
"Lunar Item": 60,
"Void Item": 60,
"Equipment": 40
}
@@ -110,6 +131,7 @@ no_scraps_weights: Dict[str, int] = {
"Legendary Item": 15,
"Boss Item": 5,
"Lunar Item": 10,
"Void Item": 16,
"Equipment": 25
}
@@ -123,6 +145,7 @@ even_weights: Dict[str, int] = {
"Legendary Item": 1,
"Boss Item": 1,
"Lunar Item": 1,
"Void Item": 1,
"Equipment": 1
}
@@ -136,6 +159,21 @@ scraps_only: Dict[str, int] = {
"Legendary Item": 0,
"Boss Item": 0,
"Lunar Item": 0,
"Void Item": 0,
"Equipment": 0
}
void_weights: Dict[str, int] = {
"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": 0,
"Void Item": 100,
"Equipment": 0
}
@@ -148,7 +186,8 @@ item_pool_weights: Dict[int, Dict[str, int]] = {
ItemWeights.option_chaos: chaos_weights,
ItemWeights.option_no_scraps: no_scraps_weights,
ItemWeights.option_even: even_weights,
ItemWeights.option_scraps_only: scraps_only
ItemWeights.option_scraps_only: scraps_only,
ItemWeights.option_void: void_weights,
}
lookup_id_to_name: Dict[int, str] = {id: name for name, id in item_table.items()}