From 5c93a8c5c117d040ae74bc299fa1ea3e619b864d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 04 十二月 2019 15:19:18 +0800
Subject: [PATCH] 8342 强化大师特效
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py | 4 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py | 104 ++++++++++++++++++++++++++++++---------------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 6 +-
4 files changed, 67 insertions(+), 49 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
index 6debfb6..d50ed8e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
@@ -274,7 +274,7 @@
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipPartMasterPlusLV % classLV, actMasterPlusLV)
SyncEquipMasterPlusLVInfo(curPlayer, classLV)
-
+ ChEquip.ChangeEquipEffectByPlusMaster(curPlayer, classLV)
#刷新所有属性
DoLogic_OnEquipPartStarLVChange(curPlayer, packType, classLV)
return
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 56b29c2..777be72 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -189,9 +189,9 @@
#Operate_EquipWash.OnEquipWashLogin(curPlayer)
#装备位宝石镶嵌通知
#Operate_EquipStone.OnLogin(curPlayer)
- if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_LingGenShow):
- GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_LingGenShow, 1)
- ChangeEquipfacadeByLingGen(curPlayer)
+# if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_LingGenShow):
+# GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_LingGenShow, 1)
+# ChangeEquipfacadeByLingGen(curPlayer)
ePartStarLVPack = ChPyNetSendPack.tagMCEquipPartStarInfo() # A3 B1 装备部位星数信息 #tagMCEquipPartStarInfo
ePartPlusLVPack = ChPyNetSendPack.tagMCEquipPartPlusInfo() # A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
@@ -1315,54 +1315,72 @@
if oldEquipShowSwitch == updEquipShowSwitch:
return
curPlayer.SetEquipShowSwitch(updEquipShowSwitch)
+ ChangeEquipEffectByPlusMaster(curPlayer, classLV)
return True
+#!!! 特效根据灵根品级变化改成根据强化大师变化
def ChangeEquipfacadeByLingGen(curPlayer):
- ## 灵根品级变化影响角色外观显示 灵根特效表key * 1000+第几套*10+是否有套装
- pointValueInfo = [[ShareDefine.Def_Effect_Metal,PlayerControl.GetMetalQualityLV(curPlayer)],
- [ShareDefine.Def_Effect_Wood,PlayerControl.GetWoodQualityLV(curPlayer)],
- [ShareDefine.Def_Effect_Water,PlayerControl.GetWaterQualityLV(curPlayer)],
- [ShareDefine.Def_Effect_Fire,PlayerControl.GetFireQualityLV(curPlayer)],
- [ShareDefine.Def_Effect_Earth,PlayerControl.GetEarthQualityLV(curPlayer)],
- ]
- g_skillElementCntDict = {} #灵根对应使用专精技能数量
- skillManager = curPlayer.GetSkillManager()
- gameData = GameWorld.GetGameData()
- for i in xrange(skillManager.GetSkillCount()):
- curSkill = skillManager.GetSkillByIndex(i)
- skillID = curSkill.GetSkillTypeID()
- curSelectSkillID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementID % skillID)
- if not curSelectSkillID:
- continue
- elementSkillData = gameData.GetSkillBySkillID(curSelectSkillID)
- if not elementSkillData:
- continue
- skillElementType = SkillShell.GetSkillElementType(elementSkillData)
- g_skillElementCntDict[skillElementType] = g_skillElementCntDict.get(skillElementType, 0) + 1
+# ## 灵根品级变化影响角色外观显示 灵根特效表key * 1000+第几套*10+是否有套装
+# pointValueInfo = [[ShareDefine.Def_Effect_Metal,PlayerControl.GetMetalQualityLV(curPlayer)],
+# [ShareDefine.Def_Effect_Wood,PlayerControl.GetWoodQualityLV(curPlayer)],
+# [ShareDefine.Def_Effect_Water,PlayerControl.GetWaterQualityLV(curPlayer)],
+# [ShareDefine.Def_Effect_Fire,PlayerControl.GetFireQualityLV(curPlayer)],
+# [ShareDefine.Def_Effect_Earth,PlayerControl.GetEarthQualityLV(curPlayer)],
+# ]
+# g_skillElementCntDict = {} #灵根对应使用专精技能数量
+# skillManager = curPlayer.GetSkillManager()
+# gameData = GameWorld.GetGameData()
+# for i in xrange(skillManager.GetSkillCount()):
+# curSkill = skillManager.GetSkillByIndex(i)
+# skillID = curSkill.GetSkillTypeID()
+# curSelectSkillID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementID % skillID)
+# if not curSelectSkillID:
+# continue
+# elementSkillData = gameData.GetSkillBySkillID(curSelectSkillID)
+# if not elementSkillData:
+# continue
+# skillElementType = SkillShell.GetSkillElementType(elementSkillData)
+# g_skillElementCntDict[skillElementType] = g_skillElementCntDict.get(skillElementType, 0) + 1
+#
+# showPointID, showQualityLV = 0, 0
+# for pointID, qualityLV in pointValueInfo:
+# if qualityLV > showQualityLV:
+# showQualityLV = qualityLV
+# showPointID = pointID
+# elif showQualityLV and qualityLV == showQualityLV:
+# #比谁的专精技能数量多
+# if g_skillElementCntDict.get(pointID, 0) > g_skillElementCntDict.get(showPointID, 0):
+# showQualityLV = qualityLV
+# showPointID = pointID
+# effectID = 0
+# if showPointID:
+# ipyData = IpyGameDataPY.GetIpyGameData('LingGenEffect', showPointID, showQualityLV)
+# if not ipyData:
+# return
+# effectID = ipyData.GetID()
+# oldEquipShowSwitch = curPlayer.GetEquipShowSwitch()
+# updEquipShowSwitch = oldEquipShowSwitch % 1000 + oldEquipShowSwitch / 1000000 * 1000000+ 1000 * effectID
+# GameWorld.DebugLog('灵根品级变化影响角色外观显示g_skillElementCntDict=%s,oldEquipShowSwitch=%s,updEquipShowSwitch=%s'%
+# (g_skillElementCntDict, oldEquipShowSwitch, updEquipShowSwitch))
+# if oldEquipShowSwitch != updEquipShowSwitch:
+# curPlayer.SetEquipShowSwitch(updEquipShowSwitch)
+ return
+def ChangeEquipEffectByPlusMaster(curPlayer, classLV):
+ # 强化大师特效
+ if (classLV != GetEquipFacadeClassLV(curPlayer)):
+ return
- showPointID, showQualityLV = 0, 0
- for pointID, qualityLV in pointValueInfo:
- if qualityLV > showQualityLV:
- showQualityLV = qualityLV
- showPointID = pointID
- elif showQualityLV and qualityLV == showQualityLV:
- #比谁的专精技能数量多
- if g_skillElementCntDict.get(pointID, 0) > g_skillElementCntDict.get(showPointID, 0):
- showQualityLV = qualityLV
- showPointID = pointID
- effectID = 0
- if showPointID:
- ipyData = IpyGameDataPY.GetIpyGameData('LingGenEffect', showPointID, showQualityLV)
- if not ipyData:
- return
- effectID = ipyData.GetID()
+ masterPlusLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipPartMasterPlusLV % classLV)
+ ## 强化大师影响角色外观显示 强化大师等级 * 1000+第几套*10+是否有套装
oldEquipShowSwitch = curPlayer.GetEquipShowSwitch()
- updEquipShowSwitch = oldEquipShowSwitch % 1000 + oldEquipShowSwitch / 1000000 * 1000000+ 1000 * effectID
- GameWorld.DebugLog('灵根品级变化影响角色外观显示g_skillElementCntDict=%s,oldEquipShowSwitch=%s,updEquipShowSwitch=%s'%
- (g_skillElementCntDict, oldEquipShowSwitch, updEquipShowSwitch))
+ updEquipShowSwitch = oldEquipShowSwitch % 1000 + oldEquipShowSwitch / 1000000 * 1000000+ 1000 * masterPlusLV
+ GameWorld.DebugLog('强化大师影变化影响角色外观显示,oldEquipShowSwitch=%s,updEquipShowSwitch=%s'%
+ (oldEquipShowSwitch, updEquipShowSwitch))
if oldEquipShowSwitch != updEquipShowSwitch:
curPlayer.SetEquipShowSwitch(updEquipShowSwitch)
return
+
+
def ChangeEquipfacadeByHorsePetSkin(curPlayer, skinType, skinIndex):
##骑宠觉醒外观变更 灵宠外观索引*10000000+坐骑外观索引*1000000+灵根特效表key * 1000+第几套*10+是否有套装
oldEquipShowSwitch = curPlayer.GetEquipShowSwitch()
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 afc5eab..4a78d00 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -4674,9 +4674,9 @@
if beforePointList[i] != afterPointList[i]:
diffPointAttrList.append(attrID)
SkillShell.RefreshElementSkillByAttr(curPlayer, diffPointAttrList)
- if hasChange_Qualitylv:
- #灵根品级变化处理
- ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
+# if hasChange_Qualitylv:
+# #灵根品级变化处理
+# ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
# 更新开服活动灵根数据
OpenServerCampaign.UpdOpenServerCampaignLingGenData(curPlayer)
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 972f097..16e804c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -2134,7 +2134,7 @@
return
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, selectSkillID)
- ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
+ #ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
if curElementSkillID and curElementSkillID != selectSkillID:
#原技能删除
skillManager.DeleteSkillBySkillTypeID(curElementSkillID)
@@ -2193,7 +2193,7 @@
ipyData = IpyGameDataPY.GetIpyGameData('SkillElement', skillTypeID)
mainSkillID = ipyData.GetMainSkillID()
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, 0)
- ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
+ #ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
isNotify = True
else:
for _ in xrange(updSkillLV-curSkillLV):
--
Gitblit v1.8.0