From d7f44d8d871a90c818bdb3ffe9a60af875b7100a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 30 九月 2025 10:12:23 +0800 Subject: [PATCH] 135 【挑战】战锤秘境-服务端(白骨盈野;副本基础;副本扫荡;广告奖励支持;) --- 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