diff --git a/mysite/consts/consts_general.py b/mysite/consts/consts_general.py index 6d66ae3e..081653d7 100644 --- a/mysite/consts/consts_general.py +++ b/mysite/consts/consts_general.py @@ -2,6 +2,7 @@ from consts.idleon.lava_func import lava_func from utils.logging import get_consts_logger from utils.number_formatting import parse_number +from utils.text_formatting import getItemDisplayName logger = get_consts_logger(__name__) @@ -327,14 +328,14 @@ 'FoodPotYe5', 'Leaf5', # W5 'Leaf6', # W6 'EquipmentStatues7', 'EquipmentStatues3', 'EquipmentStatues2', 'EquipmentStatues4', 'EquipmentStatues14', # 'W1' statues, some in W1-W3 - 'EquipmentStatues1', 'EquipmentStatues5', # Plausible but time consuming + 'EquipmentStatues1', 'EquipmentStatues5', 'EquipmentStatues10', 'EquipmentStatues12', 'EquipmentStatues13', 'EquipmentStatues8', 'EquipmentStatues11', # W2 statues are all slower than Power/Health 'rtt0', 'StoneZ1', 'StoneT1', 'StoneW1', 'StoneA1', 'StoneHelm1', #W1 Slow drops = Town TP + Stones 'StoneT2', 'StoneZ2', 'StoneW2', 'StoneA2', # W2 upgrade stones and Mystery2 'PureWater', 'EquipmentStatues18', #W3 Slow drops = Distilled Water + EhExPee Statue 'EquipmentStatues20', 'EquipmentStatues21', 'EquipmentStatues22', # W4 Statues 'EquipmentStatues23', 'EquipmentStatues24', 'EquipmentStatues25', 'FoodG9', 'StoneZ3', #W5 Slow drops = Golden W5 Sammy + Statues - # 'FoodG11', 'FoodG12' #W6 gold foods + 'FoodG11', 'FoodG12' #W6 gold foods ], 'Printable Skilling Resources': [ 'OakTree', 'BirchTree', 'JungleTree', 'ForestTree', 'ToiletTree', 'PalmTree', 'StumpTree', 'SaharanFoal', # Logs1 @@ -388,8 +389,8 @@ 'EquipmentStatues9', 'EquipmentStatues15', 'EquipmentStatues16', 'EquipmentStatues17', 'EquipmentStatues19', 'EquipmentStatues26', 'EquipmentStatues27', 'EquipmentStatues28', 'EquipmentStatues29', 'EquipmentStatues30', 'EquipmentStatues31', 'EquipmentStatues32', - 'Cutter', 'OilBarrel2', 'Sewers1b', 'TreeInterior1b', 'FoodPotRe2', 'FoodPotRe1', # W1 Rare Drops - 'DesertC2b', 'DesertA3b', 'DesertA1b', 'MidnightCookie', # W2 Rare Drops + 'Cutter', 'OilBarrel2', 'Sewers1b', 'TreeInterior1b', 'FoodPotRe2', 'FoodPotRe1', 'Key1', # W1 Rare Drops + 'DesertC2b', 'DesertA3b', 'DesertA1b', 'MidnightCookie', 'Key2', # W2 Rare Drops 'Quest78', 'SnowC4a', 'SnowB2a', 'SnowA2a', 'FoodHealth9', 'FoodPotMana3', 'FoodPotGr3', 'Key3', # W3 Rare Drops # W4 'GalaxyC1b', 'GalaxyA2b', 'Key4', 'PetEgg', @@ -398,7 +399,6 @@ # W5 'LavaA1b', 'LavaA5b', 'LavaB3b', 'Key5', 'Line4', 'Weight9', 'EfauntDrop1', 'EfauntDrop2', 'Chiz0', 'Chiz1', 'TrollPart', 'KrukPart2', # Basic Efaunt material - # 'Key2', # Efaunt key 'SpiA2b', 'SpiB2b', 'Quest95', #W6 Rare Drops 'FoodG1', 'FoodG2', 'FoodG3', 'FoodG4', 'FoodG5', 'FoodG6', 'FoodG7', 'FoodG8', 'FoodG10', # Gold Foods 'FoodG11', 'FoodG12', 'FoodG13', 'FoodG14', 'FoodG15', 'ButterBar', # Gold Foods @@ -450,9 +450,7 @@ gstack_rated_not_expected = [item for item in gstacks_rated_items if item not in gstackable_codenames_expected] if len(gstack_rated_not_expected) > 0: logger.warning(f"{len(gstack_rated_not_expected)} Rated but not Expected Greenstacks found: {gstack_rated_not_expected}") -gstack_expected_not_rated = [item for item in gstackable_codenames_expected if item not in gstacks_rated_items] -if len(gstack_expected_not_rated) > 0: - logger.warning(f"{len(gstack_expected_not_rated)} Expected but not Rated Greenstacks found: {gstack_expected_not_rated}") +gstack_expected_not_rated = {item:getItemDisplayName(item) for item in gstackable_codenames_expected if item not in gstacks_rated_items} gstack_unique_expected = set() gstack_duplicate_expected = set() for item_name in gstackable_codenames_expected: diff --git a/mysite/consts/manage_consts.py b/mysite/consts/manage_consts.py index 3131679f..d9b8f8d2 100644 --- a/mysite/consts/manage_consts.py +++ b/mysite/consts/manage_consts.py @@ -3,7 +3,7 @@ # instead of once per profile/data submit. from consts import consts_w2, progression_tiers -from consts.consts_general import gstack_unique_expected, cardset_names, max_card_stars +from consts.consts_general import gstack_unique_expected, cardset_names, max_card_stars, greenstack_item_difficulty_groups, gstack_expected_not_rated from consts.consts_item_data import ITEM_DATA from consts.w1.stamps import unavailable_stamps_list, stamp_maxes from consts.consts_w2 import max_maxable_vials @@ -20,15 +20,24 @@ def finalize_consts(): finalize_w2_vials() def finalize_general_greenstacks(): + #Update consts_general.greenstack_item_difficulty_groups with a final group with all currently unclassified items try: - assert greenstack_progressionTiers[5]['Required Stacks'] == len(gstack_unique_expected) + next_tier = 1 + max(greenstack_item_difficulty_groups.keys()) + greenstack_item_difficulty_groups[next_tier] = {"Needing to be properly tiered": list(gstack_expected_not_rated.keys())} + logger.debug(f"Successfully created additional GStack tier containing {len(gstack_expected_not_rated)} items: {greenstack_item_difficulty_groups[next_tier]}") + except Exception as e: + logger.exception(f"Failed to construct final GStacks tier") + + #Log error if the GStack item counts are out of sync between dict and progressionTier + try: + assert greenstack_progressionTiers[max(greenstack_progressionTiers.keys())]['Required Stacks'] == len(gstack_unique_expected) except AssertionError: logger.error( f"Total number of Expected GStacks not in sync between " - f"tier {greenstack_progressionTiers[5]['Required Stacks']} and " + f"tier {greenstack_progressionTiers[max(greenstack_progressionTiers.keys())]['Required Stacks']} and " f"list {len(gstack_unique_expected)}" ) - greenstack_progressionTiers[5]['Required Stacks'] = max(greenstack_progressionTiers[5]['Required Stacks'], len(gstack_unique_expected)) + greenstack_progressionTiers[max(greenstack_progressionTiers.keys())]['Required Stacks'] = max(greenstack_progressionTiers[max(greenstack_progressionTiers.keys())]['Required Stacks'], len(gstack_unique_expected)) def finalize_general_cards(): try: diff --git a/mysite/consts/progression_tiers.py b/mysite/consts/progression_tiers.py index bfc144f5..c2ca2abc 100644 --- a/mysite/consts/progression_tiers.py +++ b/mysite/consts/progression_tiers.py @@ -138,7 +138,9 @@ 2: {'Dream Number': 12, 'Required Stacks': 75}, 3: {'Dream Number': 29, 'Required Stacks': 200}, 4: {'Required Stacks': 250}, - 5: {'Required Stacks': 320} + 5: {'Required Stacks': 300}, + 6: {'Required Stacks': 350}, + 7: {'Required Stacks': 400} } achievements_progressionTiers = { 0: {}, diff --git a/mysite/general/greenstacks.py b/mysite/general/greenstacks.py index 44b7a7ea..66cb84f6 100644 --- a/mysite/general/greenstacks.py +++ b/mysite/general/greenstacks.py @@ -257,7 +257,7 @@ def getGStackAdviceSections(): #Equinox Dream Review overall_SectionTier = 0 - optional_tiers = 2 + optional_tiers = 4 true_max = max(greenstack_progressionTiers.keys(), default=0) max_tier = true_max - optional_tiers dream_advice = {}