.coveragerc
.gitignore
.gitmodules
.pre-commit-config.yaml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.en.md
README.md
http_log_replay.py
http_room_serve.py
http_test_serve.py
main.py
pyproject.toml
pytest.ini
requirements.txt
.github/CODEOWNERS
.github/dependabot.yml
.github/workflows/pre-commit.yaml
.github/workflows/publish.yml
.github/workflows/pytest.yml
.github/workflows/remove-closed-issue-label.yml
.vscode/extensions.json
.vscode/launch.json
.vscode/settings.json
docs/images/wechat.png
ipynb/message.json
ipynb/pack_default_patch.ipynb
ipynb/parse_name_descs.ipynb
ipynb/parse_name_type.ipynb
ipynb/result.json
src/lpsim/__init__.py
src/lpsim/_version.py
src/lpsim/consts.py
src/lpsim/responses.py
src/lpsim/tools.py
src/lpsim.egg-info/PKG-INFO
src/lpsim.egg-info/SOURCES.txt
src/lpsim.egg-info/dependency_links.txt
src/lpsim.egg-info/requires.txt
src/lpsim.egg-info/top_level.txt
src/lpsim/agents/__init__.py
src/lpsim/agents/agent_base.py
src/lpsim/agents/interaction_agent.py
src/lpsim/agents/nothing_agent.py
src/lpsim/agents/random_agent.py
src/lpsim/network/__init__.py
src/lpsim/network/http_room_server.py
src/lpsim/network/http_server.py
src/lpsim/network/utils.py
src/lpsim/resources/consts.py
src/lpsim/server/__init__.py
src/lpsim/server/action.py
src/lpsim/server/consts.py
src/lpsim/server/deck.py
src/lpsim/server/dice.py
src/lpsim/server/elemental_reaction.py
src/lpsim/server/event.py
src/lpsim/server/event_handler.py
src/lpsim/server/interaction.py
src/lpsim/server/match.py
src/lpsim/server/modifiable_values.py
src/lpsim/server/object_base.py
src/lpsim/server/player_table.py
src/lpsim/server/struct.py
src/lpsim/server/card/__init__.py
src/lpsim/server/card/equipment/__init__.py
src/lpsim/server/card/equipment/artifact/__init__.py
src/lpsim/server/card/equipment/artifact/base.py
src/lpsim/server/card/equipment/artifact/element_artifacts.py
src/lpsim/server/card/equipment/artifact/emblem_of_severed_fate.py
src/lpsim/server/card/equipment/artifact/exile.py
src/lpsim/server/card/equipment/artifact/gamblers.py
src/lpsim/server/card/equipment/artifact/gilded_dreams.py
src/lpsim/server/card/equipment/artifact/heal_by_skill.py
src/lpsim/server/card/equipment/artifact/instructors_cap.py
src/lpsim/server/card/equipment/artifact/millelith.py
src/lpsim/server/card/equipment/artifact/ocean_hued.py
src/lpsim/server/card/equipment/artifact/vermillion_shimenawa.py
src/lpsim/server/card/equipment/weapon/__init__.py
src/lpsim/server/card/equipment/weapon/base.py
src/lpsim/server/card/equipment/weapon/favonius.py
src/lpsim/server/card/equipment/weapon/other_bow.py
src/lpsim/server/card/equipment/weapon/other_catalyst.py
src/lpsim/server/card/equipment/weapon/other_claymore.py
src/lpsim/server/card/equipment/weapon/other_polearm.py
src/lpsim/server/card/equipment/weapon/other_sword.py
src/lpsim/server/card/equipment/weapon/sacrificial.py
src/lpsim/server/card/equipment/weapon/skyward.py
src/lpsim/server/card/equipment/weapon/sumeru_forge_weapon.py
src/lpsim/server/card/equipment/weapon/vanilla.py
src/lpsim/server/card/event/__init__.py
src/lpsim/server/card/event/arcane_legend.py
src/lpsim/server/card/event/foods.py
src/lpsim/server/card/event/others.py
src/lpsim/server/card/event/resonance.py
src/lpsim/server/card/support/__init__.py
src/lpsim/server/card/support/base.py
src/lpsim/server/card/support/companions.py
src/lpsim/server/card/support/items.py
src/lpsim/server/card/support/locations.py
src/lpsim/server/character/__init__.py
src/lpsim/server/character/character_base.py
src/lpsim/server/character/anemo/__init__.py
src/lpsim/server/character/anemo/jean_3_3.py
src/lpsim/server/character/anemo/jean_4_2.py
src/lpsim/server/character/anemo/kaedehara_kazuha_3_8.py
src/lpsim/server/character/anemo/maguu_kenki_3_3.py
src/lpsim/server/character/anemo/maguu_kenki_3_4.py
src/lpsim/server/character/anemo/sucrose_3_3.py
src/lpsim/server/character/anemo/venti_3_7.py
src/lpsim/server/character/anemo/wanderer_4_1.py
src/lpsim/server/character/anemo/xiao_3_7.py
src/lpsim/server/character/cryo/__init__.py
src/lpsim/server/character/cryo/chongyun_3_3.py
src/lpsim/server/character/cryo/diona_3_3.py
src/lpsim/server/character/cryo/eula_3_5.py
src/lpsim/server/character/cryo/eula_3_8.py
src/lpsim/server/character/cryo/fatui_cryo_cicin_mage_3_7.py
src/lpsim/server/character/cryo/fatui_cryo_cicin_mage_4_1.py
src/lpsim/server/character/cryo/ganyu_3_3.py
src/lpsim/server/character/cryo/ganyu_3_7.py
src/lpsim/server/character/cryo/kaeya_3_3.py
src/lpsim/server/character/cryo/kamisato_ayaka_3_3.py
src/lpsim/server/character/cryo/qiqi_4_0.py
src/lpsim/server/character/cryo/shenhe_3_7.py
src/lpsim/server/character/cryo/shenhe_4_2.py
src/lpsim/server/character/custom/__init__.py
src/lpsim/server/character/custom/mob_1_0.py
src/lpsim/server/character/custom/mob_mage_1_0.py
src/lpsim/server/character/custom/physical_mob_1_0.py
src/lpsim/server/character/dendro/__init__.py
src/lpsim/server/character/dendro/baizhu_4_2.py
src/lpsim/server/character/dendro/collei_3_3.py
src/lpsim/server/character/dendro/jadeplume_terrorshroom_3_3.py
src/lpsim/server/character/dendro/nahida_3_7.py
src/lpsim/server/character/dendro/tighnari_3_6.py
src/lpsim/server/character/dendro/yaoyao_4_1.py
src/lpsim/server/character/electro/__init__.py
src/lpsim/server/character/electro/beidou_3_4.py
src/lpsim/server/character/electro/beidou_3_8.py
src/lpsim/server/character/electro/cyno_3_3.py
src/lpsim/server/character/electro/dori_4_2.py
src/lpsim/server/character/electro/electro_hypostasis_3_7.py
src/lpsim/server/character/electro/fischl_3_3.py
src/lpsim/server/character/electro/keqing_3_3.py
src/lpsim/server/character/electro/kujou_sara_3_5.py
src/lpsim/server/character/electro/lisa_4_0.py
src/lpsim/server/character/electro/raiden_shogun_3_7.py
src/lpsim/server/character/electro/razor_3_3.py
src/lpsim/server/character/electro/razor_3_8.py
src/lpsim/server/character/electro/yae_miko_3_7.py
src/lpsim/server/character/geo/__init__.py
src/lpsim/server/character/geo/albedo_4_0.py
src/lpsim/server/character/geo/arataki_itto_3_6.py
src/lpsim/server/character/geo/arataki_itto_4_2.py
src/lpsim/server/character/geo/ningguang_3_3.py
src/lpsim/server/character/geo/noelle_3_3.py
src/lpsim/server/character/geo/stonehide_lawachurl_3_3.py
src/lpsim/server/character/geo/zhongli_3_7.py
src/lpsim/server/character/hydro/__init__.py
src/lpsim/server/character/hydro/barbara_3_3.py
src/lpsim/server/character/hydro/candace_3_8.py
src/lpsim/server/character/hydro/kamisato_ayato_3_6.py
src/lpsim/server/character/hydro/kamisato_ayato_4_1.py
src/lpsim/server/character/hydro/mirror_maiden_3_3.py
src/lpsim/server/character/hydro/mirror_maiden_3_7.py
src/lpsim/server/character/hydro/mona_3_3.py
src/lpsim/server/character/hydro/nilou_4_2.py
src/lpsim/server/character/hydro/rhodeia_3_3.py
src/lpsim/server/character/hydro/rhodeia_4_2.py
src/lpsim/server/character/hydro/sangonomiya_kokomi_3_5.py
src/lpsim/server/character/hydro/sangonomiya_kokomi_3_6.py
src/lpsim/server/character/hydro/tartaglia_3_7.py
src/lpsim/server/character/hydro/tartaglia_4_1.py
src/lpsim/server/character/hydro/xingqiu_3_3.py
src/lpsim/server/character/hydro/xingqiu_3_6.py
src/lpsim/server/character/hydro/xingqiu_4_1.py
src/lpsim/server/character/pyro/__init__.py
src/lpsim/server/character/pyro/abyss_lector_fathomless_flames_3_7.py
src/lpsim/server/character/pyro/amber_3_7.py
src/lpsim/server/character/pyro/bennett_3_3.py
src/lpsim/server/character/pyro/dehya_4_1.py
src/lpsim/server/character/pyro/diluc_3_3.py
src/lpsim/server/character/pyro/fatui_pyro_agent_3_3.py
src/lpsim/server/character/pyro/hu_tao_3_7.py
src/lpsim/server/character/pyro/klee_3_4.py
src/lpsim/server/character/pyro/xiangling_3_3.py
src/lpsim/server/character/pyro/xiangling_3_8.py
src/lpsim/server/character/pyro/yanfei_3_8.py
src/lpsim/server/character/pyro/yanfei_4_2.py
src/lpsim/server/character/pyro/yoimiya_3_3.py
src/lpsim/server/character/pyro/yoimiya_3_4.py
src/lpsim/server/character/pyro/yoimiya_3_8.py
src/lpsim/server/patch/__init__.py
src/lpsim/server/patch/v43/__init__.py
src/lpsim/server/patch/v43/balance/__init__.py
src/lpsim/server/patch/v43/balance/fatui_pyro_agent_4_3.py
src/lpsim/server/patch/v43/balance/joyous_celebration_4_3.py
src/lpsim/server/patch/v43/balance/ocean_huled_4_3.py
src/lpsim/server/patch/v43/balance/rhodeia_of_loch_4_3.py
src/lpsim/server/patch/v43/balance/stone_and_contracts_4_3.py
src/lpsim/server/patch/v43/balance/timaus_wagner_4_3.py
src/lpsim/server/patch/v43/balance/wind_and_freedom_4_3.py
src/lpsim/server/patch/v43/cards/__init__.py
src/lpsim/server/patch/v43/cards/echoes_of_an_offering_4_3.py
src/lpsim/server/patch/v43/cards/falls_and_fortune_4_3.py
src/lpsim/server/patch/v43/cards/fish_and_chips_4_3.py
src/lpsim/server/patch/v43/cards/flickering_four_leaf_sigil_4_3.py
src/lpsim/server/patch/v43/cards/gilded_dreams_4_3.py
src/lpsim/server/patch/v43/cards/mamere_4_3.py
src/lpsim/server/patch/v43/cards/memento_lens_4_3.py
src/lpsim/server/patch/v43/cards/new_weapons_4_3.py
src/lpsim/server/patch/v43/cards/opera_epiclese_4_3.py
src/lpsim/server/patch/v43/cards/passing_of_judgment_4_3.py
src/lpsim/server/patch/v43/cards/seed_dispensary_4_3.py
src/lpsim/server/patch/v43/cards/the_boar_princess_4_3.py
src/lpsim/server/patch/v43/cards/vourukashas_glow_4_3.py
src/lpsim/server/patch/v43/cards/weeping_willow_4_3.py
src/lpsim/server/patch/v43/characters/__init__.py
src/lpsim/server/patch/v43/characters/alhaitham_4_3.py
src/lpsim/server/patch/v43/characters/azhdaha_4_3.py
src/lpsim/server/patch/v43/characters/dvalin_4_3.py
src/lpsim/server/patch/v43/characters/eremite_scorching_loremaster_4_3.py
src/lpsim/server/patch/v43/characters/gorou_4_3.py
src/lpsim/server/patch/v43/characters/layla_4_3.py
src/lpsim/server/patch/v43/characters/lynette_4_3.py
src/lpsim/server/patch/v43/characters/lyney_4_3.py
src/lpsim/server/patch/v43/characters/signora_4_3.py
src/lpsim/server/patch/v43/characters/thunder_manifestation_4_3.py
src/lpsim/server/patch/v43/characters/yelan_4_3.py
src/lpsim/server/patch/v44/__init__.py
src/lpsim/server/patch/v44/balance/__init__.py
src/lpsim/server/patch/v44/balance/in_every_house_a_stove_4_4.py
src/lpsim/server/patch/v44/balance/thunder_manifestation_4_4.py
src/lpsim/server/patch/v44/balance/vourukashas_glow_4_4.py
src/lpsim/server/patch/v44/cards/__init__.py
src/lpsim/server/patch/v44/cards/jeht_4_4.py
src/lpsim/server/patch/v44/cards/machine_assembly_line_4_4.py
src/lpsim/server/patch/v44/cards/matsutake_meat_rools_4_4.py
src/lpsim/server/patch/v44/cards/sapwood_blade_4_4.py
src/lpsim/server/patch/v44/cards/silver_and_melus_4_4.py
src/lpsim/server/patch/v44/cards/sunyata_flower_4_4.py
src/lpsim/server/patch/v44/cards/veterans_visage_4_4.py
src/lpsim/server/patch/v44/characters/__init__.py
src/lpsim/server/patch/v44/characters/cryo_hypostasis_4_4.py
src/lpsim/server/patch/v44/characters/millennial_pearl_seahorse_4_4.py
src/lpsim/server/patch/v44/characters/sayu_4_4.py
src/lpsim/server/patch/v44/characters/thoma_4_4.py
src/lpsim/server/status/__init__.py
src/lpsim/server/status/base.py
src/lpsim/server/status/character_status/__init__.py
src/lpsim/server/status/character_status/anemo_characters.py
src/lpsim/server/status/character_status/artifacts.py
src/lpsim/server/status/character_status/base.py
src/lpsim/server/status/character_status/cryo_characters.py
src/lpsim/server/status/character_status/dendro_characters.py
src/lpsim/server/status/character_status/electro_characters.py
src/lpsim/server/status/character_status/event_cards.py
src/lpsim/server/status/character_status/foods.py
src/lpsim/server/status/character_status/geo_characters.py
src/lpsim/server/status/character_status/hydro_characters.py
src/lpsim/server/status/character_status/pyro_characters.py
src/lpsim/server/status/character_status/system.py
src/lpsim/server/status/character_status/weapons.py
src/lpsim/server/status/team_status/__init__.py
src/lpsim/server/status/team_status/anemo_characters.py
src/lpsim/server/status/team_status/base.py
src/lpsim/server/status/team_status/cryo_characters.py
src/lpsim/server/status/team_status/dendro_characters.py
src/lpsim/server/status/team_status/electro_characters.py
src/lpsim/server/status/team_status/event_cards.py
src/lpsim/server/status/team_status/geo_characters.py
src/lpsim/server/status/team_status/hydro_characters.py
src/lpsim/server/status/team_status/pyro_characters.py
src/lpsim/server/status/team_status/system.py
src/lpsim/server/status/team_status/weapons.py
src/lpsim/server/summon/__init__.py
src/lpsim/server/summon/base.py
src/lpsim/server/summon/events.py
src/lpsim/server/summon/system.py
src/lpsim/utils/__init__.py
src/lpsim/utils/class_registry.py
src/lpsim/utils/deck_code.py
src/lpsim/utils/deck_code_data.json
src/lpsim/utils/default_desc.json
src/lpsim/utils/desc_registry.py
src/lpsim/utils/instance_factory.py
templates/card.py
templates/character.py
templates/test.py
tests/__init__.py
tests/default_random_state.py
tests/utils_for_test.py
tests/server/test_deck.py
tests/server/test_deck_code.py
tests/server/test_draw_card.py
tests/server/test_elemental_reaction.py
tests/server/test_interaction.py
tests/server/test_others.py
tests/server/test_pipeline.py
tests/server/test_recreate_mode.py
tests/server/test_registry.py
tests/server/bugfix/test_boar_talent.py
tests/server/bugfix/test_counter_reset_when_revive.py
tests/server/bugfix/test_dunyarzad_no_draw.py
tests/server/bugfix/test_dvalin_talent.py
tests/server/bugfix/test_dvalin_talent_2.py
tests/server/bugfix/test_kazuha_attack_by_baizhu_q.py
tests/server/bugfix/test_nilou_dendro_core.py
tests/server/bugfix/test_trigger_order_in_character.py
tests/server/bugfix/jsons/test_boar_talent.json
tests/server/bugfix/jsons/test_counter_reset_when_revive.json
tests/server/bugfix/jsons/test_dunyarzad_no_draw.json
tests/server/bugfix/jsons/test_dvalin_talent.json
tests/server/bugfix/jsons/test_dvalin_talent_2.json
tests/server/bugfix/jsons/test_kazuha_attack_by_baizhu_q.json
tests/server/bugfix/jsons/test_nilou_dendro_core.json
tests/server/bugfix/jsons/test_trigger_order_in_character.json
tests/server/cards/test_arcane_legend.py
tests/server/cards/test_artifacts.py
tests/server/cards/test_element_resonance.py
tests/server/cards/test_event_cards.py
tests/server/cards/test_food.py
tests/server/cards/test_nation_resonance.py
tests/server/cards/test_vermillion_shimenawa.py
tests/server/cards/test_weapons.py
tests/server/characters/test_mobs.py
tests/server/characters/anemo/test_jean.py
tests/server/characters/anemo/test_kaedehara_kazuha.py
tests/server/characters/anemo/test_maguu_kenki.py
tests/server/characters/anemo/test_sucrose.py
tests/server/characters/anemo/test_venti.py
tests/server/characters/anemo/test_wanderer.py
tests/server/characters/anemo/test_xiao.py
tests/server/characters/cryo/test_ayaka.py
tests/server/characters/cryo/test_chongyun.py
tests/server/characters/cryo/test_diona.py
tests/server/characters/cryo/test_eula.py
tests/server/characters/cryo/test_ganyu.py
tests/server/characters/cryo/test_kaeya.py
tests/server/characters/cryo/test_qiqi.py
tests/server/characters/cryo/test_shenhe.py
tests/server/characters/dendro/test_baizhu.py
tests/server/characters/dendro/test_collei.py
tests/server/characters/dendro/test_grass_chicken.py
tests/server/characters/dendro/test_nahida.py
tests/server/characters/dendro/test_tighnari.py
tests/server/characters/dendro/test_yaoyao.py
tests/server/characters/electro/test_beidou.py
tests/server/characters/electro/test_cyno.py
tests/server/characters/electro/test_dori.py
tests/server/characters/electro/test_electro_hypostasis.py
tests/server/characters/electro/test_fischl.py
tests/server/characters/electro/test_keqing.py
tests/server/characters/electro/test_kujou_sara.py
tests/server/characters/electro/test_lisa.py
tests/server/characters/electro/test_miko.py
tests/server/characters/electro/test_raiden_shogun.py
tests/server/characters/electro/test_razor.py
tests/server/characters/geo/test_albedo.py
tests/server/characters/geo/test_arataki_itto.py
tests/server/characters/geo/test_ningguang.py
tests/server/characters/geo/test_noelle.py
tests/server/characters/geo/test_stonehide.py
tests/server/characters/geo/test_zhongli.py
tests/server/characters/hydro/test_barbara.py
tests/server/characters/hydro/test_candace.py
tests/server/characters/hydro/test_kamisato_ayato_and_cryo_cicin.py
tests/server/characters/hydro/test_kokomi.py
tests/server/characters/hydro/test_mirror_maiden.py
tests/server/characters/hydro/test_mona.py
tests/server/characters/hydro/test_nilou.py
tests/server/characters/hydro/test_rhodeia.py
tests/server/characters/hydro/test_tartaglia.py
tests/server/characters/hydro/test_xingqiu.py
tests/server/characters/pyro/test_abyss_fire.py
tests/server/characters/pyro/test_amber.py
tests/server/characters/pyro/test_bennett.py
tests/server/characters/pyro/test_dead_agent.py
tests/server/characters/pyro/test_dehya.py
tests/server/characters/pyro/test_diluc.py
tests/server/characters/pyro/test_hutao.py
tests/server/characters/pyro/test_klee.py
tests/server/characters/pyro/test_xiangling.py
tests/server/characters/pyro/test_yanfei.py
tests/server/characters/pyro/test_yoimiya.py
tests/server/patch/v43/test_alhaitham.py
tests/server/patch/v43/test_azhdaha.py
tests/server/patch/v43/test_dvalin.py
tests/server/patch/v43/test_eremite.py
tests/server/patch/v43/test_fishchip_gilded.py
tests/server/patch/v43/test_four_leaf.py
tests/server/patch/v43/test_gorou.py
tests/server/patch/v43/test_layla_yelan.py
tests/server/patch/v43/test_lynette.py
tests/server/patch/v43/test_lyney.py
tests/server/patch/v43/test_mamere_judgment.py
tests/server/patch/v43/test_memento_lens.py
tests/server/patch/v43/test_new_4_transform.py
tests/server/patch/v43/test_opera_weeping.py
tests/server/patch/v43/test_others_v43.py
tests/server/patch/v43/test_rhodeia_ocean_stone_v43.py
tests/server/patch/v43/test_seed_dispensary.py
tests/server/patch/v43/test_signora.py
tests/server/patch/v43/test_thunder_manifestation.py
tests/server/patch/v43/test_timaeus_wagner_v43.py
tests/server/patch/v43/test_v43equips_boar_fall.py
tests/server/patch/v43/jsons/test_11card.json
tests/server/patch/v43/jsons/test_alhaitham.json
tests/server/patch/v43/jsons/test_azhdaha.json
tests/server/patch/v43/jsons/test_dvalin.json
tests/server/patch/v43/jsons/test_eremite.json
tests/server/patch/v43/jsons/test_gorou.json
tests/server/patch/v43/jsons/test_layla_yelan.json
tests/server/patch/v43/jsons/test_lynette.json
tests/server/patch/v43/jsons/test_lyney.json
tests/server/patch/v43/jsons/test_new_4_transform.json
tests/server/patch/v43/jsons/test_seed_dispensary.json
tests/server/patch/v43/jsons/test_signora.json
tests/server/patch/v43/jsons/test_thunder_manifestation.json
tests/server/patch/v43/jsons/test_timaeus_wagner.json
tests/server/patch/v44/template.py
tests/server/patch/v44/test_json_4_4.py
tests/server/patch/v44/test_sunyata_flower.py
tests/server/patch/v44/jsons/balance_thuncer_vourukashas_stove.json
tests/server/patch/v44/jsons/cryo_hypostasis.json
tests/server/patch/v44/jsons/jeht_sunyata.json
tests/server/patch/v44/jsons/machine_2.json
tests/server/patch/v44/jsons/millennial_pearl_seahorse.json
tests/server/patch/v44/jsons/millennial_pearl_seahorse2.json
tests/server/patch/v44/jsons/sapwood_machine_veteran.json
tests/server/patch/v44/jsons/sayu.json
tests/server/patch/v44/jsons/silver.json
tests/server/patch/v44/jsons/thoma.json
tests/server/patch/v44/jsons/veteran_2.json
tests/server/scenario/test_maguu_kenki_10_10_10.py
tests/server/scenario/test_wanderer_icyquill.py
tests/server/supports/test_companions.py
tests/server/supports/test_items.py
tests/server/supports/test_locations.py
tests/server/version_update/test_version_4_1.py
tests/server/version_update/test_version_4_2.py