mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-13 21:34:43 +01:00
71 lines
2.3 KiB
Python
71 lines
2.3 KiB
Python
import betterproto
|
|
from typing import List
|
|
from game_server.net.session import Session
|
|
from lib.proto import (
|
|
GetEquipmentDataReq,
|
|
GetEquipmentDataRsp,
|
|
Material,
|
|
Weapon,
|
|
Stigmata,
|
|
StigmataRuneGroup,
|
|
StigmataRune
|
|
)
|
|
|
|
async def handle(session: Session, msg: GetEquipmentDataReq) -> betterproto.Message:
|
|
return GetEquipmentDataRsp(
|
|
retcode=0,
|
|
is_all=True,
|
|
weapon_list=[
|
|
Weapon(
|
|
unique_id=id,
|
|
id=weapon.item_id,
|
|
level=weapon.level,
|
|
exp=weapon.exp,
|
|
is_protected=weapon.is_locked,
|
|
is_extracted=weapon.is_extracted,
|
|
homology_level=3
|
|
)
|
|
for id, weapon in session.player.inventory.weapon_items.items()
|
|
],
|
|
stigmata_list=[
|
|
Stigmata(
|
|
unique_id=id,
|
|
id=stigmata.item_id,
|
|
level=stigmata.level,
|
|
exp=stigmata.exp,
|
|
slot_num=2,
|
|
refine_value=stigmata.refine_value,
|
|
promote_times=stigmata.promote_times,
|
|
is_protected=stigmata.is_locked,
|
|
rune_list=[
|
|
StigmataRune(
|
|
rune_id=rune.rune_id,
|
|
strength_percent=rune.strength_percent
|
|
)
|
|
for rune in stigmata.rune_list
|
|
],
|
|
wait_select_rune_group_list=[
|
|
StigmataRuneGroup(
|
|
unique_id=index,
|
|
rune_list=[
|
|
StigmataRune(
|
|
rune_id=rune.rune_id,
|
|
strength_percent=rune.strength_percent
|
|
)
|
|
for rune in affix.rune_list
|
|
]
|
|
)
|
|
for index,affix in enumerate(stigmata.wait_select_rune_group_list, start=1)
|
|
]
|
|
)
|
|
for id, stigmata in session.player.inventory.stigmata_items.items()
|
|
],
|
|
material_list=[
|
|
Material(
|
|
id=material.item_id,
|
|
num=material.num
|
|
)
|
|
for id, material in session.player.inventory.material_items.items()
|
|
]
|
|
)
|