From dcf9cc7f1e059a6898898097d8b30dcf213f1aa1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 31 七月 2023 16:45:52 +0800
Subject: [PATCH] 9788 【BT9】【后端】成就系统(修复成就给货币奖励失败bug)

---
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py |  144 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 127 insertions(+), 17 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index be85ba3..2ce90b3 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -187,6 +187,46 @@
 
 Def_Notify_WorldKey_CrossBattlefieldCallTeamInfo = "CrossBattlefieldCallTeamInfo" # 跨服战场召集队伍信息
 
+CrossChampionshipState_Guess8 = 80 #8强竞猜
+CrossChampionshipState_Group64 = 641 #64强分组
+CrossChampionshipState_Enter64 = 642 #64强进场
+CrossChampionshipState_Fight64 = 643 #64强战斗
+CrossChampionshipState_Group32 = 321 #32强分组
+CrossChampionshipState_Enter32 = 322 #32强进场
+CrossChampionshipState_Fight32 = 323 #32强战斗
+CrossChampionshipState_Group16 = 161 #16强分组
+CrossChampionshipState_Enter16 = 162 #16强进场
+CrossChampionshipState_Fight16 = 163 #16强战斗
+CrossChampionshipState_Guess4 = 40 #4强竞猜
+CrossChampionshipState_Group8 = 81 #8强分组
+CrossChampionshipState_Enter8 = 82 #8强进场
+CrossChampionshipState_Fight8 = 83 #8强战斗
+CrossChampionshipState_GroupSemi = 41 #半决赛分组
+CrossChampionshipState_EnterSemi = 42 #半决赛进场
+CrossChampionshipState_FightSemi = 43 #半决赛战斗
+CrossChampionshipState_GroupFinal = 21 #决赛分组
+CrossChampionshipState_EnterFinal = 22 #决赛进场
+CrossChampionshipState_FightFinal = 23 #决赛战斗
+#跨服排位争霸赛状态流程列表,必须按顺序,中间不可跳过步骤
+CrossChampionshipStateList = [CrossChampionshipState_Guess8, 
+                              CrossChampionshipState_Group64, CrossChampionshipState_Enter64, CrossChampionshipState_Fight64,
+                              CrossChampionshipState_Group32, CrossChampionshipState_Enter32, CrossChampionshipState_Fight32,
+                              CrossChampionshipState_Group16, CrossChampionshipState_Enter16, CrossChampionshipState_Fight16,
+                              CrossChampionshipState_Guess4,
+                              CrossChampionshipState_Group8, CrossChampionshipState_Enter8, CrossChampionshipState_Fight8,
+                              CrossChampionshipState_GroupSemi, CrossChampionshipState_EnterSemi, CrossChampionshipState_FightSemi,
+                              CrossChampionshipState_GroupFinal, CrossChampionshipState_EnterFinal, CrossChampionshipState_FightFinal
+                              ]
+
+#跨服排位可进入战斗的状态信息 {状态:对应分组标识, ...}
+CrossChampionshipEnterStateInfo = {CrossChampionshipState_Enter64:64,
+                                   CrossChampionshipState_Enter32:32,
+                                   CrossChampionshipState_Enter16:16,
+                                   CrossChampionshipState_Enter8:8,
+                                   CrossChampionshipState_EnterSemi:4,
+                                   CrossChampionshipState_EnterFinal:2,
+                                   }
+
 Def_Notify_WorldKey_GameWorldBossRebornCross = 'BossRebornCross_%s_%s'   # 跨服世界boss重生, 参数为(zoneID, bossID)
 Def_Notify_WorldKey_GameWorldBossReborn = 'BossReborn_%s'   # 世界boss重生, 参数为(bossID)
 Def_Notify_WorldKey_BossKilledCnt = 'BossKilledCnt_%s'  # boss击杀次数, 参数为NPCID
@@ -245,6 +285,7 @@
 OperationActionName_HorsePetFeast = "ActHorsePetFeast" # 骑宠盛宴活动
 OperationActionName_GarbageSorting = "ActGarbageSorting" # 垃圾分类活动
 OperationActionName_XianXiaMJ = "ActXianXiaMJ" # 仙匣秘境活动
