From ccbc8e1929b2e844639c2bb1ac6da369a0875c5c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 03 十二月 2021 18:54:54 +0800
Subject: [PATCH] 9341 【BT5】【主干】【后端】情缘系统(增加魅力等级属性;伴侣亲密度等级属性;优化已成亲的伴侣再次提亲时直接成亲 主干冲突)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py          |   10 ++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py    |    8 +++++++-
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                               |   10 ++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |    9 +++++++++
 4 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index db7e583..7cfb252 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -978,7 +978,12 @@
 CDBPlayerRefresh_Environment, # 环保值 232
 CDBPlayerRefresh_MoneyMinusGold, # 仙玉 - 负值 233
 CDBPlayerRefresh_MoneyMinusGoldPaper, # 绑玉 - 负值 234
-) = range(146, 235)
+CDBPlayerRefresh_MoneyMinusSilverPaper, # 神玉 - 负值 235
+CDBPlayerRefresh_AllCoinTotal, # 真实充值coin值 236
+CDBPlayerRefresh_ExAttr18, # ExAttr18 
+CDBPlayerRefresh_ExAttr19, # ExAttr19 
+CDBPlayerRefresh_CharmLV, # 魅力等级  239
+) = range(146, 240)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1488,7 +1493,7 @@
 )=range(5)
 
 # 战斗力模块类型
-Def_MFPType_Max = 27
+Def_MFPType_Max = 28
 ModuleFightPowerTypeList = (
 Def_MFPType_Role, # 角色 0
 Def_MFPType_Equip, # 装备(装备本身) 1
@@ -1516,6 +1521,7 @@
 Def_MFPType_MagicWeapon4, # 王者法宝 23
 Def_MFPType_Coat, # 时装 24
 Def_MFPType_Love, # 情缘 25
+Def_MFPType_Charm, # 魅力 26
 Def_MFPType_Other, # 其他
 ) = range(Def_MFPType_Max)
 
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 b25c494..575ba44 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -95,6 +95,7 @@
 import QuestCommon
 import PlayerDogz
 import PlayerFaQi
+import PlayerCharm
 import PlayerLove
 import ChPlayer
 import GMShell
@@ -4516,6 +4517,7 @@
         PlayerCoat.CalcClothesCoatSkinAttr(curPlayer)
         PlayerFaQi.CalcFaQiAttr(curPlayer)
         PlayerLove.CalcLoveAttr(curPlayer)
+        PlayerCharm.CalcCharmAttr(curPlayer)
         self.RefreshAllState(isForce=True)
         GameWorld.DebugLog("End ReCalcAllState!!!")
         return
@@ -6644,6 +6646,13 @@
 #    addAttrList[ChConfig.CalcAttr_BattleNoline] = {}
 #    return addAttrList
 #===============================================================================
+## 魅力等级
+def GetCharmLV(curPlayer): return curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CharmLV)
+def SetCharmLV(curPlayer, charmLV):
+    NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CharmLV, charmLV)
+    SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_CharmLV, charmLV)
+    return
+
 def GetTotalLingGenPoint(curPlayer):
     # 总灵根点数(金木水火土+自由点数)
     return GetMetal(curPlayer) + GetWood(curPlayer) + GetWater(curPlayer) + GetFire(curPlayer) + GetEarth(curPlayer) + curPlayer.GetFreePoint()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
index 58cb30f..d3ede7e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTeam.py
@@ -32,6 +32,7 @@
 import SkillShell
 import PlayerSuccess
 import PyGameData
+import PlayerLove
 import PlayerVip
 #---------------------------------------------------------------------
 
@@ -155,9 +156,11 @@
     sameMapVIPLV = 0 # 同地图VIP加成等级
     mapID = curPlayer.GetMapID()
     teamVIPBuffIpyData = PlayerVip.GetVipPrivilegeData(ChConfig.VIPPrivilege_TeamVIPBuff)
+    teamPlayerInfoDict = {}
     # 处理队伍人数影响的内容(队伍经验加成、VIPbuff等)
     for memInfo in curPackData.MemInfoList:
-        #memPlayerID = memInfo.PlayerID
+        memPlayerID = memInfo.PlayerID
+        teamPlayerInfoDict[memPlayerID] = {"MapID":memInfo.MapID, "VIPLV":memInfo.VIPLV, "FamilyID":memInfo.FamilyID}
         #GameWorld.DebugLog("    MemInfo memPlayerID=%s,MapID=%s,VIPLV=%s" % (memPlayerID, memInfo.MapID, memInfo.VIPLV))
         if mapID != memInfo.MapID:
             continue
@@ -170,10 +173,12 @@
         # 同地图人数
         sameMapMemCount += 1
         
+    PyGameData.g_teamPlayerInfoDict[teamID] = teamPlayerInfoDict
     teamExpRate = max(0, (sameMapMemCount - 1) * 1000) # 每多1个同地图队员增加 10%
     UpdTeamExpRate(curPlayer, teamExpRate)
     
     __RefreshTeamVIPBuff(curPlayer, sameMapVIPLV, tick)
+    PlayerLove.RefreshCoupleTeamBuff(curPlayer)
     return
 
 def __RefreshTeamVIPBuff(curPlayer, sameMapVIPLV, tick):
@@ -336,6 +341,7 @@
         
         #自己离开队伍, 删除自己的buff
         __CleanTeamEffect(curPlayer, tick)
+        PlayerLove.RefreshCoupleTeamBuff(curPlayer)
         
         #副本中,如果只有一个玩家,这个玩家离开组队,设置副本ID为0
         if curGameWorld.GetMapCopyPlayerManager().GetPlayerCount() == 1 and GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.tmtTeam:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index db7e583..7cfb252 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -978,7 +978,12 @@
 CDBPlayerRefresh_Environment, # 环保值 232
 CDBPlayerRefresh_MoneyMinusGold, # 仙玉 - 负值 233
 CDBPlayerRefresh_MoneyMinusGoldPaper, # 绑玉 - 负值 234
-) = range(146, 235)
+CDBPlayerRefresh_MoneyMinusSilverPaper, # 神玉 - 负值 235
+CDBPlayerRefresh_AllCoinTotal, # 真实充值coin值 236
+CDBPlayerRefresh_ExAttr18, # ExAttr18 
+CDBPlayerRefresh_ExAttr19, # ExAttr19 
+CDBPlayerRefresh_CharmLV, # 魅力等级  239
+) = range(146, 240)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1488,7 +1493,7 @@
 )=range(5)
 
 # 战斗力模块类型
-Def_MFPType_Max = 27
+Def_MFPType_Max = 28
 ModuleFightPowerTypeList = (
 Def_MFPType_Role, # 角色 0
 Def_MFPType_Equip, # 装备(装备本身) 1
@@ -1516,6 +1521,7 @@
 Def_MFPType_MagicWeapon4, # 王者法宝 23
 Def_MFPType_Coat, # 时装 24
 Def_MFPType_Love, # 情缘 25
+Def_MFPType_Charm, # 魅力 26
 Def_MFPType_Other, # 其他
 ) = range(Def_MFPType_Max)
 

--
Gitblit v1.8.0