Skip to content

Commit

Permalink
v0.6.2 (#342)
Browse files Browse the repository at this point in the history
* The calculated defense of an item is sometimes double (?) what it actually is #339

* [Not Recognized Modifier] - multiple Waystone modifiers #331

* version bump
  • Loading branch information
Kvan7 authored Jan 22, 2025
1 parent e838549 commit 61dcd4b
Show file tree
Hide file tree
Showing 36 changed files with 42,991 additions and 43,226 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ![Perfect Jewelers Orb](./renderer/public/images/jeweler.png) Exiled Exchange 2

![GitHub Downloads (specific asset, latest release)](https://img.shields.io/github/downloads/kvan7/exiled-exchange-2/latest/Exiled-Exchange-2-Setup-0.6.1.exe?style=plastic&link=https%3A%2F%2Ftooomm.github.io%2Fgithub-release-stats%2F%3Fusername%3Dkvan7%26repository%3DExiled-Exchange-2)
![GitHub Downloads (specific asset, latest release)](https://img.shields.io/github/downloads/kvan7/exiled-exchange-2/latest/Exiled-Exchange-2-Setup-0.6.2.exe?style=plastic&link=https%3A%2F%2Ftooomm.github.io%2Fgithub-release-stats%2F%3Fusername%3Dkvan7%26repository%3DExiled-Exchange-2)
![GitHub Tag](https://img.shields.io/github/v/tag/kvan7/exiled-exchange-2?style=plastic&label=latest%20version)
![GitHub commits since latest release (branch)](https://img.shields.io/github/commits-since/kvan7/exiled-exchange-2/latest/dev?style=plastic)

Expand Down
696 changes: 350 additions & 346 deletions dataParser/data/cmn-Hant/stats.ndjson

Large diffs are not rendered by default.

692 changes: 348 additions & 344 deletions dataParser/data/de/stats.ndjson

Large diffs are not rendered by default.

692 changes: 348 additions & 344 deletions dataParser/data/en/stats.ndjson

Large diffs are not rendered by default.

694 changes: 349 additions & 345 deletions dataParser/data/es/stats.ndjson

Large diffs are not rendered by default.

694 changes: 349 additions & 345 deletions dataParser/data/ja/stats.ndjson

Large diffs are not rendered by default.

692 changes: 348 additions & 344 deletions dataParser/data/ko/stats.ndjson

Large diffs are not rendered by default.

690 changes: 347 additions & 343 deletions dataParser/data/ru/stats.ndjson

Large diffs are not rendered by default.

146 changes: 132 additions & 14 deletions dataParser/vendor/client/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,109 @@
"es": "Spanish",
}

HARDCODE_MAP_HYBRID_MODS = {
"mapmonsterstunailmentthreshold",
"mapmonsterelementailmentchance",
"mapmonsterdamageasfire",
"mapmonsterdamageascold",
"mapmonsterdamageaslightning",
"mapmonsterdamageincrease",
"mapmonsterspeedincrease",
"mapmonstercritincrease",
"mapmonsterlifeincrease",
"mapmonsterelementalresistances",
"mapmonsterarmoured",
"mapmonsterevasive",
"mapmonsterenergyshield",
"mapmonsterpoisoning",
"mapmonsterbleeding",
"mapmonsterarmourbreak",
"mapmonsteraccuracy",
"mapmonsterdamageaschaos",
"mapmonsterstunbuildup",
"mapmonsteradditionalprojectiles",
"mapmonsterincreasedareaofeffect",
"mapplayerenfeeble",
"mapplayertemporalchains",
"mapplayerelementalweakness",
"mapmonsterselementalpenetration",
"mapplayermaximumresists",
"mapplayerflaskchargegain",
"mapplayerrecoveryrate",
"mapmonstersbaseselfcriticalmultiplier",
"mapmonsterscurseeffectonself",
"mapmonstersstealcharges",
"mapplayercooldownrecovery",
}

HARDCODE_MAP_MODS = {
"mapdroppeditemrarityincrease",
"mapdroppedgoldincrease",
"mapexperiencegainincrease",
"mappacksizeincrease",
"maptotaleffectivenessincrease",
"mapchestcountincrease",
"mapmagicpackincrease",
"maprarepackincrease",
"mapmagicchestcountincrease",
"maprarechestcountincrease",
"mapmagicpacksizeincrease",
# "mapraremonstersadditionalmodifier",
"mapadditionalshrine",
"mapadditionalstrongbox",
"mapadditionalessence",
"mapmonsteradditionalpacksundead",
"mapmonsteradditionalpacksbeasts",
"mapmonsteradditionalpacksezomyte",
"mapmonsteradditionalpacksfaridun",
"mapmonsteradditionalpacksvaal",
"mapmonsteradditionalpacksbaron",
"mapmonsteradditionalpacksperennial",
"mapmonsteradditionalpacksdoryani",
"mapmonsteradditionalpackbramble",
"mapspreadburningground",
"mapspreadchilledground",
"mapspreadshockedground",
"mapchestsalwaysmagicrare",
"base_item_found_quantity_+%",
"map_map_item_drop_chance_+%",
# "mapsimulacrumdamageasfire",
# "mapsimulacrumdamageascold",
# "mapsimulacrumdamageaslightning",
# "mapsimulacrumdamageaschaos",
# "mapsimulacrumdamage",
"mapmonsterdamageasfire",
"mapmonsterdamageascold",
"mapmonsterdamageaslightning",
"mapmonsterdamageincrease",
"mapmonsterspeedincrease",
"mapmonstercritincrease",
"mapmonsterlifeincrease",
"mapmonsterelementalresistances",
"mapmonsterarmoured",
"mapmonsterevasive",
"mapmonsterenergyshield",
"mapmonsterpoisoning",
"mapmonsterbleeding",
"mapmonsterarmourbreak",
"mapmonsteraccuracy",
"mapmonsterdamageaschaos",
"mapmonsterstunbuildup",
"mapmonsteradditionalprojectiles",
"mapmonsterincreasedareaofeffect",
"mapplayerenfeeble",
"mapplayertemporalchains",
"mapplayerelementalweakness",
"mapmonsterselementalpenetration",
"mapplayermaximumresists",
"mapplayerflaskchargegain",
"mapplayerrecoveryrate",
"mapmonstersbaseselfcriticalmultiplier",
"mapmonsterscurseeffectonself",
"mapmonstersstealcharges",
"mapplayercooldownrecovery",
}


def find_first_matching_item(items, field: str, value: str) -> dict | None:
return next((item for item in items if item.get(field) == value), None)
Expand Down Expand Up @@ -540,24 +643,40 @@ def parse_mods(self):
if main_translation is None:
continue

if len(translations) > 1:
if len(translations) > 1 and base_id not in HARDCODE_MAP_HYBRID_MODS:
# first translation where
if main_translation.get("ref").count("#") == 1:
hybrid_count += 1
hybrids.append((base_id, translations))
continue
stats_from_tiers.add(stat_id)
self.mods[base_id] = {
"ref": main_translation.get("ref"),
"better": 1,
"id": stat_id,
"matchers": main_translation.get("matchers"),
"trade": trade,
"tiers": tiers,
}

if base_id.lower().startswith("map"):
self.mods[base_id]["fromAreaMods"] = True
if base_id in HARDCODE_MAP_HYBRID_MODS:
non_waystone_translations = [
t for t in translations if "waystone" not in t.get("ref").lower()
]
for index, allowed_hybrid_translation in enumerate(
non_waystone_translations
):
self.mods[f"{base_id}_{index}"] = {
"ref": allowed_hybrid_translation.get("ref"),
"better": 1,
"id": f"{base_id}_{index}",
"matchers": allowed_hybrid_translation.get("matchers"),
"trade": {"ids": ids_list[index]},
"tiers": tiers,
"fromAreaMods": True,
}
else:
self.mods[base_id] = {
"ref": main_translation.get("ref"),
"better": 1,
"id": stat_id,
"matchers": main_translation.get("matchers"),
"trade": trade,
"tiers": tiers,
}
if base_id in HARDCODE_MAP_MODS:
self.mods[base_id]["fromAreaMods"] = True

for mod in self.mods_file:
id = mod.get("Id")
Expand Down Expand Up @@ -613,8 +732,7 @@ def parse_mods(self):
"matchers": translation.get("matchers"),
"trade": trade,
}

if id.lower().startswith("map"):
if stats_id in HARDCODE_MAP_MODS:
self.mods[id]["fromAreaMods"] = True
else:
logger.debug(
Expand Down
Loading

0 comments on commit 61dcd4b

Please sign in to comment.