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