Tidy up player settings handlers

This commit is contained in:
Ben
2019-06-21 01:36:05 +01:00
parent 0f574b8efd
commit cd34c3dbb7
2 changed files with 89 additions and 86 deletions

View File

@@ -1,93 +1,67 @@
from houdini import handlers
from houdini.handlers import XTPacket
from houdini.converters import ItemConverter
from houdini.data.item import Item
# TODO: handle if the object item is None check better?
@handlers.handler(XTPacket('s', 'upc'))
@handlers.cooldown(1)
async def handle_send_update_player_colour(p, item: ItemConverter):
async def handle_send_update_player_colour(p, item: Item):
if item.id in p.data.inventory and item.is_color():
await p.data.update(color=item.id).apply()
await p.room.send_xt('upc', p.data.id, item.id)
await p.set_color(item)
@handlers.handler(XTPacket('s', 'uph'))
@handlers.cooldown(1)
async def handle_send_update_player_head(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_head():
await p.data.update(head=item.id).apply()
await p.room.send_xt('uph', p.data.id, item.id)
else:
await p.data.update(head=None).apply()
await p.room.send_xt('uph', p.data.id, 0)
async def handle_send_update_player_head(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_head()):
await p.set_head(item)
@handlers.handler(XTPacket('s', 'upf'))
@handlers.cooldown(1)
async def handle_send_update_player_face(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_face():
await p.data.update(face=item.id).apply()
await p.room.send_xt('upf', p.data.id, item.id)
else:
await p.data.update(face=None).apply()
await p.room.send_xt('upf', p.data.id, 0)
async def handle_send_update_player_face(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_face()):
await p.set_face(item)
@handlers.handler(XTPacket('s', 'upn'))
@handlers.cooldown(1)
async def handle_send_update_player_neck(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_neck():
await p.data.update(neck=item.id).apply()
await p.room.send_xt('upn', p.data.id, item.id)
else:
await p.data.update(neck=None).apply()
await p.room.send_xt('upn', p.data.id, 0)
async def handle_send_update_player_neck(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_neck()):
await p.set_neck(item)
@handlers.handler(XTPacket('s', 'upb'))
@handlers.cooldown(1)
async def handle_send_update_player_body(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_body():
await p.data.update(body=item.id).apply()
await p.room.send_xt('upb', p.data.id, item.id)
else:
await p.data.update(body=None).apply()
await p.room.send_xt('upb', p.data.id, 0)
async def handle_send_update_player_body(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_body()):
await p.set_body(item)
@handlers.handler(XTPacket('s', 'upa'))
@handlers.cooldown(1)
async def handle_send_update_player_hand(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_hand():
await p.data.update(hand=item.id).apply()
await p.room.send_xt('upa', p.data.id, item.id)
else:
await p.data.update(hand=None).apply()
await p.room.send_xt('upa', p.data.id, 0)
async def handle_send_update_player_hand(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_hand()):
await p.set_hand(item)
@handlers.handler(XTPacket('s', 'upe'))
@handlers.cooldown(1)
async def handle_send_update_player_feet(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_feet():
await p.data.update(feet=item.id).apply()
await p.room.send_xt('upe', p.data.id, item.id)
else:
await p.data.update(feet=None).apply()
await p.room.send_xt('upe', p.data.id, 0)
async def handle_send_update_player_feet(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_feet()):
await p.set_feet(item)
@handlers.handler(XTPacket('s', 'upl'))
@handlers.cooldown(1)
async def handle_send_update_player_flag(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_flag():
await p.data.update(flag=item.id).apply()
await p.room.send_xt('upl', p.data.id, item.id)
else:
await p.data.update(flag=None).apply()
await p.room.send_xt('upl', p.data.id, 0)
async def handle_send_update_player_flag(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_flag()):
await p.set_flag(item)
@handlers.handler(XTPacket('s', 'upp'))
@handlers.cooldown(1)
async def handle_send_update_player_photo(p, item: ItemConverter):
if item is not None and item.id in p.data.inventory and item.is_photo():
await p.data.update(photo=item.id).apply()
await p.room.send_xt('upp', p.data.id, item.id)
else:
await p.data.update(photo=None).apply()
await p.room.send_xt('upp', p.data.id, 0)
async def handle_send_update_player_photo(p, item: Item):
if item is None or (item.id in p.data.inventory and item.is_photo()):
await p.set_photo(item)