From e5d9e13d80e43fb89e00cc9e0ffafcb25e36e435 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 27 三月 2019 16:55:12 +0800
Subject: [PATCH] 6373 【后端】【2.0】删除无用功能代码、封包、配置(页游领地争夺战)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 19
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py | 18
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py | 11
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 100 -----
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py | 284 ----------------
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetPlayerFuncInfo.py | 26 -
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 100 -----
ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 1
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py | 284 ----------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintAreaType.py | 2
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py | 3
/dev/null | 45 --
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Map/GameMap.py | 6
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini | 17 -
ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py | 18
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 3
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 8
21 files changed, 16 insertions(+), 945 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 770691f..35cc352 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -12735,106 +12735,6 @@
#------------------------------------------------------
-# AB 02 领取领地争夺战每日奖励 #tagCMGetManorWarDailyAward
-
-class tagCMGetManorWarDailyAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MapID", c_int), # 领地id
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- self.MapID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMGetManorWarDailyAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 02 领取领地争夺战每日奖励 //tagCMGetManorWarDailyAward:
- Cmd:%s,
- SubCmd:%s,
- MapID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MapID
- )
- return DumpString
-
-
-m_NAtagCMGetManorWarDailyAward=tagCMGetManorWarDailyAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarDailyAward.Cmd,m_NAtagCMGetManorWarDailyAward.SubCmd))] = m_NAtagCMGetManorWarDailyAward
-
-
-#------------------------------------------------------
-# AB 01 领取领地争夺战参与奖 #tagCMGetManorWarJoinAward
-
-class tagCMGetManorWarJoinAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def GetLength(self):
- return sizeof(tagCMGetManorWarJoinAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 领取领地争夺战参与奖 //tagCMGetManorWarJoinAward:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMGetManorWarJoinAward=tagCMGetManorWarJoinAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarJoinAward.Cmd,m_NAtagCMGetManorWarJoinAward.SubCmd))] = m_NAtagCMGetManorWarJoinAward
-
-
-#------------------------------------------------------
# AB 11 开服活动奖励 #tagCMOpenServerCampaignAward
class tagCMOpenServerCampaignAward(Structure):
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index c85740d..59df580 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -4974,174 +4974,6 @@
#------------------------------------------------------
-# AC 01 通知领地争夺占领情况 #tagGCManorWarInfo
-
-class tagGCManorInfo(Structure):
- Head = tagHead()
- MapID = 0 #(DWORD MapID)// 领地地图id
- FamilyID = 0 #(DWORD FamilyID)// 占领战盟id
- FNameLen = 0 #(BYTE FNameLen)// 战盟名字长度
- FamilyName = "" #(String FamilyName)// 战盟名 size = FNameLen
- LNameLen = 0 #(BYTE LNameLen)// 盟主名字长度
- LeaderName = "" #(String LeaderName)// 盟主名 size = LNameLen
- OccupyDays = 0 #(WORD OccupyDays)// 连续占领天数
- LastFamilyID = 0 #(DWORD LastFamilyID)// 上次占领的战盟id
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,self.FNameLen)
- self.LNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LNameLen)
- self.OccupyDays,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LastFamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.MapID = 0
- self.FamilyID = 0
- self.FNameLen = 0
- self.FamilyName = ""
- self.LNameLen = 0
- self.LeaderName = ""
- self.OccupyDays = 0
- self.LastFamilyID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- length += len(self.FamilyName)
- length += 1
- length += len(self.LeaderName)
- length += 2
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.MapID)
- data = CommFunc.WriteDWORD(data, self.FamilyID)
- data = CommFunc.WriteBYTE(data, self.FNameLen)
- data = CommFunc.WriteString(data, self.FNameLen, self.FamilyName)
- data = CommFunc.WriteBYTE(data, self.LNameLen)
- data = CommFunc.WriteString(data, self.LNameLen, self.LeaderName)
- data = CommFunc.WriteWORD(data, self.OccupyDays)
- data = CommFunc.WriteDWORD(data, self.LastFamilyID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- MapID:%d,
- FamilyID:%d,
- FNameLen:%d,
- FamilyName:%s,
- LNameLen:%d,
- LeaderName:%s,
- OccupyDays:%d,
- LastFamilyID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.MapID,
- self.FamilyID,
- self.FNameLen,
- self.FamilyName,
- self.LNameLen,
- self.LeaderName,
- self.OccupyDays,
- self.LastFamilyID
- )
- return DumpString
-
-
-class tagGCManorWarInfo(Structure):
- Head = tagHead()
- ManorCnt = 0 #(BYTE ManorCnt)//领地个数
- ManorInfoList = list() #(vector<tagGCManorInfo> ManorInfoList)//领地信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ManorCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ManorCnt):
- temManorInfoList = tagGCManorInfo()
- _pos = temManorInfoList.ReadData(_lpData, _pos)
- self.ManorInfoList.append(temManorInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.ManorCnt = 0
- self.ManorInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.ManorCnt):
- length += self.ManorInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ManorCnt)
- for i in range(self.ManorCnt):
- data = CommFunc.WriteString(data, self.ManorInfoList[i].GetLength(), self.ManorInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ManorCnt:%d,
- ManorInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ManorCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCManorWarInfo=tagGCManorWarInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCManorWarInfo.Head.Cmd,m_NAtagGCManorWarInfo.Head.SubCmd))] = m_NAtagGCManorWarInfo
-
-
-#------------------------------------------------------
# AC 06 多倍经验活动信息 #tagGCMultiExpRateInfo
class tagGCMultiExpRateTime(Structure):
@@ -25924,122 +25756,6 @@
m_NAtagMCFestivalLoginAwardState=tagMCFestivalLoginAwardState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFestivalLoginAwardState.Cmd,m_NAtagMCFestivalLoginAwardState.SubCmd))] = m_NAtagMCFestivalLoginAwardState
-
-
-#------------------------------------------------------
-# AB 02 领地占领每日奖励领奖情况 #tagMCManorDailyAward
-
-class tagMCManorDailyAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("AwardRecord", c_int), # 按位表示每个领地领取情况;0-未领,1-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- self.AwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorDailyAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 02 领地占领每日奖励领奖情况 //tagMCManorDailyAward:
- Cmd:%s,
- SubCmd:%s,
- AwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.AwardRecord
- )
- return DumpString
-
-
-m_NAtagMCManorDailyAward=tagMCManorDailyAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorDailyAward.Cmd,m_NAtagMCManorDailyAward.SubCmd))] = m_NAtagMCManorDailyAward
-
-
-#------------------------------------------------------
-# AB 01 通知领地战结果 #tagMCManorWarResult
-
-class tagMCManorWarResult(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), # 0-普通信息;1-活动结果总结
- ("Result", c_ubyte), # 战盟胜负情况;0-未知,1-胜利,2-失败
- ("JoinTime", c_int), # 活动时总参与时间,毫秒
- ("JoinAward", c_ubyte), # 参与奖状态;0-不可领,1-可领,2-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- self.Type = 0
- self.Result = 0
- self.JoinTime = 0
- self.JoinAward = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorWarResult)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 通知领地战结果 //tagMCManorWarResult:
- Cmd:%s,
- SubCmd:%s,
- Type:%d,
- Result:%d,
- JoinTime:%d,
- JoinAward:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type,
- self.Result,
- self.JoinTime,
- self.JoinAward
- )
- return DumpString
-
-
-m_NAtagMCManorWarResult=tagMCManorWarResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorWarResult.Cmd,m_NAtagMCManorWarResult.SubCmd))] = m_NAtagMCManorWarResult
#------------------------------------------------------
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetPlayerFuncInfo.py b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetPlayerFuncInfo.py
index 586a28f..d6d787b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetPlayerFuncInfo.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_GetPlayerFuncInfo.py
@@ -16,7 +16,6 @@
#导入
import GMCommon
import ChConfig
-import PlayerManorWar
#---------------------------------------------------------------------
#全局变量
@@ -33,24 +32,15 @@
queryType = gmCmdDict.get(GMCommon.Def_GMKey_QueryType, '')
queryKey = gmCmdDict.get(GMCommon.Def_GMKey_FuncKey, '')
+ if queryType == 'accID':
+ #玩家账户 []
+ GMCommon.GMTool_MapServer_Query(ChConfig.queryType_sqtPlayerByAccID, orderId,
+ playerFind, gmCmdDict, 'GetPlayerFuncInfo', [orderId,queryKey], False)
+ return
- if queryKey in ['ManorWar']:
- queryResult = 0
- if queryKey == 'ManorWar':
- queryResult = PlayerManorWar.GetManorWarFirstOrderInfo()
-
- #执行成功
- GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, queryResult)
- else:
- if queryType == 'accID':
- #玩家账户 []
- GMCommon.GMTool_MapServer_Query(ChConfig.queryType_sqtPlayerByAccID, orderId,
- playerFind, gmCmdDict, 'GetPlayerFuncInfo', [orderId,queryKey], False)
- return
-
- #玩家名字 []
- GMCommon.GMTool_MapServer_Query(ChConfig.queryType_sqtPlayerByName, orderId,
- playerFind, gmCmdDict, 'GetPlayerFuncInfo', [orderId,queryKey], False)
+ #玩家名字 []
+ GMCommon.GMTool_MapServer_Query(ChConfig.queryType_sqtPlayerByName, orderId,
+ playerFind, gmCmdDict, 'GetPlayerFuncInfo', [orderId,queryKey], False)
return
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index f85ecec..a0ece2e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -83,7 +83,6 @@
import GameWorldAverageLv
import PlayerDBOper
import PlayerGeTui
-#import PlayerManorWar
import GameWorldBoss
import PlayerCompensation
import ReadChConfig
@@ -1400,8 +1399,6 @@
# 仙盟联赛
GameWorldFamilyWar.OnMapServerInitOK()
- # 领地争夺战
- #PlayerManorWar.OnMapServerInitOK()
# 跨服服务器状态
isCrossServerOpen = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index 7bc2557..d2f7655 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
@@ -37,7 +37,6 @@
import UpdatePlayerName
import GameWorldBoss
import PlayerFamilyBoss
-#import PlayerManorWar
import PlayerBourse
import PlayerZhuXianBoss
import PlayerXMZZ
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
index 1a7a4f5..e4a673e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerDBGSEvent.py
@@ -114,9 +114,6 @@
#服务器开服自动逻辑处理 小时
Def_Server_Hour = 'Def_Server_Hour'
-# 上次领地战活动时的开服天数
-Def_LastManorWarServerDay = "LastManorWarServerDay"
-
# 交易所开关
Def_BourseState = "BourseState"
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerManorWar.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerManorWar.py
deleted file mode 100644
index a7c5a29..0000000
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerManorWar.py
+++ /dev/null
@@ -1,446 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package PlayerManorWar
-#
-# @todo:领地争夺战
-# @author hxp
-# @date 2014-04-26
-# @version 1.6
-#
-# 详细描述: 领地争夺战
-# @change: "2014-04-29 06:00" hxp 修复通用数据存储类型错误bug
-# @change: "2014-11-12 20:00" hxp 增加领地胜利成就
-# @change: "2016-08-10 20:00" hxp 修复最后一分钟补时阶段PK会加PK值的bug
-# @change: "2016-11-03 21:30" hxp 增加设置当日开启状态
-# @change: "2016-11-09 21:30" xdh 每次活动重新开始时重置占领权
-# @change: "2016-12-28 00:00" hxp 增加占领战盟盟主ID;记录上一场占领战盟家族ID;记录活动中临时占领的家族ID
-#
-#---------------------------------------------------------------------
-#"""Version = 2016-12-28 00:00"""
-#---------------------------------------------------------------------
-
-import ShareDefine
-import GameWorld
-import ChConfig
-import ReadChConfig
-import ChPyNetSendPack
-import NetPackCommon
-import PlayerFamily
-import PlayerControl
-import PlayerDBGSEvent
-
-
-WorldKey_ManorWarResultState = "ManorWarResultState" # 各领地是否结束状态
-
-Def_Action_ReadyOver = 98 # 准备结束
-Def_Action_DoOver = 99 # 结束
-
-## 地图服务器启动OK
-# @param None
-# @return None
-def OnMapServerInitOK():
- # 通知占领家族
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
-
- familyID = manorRec.GetValue2()
- leaderID = manorRec.GetValue4()
- lastFamilyID = manorRec.GetValue5()
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID, familyID)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarFamilyLeaderID % mapID, leaderID)
- tempFamilyID = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID, tempFamilyID)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarLastFamilyID % mapID, lastFamilyID)
-
- # 通知活动时的开服天数
- warServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_LastManorWarServerDay)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarServerDay, warServerDay)
-
- # 通知活动状态,活动状态必须在最后通知
- warState = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_ManorWar)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWar, warState)
- return
-
-## 获取领地战地图列表
-# @param None
-# @return None
-def __GetManorWarMapID():
- return ReadChConfig.GetEvalChConfig("ManorWarMapID")
-
-## 领地战OnDay
-# @param None
-# @return None
-def OnDay():
-
- # 增加占领天数
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
-
- familyID = manorRec.GetValue2()
- occupyDays = manorRec.GetValue3()
-
- if familyID > 0:
- manorRec.SetValue3(occupyDays + 1)
-
- # 通知所有在线玩家
- __Sync_ManorRecData()
- return
-
-
-## 领地战Login
-# @param curPlayer
-# @return None
-def OnPlayerLogin(curPlayer):
- # 通知战盟占领情况
- __Sync_ManorRecData(curPlayer)
- return
-
-
-##领地争夺战活动状态变更回调
-# @param isOpen 是否开启
-# @return None
-# @remarks
-def ManorWar_ChangeState(state):
- if state == ChConfig.Def_Action_Open:
- __OnOpen()
-
- elif state == Def_Action_ReadyOver:
- __TryManorWarOver()
-
- # 强制处理活动结束,防止有地图无法正常结算,导致活动无法结束,一般时间可设置为活动结束后1分钟
- elif state == Def_Action_DoOver:
- __DoManorWarOver()
-
- return
-
-
-## 领地战__OnOpen
-# @param None
-# @return None
-def __OnOpen():
- GameWorld.GetGameWorld().SetDict(WorldKey_ManorWarResultState, 0) # 重置各领地结束状态
- #重置占领状态
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID, 0)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarFamilyLeaderID % mapID, 0)
- GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID, 0)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID, 0)
-
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
-
- lastFamilyID = manorRec.GetValue2()
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarLastFamilyID % mapID, lastFamilyID)
- manorRec.SetValue5(lastFamilyID) # 设置上次占领的战盟ID
- manorRec.SetValue2(0) # 重置占领战盟ID
- manorRec.SetValue3(0) # 重置占领天数
- manorRec.SetValue4(0) # 重置盟主ID
- manorRec.SetStrValue1("") # 重置战盟名
- manorRec.SetStrValue2("") # 重置盟主名
-
- # 通知战盟占领情况
- __Sync_ManorRecData()
-
- # 记录活动开启时的开服天数,同步MapServer
- openServerDay = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_ServerDay)
- PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_LastManorWarServerDay, openServerDay)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarServerDay, openServerDay)
-
- # 设置今日开启过
- PlayerFamily.SetFamilyActivityDayOpen(ShareDefine.Def_FamActivity_Manor)
- return
-
-
-## 领地战采旗消耗
-# @param resultName
-# @return None
-def ManorWarGetFlagCost(resultName):
- GameWorld.Log('收到地图服务器领地争夺战扣除拔旗消耗 = %s' % (resultName))
- mapID, familyID, value = resultName
-
- # 广播地图活动中临时占领的战盟ID
- GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID, familyID)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID, familyID)
-
- curFamily = GameWorld.GetFamilyManager().FindFamily(familyID)
-
- if not curFamily:
- GameWorld.ErrLog('无法获得家族ID= %s,%s' % (familyID))
- return
-
- curFamily.SetMoney(max(0, curFamily.GetMoney() - value))
-
- #通知客户端刷新
- curFamily.Broadcast_FamilyChange()
- #通知地图服务器刷新
- PlayerFamily.SendPack_MapServer_PlayerFamilyRefresh(curFamily)
- return
-
-
-## 接收MapServer发送的领地占领胜利战盟
-# @param msgList
-# @return None
-def DoMapServerManorWarWinner(msgList):
- # [mapID, 占领战盟id]
- mapID, winFamilyID = msgList
- GameWorld.DebugLog("DoMapServerManorWarWinner msgList=%s" % str(msgList))
-
- manorWarMapIDList = __GetManorWarMapID()
- if mapID not in manorWarMapIDList:
- return
-
- winFamily = GameWorld.GetFamilyManager().FindFamily(winFamilyID)
- if not winFamily:
- return
-
- familyName = winFamily.GetName()
- leaderName = winFamily.GetLeaderName()
- leaderID = winFamily.GetLeaderID()
-
- manorRec = __GetManorRecData(mapID)
-
- recFamilyID = manorRec.GetValue2()
-
- # 胜利战盟与记录战盟不一致,重置占领权
- if recFamilyID != winFamilyID:
- manorRec.SetValue2(winFamilyID)
- manorRec.SetValue3(0) # 重置占领天数
-
- manorRec.SetStrValue1(familyName)
- manorRec.SetStrValue2(leaderName)
- manorRec.SetValue4(leaderID) # 盟主ID
-
- PlayerControl.WorldNotify(0, "PK_liubo_70569", [familyName, mapID])
-
- # 通知地图更新领地占领战盟
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID, winFamilyID)
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarFamilyLeaderID % mapID, leaderID)
-
- # 设置该领地已结算
- __SetManorWarStateOver(mapID, manorWarMapIDList)
-
- # 尝试活动结束处理
- __TryManorWarOver()
- return
-
-
-## 设置领地战状态结束
-# @param mapID
-# @param manorWarMapIDList
-# @return None
-def __SetManorWarStateOver(mapID, manorWarMapIDList):
-
- if mapID not in manorWarMapIDList:
- return
-
- index = manorWarMapIDList.index(mapID)
-
- nowState = GameWorld.GetGameWorld().GetDictByKey(WorldKey_ManorWarResultState)
- updState = nowState|pow(2, index)
- GameWorld.GetGameWorld().SetDict(WorldKey_ManorWarResultState, updState)
- return
-
-
-## 尝试领地战结算
-# @param None
-# @return None
-def __TryManorWarOver():
- # 活动结束条件
- # 1. 活动状态结束
- # 2. 所有领地地图都结算完毕
-
- # 活动还在进行中,不处理结束
- warState = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_ManorWar)
- if warState == ChConfig.Def_Action_Open:
- GameWorld.DebugLog("__TryManorWarOver 活动还在进行中,不处理结束...")
- return
-
- # 判断是否所有地图都结算
- manorWarMapIDList = __GetManorWarMapID()
- nowState = GameWorld.GetGameWorld().GetDictByKey(WorldKey_ManorWarResultState)
- for index in xrange(len(manorWarMapIDList)):
- if not nowState&pow(2, index):
- GameWorld.DebugLog("__TryManorWarOver 地图索引=%s还未结算,不处理结束..." % index)
- return
-
- __DoManorWarOver()
- return
-
-
-## 执行领地战结算
-# @param None
-# @return None
-def __DoManorWarOver():
- GameWorld.DebugLog("执行领地战结算 __DoManorWarOver() ...")
- dictName = ShareDefine.Def_Notify_WorldKey_ManorWar
- gameWorld = GameWorld.GetGameWorld()
- manorWarState = gameWorld.GetDictByKey(dictName)
-
- # 如果不是强制结算的,则通知地图结算(强制结算在ActionControl.txt中配置控制)
- # 强制结算配置主要防止有领地无法同步结果上来,导致活动无法结算
- if manorWarState != Def_Action_DoOver:
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWar, Def_Action_DoOver)
- # 注:这里GameServer不设置DoOver值,防止同一分钟内DoOver与Close值交互替换
- #gameWorld.SetDict(dictName, Def_Action_DoOver)
-
- familyWinMapDict = {} # 战盟占领领地情况{familyID:[[mapID,天数],...],...}
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
-
- #mapID = manorRec.GetValue1()
- familyID = manorRec.GetValue2()
- occupyDays = manorRec.GetValue3() # 占领天数
-
- if familyID <= 0:
- continue
-
- winFamily = GameWorld.GetFamilyManager().FindFamily(familyID)
- if winFamily:
- leaderID = winFamily.GetLeaderID()
- manorRec.SetValue4(leaderID) # 总结算时统一更新一次结算时的盟主ID
- GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_ManorWarFamilyLeaderID % mapID, leaderID)
-
- familyWinMapList = familyWinMapDict.get(familyID, [])
- familyWinMapList.append([mapID, occupyDays])
- familyWinMapDict[familyID] = familyWinMapList
-
- GameWorld.DebugLog(" familyWinMapDict=%s" % str(familyWinMapDict))
-
- for winFamilyID, winMapList in familyWinMapDict.items():
-
- winFamily = GameWorld.GetFamilyManager().FindFamily(winFamilyID)
- if not winFamily:
- continue
-
- for i in range(0, winFamily.GetCount()):
- notifyMember = winFamily.GetAt(i)
-
- curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(notifyMember.GetPlayerID())
- if curPlayer == None:
- continue
-
- winMapCnt = len(winMapList)
-
- # 累加成功占领多少个领地成就
- #PlayerControl.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ManorWarWin, winMapCnt)
- # 一次累计占领多少个领地成就
- #PlayerControl.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ManorWarWinMore, 1, winMapCnt)
-
- # 通知所有玩家所有领地占领结果
- __Sync_ManorRecData()
- return
-
-
-## 同步领地战数据
-# @param curPlayer
-# @return None
-def __Sync_ManorRecData(curPlayer=None):
- manorWarInfo = ChPyNetSendPack.tagGCManorWarInfo()
- manorWarInfo.Clear()
-
- manorWarInfo.ManorInfoList = []
-
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
-
- manorInfo = ChPyNetSendPack.tagGCManorInfo()
-
- manorInfo.MapID = manorRec.GetValue1()
- manorInfo.FamilyID = manorRec.GetValue2()
- manorInfo.FamilyName = manorRec.GetStrValue1()
- manorInfo.FNameLen = len(manorInfo.FamilyName)
- manorInfo.LeaderName = manorRec.GetStrValue2()
- manorInfo.LNameLen = len(manorInfo.LeaderName)
- manorInfo.OccupyDays = manorRec.GetValue3()
- manorInfo.LastFamilyID = manorRec.GetValue5()
-
- manorWarInfo.ManorInfoList.append(manorInfo)
-
-
- manorWarInfo.ManorCnt = len(manorWarInfo.ManorInfoList)
-
- if curPlayer:
- NetPackCommon.SendFakePack(curPlayer, manorWarInfo)
- else:
- playerManager = GameWorld.GetPlayerManager()
- for i in range(0, playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(i)
- if curPlayer == None or not curPlayer.GetInitOK():
- continue
-
- NetPackCommon.SendFakePack(curPlayer, manorWarInfo)
-
- return
-
-
-## 获取领地战数据
-# @param mapID: 领地地图id
-# @return None
-def __GetManorRecData(mapID):
- recType = ShareDefine.Def_UniversalGameRecType_ManorWarInfo
- universalRecMgr = GameWorld.GetUniversalRecMgr()
- recTypeListData = universalRecMgr.GetTypeList(recType)
-
- manorRec = None
- for index in range(recTypeListData.Count()):
- universalRecData = recTypeListData.At(index)
- if universalRecData.GetValue1() == mapID:
- manorRec = universalRecData
- break
-
- if manorRec == None:
- #还未记录,则添加一个记录对象
- manorRec = recTypeListData.AddRec()
- manorRec.SetValue1(mapID)
-
- return manorRec
-
-## 获取领地争夺战第一名的信息 {'leaderName':第一名战盟盟主名,'familyName':第一名战盟名, 'fightPower':战盟总战力, 'leaderLV':盟主等级}
-def GetManorWarFirstOrderInfo():
- resultDcit = {'leaderName':'', 'familyName':'', 'fightPower':0, 'leaderLV':0}
- familyWinMapDict = {}
- familyInfoDict = {}
- manorWarMapIDList = __GetManorWarMapID()
- for mapID in manorWarMapIDList:
- manorRec = __GetManorRecData(mapID)
- if not manorRec:
- continue
- familyID = manorRec.GetValue2()
- if not familyID:
- continue
- familyName = manorRec.GetStrValue1()
- leaderName = manorRec.GetStrValue2()
- #leaderID = manorRec.GetValue4()
- familyWinMapDict[familyID] = familyWinMapDict.get(familyID, 0) + 1
- familyInfoDict[familyID] = [familyName, leaderName]
-
- #GameWorld.Log(' 获取领地争夺战第一名的信息 familyWinMapDict=%s'%familyWinMapDict)
- if familyWinMapDict:
- familyList = sorted(familyWinMapDict.iteritems(), key=lambda asd:asd[1], reverse=True)
- firstFamilyid = familyList[0][0]
- familyName, leaderName = familyInfoDict[firstFamilyid]
- totalFightPower = PlayerFamily.GetFamilyTotalFightPowerByID(firstFamilyid)
-
- resultDcit['leaderName'] = leaderName
- resultDcit['leaderLV'] = PlayerFamily.GetFamilyLeaderLV(firstFamilyid)
- resultDcit['familyName'] = familyName
- resultDcit['fightPower'] = totalFightPower
- return resultDcit
\ No newline at end of file
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index b14980a..c7ab944 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -48,7 +48,6 @@
import PlayerFB
import UpdatePlayerName
import PlayerFamilyBoss
-import PlayerManorWar
import GameWorldBoss
import GameWorldFamilyWar
#import PlayerFamilyTech
@@ -656,16 +655,6 @@
elif notifyType == 2:
PlayerUniversalGameRec.SendUniversalGameRecInfo(None, recType)
- return
-
- # 领地争夺战拔旗消耗
- if callName =="ManorWarGetFlagCost":
- PlayerManorWar.ManorWarGetFlagCost(eval(resultName))
- return
-
- # 领地争夺战获胜战盟
- if callName =="ManorWarWinner":
- PlayerManorWar.DoMapServerManorWarWinner(eval(resultName))
return
# 战盟副本boss开始、被击杀
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 287d675..1f0e0dc 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -188,13 +188,6 @@
Def_Notify_WorldKey_FamilyActivityDayState = "FamilyActivityDayState" #战盟相关活动今日开启状态, 按位存储代表今日是否开启过
-Def_Notify_WorldKey_ManorWar = 'ManorWar' # 领地争夺活动状态
-Def_Notify_WorldKey_ManorWarWinFamilyID = 'ManorWarWinFamilyID_%s' # 领地争夺获胜战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarFamilyLeaderID = 'ManorWarFamilyLeaderID_%s' # 领地争夺占领的战盟盟主id,%s地图id
-Def_Notify_WorldKey_ManorWarTempFamilyID = 'ManorWarTempFamilyID_%s' # 领地争夺活动中临时占领的战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarLastFamilyID = 'ManorWarLastFamilyID_%s' # 领地争夺上次占领的战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarServerDay = 'ManorWarServerDay' # 领地战活动时的开服天数
-
Def_Notify_WorldKey_LoginAwardStartDate = 'LoginAwardStartDate_%s' # 登录领取奖励开始时间,参数为活动类型
Def_Notify_WorldKey_LoginAwardEndDate = 'LoginAwardEndDate_%s' # 登录领取奖励结束时间,参数为活动类型
@@ -899,12 +892,6 @@
Def_Battle_Query # 查询
) = range(1, 4)
-
-#区域类型定义, 从5开始, C++定义到 IPY_GameWorld.gatMax 4
-(
-gatManor, # 领地区域, 领地战期间可PK, 反之为普通区域
-) = range(5, 6)
-
# 游戏功能ID定义,需确保唯一,与PyGameFuncControl.txt中FuncId一致
GameFuncID_Wing = 3 # 翅膀
GameFuncID_Pet = 6 # 宠物,灵宠
@@ -1041,7 +1028,7 @@
Def_UniversalGameRecType_CrossBossInfo, # 跨服boss信息
Def_UniversalGameRecType_31,
Def_UniversalGameRecType_32,
- Def_UniversalGameRecType_ManorWarInfo, # 领地争夺战占领结果33
+ Def_UniversalGameRecType_33,
Def_UniversalGameRecType_34,
Def_UniversalGameRecType_35,
Def_UniversalGameRecType_36,
@@ -1142,8 +1129,7 @@
#家族相关活动类型定义
Def_FamActivityList = (
Def_FamActivity_War, # 战盟争霸
-Def_FamActivity_Manor, # 领地争夺
-) = range(2)
+) = range(1)
#副本通关类型
(
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
index c792523..c6a3305 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/PyNetPack.ini
@@ -551,23 +551,6 @@
PacketSubCMD_5=0x13
PacketCallFunc_5=OnUnlockRuneHole
-;领地争夺战
-[GameLogic_ManorWar]
-ScriptName = GameWorldLogic\FBProcess\GameLogic_ManorWar.py
-Writer = hxp
-Releaser = hxp
-RegType = 0
-RegisterPackCount = 2
-
-PacketCMD_1 = 0xAB
-PacketSubCMD_1 = 0x01
-PacketCallFunc_1 = OnGetManorWarJoinAward
-
-PacketCMD_2 = 0xAB
-PacketSubCMD_2 = 0x02
-PacketCallFunc_2 = OnGetManorWarDailyAward
-
-
;跨服PK竞技场
[PlayerCrossRealmPK]
ScriptName = Player\PlayerCrossRealmPK.py
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
index 863f851..56f7b96 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -2554,12 +2554,6 @@
if GetIsNewGuy(tagPlayer):
return ChConfig.Type_Relation_None, ChConfig.Def_PASysMessage_NotAttackNewGuy
-
- #攻守双方同一队伍,不可PK,可加增益buff
- #if curPlayerAreaType not in [ShareDefine.gatManor] and CanAlikeTeam(curPlayer, tagPlayer):
- # #副本队友特殊判断
- # if not PlayerCanAttackTeamerInFB(curPlayer, tagPlayer):
- # return ChConfig.Type_Relation_Friend , ChConfig.Def_PASysMessage_NotAttackTeam
#恶意攻击的玩家默认都是敌人, 无论什么模式
if IsMaliciousAttackPlayer(curPlayer, tagPlayer):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index f3a381d..8d25d6f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -710,7 +710,6 @@
Def_SkillID_TeamVIPBuff = 22000 # VIP队伍buff, 攻守同盟
Def_SkillID_CostVipBuff = 61018 # CostVIPbuff
Def_SkillID_FBEncourageBuff = 20051 # 副本鼓舞buff
-Def_SkillID_GetFlagFamilyBuff = 11506 # 战盟战获得夺旗战盟buff特效
Def_SkillID_FreshmanGuideBuff = 21219 # 新手指导员buff
Def_SkillID_PoisonAtkBuff = 25180 # 毒攻buff
Def_SkillID_DropOwnerBuff = 20040 # 掉落归属buff
@@ -744,7 +743,6 @@
Def_AreaType_SkillID_FreePK = 20010 # pk区
Def_AreaType_SkillID_FamilyPK = 20012 # 家族区
Def_AreaType_SkillID_Boss = 20008 # Boss区域
-Def_SkillID_ManorFlagArea = 20017 # 战旗区域buff,动态
Def_SkillID_SitArea = 20009 # 打坐区域buff
#----------------------------------------------------------------------
#战斗类型
@@ -2426,7 +2424,6 @@
#技能消失不重刷属性#(鞭炮,烟花,火烛)
Def_Skill_Disappear_NoReflash = [Def_SkillID_Justice, #阵营
Def_SkillID_Evil,
- Def_SkillID_GetFlagFamilyBuff,
]
#---------------------------------------------------------------------
@@ -3765,11 +3762,6 @@
Def_PDict_FamilyBossFBAwardState = "FamilyBossFBAwardState_%s" # 家族boss副本领奖状态%s副本id
Def_PDict_LastEnterFBPropertyID = "LastEnterFBPropertyID_%s" # 上次进入副本的propertyID%s副本id
Def_PDict_LastEnterFBTick = "LastEnterFBTick_%s" # 上次进入副本的时间%s副本id
-
-Def_PDict_ManorWarJoinDay = "ManorWarJoinDay" # 上次参加领地争夺战时记录的开服天数
-Def_PDict_ManorWarContinueTick = "ManorWarContinueTick" # 领地争夺战在战场总时间
-Def_PDict_ManorWarJoinAwardState = "ManorWarJoinAwardState" # 领地战参与奖励情况0-不可领,1-可领,2-已领
-Def_PDict_ManorWarDailyAwardRecord = "ManorWarDailyAwardRecord" # 领地争夺战每日奖励领取记录,按位表示
# 战斗力 Def_PDictType_FightPower
Def_PDict_FightPower_Highest = "FightPower_Highest" # 历史最高总战斗力
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 770691f..35cc352 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -12735,106 +12735,6 @@
#------------------------------------------------------
-# AB 02 领取领地争夺战每日奖励 #tagCMGetManorWarDailyAward
-
-class tagCMGetManorWarDailyAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("MapID", c_int), # 领地id
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- self.MapID = 0
- return
-
- def GetLength(self):
- return sizeof(tagCMGetManorWarDailyAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 02 领取领地争夺战每日奖励 //tagCMGetManorWarDailyAward:
- Cmd:%s,
- SubCmd:%s,
- MapID:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.MapID
- )
- return DumpString
-
-
-m_NAtagCMGetManorWarDailyAward=tagCMGetManorWarDailyAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarDailyAward.Cmd,m_NAtagCMGetManorWarDailyAward.SubCmd))] = m_NAtagCMGetManorWarDailyAward
-
-
-#------------------------------------------------------
-# AB 01 领取领地争夺战参与奖 #tagCMGetManorWarJoinAward
-
-class tagCMGetManorWarJoinAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def GetLength(self):
- return sizeof(tagCMGetManorWarJoinAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 领取领地争夺战参与奖 //tagCMGetManorWarJoinAward:
- Cmd:%s,
- SubCmd:%s
- '''\
- %(
- self.Cmd,
- self.SubCmd
- )
- return DumpString
-
-
-m_NAtagCMGetManorWarJoinAward=tagCMGetManorWarJoinAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetManorWarJoinAward.Cmd,m_NAtagCMGetManorWarJoinAward.SubCmd))] = m_NAtagCMGetManorWarJoinAward
-
-
-#------------------------------------------------------
# AB 11 开服活动奖励 #tagCMOpenServerCampaignAward
class tagCMOpenServerCampaignAward(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index c85740d..59df580 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -4974,174 +4974,6 @@
#------------------------------------------------------
-# AC 01 通知领地争夺占领情况 #tagGCManorWarInfo
-
-class tagGCManorInfo(Structure):
- Head = tagHead()
- MapID = 0 #(DWORD MapID)// 领地地图id
- FamilyID = 0 #(DWORD FamilyID)// 占领战盟id
- FNameLen = 0 #(BYTE FNameLen)// 战盟名字长度
- FamilyName = "" #(String FamilyName)// 战盟名 size = FNameLen
- LNameLen = 0 #(BYTE LNameLen)// 盟主名字长度
- LeaderName = "" #(String LeaderName)// 盟主名 size = LNameLen
- OccupyDays = 0 #(WORD OccupyDays)// 连续占领天数
- LastFamilyID = 0 #(DWORD LastFamilyID)// 上次占领的战盟id
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.MapID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- self.FNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.FamilyName,_pos = CommFunc.ReadString(_lpData, _pos,self.FNameLen)
- self.LNameLen,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- self.LeaderName,_pos = CommFunc.ReadString(_lpData, _pos,self.LNameLen)
- self.OccupyDays,_pos = CommFunc.ReadWORD(_lpData, _pos)
- self.LastFamilyID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.MapID = 0
- self.FamilyID = 0
- self.FNameLen = 0
- self.FamilyName = ""
- self.LNameLen = 0
- self.LeaderName = ""
- self.OccupyDays = 0
- self.LastFamilyID = 0
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 4
- length += 4
- length += 1
- length += len(self.FamilyName)
- length += 1
- length += len(self.LeaderName)
- length += 2
- length += 4
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteDWORD(data, self.MapID)
- data = CommFunc.WriteDWORD(data, self.FamilyID)
- data = CommFunc.WriteBYTE(data, self.FNameLen)
- data = CommFunc.WriteString(data, self.FNameLen, self.FamilyName)
- data = CommFunc.WriteBYTE(data, self.LNameLen)
- data = CommFunc.WriteString(data, self.LNameLen, self.LeaderName)
- data = CommFunc.WriteWORD(data, self.OccupyDays)
- data = CommFunc.WriteDWORD(data, self.LastFamilyID)
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- MapID:%d,
- FamilyID:%d,
- FNameLen:%d,
- FamilyName:%s,
- LNameLen:%d,
- LeaderName:%s,
- OccupyDays:%d,
- LastFamilyID:%d
- '''\
- %(
- self.Head.OutputString(),
- self.MapID,
- self.FamilyID,
- self.FNameLen,
- self.FamilyName,
- self.LNameLen,
- self.LeaderName,
- self.OccupyDays,
- self.LastFamilyID
- )
- return DumpString
-
-
-class tagGCManorWarInfo(Structure):
- Head = tagHead()
- ManorCnt = 0 #(BYTE ManorCnt)//领地个数
- ManorInfoList = list() #(vector<tagGCManorInfo> ManorInfoList)//领地信息列表
- data = None
-
- def __init__(self):
- self.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- return
-
- def ReadData(self, _lpData, _pos=0, _Len=0):
- self.Clear()
- _pos = self.Head.ReadData(_lpData, _pos)
- self.ManorCnt,_pos = CommFunc.ReadBYTE(_lpData, _pos)
- for i in range(self.ManorCnt):
- temManorInfoList = tagGCManorInfo()
- _pos = temManorInfoList.ReadData(_lpData, _pos)
- self.ManorInfoList.append(temManorInfoList)
- return _pos
-
- def Clear(self):
- self.Head = tagHead()
- self.Head.Clear()
- self.Head.Cmd = 0xAC
- self.Head.SubCmd = 0x01
- self.ManorCnt = 0
- self.ManorInfoList = list()
- return
-
- def GetLength(self):
- length = 0
- length += self.Head.GetLength()
- length += 1
- for i in range(self.ManorCnt):
- length += self.ManorInfoList[i].GetLength()
-
- return length
-
- def GetBuffer(self):
- data = ''
- data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
- data = CommFunc.WriteBYTE(data, self.ManorCnt)
- for i in range(self.ManorCnt):
- data = CommFunc.WriteString(data, self.ManorInfoList[i].GetLength(), self.ManorInfoList[i].GetBuffer())
- return data
-
- def OutputString(self):
- DumpString = '''
- Head:%s,
- ManorCnt:%d,
- ManorInfoList:%s
- '''\
- %(
- self.Head.OutputString(),
- self.ManorCnt,
- "..."
- )
- return DumpString
-
-
-m_NAtagGCManorWarInfo=tagGCManorWarInfo()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagGCManorWarInfo.Head.Cmd,m_NAtagGCManorWarInfo.Head.SubCmd))] = m_NAtagGCManorWarInfo
-
-
-#------------------------------------------------------
# AC 06 多倍经验活动信息 #tagGCMultiExpRateInfo
class tagGCMultiExpRateTime(Structure):
@@ -25924,122 +25756,6 @@
m_NAtagMCFestivalLoginAwardState=tagMCFestivalLoginAwardState()
ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCFestivalLoginAwardState.Cmd,m_NAtagMCFestivalLoginAwardState.SubCmd))] = m_NAtagMCFestivalLoginAwardState
-
-
-#------------------------------------------------------
-# AB 02 领地占领每日奖励领奖情况 #tagMCManorDailyAward
-
-class tagMCManorDailyAward(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("AwardRecord", c_int), # 按位表示每个领地领取情况;0-未领,1-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x02
- self.AwardRecord = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorDailyAward)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 02 领地占领每日奖励领奖情况 //tagMCManorDailyAward:
- Cmd:%s,
- SubCmd:%s,
- AwardRecord:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.AwardRecord
- )
- return DumpString
-
-
-m_NAtagMCManorDailyAward=tagMCManorDailyAward()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorDailyAward.Cmd,m_NAtagMCManorDailyAward.SubCmd))] = m_NAtagMCManorDailyAward
-
-
-#------------------------------------------------------
-# AB 01 通知领地战结果 #tagMCManorWarResult
-
-class tagMCManorWarResult(Structure):
- _pack_ = 1
- _fields_ = [
- ("Cmd", c_ubyte),
- ("SubCmd", c_ubyte),
- ("Type", c_ubyte), # 0-普通信息;1-活动结果总结
- ("Result", c_ubyte), # 战盟胜负情况;0-未知,1-胜利,2-失败
- ("JoinTime", c_int), # 活动时总参与时间,毫秒
- ("JoinAward", c_ubyte), # 参与奖状态;0-不可领,1-可领,2-已领
- ]
-
- def __init__(self):
- self.Clear()
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- return
-
- def ReadData(self, stringData, _pos=0, _len=0):
- self.Clear()
- memmove(addressof(self), stringData[_pos:], self.GetLength())
- return _pos + self.GetLength()
-
- def Clear(self):
- self.Cmd = 0xAB
- self.SubCmd = 0x01
- self.Type = 0
- self.Result = 0
- self.JoinTime = 0
- self.JoinAward = 0
- return
-
- def GetLength(self):
- return sizeof(tagMCManorWarResult)
-
- def GetBuffer(self):
- return string_at(addressof(self), self.GetLength())
-
- def OutputString(self):
- DumpString = '''// AB 01 通知领地战结果 //tagMCManorWarResult:
- Cmd:%s,
- SubCmd:%s,
- Type:%d,
- Result:%d,
- JoinTime:%d,
- JoinAward:%d
- '''\
- %(
- self.Cmd,
- self.SubCmd,
- self.Type,
- self.Result,
- self.JoinTime,
- self.JoinAward
- )
- return DumpString
-
-
-m_NAtagMCManorWarResult=tagMCManorWarResult()
-ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCManorWarResult.Cmd,m_NAtagMCManorWarResult.SubCmd))] = m_NAtagMCManorWarResult
#------------------------------------------------------
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintAreaType.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintAreaType.py
index 2184fc6..2971e63 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintAreaType.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/PrintAreaType.py
@@ -31,7 +31,7 @@
IPY_GameWorld.gatSafe:"安全区",
IPY_GameWorld.gatFreePK:"自由PK区",
IPY_GameWorld.gatFamilyPK:"家族区",
- ShareDefine.gatManor:"动态家族PK区"}
+ }
GameWorld.DebugAnswer(curPlayer, "区域%s: %s" % ([posX, posY], printDict.get(areaType, "异常")))
gameMap = GameWorld.GetMap()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index 6d8d8c7..97aaa8b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -1263,9 +1263,6 @@
# @return mapID
# @remarks 函数详细说明.
def __GetFBLogic_MapID(mapID):
- #ManorWarMapIDList = ReadChConfig.GetEvalChConfig("ManorWarMapID")
- #if mapID in ManorWarMapIDList:
- # return 'ManorWar'
mapID = FBCommon.GetRecordMapID(mapID)
for key, value in ChConfig.Def_FB_MapID.items():
if mapID in value:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ManorWar.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ManorWar.py
deleted file mode 100644
index 3cefcc5..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ManorWar.py
+++ /dev/null
@@ -1,1086 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-#-------------------------------------------------------------------------------
-#
-##@package GameWorldLogic.FBProcess.GameLogic_ManorWar
-#
-# @todo:领地争夺战
-# @author hxp
-# @date 2014-04-26
-# @version 2.0
-#
-# 详细描述: 领地争夺战
-# @change: "2014-04-28 18:00" hxp 占领提示增加地图参数
-# @change: "2014-06-04 17:30" hxp 修改夺旗提示信息参数,改为全服提示
-# @change: "2014-06-05 18:00" hxp 修复某些情况下玩家上一场副本记录不会重置问题
-# @change: "2014-08-16 14:00" hxp 活动只在一线进行
-# @change: "2015-03-16 10:00" hxp 修复背包空间不足时领取每日奖励问题
-# @change: "2016-08-10 20:00" hxp 修复最后一分钟补时阶段PK会加PK值的bug
-# @change: "2016-09-02 17:30" hxp 屏蔽领地战期间击杀无惩罚, 由领地旗区域决定
-# @change: "2016-11-03 21:30" hxp 当日战盟变更时领奖判断优化
-# @change: "2016-11-09 21:30" xdh 每次活动重新开始时重置占领权
-# @change: "2016-12-28 00:00" hxp 夺旗增加职位限制;增加战盟等级对应占领个数限制;增加盟主专属翅膀;增加活动中战盟属性奖励;修改每日奖励
-#
-#---------------------------------------------------------------------
-#"""Version = 2016-12-28 00:00"""
-#---------------------------------------------------------------------
-
-import PlayerFamily
-import ChPyNetSendPack
-import IPY_GameWorld
-import NetPackCommon
-import PlayerControl
-import ReadChConfig
-import ShareDefine
-import SkillCommon
-import ItemCommon
-import GameWorld
-import AICommon
-import ChConfig
-import FBCommon
-import ItemControler
-import DataRecordPack
-import GameMap
-import BuffSkill
-
-Key_ManorWarState = ShareDefine.Def_Notify_WorldKey_ManorWar
-
-# 副本相关字典key
-ManorWarDict_StartTick = "ManorWar_StartTick" # 领地战活动开始时间
-ManorWarDict_LastRefreshTick = "ManorWar_LastRefreshTick" # 领地战上次处理刷新时间
-ManorWarDict_LastAwardTick = "ManorWar_LastAwardTick" # 领地战上次战场福利时间
-ManorWarDict_CollectFlagTick = "ManorWar_CollectFlagTick" # 其他战盟拔旗时间
-ManorWarDict_OwnFlagTickTotal = "ManorWar_OwnFlagTickTotal" # 其他战盟拥有战旗时长
-ManorWarDict_GetFlagFamilyID = "ManorWar_GetFlagFamilyID" # 获得战旗的战盟id,不代表获胜战盟
-ManorWarDict_WinFamilyID = "ManorWar_WinFamilyID" # 记录获胜战盟id,可能为0
-ManorWarDict_HadWinResult = "ManorWarDict_HadWinResult" # 记录是否有获胜结果,不代表活动时间结束
-
-
-# 副本玩家字典key
-ManorWarPlayerDict_LastEnterServerDay = 'ManorWarPlayer_LastEnterServerDay' # 玩家上一次进入战场的开服天
-ManorWarPlayerDict_RefreshTick = 'ManorWarPlayer_RefreshTick' # 玩家战场停留刷新Tick
-ManorWarPlayerDict_StayTick = 'ManorWarPlayer_StayTick' # 玩家本战场停留累计Tick
-ManorWarPlayerDict_GetExpTotal = 'ManorWarPlayer_GetExpTotal' # 玩家本战场获得经验累计
-ManorWarPlayerDict_GetZhenQiTotal = 'ManorWarPlayer_GetZhenQiTotal' # 玩家本战场获得真气累计
-
-
-Def_Action_Close = 0 #关闭标识
-Def_Action_Open = 1 #开启标识
-Def_Action_ReadyOver = 98 # 准备结束
-Def_Action_DoOver = 99 #结算标识
-
-
-# 领地战公共配置
-(
-Def_Time_OverTime, # 活动时长
-Def_Time_FlagPrepare, # 占领旗帜需采集时间,秒
-Def_Time_Win, # 获得领地占领权需要的时间,秒
-Def_Time_JoinAward, # 可获得活动结束的战盟参与奖励需要待在战场的时间,秒
-Def_JoinAwardFamilyActiveList, # 参与奖,战盟活动度[胜利方, 失败方]
-Def_JoinAwardExpList, # 参与奖,获得的经验公式[胜利方, 失败方]
-Def_GetFlagNeedMemberLV, # 夺旗所需的职位
-Def_FamilyLVGetFlagCntDict, # 战盟等级对应可占领领地数 {战盟等级:可占领数, ...}
-Def_LeaderWingSkinInfo, # 盟主专属翅膀[所需占领领地数, 翅膀皮肤ID]
-) = range(9)
-
-
-# 领地特殊信息配置
-(
-Def_CollectLVLimit, # 采集战旗玩家等级限制
-Def_CollectFamilyMoneyCost, # 采集战旗消耗的战盟资金
-Def_TimeAward, # 战场定时福利
-) = range(3)
-
-g_winFamilyName = ""
-g_getFlagFamilyName = ""
-
-
-## 获得副本配置
-# @param None
-# @return 配置信息
-def __GetManorWarCfg():
- return ReadChConfig.GetEvalChConfig("ManorWarCfg")
-
-
-## 领地战地图列表
-# @param None
-# @return 配置信息
-def __GetManorWarMapID():
- return ReadChConfig.GetEvalChConfig("ManorWarMapID")
-
-
-## 领地战信息
-# @param mapID: 地图id
-# @return 配置信息
-def __GetManorWarInfo(mapID):
- manorWarInfoDict = ReadChConfig.GetEvalChConfig("ManorWarInfo")
- if mapID not in manorWarInfoDict:
- GameWorld.ErrLog("领地争夺战 mapID=%s not in ManorWarInfo.txt" % mapID)
- return []
-
- return manorWarInfoDict[mapID]
-
-## 领地战是否活动中
-# @param None
-# @return
-def IsManorWarFighting():
- nowState = GameWorld.GetGameWorld().GetGameWorldDictByKey(Key_ManorWarState)
- return nowState in [Def_Action_Open, Def_Action_ReadyOver]
-
-## 是否领地战地图
-# @param None
-# @return
-def IsManorWarMap(curPlayer=None):
- mapID = GameWorld.GetGameWorld().GetMapID()
-
- if mapID not in __GetManorWarMapID():
- return False
-
- # 只在一线活动
- lineID = GameWorld.GetGameWorld().GetLineID()
- if lineID != 0:
- if curPlayer:
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_493562")
- return False
-
- return True
-
-## 领地战活动状态改变
-# @param value: 状态值
-# @param tick
-# @return
-def OnManorWarStateChange(value, tick):
- if not IsManorWarMap():
- return
-
- curState = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ManorWar)
-
- # 本地图已是该值,不处理,其他地图启动会再次同步
- if curState == value:
- GameWorld.DebugLog("OnManorWarStateChange 已是该值,不处理!value=%s" % value)
- return
-
- if value == Def_Action_Open:
- __OnOpen(tick)
- elif value == Def_Action_ReadyOver:
- __OnClose(tick)
- elif value == Def_Action_DoOver:
- __OnDoOver(tick)
-
- return
-
-## 获取上一场获胜战盟id
-# @param None
-# @return
-def __GetLastWinFamilyID():
- mapID = GameWorld.GetGameWorld().GetMapID()
- winFamilyIDKey = ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID
- winFamilyID = GameWorld.GetGameWorld().GetGameWorldDictByKey(winFamilyIDKey)
- return winFamilyID
-
-## 领地战OnDay
-# @param curPlayer
-# @return
-def ManorWarOnDay(curPlayer):
- # 重置每日奖励领取记录
- __UpdDailyAwardRecord(curPlayer, 0)
- return
-
-## 领地战OnLogin
-# @param curPlayer
-# @param tick
-# @return
-def OnLogin(curPlayer, tick):
- CheckManorwarWinLeaderID(curPlayer)
-
- # 更新领地战参与奖
- warServerDayKey = ShareDefine.Def_Notify_WorldKey_ManorWarServerDay
- warServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(warServerDayKey)
-
- joinDay = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinDay)
- # 上次参与时间与上次活动时间不一致,表示上次活动木有参加,重置参与状态
- if joinDay != warServerDay:
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarContinueTick, 0)
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState, 0)
- GameWorld.DebugLog("领地战 OnLogin 上次活动木有参加,重置信息!上次活动天=%s,上次参与天=%s"
- % (warServerDay, joinDay), curPlayer.GetPlayerID())
-
- # 通知领地战结果
- Sync_ManorWarResult(curPlayer, 0)
- Sync_ManorDailyAward(curPlayer)
- return
-
-## 领地战__OnOpen
-# @param tick
-# @return
-def __OnOpen(tick):
- global g_winFamilyName
- global g_getFlagFamilyName
-
- GameWorld.DebugLog("__OnOpen manorWar...")
-
- gameFB = GameWorld.GetGameFB()
-
- # 活动数据初始化
- gameFB.SetGameFBDict(ManorWarDict_StartTick, tick)
- gameFB.SetGameFBDict(ManorWarDict_LastRefreshTick, tick)
- gameFB.SetGameFBDict(ManorWarDict_LastAwardTick, tick)
- gameFB.SetGameFBDict(ManorWarDict_CollectFlagTick, 0)
- gameFB.SetGameFBDict(ManorWarDict_OwnFlagTickTotal, 0)
- gameFB.SetGameFBDict(ManorWarDict_GetFlagFamilyID, 0)
- gameFB.SetGameFBDict(ManorWarDict_WinFamilyID, 0)
- gameFB.SetGameFBDict(ManorWarDict_HadWinResult, 0)
- g_winFamilyName = ""
- g_getFlagFamilyName = ""
- # 更改为每次开始都重置
- # 设置旗帜默认拥有者为上一次活动的获胜战盟
- #lastWinFamilyID = __GetLastWinFamilyID()
- #gameFB.SetGameFBDict(ManorWarDict_GetFlagFamilyID, lastWinFamilyID)
-
- # 地图玩家加入战场
- playerManager = GameWorld.GetMapCopyPlayerManager()
- for index in range(0, playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not curPlayer:
- continue
-
- __DoPlayerJoinWar(curPlayer, tick)
-
- # 注意本活动最好不要用ClearAllPlayerGameFBDict来重置副本玩家字典信息,因为本活动的地图并非独立活动地图
- # 若使用该方式重置,可能会导致其他功能记录的临时记录被清除
- return
-
-
-## 获取领地战剩余时间__GetRemainTick
-# @param tick
-# @return
-def __GetRemainTick(tick):
- gameFB = GameWorld.GetGameFB()
- # 设置地图领地战活动开始时间
- startTick = gameFB.GetGameFBDictByKey(ManorWarDict_StartTick)
- passTick = max(0, tick - startTick)
- remainTick = max(0, __GetManorWarCfg()[Def_Time_OverTime] * 1000 - passTick)
- GameWorld.DebugLog("__GetRemainTick 领地战 remainTick=%s" % remainTick)
- return remainTick
-
-
-## 领地战关闭
-# @param tick
-# @return
-def __OnClose(tick):
- GameWorld.DebugLog("__OnClose manorWar...")
- # 收到GameServer通知活动结束,通知GameServer本领地占领结果
- # 注:此时还无法结算活动,需等各领地通知GameServer后,由GameServer发起结算通知
- __DoWinLogic()
- return
-
-
-##战场结算处理
-# @param tick 时间戳
-# @return 无意义
-def __OnDoOver(tick):
- GameWorld.DebugLog("__OnDoOver manorWar...")
-
- playerManager = GameWorld.GetMapCopyPlayerManager()
- for index in range(0, playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not curPlayer:
- continue
-
- __DelFBGameBuff(curPlayer, [ChConfig.Def_SkillID_GetFlagFamilyBuff])
- CheckManorwarWinLeaderID(curPlayer)
-
- if curPlayer.GetFamilyID() <= 0:
- continue
-
- Sync_ManorWarResult(curPlayer, 1)
-
- return
-
-
-##玩家进入副本
-# @param curPlayer 玩家实例
-# @param tick 时间戳
-# @return 无意义
-# @remarks 玩家进入副本
-def DoEnterFB(curPlayer, tick):
- if not IsManorWarMap():
- return
-
- if not IsManorWarFighting():
- return
-
- GameWorld.DebugLog("领地战 DoEnterFB...")
-
- __DoPlayerJoinWar(curPlayer, tick)
- return
-
-
-##玩家加入战场
-# @param curPlayer
-# @param tick
-# @return
-def __DoPlayerJoinWar(curPlayer, tick):
- GameWorld.DebugLog("领地战 __DoPlayerJoinWar...", curPlayer.GetPlayerID())
- gameFB = GameWorld.GetGameFB()
- # 如果在活动中,且参加活动的天数不等于当前开服天数,则重置更新
- serverDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
- lastJoinDay = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinDay)
- if lastJoinDay != serverDay:
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinDay, serverDay)
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarContinueTick, 0)
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState, 0)
- Sync_ManorWarResult(curPlayer, 0)
-
- GameWorld.DebugLog(" 更新参与天数=%s,上次天=%s, 重置待战场总时间,参与奖状态!"
- % (serverDay, lastJoinDay), curPlayer.GetPlayerID())
-
- lastEnterServerDay = gameFB.GetPlayerGameFBDictByKey(curPlayer.GetPlayerID(),
- ManorWarPlayerDict_LastEnterServerDay)
- if lastEnterServerDay != serverDay:
- gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), ManorWarPlayerDict_LastEnterServerDay, serverDay)
- gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), ManorWarPlayerDict_StayTick, 0)
- gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), ManorWarPlayerDict_GetExpTotal, 0)
- gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), ManorWarPlayerDict_GetZhenQiTotal, 0)
- GameWorld.DebugLog(" 更新进入该战场天数=%s,上次天=%s, 重置玩家该战场相关字典信息!"
- % (serverDay, lastEnterServerDay), curPlayer.GetPlayerID())
-
- curFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
-
- __UpdateGetFlagBuff(curPlayer, curFlagFamilyID, tick)
-
- # 记录玩家进场刷新时间
- gameFB.SetPlayerGameFBDict(curPlayer.GetPlayerID(), ManorWarPlayerDict_RefreshTick, tick)
-
- # 通知活动剩余时间
- curPlayer.Sync_TimeTick(IPY_GameWorld.tttFlagTake, 0, __GetRemainTick(tick), True)
- return
-
-
-##玩家退出
-# @param curPlayer 玩家实例
-# @param tick 时间戳
-# @return 无意义
-def DoExitFB(curPlayer, tick):
- if not IsManorWarMap():
- return False
-
- if not IsManorWarFighting():
- return False
-
- GameWorld.DebugLog("__DoPlayerExitManorWar...")
- __DelFBGameBuff(curPlayer, [ChConfig.Def_SkillID_GetFlagFamilyBuff])
- return
-
-
-##副本定时器
-# @param tick 时间戳
-# @return 返回值无意义
-# @remarks 副本定时器
-def OnProcess(tick):
- if not IsManorWarMap():
- return
-
- if not IsManorWarFighting():
- return
-
- gameFB = GameWorld.GetGameFB()
-
- mapID = GameWorld.GetGameWorld().GetMapID()
- manorWarInfo = __GetManorWarInfo(mapID)
- if not manorWarInfo:
- return
-
- awardInterval, expFormat, zhenQiFormat = manorWarInfo[Def_TimeAward]
-
- refreshInterval = min(awardInterval, 15) * 1000
- lastRefreshTick = gameFB.GetGameFBDictByKey(ManorWarDict_LastRefreshTick)
- if tick - lastRefreshTick < refreshInterval:
- return
-
- gameFB.SetGameFBDict(ManorWarDict_LastRefreshTick, tick)
- #GameWorld.DebugLog("领地战 OnProcess...")
-
- isGiveAward = False
- lastAwardTick = gameFB.GetGameFBDictByKey(ManorWarDict_LastAwardTick)
- if tick - lastAwardTick > awardInterval * 1000:
- awardTick = lastAwardTick + awardInterval * 1000
- #GameWorld.DebugLog(" 战场福利时间:%s" % (awardTick))
- awardTick = min(awardTick, ChConfig.Def_UpperLimit_DWord)
- gameFB.SetGameFBDict(ManorWarDict_LastAwardTick, awardTick)
- isGiveAward = True
-
-
- # 更新玩家战场持续时间
- playerManager = GameWorld.GetMapCopyPlayerManager()
- for index in range(0, playerManager.GetPlayerCount()):
- curPlayer = playerManager.GetPlayerByIndex(index)
- if not curPlayer:
- continue
-
- if curPlayer.GetFamilyID() <= 0:
- continue
-
- __WarPlayerProcess(curPlayer, isGiveAward, expFormat, zhenQiFormat, tick)
-
- # 如果已经有获胜结果,则不需要再处理旗帜占领时间
- if gameFB.GetGameFBDictByKey(ManorWarDict_HadWinResult):
- #GameWorld.DebugLog(" 已经有获胜结果,则不需要再处理旗帜占领时间...")
- return
-
- # 判断占领时间
- curFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
- lastWinFamilyID = __GetLastWinFamilyID()
- # 不是上一次活动胜利战盟才处理占领获胜逻辑
- if curFlagFamilyID > 0 and curFlagFamilyID != lastWinFamilyID:
- collectFlagTick = gameFB.GetGameFBDictByKey(ManorWarDict_CollectFlagTick)
- ownTickTotal = tick - collectFlagTick
- gameFB.SetGameFBDict(ManorWarDict_OwnFlagTickTotal, ownTickTotal)
- #GameWorld.DebugLog(" 战盟id=%s 战旗 采集tick=%s,tick=%s,拥有时长=%s"
- # % (curFlagFamilyID, collectFlagTick, tick, ownTickTotal))
- if ownTickTotal >= __GetManorWarCfg()[Def_Time_Win] * 1000:
- # 执行战盟获胜逻辑
- __DoWinLogic(curFlagFamilyID)
-
- return
-
-
-##战场玩家处理
-# @param curPlayer
-# @param isGiveAward
-# @param expFormat
-# @param zhenQiFormat
-# @param tick
-# @return
-def __WarPlayerProcess(curPlayer, isGiveAward, expFormat, zhenQiFormat, tick):
- gameFB = GameWorld.GetGameFB()
- playerID = curPlayer.GetPlayerID()
-
- refreshTick = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_RefreshTick)
- if refreshTick <= 0:
- #GameWorld.DebugLog("__WarPlayerProcess refreshTick=0", curPlayer.GetPlayerID())
- return
-
- addTick = max(0, tick - refreshTick)
- #GameWorld.DebugLog(" __WarPlayerProcess tick=%s,refreshTick=%s,addTick=%s"
- # % (tick, refreshTick, addTick))
- gameFB.SetPlayerGameFBDict(playerID, ManorWarPlayerDict_RefreshTick, tick)
-
- # 更新本战场累计时间
- curContinueTick = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_StayTick)
- updTick = curContinueTick + addTick
- updTick = min(updTick, ChConfig.Def_UpperLimit_DWord)
- gameFB.SetPlayerGameFBDict(playerID, ManorWarPlayerDict_StayTick, updTick)
- #GameWorld.DebugLog(" 更新待在本战场时间:curTick=%s,addTick=%s,updTick=%s"
- # % (curContinueTick, addTick, updTick), playerID)
-
- # 更新战场总累计时间
- allContinueTick = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarContinueTick)
- updTick = allContinueTick + addTick
- updTick = min(updTick, ChConfig.Def_UpperLimit_DWord)
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarContinueTick, updTick)
- # 超过可领取参与奖时间,设置为可领取
- if updTick >= __GetManorWarCfg()[Def_Time_JoinAward] * 1000 \
- and FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState) != 1:
- #GameWorld.DebugLog(" 设置可领取领地战参与奖!")
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState, 1)
-
- #GameWorld.DebugLog(" 更新待在战场总时间:curTick=%s,addTick=%s,updTick=%s"
- # % (allContinueTick, addTick, updTick), playerID)
-
- # 战场福利
- if not isGiveAward:
- return
-
- reLV = curPlayer.GetLV()
- reExp = PlayerControl.GetPlayerReExp(curPlayer)
- addExp = eval(expFormat)
- addZhenQi = eval(zhenQiFormat)
- playerControl = PlayerControl.PlayerControl(curPlayer)
- playerControl.AddExp(addExp)
- PlayerControl.PlayerAddZhenQi(curPlayer, addZhenQi, True, True, "ManorWar")
-
- totalExp = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_GetExpTotal) + addExp
- totalZhenQi = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_GetZhenQiTotal) + addZhenQi
- gameFB.SetPlayerGameFBDict(playerID, ManorWarPlayerDict_GetExpTotal, totalExp)
- gameFB.SetPlayerGameFBDict(playerID, ManorWarPlayerDict_GetZhenQiTotal, totalZhenQi)
- #GameWorld.DebugLog(" 战场福利reLV=%s,reExp=%s,addExp=%s,addZQ=%s,totalExp=%s,totalZQ=%s"
- # % (reLV, reExp, addExp, addZhenQi, totalExp, totalZhenQi), playerID)
- return
-
-
-##胜利逻辑处理
-# @param winFamilyID 默认id0
-# @return
-def __DoWinLogic(winFamilyID=0):
- global g_winFamilyName
- GameWorld.DebugLog("领地战 __DoWinLogic()...winFamilyID=%s" % winFamilyID)
-
- gameFB = GameWorld.GetGameFB()
-
- if gameFB.GetGameFBDictByKey(ManorWarDict_HadWinResult):
- GameWorld.DebugLog(" 已经有获胜结果,则不需要再处理获胜逻辑...")
- return
-
- getFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
- lastWinFamilyID = __GetLastWinFamilyID()
-
- # 没有获胜战盟
- if winFamilyID <= 0:
- # 如果有上一次活动胜利战盟,则代表防守成功
- if lastWinFamilyID > 0:
- winFamilyID = lastWinFamilyID
-
- # 如果上一次活动没有被占领,则获胜者为当前获得战旗的战盟
- elif getFlagFamilyID > 0:
- winFamilyID = getFlagFamilyID
-
- # 无人占领
- else:
- pass
-
- if winFamilyID == getFlagFamilyID:
- g_winFamilyName = g_getFlagFamilyName
-
-
- gameFB.SetGameFBDict(ManorWarDict_WinFamilyID, winFamilyID)
- gameFB.SetGameFBDict(ManorWarDict_HadWinResult, 1)
-
- # 通知GameServer更新占领权
- mapID = GameWorld.GetGameWorld().GetMapID()
- sendMsg = '%s' % ([mapID, winFamilyID])
- GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'ManorWarWinner',
- sendMsg, len(sendMsg))
- return
-
-
-##获得副本帮助信息, 用于通知阵营比分条
-# @param curPlayer 玩家实例
-# @param tick 时间戳
-# @return 无意义
-# @remarks 用于通知阵营比分条
-def DoFBHelp(curPlayer, tick):
- if not IsManorWarMap():
- return False
-
- if not IsManorWarFighting():
- return False
-
- gameFB = GameWorld.GetGameFB()
-
- playerID = curPlayer.GetPlayerID()
- getExp = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_GetExpTotal)
- getZhenQi = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_GetZhenQiTotal)
- stayTick = gameFB.GetPlayerGameFBDictByKey(playerID, ManorWarPlayerDict_StayTick)
- curFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
- getName = g_getFlagFamilyName if curFlagFamilyID else ''
- winFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_WinFamilyID)
- winName = g_winFamilyName if winFamilyID else ''
- helpDict = {
- 'isOver':gameFB.GetGameFBDictByKey(ManorWarDict_HadWinResult),
- 'winName':winName, 'getName':getName,
- 'ownTick':gameFB.GetGameFBDictByKey(ManorWarDict_OwnFlagTickTotal),
- 'getExp':getExp, 'getZhenQi':getZhenQi, 'stayTick':stayTick
- }
-
- #GameWorld.DebugLog("DoFBHelp manorWar helpDict=%s" % str(helpDict), playerID)
-
- #通知副本帮助界面
- FBCommon.Notify_FBHelp(curPlayer, helpDict)
- return
-
-
-##玩家退出家族处理
-# @param curPlayer 玩家实例
-# @param tick 时间戳
-# @return 返回值无意义
-def OnLeaveFamily(curPlayer, tick):
- GameWorld.DebugLog("OnLeaveFamily manorWar...")
- if not IsManorWarMap():
- return False
-
- if not IsManorWarFighting():
- return False
-
- # 删除夺旗buff
- __DelFBGameBuff(curPlayer, [ChConfig.Def_SkillID_GetFlagFamilyBuff])
- return
-
-## 可否攻击
-def CanManorWarAtk():
- return IsManorWarMap() and IsManorWarFighting()
-
-### 玩家攻击玩家是否有惩罚
-## @param atkPlayer: 攻击方
-## @param defPlayer: 防守方
-## @return 玩家攻击玩家是否有惩罚
-#def DoFBAttackHasPunish(atkPlayer, defPlayer):
-# # 如果在领地战地图,且在活动中,PK无惩罚
-# if IsManorWarMap() and IsManorWarFighting():
-# return False
-#
-# return True
-
-
-##副本中,占领NPC的Loading时间.
-# @param curPlayer 玩家实例
-# @param curNPC NPC实例
-# @return 返回值, Loading时间
-# @remarks 副本中,占领NPC的Loading时间
-def GetFBPrepareTime(curPlayer, curNPC):
- return __GetManorWarCfg()[Def_Time_FlagPrepare] * 1000
-
-
-##是否可以夺旗
-# @param curPlayer 玩家实例
-# @param curNPC NPC实例
-# @param tick 时间戳
-# @return 无意义
-# @remarks
-def OnCanCollect(curPlayer, curNPC, tick):
- if not IsManorWarMap(curPlayer):
- return
-
- # 没有战盟的不能采集
- if curPlayer.GetFamilyID() <= 0:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_273188")
- return
-
- gameFB = GameWorld.GetGameFB()
-
- # 非战斗阶段不可采集
- if not IsManorWarFighting():
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_740826")
- return False
-
- # 如果已经有胜利结果,则不需要再处理
- if gameFB.GetGameFBDictByKey(ManorWarDict_HadWinResult):
- curWinFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_WinFamilyID)
- if curWinFamilyID <= 0 or curWinFamilyID == curPlayer.GetFamilyID():
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_740826")
- else:
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_341290")
- return
-
- # 已获得战旗的战盟不可采集
- getFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
- if getFlagFamilyID == curPlayer.GetFamilyID():
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_976459")
- return False
-
- manorCfg = __GetManorWarCfg()
- # 所需成员职位
- if curPlayer.GetFamilyMemberLV() < manorCfg[Def_GetFlagNeedMemberLV]:
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_221749")
- return False
-
- # 战盟等级可占领数量
- curFamilyGetCnt = 0
- warMapList = __GetManorWarMapID()
- for mapID in warMapList:
- tempFamilyIDKey = ShareDefine.Def_Notify_WorldKey_ManorWarTempFamilyID % mapID
- if GameWorld.GetGameWorld().GetGameWorldDictByKey(tempFamilyIDKey) == curPlayer.GetFamilyID():
- curFamilyGetCnt += 1
- canGetCnt = manorCfg[Def_FamilyLVGetFlagCntDict].get(curPlayer.GetFamilyLV(), 0)
- if canGetCnt <= curFamilyGetCnt:
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_577188", [curPlayer.GetFamilyLV(), canGetCnt])
- return False
-
- mapID = GameWorld.GetGameWorld().GetMapID()
- manorWarInfo = __GetManorWarInfo(mapID)
- if not manorWarInfo:
- return False
-
- # 采集等级
- limitLV = manorWarInfo[Def_CollectLVLimit]
- if limitLV > curPlayer.GetLV():
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_818877", [limitLV])
- return False
-
- # 采集战盟资金消耗
- familyMoneyCost = manorWarInfo[Def_CollectFamilyMoneyCost]
- familyMoney = curPlayer.GetFamilyMoney()
- if familyMoney < familyMoneyCost:
- PlayerControl.NotifyCode(curPlayer, "Collect_liubo_817032", [familyMoneyCost])
- return False
-
- return True
-
-
-##玩家收集成功(塔, 旗)
-# @param curPlayer 玩家实例
-# @param tick 时间戳
-# @return 无意义
-# @remarks
-def OnCollectOK(curPlayer, npcID, tick):
- global g_getFlagFamilyName
-
- if not IsManorWarMap(curPlayer):
- return
-
- GameWorld.DebugLog("ManorWar OnCollectOK...familyID=%s,tick=%s"
- % (curPlayer.GetFamilyID(), tick), curPlayer.GetPlayerID())
-
- # 非战斗阶段不可采集
- if not IsManorWarFighting():
- return False
-
- # 如果已经有结果,则不可采集
- gameFB = GameWorld.GetGameFB()
- if gameFB.GetGameFBDictByKey(ManorWarDict_HadWinResult) > 0:
- return
-
- tagObj = curPlayer.GetActionObj()
-
- if not tagObj:
- return
-
- if tagObj.GetGameObjType() != IPY_GameWorld.gotNPC:
- return
-
- curNPC = GameWorld.GetNPCManager().GetNPCByIndex(tagObj.GetIndex())
- AICommon.ClearPlayerPreparing(curNPC)
-
- curFlagFamilyID = gameFB.GetGameFBDictByKey(ManorWarDict_GetFlagFamilyID)
- nextFlagFamilyID = curPlayer.GetFamilyID()
- if nextFlagFamilyID <= 0:
- return
-
- if curFlagFamilyID == nextFlagFamilyID:
- return
-
- mapID = curPlayer.GetMapID()
- manorWarInfo = __GetManorWarInfo(mapID)
- if not manorWarInfo:
- return False
-
- familyMoneyCost = manorWarInfo[Def_CollectFamilyMoneyCost]
- # 发送请求到世界服务器扣除拔旗消耗[familyID, 消耗资金]
- sendMsg = '%s' % ([mapID, nextFlagFamilyID, familyMoneyCost])
- GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'ManorWarGetFlagCost',
- sendMsg, len(sendMsg))
-
- # 更新战旗归属信息,获得战旗时间,重置拥有战旗时间
- gameFB.SetGameFBDict(ManorWarDict_GetFlagFamilyID, nextFlagFamilyID)
- lastWinFamilyID = __GetLastWinFamilyID()
- if nextFlagFamilyID != lastWinFamilyID:
- gameFB.SetGameFBDict(ManorWarDict_CollectFlagTick, tick)
- gameFB.SetGameFBDict(ManorWarDict_OwnFlagTickTotal, 0)
-
- # 更新战旗buff特效
- for index in range(GameWorld.GetMapCopyPlayerManager().GetPlayerCount()):
- player = GameWorld.GetMapCopyPlayerManager().GetPlayerByIndex(index)
- if not player:
- continue
-
- __UpdateGetFlagBuff(player, nextFlagFamilyID, tick)
-
- # 占领广播
- PlayerControl.WorldNotify(0, "FB_liubo_149184", [curPlayer.GetFamilyName(),
- curPlayer.GetPlayerName(), mapID, curNPC.GetNPCID()])
- GameWorld.DebugLog(" lastWinFamilyID=%s,curFlagFamilyID=%s"
- % (lastWinFamilyID, curFlagFamilyID), curPlayer.GetPlayerID())
- # 给一场活动胜利战盟发频道消息
- if lastWinFamilyID > 0 and nextFlagFamilyID != lastWinFamilyID:
- PlayerControl.FamilyNotify(lastWinFamilyID, "PK_liubo_293296", [mapID])
-
- # 给上一次拔旗战盟发频道消息
- if curFlagFamilyID > 0 and curFlagFamilyID != lastWinFamilyID:
- PlayerControl.FamilyNotify(curFlagFamilyID, "PK_liubo_293296", [mapID])
-
- g_getFlagFamilyName = curPlayer.GetFamilyName()
- return
-
-##更新夺旗buff
-# @param curPlayer
-# @param curFlagFamilyID
-# @param tick
-# @return 无
-def __UpdateGetFlagBuff(curPlayer, curFlagFamilyID, tick):
- # 清特效
- if curPlayer.GetFamilyID() != curFlagFamilyID:
- __DelFBGameBuff(curPlayer, [ChConfig.Def_SkillID_GetFlagFamilyBuff])
-
- # 加特效
- elif curPlayer.GetFamilyID() == curFlagFamilyID and curFlagFamilyID > 0:
- SkillCommon.AddBuffBySkillType(curPlayer, ChConfig.Def_SkillID_GetFlagFamilyBuff, tick)
- return
-
-##删除BUFF
-# @param curPlayer 玩家
-# @param buffList BuffID列表
-# @return 无
-# @remarks 删除BUFF
-def __DelFBGameBuff(curPlayer, buffList):
- tick = GameWorld.GetGameWorld().GetTick()
- for skillTypeID in buffList:
- if not skillTypeID or skillTypeID <= 0:
- continue
-
- BuffSkill.DelBuffBySkillID(curPlayer, skillTypeID, tick)
- return
-
-
-##查找玩家BUFF
-# @param curPlayer 玩家
-# @param skillTypeID BuffID
-# @return BUFF和BUFF管理器
-# @remarks 查找玩家BUFF
-def __FindBuffByID(curPlayer, skillTypeID):
- findSkill = GameWorld.GetGameData().GetSkillBySkillID(skillTypeID)
- if not findSkill:
- GameWorld.ErrLog("数据库中没有找到技能,skillTypeID = %s" % skillTypeID)
- return None, None
-
- buffType = SkillCommon.GetBuffType(findSkill)
- buffTuple = SkillCommon.GetBuffManagerByBuffType(curPlayer, buffType)
- #通过类型获取目标的buff管理器为空,则跳出
- if buffTuple == ():
- return None, None
-
- buffManager = buffTuple[0]
-
- findBuff = buffManager.FindBuff(skillTypeID)
-
- return findBuff, buffManager
-
-###---------------------------------------------------------------------
-##// AB 01 领取领地争夺战参与奖 #tagCMGetManorWarJoinAward
-## 领取领地争夺战参与奖
-# @param None
-# @return None
-def OnGetManorWarJoinAward(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-
- GameWorld.Log("领取领地争夺战参与奖...", curPlayer.GetPlayerID())
-
- if curPlayer.GetFamilyID() <= 0:
- GameWorld.Log(" 玩家无战盟,不可领奖!", curPlayer.GetPlayerID())
- return
-
- if IsManorWarFighting():
- GameWorld.Log(" 活动中,不可领奖!", curPlayer.GetPlayerID())
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_672958")
- return
-
- forbidState = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ForbidFamilyAward)
- if forbidState&pow(2, ShareDefine.Def_FamActivity_Manor):
- GameWorld.Log(" 当日活动开启后变更过战盟,无法领取奖励!", curPlayer.GetPlayerID())
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_193917")
- return
-
- joinAwardState = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState)
- if joinAwardState == 2:
- GameWorld.Log(" 已领取过参与奖!", curPlayer.GetPlayerID())
- return
-
- if joinAwardState == 0:
- GameWorld.Log(" 没有领取参与奖权限!", curPlayer.GetPlayerID())
- return
-
- familyWinState = __GetFamilyWarResult(curPlayer)
- if familyWinState not in [1, 2]:
- GameWorld.Log(" 战盟胜负情况未知!familyID=%s" % curPlayer.GetFamilyID(),
- curPlayer.GetPlayerID())
- return
-
- awardIndex = 0 if familyWinState == 1 else 1 # 胜利0,失败1
-
- reLV = curPlayer.GetLV()
- reExp = PlayerControl.GetPlayerReExp(curPlayer)
-
- familyActiveAwardList = __GetManorWarCfg()[Def_JoinAwardFamilyActiveList]
- addFamilyActive = familyActiveAwardList[awardIndex]
- expAwardList = __GetManorWarCfg()[Def_JoinAwardExpList]
- addExp = eval(expAwardList[awardIndex])
-
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState, 2)
- Sync_ManorWarResult(curPlayer, 0)
-
-# PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, addFamilyActive, True, \
-# PlayerFamily.Def_AddFAVReason_ManorWar)
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_243780", [addFamilyActive])
-
- playerControl = PlayerControl.PlayerControl(curPlayer)
- playerControl.AddExp(addExp)
-
- GameWorld.Log(" 战盟胜负=%s,addFamilyActive=%s,addExp=%s,领奖OK!"
- % (familyWinState, addFamilyActive, addExp), curPlayer.GetPlayerID())
- return
-
-
-##// AB 02 领取领地争夺战每日奖励 #tagCMGetManorWarDailyAward
-## 领取领地争夺战每日奖励
-# @param None
-# @return None
-def OnGetManorWarDailyAward(index, clientData, tick):
- curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-
- awardIndex = clientData.MapID # 奖励索引
- #GameWorld.Log("领取领地争夺战每日奖励, awardIndex=%s" % awardIndex, curPlayer.GetPlayerID())
-
- familyID = curPlayer.GetFamilyID()
- if familyID <= 0:
- GameWorld.Log(" 玩家无战盟,不可领奖!", curPlayer.GetPlayerID())
- return
-
- if IsManorWarFighting():
- GameWorld.Log(" 活动中,不可领奖!", curPlayer.GetPlayerID())
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_672958")
- return
-
- forbidState = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ForbidFamilyAward)
- if forbidState&pow(2, ShareDefine.Def_FamActivity_Manor):
- GameWorld.Log(" 当日活动开启后变更过战盟,无法领取奖励!", curPlayer.GetPlayerID())
- PlayerControl.NotifyCode(curPlayer, "GeRen_liubo_193917")
- return
-
- awardRecord = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarDailyAwardRecord)
- if awardRecord&pow(2, awardIndex):
- GameWorld.Log(" 已领取该领地当日奖励,无法领取!", curPlayer.GetPlayerID())
- PlayerControl.NotifyCode(curPlayer, "PK_liubo_341290")
- return
-
- winCnt = 0 # 占领的领地数
- winLeaderID = 0 # 占领时的盟主ID
- mapIDList = __GetManorWarMapID()
- for mapID in mapIDList:
- winFamilyIDKey = ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID
- if GameWorld.GetGameWorld().GetGameWorldDictByKey(winFamilyIDKey) != familyID:
- continue
- winCnt += 1
- leaderIDKey = ShareDefine.Def_Notify_WorldKey_ManorWarFamilyLeaderID % mapID
- winLeaderID = GameWorld.GetGameWorld().GetGameWorldDictByKey(leaderIDKey)
-
- manorWarDailyAwardDict = ReadChConfig.GetEvalChConfig("ManorWarDailyAward")
- if awardIndex not in manorWarDailyAwardDict:
- GameWorld.ErrLog(" 没有配置领地对应奖励,请检查ManorWarDailyAward.txt!awardIndex=%s"
- % awardIndex, curPlayer.GetPlayerID())
- return
- needWinCnt, awardItemList, leaderItemExList = manorWarDailyAwardDict[awardIndex]
- if needWinCnt > winCnt:
- GameWorld.Log(" 占领领地个数不足, 法领取!needWinCnt(%s) > winCnt(%s),familyID=%s"
- % (needWinCnt, winCnt, familyID), curPlayer.GetPlayerID())
- return
-
- totalItemList = awardItemList
- if curPlayer.GetPlayerID() == winLeaderID:
- totalItemList = awardItemList + leaderItemExList
-
- # 检查背包
- packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem)
- if len(totalItemList) > packSpace:
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
- return
-
- updAwardRecord = awardRecord|pow(2, awardIndex)
- __UpdDailyAwardRecord(curPlayer, updAwardRecord)
-
- # 给奖励
- packIndexList = [IPY_GameWorld.rptItem, IPY_GameWorld.rptAnyWhere]
- for itemID, itemCount, itemBind in totalItemList:
- ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 0, packIndexList)
-
- addDataDict = {"AwardIndex":awardIndex, "WinLeaderID":winLeaderID, "AwardItemList":totalItemList}
- DataRecordPack.DR_FuncGiveItem(curPlayer, "ManorWar", addDataDict)
- return
-
-## 更新每日奖励记录
-# @param curPlayer
-# @param record
-# @return
-def __UpdDailyAwardRecord(curPlayer, record):
- FBCommon.SetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarDailyAwardRecord, record)
-
- # 通知变更
- Sync_ManorDailyAward(curPlayer)
- return
-
-###---------------------------------------------------------------------
-
-## 获取上一场领地战结果
-# @param curPlayer
-# @return
-def __GetFamilyWarResult(curPlayer, resultType=0):
- # 活动中默认为未知
- if (not resultType and IsManorWarFighting()) or curPlayer.GetFamilyID() <= 0:
- return 0
-
- warMapList = __GetManorWarMapID()
- for mapID in warMapList:
- winFamilyIDKey = ShareDefine.Def_Notify_WorldKey_ManorWarWinFamilyID % mapID
- winFamilyID = GameWorld.GetGameWorld().GetGameWorldDictByKey(winFamilyIDKey)
- # 只要有一个战场获胜就算胜利
- if winFamilyID > 0 and winFamilyID == curPlayer.GetFamilyID():
- return 1
-
- return 2
-
-
-## 同步领地战结果
-# @param curPlayer
-# @param resultType 类型0-数据同步,1-活动结算数据,客户端根据此类型决定是否弹界面
-# @return
-def Sync_ManorWarResult(curPlayer, resultType):
- manorWar = ChPyNetSendPack.tagMCManorWarResult()
- manorWar.Clear()
- manorWar.Type = resultType
- manorWar.Result = __GetFamilyWarResult(curPlayer, resultType)
- manorWar.JoinTime = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarContinueTick)
- manorWar.JoinAward = FBCommon.GetFBPDictValue(curPlayer, ChConfig.Def_PDict_ManorWarJoinAwardState)
- NetPackCommon.SendFakePack(curPlayer, manorWar)
- return
-
-
-## 同步领地战每日奖励
-# @param curPlayer
-# @return
-def Sync_ManorDailyAward(curPlayer):
- dailyAward = ChPyNetSendPack.tagMCManorDailyAward()
- dailyAward.Clear()
- dailyAward.AwardRecord = FBCommon.GetFBPDictValue(curPlayer,
- ChConfig.Def_PDict_ManorWarDailyAwardRecord)
- NetPackCommon.SendFakePack(curPlayer, dailyAward)
- return
-
-def CalcManorWarFamilyAttrPrize(curPlayer, allAttrList):
- # 根据上次占领领地数量获得属性奖励加成
- # 只在领地PK区域享受加成,区域已经验证过活动的有效性,这里不再重复验证,只判断是否领地PK区域即可
- if GameMap.GetAreaTypeByMapPos(curPlayer.GetPosX(), curPlayer.GetPosY()) != ShareDefine.gatManor:
- GameWorld.DebugLog("非领地PK区域, 不享受加成!", curPlayer.GetPlayerID())
- return
-
- warMapList = __GetManorWarMapID()
- gameWorldMgr = GameWorld.GetGameWorld()
- lastFamilyWinCntDict = {}
- maxWinCnt = 0
- for mapID in warMapList:
- lastFamilyID = gameWorldMgr.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ManorWarLastFamilyID % mapID)
- if not lastFamilyID:
- continue
- updCnt = lastFamilyWinCntDict.get(lastFamilyID, 0) + 1
- lastFamilyWinCntDict[lastFamilyID] = updCnt
- if updCnt > maxWinCnt:
- maxWinCnt = updCnt
-
- familyID = curPlayer.GetFamilyID()
- curWinCnt = lastFamilyWinCntDict.get(familyID, 0)
- diffValue = maxWinCnt - curWinCnt
- if diffValue <= 0:
- GameWorld.DebugLog("不享受领地战属性加成! 与最多占领个数差值为: %s, familyID=%s,lastFamilyWinCntDict=%s"
- % (diffValue, familyID, lastFamilyWinCntDict), curPlayer.GetPlayerID())
- return
-
- GameWorld.DebugLog("领地战属性加成: diffValue=%s,familyID=%s, %s"
- % (diffValue, familyID, lastFamilyWinCntDict), curPlayer.GetPlayerID())
- attrPrizeDict = ReadChConfig.GetEvalChConfig("ManorWarAttrPrize")
- for attrName, attrFormat in attrPrizeDict.items():
- PlayerControl.CalcAttrDict_Type(attrName, eval(attrFormat), allAttrList)
-
- return
-
-def CheckManorwarWinLeaderID(curPlayer):
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Map/GameMap.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Map/GameMap.py
index d9276f1..5168672 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Map/GameMap.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Map/GameMap.py
@@ -28,8 +28,6 @@
import ChConfig
import AttackCommon
import IPY_GameWorld
-import GameLogic_ManorWar
-import ShareDefine
#---------------------------------------------------------------------
#########################################################
#Python的pos定义
@@ -289,10 +287,6 @@
#家族区
if effectID == ChConfig.Def_AreaType_SkillID_FamilyPK:
areaType = IPY_GameWorld.gatFamilyPK
-
- ##动态开启
- #if effectID == ChConfig.Def_SkillID_ManorFlagArea and GameLogic_ManorWar.CanManorWarAtk():
- # areaType = ShareDefine.gatManor
#普通区
return areaType
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 c193a78..dbd11ea 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -55,7 +55,6 @@
import PlayerWing
import PlayerExpandPackCfgMgr
import PlayerWorldAverageLv
-import GameLogic_ManorWar
import PlayerActivity
import FBCommon
import PlayerViewCacheTube
@@ -1196,8 +1195,6 @@
PyGameData.g_lastExitFBType[fbIndex] = [exitFBType, tick]
#GameWorld.DebugLog("玩家离开副本:fbIndex=%s,exitFBType=%s, %s" % (fbIndex, exitFBType, PyGameData.g_lastExitFBType), curPlayer.GetPlayerID())
FBLogic.DoExitFBLogic(curPlayer, tick)
-
- GameLogic_ManorWar.DoExitFB(curPlayer, tick)
#清空所有不属于自己的光环
#__ClearNoMeAuraBuff(curPlayer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
index d87881c..6848f41 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEventCounter.py
@@ -1356,10 +1356,6 @@
# ReloadModule.DoMapServerScriptReload(value, tick)
#===============================================================================================
- #领地争夺战
- #elif key == ShareDefine.Def_Notify_WorldKey_ManorWar:
- # GameLogic_ManorWar.OnManorWarStateChange(value, tick)
-
# 跨服PK
elif key == ShareDefine.Def_Notify_WorldKey_CrossPKSeasonID:
PlayerCrossRealmPK.OnCrossRealmPKSeasonChange(value)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 287d675..1f0e0dc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -188,13 +188,6 @@
Def_Notify_WorldKey_FamilyActivityDayState = "FamilyActivityDayState" #战盟相关活动今日开启状态, 按位存储代表今日是否开启过
-Def_Notify_WorldKey_ManorWar = 'ManorWar' # 领地争夺活动状态
-Def_Notify_WorldKey_ManorWarWinFamilyID = 'ManorWarWinFamilyID_%s' # 领地争夺获胜战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarFamilyLeaderID = 'ManorWarFamilyLeaderID_%s' # 领地争夺占领的战盟盟主id,%s地图id
-Def_Notify_WorldKey_ManorWarTempFamilyID = 'ManorWarTempFamilyID_%s' # 领地争夺活动中临时占领的战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarLastFamilyID = 'ManorWarLastFamilyID_%s' # 领地争夺上次占领的战盟id,%s地图id
-Def_Notify_WorldKey_ManorWarServerDay = 'ManorWarServerDay' # 领地战活动时的开服天数
-
Def_Notify_WorldKey_LoginAwardStartDate = 'LoginAwardStartDate_%s' # 登录领取奖励开始时间,参数为活动类型
Def_Notify_WorldKey_LoginAwardEndDate = 'LoginAwardEndDate_%s' # 登录领取奖励结束时间,参数为活动类型
@@ -899,12 +892,6 @@
Def_Battle_Query # 查询
) = range(1, 4)
-
-#区域类型定义, 从5开始, C++定义到 IPY_GameWorld.gatMax 4
-(
-gatManor, # 领地区域, 领地战期间可PK, 反之为普通区域
-) = range(5, 6)
-
# 游戏功能ID定义,需确保唯一,与PyGameFuncControl.txt中FuncId一致
GameFuncID_Wing = 3 # 翅膀
GameFuncID_Pet = 6 # 宠物,灵宠
@@ -1041,7 +1028,7 @@
Def_UniversalGameRecType_CrossBossInfo, # 跨服boss信息
Def_UniversalGameRecType_31,
Def_UniversalGameRecType_32,
- Def_UniversalGameRecType_ManorWarInfo, # 领地争夺战占领结果33
+ Def_UniversalGameRecType_33,
Def_UniversalGameRecType_34,
Def_UniversalGameRecType_35,
Def_UniversalGameRecType_36,
@@ -1142,8 +1129,7 @@
#家族相关活动类型定义
Def_FamActivityList = (
Def_FamActivity_War, # 战盟争霸
-Def_FamActivity_Manor, # 领地争夺
-) = range(2)
+) = range(1)
#副本通关类型
(
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/MapBuff_3018.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/MapBuff_3018.py
deleted file mode 100644
index c9d022d..0000000
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/MapBuff_3018.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/python
-# -*- coding: GBK -*-
-#-------------------------------------------------------------------------------
-#
-##@package Skill.GameBuffs.MapBuff_3018
-#
-# @todo:领地区域
-# @author hxp
-# @date 2016-9-2
-# @version 1.0
-#
-# 详细描述: 领地争夺战区域, 仅领地战活动中为合法PK区
-#
-#-------------------------------------------------------------------------------
-#"""Version = 2016-9-2 17:30"""
-#-------------------------------------------------------------------------------
-
-import ShareDefine
-import GameWorld
-import PlayerControl
-
-#导入
-#---------------------------------------------------------------------
-#全局变量
-#---------------------------------------------------------------------
-
-#---------------------------------------------------------------------
-## 区域Buff
-# @param defender Buff承受者
-# @param curEffect 技能效果
-# @return 无意义
-# @remarks 自由PK区域区域Buff
-def OnMapBuff(defender, curEffect):
- GameWorld.DebugLog("MapBuff_3018.OnMapBuff areaType=%s" % defender.GetAreaType())
- defender.SetAreaType(ShareDefine.gatManor)
- # 由于活动中增加了属性奖励,故区域变更时需刷新属性
- PlayerControl.PlayerControl(defender).RefreshPlayerAttrByBuff()
- return
-
-
-def OnMapBuffDel(defender, curEffect):
- GameWorld.DebugLog("MapBuff_3018.OnMapBuffDel areaType=%s" % defender.GetAreaType())
- PlayerControl.PlayerControl(defender).RefreshPlayerAttrState()
- return
-
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
index 7581367..ba1c674 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -27,12 +27,10 @@
import FBLogic
import ItemCommon
import OperControlManager
-import GameLogic_ManorWar
import PetControl
import ReadChConfig
import DataRecordPack
-import ChItem
-import PlayerActivity
+#import ChItem
import ShareDefine
import PlayerGreatMaster
import PlayerHorse
@@ -46,7 +44,7 @@
import SkillShell
import FBCommon
import IpyGameDataPY
-import EquipZhuXian
+#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -2252,14 +2250,6 @@
#GameWorld.Log("删除场景Buff %d"%skillID)
processResult = True
continue
- else:
- # 非领地战期间, 该区域有领地旗buff, 删除区域buff
- if skillID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
- mapBuffManager.DeleteBuffByIndex(index)
- ClearBuffEffectBySkillID(curPlayer, skillID, ownerID, ownerType)
- processResult = True
- #GameWorld.DebugLog("非领地战期间, 该区域有领地旗buff, 删除区域buff")
- continue
index += 1
@@ -2285,10 +2275,7 @@
continue
if findBuff.GetSkill().GetSkillLV() > curSkill.GetSkillLV():
continue
-
- if skillTypeID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
- #GameWorld.DebugLog(" i=%s,effectID=%s,skillID=%s, 该位置有buff, 非领地战期间, 不添加" % (i, effectID, skillTypeID))
- continue
+
#添加场景buff
isOK = BuffSkill.AddBuffNoRefreshState(curPlayer, IPY_GameWorld.bfMapBuff, curSkill, tick)
processResult = processResult or isOK
--
Gitblit v1.8.0