Exemple #1
0
def WarMode(warmode):
    p = PacketWriter(0x72)
    p.boolean(warmode)
    p.byte(0)
    p.byte(0)
    p.byte(0)
    return p.finish()
Exemple #2
0
def TalkAscii(text, type=0, hue=0x34, font=1):
    p = PacketWriter(0x03)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.cstring(text)
    return p.finish()
Exemple #3
0
def TalkAscii(text, type=0, hue=0x34, font=1):
    p = PacketWriter(0x03)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.cstring(text)
    return p.finish()
Exemple #4
0
def WarMode(warmode):
    p = PacketWriter(0x72)
    p.boolean(warmode)
    p.byte(0)
    p.byte(0)
    p.byte(0)
    return p.finish()
Exemple #5
0
def VendorBuyReply(vendor_serial, item_serial, amount=1):
    p = PacketWriter(0x3b)
    p.uint(vendor_serial)
    p.byte(2) # flags
    p.byte(0) # layer
    p.uint(item_serial)
    p.ushort(amount)
    return p.finish()
Exemple #6
0
def VendorBuyReply(vendor_serial, item_serial, amount=1):
    p = PacketWriter(0x3b)
    p.uint(vendor_serial)
    p.byte(2)  # flags
    p.byte(0)  # layer
    p.uint(item_serial)
    p.ushort(amount)
    return p.finish()
Exemple #7
0
def TargetResponse(type, target_id, flags, serial, x, y, z, graphic):
    p = PacketWriter(0x6c)
    p.byte(type)
    p.uint(target_id)
    p.byte(flags)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sshort(z)
    p.ushort(graphic)
    return p.finish()
Exemple #8
0
def TargetResponse(type, target_id, flags, serial, x, y, z, graphic):
    p = PacketWriter(0x6c)
    p.byte(type)
    p.uint(target_id)
    p.byte(flags)
    p.uint(serial)
    p.ushort(x)
    p.ushort(y)
    p.sshort(z)
    p.ushort(graphic)
    return p.finish()
Exemple #9
0
    def __init__(self, data: bytes, transport: asyncio.WriteTransport, packet_length: int):
        self.data: bytes = data[:]
        self.p: uo.packets.UOPacket = uo.packets.UOPacket(self.data, packet_length)
        self.packet_length = packet_length
        self.razor_features = uo.packets.RazorFeatures(self.p.from_buffer())

        if self.razor_features.features == 0xFE:
            packet = PacketWriter(0xF0, packet_length)
            packet.ushort(0x0004)
            packet.byte(0xFF)
            transport.write(packet.finish())
Exemple #10
0
def TalkUnicode(text, keyword, type=0xc0, hue=0x34, font=1):
    p = PacketWriter(0xad)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.fixstring('Eng', 4)
    p.byte(0x00)
    p.byte(0x10)
    p.byte(keyword)
    p.cstring(text)
    return p.finish()
Exemple #11
0
def TalkUnicode(text, keyword, type=0xc0, hue=0x34, font=1):
    p = PacketWriter(0xad)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.fixstring('Eng', 4)
    p.byte(0x00)
    p.byte(0x10)
    p.byte(keyword)
    p.cstring(text)
    return p.finish()
Exemple #12
0
def TalkUnicode(text, keyword=None, type=0, hue=0x34, font=1):
    assert (type & 0xc0) == 0

    if keyword is not None:
        type |= 0xc0

    p = PacketWriter(0xad)
    p.byte(type)
    p.ushort(hue)
    p.ushort(font)
    p.fixstring('Eng', 4)

    if keyword is not None:
        p.byte(0x00)
        p.byte(0x10 | (keyword >> 8))
        p.byte(keyword)

    p.ucstring(text)
    return p.finish()
Exemple #13
0
    def to_data(self):
        packet = PacketWriter(0xA8, self.packet_length)
        packet.byte(self.server_list.sys_info_flag)
        packet.ushort(self.server_list.count)

        for server in self.server_list.servers:
            packet.ushort(server.index)
            packet.fixstring(server.name, 32)
            packet.byte(server.percent_full)
            packet.byte(server.timezone)
            packet.ipv4(server.ip, True)

        return packet.finish()
Exemple #14
0
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()
Exemple #15
0
def MobileQuery(type, serial):
    p = PacketWriter(0x34)
    p.uint(0xedededed)
    p.byte(type)
    p.uint(serial)
    return p.finish()
Exemple #16
0
def Resync():
    p = PacketWriter(0x22)
    p.byte(0)
    p.byte(0)
    return p.finish()
Exemple #17
0
def CancelSecureTrade(serial):
    p = PacketWriter(0x6f)
    p.byte(0x01)
    p.uint(serial)
    return p.finish()
