From c06d47322d2892a440dc11b94f06950da762e5bd Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期五, 21 六月 2019 19:41:43 +0800
Subject: [PATCH] 7413 宗门试炼评级通知
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py | 55 +++++++++++++++----------------------------------------
1 files changed, 15 insertions(+), 40 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
index 5307f32..6b72837 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
@@ -28,7 +28,6 @@
import IPY_GameWorld
import ChConfig
import GameWorld
-import ReadChConfig
import BuffSkill
import SkillShell
import PlayerPet
@@ -47,6 +46,7 @@
import BaseAttack
import PassiveBuffEffMng
import ChNetSendPack
+import IpyGameDataPY
#---------------------------------------------------------------------
DefPetRebornHPRate = 100 # 宠物死亡复活血量百分比
@@ -240,7 +240,7 @@
# @return 返回值无意义
# @remarks 初始化宠物属性
def InitRolePet(rolePet, canSyncClient=True):
- #---初始化时钟,致命一击倍率---
+ #---初始化时钟---
NPCCommon.InitNPC(rolePet)
#---初始化仇恨列表---
@@ -461,7 +461,7 @@
# @return BOOL 是否可出战
# @remarks 检查当前指定宠物是否可出战
def CheckPetCanFight(curPlayer, curPetObj):
- if not GameWorld.GetMap().GetMapCanOutPet():
+ if not GetMapCanOutPet(curPlayer):
#Pet_liubo_314885 此地图禁止宠物
PlayerControl.NotifyCode(curPlayer, "Pet_liubo_314885")
return False
@@ -534,41 +534,6 @@
__RefreshAndSyncPetInfo(rolePet)
#自动出战宠物
__AutoSummonPet_OnLogin(curPlayer, rolePet)
-
- if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Pet):
- GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_Pet, 1)
- #等级不能超上限,技能删了重新学
-
- petPackIndex = ShareDefine.rptPet
- petPack = curPlayer.GetItemManager().GetPack(petPackIndex)
- for i in range(petPack.GetCount()):
- petItem = petPack.GetAt(i)
- if petItem.IsEmpty():
- continue
- petItemNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
- curClassLV = petItem.GetUserAttr(ShareDefine.Def_IudetPet_ClassLV) + 1
- petIpyData = PlayerPet.GetPetIpydata(petItemNPCID)
- if not petIpyData:
- continue
- maxLV = petIpyData.GetMaxRank()
- if curClassLV > maxLV:
- petItem.SetUserAttr(ShareDefine.Def_IudetPet_ClassLV, max(0, maxLV - 1))
- petItem.SetUserAttr(ShareDefine.Def_IudetPet_Exp, 0)
- GameWorld.Log(' 老号宠物等级超过上限,宠物ID=%s,原LV=%s,重置为=%s'%(petItemNPCID, curClassLV, maxLV))
- curClassLV = maxLV
- petItem.ClearUserAttr(ShareDefine.Def_IudetPet_Skill)
- petSkillList = petIpyData.GetSkillID()
- petSkillUnLockList = petIpyData.GetSkillUnLock()
- for i, skillid in enumerate(petSkillList):
- limitPetClassLV = petSkillUnLockList[i] # 学习此技能所需宠物阶级
- if curClassLV < limitPetClassLV:
- continue
- petItem.AddUserAttr(ShareDefine.Def_IudetPet_Skill, skillid)
- if ReCallFightPet(curPlayer):
- PlayerPet.AutoSummonPet(curPlayer)
- # 重刷战力
- PlayerPet.SetPetSkillFightPower(curPlayer) # 技能战力重算
- PlayerPet.RefreshPetItemAddAttr(curPlayer, True)
return
#---------------------------------------------------------------------
@@ -582,7 +547,7 @@
if not rolePet.GetIsBattle():
return
- if not GameWorld.GetMap().GetMapCanOutPet():
+ if not GetMapCanOutPet(curPlayer):
#此地图禁止宠物
return
#召唤宠物出战
@@ -614,7 +579,7 @@
# @remarks
def DoLogic_PetLoadMapOK(curPlayer):
- if GameWorld.GetMap().GetMapCanOutPet():
+ if GetMapCanOutPet(curPlayer):
#此地图宠物可以上
PlayerPet.AutoSummonPet(curPlayer)
return
@@ -627,6 +592,16 @@
PlayerControl.NotifyCode(curPlayer, "Pet_liubo_314885")
return
+def GetMapCanOutPet(curPlayer):
+ ## 检查本地图可否出战宠物,支持前端自定义场景
+ customMapID = PlayerControl.GetCustomMapID(curPlayer)
+ if customMapID:
+ ipyMapData = IpyGameDataPY.GetIpyGameData("ChinMap", customMapID)
+ canOutPet = True if ipyMapData and ipyMapData.GetCanOutPet() else False
+ else:
+ canOutPet = GameWorld.GetMap().GetMapCanOutPet()
+ return canOutPet
+
#---------------------------------------------------------------------
## 刷新宠物信息并通知客户端
# @param rolePet 宠物实例
--
Gitblit v1.8.0