feat: Implement stigmata standard reroll

This commit is contained in:
Naruse
2024-11-18 13:06:18 +08:00
parent 7ab78d6c47
commit c9870f5d66
7 changed files with 181 additions and 8 deletions

View File

@@ -14,6 +14,16 @@ class Weapon:
is_extracted : bool
equip_avatar_id: int
@dataclasses.dataclass
class RuneList:
rune_id : int
strength_percent : int
@dataclasses.dataclass
class RuneGroup:
unique_id : int
rune_list : list[RuneList]
@dataclasses.dataclass
class Stigmata:
item_id : int
@@ -24,6 +34,8 @@ class Stigmata:
promote_times : int
is_locked : bool
equip_avatar_id : int
rune_list : list[RuneList] = dataclasses.field(default_factory=list)
wait_select_rune_group_list: list[RuneGroup] = dataclasses.field(default_factory=list)
@dataclasses.dataclass
class InventoryManager:

View File

@@ -1,7 +1,7 @@
import dataclasses
from database import mongo
from game_server.game.avatar.avatar_manager import AvatarManager,Skill,AvatarSubSkill,AvatarTeamManager
from game_server.game.inventory.inventory_manager import InventoryManager,Material,Weapon,Stigmata
from game_server.game.inventory.inventory_manager import InventoryManager,Material,Weapon,Stigmata,RuneList,RuneGroup
from game_server.game.elf.elf_manager import ElfManager,ElfSkill
from game_server.game.enum.item_type import MainType
@@ -107,7 +107,14 @@ class Player:
refine_value=item['RefineValue'],
promote_times=item['PromoteTimes'],
is_locked=item['IsLocked'],
equip_avatar_id=item['EquipAvatarID']
equip_avatar_id=item['EquipAvatarID'],
rune_list=[
RuneList(
rune_id=rune['RuneId'],
strength_percent=rune['strengthPercent']
)
for rune in item['RuneLists']
]
)
self.inventory.stigmata_items[item['UniqueID']] = stigmata