From 32f92cf196d36588653093f9a27d3ce41df2b9ca Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 07 四月 2021 17:42:12 +0800
Subject: [PATCH] 8886 【BT2】【后端】线下活动支持(增加单笔累充系统)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py | 49 +++++++++++++++++++++++++++----------------------
1 files changed, 27 insertions(+), 22 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
index 0c3079f..d05a84c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
@@ -176,7 +176,7 @@
# SetIsNeedProcess(False) 应该及时清理仇恨,回血可以不用即时
curNPC.GetNPCAngry().Clear()
-# if curNPC.GetHP() != curNPC.GetMaxHP():
+# if GameObj.GetHP(curNPC) != GameObj.GetMaxHP(curNPC):
# if curNPC.GetIsBoss() != ChConfig.Def_NPCType_Ogre_Normal:
# return
#
@@ -232,7 +232,7 @@
curPlayer = GameWorld.GetObj(hurtObjID, IPY_GameWorld.gotPlayer)
#无法查找玩家,或者已经死亡
- if curPlayer == None or curPlayer.GetHP() <= 0:
+ if curPlayer == None or GameObj.GetHP(curPlayer) <= 0:
continue
if srcPlayer and curPlayer.GetID() == srcPlayer.GetID():
@@ -333,18 +333,21 @@
useSkill = changeSkill
#GameWorld.DebugLog("----随机技能 %s"%useSkill.GetSkillID())
- if PetControl.IsPet(curNPC):
- petOwner = PetControl.GetPetOwner(curNPC)
-
- if petOwner == None:
- GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID)
- return False
-
- #血量条件判定
- effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit)
- if effect:
- if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0):
- return False
+ #===========================================================================
+ # 改成被动触发
+ # if PetControl.IsPet(curNPC):
+ # petOwner = PetControl.GetPetOwner(curNPC)
+ #
+ # if petOwner == None:
+ # GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID)
+ # return False
+ #
+ # #血量条件判定
+ # effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit)
+ # if effect:
+ # if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0):
+ # return False
+ #===========================================================================
skillTag = SkillShell.GetSkillAffectTag(useSkill)
skillAim = SkillShell.GetSkillFireAim(useSkill)
@@ -412,7 +415,7 @@
continue
#仇恨值
- curAngryValue = curAngry.GetAngryValue()
+ curAngryValue = GameObj.GetAngryValue(curAngry)
if curAngryValue == 0:
continue
@@ -480,12 +483,13 @@
if SkillShell.GetSkillFireAim(useSkill) == ChConfig.Def_UseSkillAim_Obj:
# 主目标对象判定, 不能释放则不进入队列
curSkillUseTag = SkillShell.GetSkillAffectTag(useSkill)
- hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
- if not hurtTypeList:
- continue
-
- if tagObjType not in hurtTypeList:
- continue
+ if curSkillUseTag != ChConfig.Def_UseSkillTag_AppointNPC:
+ hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
+ if not hurtTypeList:
+ continue
+
+ if tagObjType not in hurtTypeList:
+ continue
if triggerDict != {}:
if not CheckSkillTrigger(curNPC, triggerDict, index, tick):
@@ -519,9 +523,10 @@
# @return 布尔值
def CheckSkillTrigger(curNPC, triggerDict, npcSkillindex, tick):
skillInfo = triggerDict.get(npcSkillindex)
+
if skillInfo != None:
#当前血量
- hpPercent = int(curNPC.GetHP()/float(GameObj.GetMaxHP(curNPC))*100)
+ hpPercent = int(GameObj.GetHP(curNPC)/float(GameObj.GetMaxHP(curNPC))*100)
checkHP = skillInfo[0]
#血量未到
--
Gitblit v1.8.0