hch
2018-09-19 da98bed8397215ff8e3709d9d34da8c1d6391c07
Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
8个文件已修改
50 ■■■■ 已修改文件
PySysDB/PySysDBPY.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -135,6 +135,7 @@
    list        BaseAttrTypes;    //基础属性类型列表
    list        BaseAttrValues;    //基础属性值列表
    list        HelpBattleSkills;    //助战技能ID列表
    DWORD        FightPowerEx;    //助战附加战力
    list        EquipPlaceColorList;    //穿戴装备颜色限制
};
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -260,8 +260,9 @@
Def_ItemID_GoldPaper = 30               # 直接给绑玉
Def_ItemID_RealmPoint = 24               # 直接给修行点
Def_ItemID_BossReborn = 21               # 直接给boss复活点
Def_ItemID_Ysog = 4306               # 直接给符印融合石
Def_TransformItemIDList = [Def_ItemID_FamilyContribution, Def_ItemID_FamilyActive, Def_ItemID_SP, Def_ItemID_GoldPaper, 
                           Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn]
                           Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn, Def_ItemID_Ysog]
#---------------------------------------------------------------------
#写死的物品类型都放这边
Def_ItemType_All = -1             #所有类型
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -1842,6 +1842,11 @@
    #装备合成某品质某星级
    RunQuestEvent(curPlayer, "compoundequip", '%s_%s'%(itemColor, itemQuality), Def_RunQuestType_Normal)
    return
def EventRespons_EquipWash(curPlayer, washType, washLV):
    #装备洗练至X级
    RunQuestEvent(curPlayer, "equipwash", '%s_%s'%(washType, washLV), Def_RunQuestType_Normal)
    return
#---------------------------------------------------------------------
#================================================================================
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
@@ -26,6 +26,7 @@
import ItemCommon
import ChConfig
import ChEquip
import EventShell
import random
@@ -357,6 +358,7 @@
            washSpecLVIpyData = IpyGameDataPY.GetIpyGameDataNotLog("EquipWashSpec", washType, washLV)
            if washSpecLVIpyData:
                PlayerControl.WorldNotify(0, "WashMasterCongratulation", [curPlayer.GetPlayerName(), curPlayer.GetPlayerID(), washType, washLV])
        EventShell.EventRespons_EquipWash(curPlayer, washType, washLV)
        break
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py
@@ -123,7 +123,10 @@
#  @param lineID 线路id
# @return None
def __CheckEnter(curPlayer, mapID, lineID):
    if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
        GameWorld.DebugLog("爵位境界功能未开启, 无法开启渡劫!curLV=%s" % curPlayer.GetLV())
        return False
    if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader or (lineID == 1 and curPlayer.GetTeamID() == 0):
        curRealmLV = curPlayer.GetOfficialRank()
        realmIpyData = PlayerPrestigeSys.GetRealmIpyData(curRealmLV)
        if not realmIpyData:
@@ -139,9 +142,7 @@
#        if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmFBIsOpen) != 1:
#            return False
   
    if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
        GameWorld.DebugLog("爵位境界功能未开启, 无法开启渡劫!curLV=%s" % curPlayer.GetLV())
        return False
    return True
@@ -184,7 +185,7 @@
        FBCommon.SetFBStep(FB_Step_MapPrepare, tick)
    
    
    fbPlayerCnt = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenPlayerCnt)
    DuJieFBCfg = GetRealmFBTimeCfg()
    if not gameFB.GetGameFBDictByKey(DuJieFB_LeaderPlayerID):
        #重置属性加成
@@ -193,11 +194,12 @@
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmFBAttrAdd % attrID, 0)
        
        GameWorld.DebugLog('玩家进入副本')
        if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
        if fbPlayerCnt == 1 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
            __SetFBLeaderPlayer(curPlayer)
            if gameFB.GetFBStep() == FB_Step_Fighting:
                __OnDuJieFBStart(tick)
    isHelpFight = lineID == 1 and curPlayer.GetTeamLV() != IPY_GameWorld.tmlLeader
    isHelpFight = lineID == 1 and curPlayer.GetTeamLV() != IPY_GameWorld.tmlLeader and fbPlayerCnt > 1
    joinType = FBCommon.GetFBJoinType(curPlayer, isHelpFight)
    EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_DuJie, lineID, ChConfig.CME_Log_Start, joinType)
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -131,6 +131,7 @@
                        ("list", "BaseAttrTypes", 0),
                        ("list", "BaseAttrValues", 0),
                        ("list", "HelpBattleSkills", 0),
                        ("DWORD", "FightPowerEx", 0),
                        ("list", "EquipPlaceColorList", 0),
                        ),