+OperationActionName_GodGift = "ActGodGift" # 天帝礼包活动
 #节日活动类型列表 - 该类型无视开服天,日期到了就开启
 FeastOperationActionNameList = [OperationActionName_FeastWeekParty, OperationActionName_FeastRedPacket,
                                 OperationActionName_RechargeRebateGold, OperationActionName_GrowupBuy,
@@ -263,7 +304,7 @@
                            OperationActionName_DailyGiftbag, OperationActionName_SingleRecharge,
                            OperationActionName_CollectWords, OperationActionName_ManyDayRecharge,
                            OperationActionName_Turntable, OperationActionName_HorsePetFeast, OperationActionName_GarbageSorting,
-                           OperationActionName_XianXiaMJ,
+                           OperationActionName_XianXiaMJ, OperationActionName_GodGift,
                            ] + FeastOperationActionNameList
 #需要记录开启活动时的世界等级的运营活动
 NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell, 
@@ -277,6 +318,7 @@
                                    OperationActionName_FeastLogin, OperationActionName_XianXiaMJ,
                                    OperationActionName_FeastWish, OperationActionName_FeastTravel,
                                    OperationActionName_ManyDayRecharge, OperationActionName_SingleRecharge,
+                                   OperationActionName_GodGift,
                                    ]
 
 #支持多活动分组编号的活动名
@@ -285,17 +327,18 @@
                                    OperationActionName_SpringSale, OperationActionName_FlashSale,
                                    OperationActionName_ManyDayRecharge, OperationActionName_SingleRecharge,
                                    OperationActionName_Turntable, OperationActionName_HorsePetFeast, OperationActionName_GarbageSorting,
-                                   OperationActionName_XianXiaMJ,
+                                   OperationActionName_XianXiaMJ, OperationActionName_GodGift,
                                    ]
 
 #跨服运营活动表名定义
 CrossActName_CTGBillboard = "CrossActCTGBillboard" # 充值排行榜
+CrossActName_AllRecharge = "CrossActAllRecharge" # 全民充值
 CrossActName_LuckyCloudBuy = "CrossActLuckyCloudBuy" # 幸运云购
 
 #跨服运营活动列表
-CrossActNameList = [CrossActName_CTGBillboard, CrossActName_LuckyCloudBuy]
+CrossActNameList = [CrossActName_CTGBillboard, CrossActName_AllRecharge, CrossActName_LuckyCloudBuy]
 #需要锁定活动分区分配直到活动结束的跨服运营活动,即使热更分区配置,也不会改变正在活动中的分区设定,直到活动结束
-CrossActLockServerGroupIDList = [CrossActName_CTGBillboard]
+CrossActLockServerGroupIDList = [CrossActName_CTGBillboard, CrossActName_AllRecharge]
 
 #活动信息字典key定义
 ActKey_ID = "ID" # 活动ID,唯一标识的ID,一般是活动开启的time值
@@ -306,6 +349,7 @@
 ActKey_TemplateID = "TemplateID" # 当前活动模板ID
 ActKey_WorldLV = "WorldLV" # 活动开启时世界等级
 ActKey_WorldLVList = "WorldLVList" # 活动每天的世界等级列表
+ActKey_StartDateSync = "StartDateSync" # 特殊指定同步前端的开始日期
 
 ActKey_ServerIDRangeList = "ServerIDRangeList" # 活动服务器ID范围信息
 ActKey_IpyDataInfo = "IpyDataInfo" # 活动对应 IpyData 信息
@@ -755,7 +799,9 @@
 Def_CBT_BattlefieldWJoin, # 跨服战场每周参与榜  151
 Def_CBT_BattlefieldWCall, # 跨服战场每周召集榜  152
 Def_CBT_BattlefieldWScore, # 跨服战场每周积分榜  153
