Skip to content

Genshin Calculator Models

calculator

Genshin calculator models.

Classes:

Attributes:

CALCULATOR_ARTIFACTS module-attribute

CALCULATOR_ARTIFACTS: Mapping[int, str] = {
    1: "Flower of Life",
    2: "Plume of Death",
    3: "Sands of Eon",
    4: "Goblet of Eonothem",
    5: "Circlet of Logos",
}

CALCULATOR_ELEMENTS module-attribute

CALCULATOR_ELEMENTS: Mapping[int, str] = {
    1: "Pyro",
    2: "Anemo",
    3: "Geo",
    4: "Dendro",
    5: "Electro",
    6: "Hydro",
    7: "Cryo",
}

CALCULATOR_WEAPON_TYPES module-attribute

CALCULATOR_WEAPON_TYPES: Mapping[int, str] = {
    0: "Unknown",
    1: "Sword",
    10: "Catalyst",
    11: "Claymore",
    12: "Bow",
    13: "Polearm",
}

CalculatorArtifact pydantic-model

Artifact meant to be used with calculators.

Fields:

icon pydantic-field

icon: str

id pydantic-field

id: int

level pydantic-field

level: int = 0

max_level pydantic-field

max_level: int

name pydantic-field

name: str

pos pydantic-field

pos: int

pos_name property

pos_name: str

rarity pydantic-field

rarity: int

CalculatorArtifactResult pydantic-model

Calculation result for a specific artifact.

Fields:

artifact_id pydantic-field

artifact_id: int

materials pydantic-field

CalculatorBatchResult pydantic-model

Batch calculation result.

Fields:

available_materials pydantic-field

available_materials: list[CalculatorConsumable]

characters pydantic-field

characters: list[CalculatorResult]

has_user_info pydantic-field

has_user_info: bool

individual_results pydantic-field

individual_results: Sequence[CalculatorBatchResult]

total_material_details pydantic-field

total_material_details: RemainingMaterialDetails

total_materials pydantic-field

total_materials: list[CalculatorConsumable]

total_remaining_required_materials property

total_remaining_required_materials: Sequence[
    CalculatorConsumable
]

CalculatorCharacter pydantic-model

Character meant to be used with calculators.

Fields:

Validators:

element pydantic-field

element: str

level pydantic-field

level: int = 0

max_level pydantic-field

max_level: int

weapon_type pydantic-field

weapon_type: str

CalculatorCharacterDetails pydantic-model

Details of a synced calculator character.

Fields:

Validators:

  • __correct_talent_current_level → talents

artifacts pydantic-field

talents pydantic-field

upgradeable_talents property

upgradeable_talents: Sequence[CalculatorTalent]

All talents that can be leveled up.

weapon pydantic-field

CalculatorConsumable pydantic-model

Item consumed when upgrading.

Fields:

amount pydantic-field

amount: int = 1

icon pydantic-field

icon: str

id pydantic-field

id: int

lacking pydantic-field

lacking: int = 0

name pydantic-field

name: str

rarity pydantic-field

rarity: int

wiki_url pydantic-field

wiki_url: str

CalculatorDomain pydantic-model

Domain that drops a material.

Fields:

calendar_url pydantic-field

calendar_url: str

name pydantic-field

name: str

weekdays pydantic-field

weekdays: Sequence[int]

List of weekdays the domain is open, 0=Monday, 6=Sunday.

CalculatorFurnishing pydantic-model

Furnishing meant to be used with calculators.

Fields:

amount pydantic-field

amount: Optional[int] = None

icon pydantic-field

icon: str

id pydantic-field

id: int

name pydantic-field

name: str

rarity pydantic-field

rarity: int

CalculatorFurnishingResults pydantic-model

Furnishing calculation result.

Fields:

furnishings pydantic-field

furnishings: list[CalculatorConsumable]

total property

CalculatorMonster pydantic-model

Monster that drops a material.

Fields:

icon pydantic-field

icon: str

id pydantic-field

id: int

map_url pydantic-field

map_url: str

name pydantic-field

name: str

CalculatorResult pydantic-model

Calculation result.

Fields:

artifacts pydantic-field

character pydantic-field

lineup_recommendation pydantic-field

lineup_recommendation: Optional[str] = None

talents pydantic-field

total property

weapon pydantic-field

CalculatorTalent pydantic-model

Talent of a character meant to be used with calculators.

Fields:

group_id pydantic-field

group_id: int

icon pydantic-field

icon: str

id pydantic-field

id: int

level pydantic-field

level: int = 0

max_level pydantic-field

max_level: int

name pydantic-field

name: str

type property

type: (
    Literal["attack", "skill", "burst", "passive", "dash"]
    | None
)

The type of the talent, parsed from the group id.

Does not work for traveler!

upgradeable property

upgradeable: bool

Whether this talent can be leveled up.

CalculatorTalentInfo pydantic-model

Information about a talent in the calculator.

Fields:

current pydantic-field

current: int = 0

talent_id pydantic-field

talent_id: int

target pydantic-field

target: int = 0

CalculatorTalentResult pydantic-model

Calculation result for a specific talent.

Fields:

info pydantic-field

materials pydantic-field

CalculatorWeapon pydantic-model

Weapon meant to be used with calculators.

Fields:

Validators:

  • __parse_weapon_type → type

icon pydantic-field

icon: str

id pydantic-field

id: int

level pydantic-field

level: int = 0

max_level pydantic-field

max_level: int

name pydantic-field

name: str

rarity pydantic-field

rarity: int

type pydantic-field

type: str

MaterialSource

Source of the material.

Attributes:

DOMAIN class-attribute instance-attribute

DOMAIN = 'MT_DUNGEON'

MONSTER class-attribute instance-attribute

MONSTER = 'MT_MONSTER'

SPECIAL class-attribute instance-attribute

SPECIAL = 'MT_SPECIAL'

WEEKLY_BOSS class-attribute instance-attribute

WEEKLY_BOSS = 'MT_WEEKLY_DUNGEON'

WORLD class-attribute instance-attribute

WORLD = 'MT_WORLD'

PartialCalculatorCharacter pydantic-model

Fields:

icon pydantic-field

icon: str

id pydantic-field

id: int

rarity pydantic-field

rarity: int

PartialCalculatorWeapon pydantic-model

Fields:

icon pydantic-field

icon: str

id pydantic-field

id: int

rarity pydantic-field

rarity: int

RemainingMaterialDetail pydantic-model

Details of remaining required materials for a character.

Fields:

characters pydantic-field

Characters these materials are needed for, empty if accessing weapons.

domain pydantic-field

domain: Optional[CalculatorDomain] = None

Domain info, may be present if material_source is MT_DUNGEON.

map_url pydantic-field

map_url: Optional[str] = None

URL to interactive map, present if material_source is MT_WORLD.

material_source pydantic-field

material_source: MaterialSource

materials pydantic-field

monster pydantic-field

monster: Optional[CalculatorMonster] = None

Monster info, present if material_source is MT_MONSTER or MT_WEEKLY_DUNGEON.

weapons pydantic-field

Weapons these materials are needed for, empty if accessing characters or talents.

RemainingMaterialDetails pydantic-model

Details of remaining required materials for a character.

Fields:

characters pydantic-field

talents pydantic-field

weapon pydantic-field