From c26f44a3d2d8debf560f46fb09e23761516ab7b4 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 28 十月 2025 16:36:28 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(王元姬、张宝技能;增加释放方式5-弹射攻击,9-弹射治疗,1002-持续治疗;增加效果6015-增加弹射次数;效果7004-随机弹射次数;效果5005-按类型清除buff;增加技能类型15-清除净化buff类;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py | 77 ++++++++++++++++++++------------------
1 files changed, 40 insertions(+), 37 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
index dbd61de..7abef51 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -339,6 +339,8 @@
return False
DoLogic_AttackResult(attacker, defender, useSkill, tick)
+
+ #TurnAttack.OnTurnfightAttackResult(attacker, defender, useSkill)
return True
#---------------------------------------------------------------------
@@ -664,7 +666,7 @@
OnHurtTypeTriggerPassiveSkill(attacker, defender, curSkill, tick)
DoLogic_AttackResult(attacker, defender, curSkill, tick)
-
+ #TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
return True
@@ -875,8 +877,9 @@
continue
DoLogic_AttackResult(attacker, defObj, curSkill, tick)
-
-
+
+ #TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
+ return
## 执行群攻攻击
# @param attacker 攻击者实例
@@ -981,22 +984,20 @@
if not curTag:
continue
- #非自定义场景才需要判断
- if not attacker.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
- if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
- if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
- #npc主人是玩家不能攻击
- continue
-
- if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
- # 最远距离防范
- GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
+ if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
+ if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
+ #npc主人是玩家不能攻击
continue
-
- if CheckFunc != None:
- #检查是否受影响
- if not CheckFunc(attacker, curTag, curSkill, tick):
- continue
+
+ if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
+ # 最远距离防范
+ GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
+ continue
+
+ if CheckFunc != None:
+ #检查是否受影响
+ if not CheckFunc(attacker, curTag, curSkill, tick):
+ continue
resultList.append(curTag)
@@ -1672,7 +1673,8 @@
if not curSkill or (curSkill.GetSkillType() == ChConfig.Def_SkillType_Atk and\
curSkill.GetFuncType() in [ChConfig.Def_SkillFuncType_FbSkill,
ChConfig.Def_SkillFuncType_PetSkill,
- ChConfig.Def_SkillFuncType_NormalAttack]):
+ ChConfig.Def_SkillFuncType_NormalAttack,
+ ChConfig.Def_SkillFuncType_TurnNormaSkill]):
# 攻击减层级 优先处理,因为同个技能触发buff后,会再处理层级,导致立即减层级
PassiveBuffEffMng.OnPassiveBuffTrigger(attacker, defender, curSkill, ChConfig.TriggerType_Buff_AttackSubLayer, tick)
@@ -1819,19 +1821,19 @@
#===========================================================================
#----------扣XP点
- if SkillCommon.isXPSkill(curSkill):
- GameObj.SetXP(curObj, 0)
-
+ #if SkillCommon.isAngerSkill(curSkill):
+ # GameObj.SetXP(curObj, 0)
+
#----------扣HP点
- lostHPValue = curSkill.GetHP()
- curPlayerHP = GameObj.GetHP(curObj)
-
- if curPlayerHP < lostHPValue:
- GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
- curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
-
- if lostHPValue > 0:
- GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
+ #lostHPValue = curSkill.GetHP()
+ #curPlayerHP = GameObj.GetHP(curObj)
+ #
+ #if curPlayerHP < lostHPValue:
+ # GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
+ # curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
+ #
+ #if lostHPValue > 0:
+ # GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
return
@@ -1878,6 +1880,8 @@
#通知客户端攻击结果
__Sync_AttackResult(curNPC, target, curSkill)
+ #TurnAttack.OnTurnfightAttackSuccess(curNPC, target, curSkill)
+
#技能使用成功
if curSkill:
skillTypeID = curSkill.GetSkillTypeID()
@@ -1921,9 +1925,7 @@
if curPlayer != None and GameObj.GetHP(curPlayer) > 0:
if curSkill == None or curSkill.GetSkillType() not in ChConfig.Def_NoBattleState_List:
AttackCommon.SetPlayerBattleState(curPlayer, tick)
-
- FBLogic.DoOverNPCAttackSuccess(curNPC, target, tick)
-
+
# 灵为玩家的替身需要走此逻辑
UseSkillOver(curNPC, target, curSkill, tick)
return True
@@ -2666,7 +2668,8 @@
continue
DoLogic_AttackResult(attacker, defObj, curSkill, tick)
-
+
+ #TurnAttack.OnTurnfightAttackResult(attacker, None, curSkill)
return True
@@ -2776,7 +2779,7 @@
sendPack.ValueEx = curHurt.GetHurtHPEx()
sendPack.RemainHP = curHurt.GetCurHP()
sendPack.RemainHPEx = curHurt.GetCurHPEx()
- turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(attacker.GetID())
+ turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(attacker.GetTFGUID())
if turnFight:
turnFight.addBatPack(sendPack)
return
@@ -2792,7 +2795,7 @@
# m_LastBattleTick = GetGameWorldManager()->GetTick();
#===========================================================================
- turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(attacker.GetID())
+ turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(attacker.GetTFGUID())
if turnFight:
sendPack = ChNetSendPack.tagUseSkillAttack()
sendPack.ObjID = attacker.GetID()
--
Gitblit v1.8.0