hxp
2024-01-15 34e1fe758ce0499e63cd232eb9f77fd67bfe80c4
Tool/Robot/Protocol/PacketsReceived.py
@@ -983,7 +983,7 @@
    LV = 0    #(WORD LV)//等级
    LVEx = 0    #(WORD LVEx)//玩家等级副本,用于转生
    LV2 = 0    #(WORD LV2)//大师等级
    ExpPoint = 0    #(WORD ExpPoint)//扩充经验点数
    ExpPoint = 0    #(DWORD ExpPoint)//扩充经验点数
    TotalExp = 0    #(DWORD TotalExp)//总经验
    Family = 0    #(DWORD Family)//家族
    FamilyName = ""    #(char FamilyName[33])//家族名称
@@ -1062,6 +1062,12 @@
    OperateInfo = 0    #(DWORD OperateInfo)//玩家附加运营商信息
    Operate = ""    #(char Operate[15])//所属运营商平台名
    ServerID = 0    #(DWORD ServerID)//所属区服ID
    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
    data = None
    def __init__(self):
@@ -1084,7 +1090,7 @@
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.LVEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.LV2,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ExpPoint,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.ExpPoint,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.TotalExp,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Family,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,33)
@@ -1163,6 +1169,12 @@
        self.OperateInfo,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Operate,_pos = CommFunc.ReadString(_lpData, _pos,15)
        self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -1260,6 +1272,12 @@
        self.OperateInfo = 0
        self.Operate = ""
        self.ServerID = 0
        self.ExAttr15 = 0
        self.ExAttr16 = 0
        self.ExAttr17 = 0
        self.ExAttr18 = 0
        self.ExAttr19 = 0
        self.ExAttr20 = 0
        return
    def GetLength(self):
@@ -1276,7 +1294,7 @@
        length += 2
        length += 2
        length += 2
        length += 2
        length += 4
        length += 4
        length += 4
        length += 33
@@ -1355,6 +1373,12 @@
        length += 4
        length += 15
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -1372,7 +1396,7 @@
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteWORD(data, self.LVEx)
        data = CommFunc.WriteWORD(data, self.LV2)
        data = CommFunc.WriteWORD(data, self.ExpPoint)
        data = CommFunc.WriteDWORD(data, self.ExpPoint)
        data = CommFunc.WriteDWORD(data, self.TotalExp)
        data = CommFunc.WriteDWORD(data, self.Family)
        data = CommFunc.WriteString(data, 33, self.FamilyName)
@@ -1451,6 +1475,12 @@
        data = CommFunc.WriteDWORD(data, self.OperateInfo)
        data = CommFunc.WriteString(data, 15, self.Operate)
        data = CommFunc.WriteDWORD(data, self.ServerID)
        data = CommFunc.WriteDWORD(data, self.ExAttr15)
        data = CommFunc.WriteDWORD(data, self.ExAttr16)
        data = CommFunc.WriteDWORD(data, self.ExAttr17)
        data = CommFunc.WriteDWORD(data, self.ExAttr18)
        data = CommFunc.WriteDWORD(data, self.ExAttr19)
        data = CommFunc.WriteDWORD(data, self.ExAttr20)
        return data
    def OutputString(self):
@@ -1545,7 +1575,13 @@
                                ExAttr14:%d,
                                OperateInfo:%d,
                                Operate:%s,
                                ServerID:%d
                                ServerID:%d,
                                ExAttr15:%d,
                                ExAttr16:%d,
                                ExAttr17:%d,
                                ExAttr18:%d,
                                ExAttr19:%d,
                                ExAttr20:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -1638,7 +1674,13 @@
                                self.ExAttr14,
                                self.OperateInfo,
                                self.Operate,
                                self.ServerID
                                self.ServerID,
                                self.ExAttr15,
                                self.ExAttr16,
                                self.ExAttr17,
                                self.ExAttr18,
                                self.ExAttr19,
                                self.ExAttr20
                                )
        return DumpString
