From da98bed8397215ff8e3709d9d34da8c1d6391c07 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 19 九月 2018 14:46:51 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py | 16 +++++++++-------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py | 11 ++++++++---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py | 9 +++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 3 +++
PySysDB/PySysDBPY.h | 1 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py | 5 +++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 3 ++-
8 files changed, 39 insertions(+), 11 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index a905f89..93c27c3 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -135,6 +135,7 @@
list BaseAttrTypes; //基础属性类型列表
list BaseAttrValues; //基础属性值列表
list HelpBattleSkills; //助战技能ID列表
+ DWORD FightPowerEx; //助战附加战力
list EquipPlaceColorList; //穿戴装备颜色限制
};
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index de74685..ebf0c30 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -260,8 +260,9 @@
Def_ItemID_GoldPaper = 30 # 直接给绑玉
Def_ItemID_RealmPoint = 24 # 直接给修行点
Def_ItemID_BossReborn = 21 # 直接给boss复活点
+Def_ItemID_Ysog = 4306 # 直接给符印融合石
Def_TransformItemIDList = [Def_ItemID_FamilyContribution, Def_ItemID_FamilyActive, Def_ItemID_SP, Def_ItemID_GoldPaper,
- Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn]
+ Def_ItemID_RealmPoint, Def_ItemID_SilverMoney, Def_ItemID_BossReborn, Def_ItemID_Ysog]
#---------------------------------------------------------------------
#写死的物品类型都放这边
Def_ItemType_All = -1 #所有类型
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
index 5c487bd..e9310da 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -1842,6 +1842,11 @@
#装备合成某品质某星级
RunQuestEvent(curPlayer, "compoundequip", '%s_%s'%(itemColor, itemQuality), Def_RunQuestType_Normal)
return
+
+def EventRespons_EquipWash(curPlayer, washType, washLV):
+ #装备洗练至X级
+ RunQuestEvent(curPlayer, "equipwash", '%s_%s'%(washType, washLV), Def_RunQuestType_Normal)
+ return
#---------------------------------------------------------------------
#================================================================================
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
index ecb5a2f..23f9e03 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
@@ -26,6 +26,7 @@
import ItemCommon
import ChConfig
import ChEquip
+import EventShell
import random
@@ -357,6 +358,7 @@
washSpecLVIpyData = IpyGameDataPY.GetIpyGameDataNotLog("EquipWashSpec", washType, washLV)
if washSpecLVIpyData:
PlayerControl.WorldNotify(0, "WashMasterCongratulation", [curPlayer.GetPlayerName(), curPlayer.GetPlayerID(), washType, washLV])
+ EventShell.EventRespons_EquipWash(curPlayer, washType, washLV)
break
return True
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py
index ebda50a..a118afe 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_DuJie.py
@@ -123,7 +123,10 @@
# @param lineID 线路id
# @return None
def __CheckEnter(curPlayer, mapID, lineID):
- if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
+ if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
+ GameWorld.DebugLog("爵位境界功能未开启, 无法开启渡劫!curLV=%s" % curPlayer.GetLV())
+ return False
+ if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader or (lineID == 1 and curPlayer.GetTeamID() == 0):
curRealmLV = curPlayer.GetOfficialRank()
realmIpyData = PlayerPrestigeSys.GetRealmIpyData(curRealmLV)
if not realmIpyData:
@@ -139,9 +142,7 @@
# if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RealmFBIsOpen) != 1:
# return False
- if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Official):
- GameWorld.DebugLog("爵位境界功能未开启, 无法开启渡劫!curLV=%s" % curPlayer.GetLV())
- return False
+
return True
@@ -184,7 +185,7 @@
FBCommon.SetFBStep(FB_Step_MapPrepare, tick)
-
+ fbPlayerCnt = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenPlayerCnt)
DuJieFBCfg = GetRealmFBTimeCfg()
if not gameFB.GetGameFBDictByKey(DuJieFB_LeaderPlayerID):
#重置属性加成
@@ -193,11 +194,12 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmFBAttrAdd % attrID, 0)
GameWorld.DebugLog('玩家进入副本')
- if lineID == 0 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
+
+ if fbPlayerCnt == 1 or curPlayer.GetTeamLV() == IPY_GameWorld.tmlLeader:
__SetFBLeaderPlayer(curPlayer)
if gameFB.GetFBStep() == FB_Step_Fighting:
__OnDuJieFBStart(tick)
- isHelpFight = lineID == 1 and curPlayer.GetTeamLV() != IPY_GameWorld.tmlLeader
+ isHelpFight = lineID == 1 and curPlayer.GetTeamLV() != IPY_GameWorld.tmlLeader and fbPlayerCnt > 1
joinType = FBCommon.GetFBJoinType(curPlayer, isHelpFight)
EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_DuJie, lineID, ChConfig.CME_Log_Start, joinType)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 8e23e21..e36210d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -131,6 +131,7 @@
("list", "BaseAttrTypes", 0),
("list", "BaseAttrValues", 0),
("list", "HelpBattleSkills", 0),
+ ("DWORD", "FightPowerEx", 0),
("list", "EquipPlaceColorList", 0),
),
@@ -1212,6 +1213,7 @@
self.BaseAttrTypes = []
self.BaseAttrValues = []
self.HelpBattleSkills = []
+ self.FightPowerEx = 0
self.EquipPlaceColorList = []
return
@@ -1219,6 +1221,7 @@
def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表
def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表
def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表
+ def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
# 神兽强化表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index cdb2f21..2742f25 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1048,7 +1048,7 @@
return False
return True
- def __DoTransformItem(self, curPlayer, tagItem):
+ def DoTransformItem(self, curPlayer, tagItem):
## 将特殊物品转化为对应数值
itemID = tagItem.GetItemTypeID()
if itemID not in ChConfig.Def_TransformItemIDList:
@@ -1070,6 +1070,8 @@
elif itemID == ChConfig.Def_ItemID_BossReborn:
msgStr = str(itemCount)
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'AddBossRebornPoint', msgStr, len(msgStr))
+ elif itemID == ChConfig.Def_ItemID_Ysog:
+ PlayerControl.GiveMoney(curPlayer, ShareDefine.TYPE_Price_Ysog, itemCount)
return True
@@ -1082,8 +1084,8 @@
def PutInItem(self, packIndex, tagItem, defaultPile=True, event=["", False, {}]):
curPlayer = self.__Player
- if self.__DoTransformItem(curPlayer, tagItem):
- tagItem.Clear() # 需清除,不然会导致内存泄露
+ if packIndex != ShareDefine.rptTreasure and self.DoTransformItem(curPlayer, tagItem):
+ tagItem.Clear() # 需清除,不然会导致内存泄露 寻宝仓库可暂存直接转化数值的物品
return True
isEquip = ItemCommon.CheckItemIsEquip(tagItem)
@@ -1396,6 +1398,9 @@
return
def __DoDropItemToOtherPack(curPlayer, itemControl, fromPackIndex, toPackIndex, itemIndex, curItem):
+ if itemControl.DoTransformItem(curPlayer, curItem):
+ curItem.Clear()
+ return True
curItemTypeID = curItem.GetItemTypeID()
#curItemGUID = curItem.GetGUID()
curItemCount = curItem.GetCount()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
index 3f9c581..ccb1d2d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -125,6 +125,7 @@
# 助战状态换装需要刷属性
if GetDogzIsHelpFight(curPlayer, dogzID):
RefreshDogzAttr(curPlayer)
+ PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
return
@@ -201,6 +202,7 @@
if GetDogzIsHelpFight(curPlayer, dogzID):
SetDogzIsHelpFight(curPlayer, dogzID, False) # 因为脱下了状态,所以必须设置为非助战状态
RefreshDogzAttr(curPlayer)
+ PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
return
@@ -262,6 +264,7 @@
GameWorld.DebugLog("神兽助战状态变更!dogzID=%s,isFight=%s" % (dogzID, isFight), playerID)
SetDogzIsHelpFight(curPlayer, dogzID, isFight)
RefreshDogzAttr(curPlayer)
+ PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
return
@@ -432,6 +435,7 @@
if isRefreshAtrr:
RefreshDogzAttr(curPlayer)
+ PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
return
@@ -460,6 +464,7 @@
def RefreshDogzAttr(curPlayer):
## 刷新神兽属性
+ fightPowerEx = 0
allAttrList = [{} for _ in range(4)]
dogzEquipPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
@@ -520,8 +525,12 @@
ChEquip.CalcAttr_LegendAttr(curPlayer, curEquip, allAttrList)
#GameWorld.DebugLog(" 装备传奇: itemID=%s,%s" % (itemID, allAttrList))
+ # 附加战力
+ fightPowerEx += ipyData.GetFightPowerEx()
+
# 保存计算值
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Dogz, allAttrList)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Dogz, fightPowerEx)
return
def Sync_DogzInfo(curPlayer):
--
Gitblit v1.8.0