From 3ac863ebc8f55dd0838b4ee2f9d0c39234af25eb Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 09 二月 2026 10:46:00 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(修改游历体力为DWORD;红颜时装升级改为使用背包物品;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py |  130 ++++++++++++++-----------------------------
 1 files changed, 42 insertions(+), 88 deletions(-)

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 ec02178..1d388c0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -27,13 +27,9 @@
 import FBLogic
 import ItemCommon
 import OperControlManager
-import PetControl
-import ReadChConfig
 import DataRecordPack
 #import ChItem
 import ShareDefine
-import PlayerGreatMaster
-import PlayerHorse
 import GameObj
 import random
 import NetPackCommon
@@ -41,12 +37,10 @@
 import GameMap
 import collections
 import PassiveBuffEffMng
-import ChEquip
 import SkillShell
 import FBCommon
 import IpyGameDataPY
 import PyGameData
-import TurnAttack
 #---------------------------------------------------------------------
 GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
 GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -623,16 +617,6 @@
 def IsToPetOwnerSkill(curNPC, skillTag):
     if skillTag != ChConfig.Def_UseSkillTag_PetMaster:
         return False
-
-    if not PetControl.IsPet(curNPC):
-        GameWorld.ErrLog("NPCID %s AI %s 非宠物,无法获得主人释放技能"%(curNPC.GetNPCID(), curNPC.GetAIType()))
-        return False
-    
-    petOwner = PetControl.GetPetOwner(curNPC)
-    
-    if petOwner == None:
-        GameWorld.ErrLog("宠物(%s)对主人释放技能,找不到主人"%curNPC.GetRolePet().PetID)
-        return False
         
     return True
 
@@ -709,29 +693,29 @@
             continue
         npcObj.StopMove()
         npcObj.ChangePos(npcPos.PosX, npcPos.PosY)
-        BeatBackMove(curPlayer, npcObj)
+        #BeatBackMove(curPlayer, npcObj)
     return
 
-# 针对NPC被推出远距离一直卡墙角问题,法宝挑战副本特殊处理为超过4米 NPC自动回退一些
-def BeatBackMove(curPlayer, npcObj):
-    if GameWorld.GetMap().GetMapID() != ChConfig.Def_FBMapID_MagicWeapon:
-        return
-    if npcObj.GetCurAction() == IPY_GameWorld.laNPCSkillWarning:
-        return
-    
-    posMap = npcObj.GetRefreshPosAt(npcObj.GetCurRefreshPointIndex())
-    if not posMap:
-        return
-    #范围校验
-    posMapX = posMap.GetPosX()
-    posMapY = posMap.GetPosY()
-    if GameWorld.GetDist(npcObj.GetPosX(), npcObj.GetPosY(), posMapX, posMapY) < 8:
-        # 单次位移不超过5米
-        return
-    npcControl = NPCCommon.NPCControl(npcObj)
-    moveDestX, moveDestY = npcControl.GetMoveNearPosEx(posMapX, posMapY, 5)
-    npcObj.Move(moveDestX, moveDestY)
-    return
+## 针对NPC被推出远距离一直卡墙角问题,法宝挑战副本特殊处理为超过4米 NPC自动回退一些
+#def BeatBackMove(curPlayer, npcObj):
+#    if GameWorld.GetMap().GetMapID() != ChConfig.Def_FBMapID_MagicWeapon:
+#        return
+#    if npcObj.GetCurAction() == IPY_GameWorld.laNPCSkillWarning:
+#        return
+#    
+#    posMap = npcObj.GetRefreshPosAt(npcObj.GetCurRefreshPointIndex())
+#    if not posMap:
+#        return
+#    #范围校验
+#    posMapX = posMap.GetPosX()
+#    posMapY = posMap.GetPosY()
+#    if GameWorld.GetDist(npcObj.GetPosX(), npcObj.GetPosY(), posMapX, posMapY) < 8:
+#        # 单次位移不超过5米
+#        return
+#    npcControl = NPCCommon.NPCControl(npcObj)
+#    moveDestX, moveDestY = npcControl.GetMoveNearPosEx(posMapX, posMapY, 5)
+#    npcObj.Move(moveDestX, moveDestY)
+#    return
 
 #===============================================================================
 # //B4 03 吸引NPC仇恨 #tagNPCAttention
@@ -1353,18 +1337,14 @@
     if GameObj.GetHP(curPlayer) <= 0:
         return
     
-    if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
-        #GameWorld.DebugLog("自定义场景中,不检查!")
-        return True
-    
     #===========================================================================
     # if curPlayer.IsMoving():
     #    GameWorld.DebugLog("移动中不可使用技能")
     #    return False
     #===========================================================================
-    if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse:
-        #GameWorld.DebugLog("骑马中不允许释放技能", curPlayerID)
-        PlayerHorse.PlayerRideHorseDown(curPlayer)
+    #if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse:
+    #    #GameWorld.DebugLog("骑马中不允许释放技能", curPlayerID)
+    #    PlayerHorse.PlayerRideHorseDown(curPlayer)
     
     if not PlayerControl.PlayerCanStateTransfer(curPlayer):
         #GameWorld.DebugLog('CheckUseSkill, PlayerStateErr = %s '%( curPlayer.GetPlayerAction() ), curPlayerID )
@@ -1717,22 +1697,8 @@
         # 对自身释放或者无目标技能
         if skillAffectTag in ChConfig.Def_ST_CanNPCUseSkill or skillAim == ChConfig.Def_UseSkillAim_None:
             #释放自身类技能
-            return NPCUseSkill(attacker, curSkill, tick)  
-                  
-        # 宠物对主人释放技能
-        elif skillAffectTag == ChConfig.Def_UseSkillTag_PetMaster:
-            if not PetControl.IsPet(attacker):
-                GameWorld.ErrLog("该NPC非宠物,无法获得主人释放技能")
-                return False
-            
-            petOwner = PetControl.GetPetOwner(attacker)
-            
-            if petOwner == None:
-                GameWorld.ErrLog("宠物(%s)对主人释放技能,找不到主人"%attacker.GetRolePet().PetID)
-                return False
+            return NPCUseSkill(attacker, curSkill, tick)
         
-            curTag = petOwner            
-                  
         # 召唤兽对主人释放技能
         elif skillAffectTag == ChConfig.Def_UseSkillTag_SummonMaster:
             if not NPCCommon.IsSummonNPC(attacker):
@@ -1838,7 +1804,7 @@
     #===========================================================================
         
     if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill and SkillCommon.isPassiveAttr(curSkill):
-        PlayerHorse.RefreshHorseAttr(curPlayer)
+        pass#PlayerHorse.RefreshHorseAttr(curPlayer)
     else:
         if SkillCommon.isPassiveAttr(curSkill):
             curControl = PlayerControl.PlayerControl(curPlayer)
@@ -1891,9 +1857,9 @@
 #        if not PlayerHorse.CheckLearnHorseSkill(curPlayer, curSkillTypeID):
 #            return False
     #天赋技学习点数判断
-    if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
-        if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
-            return False
+    #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
+    #    if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
+    #        return False
         
     #经验检测
     skillLvUpNeedExp = upSkill.GetLVUpCostExp()
@@ -1958,8 +1924,8 @@
         #GeRen_jin_474794  <n color="255,255,0" BKCOLOR="0,0,0">您消耗了经验值:</n><n color="0,190,255" BKCOLOR="0,0,0">{%S1%}</n>
         PlayerControl.NotifyCode(curPlayer, "GeRen_jin_474794", [skillLvUpNeedExp])
     
-    if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
-        PlayerGreatMaster.AddGreatMasterSkillPointByLV(curPlayer, -1)
+    #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
+    #    PlayerGreatMaster.AddGreatMasterSkillPointByLV(curPlayer, -1)
     return True
 #---------------------------------------------------------------------
 ##检测学习技能需求条件
@@ -2034,11 +2000,11 @@
     needBaseAttrID, needBaseAttrValue = GetSkillUpNeedAttr(stateSkillLV)
     if needBaseAttrID and needBaseAttrValue:
         baseAttrDict = {
-                            ShareDefine.Def_Effect_Metal:PlayerControl.GetMetal(curPlayer),
-                            ShareDefine.Def_Effect_Wood:PlayerControl.GetWood(curPlayer),
-                            ShareDefine.Def_Effect_Water:PlayerControl.GetWater(curPlayer),
-                            ShareDefine.Def_Effect_Fire:PlayerControl.GetFire(curPlayer),
-                            ShareDefine.Def_Effect_Earth:PlayerControl.GetEarth(curPlayer),
+                            #ShareDefine.Def_Effect_Metal:PlayerControl.GetMetal(curPlayer),
+                            #ShareDefine.Def_Effect_Wood:PlayerControl.GetWood(curPlayer),
+                            #ShareDefine.Def_Effect_Water:PlayerControl.GetWater(curPlayer),
+                            #ShareDefine.Def_Effect_Fire:PlayerControl.GetFire(curPlayer),
+                            #ShareDefine.Def_Effect_Earth:PlayerControl.GetEarth(curPlayer),
                          }
         if needBaseAttrID not in baseAttrDict:
             GameWorld.ErrLog('    技能升级属性点条件配置错误,curSkillTypeID=%s,needBaseAttrID=%s'%(curSkillTypeID, needBaseAttrID))
@@ -2171,11 +2137,11 @@
     if skillTypeID not in PyGameData.g_elemntSkillDict:
         return isNotify, hasChangeLV
     baseAttrDict = {
-                            ShareDefine.Def_Effect_Metal:PlayerControl.GetMetal(curPlayer),
-                            ShareDefine.Def_Effect_Wood:PlayerControl.GetWood(curPlayer),
-                            ShareDefine.Def_Effect_Water:PlayerControl.GetWater(curPlayer),
-                            ShareDefine.Def_Effect_Fire:PlayerControl.GetFire(curPlayer),
-                            ShareDefine.Def_Effect_Earth:PlayerControl.GetEarth(curPlayer),
+                            #ShareDefine.Def_Effect_Metal:PlayerControl.GetMetal(curPlayer),
+                            #ShareDefine.Def_Effect_Wood:PlayerControl.GetWood(curPlayer),
+                            #ShareDefine.Def_Effect_Water:PlayerControl.GetWater(curPlayer),
+                            #ShareDefine.Def_Effect_Fire:PlayerControl.GetFire(curPlayer),
+                            #ShareDefine.Def_Effect_Earth:PlayerControl.GetEarth(curPlayer),
                          }
     activeSkillLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SkillElementLV % skillTypeID)
     limitInfoList = PyGameData.g_elemntSkillDict[skillTypeID]
@@ -3494,7 +3460,7 @@
 
         #调用攻击惩罚逻辑
         BaseAttack.DoLogic_AttackResult(attacker, defender, None, tick)
-        TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
+        #TurnAttack.OnTurnfightAttackResult(attacker, defender, curSkill)
         
     return
 #---------------------------------------------------------------------
@@ -3666,18 +3632,6 @@
         result = DoLogic_UseSkill(attacker, target, curSkill, tick, posX, posY, isEnhanceSkill=isEnhanceSkill)
     
     else:
-        if affectTag == ChConfig.Def_UseSkillTag_PetMaster:
-            if not PetControl.IsPet(attacker):
-                return False
-            
-            petOwner = PetControl.GetPetOwner(attacker)
-            if petOwner == None:
-                return False
-            
-            target = petOwner
-            if GameObj.GetHP(target) <= 0:
-                return False
-        
         if affectTag not in [ChConfig.Def_UseSkillTag_None, ChConfig.Def_UseSkillTag_Self]:
             if not target:
                 # 配置了可攻击目标,但没目标就不让触发

--
Gitblit v1.8.0