From 9040765fce1fa447db48cccad0b40df5de67b6b1 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期五, 14 六月 2019 14:33:04 +0800 Subject: [PATCH] 7273 【2.0】【后端】活跃令兑换支持青鸾之羽 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index 4aae654..d33b761 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -4057,7 +4057,7 @@ PlayerGreatMaster.Sync_GreatMasterFreeSkillPoint(curPlayer) # 升级需要执行的游戏功能处理 GameFuncComm.DoFuncOpenLogic(curPlayer) - #ChEquip.CalcEquips_OutOfPrint(curPlayer) # 缓存绝版属性 + ChEquip.RefreshPlayerLingQiEquipAttr(curPlayer) # 灵器属性会随等级成长 if aftLV%10 == 0: # 控制下刷新次数 PlayerPet.CalcPetItemAddPlayerAttr(curPlayer) # 宠物有随等级变化的技能 @@ -4247,7 +4247,6 @@ ChEquip.RefreshPlayerEquipAttribute(curPlayer) ChEquip.RefreshPlayerLingQiEquipAttr(curPlayer) #SkillShell.RefreshPlayerBuffOnAttrAddEffect(curPlayer) - #PlayerWing.CalcWingAttr(curPlayer) # 翅膀暂时算在灵器里面 PlayerHorse.CalcHorseAttrEx(curPlayer) PlayerPrestigeSys.CalcOfficialRankAttr(curPlayer) PlayerGodWeapon.CalcGodWeaponAttr(curPlayer) @@ -4464,7 +4463,6 @@ ChConfig.TYPE_Calc_StoneBasePer:funcAttrInfoList[ChConfig.Def_CalcAttrFunc_Stone], ChConfig.TYPE_Calc_RealmBasePer:funcAttrInfoList[ChConfig.Def_CalcAttrFunc_Prestige], ChConfig.TYPE_Calc_HorseAtkPer:funcAttrInfoList[ChConfig.Def_CalcAttrFunc_Horse], - ChConfig.TYPE_Calc_WingHPPer:funcAttrInfoList[ChConfig.Def_CalcAttrFunc_Wing], } # 3.2 统计各功能之间非线性属性交叉影响累加 funcCrossAttrPerInfoDict = {} # 百分比交叉影响所提升的属性值 {功能属性编号:{提升的属性类型:数值, ...}, ...} @@ -4500,7 +4498,7 @@ # 3.3 统计所有功能固定属性影响累加 allFixAttrDict = {} # 固定属性层级总属性基值 for funcIndex, funcAttrList in enumerate(funcAttrInfoList): - # 技能模块不算计入功能固定属性、不计战力 + # 技能模块不计入功能固定属性、不计战力 if funcIndex in ChConfig.CalcAttrFuncSkillList: continue AddAttrDictValue(allFixAttrDict, funcAttrList[ChConfig.CalcAttr_Battle]) @@ -4531,6 +4529,9 @@ mfpAttrList = [{} for _ in range(4)] mfpAttrExDict = {} for funcIndex in attrFuncIndexList: + if funcIndex in ChConfig.CalcAttrFuncSkillList: + # 技能模块不计入功能固定属性、不计战力 + continue funcAttrList = funcAttrInfoList[funcIndex] funcInsidePerAttrDict = funcInsidePerAttrList[funcIndex] # 功能点内部百分比加成属性 funcCrossPerAttrDict = funcCrossAttrPerInfoDict.get(funcIndex, {}) # 功能点交叉百分比加成属性 @@ -4541,7 +4542,7 @@ CalcLineEffect.ChangePlayerAttrInLineEffectList(curPlayer, funcCrossPerAttrDict) CalcLineEffect.ChangePlayerAttrInLineEffectList(curPlayer, fixPerAttrDict) # 不算战力的 - if funcIndex in ChConfig.CalcAttrFuncNoFightPowerList or funcIndex in ChConfig.CalcAttrFuncSkillList: + if funcIndex in ChConfig.CalcAttrFuncNoFightPowerList: continue mfpAttrList = AddAttrListValue([mfpAttrList, funcAttrList]) AddAttrDictValue(mfpAttrExDict, funcInsidePerAttrDict) @@ -4670,12 +4671,12 @@ # 速度特殊处理 计算一次 self.__RefreshMoveSpeed(allAttrListBuffs) + # GM测试属性特殊逻辑 + self.__DoRefreshGMAttr() + # 刷新攻击速度 self.__SetAtkInterval() GameWorld.DebugLog("Buff层属性: %s" % allAttrListBuffs) - - # GM测试属性特殊逻辑 - self.__DoRefreshGMAttr() return def __DoRefreshGMAttr(self): @@ -4728,8 +4729,8 @@ setAttrDict[ChConfig.AttrName_Def] = int(lvIpyData.GetReDef() * attrPer) # 防御 setAttrDict[ChConfig.AttrName_Hit] = int(lvIpyData.GetReHit() * attrPer) # 命中 setAttrDict[ChConfig.AttrName_DefRate] = int(lvIpyData.GetReMiss() * attrPer) # 闪避 - setAttrDict[ChConfig.AttrName_AtkSpeed] = int(lvIpyData.GetReAtkSpeed() * attrPer) # 攻击速度 - setAttrDict[ChConfig.AttrName_SkillAtkRate] = int(max(0, lvIpyData.GetReSkillAtkRate() - 10000) * attrPer) # 技能伤害比例 + setAttrDict[ChConfig.AttrName_AtkSpeed] = int((lvIpyData.GetReAtkSpeed() + 10000) * attrPer) # 攻击速度, 策划等级表配置的是附加值,所以这里要加 + setAttrDict[ChConfig.AttrName_SkillAtkRate] = int(max(0, lvIpyData.GetReSkillAtkRate() - 10000) * attrPer) # 技能伤害比例, 策划等级表配置的是最终值,初始值是0,所以这里要减 setAttrDict[ChConfig.AttrName_DamagePVP] = int(lvIpyData.GetReDamagePer() * attrPer) # PVP固定伤害 setAttrDict[ChConfig.AttrName_DamagePVPReduce] = int(lvIpyData.GetReDamReduce() * attrPer) # PVP固定减伤 setAttrDict[ChConfig.AttrName_IgnoreDefRate] = int(lvIpyData.GetReIgnoreDefRate() * attrPer) # 无视防御比例 @@ -4739,7 +4740,7 @@ setAttrDict[ChConfig.AttrName_IceAtk] = int(lvIpyData.GetReIceAtk() * attrPer) # 真实伤害 setAttrDict[ChConfig.AttrName_IceDef] = int(lvIpyData.GetReIceDef() * attrPer) # 真实抵御 setAttrDict[ChConfig.AttrName_PetAtk] = int(lvIpyData.GetRePetAtk() * attrPer) # 灵宠攻击 - setAttrDict[ChConfig.AttrName_PetSkillAtkRate] = int(lvIpyData.GetRePetSkillAtkRate() * attrPer) # 灵宠技能 + setAttrDict[ChConfig.AttrName_PetSkillAtkRate] = int(max(0, lvIpyData.GetRePetSkillAtkRate() - 10000) * attrPer) # 灵宠技能, 策划等级表配置的是最终值,初始值是0,所以这里要减 setAttrDict[ChConfig.AttrName_PetDamPer] = int(lvIpyData.GetRePetDamPer() * attrPer) # 灵宠伤害增加 setAttrDict[ChConfig.AttrName_FinalHurt] = int(lvIpyData.GetReFinalHurt() * attrPer) # 固定伤害增加 setAttrDict[ChConfig.AttrName_FinalHurtReduce] = int(lvIpyData.GetReFinalHurtReduce() * attrPer) # 固定伤害减少 -- Gitblit v1.8.0