Exemple #18
0
def CreateCharacter(name):
    p = PacketWriter(0x00)
    p.uint(0xedededed)
    p.uint(0xffffffff)
    p.byte(0x00)
    p.fixstring(name, 30)
    p.ushort(0x0000)
    p.uint(0x0000003f)  # flags
    p.uint(0x00000001)
    p.uint(0x0000000f)
    p.byte(0x00)  # profession
    p.byte(0x00)
    p.byte(0x00)
    p.byte(0x00)
    p.uint(0x00000000)
    p.uint(0x00000000)
    p.byte(0x02)  # male?
    p.byte(0x3c)  # str
    p.byte(0x0a)  # dex
    p.byte(0x0a)  # int
    p.byte(0x19)  # is1
    p.byte(0x27)  # vs1
    p.byte(0x2c)  # is2
    p.byte(0x0b)  # vs2
    p.byte(0x0b)  # is3
    p.byte(0x32)  # vs3
    p.ushort(0x03ea)  # hue
    p.ushort(0x2047)  # hair
    p.ushort(0x044e)  # hair hue
    p.ushort(0x204b)  # facial hair
    p.ushort(0x044e)  # facial hair hue
    p.byte(0x00)
    p.byte(0x00)  # city
    p.uint(0x00000000)  # char slot
    p.uint(0xdeadbeef)  # client ip
    p.ushort(0x00e0)  # shirt hue
    p.ushort(0x01a1)  # pants hue
    return p.finish()
Exemple #19
0
def WalkRequest(direction, seq):
    p = PacketWriter(0x02)
    p.byte(direction)
    p.byte(seq)
    p.uint(0)
    return p.finish()
Exemple #20
0
def CancelSecureTrade(serial):
    p = PacketWriter(0x6f)
    p.byte(0x01)
    p.uint(serial)
    return p.finish()
Exemple #21
0
def RazorHandshakeResponse():
    p = PacketWriter(0xf0)
    p.byte(0xff)
    return p.finish()
Exemple #22
0
def StatLock(stat, lock):
    p = PacketWriter(0xbf)
    p.ushort(0x001a)
    p.byte(stat)
    p.byte(lock)
    return p.finish()
Exemple #23
0
def AccountLogin(username, password):
    p = PacketWriter(0x80)
    p.fixstring(username, 30)
    p.fixstring(password, 30)
    p.byte(0)
    return p.finish()
Exemple #24
0
def MobileQuery(type, serial):
    p = PacketWriter(0x34)
    p.uint(0xedededed)
    p.byte(type)
    p.uint(serial)
    return p.finish()
Exemple #25
0
def CheckSecureTrade(serial):
    p = PacketWriter(0x6f)
    p.byte(0x02)
    p.uint(serial)
    p.uint(1)
    return p.finish()
Exemple #26
0
def EquipRequest(item_serial, layer, target_serial):
    p = PacketWriter(0x13)
    p.uint(item_serial)
    p.byte(layer)
    p.uint(target_serial)
    return p.finish()
Exemple #27
0
def WalkRequest(direction, seq):
    p = PacketWriter(0x02)
    p.byte(direction)
    p.byte(seq)
    p.uint(0)
    return p.finish()
Exemple #28
0
def TextCommand(type, command):
    p = PacketWriter(0x12)
    p.byte(type)
    p.cstring(command)
    return p.finish()
Exemple #29
0
def Resync():
    p = PacketWriter(0x22)
    p.byte(0)
    p.byte(0)
    return p.finish()
Exemple #30
0
def CheckSecureTrade(serial):
    p = PacketWriter(0x6f)
    p.byte(0x02)
    p.uint(serial)
    p.uint(1)
    return p.finish()
Exemple #31
0
def TextCommand(type, command):
    p = PacketWriter(0x12)
    p.byte(type)
    p.cstring(command)
    return p.finish()
Exemple #32
0
def AccountLogin(username, password):
    p = PacketWriter(0x80)
    p.fixstring(username, 30)
    p.fixstring(password, 30)
    p.byte(0)
    return p.finish()
Exemple #33
0
def EquipRequest(item_serial, layer, target_serial):
    p = PacketWriter(0x13)
    p.uint(item_serial)
    p.byte(layer)
    p.uint(target_serial)
    return p.finish()
Exemple #34
0
def StatLock(stat, lock):
    p = PacketWriter(0xbf)
    p.ushort(0x001a)
    p.byte(stat)
    p.byte(lock)
    return p.finish()
Exemple #35
0
def SkillLock(skill, lock):
    p = PacketWriter(0x3a)
    p.ushort(skill)
    p.byte(lock)
    return p.finish()