From 4f48659ed51c0e087e55da91ec76cbcdd7a87486 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 15 十一月 2018 17:40:58 +0800
Subject: [PATCH] 4788 【后端】【1.3】洗炼必增由消耗仙玉改为消耗道具
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
index 3d2fdf0..7a50f53 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
@@ -90,11 +90,26 @@
# @remarks 函数详细说明.
def OnNPCDie(curNPC,HurtType,HurtID):
PassiveBuffEffMng.GetPassiveEffManager().RemovePassiveEff((curNPC.GetID(), IPY_GameWorld.gotNPC))
+
+ # 召唤NPC死亡触发被动技能
+ owner = NPCCommon.GetSummonNPCOwner(IPY_GameWorld.gotPlayer, curNPC)
+ if owner:
+ owner.SetDict("summondie", curNPC.GetNPCID())
+ PassiveBuffEffMng.OnPassiveSkillTrigger(owner, None, None, ChConfig.TriggerType_SummonDie,
+ GameWorld.GetGameWorld().GetTick())
+
callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnDie"))
if callFunc == None:
return None
callFunc(curNPC,HurtType,HurtID)
+ return
+
+def OnNPCSetDead(curNPC):
+ callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnNPCSetDead"))
+ if callFunc == None:
+ return None
+ callFunc(curNPC)
return
def OnNPCReborn(curNPC):
@@ -199,7 +214,11 @@
if curNPC == None:
continue
-
+
+ #2018.10.9修改:增加boss条件过滤,用标试点刷出来的boss也是召唤兽,放在bossAI中处理,此处不处理
+ if ChConfig.IsGameBoss(curNPC):
+ continue
+
normal_NPC_List.append(curNPC)
for curNPC in normal_NPC_List:
@@ -287,9 +306,10 @@
if curNPC.GetType() == IPY_GameWorld.ntElf:
continue
- if curNPC.GetOwner() == None:
+ if curNPC.GetOwner() == None and not ChConfig.IsGameBoss(curNPC):
#2009.8.17修改
#如果一个召唤兽的主人为None, 划归为普通NPC, 为了减少副本中的CPU使用率
+ #2018.10.9修改:增加boss条件过滤,用标试点刷出来的boss也是召唤兽,也需要处理
continue
if not curNPC.IsAlive():
--
Gitblit v1.8.0