| | |
| | | else if (_cnpc.lockHp > 0)
|
| | | {
|
| | | var _lockHp = (ulong)(target.ActorInfo.RealMaxHp * _cnpc.lockHp);
|
| | | if ((ulong)hurtValue >= target.ActorInfo.Hp)
|
| | | if ((ulong)realHurtValue >= target.ActorInfo.Hp)
|
| | | {
|
| | | target.ActorInfo.ResetHp((int)_lockHp);
|
| | | _doReduceHp = false;
|
| | | }
|
| | | else if (target.ActorInfo.Hp - (ulong)hurtValue < _lockHp)
|
| | | else if (target.ActorInfo.Hp - (ulong)realHurtValue < _lockHp)
|
| | | {
|
| | | hurtValue = (int)(target.ActorInfo.Hp - _lockHp);
|
| | | realHurtValue = (int)(target.ActorInfo.Hp - _lockHp);
|
| | | hurtValue = 0;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (_doReduceHp)
|
| | | {
|
| | | // if (attacker is GA_NpcClientFightNorm || target is GA_NpcClientFightNorm)
|
| | | // {
|
| | | // target.ActorInfo.ReduceHp((uint)hurtValue);
|
| | | // }
|
| | | // else
|
| | | // {
|
| | | target.ActorInfo.ReduceHp((uint)realHurtValue);
|
| | | // }
|
| | | }
|
| | |
|
| | | if (target.ServerInstID == PlayerDatas.Instance.baseData.PlayerID)
|