hxp
2019-06-21 442b6a0d554d8382060571da060a50f299261109
7394 【2.0】【后端】雷罚BOSS(删除诛仙装备)
18个文件已修改
2个文件已删除
1400 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintZXEquipSkill.py 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/EquipZhuXian.py 475 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayerData.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -6599,62 +6599,6 @@
#------------------------------------------------------
# A3 30 装备诛仙装备 #tagCMEquipZhuXianItem
class  tagCMEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ("ItemIndex", c_ubyte),    #装备在诛仙物品背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        self.EquipIndex = 0
        self.ItemIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 30 装备诛仙装备 //tagCMEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d,
                                ItemIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex,
                                self.ItemIndex
                                )
        return DumpString
m_NAtagCMEquipZhuXianItem=tagCMEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipZhuXianItem.Cmd,m_NAtagCMEquipZhuXianItem.SubCmd))] = m_NAtagCMEquipZhuXianItem
#------------------------------------------------------
# A3 12 守护拾取物品 #tagCMGuardPickupItem
class  tagCMGuardPickupItem(Structure):
@@ -7295,58 +7239,6 @@
#------------------------------------------------------
# A3 31 卸下诛仙装备 #tagCMUnEquipZhuXianItem
class  tagCMUnEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        self.EquipIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMUnEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 31 卸下诛仙装备 //tagCMUnEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex
                                )
        return DumpString
m_NAtagCMUnEquipZhuXianItem=tagCMUnEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnEquipZhuXianItem.Cmd,m_NAtagCMUnEquipZhuXianItem.SubCmd))] = m_NAtagCMUnEquipZhuXianItem
#------------------------------------------------------
# A3 2B 一键使用属性果实 #tagCMUseAllAttrFruit
class  tagCMUseAllAttrFruit(Structure):
@@ -7523,90 +7415,6 @@
m_NAtagCMWingUp=tagCMWingUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp
#------------------------------------------------------
# A3 32 诛仙装备分解 #tagCMZhuXianEquipDecompose
class  tagCMZhuXianEquipDecompose(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)//材料所在背包索引的数量
    IndexList = list()    #(vector<WORD> IndexList)//材料所在背包索引列表
    ItemIDList = list()    #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
    IsAuto = 0    #(BYTE IsAuto)//是否自动分解
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.IndexList.append(value)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.ItemIDList.append(value)
        self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        self.Count = 0
        self.IndexList = list()
        self.ItemIDList = list()
        self.IsAuto = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 2 * self.Count
        length += 4 * self.Count
        length += 1
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteWORD(data, self.IndexList[i])
        for i in range(self.Count):
            data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
        data = CommFunc.WriteBYTE(data, self.IsAuto)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                IndexList:%s,
                                ItemIDList:%s,
                                IsAuto:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "...",
                                "...",
                                self.IsAuto
                                )
        return DumpString
m_NAtagCMZhuXianEquipDecompose=tagCMZhuXianEquipDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMZhuXianEquipDecompose.Head.Cmd,m_NAtagCMZhuXianEquipDecompose.Head.SubCmd))] = m_NAtagCMZhuXianEquipDecompose
#------------------------------------------------------
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -22122,118 +22122,6 @@
#------------------------------------------------------
# A8 15 诛仙装备分解结果通知 #tagMCZhuXianDecomposeResult
class  tagMCZhuXianDecomposeItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),    #物品ID
                  ("ItemCnt", c_ubyte),    #物品数量
                  ("IsBind", c_ubyte),    #是否绑定
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.ItemID = 0
        self.ItemCnt = 0
        self.IsBind = 0
        return
    def GetLength(self):
        return sizeof(tagMCZhuXianDecomposeItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A8 15 诛仙装备分解结果通知 //tagMCZhuXianDecomposeResult:
                                ItemID:%d,
                                ItemCnt:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCnt,
                                self.IsBind
                                )
        return DumpString
class  tagMCZhuXianDecomposeResult(Structure):
    Head = tagHead()
    Cnt = 0    #(BYTE Cnt)//数量
    ItemList = list()    #(vector<tagMCZhuXianDecomposeItem> ItemList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA8
        self.Head.SubCmd = 0x15
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Cnt):
            temItemList = tagMCZhuXianDecomposeItem()
            _pos = temItemList.ReadData(_lpData, _pos)
            self.ItemList.append(temItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA8
        self.Head.SubCmd = 0x15
        self.Cnt = 0
        self.ItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Cnt):
            length += self.ItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Cnt)
        for i in range(self.Cnt):
            data = CommFunc.WriteString(data, self.ItemList[i].GetLength(), self.ItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Cnt:%d,
                                ItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Cnt,
                                "..."
                                )
        return DumpString
