From 4d05b52d78b592673bd93dd29f1668147cf89039 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 16 十月 2018 15:04:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 6 ++++--
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 2 ++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py | 14 +++++++++++++-
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py | 12 ++++++++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py | 2 +-
5 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
index d5a9976..794ca6f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldFamilyWar.py
@@ -295,7 +295,7 @@
# 下周分组定级
elif stateValue == FamilyWarState_NextWeekGroupRank:
pass
- #废弃该阶段逻辑
+ #废弃该阶段逻辑,因为不再支持单次活动周期跨天,所以改为过天时触发检查一下即可
#DoLogicFamilyWar_NextWeekGroupRank()
else:
@@ -729,6 +729,10 @@
return
+def DoOnDay():
+ DoLogicFamilyWar_NextWeekGroupRank()
+ return
+
def DoLogicFamilyWar_NextWeekGroupRank():
''' 下周分组定级
最低级别组: 不设置联赛级别, 下周最低级别组名单由其他无联赛级别仙盟总战力排行得到
@@ -737,7 +741,7 @@
# 这里补触发一次,防止总结算的时候服务器异常没有成功结算
# 或 次轮没有比赛导致没有结算(次轮的仙盟都解散了才可能出现,一般不可能出现,可不考虑,如果真出现了,会在周六凌晨结算)
__DoLogicFamilyWarAllOver()
- PlayerFamily.UpdFamilyWarRank()
+ #UpdFamilyWarRank()
return
def UpdFamilyWarRank():
@@ -790,6 +794,10 @@
warBatRecList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_FamilyWarBattle)
if not warBatRecList.Count():
GameWorld.Log("没有仙盟联赛比赛记录,不需要结算!")
+ curRoundNum = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round)
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_Round, 0) # 重置对战轮次
+ PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_FamilyWar_AllOver, 1) # 设置已经处理过总结算
+ GameWorld.Log("重置轮次信息,设置已结算!curRoundNum=%s" % curRoundNum)
return
for i in xrange(warBatRecList.Count()):
recData = warBatRecList.At(i)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
index 38bea13..f4d004e 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py
@@ -172,6 +172,8 @@
PlayerGeTui.ClearFMTGeTuiLimit()
import PlayerBourse
PlayerBourse.OverTimeItemsDeal()
+ # 仙盟联赛
+ GameWorldFamilyWar.DoOnDay()
return
def OnDayEx(tick):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
index afd47db..7553fae 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -433,6 +433,7 @@
## 计算装备对基本属性的改变
# @return None
def __CalcEquips_Effect(curPlayer):
+ baseEquipAttrDict = {}
baseEquipAttr_Weapon = [{} for _ in range(4)] # 武器基础, 物品表装备基础效果属性
baseEquipAttr_Armor = [{} for _ in range(4)] # 防具基础, 物品表装备基础效果属性
baseEquipAttr_Relics = [{} for _ in range(4)] # 圣器基础, 物品表装备基础效果属性
@@ -498,7 +499,8 @@
#其他非基础部位的
else:
PlayerControl.CalcAttrDict_Type(effectID, effectValue, allAttrListEquip)
-
+ baseEquipAttrDict[effectID] = baseEquipAttrDict.get(effectID, 0) + effectValue
+
groupType = GetEquipPartSuiteGroupType(curPlayer, equipIndex)
for suiteType in range(1, maxSuiteType+1):
suitelv = GetEquipPartSuiteLV(curPlayer, equipIndex, suiteType)
@@ -539,6 +541,16 @@
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Suit, allAttrListSuit)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Wash, allAttrListWash)
PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_EquipOutOfPrint, allAttrListOutOfPrintEquip)
+
+ #计算装备基础属性附加战力
+ LV = curPlayer.GetLV()
+ Atk = baseEquipAttrDict.get(ShareDefine.Def_Effect_Atk, 0)
+ MinAtk = baseEquipAttrDict.get(ShareDefine.Def_Effect_MinAtk, 0) + Atk
+ MaxAtk = baseEquipAttrDict.get(ShareDefine.Def_Effect_MaxAtk, 0) + Atk
+ MaxHP = baseEquipAttrDict.get(ShareDefine.Def_Effect_MaxHP, 0)
+ Def = baseEquipAttrDict.get(ShareDefine.Def_Effect_Def, 0)
+ fightPowerEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 2))
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Equip, fightPowerEx)
return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
index 5d48d00..3860726 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerState.py
@@ -462,7 +462,7 @@
relation = BaseAttack.GetTagRelation(curPlayer, curTag, None, tick)
#判断是否敌对关系
if relation[0] != ChConfig.Type_Relation_Enemy :
- AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
+ #AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
return
return curTag
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 730bdcd..d1bdcc9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -1501,7 +1501,8 @@
if relation[0] == ChConfig.Type_Relation_Enemy :
return True
- AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
+ if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_FbSkill:
+ AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
return False
##玩家释放有目标技能, 检查目标对象是否符合要求, 可攻击怪物
@@ -1534,7 +1535,8 @@
if relation[0] == ChConfig.Type_Relation_Friend :
return True
- AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
+ if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_FbSkill:
+ AttackCommon.PlayerAttackFailSysMessanage(curPlayer, relation[1])
return False
#---------------------------------------------------------------------
--
Gitblit v1.8.0