From 5b5908c1f4843d0fd35bffaf1b22fbd995e1bbe9 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 23 五月 2019 20:14:49 +0800 Subject: [PATCH] 6805 【后端】【2.0】副本前端化(草园刷怪数定制支持) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossGrassland.py | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossGrassland.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossGrassland.py index 9e8b39f..6454838 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossGrassland.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossGrassland.py @@ -140,13 +140,22 @@ for npcID in npcIDList: PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GrasslandNPCCount % npcID, 0) npcCountDict = {} - for _ in xrange(refreshCount): - npcID = GameWorld.GetResultByRandomList(npcIDRateList) - if npcID: - npcCount = npcCountDict.get(npcID, 0) + 1 - npcCountDict[npcID] = npcCount - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GrasslandNPCCount % npcID, npcCount) - + # {寻访次数:{mapID:{npcID:个数, ...}, ...}, ...} + refreshMapNPCDictAppoint = IpyGameDataPY.GetFuncEvalCfg("CrossGrasslandCfg", 3) + fairyDomainVisitCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FairyDomainVisitCnt) + if fairyDomainVisitCnt in refreshMapNPCDictAppoint: + appointRefreshMapNPCDict = refreshMapNPCDictAppoint[fairyDomainVisitCnt] + npcCountDict = appointRefreshMapNPCDict.get(mapID, {}) + if not npcCountDict: + for _ in xrange(refreshCount): + npcID = GameWorld.GetResultByRandomList(npcIDRateList) + if npcID: + npcCount = npcCountDict.get(npcID, 0) + 1 + npcCountDict[npcID] = npcCount + + for npcID, npcCount in npcCountDict.items(): + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GrasslandNPCCount % npcID, npcCount) + if mapID == ChConfig.Def_FBMapID_CrossGrasslandXian: FBCommon.DelFBEnterTicket(curPlayer, mapID, lineID) -- Gitblit v1.8.0