xdh
2019-05-10 771f62cd27d62ad60c18258bb6a8ff334ef50bde
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFairyDomain.py
@@ -26,6 +26,7 @@
import IpyGameDataPY
import PlayerActivity
import ItemControler
import ItemCommon
import PyGameData
import EventShell
@@ -250,8 +251,12 @@
        eventID = ipyData.GetID()
        appearCntInfo = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainEventAppearCnt % eventID)
        hourAppearCntPri, dayAppearCntPri = appearCntInfo % 1000, appearCntInfo / 1000
        if hourAppearCntPri >= ipyData.GetHourCntPriLimit() or dayAppearCntPri >= ipyData.GetDayCntPriLimit():
            #超过今日或本小时个人可出现次数上限
        hourCntPriLimit, dayCntPriLimit = ipyData.GetHourCntPriLimit(), ipyData.GetDayCntPriLimit()
        if hourCntPriLimit and hourAppearCntPri >= hourCntPriLimit:
            #超过本小时个人可出现次数上限
            continue
        if dayCntPriLimit and dayAppearCntPri >= dayCntPriLimit:
            #超过今日个人可出现次数上限
            continue
        if eventID in PyGameData.g_fairyDomainLimit:
            #超过全服可出现次数
@@ -317,9 +322,10 @@
            GameLogic_CrossGrassland.DoResetCrossGrassland(curPlayer, ipyData.GetEventType(), fdeventID)
            
    elif state == FDEventState_Visited:
        if curState != FDEventState_Visiting:
            GameWorld.Log('缥缈仙域事件状态设置错误,fdeventID=%s, state=%s, curState=%s' % (fdeventID, state, curState))
            return
        #设置结束,暂不做限制,防止异常导致无法结束
#        if curState != FDEventState_Visiting:
#            GameWorld.Log('缥缈仙域事件状态设置错误,fdeventID=%s, state=%s, curState=%s' % (fdeventID, state, curState))
#            return
        EventShell.EventRespons_FairyDomain(curPlayer)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainEventState % fdeventID, state)
    NotifyVisitFairyDomainInfo(curPlayer, [fdeventID], 0)
@@ -427,6 +433,7 @@
                if not gearAwardList:
                    return
                itemRateList = gearAwardList[index] if index < len(gearAwardList) else gearAwardList[-1]
                itemRateList = ItemCommon.GetWeightItemListByAlchemyDiffLV(curPlayer, itemRateList, 1)
                giveItemList = [GameWorld.GetResultByWeightList(itemRateList)]
            else:
                giveItemList = [ipyData.GetBasicAward()]
@@ -444,4 +451,13 @@
    ipyData = IpyGameDataPY.GetIpyGameDataByCondition('FairyDomainAppoint', {'Cnt':visitCnt, 'EventID':fdEventID}, False, False)
    if not ipyData:
        return
    return ipyData.GetAward()
    job = curPlayer.GetJob()
    itemList = []
    for itemInfo in ipyData.GetAward():
        if type(itemInfo[0]) == dict:
            if job not in itemInfo[0]:
                continue
            itemList.append([itemInfo[0][job], itemInfo[1], itemInfo[2]])
        else:
            itemList.append(itemInfo)
    return itemList