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'}

__all__ module-attribute

__all__ = ['CALCULATOR_ARTIFACTS', 'CALCULATOR_ELEMENTS', 'CALCULATOR_WEAPON_TYPES', 'CalculatorArtifact', 'CalculatorArtifactResult', 'CalculatorCharacter', 'CalculatorCharacterDetails', 'CalculatorConsumable', 'CalculatorFurnishing', 'CalculatorFurnishingResults', 'CalculatorResult', 'CalculatorTalent', 'CalculatorWeapon']

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

__parse_element pydantic-validator

__parse_element(v: Any) -> str

__parse_weapon_type pydantic-validator

__parse_weapon_type(v: Any) -> str

CalculatorCharacterDetails pydantic-model

Details of a synced calculator character.

Fields:

Validators:

artifacts pydantic-field

talents pydantic-field

upgradeable_talents property

upgradeable_talents: Sequence[CalculatorTalent]

All talents that can be leveled up.

weapon pydantic-field

__correct_talent_current_level pydantic-validator

__correct_talent_current_level(v: Sequence[CalculatorTalent]) -> Sequence[CalculatorTalent]

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.

__int__

__int__() -> int

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:

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

__parse_weapon_type pydantic-validator

__parse_weapon_type(v: Any) -> 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