qstbak/Questionable/Questionable.Controller.CombatModules/Mount147Module.cs
2026-08-17 20:27:25 +10:00

142 lines
3.4 KiB
C#

using Dalamud.Game.ClientState.Objects.Types;
using Questionable.Functions;
using Questionable.Model.Questing;
namespace Questionable.Controller.CombatModules;
internal sealed class Mount147Module : ICombatModule
{
public const ushort MountId = 147;
private readonly EAction[] _actions = new EAction[1] { EAction.Trample };
private readonly GameFunctions _gameFunctions;
public Mount147Module(GameFunctions gameFunctions)
{
_gameFunctions = gameFunctions;
}
public bool CanHandleFight(CombatController.CombatData combatData)
{
ushort? mountId = _gameFunctions.GetMountId();
int num = (mountId.HasValue ? (-1629535910) : (-1629535911));
int? obj;
while (true)
{
int num2 = num;
int num3 = -1629535909;
int num4 = num2;
switch ((num4 | num3) - (num4 & num3))
{
default:
continue;
case 1:
obj = mountId.GetValueOrDefault();
break;
case 2:
obj = null;
break;
case 0:
goto IL_009c;
}
break;
IL_009c:
num = -1629535911;
}
return obj == 147;
}
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
return this.CanHandleFight(combatData);
}
public bool Start(CombatController.CombatData combatData)
{
return true;
}
bool ICombatModule.Start(CombatController.CombatData combatData)
{
//ILSpy generated this explicit interface implementation from .override directive in Start
return this.Start(combatData);
}
public bool Stop()
{
return true;
}
bool ICombatModule.Stop()
{
//ILSpy generated this explicit interface implementation from .override directive in Stop
return this.Stop();
}
public void Update(IGameObject gameObject)
{
EAction[] actions = _actions;
int num = 0;
int num2 = -1800928323;
while (true)
{
int num3 = num2;
int num4 = -1800928324;
int num5 = num3;
switch ((num5 | num4) - (num5 & num4))
{
case 1:
num2 = ((num < actions.Length) ? (-1800928327) : (-1800928321));
break;
case 3:
return;
case 5:
{
EAction action = actions[num];
num2 = ((!_gameFunctions.UseAction(gameObject, action, checkCanUse: false)) ? (-1800928322) : (-1800928328));
break;
}
case 0:
num2 = -1800928323;
break;
case 2:
{
int num6 = num;
num4 = 1;
num5 = num6;
int num7 = num5 ^ num4;
int num8 = num5 & num4;
num = num7 + (num8 + num8);
num2 = -1800928323;
break;
}
case 4:
return;
}
}
}
void ICombatModule.Update(IGameObject gameObject)
{
//ILSpy generated this explicit interface implementation from .override directive in Update
this.Update(gameObject);
}
public bool CanAttack(IBattleNpc target)
{
return _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E((IGameObject)target) == 8593;
}
bool ICombatModule.CanAttack(IBattleNpc target)
{
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
return this.CanAttack(target);
}
static uint _200F_202B_206E_206D_206B_200D_202E_200E_202A_202D_202D_206E_206B_200D_200C_202B_206A_202D_206F_206E_202C_200E_202D_206D_206A_202E_206B_200B_202B_202A_206F_200C_200C_202E_200E_206C_206C_200E_200E_202C_202E(IGameObject P_0)
{
return P_0.BaseId;
}
}