hxp
2019-02-19 cda5e4e81f17542946ac53e77d2cd625ac2ea3d4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -54,6 +54,7 @@
import PlayerFairyCeremony
import PlayerNewFairyCeremony
import PlayerWeekParty
import PlayerActLogin
import FamilyRobBoss
import IpyGameDataPY
import PlayerState
@@ -2126,8 +2127,8 @@
    GameWorld.DebugLog("Boss状态变更: bossID=%s,isAlive=%s,dataMapID=%s,realMapID=%s,copyMapID=%s" 
                       % (bossID, isAlive, dataMapID, realMapID, copyMapID))
    if not isAlive:
        if dataMapID in ChConfig.Def_CrossZoneTableName:
            tableName = ChConfig.Def_CrossZoneTableName[dataMapID]
        if dataMapID in ChConfig.Def_CrossZoneMapTableName:
            tableName = ChConfig.Def_CrossZoneMapTableName[dataMapID]
            realMapID = GameWorld.GetGameWorld().GetRealMapID()
            copyMapID = GameWorld.GetGameWorld().GetCopyMapID()
            zoneIpyData = IpyGameDataPY.GetIpyGameData(tableName, realMapID, dataMapID, copyMapID)
@@ -2167,6 +2168,7 @@
        PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_WorldBoss, 1)
        PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_WorldBoss, 1)
        PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_WorldBOSS, 1)
        PlayerActLogin.AddLoginAwardActionCnt(curPlayer, ChConfig.Def_LoginAct_WorldBOSS, 1)
        
    if mapID == ChConfig.Def_FBMapID_BossHome:
        #BOSS之家
@@ -3029,7 +3031,7 @@
        #    GameWorld.DebugLog("伤血玩家血量为0,清除该伤血!playerID=%s" % hurtID)
        #    return True
        
        if not hurtPlayer.GetVisible():
        if hurtPlayer.GetInitOK() and not hurtPlayer.GetVisible():
            GameWorld.DebugLog("伤血玩家不可见,清除该伤血!playerID=%s" % hurtID)
            return True
        
@@ -3066,7 +3068,7 @@
                    #GameWorld.DebugLog("队员不在本线路,不计!playerID=%s" % playerID)
                    continue
                
                if not curTeamPlayer.GetVisible():
                if curTeamPlayer.GetInitOK() and not curTeamPlayer.GetVisible():
                    #GameWorld.DebugLog("队员不可见,不计!playerID=%s" % playerID)
                    continue
                
@@ -3087,7 +3089,7 @@
                    teamHurtPlayerIDList.append(playerID)
                    
        if not teamHurtPlayerIDList:
            GameWorld.DebugLog("伤血队伍没有活着的队员在boss区域内,清除该伤血!teamID=%s,mapTeamPlayerIDList=%s" % (teamID, mapTeamPlayerIDList))
            GameWorld.DebugLog("伤血队伍没有符合条件的队员在boss区域内,清除该伤血!teamID=%s,mapTeamPlayerIDList=%s" % (teamID, mapTeamPlayerIDList))
        return teamHurtPlayerIDList
    
    def RefreshHurtList(self, tick, refreshInterval=3000):
@@ -5188,7 +5190,7 @@
        #===========================================================================================
        
        # 在地上添加物品(统一接口)
        dropNPCID = 0 if not curNPC.GetIsBoss() else curNPCID
        dropNPCID = 0 if not ChConfig.IsGameBoss(curNPC) else curNPCID
        specOwnerIDList = self.__AllKillerDict.keys() if (len(self.__AllKillerDict) > 1 or dropType == ChConfig.Def_NPCHurtTypeSpecial) else []
        curMapItem = ChItem.AddMapDropItem(posX, posY, curItem, ownerInfo=[dropType, ownerID, specOwnerIDList], dropNPCID=dropNPCID)