-) = range(150, 153 + 1)
+Def_CBT_BattlefieldWScoreLastWeek, # 跨服战场上周积分榜  154
+Def_CBT_YaomoBossHurt, # 跨服妖魔boss最新一次伤血排名  155
+) = range(150, 155 + 1)
 
 #职业对应战力排行榜类型
 JobFightPowerBillboardDict = {
@@ -997,7 +1043,13 @@
 CDBPlayerRefresh_CharmLV, # 魅力等级  239
 CDBPlayerRefresh_BTGMPoint, # BT版GM令  240
 CDBPlayerRefresh_GuShenMoney, # 古神币  241
-) = range(146, 242)
+CDBPlayerRefresh_GongdePoint, # 功德点  242
+CDBPlayerRefresh_CashPoint, # 现金点  243
+CDBPlayerRefresh_ExAttr20, # ExAttr20 244
+CDBPlayerRefresh_JiYuan, # 机缘币  245
+CDBPlayerRefresh_BTGMYuE, # BTGM余额  246
+CDBPlayerRefresh_SuccessScore, # 成就积分  247
+) = range(146, 248)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
@@ -1020,6 +1072,19 @@
 TYPE_Price_Environment = 32    # 环保值
 TYPE_Price_BTGMPoint = 33    # BT版GM令
 TYPE_Price_GuShenMoney = 34    # 古神币
+TYPE_Price_GongdePoint = 35    # 功德点
+TYPE_Price_CashPoint = 36    # 现金点
+TYPE_Price_JiYuan = 37    # 机缘币
+TYPE_Price_BTGMYuE = 38    # GM余额
+TYPE_Price_SuccessSocre = 39    # 成就积分
+
+#key可用于遍历所有货币,value仅GM相关会用到
+MoneyNameDict = {
+                 1:"仙玉", 2:"绑玉", 3:"铜钱", 6:"战盟贡献度", 10:"战盟仓库积分", 13:"境界修行点", 14:"符印融合石", 15:"仙盟活跃令", 
+                 16:"助战积分", 18:"荣誉", 19:"Boss积分", 23:"符印精华", 24:"符印碎片", 25:"寻宝积分", 26:"集市额度", 27:"丹精", 28:"魂尘", 
+                 29:"聚魂碎片", 30:"核心环", 31:"功能特权令", 32:"环保值", 33:"GM令", 34:"古神币", 35:"功德点", 
+                 39:"成就积分"
+                 }
 
 #以下是旧的金钱类型
 TYPE_Price_Magic_Integral = 101      # 魔方寻宝积分
@@ -1047,6 +1112,8 @@
                            TYPE_Price_Environment:CDBPlayerRefresh_Environment,
                            TYPE_Price_BTGMPoint:CDBPlayerRefresh_BTGMPoint,
                            TYPE_Price_GuShenMoney:CDBPlayerRefresh_GuShenMoney,
+                           TYPE_Price_GongdePoint:CDBPlayerRefresh_GongdePoint,
+                           TYPE_Price_SuccessSocre:CDBPlayerRefresh_SuccessScore,
                            }
 
 # 支持负值的货币及对应0418刷新类型
@@ -1095,6 +1162,7 @@
 GameFuncID_Arena = 195          # 竞技场
 GameFuncID_FaQi = 199           # 法器
 GameFuncID_LianTi = 207         # 炼体
+GameFuncID_Championship = 210   # 排位
 # 以下为暂时无用的
 GameFuncID_Truck = 33           # 运镖
 GameFuncID_RunDaily = 34        # 日常跑环
@@ -1201,14 +1269,14 @@
                                 Def_UniversalGameRecType_BossInfo,  # boss信息29
                                 Def_UniversalGameRecType_CrossBossInfo,  # 跨服boss信息 30
                                 Def_UniversalGameRecType_BossFirstKill, # boss首杀 31
-                                Def_UniversalGameRecType_32,              
-                                Def_UniversalGameRecType_33,
-                                Def_UniversalGameRecType_34,
-                                Def_UniversalGameRecType_35,
-                                Def_UniversalGameRecType_36,
-                                Def_UniversalGameRecType_37,
-                                Def_UniversalGameRecType_38,
-                                Def_UniversalGameRecType_39,
+                                Def_UniversalGameRecType_CrossCollect,  # 跨服采集记录信息 32             
+                                Def_UniversalGameRecType_CrossChampionshipGroup, # 跨服排位争霸赛分组信息 33
+                                Def_UniversalGameRecType_CrossChampionshipGuess, # 跨服排位争霸赛竞猜记录信息 34
+                                Def_UniversalGameRecType_CrossChampionshipOfficial, # 跨服排位争霸赛最终排名官职信息 35
+                                Def_UniversalGameRecType_CrossChampionshipOffChallenge, # 跨服排位争霸赛官职挑战信息 36
+                                Def_UniversalGameRecType_CrossActAllRecharge, # 跨服全服充值活动信息 37
+                                Def_UniversalGameRecType_CrossBattleChampionGroup, # 跨服战场冠军赛分组信息 38
+                                Def_UniversalGameRecType_CrossYaomoBossHurtInfo, # 跨服妖魔boss伤血信息 39
                                 Def_UniversalGameRecType_40,
                                 Def_UniversalGameRecType_RedPacketRecord,   # 红包产出结果记录41
                                 Def_UniversalGameRecType_42,
