Files
neonsr/game_server/game/chat/command/giveall.py
2025-04-16 16:25:31 +08:00

49 lines
1.8 KiB
Python

from game_server.game.chat.decorators import Command
from game_server.net.session import PlayerSession
from game_server.resource import ResourceManager
from game_server.resource.configdb.avatar_config import AvatarConfig
from game_server.resource.configdb.equipment_config import EquipmentConfig
from game_server.resource.configdb.relic_config import RelicConfigData
@Command(
prefix="giveall",
usage="/giveall",
)
async def execute(session:PlayerSession, text):
try:
sync = False
if text == "avatars":
avatars = ResourceManager.instance().values(AvatarConfig)
for avatar in avatars:
if avatar.AvatarID == 1224 or avatar.AvatarID >= 7000:
continue
if session.player.avatar_manager.get(avatar.AvatarID):
continue
data = session.player.add_avatar(avatar.AvatarID)
if data:
session.player.avatar_manager[data.avatar_id] = data
sync = True
if text == "lightcones":
lightcones = ResourceManager.instance().values(EquipmentConfig)
for lightcone in lightcones:
item = session.player.add_lightcone(lightcone.EquipmentID)
if item:
session.player.inventory_manager[item.unique_id] = item
sync = True
if text == "relics":
relics = ResourceManager.instance().values(RelicConfigData)
for relic in relics:
item = session.player.add_relic(relic.ID)
if item:
session.player.inventory_manager[item.unique_id] = item
sync = True
if sync:
await session.notify(session.player.PlayerSyncProto())
return "GIVEALL"
except Exception as e:
print(e)