hxp
2019-04-29 fba7745533989fc514ce7a8e9edc8017abd2d69e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
@@ -15,6 +15,7 @@
import ShareDefine
import ChConfig
import IPY_GameWorld
import IpyGameDataPY
# 关于血量的函数这里只包装最简单的超DWORD处理
@@ -43,10 +44,15 @@
        return gameObj.GetHPEx()*ShareDefine.Def_PerPointValue + gameObj.GetHP()
def SetHP(gameObj, value, isNotify=True):
def SetHP(gameObj, value, isNotify=True, isByTime=False):
    if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
        gameObj.SetHP(value, isNotify)
    else:
        if gameObj.GetGameObjType() == IPY_GameWorld.gotNPC:
            npcID = gameObj.GetNPCID()
            if IpyGameDataPY.GetIpyGameDataNotLog("NPCTimeLostHP", npcID) and not isByTime and value not in [GetMaxHP(gameObj), 0]:
                #GameWorld.DebugLog("不能设置按时间掉血的怪物血量! id=%s,npciD=%s,value=%s,isByTime=%s" % (gameObj.GetID(), gameObj.GetNPCID(), value, isByTime))
                return
        gameObj.SetHPEx(value/ShareDefine.Def_PerPointValue)
        gameObj.SetHP(value%ShareDefine.Def_PerPointValue)