@@ -1381,6 +1449,7 @@
 CrossServerMsg_NPCInfoRet = "NPCInfoRet"                # 跨服地图NPC信息
 CrossServerMsg_CollectNPCOK = "CollectNPCOK"            # 采集NPC完成
 CrossServerMsg_EnterFBRet = "EnterFBRet"                # 请求进入跨服副本返回信息
+CrossServerMsg_EnterVSRoomRet = "EnterVSRoomRet"        # 请求进入跨服PK房间副本返回信息
 CrossServerMsg_FBEnd = "FBEnd"                          # 完成跨服副本
 CrossServerMsg_NPCAttackCount = "NPCAttackCount"        # 攻击NPC次数记录
 CrossServerMsg_SendMail = "SendMail"                    # 发送邮件,已知玩家目标服务器,主动发送
@@ -1397,6 +1466,15 @@
 CrossServerMsg_DebugAnswer = "DebugAnswer"              # DebugAnswer
 CrossServerMsg_ActDropSpecItem = "ActDropSpecItem"      # 特殊掉落验证返回
 CrossServerMsg_CrossAssist = "CrossAssist"              # 跨服协助
+CrossServerMsg_ChampionshipState = "ChampionshipState"  # 跨服排位争霸赛状态信息
+CrossServerMsg_ChampionshipPlayer = "ChampionshipPlayer"# 跨服排位争霸赛参赛玩家信息
+CrossServerMsg_ChampionshipGroup = "ChampionshipGroup"  # 跨服排位争霸赛分组信息
+CrossServerMsg_ChampionshipGuess = "ChampionshipGuess"  # 跨服排位争霸赛竞猜信息
+CrossServerMsg_ChampionshipOfficial = "ChampionshipOfficial"  # 跨服排位争霸赛官职信息
+CrossServerMsg_ChampionshipDailyOfficial = "ChampionshipDailyOfficial"  # 跨服排位争霸赛每日官职信息
+CrossServerMsg_ActAllRechargeInfo = "ActAllRechargeInfo"# 跨服全民充值信息
+CrossServerMsg_CrossDailyActionState = "CrossDailyActionState" # 跨服日常任务状态信息
+CrossServerMsg_CrossYaomoBossHurtInfo = "CrossYaomoBossHurtInfo" # 跨服妖魔boss玩家伤害信息
 
 # 子服发送跨服信息定义
 ClientServerMsg_ServerInitOK = "ServerInitOK"           # 子服启动成功
@@ -1424,6 +1502,15 @@
 ClientServerMsg_BattlefieldCallKick = "BattlefieldCallKick"   # 跨服战场召集 - 踢出
 ClientServerMsg_ActDropSpecItem = "ActDropSpecItem"     # 活动特殊掉落
 ClientServerMsg_CrossAssist = "CrossAssist"             # 跨服协助
+ClientServerMsg_ChampionshipOfficialApply = "ChampionshipOfficialApply" # 跨服排位申请官职
+ClientServerMsg_ChampionshipOfficialApplyReply = "ChampionshipOfficialApplyReply" # 跨服排位官职申请回应
+ClientServerMsg_ChampionshipOfficialKick = "ChampionshipOfficialKick" # 跨服排位辞退下级仙官
+ClientServerMsg_ChampionshipOfficialLeave = "ChampionshipOfficialLeave" # 跨服排位主动离任仙官
+ClientServerMsg_ChampionshipOfficialChallenge = "ChampionshipOfficialChallenge" # 跨服排位挑战仙官
+ClientServerMsg_ChampionshipGuess = "ChampionshipGuess" # 跨服排位竞猜
+ClientServerMsg_ChampionshipWorship = "ChampionshipWorship" # 跨服排位膜拜
+ClientServerMsg_ActAllRechargeValue = "ActAllRechargeValue" # 跨服全民充值额度
+ClientServerMsg_CrossYaomoBossHurtAward = "CrossYaomoBossHurtAward" # 跨服妖魔boss玩家伤害领奖
 
 #跨服广播类型定义
 CrossNotify_CrossAct = "CrossAct"
