From 97cbea04b641f367c24096e69dfe058baf80b150 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 05 十二月 2018 15:42:59 +0800
Subject: [PATCH] 5242 【后端】【1.3.100】仙盟宴会答题修改为只能在宴会地图内才能答题
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
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 e8e6578..4720867 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -162,7 +162,7 @@
# notifyCnt 代表广播周围玩家的数量,0为全部广播 -1为指定列表随机, 其他数字为指定指
def PyNotifyAll(curPlayer, sendPack, notifySelf=True, notifyCnt=0):
if notifyCnt == -1:
- notifyCnt = random.choice((10, 10, 15, 15, 20, 25, 30, 50))
+ notifyCnt = random.choice((6, 6, 10, 10, 20))
#GameWorld.DebugLog("PyNotifyAll %s"%notifyCnt)
curPlayer.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength(), notifySelf, notifyCnt)
@@ -1426,7 +1426,8 @@
FBLogic.DoPlayerChangeMapLogic(curPlayer, tick)
#summonList = list()
-
+ #召回宠物
+ PetControl.ReCallFightPet(curPlayer)
#1. 删除自己不需要的召唤兽(火焰之灵等)
#必须用while, 因为在循环中要删除
# 召唤兽切地图不带过去
@@ -3851,6 +3852,7 @@
# 记录玩家升级
DataRecordPack.DR_PlayerUpgrade(curPlayer, curPlayer.GetLV(), GetPlayerTotalExp(curPlayer), lvUpNeedExp)
+ DataRecordPack.Cache_FightPowerChangeInfo(curPlayer, ChConfig.PowerDownType_LVUP, {'lv':curLV})
self.__DoLVUPAddPoint() # 升级加点
#self.__DoLvUpAddSkill() # 升级加技能
@@ -3916,6 +3918,10 @@
# 升级需要执行的游戏功能处理
GameFuncComm.DoFuncOpenLogic(curPlayer)
ChEquip.CalcEquips_OutOfPrint(curPlayer) # 缓存绝版属性
+ if aftLV%10 == 0:
+ # 控制下刷新次数
+ PlayerPet.CalcPetItemAddPlayerAttr(curPlayer) # 宠物有随等级变化的技能
+
self.RefreshPlayerAttrState(billboardFunc=PlayerBillboard.UpdatePlayerLVBillboard)
#放在功能开启后面
PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer)
@@ -4437,7 +4443,14 @@
curPlayer = self.__Player
if GetProDefHPPer(curPlayer) == 0:
return
- SetMaxProDef(curPlayer, curPlayer.GetMaxHP()*GetProDefHPPer(curPlayer)/ChConfig.Def_MaxRateValue)
+ maxHP = curPlayer.GetMaxHP()
+ proDefPer = GetProDefHPPer(curPlayer)
+
+ #获取策划配置的表格
+ GodWeapon4 = IpyGameDataPY.GetFuncCfg("GodWeapon4", 2)
+ maxProDef = eval(FormulaControl.GetCompileFormula("GodWeapon4", GodWeapon4))
+
+ SetMaxProDef(curPlayer, int(maxProDef))
afterMaxProDef = GetMaxProDef(curPlayer)
addValue = max(0, afterMaxProDef - beforeMaxProDef)
@@ -4728,14 +4741,16 @@
mfpInfo.MFPCnt = len(mfpDataList)
mfpInfo.MFPList = mfpDataList
NetPackCommon.SendFakePack(curPlayer, mfpInfo)
-
+ beforeFightPower = curPlayer.GetFightPower()
curPlayer.SetFightPower(totalFightPower, False)
+ if totalFightPower < beforeFightPower:
+ DataRecordPack.DR_FightPowerChangeInfo(curPlayer, beforeFightPower)
highestFightPower = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FightPower_Highest, 0,
ChConfig.Def_PDictType_FightPower)
if totalFightPower > highestFightPower:
NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPower_Highest, totalFightPower,
ChConfig.Def_PDictType_FightPower)
- GameWorld.DebugLog("总战力: %s, 历史最高战力: %s" % (totalFightPower, highestFightPower))
+ GameWorld.DebugLog("总战力: %s, 历史最高战力: %s, beforeFightPower=%s" % (totalFightPower, highestFightPower, beforeFightPower))
PlayerBillboard.UpdatePlayerFPTotalBillboard(curPlayer)
# 记录开服活动数据
OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_FightPower, totalFightPower)
@@ -5705,6 +5720,7 @@
## 玩家今日已获得仙缘币
def GetTodayXianyuanCoin(curPlayer): return curPlayer.GetExAttr11()
+def SetTodayXianyuanCoin(curPlayer, value): return curPlayer.SetExAttr11(value, False, True)
def AddTodayXianyuanCoin(curPlayer, addValue): return curPlayer.SetExAttr11(curPlayer.GetExAttr11() + addValue, False, True)
##VIP到期时间, 需要同步GameServer
--
Gitblit v1.8.0