@@ -7019,67 +7061,36 @@
#03 09 主角登录时候的简短信息#tagPlayerLoginInfo
class  tagLoginInfoEquip(Structure):
    ItemPlace = 0    #(BYTE ItemPlace)
    ItemID = 0    #(DWORD ItemID)
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)//size = UserDataLen
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.ItemPlace,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.ItemPlace = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagLoginInfoEquip)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.ItemPlace)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                ItemPlace:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//03 09 主角登录时候的简短信息//tagPlayerLoginInfo:
                                ItemID:%d
                                '''\
                                %(
                                self.ItemPlace,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -7095,6 +7106,16 @@
    EquipCount = 0    #(BYTE EquipCount)
    EquipInfo = list()    #(vector<tagLoginInfoEquip> EquipInfo)//size = EquipCount
    EquipShowSwitch = 0    #(DWORD EquipShowSwitch)//玩家装备显示开关
    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
    IPLen = 0    #(BYTE IPLen)
    IP = ""    #(String IP)// 跨服IP
    Port = 0    #(WORD Port)// 跨服端口
    CrossState = 0    #(BYTE CrossState)// 跨服状态0-非跨服状态,1-跨服状态,2-跨服状态异常
    data = None
    def __init__(self):
@@ -7118,6 +7139,16 @@
            _pos = temEquipInfo.ReadData(_lpData, _pos)
            self.EquipInfo.append(temEquipInfo)
        self.EquipShowSwitch,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IPLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IP,_pos = CommFunc.ReadString(_lpData, _pos,self.IPLen)
        self.Port,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.CrossState,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -7134,6 +7165,16 @@
        self.EquipCount = 0
        self.EquipInfo = list()
        self.EquipShowSwitch = 0
        self.ExAttr15 = 0
        self.ExAttr16 = 0
        self.ExAttr17 = 0
        self.ExAttr18 = 0
        self.ExAttr19 = 0
        self.ExAttr20 = 0
        self.IPLen = 0
        self.IP = ""
        self.Port = 0
        self.CrossState = 0
        return
    def GetLength(self):
@@ -7149,6 +7190,16 @@
        for i in range(self.EquipCount):
            length += self.EquipInfo[i].GetLength()
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 1
        length += len(self.IP)
        length += 2
        length += 1
        return length
@@ -7165,6 +7216,16 @@
        for i in range(self.EquipCount):
            data = CommFunc.WriteString(data, self.EquipInfo[i].GetLength(), self.EquipInfo[i].GetBuffer())
        data = CommFunc.WriteDWORD(data, self.EquipShowSwitch)
        data = CommFunc.WriteDWORD(data, self.ExAttr15)
        data = CommFunc.WriteDWORD(data, self.ExAttr16)
        data = CommFunc.WriteDWORD(data, self.ExAttr17)
        data = CommFunc.WriteDWORD(data, self.ExAttr18)
        data = CommFunc.WriteDWORD(data, self.ExAttr19)
        data = CommFunc.WriteDWORD(data, self.ExAttr20)
        data = CommFunc.WriteBYTE(data, self.IPLen)
        data = CommFunc.WriteString(data, self.IPLen, self.IP)
        data = CommFunc.WriteWORD(data, self.Port)
        data = CommFunc.WriteBYTE(data, self.CrossState)
        return data
    def OutputString(self):
@@ -7178,7 +7239,17 @@
                                HavePswLV2:%d,
                                EquipCount:%d,
                                EquipInfo:%s,
                                EquipShowSwitch:%d
                                EquipShowSwitch:%d,
                                ExAttr15:%d,
                                ExAttr16:%d,
                                ExAttr17:%d,
                                ExAttr18:%d,
                                ExAttr19:%d,
                                ExAttr20:%d,
                                IPLen:%d,
                                IP:%s,
                                Port:%d,
                                CrossState:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -7190,7 +7261,17 @@
                                self.HavePswLV2,
                                self.EquipCount,
                                "...",
                                self.EquipShowSwitch
                                self.EquipShowSwitch,
                                self.ExAttr15,
                                self.ExAttr16,
                                self.ExAttr17,
                                self.ExAttr18,
                                self.ExAttr19,
                                self.ExAttr20,
                                self.IPLen,
                                self.IP,
                                self.Port,
                                self.CrossState
                                )
        return DumpString
@@ -8481,67 +8562,36 @@
#04 34 周围玩家出现合并封包#tagAreaPlayerAppearEx
class  tagEquipInfo(Structure):
    Place = 0    #(BYTE Place)//装备位置
    ItemID = 0    #(DWORD ItemID)//物品ID
    IsSuite = 0    #(BYTE IsSuite)//是否已经套装化
    UserDataLen = 0    #(DWORD UserDataLen)
    UserData = ""    #(String UserData)// 附加数据
    data = None
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),    #物品ID
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        self.Place,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ItemID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.IsSuite,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.UserDataLen,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.UserData,_pos = CommFunc.ReadString(_lpData, _pos,self.UserDataLen)
        return _pos
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Place = 0
        self.ItemID = 0
        self.IsSuite = 0
        self.UserDataLen = 0
        self.UserData = ""
        return
    def GetLength(self):
        length = 0
        length += 1
        length += 4
        length += 1
        length += 4
        length += len(self.UserData)
        return length
        return sizeof(tagEquipInfo)
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteBYTE(data, self.Place)
        data = CommFunc.WriteDWORD(data, self.ItemID)
        data = CommFunc.WriteBYTE(data, self.IsSuite)
        data = CommFunc.WriteDWORD(data, self.UserDataLen)
        data = CommFunc.WriteString(data, self.UserDataLen, self.UserData)
        return data
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''
                                Place:%d,
                                ItemID:%d,
                                IsSuite:%d,
                                UserDataLen:%d,
                                UserData:%s
        DumpString = '''//04 34 周围玩家出现合并封包//tagAreaPlayerAppearEx:
                                ItemID:%d
                                '''\
                                %(
                                self.Place,
                                self.ItemID,
                                self.IsSuite,
                                self.UserDataLen,
                                self.UserData
                                self.ItemID
                                )
        return DumpString
@@ -8639,6 +8689,12 @@
    ExAttr5 = 0    #(DWORD ExAttr5)//预留的扩展属性字段,用来存放项目特定的属性
    ServerID = 0    #(DWORD ServerID)//所属区服ID
    State = 0    #(BYTE State)// 0.正常在线1.脱机挂在线 2脱机挂死亡
    ExAttr15 = 0    #(DWORD ExAttr15)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr16 = 0    #(DWORD ExAttr16)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr17 = 0    #(DWORD ExAttr17)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr18 = 0    #(DWORD ExAttr18)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr19 = 0    #(DWORD ExAttr19)//预留的扩展属性字段,用来存放项目特定的属性
    ExAttr20 = 0    #(DWORD ExAttr20)//预留的扩展属性字段,用来存放项目特定的属性
    data = None
    def __init__(self):
@@ -8696,6 +8752,12 @@
        self.ExAttr5,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ServerID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.State,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.ExAttr15,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr16,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr17,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr18,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr19,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.ExAttr20,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -8743,6 +8805,12 @@
        self.ExAttr5 = 0
        self.ServerID = 0
        self.State = 0
        self.ExAttr15 = 0
        self.ExAttr16 = 0
        self.ExAttr17 = 0
        self.ExAttr18 = 0
        self.ExAttr19 = 0
        self.ExAttr20 = 0
        return
    def GetLength(self):
@@ -8790,6 +8858,12 @@
        length += 4
        length += 4
        length += 1
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        length += 4
        return length
@@ -8838,6 +8912,12 @@
        data = CommFunc.WriteDWORD(data, self.ExAttr5)
        data = CommFunc.WriteDWORD(data, self.ServerID)
        data = CommFunc.WriteBYTE(data, self.State)
        data = CommFunc.WriteDWORD(data, self.ExAttr15)
        data = CommFunc.WriteDWORD(data, self.ExAttr16)
        data = CommFunc.WriteDWORD(data, self.ExAttr17)
        data = CommFunc.WriteDWORD(data, self.ExAttr18)
        data = CommFunc.WriteDWORD(data, self.ExAttr19)
        data = CommFunc.WriteDWORD(data, self.ExAttr20)
        return data
    def OutputString(self):
@@ -8882,7 +8962,13 @@
                                ExAttr4:%d,
                                ExAttr5:%d,
                                ServerID:%d,
                                State:%d
                                State:%d,
                                ExAttr15:%d,
                                ExAttr16:%d,
                                ExAttr17:%d,
                                ExAttr18:%d,
                                ExAttr19:%d,
                                ExAttr20:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -8925,7 +9011,13 @@
                                self.ExAttr4,
                                self.ExAttr5,
                                self.ServerID,
                                self.State
                                self.State,
                                self.ExAttr15,
                                self.ExAttr16,
                                self.ExAttr17,
                                self.ExAttr18,
                                self.ExAttr19,
                                self.ExAttr20
                                )
        return DumpString
@@ -9632,6 +9724,7 @@
                  ("PlayerID", c_int),    # 主人ID
                  ("PosX", c_int),    # X坐标
                  ("PosY", c_int),    # Y坐标
                  ("Rank", c_ubyte),    #阶段
                  ]
    def __init__(self):
@@ -9653,6 +9746,7 @@
        self.PlayerID = 0
        self.PosX = 0
        self.PosY = 0
        self.Rank = 0
        return
    def GetLength(self):
@@ -9669,7 +9763,8 @@
                                NPCID:%d,
                                PlayerID:%d,
                                PosX:%d,
                                PosY:%d
                                PosY:%d,
                                Rank:%d
                                '''\
                                %(
                                self.Cmd,
@@ -9678,7 +9773,8 @@
                                self.NPCID,
                                self.PlayerID,
                                self.PosX,
                                self.PosY
                                self.PosY,
                                self.Rank
                                )
        return DumpString
