| | |
| | | return DelBuffBySkillID(curObj, skillID, tick)
|
| | |
|
| | | def PYSync_RefreshBuff(gameObj, curBuff, buffType, notifyAll=True, owner = None):
|
| | | sendPack = ChNetSendPack.tagObjAddBuff()
|
| | | if not curBuff:
|
| | | return
|
| | | if not hasattr(curBuff, "GetSkill"):
|
| | | return
|
| | | curSkill = curBuff.GetSkill()
|
| | | if not curSkill or not hasattr(curSkill, "GetSkillID"):
|
| | | return
|
| | | skillID = curSkill.GetSkillID()
|
| | | if GameObj.GetHP(gameObj) <= 0 or AttackCommon.GetIsDead(gameObj):
|
| | | return
|
| | | sendPack.ObjType = gameObj.GetGameObjType()
|
| | | sendPack.ObjID = gameObj.GetID();
|
| | | sendPack.SkillID = skillID;
|
| | | sendPack.LastTime = curBuff.GetRemainTime();
|
| | | sendPack.BuffType = buffType;
|
| | | sendPack.Value = curBuff.GetValue();
|
| | | sendPack.Value1 = curBuff.GetValue1();
|
| | | sendPack.Value2 = curBuff.GetValue2();
|
| | | sendPack.Layer = curBuff.GetLayer();
|
| | | if owner:
|
| | | sendPack.OwnerID = owner.GetID()
|
| | | sendPack.OwnerType = owner.GetGameObjType()
|
| | | if notifyAll or gameObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
|
| | | gameObj.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength());
|
| | | else:
|
| | | PlayerControl.PyNotifyAll(gameObj, sendPack, notifySelf=True, notifyCnt=-1)
|
| | | try:
|
| | | sendPack = ChNetSendPack.tagObjAddBuff()
|
| | | if not curBuff:
|
| | | return
|
| | | if not hasattr(curBuff, "GetSkill"):
|
| | | return
|
| | | curSkill = curBuff.GetSkill()
|
| | | if not curSkill or not hasattr(curSkill, "GetSkillID"):
|
| | | return
|
| | | skillID = curSkill.GetSkillID()
|
| | | if GameObj.GetHP(gameObj) <= 0 or AttackCommon.GetIsDead(gameObj):
|
| | | return
|
| | | sendPack.ObjType = gameObj.GetGameObjType()
|
| | | sendPack.ObjID = gameObj.GetID();
|
| | | sendPack.SkillID = skillID;
|
| | | sendPack.LastTime = curBuff.GetRemainTime();
|
| | | sendPack.BuffType = buffType;
|
| | | sendPack.Value = curBuff.GetValue();
|
| | | sendPack.Value1 = curBuff.GetValue1();
|
| | | sendPack.Value2 = curBuff.GetValue2();
|
| | | sendPack.Layer = curBuff.GetLayer();
|
| | | if owner:
|
| | | sendPack.OwnerID = owner.GetID()
|
| | | sendPack.OwnerType = owner.GetGameObjType()
|
| | | if notifyAll or gameObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
|
| | | gameObj.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength());
|
| | | else:
|
| | | PlayerControl.PyNotifyAll(gameObj, sendPack, notifySelf=True, notifyCnt=-1)
|
| | | except:
|
| | | pass
|
| | |
|
| | | |