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