simaple.gear

simaple.gear.gear

class simaple.gear.gear.Gear(*, meta: GearMeta, stat: Stat, scroll_chance: int, potential: Potential = None, additional_potential: Potential = None)[source]
add_stat(stat: Stat) Gear[source]
additional_potential: Potential
classmethod create_bare_gear(meta: GearMeta) Gear[source]
meta: GearMeta
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'frozen': True, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'additional_potential': FieldInfo(annotation=Potential, required=False, default_factory=Potential), 'meta': FieldInfo(annotation=GearMeta, required=True), 'potential': FieldInfo(annotation=Potential, required=False, default_factory=Potential), 'scroll_chance': FieldInfo(annotation=int, required=True), 'stat': FieldInfo(annotation=Stat, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

potential: Potential
scroll_chance: int
set_additional_potential(additional_potential: Potential) Gear[source]
set_potential(potential: Potential) Gear[source]
show() str[source]
stat: Stat
sum_extended_stat() ExtendedStat[source]
sum_stat() Stat[source]
class simaple.gear.gear.GearMeta(*, id: int, name: str, base_stat: Stat, type: GearType, req_level: int, boss_reward: bool = False, superior_eqp: bool = False, req_job: int = 0, set_item_id: int = 0, joker_to_set_item: bool = False, max_scroll_chance: int, exceptional_enhancement: bool = False)[source]
base_stat: Stat
boss_reward: bool
exceptional_enhancement: bool
id: int
joker_to_set_item: bool
max_scroll_chance: int
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'base_stat': FieldInfo(annotation=Stat, required=True), 'boss_reward': FieldInfo(annotation=bool, required=False, default=False), 'exceptional_enhancement': FieldInfo(annotation=bool, required=False, default=False), 'id': FieldInfo(annotation=int, required=True), 'joker_to_set_item': FieldInfo(annotation=bool, required=False, default=False), 'max_scroll_chance': FieldInfo(annotation=int, required=True), 'name': FieldInfo(annotation=str, required=True), 'req_job': FieldInfo(annotation=int, required=False, default=0), 'req_level': FieldInfo(annotation=int, required=True), 'set_item_id': FieldInfo(annotation=int, required=False, default=0), 'superior_eqp': FieldInfo(annotation=bool, required=False, default=False), 'type': FieldInfo(annotation=GearType, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

name: str
req_job: int
req_level: int
set_item_id: int
show() str[source]
superior_eqp: bool
type: GearType

simaple.gear.gearset

class simaple.gear.gearset.GearSlot(*, name: SlotName, enabled_gear_types: list[simaple.gear.gear_type.GearType], gear: Optional[Gear] = None)[source]
enabled_gear_types: list[simaple.gear.gear_type.GearType]
equip(gear: Gear)[source]
gear: Optional[Gear]
get_gear() Gear[source]
is_equippable(gear: Gear)[source]
is_equipped()[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'enabled_gear_types': FieldInfo(annotation=list[GearType], required=True), 'gear': FieldInfo(annotation=Union[Gear, NoneType], required=False, default=None), 'name': FieldInfo(annotation=SlotName, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

name: SlotName
class simaple.gear.gearset.Gearset(*, symbols: list[simaple.gear.symbol_gear.SymbolGear] = [], pet_equip: ~simaple.core.base.Stat = None, pet_set_option: ~simaple.core.base.Stat = None, cash_item_stat: ~simaple.core.base.Stat = None, gear_slots: list[simaple.gear.gearset.GearSlot] = [GearSlot(name=<SlotName.cap: 'cap'>, enabled_gear_types=[<GearType.cap: 100>], gear=None), GearSlot(name=<SlotName.face_accessory: 'face_accessory'>, enabled_gear_types=[<GearType.face_accessory: 101>], gear=None), GearSlot(name=<SlotName.eye_accessory: 'eye_accessory'>, enabled_gear_types=[<GearType.eye_accessory: 102>], gear=None), GearSlot(name=<SlotName.earrings: 'earrings'>, enabled_gear_types=[<GearType.earrings: 103>], gear=None), GearSlot(name=<SlotName.coat: 'coat'>, enabled_gear_types=[<GearType.coat: 104>, <GearType.longcoat: 105>], gear=None), GearSlot(name=<SlotName.pants: 'pants'>, enabled_gear_types=[<GearType.pants: 106>], gear=None), GearSlot(name=<SlotName.shoes: 'shoes'>, enabled_gear_types=[<GearType.shoes: 107>], gear=None), GearSlot(name=<SlotName.glove: 'glove'>, enabled_gear_types=[<GearType.glove: 108>], gear=None), GearSlot(name=<SlotName.cape: 'cape'>, enabled_gear_types=[<GearType.cape: 110>], gear=None), GearSlot(name=<SlotName.ring1: 'ring1'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring2: 'ring2'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring3: 'ring3'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring4: 'ring4'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.pendant1: 'pendant1'>, enabled_gear_types=[<GearType.pendant: 112>], gear=None), GearSlot(name=<SlotName.pendant2: 'pendant2'>, enabled_gear_types=[<GearType.pendant: 112>], gear=None), GearSlot(name=<SlotName.belt: 'belt'>, enabled_gear_types=[<GearType.belt: 113>], gear=None), GearSlot(name=<SlotName.medal: 'medal'>, enabled_gear_types=[<GearType.medal: 114>], gear=None), GearSlot(name=<SlotName.shoulder_pad: 'shoulder_pad'>, enabled_gear_types=[<GearType.shoulder_pad: 115>], gear=None), GearSlot(name=<SlotName.pocket: 'pocket'>, enabled_gear_types=[<GearType.pocket: 116>], gear=None), GearSlot(name=<SlotName.badge: 'badge'>, enabled_gear_types=[<GearType.badge: 118>], gear=None), GearSlot(name=<SlotName.android: 'android'>, enabled_gear_types=[<GearType.android: 166>], gear=None), GearSlot(name=<SlotName.machine_heart: 'machine_heart'>, enabled_gear_types=[<GearType.machine_heart: 167>], gear=None), GearSlot(name=<SlotName.subweapon: 'subweapon'>, enabled_gear_types=[<GearType.shield: 109>, <GearType.soul_shield: 1098>, <GearType.demon_shield: 1099>, <GearType.magic_arrow: 135200>, <GearType.card: 135210>, <GearType.hero_medal: 135220>, <GearType.rosario: 135221>, <GearType.chain: 135222>, <GearType.book1: 135223>, <GearType.book2: 135224>, <GearType.book3: 135225>, <GearType.bow_master_feather: 135226>, <GearType.crossbow_thimble: 135227>, <GearType.shadower_sheath: 135228>, <GearType.night_lord_poutch: 135229>, <GearType.orb: 135240>, <GearType.nova_marrow: 135250>, <GearType.soul_bangle: 135260>, <GearType.mailin: 135270>, <GearType.viper_wristband: 135290>, <GearType.captain_sight: 135291>, <GearType.cannon_gun_powder: 135292>, <GearType.aran_pendulum: 135293>, <GearType.evan_paper: 135294>, <GearType.battlemage_ball: 135295>, <GearType.wild_hunter_arrow_head: 135296>, <GearType.cygnus_gem: 135297>, <GearType.cannon_gun_powder2: 135298>, <GearType.controller: 135300>, <GearType.fox_pearl: 135310>, <GearType.chess: 135320>, <GearType.transmitter: 135330>, <GearType.explosive_pill: 135340>, <GearType.magic_wing: 135350>, <GearType.path_of_abyss: 135360>, <GearType.relic: 135370>, <GearType.fan_tassel: 135380>, <GearType.bracelet: 135400>, <GearType.weapon_belt: 135401>, <GearType.lara_subweapon: 135402>], gear=None), GearSlot(name=<SlotName.emblem: 'emblem'>, enabled_gear_types=[<GearType.emblem: 119>], gear=None), GearSlot(name=<SlotName.weapon: 'weapon'>, enabled_gear_types=[<GearType.shining_rod: 1212>, <GearType.tuner: 1213>, <GearType.breath_shooter: 1214>, <GearType.soul_shooter: 122>, <GearType.desperado: 123>, <GearType.energy_sword: 124>, <GearType.esp_limiter: 126>, <GearType.chain2: 127>, <GearType.magic_gauntlet: 128>, <GearType.hand_fan: 129>, <GearType.oh_sword: 130>, <GearType.oh_axe: 131>, <GearType.oh_blunt: 132>, <GearType.dagger: 133>, <GearType.cane: 136>, <GearType.wand: 137>, <GearType.staff: 138>, <GearType.th_sword: 140>, <GearType.th_axe: 141>, <GearType.th_blunt: 142>, <GearType.spear: 143>, <GearType.polearm: 144>, <GearType.bow: 145>, <GearType.crossbow: 146>, <GearType.throwing_glove: 147>, <GearType.knuckle: 148>, <GearType.gun: 149>, <GearType.dual_bow: 152>, <GearType.hand_cannon: 153>, <GearType.sword_zb: 156>, <GearType.sword_zl: 157>, <GearType.gauntlet_buster: 158>, <GearType.ancient_bow: 159>], gear=None)], title: ~simaple.core.base.Stat = None, set_items: list[simaple.gear.setitem.SetItem] = [], weapon_potential_tiers: ~typing.Optional[tuple[list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier]]] = None)[source]
annotate_weapon_potential_tiers(weapon_potential_tiers: tuple[list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier]])[source]
cash_item_stat: Stat
change_weaponry_potentials(weaponry_potentials: Tuple[Potential, Potential, Potential]) None[source]
equip(gear: Gear, slot_name: SlotName) None[source]
gear_slots: list[simaple.gear.gearset.GearSlot]
get_gear_slot_stat() Stat[source]
get_gears()[source]
get_slot(slot_name: SlotName) GearSlot[source]
get_symbol_stat() Stat[source]
get_total_extended_stat() ExtendedStat[source]
get_weaponry_slots() Tuple[GearSlot, GearSlot, GearSlot][source]
is_all_slot_equipped()[source]
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'cash_item_stat': FieldInfo(annotation=Stat, required=False, default_factory=Stat), 'gear_slots': FieldInfo(annotation=list[GearSlot], required=False, default=[GearSlot(name=<SlotName.cap: 'cap'>, enabled_gear_types=[<GearType.cap: 100>], gear=None), GearSlot(name=<SlotName.face_accessory: 'face_accessory'>, enabled_gear_types=[<GearType.face_accessory: 101>], gear=None), GearSlot(name=<SlotName.eye_accessory: 'eye_accessory'>, enabled_gear_types=[<GearType.eye_accessory: 102>], gear=None), GearSlot(name=<SlotName.earrings: 'earrings'>, enabled_gear_types=[<GearType.earrings: 103>], gear=None), GearSlot(name=<SlotName.coat: 'coat'>, enabled_gear_types=[<GearType.coat: 104>, <GearType.longcoat: 105>], gear=None), GearSlot(name=<SlotName.pants: 'pants'>, enabled_gear_types=[<GearType.pants: 106>], gear=None), GearSlot(name=<SlotName.shoes: 'shoes'>, enabled_gear_types=[<GearType.shoes: 107>], gear=None), GearSlot(name=<SlotName.glove: 'glove'>, enabled_gear_types=[<GearType.glove: 108>], gear=None), GearSlot(name=<SlotName.cape: 'cape'>, enabled_gear_types=[<GearType.cape: 110>], gear=None), GearSlot(name=<SlotName.ring1: 'ring1'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring2: 'ring2'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring3: 'ring3'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.ring4: 'ring4'>, enabled_gear_types=[<GearType.ring: 111>], gear=None), GearSlot(name=<SlotName.pendant1: 'pendant1'>, enabled_gear_types=[<GearType.pendant: 112>], gear=None), GearSlot(name=<SlotName.pendant2: 'pendant2'>, enabled_gear_types=[<GearType.pendant: 112>], gear=None), GearSlot(name=<SlotName.belt: 'belt'>, enabled_gear_types=[<GearType.belt: 113>], gear=None), GearSlot(name=<SlotName.medal: 'medal'>, enabled_gear_types=[<GearType.medal: 114>], gear=None), GearSlot(name=<SlotName.shoulder_pad: 'shoulder_pad'>, enabled_gear_types=[<GearType.shoulder_pad: 115>], gear=None), GearSlot(name=<SlotName.pocket: 'pocket'>, enabled_gear_types=[<GearType.pocket: 116>], gear=None), GearSlot(name=<SlotName.badge: 'badge'>, enabled_gear_types=[<GearType.badge: 118>], gear=None), GearSlot(name=<SlotName.android: 'android'>, enabled_gear_types=[<GearType.android: 166>], gear=None), GearSlot(name=<SlotName.machine_heart: 'machine_heart'>, enabled_gear_types=[<GearType.machine_heart: 167>], gear=None), GearSlot(name=<SlotName.subweapon: 'subweapon'>, enabled_gear_types=[<GearType.shield: 109>, <GearType.soul_shield: 1098>, <GearType.demon_shield: 1099>, <GearType.magic_arrow: 135200>, <GearType.card: 135210>, <GearType.hero_medal: 135220>, <GearType.rosario: 135221>, <GearType.chain: 135222>, <GearType.book1: 135223>, <GearType.book2: 135224>, <GearType.book3: 135225>, <GearType.bow_master_feather: 135226>, <GearType.crossbow_thimble: 135227>, <GearType.shadower_sheath: 135228>, <GearType.night_lord_poutch: 135229>, <GearType.orb: 135240>, <GearType.nova_marrow: 135250>, <GearType.soul_bangle: 135260>, <GearType.mailin: 135270>, <GearType.viper_wristband: 135290>, <GearType.captain_sight: 135291>, <GearType.cannon_gun_powder: 135292>, <GearType.aran_pendulum: 135293>, <GearType.evan_paper: 135294>, <GearType.battlemage_ball: 135295>, <GearType.wild_hunter_arrow_head: 135296>, <GearType.cygnus_gem: 135297>, <GearType.cannon_gun_powder2: 135298>, <GearType.controller: 135300>, <GearType.fox_pearl: 135310>, <GearType.chess: 135320>, <GearType.transmitter: 135330>, <GearType.explosive_pill: 135340>, <GearType.magic_wing: 135350>, <GearType.path_of_abyss: 135360>, <GearType.relic: 135370>, <GearType.fan_tassel: 135380>, <GearType.bracelet: 135400>, <GearType.weapon_belt: 135401>, <GearType.lara_subweapon: 135402>], gear=None), GearSlot(name=<SlotName.emblem: 'emblem'>, enabled_gear_types=[<GearType.emblem: 119>], gear=None), GearSlot(name=<SlotName.weapon: 'weapon'>, enabled_gear_types=[<GearType.shining_rod: 1212>, <GearType.tuner: 1213>, <GearType.breath_shooter: 1214>, <GearType.soul_shooter: 122>, <GearType.desperado: 123>, <GearType.energy_sword: 124>, <GearType.esp_limiter: 126>, <GearType.chain2: 127>, <GearType.magic_gauntlet: 128>, <GearType.hand_fan: 129>, <GearType.oh_sword: 130>, <GearType.oh_axe: 131>, <GearType.oh_blunt: 132>, <GearType.dagger: 133>, <GearType.cane: 136>, <GearType.wand: 137>, <GearType.staff: 138>, <GearType.th_sword: 140>, <GearType.th_axe: 141>, <GearType.th_blunt: 142>, <GearType.spear: 143>, <GearType.polearm: 144>, <GearType.bow: 145>, <GearType.crossbow: 146>, <GearType.throwing_glove: 147>, <GearType.knuckle: 148>, <GearType.gun: 149>, <GearType.dual_bow: 152>, <GearType.hand_cannon: 153>, <GearType.sword_zb: 156>, <GearType.sword_zl: 157>, <GearType.gauntlet_buster: 158>, <GearType.ancient_bow: 159>], gear=None)]), 'pet_equip': FieldInfo(annotation=Stat, required=False, default_factory=Stat), 'pet_set_option': FieldInfo(annotation=Stat, required=False, default_factory=Stat), 'set_items': FieldInfo(annotation=list[SetItem], required=False, default=[]), 'symbols': FieldInfo(annotation=list[SymbolGear], required=False, default=[]), 'title': FieldInfo(annotation=Stat, required=False, default_factory=Stat), 'weapon_potential_tiers': FieldInfo(annotation=Union[tuple[list[PotentialTier], list[PotentialTier], list[PotentialTier]], NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

pet_equip: Stat
pet_set_option: Stat
set_cash_item_stat(stat: Stat)[source]
set_empty_potential() None[source]
set_items: list[simaple.gear.setitem.SetItem]
set_pet_equip_stat(stat: Stat)[source]
set_pet_set_option(stat: Stat)[source]
set_set_items(set_items: list[simaple.gear.setitem.SetItem])[source]
set_symbols(symbols: list[simaple.gear.symbol_gear.SymbolGear])[source]
set_title_stat(stat: Stat)[source]
symbols: list[simaple.gear.symbol_gear.SymbolGear]
title: Stat
weapon_potential_tiers: Optional[tuple[list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier], list[simaple.gear.potential.PotentialTier]]]
simaple.gear.gearset.get_default_empty_slots()[source]