@@ -1528,7 +1615,7 @@
 )=range(5)
 
 # 战斗力模块类型
-Def_MFPType_Max = 29
+Def_MFPType_Max = 32
 ModuleFightPowerTypeList = (
 Def_MFPType_Role, # 角色 0
 Def_MFPType_Equip, # 装备(装备本身) 1
@@ -1558,6 +1645,9 @@
 Def_MFPType_Love, # 情缘 25
 Def_MFPType_Charm, # 魅力 26
 Def_MFPType_LianTi, # 炼体 27
+Def_MFPType_Enchant, # 附魔 28
+Def_MFPType_Gubao, # 古宝 29
+Def_MFPType_Shentong, # 神通 30
 Def_MFPType_Other, # 其他
 ) = range(Def_MFPType_Max)
 
@@ -1669,6 +1759,10 @@
 DailyActionID_CrossBattlefield, # 跨服战场 35
 ) = range(1, 35 + 1)
 
+# 跨服每日活动编号定义, 从150开始
+CrossDailyActionIDList = (
+CrossDailyActionID_YaomoBoss, # 妖魔boss 150
+) = range(150, 150 + 1)
 
 # 成就类型定义
 SuccessTypeList = (
@@ -1835,7 +1929,19 @@
 SuccType_Battlefield_Wall, # 古神战场 - 累计采集积分墙 x次  161
 SuccType_Battlefield_BillFirst, # 古神战场 - 任意周榜榜首 x次  162
 SuccType_Battlefield_BillIn, # 古神战场 - 结算时累计上榜 x次  163
-) = range(1, 164)
+SuccType_ActivityPlace, # 活跃放置x次 164
+SuccType_UseStoveByType, # 使用丹药X枚 165
+SuccType_Arena, # 参与竞技场x次 166
+SuccType_KillCrossPenglaiBoss, # 击杀蓬莱仙境bossx只 167
+SuccType_KillCrossDemonLandBoss, # 击杀魔化之地bossx只 168
+SuccType_EquipPlusClass, # X阶装备强化总等级X级 169
+SuccType_EquipStarClass, # X阶装备升星总等级X星 170
+SuccType_EquipStoneClass, # X阶装备宝石总等级X级 171
+SuccType_EquipWashClass, # X阶装备洗炼总等级X级 172
+SuccType_EquipPlusTotal, # 全身强化总等级X级 173
+SuccType_EquipStarTotal, # 全身升星总星数X星 174
+SuccType_EquipWashTotal, # 全身洗炼总等级X级 175
+) = range(1, 176)
 
 # 节日红包成就类型
 FeastRedPackSuccessTypeList = range(SuccType_FeastRedPack_TalkWorld, SuccType_FeastRedPack_FBSweep + 1)
@@ -1847,7 +1953,7 @@
 UnDownCheckSuccessTypeList = [
                               SuccType_GodWeapon,
                               SuccType_MainTaskNode,SuccType_PassWagicWeapon,
-                              SuccType_KillSpecificNPC, SuccType_UseStoveBylv,
+                              SuccType_KillSpecificNPC, SuccType_UseStoveBylv, SuccType_UseStoveByType,
                               SuccType_Pray,SuccType_PetClassLV,
                               SuccType_QueenRelics,SuccType_XMZZConWin,
                               SuccType_Collect,SuccType_DogzBattle,
@@ -1865,6 +1971,10 @@
                                   SuccType_EquipPlus:[0], # 阶不向下适配
                                   SuccType_EquipWash:[0], # 阶不向下适配
                                   SuccType_EquipStar:[0], # 阶不向下适配
+                                  SuccType_EquipPlusClass:[0], # 阶不向下适配
+                                  SuccType_EquipStarClass:[0], # 阶不向下适配
+                                  SuccType_EquipStoneClass:[0], # 阶不向下适配
+                                  SuccType_EquipWashClass:[0], # 阶不向下适配
                                   }
 
 #传进来的条件满足配置的条件列表中的一个就行的成就类型

--
Gitblit v1.8.0