qstbak/Questionable/Questionable.Controller.CombatModules/Mount128Module.cs
2025-10-09 08:41:52 +10:00

60 lines
1.1 KiB
C#

using Dalamud.Game.ClientState.Objects.Types;
using Questionable.Functions;
using Questionable.Model.Questing;
namespace Questionable.Controller.CombatModules;
internal sealed class Mount128Module : ICombatModule
{
public const ushort MountId = 128;
private readonly EAction[] _actions = new EAction[2]
{
EAction.MagitekThunder,
EAction.MagitekPulse
};
private readonly GameFunctions _gameFunctions;
public Mount128Module(GameFunctions gameFunctions)
{
_gameFunctions = gameFunctions;
}
public bool CanHandleFight(CombatController.CombatData combatData)
{
return _gameFunctions.GetMountId() == 128;
}
public bool Start(CombatController.CombatData combatData)
{
return true;
}
public bool Stop()
{
return true;
}
public void Update(IGameObject gameObject)
{
EAction[] actions = _actions;
foreach (EAction action in actions)
{
if (_gameFunctions.UseAction(gameObject, action, checkCanUse: false))
{
break;
}
}
}
public bool CanAttack(IBattleNpc target)
{
uint baseId = target.BaseId;
if (baseId - 7504 <= 1 || baseId == 14107)
{
return true;
}
return false;
}
}