hch
2019-10-22 2fd008832f486f996f1ad2fab7173b18fbec129a
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py
@@ -21,6 +21,7 @@
import GameWorld
import IpyGameDataPY
import PlayerFairyDomain
import PlayerControl
import ItemCommon
import NPCCommon
import ChConfig
@@ -36,7 +37,7 @@
        return
    return True
## 自定义场景采集OK
## 自定义场景采集OK,需自带是否允许采集的判断
def OnCustomSceneCollectOK(curPlayer, mapID, lineID, npcID):
    
    curState = PlayerFairyDomain.GetFairyDomainFBEventState(curPlayer, mapID, lineID)
@@ -46,27 +47,19 @@
    ipyData = IpyGameDataPY.GetIpyGameDataByCondition('FairyDomain', {'MapID':ChConfig.Def_FBMapID_FairyTreasure, 'LineID':lineID})
    fdeventID = ipyData.GetID()
    PlayerFairyDomain.SetFairyDomainEventState(curPlayer, fdeventID, PlayerFairyDomain.FDEventState_Visited)
    PlayerControl.SetCustomMap(curPlayer, 0, 0)
    
    giveItemList = PlayerFairyDomain.GetFairyAppointAward(curPlayer, fdeventID)
    if not giveItemList:
        awardCfg = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_FairyTreasure, lineID)
        curAlchemyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyLV)
        giveItemList = []
        for awardRateList in awardCfg:
            newItemInfoList = []
            for itemInfo in awardRateList:
                itemID = itemInfo[1][0]
                itemData = GameWorld.GetGameData().GetItemByTypeID(itemID)
                if not itemData:
                    return
                if curAlchemyLV < ItemCommon.GetItemClassLV(itemData) - 1:
                    #丹炉等级不足
                    continue
                newItemInfoList.append(itemInfo)
            if not newItemInfoList:
            realWeightList = ItemCommon.GetWeightItemListByAlchemyDiffLV(curPlayer, awardRateList, 1)
            if not realWeightList:
                continue
            randomitem = GameWorld.GetResultByWeightList(newItemInfoList)
            randomitem = GameWorld.GetResultByWeightList(realWeightList)
            if not randomitem[0]:
                continue
            giveItemList.append(randomitem)
            
    if giveItemList:
@@ -74,6 +67,6 @@
        
    overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(giveItemList)}
    FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_FairyTreasure, lineID, 1, overDict)
    return
    return True