From 4d0ea0c5ac258cfdaccc46b9d8910b0938f08c5b Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 21 十二月 2018 10:58:12 +0800
Subject: [PATCH] 5540 【后端】【1.4】新增成就类型
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 6 ++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py | 28 +++++++++++++++++++++++++++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py | 3 ++-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py | 5 +++++
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 6 ++++--
5 files changed, 42 insertions(+), 6 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 79f1202..a3cd5d6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -1655,7 +1655,9 @@
SuccType_DogzBattle, #x神兽出战129
SuccType_DogzEquipPlus, #出战神兽装备总强化X级130
SuccType_Collect, #采集X物品X次131
-) = range(1, 132)
+SuccType_InlayGatherSoul, #镶嵌X枚X品质聚魂(不包含核心)44
+SuccType_GatherSoulLvUp, #累计聚魂总等级XX(不包含核心)45
+) = range(1, 134)
@@ -1684,7 +1686,7 @@
NeedResetSuccessTypeList = [
SuccType_InlayStone1,SuccType_InlayStone2,SuccType_EquipSuit,SuccType_InlayRune,
SuccType_EquipColorItem,SuccType_EquipArmor,SuccType_EquipWeapon,SuccType_DogzEquipPlus,
- SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,
+ SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,SuccType_InlayGatherSoul,
]
# 聊天类型, 从100开始, 前100个给c++用
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
index 7a83bd2..e723ba3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetMoney.py
@@ -34,7 +34,8 @@
#参数不正确
GameWorld.DebugAnswer(curPlayer, Lang.GBText("参数不正确"))
GameWorld.DebugAnswer(curPlayer, "1-仙玉;2-绑玉;3-铜钱;6-战盟贡献度;10-战盟仓库积分;13-境界修行点;14-符印融合石;15-仙盟活跃令")
- GameWorld.DebugAnswer(curPlayer, "16-助战积分;23-符印精华;24-符印碎片;25-寻宝积分;26-集市额度;27-丹精")
+ GameWorld.DebugAnswer(curPlayer, "16-助战积分;23-符印精华;24-符印碎片;25-寻宝积分;26-集市额度;27-丹精;28-魂尘;")
+ GameWorld.DebugAnswer(curPlayer, "29-聚魂碎片;30-核心环")
return
#钱币类型
moneyType = List[0]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
index bb09766..e9eca08 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGatherSoul.py
@@ -27,6 +27,7 @@
import IpyGameDataPY
import FormulaControl
import DataRecordPack
+import PlayerSuccess
g_GatherSoulLVExpDict = {} #经验缓存
g_gatherSoulLVAttrDict = {} #属性缓存
@@ -221,6 +222,7 @@
RefreshGatherSoulAttr(curPlayer)
PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
Sync_GatherSoulHoleInfo(curPlayer)
+ DoGatherSoulSuccessLogic(curPlayer)
return True
@@ -280,7 +282,7 @@
RefreshGatherSoulAttr(curPlayer)
PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
Sync_GatherSoulHoleInfo(curPlayer)
-
+ DoGatherSoulSuccessLogic(curPlayer)
GameWorld.DebugLog("聚魂升级!placeType=%s,placeIndex=%s,GatherSoulData=%s,updGatherSoulData=%s"
% (placeType, placeIndex, GatherSoulData, updGatherSoulData), playerID)
return
@@ -498,6 +500,30 @@
return
+def DoGatherSoulSuccessLogic(curPlayer):
+ #聚魂成就处理
+ #清掉#镶嵌X枚X品质聚魂的成就信息
+ PlayerSuccess.ResetSuccessByType(curPlayer, ShareDefine.SuccType_InlayGatherSoul)
+ totalLV = 0
+ GatherSoulUnlockDict = IpyGameDataPY.GetFuncEvalCfg("GatherSoulHole", 1, {})
+ maxGatherSoulHole = len(GatherSoulUnlockDict)
+ for holeNum in xrange(maxGatherSoulHole):
+ GatherSoulData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GatherSoulHoleData % holeNum, 0)
+ if not GatherSoulData:
+ continue
+ GatherSoulItemID = ItemControler.GetGatherSoulItemID(GatherSoulData)
+ itemData = GameWorld.GetGameData().GetItemByTypeID(GatherSoulItemID)
+ if not itemData:
+ continue
+ if itemData.GetType() == ChConfig.Def_ItemType_GatherSoulCore:
+ continue
+ itemColor = itemData.GetItemColor()
+ GatherSoulItemPlusLV = ItemControler.GetGatherSoulItemPlusLV(GatherSoulData) + 1 #客户端1开始
+ totalLV += GatherSoulItemPlusLV
+ PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_InlayGatherSoul, 1, [itemColor])
+ PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_GatherSoulLvUp, totalLV)
+ return
+
def RefreshGatherSoulAttr(curPlayer):
allAttrList = [{} for _ in range(4)]
GatherSoulUnlockDict = IpyGameDataPY.GetFuncEvalCfg("GatherSoulHole", 1, {})
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
index 484338f..c0fb61a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerSuccess.py
@@ -29,6 +29,7 @@
import ItemControler
import PlayerMagicWeapon
import PlayerFamilyRedPacket
+import PlayerGatherSoul
import IpyGameDataPY
import EventShell
import PyGameData
@@ -273,6 +274,8 @@
ShareDefine.SuccType_DogzBattle,
ShareDefine.SuccType_DogzEquipPlus,
ShareDefine.SuccType_MainTaskNode,
+ ShareDefine.SuccType_InlayGatherSoul,
+ ShareDefine.SuccType_GatherSoulLvUp,
]
curCheckVersion = GetPDictValue(curPlayer, ChConfig.Def_PDict_Success_CheckVersion)
@@ -323,6 +326,8 @@
DoEquipSuccessLogic(curPlayer)
elif succType in [ShareDefine.SuccType_InlayRune, ShareDefine.SuccType_RuneLvUp]:
PlayerRune.DoRuneSuccessLogic(curPlayer)
+ elif succType in [ShareDefine.SuccType_InlayGatherSoul, ShareDefine.SuccType_GatherSoulLvUp]:
+ PlayerGatherSoul.DoGatherSoulSuccessLogic(curPlayer)
elif succType == ShareDefine.SuccType_RealmlvUp:
UptateSuccessProgress(curPlayer, succType, curPlayer.GetOfficialRank())
elif succType == ShareDefine.SuccType_PetClassLV:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 79f1202..a3cd5d6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -1655,7 +1655,9 @@
SuccType_DogzBattle, #x神兽出战129
SuccType_DogzEquipPlus, #出战神兽装备总强化X级130
SuccType_Collect, #采集X物品X次131
-) = range(1, 132)
+SuccType_InlayGatherSoul, #镶嵌X枚X品质聚魂(不包含核心)44
+SuccType_GatherSoulLvUp, #累计聚魂总等级XX(不包含核心)45
+) = range(1, 134)
@@ -1684,7 +1686,7 @@
NeedResetSuccessTypeList = [
SuccType_InlayStone1,SuccType_InlayStone2,SuccType_EquipSuit,SuccType_InlayRune,
SuccType_EquipColorItem,SuccType_EquipArmor,SuccType_EquipWeapon,SuccType_DogzEquipPlus,
- SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,
+ SuccType_HorseAllLV, SuccType_EquipPlusLV,SuccType_PetClassLV,SuccType_InlayGatherSoul,
]
# 聊天类型, 从100开始, 前100个给c++用
--
Gitblit v1.8.0