@@ -1212,6 +1213,7 @@
        self.BaseAttrTypes = []
        self.BaseAttrValues = []
        self.HelpBattleSkills = []
        self.FightPowerEx = 0
        self.EquipPlaceColorList = []
        return
        
@@ -1219,6 +1221,7 @@
    def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表
    def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表
    def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表
    def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
    def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
# 神兽强化表
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1048,7 +1048,7 @@
            return False
        return True
    
    def __DoTransformItem(self, curPlayer, tagItem):
    def DoTransformItem(self, curPlayer, tagItem):
        ## 将特殊物品转化为对应数值
        itemID = tagItem.GetItemTypeID()
        if itemID not in ChConfig.Def_TransformItemIDList:
@@ -1070,6 +1070,8 @@
        elif itemID == ChConfig.Def_ItemID_BossReborn:
            msgStr = str(itemCount)
            GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'AddBossRebornPoint', msgStr, len(msgStr))
        elif itemID == ChConfig.Def_ItemID_Ysog:
            PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_Ysog, itemCount)
        
        return True
    
@@ -1082,8 +1084,8 @@
    def PutInItem(self, packIndex, tagItem, defaultPile=True, event=["", False, {}]):
        curPlayer = self.__Player
        
        if self.__DoTransformItem(curPlayer, tagItem):
            tagItem.Clear() # 需清除,不然会导致内存泄露
        if packIndex != ShareDefine.rptTreasure and self.DoTransformItem(curPlayer, tagItem):
            tagItem.Clear() # 需清除,不然会导致内存泄露   寻宝仓库可暂存直接转化数值的物品
            return True
        
        isEquip = ItemCommon.CheckItemIsEquip(tagItem)
@@ -1396,6 +1398,9 @@
    return
def __DoDropItemToOtherPack(curPlayer, itemControl, fromPackIndex, toPackIndex, itemIndex, curItem):
    if itemControl.DoTransformItem(curPlayer, curItem):
        curItem.Clear()
        return True
    curItemTypeID = curItem.GetItemTypeID()
    #curItemGUID = curItem.GetGUID()
    curItemCount = curItem.GetCount()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -125,6 +125,7 @@
    # 助战状态换装需要刷属性
    if GetDogzIsHelpFight(curPlayer, dogzID):
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -201,6 +202,7 @@
    if GetDogzIsHelpFight(curPlayer, dogzID):
        SetDogzIsHelpFight(curPlayer, dogzID, False) # 因为脱下了状态,所以必须设置为非助战状态
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -262,6 +264,7 @@
    GameWorld.DebugLog("神兽助战状态变更!dogzID=%s,isFight=%s" % (dogzID, isFight), playerID)
    SetDogzIsHelpFight(curPlayer, dogzID, isFight)
    RefreshDogzAttr(curPlayer)
    PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
    return
@@ -432,6 +435,7 @@
    
    if isRefreshAtrr:
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -460,6 +464,7 @@
def RefreshDogzAttr(curPlayer):
    ## 刷新神兽属性
    
    fightPowerEx = 0
    allAttrList = [{} for _ in range(4)]
    
    dogzEquipPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
@@ -520,8 +525,12 @@
            ChEquip.CalcAttr_LegendAttr(curPlayer, curEquip, allAttrList)
            #GameWorld.DebugLog("    装备传奇: itemID=%s,%s" % (itemID, allAttrList))
            
        # 附加战力
        fightPowerEx += ipyData.GetFightPowerEx()
    # 保存计算值
    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Dogz, allAttrList)
    curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Dogz, fightPowerEx)
    return
def Sync_DogzInfo(curPlayer):