/
NLObP
/
AAEmu
Обзор
Документация
Войти
/
NLObP
/
AAEmu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
AAEmu.Game/Models/Tasks/UnitPointsRegenTask.cs
31 строка
1 KB
Roger Barreto
Multi platform enablement for Net9 and Net8 (#1104)
29 ноя 2024, 21:22
Не верифицирован
29 ноя 2024, 21:22
e374e61
Код
Авторство
О чём код?
using System; using AAEmu.Game.Core.Packets.G2C; using AAEmu.Game.Models.Game.Units; using AAEmu.Game.Models.Game.Units.Static; namespace AAEmu.Game.Models.Tasks; public class UnitPointsRegenTask : Task { private Unit _unit; public UnitPointsRegenTask(Unit unit) { _unit = unit; } public override void Execute() { var oldHp = _unit.Hp; if (_unit.Hp < _unit.MaxHp && _unit.Hp > 0) _unit.Hp += _unit.HpRegen; // TODO at battle _unit.PersistentHpRegen if (_unit.Mp < _unit.MaxMp && _unit.Hp > 0) _unit.Mp += _unit.MpRegen; // TODO at battle _unit.PersistentMpRegen _unit.Hp = Math.Min(_unit.Hp, _unit.MaxHp); _unit.Mp = Math.Min(_unit.Mp, _unit.MaxMp); _unit.BroadcastPacket(new SCUnitPointsPacket(_unit.ObjId, _unit.Hp, _unit.Mp), true); _unit.PostUpdateCurrentHp(_unit, oldHp, _unit.Hp, KillReason.Unknown); //if (_unit.Hp >= _unit.MaxHp && _unit.Mp >= _unit.MaxMp) // _unit.StopRegen(); } }