m_NAtagMCZhuXianDecomposeResult=tagMCZhuXianDecomposeResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCZhuXianDecomposeResult.Head.Cmd,m_NAtagMCZhuXianDecomposeResult.Head.SubCmd))] = m_NAtagMCZhuXianDecomposeResult
#------------------------------------------------------
# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
class  tagMCActLoginAwardAction(Structure):
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -507,34 +507,6 @@
Def_Effect_JobBAtkReducePer = 94 # 法师攻击伤害减免
Def_Effect_JobCAtkReducePer = 95 # 弓箭攻击伤害减免
Def_Effect_ZXCloakAttrPer = 96 # 诛仙披风属性加成百分比
Def_Effect_ZXMaskAttrPer = 97 # 诛仙面具属性加成百分比
Def_Effect_ZXGloveAttrPer = 98 # 诛仙手套属性加成百分比
Def_Effect_ZXRuyiAttrPer = 99 # 诛仙如意属性加成百分比
Def_Effect_ZXPendantAttrPer = 100 # 诛仙吊坠属性加成百分比
Def_Effect_ZXRingAttrPer = 101 # 诛仙戒指属性加成百分比
Def_Effect_SkillAddPer1 = 102 # 技能伤害增强1
Def_Effect_SkillAddPer2 = 103 # 技能伤害增强2
Def_Effect_SkillAddPer3 = 104 # 技能伤害增强3
Def_Effect_SkillAddPer4 = 105 # 技能伤害增强4
Def_Effect_SkillAddPer5 = 106 # 技能伤害增强5
Def_Effect_SkillAddPer6 = 107 # 技能伤害增强6
Def_Effect_SkillAddPer7 = 108 # 技能伤害增强7
Def_Effect_SkillReducePer1 = 109 # 受到技能伤害减少1
Def_Effect_SkillReducePer2 = 110 # 受到技能伤害减少2
Def_Effect_SkillReducePer3 = 111 # 受到技能伤害减少3
Def_Effect_SkillReducePer4 = 112 # 受到技能伤害减少4
Def_Effect_SkillReducePer5 = 113 # 受到技能伤害减少5
Def_Effect_SkillReducePer6 = 114 # 受到技能伤害减少6
Def_Effect_SkillReducePer7 = 115 # 受到技能伤害减少7
Def_Effect_ZXWeaponAttrPer = 116 # 诛仙剑1属性加成百分比
Def_Effect_LXWeaponAttrPer = 117 # 诛仙剑2属性加成百分比
Def_Effect_XXWeaponAttrPer = 118 # 诛仙剑3属性加成百分比
Def_Effect_JXWeaponAttrPer = 119 # 诛仙剑4属性加成百分比
Def_Effect_Luck = 120 # 气运
Def_Effect_LuckPer = 133 # 气运百分率
@@ -998,10 +970,8 @@
rptPet,             # 宠物背包(用物品存储宠物的数据) 31
rptDogzItem,        # 神兽物品背包 32
rptDogzEquip,       # 神兽装备背包 33
rptZhuXianItem,     # 诛仙物品背包 34
rptZhuXianEquip,    # 诛仙装备背包 35
rptMax,             # 最大背包类型数量,放在最后一个
) = range(28, 28 + 9)  #C++定义的枚举到27
) = range(28, 28 + 7)  #C++定义的枚举到27
#虚拟背包类型, 从255递减
Def_VPack_TypeList = (
@@ -1699,22 +1669,6 @@
    dogzetClaw,     # 神兽兽爪
    dogzetScute,    # 神兽鳞甲
) = range(101, 101 + 5)
# 诛仙装备位定义
ZhuXianEquipPlace = (
    zxetCloak,      # 诛仙披风 121
    zxetMask,       # 诛仙面具 122
    zxetGlove,      # 诛仙手套 123
    zxetGlove2,     # 诛仙手套 124
    zxetRuyi,       # 诛仙如意 125
    zxetPendant,    # 诛仙吊坠 126
    zxetRing,       # 诛仙戒指 127
    zxetRing2,      # 诛仙戒指 128
    zxetWeapon1,    # 诛仙剑1 129
    zxetWeapon2,    # 诛仙剑2 130
    zxetWeapon3,    # 诛仙剑3 131
    zxetWeapon4,    # 诛仙剑4 132
) = range(121, 121 + 12)
# 共享通用装备位,可装备同一类型装备
ShareEquipPlace = [
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -1267,26 +1267,6 @@
PacketSubCMD_5=0xC4
PacketCallFunc_5=OnDogzEquipPlus
;诛仙装备
[EquipZhuXian]
ScriptName = Item\EquipZhuXian.py
Writer = hxp
Releaser = hxp
RegType = 0
RegisterPackCount = 3
PacketCMD_1=0xA3
PacketSubCMD_1=0x30
PacketCallFunc_1=OnEquipZhuXianItem
PacketCMD_2=0xA3
PacketSubCMD_2=0x31
PacketCallFunc_2=OnUnEquipZhuXianItem
PacketCMD_3=0xA3
PacketSubCMD_3=0x32
PacketCallFunc_3=OnZhuXianEquipDecompose
;个推
[PlayerGeTui]
ScriptName = Player\PlayerGeTui.py
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -57,7 +57,6 @@
import ChPyNetSendPack
import NetPackCommon
import FamilyRobBoss
#import EquipZhuXian
import FBCommon
import ChNPC
@@ -1472,10 +1471,8 @@
    
    addPer = 0
    reducePer = 0
    #addPer += EquipZhuXian.GetZhuXianEquipSkillAddPer(atkObj.GetPlayerID(), skillTypeID)
    
    if defObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
        #reducePer = EquipZhuXian.GetZhuXianEquipSkillReducePer(defObj.GetPlayerID(), skillTypeID)
        
        #根据防守方职业 计算攻击方伤害加成
        if defObj.GetJob() in [ShareDefine.PlayerJob_Warrior, ShareDefine.PlayerJob_Knight]:
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -361,20 +361,7 @@
Def_ItemType_DogzEquipScute = 123   # 神兽鳞甲
Def_ItemType_AddCrossRealmPKCnt = 127 #增加跨服PK次数
Def_ItemType_ZXCloak = 128 # 诛仙披风
Def_ItemType_ZXMask = 129 # 诛仙面具
Def_ItemType_ZXGlove = 130 # 诛仙手套
Def_ItemType_ZXRuyi = 131 # 诛仙如意
Def_ItemType_ZXPendant = 132 # 诛仙吊坠
Def_ItemType_ZXRing = 133 # 诛仙戒指
Def_ItemType_ZXWeapon1 = 134 # 诛仙剑1
Def_ItemType_ZXWeapon2 = 135 # 诛仙剑2
Def_ItemType_ZXWeapon3 = 136 # 诛仙剑3
Def_ItemType_ZXWeapon4 = 137 # 诛仙剑4
Def_ItemType_ZhuXianStuff = 138 # 诛仙材料
Def_ItemType_DogzStuff = 139 # 神兽材料
Def_ItemType_ZhuXianStone = 140 # 诛仙宝石
#以下定义物品类型下次删除
Def_Item_Type_Horse = 1000036          #坐骑
@@ -782,13 +769,10 @@
Def_EquipItemType_TJGAutoEat = xrange(Def_ItemType_retWeapon, Def_ItemType_retShoes + 1)
#装备类型
Def_EquipItemType = range(Def_ItemType_retWeapon, Def_ItemType_DogzEquipScute + 1) + range(Def_ItemType_ZXCloak, Def_ItemType_ZXWeapon4 + 1)
Def_EquipItemType = range(Def_ItemType_retWeapon, Def_ItemType_DogzEquipScute + 1)
#神兽装备类型
Def_DogzEquiipType = xrange(Def_ItemType_DogzEquipHorn, Def_ItemType_DogzEquipScute + 1)
#诛仙装备类型
Def_ZhuXianEquiipType = xrange(Def_ItemType_ZXCloak, Def_ItemType_ZXWeapon4 + 1)
# 技能造成实质性伤害的类型
Def_RealAttack_Type = [
@@ -849,10 +833,6 @@
Def_PackCnt_DogzItem = 100
#初始化神兽装备格子数
Def_PackCnt_DogzEquip = 100
#初始化诛仙背包格子数
Def_PackCnt_ZhuXianItem = 100
#初始化诛仙装备格子数
Def_PackCnt_ZhuXianEquip = 12
#初始化装备栏2
Def_PackCnt_Equip2 = 0
#初始化回收站
@@ -1096,8 +1076,6 @@
                                    ShareDefine.rptPet,
                                    ShareDefine.rptDogzItem,
                                    ShareDefine.rptDogzEquip,
                                    ShareDefine.rptZhuXianItem,
                                    ShareDefine.rptZhuXianEquip,
                                    ]
#装备可强化背包列表
@@ -1453,7 +1431,7 @@
#自动恢复计算间隔
Def_HPRestoreInterval = 5000
#允许重置的背包索引
Def_CanItemResetPack = [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse, ShareDefine.rptTreasure, ShareDefine.rptZhuXianItem]
Def_CanItemResetPack = [IPY_GameWorld.rptItem, IPY_GameWorld.rptWarehouse, ShareDefine.rptTreasure]
#仓库分页个数
Def_ItemReset_WarehousePageCnt = 56
#玩家捡起物品的距离 8
@@ -3610,10 +3588,6 @@
#试炼之塔
Def_Player_Dict_TrialTower_PassLV = "TrialTower_PassLV"  # 试炼之塔通关层数
Def_Player_Dict_TrialTower_LastDayPassLV = "Tower_LastDayPassLV"  # 试炼之塔昨日通关层数
#诛仙塔
Def_Player_Dict_ZhuXianTowerPassLV = "ZhuXianTowerPassLV"  # 诛仙塔已通关层数
Def_Player_Dict_ZhuXianTowerLastFloor = "ZhuXianTowerLastFloor"  # 诛仙塔上次挑战层数
Def_Player_Dict_ZhuXianTowerCostTime = "ZhuXianTowerCostTime"  # 诛仙塔通关时间
#天星塔
Def_Player_Dict_SkyTowerFloor = "SkyTowerFloor"  # 天星塔已通关层数
@@ -4868,7 +4842,7 @@
ItemDel_ChatBubbleBox, # 激活聊天气泡框
ItemDel_GatherSoul, # 聚魂分解
ItemDel_CoatDecompose, # 时装分解
ItemDel_ZhuXianDecompose, # 诛仙装备分解
ItemDel_2037,
ItemDel_EquipStarUp, # 装备升星
ItemDel_EquipPlusEvolve, # 装备强化进化
) = range(2000, 2000 + 40)
@@ -4912,7 +4886,6 @@
                   ItemDel_ChatBubbleBox:"ChatBubbleBox",
                   ItemDel_GatherSoul:"GatherSoul",
                   ItemDel_CoatDecompose:"CoatDecompose",
                   ItemDel_ZhuXianDecompose:"ZhuXianDecompose",
                   ItemDel_EquipStarUp:"EquipStarUp",
                   ItemDel_EquipPlusEvolve:"EquipPlusEvolve",
                   }
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -6599,62 +6599,6 @@
#------------------------------------------------------
# A3 30 装备诛仙装备 #tagCMEquipZhuXianItem
class  tagCMEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ("ItemIndex", c_ubyte),    #装备在诛仙物品背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x30
        self.EquipIndex = 0
        self.ItemIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 30 装备诛仙装备 //tagCMEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d,
                                ItemIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex,
                                self.ItemIndex
                                )
        return DumpString
