diff --git a/polylan_submitter/noita/services/decode.py b/polylan_submitter/noita/services/decode.py index 4271f68..a6e24f9 100644 --- a/polylan_submitter/noita/services/decode.py +++ b/polylan_submitter/noita/services/decode.py @@ -65,52 +65,96 @@ DEATH_PENALTY = 1 # All scoreable events: base 1 pt for every spell and perk, overrides below. POINTS = { # ── Spells ─────────────────────────────────────────────────────────────── - **{sid: 1 for sid in ALL_SPELLS}, + **{sid: 3 for sid in ALL_SPELLS}, "ADD_TRIGGER": 10, + "ADD_TIMER": 10, + "ADD_DEATH_TRIGGER": 10, "NOLLA": 10, "CHAOTIC_TRANSMUTATION": 10, "DUPLICATE": 5, "OMEGA": 10, - "HEALING_BOLT": 5, + "BURST_2": 10, + "BURST_3": 15, + "BURST_4": 20, + "BURST_8": 20, + "BURST_X": 20, + "HEAL_BULLET": 5, + "ANTIHEAL": 5, + "NUKE": 5, + "NUKE_GIGA": 5, + "TELEPORT_PROJECTILE": 5, + "TELEPORT_PROJECTILE_SHORT": 5, + "TOUCH_BLOOD": 100, + "TOUCH_GOLD": 100, + "TOUCH_PISS": 100, + "TOUCH_GRASS": 100, + "TOUCH_OIL": 100, + "TOUCH_SMOKE": 100, + "TOUCH_ALCOHOL": 100, + "TOUCH_WATER": 100, + "SPELLS_TO_POWER": 10, + "ALL_SPELLS": 100, + "DIVIDE_2": 10, + "DIVIDE_3": 15, + "DIVIDE_4": 20, + "DIVIDE_10": 50, + "ALPHA": 50, + "GAMMA": 50, + "MU": 50, + "OMEGA": 50, + "PHI": 50, + "SIGMA": 50, + "TAU": 50, + "ZETA": 50, + "DISC_BULLET_BIGGER": 20, + "SUMMON_WANDGHOST": 50, + "ALL_BLACKHOLES": 20, + "ALL_DEATHCROSSES": 20, + "ALL_ROCKETS": 20, + "ALL_NUKES": 20, + "ALL_DISCS": 20, # ── Perks ───────────────────────────────────────────────────────────────── - **{pid: 1 for pid in ALL_PERKS}, - "EDIT_WANDS_EVERYWHERE": 10, + **{pid: 15 for pid in ALL_PERKS}, + "PROTECTION_FIRE": 30, + "PROTECTION_RADIOACTIVITY": 30, + "PROTECTION_EXPLOSION": 30, + "PROTECTION_MELEE": 30, + "PROTECTION_ELECTRICITY": 30, # ── Spell combos ───────────────────────────────────────────────────────── - "PING_PONG_DRILL": 10, - "HEAVY_SHOT_DISC": 10, - "TOUCH_OF_ANY": 5, - "TWO_ARC_MODIFIERS": 10, - "TWO_TRAIL_MODIFIERS": 10, + "PING_PONG_DRILL": 40, + "HEAVY_SHOT_DISC": 40, + "TWO_ARC_MODIFIERS": 50, + "TWO_TRAIL_MODIFIERS": 50, # ── Perk combos ────────────────────────────────────────────────────────── - "CRIMSON_ALCHEMIST": 15, - "GREEDY_GOBLIN_KING": 15, - "STORM_TOUCHED_ASCENDANT": 15, - "ARCHMAGE_OF_CONTROL": 15, - "HAUNTED_MAGE": 15, - "GLASS_CANNON_MESSIAH": 15, - "INFINITE_ENGINE": 15, - "PERFECT_ACCURACY_LOOP": 15, - "HOMING_DEATH_SWARM": 15, - "UNTOUCHABLE_FIELD": 15, - "ELECTRIC_SUSTAIN_LOOP": 15, - "IMMORTAL_LEECH_CORE": 15, - "PROJECTILE_OVERLOAD": 15, - "CLOSE_RANGE_DEATH_MACHINE": 15, - "CRITICAL_MASS": 15, - "HOLY_MOUNTAIN_ABUSER": 15, - "DEFLECTOR_MATRIX": 15, - "STORMBORNE_LEVITATOR": 15, + "CRIMSON_ALCHEMIST": 50, + "GREEDY_GOBLIN_KING": 50, + "STORM_TOUCHED_ASCENDANT": 50, + "ARCHMAGE_OF_CONTROL": 50, + "HAUNTED_MAGE": 50, + "GLASS_CANNON_MESSIAH": 50, + "INFINITE_ENGINE": 50, + "PERFECT_ACCURACY_LOOP": 50, + "HOMING_DEATH_SWARM": 50, + "UNTOUCHABLE_FIELD": 50, + "ELECTRIC_SUSTAIN_LOOP": 50, + "IMMORTAL_LEECH_CORE": 50, + "PROJECTILE_OVERLOAD": 50, + "CLOSE_RANGE_DEATH_MACHINE": 50, + "CRITICAL_MASS": 50, + "HOLY_MOUNTAIN_ABUSER": 50, + "DEFLECTOR_MATRIX": 50, + "STORMBORNE_LEVITATOR": 50, # ── Objectives ─────────────────────────────────────────────────────────── - "HP_200": 5, - "HP_500": 5, - "HP_2000": 5, - "HP_5000": 5, + "HP_200": 50, + "HP_500": 50, + "HP_2000": 100, + "HP_5000": 500, "GOLD_1000": 5, - "GOLD_10000": 5, - "GOLD_100000": 5, - "GOLD_1000000": 5, - **{f"ORB_{i}": 5 for i in range(34)}, - "FIND_AMBROSIA": 10, + "GOLD_10000": 50, + "GOLD_100000": 100, + "GOLD_1000000": 200, + **{f"ORB_{i}": 25 for i in range(34)}, + **{f"BOSS_KILL_{i}": 75 * i for i in range(34)}, "WAND_MANA_500": 10, "WAND_MANA_1000": 10, "WAND_MANA_1500": 10, diff --git a/polylan_submitter/noita/services/objectives.py b/polylan_submitter/noita/services/objectives.py index a7dd53d..129a7da 100644 --- a/polylan_submitter/noita/services/objectives.py +++ b/polylan_submitter/noita/services/objectives.py @@ -28,7 +28,7 @@ def parse_objectives_and_store(logfile: LogfileSubmission) -> None: counter = parse_objectives_from_logfile(logfile) for idx, count in counter.items(): - if idx in {"-", "DEBUG"}: + if idx in {"-", "DEBUG", "polylan-mod"}: continue obj, created = Objectiv.objects.get_or_create( diff --git a/polylan_submitter/src/Noita.vue b/polylan_submitter/src/Noita.vue index 180f1ec..a0ebdae 100644 --- a/polylan_submitter/src/Noita.vue +++ b/polylan_submitter/src/Noita.vue @@ -1,9 +1,11 @@