From 82a94e55b5710d50643b3d0bf8581afbb3f58cf2 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 18 六月 2019 16:15:05 +0800 Subject: [PATCH] 7339 子 【开发】【2.0】称号,灵宠,技能附带效果 / 【后端】【2.0】新增效果 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py | 37 +++++++++++++++++++++++++++++++++---- 1 files changed, 33 insertions(+), 4 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py index 85a2f01..0546531 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py @@ -29,6 +29,7 @@ import PyGameData import GameFuncComm import EventShell +import PlayerPet #关联类型 ( @@ -239,7 +240,31 @@ DoAddActivity(curPlayer, addValue, True) return -def DoAddActivity(curPlayer, addValue, isMultiple=False): +def DoAddActivityByLV(curPlayer, befLV, aftLV): + ##升级增加活跃点 + perLVAddPoint = IpyGameDataPY.GetFuncCfg('ImmortalDomainActivePoint', 3) + skillTypeID, perAddLV, addPoint, maxPoint = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomainActivePoint', 4) + learnSkillList, passiveSkillList = PlayerPet.GetPetLearnSkill(curPlayer) + addValue = (aftLV-befLV)*perLVAddPoint + if skillTypeID in passiveSkillList: + for lv in xrange(befLV+1, aftLV+1): + addValue += min((lv-1)/perAddLV * addPoint, maxPoint) + DoAddActivity(curPlayer, addValue, False, True) + return + +def AddActivityByLVOnLearnSkill(curPlayer, skillID): + ## 获得技能时,处理增加升级获得活跃点效果 + skillTypeID, perAddLV, addPoint, maxPoint = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomainActivePoint', 4) + if skillID != skillTypeID: + return + curLV = curPlayer.GetLV() + addValue = 0 + for lv in xrange(2, curLV+1): + addValue += min((lv-1)/perAddLV * addPoint, maxPoint) + DoAddActivity(curPlayer, addValue, False, True) + return + +def DoAddActivity(curPlayer, addValue, isMultiple=False, isLVUp=False): if not addValue: return multiple = 1 @@ -253,7 +278,7 @@ addValue = addValue + addExtraPoint curTotalPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint) __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, curTotalPoint + addValue) - AddCanCostActivityPoint(curPlayer, addValue) + AddCanCostActivityPoint(curPlayer, addValue, isLVUp) historyPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityHistoryPoint) __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityHistoryPoint, min(ChConfig.Def_UpperLimit_DWord, historyPoint + addValue)) @@ -280,10 +305,14 @@ return multiple, extraPointLimit return actRealmPointIpyData.GetMultiple(), actRealmPointIpyData.GetPointLimit() -def AddCanCostActivityPoint(curPlayer, addValue): +def AddCanCostActivityPoint(curPlayer, addValue, isLVUp): # 增加可消耗的活跃点 curPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint) - __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint, min(IpyGameDataPY.GetFuncCfg('ImmortalDomainActivePoint'), curPoint + addValue)) + if isLVUp: + updPoint = min(ChConfig.Def_UpperLimit_DWord, curPoint + addValue) + else: + updPoint = min(IpyGameDataPY.GetFuncCfg('ImmortalDomainActivePoint'), curPoint + addValue) + __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint, updPoint) return def CostActivityPoint(curPlayer, costPoint, isOnlyCheck=False): -- Gitblit v1.8.0