From e75c4e9dda0ef8c05f84e9cdd5cc7f14bd14d536 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 22 八月 2018 16:17:46 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py      |   22 ++++++++++++++++------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py            |    6 +++++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py |    2 ++
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 6cf2e53..926c040 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1663,6 +1663,8 @@
     aIceAtk = atkObj.GetIceAtk()        # 冰攻, 元素真伤, 玩家及NPC通用
     aIceAtk += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddIceAtk)
     #------- 防守方
+    dMinAtk = defObj.GetMinAtk()        # 防守方最小攻击
+    dMaxAtk = defObj.GetMaxAtk()        # 防守方最大攻击
     dDef = defObj.GetDef()              # 防守方防御力
     dHP = GameObj.GetHP(defObj)                # 防守方当前血量
     dMaxHP = GameObj.GetMaxHP(defObj)          # 防守方最大血量
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
index 3459869..62699e6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -1939,6 +1939,9 @@
         
     conditionType = curConditionNode.GetAttribute("type")
     moneyType = int(curConditionNode.GetAttribute("moneytype"))
+    
+    
+    
     goldValue = curPlayer.GetGold()
     goldPaperValue = curPlayer.GetGoldPaper()
     silverValue = PlayerControl.GetSilver(curPlayer)
@@ -1949,6 +1952,8 @@
         return QuestRunnerValue.GetEval(conditionType, goldPaperValue, conditionValue)
     elif moneyType == IPY_GameWorld.TYPE_Price_Silver_Money:
         return QuestRunnerValue.GetEval(conditionType, silverValue, conditionValue)
+    elif moneyType == ShareDefine.TYPE_Price_Gold_Paper_Money:
+        return QuestRunnerValue.GetEval(conditionType, goldValue + goldPaperValue, conditionValue)
     else:
         GameWorld.Log("任务 = %s , moneytype = %s填错拉" % (curMission.GetMissionID() , moneyType) , curPlayer.GetPlayerID())
         return
@@ -3681,21 +3686,26 @@
     
     moneytype = int(curActionNode.GetAttribute("moneytype"))
     
-    if moneytype not in ChConfig.Def_MoneyType_All:
-        GameWorld.Log("##异常moneytype = %s填错拉" % (moneytype))
-        return
+#    if moneytype not in ChConfig.Def_MoneyType_All:
+#        GameWorld.Log("##异常moneytype = %s填错拉" % (moneytype))
+#        return
     
     curMissionID = 0
     if curMission == None:
         curMissionID = 0
     else:
         curMissionID = curMission.GetMissionID()
-        
-    #付钱
-    if not PlayerControl.PayMoney(curPlayer, moneytype, value, ChConfig.Def_Cost_MissionDel, {"MissionID":curMissionID}):
+    costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, moneytype, value)
+    if not costMoneyList:
         GameWorld.Log("##付费异常,玩家金钱不足,任务missionID = %s" % (curMissionID) , curPlayer.GetPlayerID())
         EventShell.DoExitEvent(curPlayer)
         return
+    #付钱
+    for moneyType, moneyNum in costMoneyList:
+        if not PlayerControl.PayMoney(curPlayer, moneyType, moneyNum, ChConfig.Def_Cost_MissionDel, {"MissionID":curMissionID}):
+            GameWorld.Log("##付费异常,玩家金钱不足,任务missionID = %s" % (curMissionID) , curPlayer.GetPlayerID())
+            EventShell.DoExitEvent(curPlayer)
+            return
     
     GameWorld.Login_Interface_GoldRec(curPlayer , 0 , 0 , 'MissionID_%s_Cost' % (curMissionID), moneytype, value)
     return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index a9219ee..01e10c3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -2009,7 +2009,7 @@
 # @param canLock 是否可以锁定玩家(传送点不可锁定, 因为要跨地图寻路)
 # @return 返回值无意义
 # @remarks 玩家切换地图
-def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID= -1, msg='', canLock=True, exData1=0):
+def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID=-1, msg='', canLock=True, exData1=0):
     #更改: 死亡允许切换地图, 在副本中被怪打死, 副本时间到, 回收副本
 #    if curPlayer.GetHP() <= 0 :
 #        GameWorld.Log("死亡无法切换地图")
@@ -2084,6 +2084,10 @@
                 return bossShuntLineID
         return tagLineID
     
+    if curMapID == tagMapID:
+        GameWorld.DebugLog("同地图切换坐标不处理分流!", playerID)
+        return tagLineID
+    
     # 可以用来常规分流的线路人数字典信息, 并不是所有线路都可以用来做人数分流的,比如中立地图有多条线用来分流boss,但是只有1条线可用来做常规的人数分流
     mapLineDict = IpyGameDataPY.GetFuncCfg("MapLine", 1)
     if tagMapID in mapLineDict:

--
Gitblit v1.8.0