m_NAtagCMEquipZhuXianItem=tagCMEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMEquipZhuXianItem.Cmd,m_NAtagCMEquipZhuXianItem.SubCmd))] = m_NAtagCMEquipZhuXianItem
#------------------------------------------------------
# A3 12 守护拾取物品 #tagCMGuardPickupItem
class  tagCMGuardPickupItem(Structure):
@@ -7295,58 +7239,6 @@
#------------------------------------------------------
# A3 31 卸下诛仙装备 #tagCMUnEquipZhuXianItem
class  tagCMUnEquipZhuXianItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("Cmd", c_ubyte),
                  ("SubCmd", c_ubyte),
                  ("EquipIndex", c_ubyte),    #装备在诛仙装备背包中的索引
                  ]
    def __init__(self):
        self.Clear()
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.Cmd = 0xA3
        self.SubCmd = 0x31
        self.EquipIndex = 0
        return
    def GetLength(self):
        return sizeof(tagCMUnEquipZhuXianItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A3 31 卸下诛仙装备 //tagCMUnEquipZhuXianItem:
                                Cmd:%s,
                                SubCmd:%s,
                                EquipIndex:%d
                                '''\
                                %(
                                self.Cmd,
                                self.SubCmd,
                                self.EquipIndex
                                )
        return DumpString
m_NAtagCMUnEquipZhuXianItem=tagCMUnEquipZhuXianItem()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMUnEquipZhuXianItem.Cmd,m_NAtagCMUnEquipZhuXianItem.SubCmd))] = m_NAtagCMUnEquipZhuXianItem
#------------------------------------------------------
# A3 2B 一键使用属性果实 #tagCMUseAllAttrFruit
class  tagCMUseAllAttrFruit(Structure):
@@ -7523,90 +7415,6 @@
m_NAtagCMWingUp=tagCMWingUp()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMWingUp.Head.Cmd,m_NAtagCMWingUp.Head.SubCmd))] = m_NAtagCMWingUp
#------------------------------------------------------
# A3 32 诛仙装备分解 #tagCMZhuXianEquipDecompose
class  tagCMZhuXianEquipDecompose(Structure):
    Head = tagHead()
    Count = 0    #(BYTE Count)//材料所在背包索引的数量
    IndexList = list()    #(vector<WORD> IndexList)//材料所在背包索引列表
    ItemIDList = list()    #(vector<DWORD> ItemIDList)//材料所在背包物品ID列表
    IsAuto = 0    #(BYTE IsAuto)//是否自动分解
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadWORD(_lpData,_pos)
            self.IndexList.append(value)
        for i in range(self.Count):
            value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
            self.ItemIDList.append(value)
        self.IsAuto,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA3
        self.Head.SubCmd = 0x32
        self.Count = 0
        self.IndexList = list()
        self.ItemIDList = list()
        self.IsAuto = 0
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 2 * self.Count
        length += 4 * self.Count
        length += 1
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteWORD(data, self.IndexList[i])
        for i in range(self.Count):
            data = CommFunc.WriteDWORD(data, self.ItemIDList[i])
        data = CommFunc.WriteBYTE(data, self.IsAuto)
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Count:%d,
                                IndexList:%s,
                                ItemIDList:%s,
                                IsAuto:%d
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Count,
                                "...",
                                "...",
                                self.IsAuto
                                )
        return DumpString
m_NAtagCMZhuXianEquipDecompose=tagCMZhuXianEquipDecompose()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMZhuXianEquipDecompose.Head.Cmd,m_NAtagCMZhuXianEquipDecompose.Head.SubCmd))] = m_NAtagCMZhuXianEquipDecompose
#------------------------------------------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -22122,118 +22122,6 @@
#------------------------------------------------------
# A8 15 诛仙装备分解结果通知 #tagMCZhuXianDecomposeResult
class  tagMCZhuXianDecomposeItem(Structure):
    _pack_ = 1
    _fields_ = [
                  ("ItemID", c_int),    #物品ID
                  ("ItemCnt", c_ubyte),    #物品数量
                  ("IsBind", c_ubyte),    #是否绑定
                  ]
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, stringData, _pos=0, _len=0):
        self.Clear()
        memmove(addressof(self), stringData[_pos:], self.GetLength())
        return _pos + self.GetLength()
    def Clear(self):
        self.ItemID = 0
        self.ItemCnt = 0
        self.IsBind = 0
        return
    def GetLength(self):
        return sizeof(tagMCZhuXianDecomposeItem)
    def GetBuffer(self):
        return string_at(addressof(self), self.GetLength())
    def OutputString(self):
        DumpString = '''// A8 15 诛仙装备分解结果通知 //tagMCZhuXianDecomposeResult:
                                ItemID:%d,
                                ItemCnt:%d,
                                IsBind:%d
                                '''\
                                %(
                                self.ItemID,
                                self.ItemCnt,
                                self.IsBind
                                )
        return DumpString
class  tagMCZhuXianDecomposeResult(Structure):
    Head = tagHead()
    Cnt = 0    #(BYTE Cnt)//数量
    ItemList = list()    #(vector<tagMCZhuXianDecomposeItem> ItemList)
    data = None
    def __init__(self):
        self.Clear()
        self.Head.Cmd = 0xA8
        self.Head.SubCmd = 0x15
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.Cnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Cnt):
            temItemList = tagMCZhuXianDecomposeItem()
            _pos = temItemList.ReadData(_lpData, _pos)
            self.ItemList.append(temItemList)
        return _pos
    def Clear(self):
        self.Head = tagHead()
        self.Head.Clear()
        self.Head.Cmd = 0xA8
        self.Head.SubCmd = 0x15
        self.Cnt = 0
        self.ItemList = list()
        return
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        for i in range(self.Cnt):
            length += self.ItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.Cnt)
        for i in range(self.Cnt):
            data = CommFunc.WriteString(data, self.ItemList[i].GetLength(), self.ItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                Cnt:%d,
                                ItemList:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.Cnt,
                                "..."
                                )
        return DumpString
m_NAtagMCZhuXianDecomposeResult=tagMCZhuXianDecomposeResult()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCZhuXianDecomposeResult.Head.Cmd,m_NAtagMCZhuXianDecomposeResult.Head.SubCmd))] = m_NAtagMCZhuXianDecomposeResult
#------------------------------------------------------
# AA 0C 登录奖励活动信息 #tagMCActLoginAwardInfo
class  tagMCActLoginAwardAction(Structure):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipStone.py
@@ -32,8 +32,6 @@
import ShareDefine
import EventShell
# import EquipZhuXian
g_stoneCanPlaceList = []  # 可镶嵌的位置
@@ -132,12 +130,7 @@
def GetPackTypeByEquipPlace(equipPlace):
    ##目前支持镶嵌普通装备、诛仙装备
    #    if equipPlace in ShareDefine.ZhuXianEquipPlace:
    #        equipPackType = ShareDefine.rptZhuXianEquip
    #        stonePackType = ShareDefine.rptZhuXianItem
    #        placeIndex = EquipZhuXian.GetZhuXianEquipIndexByPlace(equipPlace)
    #    else:
    ##目前支持镶嵌普通装备
    equipPackType = IPY_GameWorld.rptEquip
    stonePackType = IPY_GameWorld.rptItem
    placeIndex = equipPlace
@@ -554,8 +547,6 @@
        # 刷新所有属性
        playControl = PlayerControl.PlayerControl(curPlayer)
        playControl.RefreshPlayerAttrState()
    # elif packType == ShareDefine.rptZhuXianEquip:
    #    EquipZhuXian.RefreshZhuXianAttr(curPlayer)
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintZXEquipSkill.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
@@ -71,9 +71,6 @@
    
    if curPlayer.GetOfficialRank() < ipyData.GetRealmLV():
        return
#    #诛仙总评分
#    if ItemCommon.GetZhuXianEquipTotalGS(curPlayer) < ipyData.GetZhuXianScore():
#        return
    
    enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_ZhuXianBoss)
    if enterCnt >= FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/EquipZhuXian.py
File was deleted
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1041,7 +1041,7 @@
    
    def __CrossServerPutInItem(self, packIndex, tagItem, event=["", False, {}]):
        ## 跨服获得物品
        if packIndex not in [IPY_GameWorld.rptItem, ShareDefine.rptDogzItem, ShareDefine.rptZhuXianItem]:
        if packIndex not in [IPY_GameWorld.rptItem, ShareDefine.rptDogzItem]:
            #GameWorld.DebugLog("跨服获得物品不同步, packIndex=%s" % (packIndex))
            return
        curPlayer = self.__Player
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -459,20 +459,20 @@
    SkillAtkRateReduce = 0#attrDict.get(ShareDefine.Def_Effect_SkillAtkRateReduce, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAtkRateReduceC())
    Hit = attrDict.get(ShareDefine.Def_Effect_Hit, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetHitC())
    Miss = attrDict.get(ShareDefine.Def_Effect_Miss, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetMissC())
    SkillAddPerA = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer1, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer1C())
    SkillAddPerB = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer2, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer2C())
    SkillAddPerC = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer3, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer3C())
    SkillAddPerD = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer4, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer4C())
    SkillAddPerE = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer5, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer5C())
    SkillAddPerF = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer6, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer6C())
    SkillAddPerG = 0#attrDict.get(ShareDefine.Def_Effect_SkillAddPer7, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillAddPer7C())
    SkillReducePerA = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer1, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer1C())
    SkillReducePerB = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer2, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer2C())
    SkillReducePerC = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer3, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer3C())
    SkillReducePerD = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer4, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer4C())
    SkillReducePerE = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer5, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer5C())
    SkillReducePerF = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer6, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer6C())
    SkillReducePerG = 0#attrDict.get(ShareDefine.Def_Effect_SkillReducePer7, 0) * (1 if not gsParamIpyData else gsParamIpyData.GetSkillReducePer7C())
    SkillAddPerA = 0
    SkillAddPerB = 0
    SkillAddPerC = 0
    SkillAddPerD = 0
    SkillAddPerE = 0
    SkillAddPerF = 0
    SkillAddPerG = 0
    SkillReducePerA = 0
    SkillReducePerB = 0
    SkillReducePerC = 0
    SkillReducePerD = 0
    SkillReducePerE = 0
    SkillReducePerF = 0
    SkillReducePerG = 0
    
    # 攻速不默认乘,仅作为参数提供策划使用
    AtkSpeed = 0#attrDict.get(ShareDefine.Def_Effect_AtkSpeed, 0)
@@ -488,17 +488,6 @@
        value = eval(FormulaControl.GetCompileFormula("EquipGSFormula", IpyGameDataPY.GetFuncCfg("EquipGSFormula")))
    value += gsValueEx
    return value
def GetZhuXianEquipTotalGS(curPlayer):
    ##诛仙装备总评分
    equipScoreTotal = 0
    zhuXianEquipPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianEquip)
    for equipIndex in xrange(zhuXianEquipPack.GetCount()):
        curEquip = zhuXianEquipPack.GetAt(equipIndex)
        if curEquip.IsEmpty():
            continue
        equipScoreTotal += GetEquipGearScore(curEquip)
    return equipScoreTotal
#---------------------------------------------------------------------
## 通过效果ID,检查是否为指定物品 
@@ -1595,11 +1584,11 @@
#  @remarks 函数详细说明.
def SwitchItem(curPlayer, curItem, switchItem, putInPackIndex):
    ##物品绑定字段判定 -> 装备绑定
    if putInPackIndex in [IPY_GameWorld.rptEquip, ShareDefine.rptZhuXianEquip]:
    if putInPackIndex in [IPY_GameWorld.rptEquip]:
        DoLogic_ItemBindType(curPlayer, switchItem, ChConfig.Def_BindType_DoEquipBind)
        
    # 装备技能书、坐骑装备绑定
    if putInPackIndex in [IPY_GameWorld.rptHorseEquip, ShareDefine.rptZhuXianEquip]:
    if putInPackIndex in [IPY_GameWorld.rptHorseEquip]:
        DoLogic_ItemBindType(curPlayer, curItem, ChConfig.Def_BindType_DoEquipBind)
    
    #交换装备
@@ -1620,11 +1609,11 @@
        return
    
    ##物品绑定字段判定 -> 装备绑定
    if putInPackIndex in [IPY_GameWorld.rptEquip, ShareDefine.rptZhuXianEquip]:
    if putInPackIndex in [IPY_GameWorld.rptEquip]:
        DoLogic_ItemBindType(curPlayer, switchItem, ChConfig.Def_BindType_DoEquipBind)
    
    # 装备技能书、坐骑装备绑定
    if putInPackIndex in [IPY_GameWorld.rptHorseEquip, ShareDefine.rptZhuXianEquip]:
    if putInPackIndex in [IPY_GameWorld.rptHorseEquip]:
        DoLogic_ItemBindType(curPlayer, emptyItem, ChConfig.Def_BindType_DoEquipBind)
    if switchItem.GetGameWorldItemType() == IPY_GameWorld.gwitRoleItem:
@@ -1646,10 +1635,6 @@
def GetIsDogzEquip(curItem):
    ## 返回是否神兽装备
    return curItem.GetType() in ChConfig.Def_DogzEquiipType
def GetIsZhuXianEquip(curItem):
    ## 返回是否诛仙装备
    return curItem.GetType() in ChConfig.Def_ZhuXianEquiipType
#---------------------------------------------------------------------
##遍历数据库查找合适的物品, 通过 效果ID + 效果A值确定物品
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -1269,15 +1269,6 @@
    curPack.SetCount(ChConfig.Def_PackCnt_DogzEquip)
    curPack.Sync_PackCanUseCount()
    
    #初始化诛仙物品背包
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianItem)
    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianItem)
    curPack.Sync_PackCanUseCount()
    #初始化诛仙装备背包
    curPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptZhuXianEquip)
    curPack.SetCount(ChConfig.Def_PackCnt_ZhuXianEquip)
    curPack.Sync_PackCanUseCount()
    #初始化临时交换背包
    curPack = itemManager.GetPack(ShareDefine.rptTempSwap)
    curPack.SetCount(ChConfig.Def_PackCnt_TempSwap)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossPlayerData.py
@@ -262,7 +262,7 @@
    itemsDict = {}
    # 影响战力的物品,新功能注意添加,下次需要加上诛仙塔
    
    packList = [IPY_GameWorld.rptEquip, ShareDefine.rptPet, ShareDefine.rptDogzEquip, ShareDefine.rptZhuXianEquip]
    packList = [IPY_GameWorld.rptEquip, ShareDefine.rptPet, ShareDefine.rptDogzEquip]
    for packIndex in packList:
        curPack = curPlayer.GetItemManager().GetPack(packIndex)
        for i in range(curPack.GetCount()):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -88,7 +88,6 @@
import CrossRealmPlayer
import CrossPlayerData
import ChNetSendPack
#import EquipZhuXian
import PlayerCoat
import PlayerState
import QuestCommon
@@ -1238,8 +1237,6 @@
        CrossPlayerData.ClearCrossSyncDataCache(curPlayer)
        PyGameData.g_fbBuyBuffTimeDict.pop(playerID, None)
    #清除地图玩家缓存
    PyGameData.g_zhuXianSkillAddPerDict.pop(playerID, None)
    PyGameData.g_zhuXianSkillReducePerDict.pop(playerID, None)
    PyGameData.g_playerFuncAttrDict.pop(playerID, None)
    PyGameData.g_playerEquipPartAttrDict.pop(playerID, None)
    PyGameData.g_equipChangeClassLVInfo.pop(playerID, None)
@@ -4277,7 +4274,6 @@
        PlayerFamilyTech.CalcFamilyTechAttr(curPlayer)
        PlayerEquipDecompose.RefreshEDAttr(curPlayer)
        PlayerDogz.RefreshDogzAttr(curPlayer)
        #EquipZhuXian.CalcZhuXianAttr(curPlayer)
        PlayerGatherSoul.RefreshGatherSoulAttr(curPlayer)
        PlayerCoat.CalcClothesCoatSkinAttr(curPlayer)
        self.RefreshAllState(isForce=True)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/PyGameData.py
@@ -93,8 +93,6 @@
g_crossPlayerSkillsChangeInfo = {} #跨服玩家技能变化信息 {playerID:[技能ID], ...}
g_ZhuXianBossPlayerHurtDict = {} #诛仙BOSS玩家伤害排行信息
g_zhuXianSkillAddPerDict = {} # 诛仙装备对技能增强缓存 {playerID:{技能TypeID:数值, ...}, ...}
g_zhuXianSkillReducePerDict = {} # 诛仙装备对技能减伤缓存 {playerID:{技能TypeID:数值, ...}, ...}
g_Qudao_DoubleBill = {} # 渠道删档充值返利
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -507,34 +507,6 @@
Def_Effect_JobBAtkReducePer = 94 # 法师攻击伤害减免
Def_Effect_JobCAtkReducePer = 95 # 弓箭攻击伤害减免
Def_Effect_ZXCloakAttrPer = 96 # 诛仙披风属性加成百分比
Def_Effect_ZXMaskAttrPer = 97 # 诛仙面具属性加成百分比
Def_Effect_ZXGloveAttrPer = 98 # 诛仙手套属性加成百分比
Def_Effect_ZXRuyiAttrPer = 99 # 诛仙如意属性加成百分比
Def_Effect_ZXPendantAttrPer = 100 # 诛仙吊坠属性加成百分比
Def_Effect_ZXRingAttrPer = 101 # 诛仙戒指属性加成百分比
Def_Effect_SkillAddPer1 = 102 # 技能伤害增强1
Def_Effect_SkillAddPer2 = 103 # 技能伤害增强2
Def_Effect_SkillAddPer3 = 104 # 技能伤害增强3
Def_Effect_SkillAddPer4 = 105 # 技能伤害增强4
Def_Effect_SkillAddPer5 = 106 # 技能伤害增强5
Def_Effect_SkillAddPer6 = 107 # 技能伤害增强6
Def_Effect_SkillAddPer7 = 108 # 技能伤害增强7
Def_Effect_SkillReducePer1 = 109 # 受到技能伤害减少1
Def_Effect_SkillReducePer2 = 110 # 受到技能伤害减少2
Def_Effect_SkillReducePer3 = 111 # 受到技能伤害减少3
Def_Effect_SkillReducePer4 = 112 # 受到技能伤害减少4
Def_Effect_SkillReducePer5 = 113 # 受到技能伤害减少5
Def_Effect_SkillReducePer6 = 114 # 受到技能伤害减少6
Def_Effect_SkillReducePer7 = 115 # 受到技能伤害减少7
Def_Effect_ZXWeaponAttrPer = 116 # 诛仙剑1属性加成百分比
Def_Effect_LXWeaponAttrPer = 117 # 诛仙剑2属性加成百分比
Def_Effect_XXWeaponAttrPer = 118 # 诛仙剑3属性加成百分比
Def_Effect_JXWeaponAttrPer = 119 # 诛仙剑4属性加成百分比
Def_Effect_Luck = 120 # 气运
Def_Effect_LuckPer = 133 # 气运百分率
@@ -998,10 +970,8 @@
rptPet,             # 宠物背包(用物品存储宠物的数据) 31
rptDogzItem,        # 神兽物品背包 32
rptDogzEquip,       # 神兽装备背包 33
rptZhuXianItem,     # 诛仙物品背包 34
rptZhuXianEquip,    # 诛仙装备背包 35
rptMax,             # 最大背包类型数量,放在最后一个
) = range(28, 28 + 9)  #C++定义的枚举到27
) = range(28, 28 + 7)  #C++定义的枚举到27
#虚拟背包类型, 从255递减
Def_VPack_TypeList = (
@@ -1699,22 +1669,6 @@
    dogzetClaw,     # 神兽兽爪
    dogzetScute,    # 神兽鳞甲
) = range(101, 101 + 5)
# 诛仙装备位定义
ZhuXianEquipPlace = (
    zxetCloak,      # 诛仙披风 121
    zxetMask,       # 诛仙面具 122
    zxetGlove,      # 诛仙手套 123
    zxetGlove2,     # 诛仙手套 124
    zxetRuyi,       # 诛仙如意 125
    zxetPendant,    # 诛仙吊坠 126
    zxetRing,       # 诛仙戒指 127
    zxetRing2,      # 诛仙戒指 128
    zxetWeapon1,    # 诛仙剑1 129
    zxetWeapon2,    # 诛仙剑2 130
    zxetWeapon3,    # 诛仙剑3 131
    zxetWeapon4,    # 诛仙剑4 132
) = range(121, 121 + 12)
# 共享通用装备位,可装备同一类型装备
ShareEquipPlace = [
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -47,7 +47,6 @@
import IpyGameDataPY
import PyGameData
import EventShell
#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -1917,10 +1916,6 @@
    if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
        if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
            return False
    #诛仙技能学习判断
    #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
    #    if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
    #        return False
        
    #经验检测
    skillLvUpNeedExp = upSkill.GetLVUpCostExp()