hxp
2020-01-07 26534f375db82568cf5e29e74fd5a58cf71ce20f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWing.py
@@ -23,6 +23,7 @@
import ItemCommon
import GameFuncComm
import PlayerSuccess
import ItemControler
import ChEquip
import random
@@ -46,7 +47,7 @@
def OnWingJingLian(index, clientData, tick):
    
    # 根据策划需要,可以选择是否跨服服务器功能限制
#    if GameWorld.IsMergeServer():
#    if GameWorld.IsCrossServer():
#        return
    
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
@@ -83,7 +84,7 @@
        GameWorld.DebugLog("没有精炼值")
        return
    WingProgressUP(curWing, totalPoint, materialItemDict, curPlayer)
    CalcWingAttr(curPlayer)
    ChEquip.RefreshPlayerLingQiEquipAttr(curPlayer)
    PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_WingRefine, 1)
    return
@@ -256,7 +257,7 @@
    if not wingData:
        return
    wingClassLV = ItemCommon.GetItemClassLV(wingData)
    return IpyGameDataPY.GetIpyGameData("WingRefineAttr", wingClassLV)
    return IpyGameDataPY.GetIpyGameDataNotLog("WingRefineAttr", wingClassLV)
def GetWingProgressPerValueByID(itemID, per):
    ## 获取翅膀精炼百分比对应的精炼值
@@ -277,29 +278,7 @@
#  @param curPlayer 玩家
#  @param allAttrList 属性列表
#  @return None
def CalcWingAttr(curPlayer):
    allAttrList = [{} for _ in range(4)]
    equipPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptEquip)
    curWing = equipPack.GetAt(ShareDefine.retWing)
    if not ItemCommon.CheckItemCanUse(curWing):
        #GameWorld.DebugLog("没有穿戴翅膀!")
        PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Wing, allAttrList)
        return
    if not ItemCommon.CheckItemCanUseByExpireTime(curWing):
        # 过期
        PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Wing, allAttrList)
        return False
    # 物品表固定效果属性
    for effIndex in xrange(curWing.GetEffectCount()):
        curEff = curWing.GetEffectByIndex(effIndex)
        effID = curEff.GetEffectID()
        if effID == 0:
            continue
        PlayerControl.CalcAttrDict_Type(effID, curEff.GetEffectValue(0), allAttrList)
    #GameWorld.DebugLog("翅膀固定属性: %s" % allAttrList)
def CalcWingAttrEx(curPlayer, curWing, allAttrList):
    
    # 精炼属性
    wingAttrIpyData = GetWingRefineAttrData(curWing.GetItemTypeID())
@@ -313,11 +292,6 @@
        for effID, value in fujiaValueDict.items():
            PlayerControl.CalcAttrDict_Type(effID, int(value * rate), allAttrList)
    #GameWorld.DebugLog("    精炼属性: %s" % allAttrList)
    # 传奇属性
    ChEquip.CalcAttr_LegendAttr(curPlayer, curWing, allAttrList)
    #GameWorld.DebugLog("    传奇属性: %s" % allAttrList)
    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Wing, allAttrList)
    return