| | |
| | | # @param tick 当前时间
|
| | | # @return None
|
| | | # @remarks 设置玩家属性消耗,如魔法,XP点,HP
|
| | | def SetSkillLostAttr(curPlayer, curSkill, tick):
|
| | | def SetSkillLostAttr(curObj, curSkill, tick):
|
| | | #===========================================================================
|
| | | # #-----------扣魔法
|
| | | # lostMPValue = curSkill.GetMP()
|
| | |
| | | # #自动回魔
|
| | | # PlayerControl.PlayerAutoRestoreMP(curPlayer, tick)
|
| | | #
|
| | | # #----------扣XP点
|
| | | # lostXPValue = curSkill.GetXP()
|
| | | # curPlayerXP = curPlayer.GetXP()
|
| | | # |
| | | # if curPlayerXP < lostXPValue:
|
| | | # GameWorld.ErrLog('释放技能 = %s异常, XP点 = %s不足 = %s' % (
|
| | | # curSkill.GetSkillTypeID(), curPlayerXP, lostXPValue))
|
| | | # |
| | | # if lostXPValue > 0:
|
| | | # remain = curPlayer.GetXP() - lostXPValue
|
| | | # remain = max(0, remain)
|
| | | # curPlayer.SetDict(ChConfig.Def_PlayerKey_RecordXPValue, remain)
|
| | | # curPlayer.SetXP(remain)
|
| | | #===========================================================================
|
| | |
|
| | | |
| | | #----------扣XP点
|
| | | lostXPValue = curSkill.GetXP()
|
| | | curXP = GameObj.GetXP(curObj)
|
| | | if curXP < lostXPValue:
|
| | | GameWorld.ErrLog('释放技能扣除XP异常! skillID=%s,curXP=%s < lostXPValue=%s' % (curSkill.GetSkillID(), curXP, lostXPValue))
|
| | | if lostXPValue > 0:
|
| | | GameObj.SetXP(curObj, max(0, curXP - lostXPValue))
|
| | | |
| | | #----------扣HP点
|
| | | lostHPValue = curSkill.GetHP()
|
| | | curPlayerHP = GameObj.GetHP(curPlayer)
|
| | | curPlayerHP = GameObj.GetHP(curObj)
|
| | |
|
| | | if curPlayerHP < lostHPValue:
|
| | | GameWorld.ErrLog('释放技能 = %s异常, HP点 = %s不足 = %s' % (
|
| | | curSkill.GetSkillTypeID(), curPlayerHP, lostHPValue))
|
| | |
|
| | | if lostHPValue > 0:
|
| | | GameObj.SetHP(curPlayer, GameObj.GetHP(curPlayer) - lostHPValue)
|
| | | GameObj.SetHP(curObj, GameObj.GetHP(curObj) - lostHPValue)
|
| | |
|
| | | return
|
| | |
|
| | |
| | | if curSkill:
|
| | | skillTypeID = curSkill.GetSkillTypeID()
|
| | |
|
| | | #扣属性,如魔法,XP点
|
| | | SetSkillLostAttr(curNPC, curSkill, tick)
|
| | | |
| | | #技能使用成功
|
| | | curNPCSkill = curNPC.GetSkillManager().FindSkillBySkillTypeID(skillTypeID)
|
| | |
|