From fd6fd0602d6dffa638bdd9bdcb46445a9430520e Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 23 十月 2018 19:10:36 +0800
Subject: [PATCH] 4283 增加法宝经验物品删除处理
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py | 36 ++++++++++++++++++++----------------
1 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
index 6308b40..0c8873c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -235,15 +235,16 @@
# 当前状态处理
if curState == ShareDefine.Def_PetState_Fight:
- curPet = curPlayer.GetPetMgr().GetFightPet()
- if curPet:
- #已是出战状态, C++召唤坐标和人重叠
- resultPos = GameMap.GetEmptyPlaceInArea(curPlayer.GetPosX(), curPlayer.GetPosY(), ChConfig.Def_SummonAppearDist)
- curPet.ResetPos(resultPos.GetPosX(), resultPos.GetPosY())
- PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveEff(curPet)
- PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveBuff(curPet)
- return
- #PetControl.ReCallFightPet(curPlayer)
+# curPet = curPlayer.GetPetMgr().GetFightPet()
+# if curPet:
+# #已是出战状态, C++召唤坐标和人重叠
+# resultPos = GameMap.GetEmptyPlaceInArea(curPlayer.GetPosX(), curPlayer.GetPosY(), ChConfig.Def_SummonAppearDist)
+# curPet.ResetPos(resultPos.GetPosX(), resultPos.GetPosY())
+# PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveEff(curPet)
+# PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveBuff(curPet)
+# return
+ #18/10/15 因为某种未知原因宠物物品的状态是出战(实际场景中未出战),导致该宠物无法出战,故再次发包出战时,此处不拦!
+ PetControl.ReCallFightPet(curPlayer)
else:
pass
@@ -303,20 +304,20 @@
PetControl.DoLogic_PlayerPetLearnSkillList(rolePet, learnSkillList)
#---刷新属性(不通知)---
- #GameWorld.DebugLog("刷前: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,petFinalHurtPer=%s,grade=%s,qualLV=%s,"
+ #GameWorld.DebugLog("刷前: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,grade=%s,qualLV=%s,"
# % (petStruct.PetID, petStruct.PlayerID, petStruct.NPCID, petStruct.BindType, petStruct.AIMode, petStruct.PetIndex,
- # rolePet.GetBattleValEx5(), rolePet.GetGrade(), rolePet.GetQualityLV()))
+ # rolePet.GetGrade(), rolePet.GetQualityLV()))
petControl = NPCCommon.NPCControl(rolePet)
petControl.RefreshNPCState(canSyncClient=False)
- #GameWorld.DebugLog("刷后: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,petFinalHurtPer=%s,grade=%s,qualLV=%s,"
+ #GameWorld.DebugLog("刷后: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,grade=%s,qualLV=%s,"
# % (petStruct.PetID, petStruct.PlayerID, petStruct.NPCID, petStruct.BindType, petStruct.AIMode, petStruct.PetIndex,
- # rolePet.GetBattleValEx5(), rolePet.GetGrade(), rolePet.GetQualityLV()))
+ # rolePet.GetGrade(), rolePet.GetQualityLV()))
#当前血量(不通知)
PetControl.SetPetHP(rolePet, rolePet.GetMaxHP(), False)
#---通知客户端---
- rolePet.Sync_PetInfo()
+ #rolePet.Sync_PetInfo()
#刷新技能栏
rolePet.Sync_SkillList()
@@ -455,7 +456,8 @@
ItemCommon.ReduceItem(curPlayer, itemPack, itemList, needItemCnt, False, ChConfig.ItemDel_Pet)
EventShell.EventRespons_OnActivatePet(curPlayer, petNPCID)
- PlayerControl.WorldNotify(0, 'GetPet', [curPlayer.GetName(), petNPCID])
+ sysMark = ipyData.GetUnlockSys() or 'GetPet'
+ PlayerControl.WorldNotify(0, sysMark, [curPlayer.GetName(), petNPCID])
rolePet = curPlayer.GetPetMgr().GetFightPet()
if not rolePet:
petItemIndex = GetPetDataItemIndexByNPCID(curPlayer, petNPCID)
@@ -653,6 +655,7 @@
petIpyData = GetPetIpydata(petNPCID)
petSkillList = petIpyData.GetSkillID()
petSkillUnLockList = petIpyData.GetSkillUnLock()
+ sysMarkList = petIpyData.GetSkillUnLockSys()
learnSkillList = []
for i, skillid in enumerate(petSkillList):
limitPetClassLV = petSkillUnLockList[i] # 学习此技能所需宠物阶级
@@ -668,7 +671,8 @@
#被动技能不学
learnSkillList.append(skillid)
#广播
- PlayerControl.WorldNotify(0, 'PetUpLv', [playerName, petNPCID, limitPetClassLV, skillid])
+ sysMark = sysMarkList[i] if i < len(sysMarkList) else 'PetUpLv'
+ PlayerControl.WorldNotify(0, sysMark, [playerName, petNPCID, limitPetClassLV, skillid])
if not learnSkillList and updClassLV + 1 == maxClassLV:
PlayerControl.WorldNotify(0, 'PetUpLvMax', [playerName, petNPCID])
--
Gitblit v1.8.0