From afea2d9d4b9cb6d0982c02a775e8198fc2421c53 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 08 十二月 2023 18:21:28 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(增加抗连击、反击、抗反击、吸血、抗吸血属性,玩家及NPC属性接口通用;连击、反击属性效果支持;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py | 61 ++++++++++++++---------------- 1 files changed, 29 insertions(+), 32 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py index 42d8693..b517a41 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py @@ -4048,7 +4048,21 @@ #初始化状态 curNPC.SetSpeed(curNPC.GetOrgSpeed()) curNPC.SetAtkInterval(curNPC.GetBaseAtkInterval()) - + + #扩展属性 + npcDataEx = GetNPCDataEx(curNPC.GetNPCID()) + if npcDataEx: + GameObj.SetAtkSpeed(curNPC, npcDataEx.GetAtkSpeed()) + GameObj.SetSuperHitRateReduce(curNPC, npcDataEx.GetSuperHitRateReduce()) + GameObj.SetFaintRate(curNPC, npcDataEx.GetFaintRate()) + GameObj.SetFaintDefRate(curNPC, npcDataEx.GetFaintDefRate()) + GameObj.SetComboRate(curNPC, npcDataEx.GetComboRate()) + GameObj.SetComboDefRate(curNPC, npcDataEx.GetComboDefRate()) + GameObj.SetAtkBackRate(curNPC, npcDataEx.GetAtkBackRate()) + GameObj.SetAtkBackDefRate(curNPC, npcDataEx.GetAtkBackDefRate()) + GameObj.SetSuckHPPer(curNPC, npcDataEx.GetSuckHPPer()) + GameObj.SetSuckHPDefPer(curNPC, npcDataEx.GetSuckHPDefPer()) + # #先清空异常 # if curNPC.GetAbnormalState() != IPY_GameWorld.sctInvalid: # curNPC.SetAbnormalState(IPY_GameWorld.sctInvalid) @@ -4090,38 +4104,21 @@ GameObj.SetMaxHP(curNPC, PropDict["MaxHP"]) curNPC.SetHit(PropDict["Hit"]) curNPC.SetMiss(PropDict["Miss"]) + GameObj.SetAtkSpeed(curNPC, PropDict.get("AtkSpeed", 0)) -# curPlayerPropDict["SkillAtkRate"] = curPlayer.GetSkillAtkRate() # 技能攻击比例加成 -# curPlayerPropDict["SkillAtkRateReduce"] = PlayerControl.GetSkillAtkRateReduce(curPlayer) # 技能攻击比例减少 -# curPlayerPropDict["LuckyHitRate"] = curPlayer.GetLuckyHitRate() # 会心一击几率 -# curPlayerPropDict["LuckyHitVal"] = curPlayer.GetLuckyHitVal() # 会心一击伤害固定值 -# curPlayerPropDict["LuckyHitRateReduce"] = PlayerControl.GetLuckyHitRateReduce(curPlayer) # 会心一击概率抗性 -# curPlayerPropDict["LuckyHitReduce"] = PlayerControl.GetLuckyHitReduce(curPlayer) # 会心一击伤害减免固定值 -# curPlayerPropDict["SuperHitRate"] = curPlayer.GetSuperHitRate() # 暴击概率 -# curPlayerPropDict["SuperHit"] = curPlayer.GetSuperHit() # 暴击伤害固定值 -# curPlayerPropDict["SuperHitRateReduce"] = PlayerControl.GetSuperHitRateReduce(curPlayer) # 暴击概率抗性 -# curPlayerPropDict["SuperHitReduce"] = PlayerControl.GetSuperHitReduce(curPlayer) # 暴击伤害抗性固定值 -# curPlayerPropDict["IceAtk"] = curPlayer.GetIceAtk() # 真实伤害 固定值 -# curPlayerPropDict["IceDef"] = curPlayer.GetIceDef() # 真实伤害防御 固定值 -# curPlayerPropDict["IgnoreDefRate"] = curPlayer.GetIgnoreDefRate() # 无视防御几率 -# curPlayerPropDict["IgnoreDefRateReduce"] = PlayerControl.GetIgnoreDefRateReduce(curPlayer) # 无视防御概率抗性 -# curPlayerPropDict["IgnoreDefReducePer"] = PlayerControl.GetIgnoreDefReducePer(curPlayer) # 无视防御伤害减免 -# curPlayerPropDict["DamagePVE"] = PlayerControl.GetDamagePVE(curPlayer) # 伤害输出计算固定值PVE -# curPlayerPropDict["DamagePerPVP"] = PlayerControl.GetDamagePerPVP(curPlayer) # 伤害输出计算百分比PVP -# curPlayerPropDict["DamagePerPVPReduce"] = PlayerControl.GetDamagePerPVPReduce(curPlayer) # 伤害输出计算百分比PVP减少 -# curPlayerPropDict["DamagePVP"] = PlayerControl.GetDamagePVP(curPlayer) # PVP固定伤害 -# curPlayerPropDict["DamagePVPReduce"] = PlayerControl.GetDamagePVPReduce(curPlayer) # PVP固定减伤 -# curPlayerPropDict["FinalHurt"] = PlayerControl.GetFinalHurt(curPlayer) # 最终固定伤害增加 -# curPlayerPropDict["FinalHurtReduce"] = PlayerControl.GetFinalHurtReduce(curPlayer) # 最终固定伤害减少 -# curPlayerPropDict["FinalHurtPer"] = PlayerControl.GetFinalHurtPer(curPlayer) # 最终伤害百分比 -# curPlayerPropDict["FinalHurtReducePer"] = PlayerControl.GetFinalHurtReducePer(curPlayer) # 最终伤害减少百分比 -# curPlayerPropDict["OnlyFinalHurt"] = PlayerControl.GetOnlyFinalHurt(curPlayer) # 额外输出伤害 -# curPlayerPropDict["DamChanceDef"] = PlayerControl.GetDamChanceDef(curPlayer) # 20%的概率抵御伤害比率 -# curPlayerPropDict["NPCHurtAddPer"] = PlayerControl.GetNPCHurtAddPer(curPlayer) # 对怪物伤害加成 -# curPlayerPropDict["AtkBackHPPer"] = PlayerControl.GetAtkBackHPPer(curPlayer) # 攻击回复血量固定值 -# curPlayerPropDict["PVPAtkBackHP"] = PlayerControl.GetPVPAtkBackHP(curPlayer) # PVP攻击回血 -# curPlayerPropDict["FaintRate"] = PlayerControl.GetFaintRate(curPlayer) # 触发击晕 -# curPlayerPropDict["FaintDefRate"] = PlayerControl.GetFaintDefRate(curPlayer) # 击晕抵抗 + curNPC.SetSuperHitRate(PropDict["SuperHitRate"]) + GameObj.SetSuperHitRateReduce(curNPC, PropDict["SuperHitRateReduce"]) + GameObj.SetFaintRate(curNPC, PropDict["FaintRate"]) + GameObj.SetFaintDefRate(curNPC, PropDict["FaintDefRate"]) + GameObj.SetComboRate(curNPC, PropDict.get("ComboRate", 0)) # 后面加的属性做兼容 + GameObj.SetComboDefRate(curNPC, PropDict.get("ComboDefRate", 0)) + GameObj.SetAtkBackRate(curNPC, PropDict.get("AtkBackRate", 0)) + GameObj.SetAtkBackDefRate(curNPC, PropDict.get("AtkBackDefRate", 0)) + GameObj.SetSuckHPPer(curNPC, PropDict.get("SuckHPPer", 0)) + GameObj.SetSuckHPDefPer(curNPC, PropDict.get("SuckHPDefPer", 0)) + + GameWorld.DebugLog("SetPVPNPCPlayerAttr: objID=%s,NPCID=%s,pvpPlayerID=%s,maxHP=%s" + % (curNPC.GetID(), curNPC.GetNPCID(), pvpPlayerID, GameObj.GetMaxHP(curNPC))) return def SetHelpBattleRobotRebornAttr(self, fightPower): -- Gitblit v1.8.0