@@ -10734,7 +10830,7 @@
    MaxHP = 0    #(DWORD MaxHP)
    MaxHPEx = 0    #(DWORD MaxHPEx)
    Speed = 0    #(WORD Speed)
    LV = 0    #(BYTE LV)
    LV = 0    #(WORD LV)
    OwnerNameLen = 0    #(BYTE OwnerNameLen)
    OwnerName = ""    #(String OwnerName)//size = OwnerNameLen
    data = None
@@ -10759,7 +10855,7 @@
        self.MaxHP,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.MaxHPEx,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Speed,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.LV,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.OwnerNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.OwnerName,_pos = CommFunc.ReadString(_lpData, _pos,self.OwnerNameLen)
        return _pos
@@ -10799,7 +10895,7 @@
        length += 4
        length += 4
        length += 2
        length += 1
        length += 2
        length += 1
        length += len(self.OwnerName)
@@ -10819,7 +10915,7 @@
        data = CommFunc.WriteDWORD(data, self.MaxHP)
        data = CommFunc.WriteDWORD(data, self.MaxHPEx)
        data = CommFunc.WriteWORD(data, self.Speed)
        data = CommFunc.WriteBYTE(data, self.LV)
        data = CommFunc.WriteWORD(data, self.LV)
        data = CommFunc.WriteBYTE(data, self.OwnerNameLen)
        data = CommFunc.WriteString(data, self.OwnerNameLen, self.OwnerName)
        return data
