44from buffer import Buffer
55
66class Player (object ):
7- def __init__ (self , client , name , team , match ):
7+ def __init__ (self , client , name , team , match , skin ):
88 self .client = client
99 self .server = client .server
1010 self .match = match
11+ self .skin = skin
1112
1213 self .name = ' ' .join (emoji .emojize (re .sub (r"[^\x00-\x7F]+" , "" , emoji .demojize (name )).strip ())[:20 ].split ()).upper ()
1314 self .team = team
@@ -42,7 +43,7 @@ def getSimpleData(self):
4243 return {"id" : self .id , "name" : self .name , "team" : self .team }
4344
4445 def serializePlayerObject (self ):
45- return Buffer ().writeInt16 (self .id ).writeInt8 (self .level ).writeInt8 (self .zone ).writeShor2 (self .posX , self .posY ).toBytes ()
46+ return Buffer ().writeInt16 (self .id ).writeInt8 (self .level ).writeInt8 (self .zone ).writeShor2 (self .posX , self .posY ).writeInt16 ( self . skin ). toBytes ()
4647
4748 def loadWorld (self , worldName ):
4849 self .dead = True
@@ -83,7 +84,7 @@ def onLoadComplete(self):
8384 self .pendingWorld = None
8485 self .lastXOk = True
8586
86- self .sendBin (0x02 , Buffer ().writeInt16 (self .id )) # ASSIGN_PID
87+ self .sendBin (0x02 , Buffer ().writeInt16 (self .id ). writeInt16 ( self . skin ) ) # ASSIGN_PID
8788
8889 self .match .onPlayerReady (self )
8990
@@ -100,7 +101,7 @@ def handlePkt(self, code, b, pktData):
100101
101102 self .client .stopDCTimer ()
102103
103- self .match .broadBin (0x10 , Buffer ().writeInt16 (self .id ).write (pktData ))
104+ self .match .broadBin (0x10 , Buffer ().writeInt16 (self .id ).write (pktData ). writeInt16 ( self . skin ) )
104105
105106 elif code == 0x11 : # KILL_PLAYER_OBJECT
106107 if self .dead :
0 commit comments