From 28bb89eb2ee8558b1529df973347803088cef88e Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期五, 19 四月 2019 15:10:27 +0800 Subject: [PATCH] 6374 境界提示增加参数 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py | 49 +++++++++++++++++++++++++++++-------------------- 1 files changed, 29 insertions(+), 20 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py index 4804586..aaee95e 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_FairyTreasure.py @@ -30,6 +30,7 @@ import ChPlayer import EventReport import ChNPC +import ItemCommon FBPlayerDict_CurStep = 'FBPlayerDict_CurStep' # 当前阶段 @@ -335,33 +336,41 @@ FBCommon.SetFBStep(FB_Step_Over, tick) lineID = FBCommon.GetFBPropertyMark() - 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 < itemData.GetLV() - 1: - #丹炉等级不足 + ipyData = IpyGameDataPY.GetIpyGameDataByCondition('FairyDomain', {'MapID':ChConfig.Def_FBMapID_FairyTreasure, 'LineID':lineID}) + fdeventID = ipyData.GetID() + giveItemList = PlayerFairyDomain.GetFairyAppointAward(curPlayer, fdeventID) + if not giveItemList: + awardCfg = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_FairyTreasure, lineID) + curAlchemyLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyLV) + giveItemList = [] + dropItemList = [] + 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: continue - - newItemInfoList.append(itemInfo) - if not newItemInfoList: - continue - giveItemList.append(GameWorld.GetResultByWeightList(newItemInfoList)) + randomitem = GameWorld.GetResultByWeightList(newItemInfoList) + giveItemList.append(randomitem) + for _ in xrange(randomitem[1]): + dropItemList.append([randomitem[0],1,randomitem[2]]) + if giveItemList: - NPCCommon.DoVirtualItemDrop(curPlayer, giveItemList, dropPosX, dropPosY) + NPCCommon.DoVirtualItemDrop(curPlayer, dropItemList, dropPosX, dropPosY) ItemControler.GivePlayerItemOrMail(curPlayer, giveItemList) leaveTick = __GetFBTimeCfg(lineID)[Def_LeaveTime] * 1000 curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTick, True) overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(giveItemList)} FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_FairyTreasure, lineID, 1, overDict) - ipyData = IpyGameDataPY.GetIpyGameDataByCondition('FairyDomain', {'MapID':ChConfig.Def_FBMapID_FairyTreasure, 'LineID':lineID}) - fdeventID = ipyData.GetID() + PlayerFairyDomain.SetFairyDomainEventState(curPlayer, fdeventID, PlayerFairyDomain.FDEventState_Visited) return -- Gitblit v1.8.0