ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BattleObj.py
@@ -23,7 +23,6 @@
import ChNetSendPack
import ShareDefine
import ChConfig
import ObjPool
import TurnPassive
import TurnBuff
@@ -306,13 +305,10 @@
    def GetBounceHP(self): return self._bounceHP
    def SetBounceHP(self, bounceHP): self._bounceHP = bounceHP
    def ClearHurtObjEx(self):
        poolMgr = ObjPool.GetPoolMgr()
        for hurtObjEx in self._hurtListEx:
            poolMgr.release(hurtObjEx)
        self._hurtListEx = []
        return
    def AddHurtObjEx(self, tagID):
        hurtObj = ObjPool.GetPoolMgr().acquire(HurtObj)
        hurtObj = HurtObj()
        hurtObj.SetObjID(tagID)
        self._hurtListEx.append(hurtObj)
        return hurtObj
@@ -359,7 +355,7 @@
            values = getattr(ipyData, "GetEffectValues%s" % num)()
            triggerWay = getattr(ipyData, "GetTriggerWay%s" % num)()
            triggerSrc = getattr(ipyData, "GetTriggerSrc%s" % num)()
            effect = ObjPool.GetPoolMgr().acquire(SkillEffect, effID, values, triggerWay, triggerSrc)
            effect = SkillEffect(effID, values, triggerWay, triggerSrc)
            self._effList.append(effect)
            self._effDict[(effID, triggerWay)] = effect
        return
@@ -412,7 +408,7 @@
class PyBuff():
    
    def __init__(self, ipyData):
        self._skillData = ObjPool.GetPoolMgr().acquire(SklllData, ipyData)
        self._skillData = SklllData(ipyData)
        self._skillID = self._skillData.GetSkillID()
        self._skillTypeID = self._skillData.GetSkillTypeID()
        self._addTiming = 0 # 添加该buff时间点,0-自身回合前;1-自身回合后
@@ -500,9 +496,6 @@
        return
    
    def ClearBuff(self):
        poolMgr = ObjPool.GetPoolMgr()
        for buff in self._buffList:
            poolMgr.release(buff)
        self._buffList = []
        self._buffIDDict = {}
        self._skillTypeIDBuffIDs = {}
@@ -522,7 +515,7 @@
        self._buffID += 1
        
        buffID = self._buffID
        buff = ObjPool.GetPoolMgr().acquire(PyBuff, ipyData)
        buff = PyBuff(ipyData)
        buff.SetBuffID(buffID)
        
        self._buffList.append(buff)
@@ -558,8 +551,6 @@
            if not buffIDList:
                self._skillTypeIDBuffIDs.pop(skillTypeID)
            break
        if release:
            ObjPool.GetPoolMgr().release(buff)
        return
    
    def GetBuff(self, buffID):
@@ -645,7 +636,7 @@
    
    def __init__(self, ipyData, objID):
        self._objID = objID # 该技能谁的
        self._skillData = ObjPool.GetPoolMgr().acquire(SklllData, ipyData)
        self._skillData = SklllData(ipyData)
        self._skillID = self._skillData.GetSkillID()
        self._skillTypeID = self._skillData.GetSkillTypeID()
        self._remainTime = 0
@@ -754,21 +745,18 @@
        return
    def ClearHurtObj(self):
        ## 清空伤血统计
        poolMgr = ObjPool.GetPoolMgr()
        for hurtObj in self._hurtList:
            hurtObj.ClearHurtObjEx()
            poolMgr.release(hurtObj)
        self._hurtList = []
        
        for hurtObjEx in self._hurtListEx:
            hurtObjEx.ClearHurtObjEx()
            poolMgr.release(hurtObjEx)
        self._hurtListEx = []
        return
    def AddHurtObj(self, tagID, isEx=False):
        ## 添加某个伤血
        # @param isEx: 是否额外伤血
        hurtObj = ObjPool.GetPoolMgr().acquire(HurtObj)
        hurtObj = HurtObj()
        hurtObj.SetObjID(tagID)
        if isEx:
            self._hurtListEx.append(hurtObj)
@@ -830,9 +818,6 @@
        return
    
    def SkillReset(self):
        poolMgr = ObjPool.GetPoolMgr()
        for skill in self._skillList:
            poolMgr.release(skill)
        self._skillList = []
        self._skillDict = {}
        return
@@ -865,7 +850,7 @@
            self.__deleteSkill(curSkill)
            
        # 学新技能
        curSkill = ObjPool.GetPoolMgr().acquire(PySkill, ipyData, self._batObj.GetID())
        curSkill = PySkill(ipyData, self._batObj.GetID())
        self._skillDict[skillID] = curSkill
        self._skillList.append(curSkill)
        return curSkill
@@ -875,7 +860,6 @@
        self._skillDict.pop(skillID, None)
        if curSkill in self._skillList:
            self._skillList.remove(curSkill)
        ObjPool.GetPoolMgr().release(curSkill)
        return
    
class BatObj():
@@ -912,9 +896,9 @@
        self._skillHappenFailCntDict = {} # 技能累计概率触发次数,使用成功后重置 {skillID:failCnt, ...}
        self._skillUseCntDict = {} # 技能累计使用次数 {skillID:useCnt, ...}
        self._skillTurnUseCntDict = {} # 技能单回合累计使用次数 {skillID:useCnt, ...}
        self._skillMgr = ObjPool.GetPoolMgr().acquire(SkillManager, self)
        self._buffMgr = ObjPool.GetPoolMgr().acquire(BuffManager, self)
        self._passiveEffMgr = ObjPool.GetPoolMgr().acquire(PassiveEffManager, self)
        self._skillMgr = SkillManager(self)
        self._buffMgr = BuffManager(self)
        self._passiveEffMgr = PassiveEffManager(self)
        self._lastHurtValue = 0
        self._harmSelfHP = 0 # 自残值
        self._mainTagIDList = [] # 主技能目标ID列表,一般用于技能拆分成多个技能效果时,子技能可能会用到主技能的对象做逻辑
@@ -1240,7 +1224,7 @@
        newObjID = self.__getNewObjID()
        if not newObjID:
            return newBatObj
        newBatObj = ObjPool.GetPoolMgr().acquire(BatObj)
        newBatObj = BatObj()
        newBatObj.objID = newObjID
        self.batObjDict[newObjID] = newBatObj
        GameWorld.DebugLogEx("添加战斗单位: objID=%s", newObjID)
@@ -1274,7 +1258,6 @@
        #    turnFight.addBatPack(clientPack)
        
        # 最后回收对象
        ObjPool.GetPoolMgr().release(batObj)
        if objID not in self._freeIDList: # 回收ID,重复利用
            self._freeIDList.append(objID)
        return
@@ -1298,7 +1281,7 @@
    turnFight = TurnAttack.GetTurnFightMgr().getTurnFight(batObj.GetTFGUID())
    if not turnFight:
        return
    clientPack = ObjPool.GetPoolMgr().acquire(ChNetSendPack.tagObjInfoRefresh)
    clientPack = ChNetSendPack.tagObjInfoRefresh()
    clientPack.ObjID = batObj.GetID()
    clientPack.RefreshType = refreshType
    if isBig: