From 482794473972a1265308fcb89069066483bbdda0 Mon Sep 17 00:00:00 2001 From: Starfall Date: Wed, 7 Feb 2024 17:54:47 -0600 Subject: dropcalc: Median XL .txt parser Was intended to eventually become a drop calculator. Might work for other Diablo II mods without changes, I don't think there are any MXL-specific fields involved in this. Abandoned due to lack of organizational structure on the project and ... creative differences with one of the lead devs. --- dropcalc/mxl_types/unique.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 dropcalc/mxl_types/unique.py (limited to 'dropcalc/mxl_types/unique.py') diff --git a/dropcalc/mxl_types/unique.py b/dropcalc/mxl_types/unique.py new file mode 100644 index 0000000..49c4e39 --- /dev/null +++ b/dropcalc/mxl_types/unique.py @@ -0,0 +1,18 @@ +from sqlalchemy import ForeignKey +from sqlalchemy.orm import Mapped, mapped_column + +from . import BaseDAO + + +class UniqueItem(BaseDAO): + filename = "UniqueItems.txt" + __tablename__ = "unique_item" + + id: Mapped[int] = mapped_column(primary_key=True) + index: Mapped[str] # string reference, often also human-readable + code = mapped_column(ForeignKey("base.code")) + rarity: Mapped[int] # drop frequency, relative to other uniques on this base + lvl: Mapped[int] # minimum drop level + + def is_valid(self): + return self.enabled == "1" # TODO: can we create fixed drop but not randomly available uniques by setting this to 0? -- cgit