@@ -12851,10 +12947,12 @@
    ObjType = 0    #(BYTE ObjType)
    BattleType = 0    #(BYTE BattleType)//物理/魔法
    SkillID = 0    #(WORD SkillID)
    SkillIDEx = 0    #(WORD SkillIDEx)
    PosX = 0    #(WORD PosX)
    PosY = 0    #(WORD PosY)
    HurtCount = 0    #(WORD HurtCount)//伤害数目
    HurtList = list()    #(vector<tagSkillPosHurtObj> HurtList)//size = HurtCount
    SkillElementID = 0    #(WORD SkillElementID)//专精技能ID
    data = None
    def __init__(self):
@@ -12870,6 +12968,7 @@
        self.ObjType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.BattleType,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.SkillID,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.SkillIDEx,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.PosX,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.PosY,_pos = CommFunc.ReadWORD(_lpData, _pos)
        self.HurtCount,_pos = CommFunc.ReadWORD(_lpData, _pos)
@@ -12877,6 +12976,7 @@
            temHurtList = tagSkillPosHurtObj()
            _pos = temHurtList.ReadData(_lpData, _pos)
            self.HurtList.append(temHurtList)
        self.SkillElementID,_pos = CommFunc.ReadWORD(_lpData, _pos)
        return _pos
    def Clear(self):
@@ -12888,10 +12988,12 @@
        self.ObjType = 0
        self.BattleType = 0
        self.SkillID = 0
        self.SkillIDEx = 0
        self.PosX = 0
        self.PosY = 0
        self.HurtCount = 0
        self.HurtList = list()
        self.SkillElementID = 0
        return
    def GetLength(self):
@@ -12904,8 +13006,10 @@
        length += 2
        length += 2
        length += 2
        length += 2
        for i in range(self.HurtCount):
            length += self.HurtList[i].GetLength()
        length += 2
        return length
@@ -12916,11 +13020,13 @@
        data = CommFunc.WriteBYTE(data, self.ObjType)
        data = CommFunc.WriteBYTE(data, self.BattleType)
        data = CommFunc.WriteWORD(data, self.SkillID)
        data = CommFunc.WriteWORD(data, self.SkillIDEx)
        data = CommFunc.WriteWORD(data, self.PosX)
        data = CommFunc.WriteWORD(data, self.PosY)
        data = CommFunc.WriteWORD(data, self.HurtCount)
        for i in range(self.HurtCount):
            data = CommFunc.WriteString(data, self.HurtList[i].GetLength(), self.HurtList[i].GetBuffer())
        data = CommFunc.WriteWORD(data, self.SkillElementID)
        return data
    def OutputString(self):
@@ -12930,10 +13036,12 @@
                                ObjType:%d,
                                BattleType:%d,
                                SkillID:%d,
                                SkillIDEx:%d,
                                PosX:%d,
                                PosY:%d,
                                HurtCount:%d,
                                HurtList:%s
                                HurtList:%s,
                                SkillElementID:%d
                                '''\
                                %(
                                self.Head.OutputString(),
@@ -12941,10 +13049,12 @@
                                self.ObjType,
                                self.BattleType,
                                self.SkillID,
                                self.SkillIDEx,
                                self.PosX,
                                self.PosY,
                                self.HurtCount,
                                "..."
                                "...",
                                self.SkillElementID
                                )
        return DumpString