From 9a4d2b1a70a221c810a7cdf4b119bde08ddfb8c2 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 10 一月 2019 21:10:46 +0800
Subject: [PATCH] 5736 【后端】【1.5】神兵特效佩戴优化
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py | 41 +++++++++++++++++++++++++++++++++--------
1 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py
index 3fd128b..0afc7a7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dogz.py
@@ -42,8 +42,8 @@
Map_Dogzfb_NextNeedTime = "NextNeedTime%s" # 下次刷新需要时间 参数npcid
Map_Dogzfb_LastCheckTick = "LastCheckTick" # 上次检查时间
Map_Dogzfb_NPCRemainCnt = 'NPCRemainCnt_%s' # NPC剩余数量
-Map_Dogzfb_CollectLostHPTick = 'CollectLostHPTick' # 采集掉线Tick
-
+Map_Dogzfb_CollectLostHPTick = 'CollectLostHPTick' # 采集掉血Tick
+Map_Dogzfb_CollectLostHPCnt = 'CollectLostHPCnt' # 采集掉血次数
## 是否能够通过活动查询进入
# @param curPlayer 玩家实例
@@ -106,6 +106,19 @@
return
+## 开始采集
+# @param curPlayer 当前玩家
+# @param curNPC 当前NPC
+# @return None or False
+# @remarks 函数详细说明.
+def OnBeginCollect(curPlayer, curNPC):
+ playerID = curPlayer.GetID()
+ tick = GameWorld.GetGameWorld().GetTick()
+ gameFB = GameWorld.GetGameFB()
+ gameFB.SetPlayerGameFBDict(playerID, Map_Dogzfb_CollectLostHPTick, tick)
+ gameFB.SetPlayerGameFBDict(playerID, Map_Dogzfb_CollectLostHPCnt, 0)
+ return
+
## 收集中
def OnCollecting(curPlayer, tick):
tagObj = curPlayer.GetActionObj()
@@ -116,19 +129,23 @@
curNPC = GameWorld.GetNPCManager().GetNPCByIndex(tagObj.GetIndex())
npcID = curNPC.GetNPCID()
+ __DoCollectLostHP(curPlayer, npcID, tick)
+ return
+
+def __DoCollectLostHP(curPlayer, npcID, tick):
+
+
playerID = curPlayer.GetID()
gameFB = GameWorld.GetGameFB()
collectLostHPTick = gameFB.GetPlayerGameFBDictByKey(playerID, Map_Dogzfb_CollectLostHPTick)
-
+ lostHPCnt = gameFB.GetPlayerGameFBDictByKey(playerID, Map_Dogzfb_CollectLostHPCnt)
+
lostCD = IpyGameDataPY.GetFuncEvalCfg('DogzFBCollect', 1, {}).get(npcID, 1)
- lostTime = (tick - collectLostHPTick) / 1000/lostCD # 掉血次数
- if lostTime >2:
- gameFB.SetPlayerGameFBDict(playerID, Map_Dogzfb_CollectLostHPTick, tick)
- return
+ lostTime = (tick - collectLostHPTick) / (1000*lostCD)-lostHPCnt
if not lostTime:
return
- gameFB.SetPlayerGameFBDict(playerID, Map_Dogzfb_CollectLostHPTick, tick)
+ gameFB.SetPlayerGameFBDict(playerID, Map_Dogzfb_CollectLostHPCnt, lostHPCnt+lostTime)
lostHPPer = IpyGameDataPY.GetFuncEvalCfg('DogzFBCollect', 2, {}).get(npcID, 1)
@@ -140,6 +157,14 @@
SkillCommon.SkillLostHP(curPlayer, skillTypeID, buffOwner, lostValue, tick)
return
+##玩家收集成功(塔, 旗)
+# @param curPlayer 玩家实例
+# @param tick 时间戳
+# @return 无意义
+# @remarks
+def OnCollectOK(curPlayer, npcID, tick):
+ __DoCollectLostHP(curPlayer, npcID, tick)
+ return
##---副本总逻辑计时器---
# @param tick:时间戳
--
Gitblit v1.8.0