muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Game.ClientState.Conditions;
|
||||
using Dalamud.Game.ClientState.Objects.Types;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
|
@ -15,6 +17,65 @@ namespace Questionable.Controller.CombatModules;
|
|||
|
||||
internal sealed class ItemUseModule : ICombatModule
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass15_0
|
||||
{
|
||||
public IGameObject nextTarget;
|
||||
|
||||
internal bool _003CUpdate_003Eb__0(ComplexCombatData x)
|
||||
{
|
||||
int num = ((_200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907);
|
||||
ICharacter character = default(ICharacter);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1884617910;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
return _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character);
|
||||
case 6:
|
||||
character = nextTarget as ICharacter;
|
||||
num = ((character == null) ? 1884617910 : 1884617906);
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 0:
|
||||
return false;
|
||||
case 2:
|
||||
num = 1884617907;
|
||||
break;
|
||||
case 1:
|
||||
return true;
|
||||
case 5:
|
||||
num = ((!_200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static uint _200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(ComplexCombatData P_0)
|
||||
{
|
||||
return P_0.DataId;
|
||||
}
|
||||
|
||||
static uint _202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.BaseId;
|
||||
}
|
||||
|
||||
static uint? _200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(ComplexCombatData P_0)
|
||||
{
|
||||
return P_0.NameId;
|
||||
}
|
||||
|
||||
static uint _202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(ICharacter P_0)
|
||||
{
|
||||
return P_0.NameId;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
|
||||
private readonly ICondition _condition;
|
||||
|
|
@ -27,13 +88,13 @@ internal sealed class ItemUseModule : ICombatModule
|
|||
|
||||
private bool _isDoingRotation;
|
||||
|
||||
private DateTime _continueAt;
|
||||
private long _continueAt;
|
||||
|
||||
private bool _itemUsePending;
|
||||
|
||||
private DateTime _itemUsePendingUntil;
|
||||
private long _itemUsePendingUntil;
|
||||
|
||||
private int _lastKnownItemCount;
|
||||
public ICombatModule? Delegate => _delegate;
|
||||
|
||||
public ItemUseModule(IServiceProvider serviceProvider, ICondition condition, ILogger<ItemUseModule> logger)
|
||||
{
|
||||
|
|
@ -42,142 +103,364 @@ internal sealed class ItemUseModule : ICombatModule
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public bool CanHandleFight(CombatController.CombatData combatData)
|
||||
{
|
||||
if (combatData.CombatItemUse == null)
|
||||
int num = ((combatData.CombatItemUse != null) ? (-969597141) : (-969597144));
|
||||
while (true)
|
||||
{
|
||||
return false;
|
||||
int num2 = num;
|
||||
int num3 = -969597142;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_005a;
|
||||
case 1:
|
||||
{
|
||||
_delegate = (from x in _serviceProvider.GetRequiredService<IEnumerable<ICombatModule>>()
|
||||
where !(x is ItemUseModule)
|
||||
select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData));
|
||||
ILogger<ItemUseModule> logger = _logger;
|
||||
string text = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-150894400);
|
||||
object[] array = new object[1];
|
||||
ICombatModule? combatModule = _delegate;
|
||||
array[0] = ((combatModule != null) ? _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E((MemberInfo)_202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E((object)combatModule)) : null);
|
||||
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)logger, text, array);
|
||||
return _delegate != null;
|
||||
}
|
||||
case 2:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_005a:
|
||||
num = -969597144;
|
||||
}
|
||||
_delegate = (from x in _serviceProvider.GetRequiredService<IEnumerable<ICombatModule>>()
|
||||
where !(x is ItemUseModule)
|
||||
select x).FirstOrDefault((ICombatModule x) => x.CanHandleFight(combatData));
|
||||
_logger.LogInformation("ItemUse delegate: {Delegate}", _delegate?.GetType().Name);
|
||||
return _delegate != null;
|
||||
}
|
||||
|
||||
public unsafe bool Start(CombatController.CombatData combatData)
|
||||
bool ICombatModule.CanHandleFight(CombatController.CombatData combatData)
|
||||
{
|
||||
if (_delegate.Start(combatData))
|
||||
//ILSpy generated this explicit interface implementation from .override directive in CanHandleFight
|
||||
return this.CanHandleFight(combatData);
|
||||
}
|
||||
|
||||
public bool Start(CombatController.CombatData combatData)
|
||||
{
|
||||
int num = ((!_delegate.Start(combatData)) ? 109561954 : 109561955);
|
||||
while (true)
|
||||
{
|
||||
_combatData = combatData;
|
||||
_isDoingRotation = true;
|
||||
_continueAt = DateTime.Now;
|
||||
if (_combatData?.CombatItemUse != null)
|
||||
int num2 = num;
|
||||
int num3 = 109561954;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
InventoryManager* ptr = InventoryManager.Instance();
|
||||
_lastKnownItemCount = ptr->GetInventoryItemCount(_combatData.CombatItemUse.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
|
||||
case 2:
|
||||
goto IL_004e;
|
||||
case 1:
|
||||
_combatData = combatData;
|
||||
_isDoingRotation = true;
|
||||
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E();
|
||||
_itemUsePending = false;
|
||||
return true;
|
||||
case 0:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
continue;
|
||||
IL_004e:
|
||||
num = 109561955;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ICombatModule.Start(CombatController.CombatData combatData)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Start
|
||||
return this.Start(combatData);
|
||||
}
|
||||
|
||||
public bool Stop()
|
||||
{
|
||||
if (_isDoingRotation)
|
||||
int num = ((!_isDoingRotation) ? 1494033930 : 1494033931);
|
||||
while (true)
|
||||
{
|
||||
_delegate.Stop();
|
||||
_isDoingRotation = false;
|
||||
_combatData = null;
|
||||
_delegate = null;
|
||||
_continueAt = DateTime.Now;
|
||||
int num2 = num;
|
||||
int num3 = 1494033930;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = 1494033931;
|
||||
break;
|
||||
case 0:
|
||||
return true;
|
||||
case 1:
|
||||
_delegate.Stop();
|
||||
_isDoingRotation = false;
|
||||
_combatData = null;
|
||||
_delegate = null;
|
||||
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E();
|
||||
num = 1494033930;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ICombatModule.Stop()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Stop
|
||||
return this.Stop();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public unsafe void Update(IGameObject nextTarget)
|
||||
{
|
||||
if (_delegate == null || _continueAt > DateTime.Now)
|
||||
int num = ((_delegate != null) ? (-1423296184) : (-1423296167));
|
||||
long num7 = default(long);
|
||||
int inventoryItemCount = default(int);
|
||||
while (true)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (_combatData?.CombatItemUse == null)
|
||||
{
|
||||
_delegate.Update(nextTarget);
|
||||
}
|
||||
else if (_combatData.KillEnemyDataIds.Contains(nextTarget.BaseId) || _combatData.ComplexCombatDatas.Any((ComplexCombatData x) => x.DataId == nextTarget.BaseId && (!x.NameId.HasValue || (nextTarget is ICharacter character && x.NameId == character.NameId))))
|
||||
{
|
||||
if (_isDoingRotation)
|
||||
{
|
||||
int inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_combatData.CombatItemUse.ItemId, isHq: false, checkEquipped: true, checkArmory: true, 0);
|
||||
if (_itemUsePending)
|
||||
{
|
||||
if (DateTime.Now < _itemUsePendingUntil)
|
||||
{
|
||||
_logger.LogDebug("Item use pending; ignoring temporary inventory count={Count}", inventoryItemCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
_itemUsePending = false;
|
||||
}
|
||||
}
|
||||
if (!_itemUsePending && inventoryItemCount == 0)
|
||||
{
|
||||
_isDoingRotation = false;
|
||||
_delegate.Stop();
|
||||
return;
|
||||
}
|
||||
_lastKnownItemCount = inventoryItemCount;
|
||||
if (ShouldUseItem(nextTarget))
|
||||
{
|
||||
_itemUsePending = true;
|
||||
_itemUsePendingUntil = DateTime.Now.AddSeconds(3.0);
|
||||
AgentInventoryContext.Instance()->UseItem(_combatData.CombatItemUse.ItemId, InventoryType.Invalid, 0u, 0);
|
||||
_continueAt = DateTime.Now.AddSeconds(2.0);
|
||||
}
|
||||
else
|
||||
{
|
||||
_delegate.Update(nextTarget);
|
||||
}
|
||||
}
|
||||
else if (_condition[ConditionFlag.Casting])
|
||||
{
|
||||
DateTime dateTime = DateTime.Now.AddSeconds(0.5);
|
||||
if (dateTime > _continueAt)
|
||||
{
|
||||
_continueAt = dateTime;
|
||||
}
|
||||
}
|
||||
else
|
||||
int num2 = num;
|
||||
int num3 = -1423296181;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 17:
|
||||
_delegate.Update(nextTarget);
|
||||
return;
|
||||
case 6:
|
||||
num = ((!ShouldUseItem(nextTarget)) ? (-1423296182) : (-1423296189));
|
||||
break;
|
||||
case 11:
|
||||
num = ((_202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() >= _itemUsePendingUntil) ? (-1423296180) : (-1423296161));
|
||||
break;
|
||||
case 2:
|
||||
num = ((!_isDoingRotation) ? (-1423296174) : (-1423296162));
|
||||
break;
|
||||
case 23:
|
||||
num = ((!_isDoingRotation) ? (-1423296168) : (-1423296177));
|
||||
break;
|
||||
case 5:
|
||||
_continueAt = num7;
|
||||
return;
|
||||
case 22:
|
||||
num = ((_combatData?.CombatItemUse != null) ? (-1423296190) : (-1423296166));
|
||||
break;
|
||||
case 10:
|
||||
_isDoingRotation = true;
|
||||
_delegate.Start(_combatData);
|
||||
return;
|
||||
case 16:
|
||||
_delegate.Update(nextTarget);
|
||||
return;
|
||||
case 19:
|
||||
num = ((!_200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(_condition, ConditionFlag.Casting)) ? (-1423296191) : (-1423296186));
|
||||
break;
|
||||
case 24:
|
||||
num = -1423296167;
|
||||
break;
|
||||
case 3:
|
||||
num = ((_continueAt <= _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E()) ? (-1423296163) : (-1423296188));
|
||||
break;
|
||||
case 25:
|
||||
return;
|
||||
case 14:
|
||||
num = ((inventoryItemCount != 0) ? (-1423296179) : (-1423296165));
|
||||
break;
|
||||
case 1:
|
||||
_delegate.Update(nextTarget);
|
||||
return;
|
||||
case 21:
|
||||
_delegate.Update(nextTarget);
|
||||
num = -1423296174;
|
||||
break;
|
||||
case 13:
|
||||
num7 = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 500;
|
||||
num = ((num7 <= _continueAt) ? (-1423296174) : (-1423296178));
|
||||
break;
|
||||
case 12:
|
||||
num = (_itemUsePending ? (-1423296179) : (-1423296187));
|
||||
break;
|
||||
case 0:
|
||||
num = ((!_combatData.ComplexCombatDatas.Any(delegate(ComplexCombatData x)
|
||||
{
|
||||
int num8 = ((_003C_003Ec__DisplayClass15_0._200F_200D_202D_206C_200E_200D_206C_206D_206F_206F_206E_206F_202D_202D_200F_202E_202B_200B_202C_206D_202B_200B_200D_200D_206D_200D_200E_206B_206D_206D_202D_206C_202C_202E_206D_200E_200D_206A_206B_202D_202E(x) != _003C_003Ec__DisplayClass15_0._202D_206F_202C_206C_206B_200F_202A_200B_206A_200E_200D_200E_202B_202A_200B_202B_202D_202D_202D_200E_206F_206B_206E_202E_202B_206E_200C_206C_202E_200D_202E_206E_206E_200B_202A_206B_206B_200D_206A_206A_202E(nextTarget)) ? 1884617909 : 1884617907);
|
||||
ICharacter character = default(ICharacter);
|
||||
while (true)
|
||||
{
|
||||
int num9 = num8;
|
||||
int num10 = 1884617910;
|
||||
int num11 = num9;
|
||||
switch ((num11 | num10) - (num11 & num10))
|
||||
{
|
||||
case 4:
|
||||
return _003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x) == _003C_003Ec__DisplayClass15_0._202C_202C_200B_206B_200C_206A_206F_206B_202C_206B_206D_200D_206A_202A_200D_206B_202D_206C_200C_200C_200B_206F_200C_206E_200B_200B_206D_206C_200E_206E_202A_206C_202C_206C_206D_200F_206A_202A_206F_202E(character);
|
||||
case 6:
|
||||
character = nextTarget as ICharacter;
|
||||
num8 = ((character == null) ? 1884617910 : 1884617906);
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 0:
|
||||
return false;
|
||||
case 2:
|
||||
num8 = 1884617907;
|
||||
break;
|
||||
case 1:
|
||||
return true;
|
||||
case 5:
|
||||
num8 = ((!_003C_003Ec__DisplayClass15_0._200D_202C_200D_206D_200D_206D_202B_206C_202E_202A_202C_202B_206D_202D_206F_200E_202D_206E_200B_200F_202C_200D_206C_206C_200B_206E_202B_202B_202A_200E_200E_206B_202D_202B_202E_206B_202E_206B_206B_202B_202E(x).HasValue) ? 1884617911 : 1884617904);
|
||||
break;
|
||||
}
|
||||
}
|
||||
})) ? (-1423296183) : (-1423296164));
|
||||
break;
|
||||
case 7:
|
||||
_itemUsePending = false;
|
||||
num = -1423296185;
|
||||
break;
|
||||
case 4:
|
||||
inventoryItemCount = InventoryManager.Instance()->GetInventoryItemCount(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), isHq: false, checkEquipped: true, checkArmory: true, 0);
|
||||
num = ((!_itemUsePending) ? (-1423296185) : (-1423296192));
|
||||
break;
|
||||
case 15:
|
||||
return;
|
||||
case 18:
|
||||
return;
|
||||
case 20:
|
||||
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-316452763), new object[1] { inventoryItemCount });
|
||||
num = -1423296185;
|
||||
break;
|
||||
case 9:
|
||||
num = (_combatData.KillEnemyDataIds.Contains(_206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(nextTarget)) ? (-1423296164) : (-1423296181));
|
||||
break;
|
||||
case 8:
|
||||
_202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E((ILogger)_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-350550837), new object[1] { _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse) });
|
||||
_itemUsePending = true;
|
||||
_itemUsePendingUntil = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 3000;
|
||||
AgentInventoryContext.Instance()->UseItem(_202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(_combatData.CombatItemUse), InventoryType.Invalid, 0u, 0);
|
||||
_continueAt = _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E() + 2000;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (_isDoingRotation)
|
||||
{
|
||||
_delegate.Update(nextTarget);
|
||||
}
|
||||
}
|
||||
|
||||
void ICombatModule.Update(IGameObject nextTarget)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Update
|
||||
this.Update(nextTarget);
|
||||
}
|
||||
|
||||
private unsafe bool ShouldUseItem(IGameObject gameObject)
|
||||
{
|
||||
if (_combatData?.CombatItemUse == null)
|
||||
int num = ((_combatData?.CombatItemUse != null) ? (-1964360590) : (-1964360581));
|
||||
BattleChara* ptr = default(BattleChara*);
|
||||
while (true)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (gameObject is IBattleChara)
|
||||
{
|
||||
BattleChara* address = (BattleChara*)gameObject.Address;
|
||||
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.Incapacitated)
|
||||
int num2 = num;
|
||||
int num3 = -1964360589;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
return (address->ActorControlFlags & 0x40) != 0;
|
||||
case 2:
|
||||
{
|
||||
byte actorControlFlags = ptr->ActorControlFlags;
|
||||
num3 = 64;
|
||||
num4 = actorControlFlags;
|
||||
return (num4 | num3) - (num4 ^ num3) != 0;
|
||||
}
|
||||
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.HealthPercent)
|
||||
{
|
||||
return 100f * (float)address->Health / (float)address->MaxHealth < (float)_combatData.CombatItemUse.Value;
|
||||
}
|
||||
if (_combatData.CombatItemUse.Condition == ECombatItemUseCondition.MissingStatus)
|
||||
{
|
||||
return !address->StatusManager.HasStatus((uint)_combatData.CombatItemUse.Value);
|
||||
case 0:
|
||||
return 100f * (float)ptr->Health / (float)ptr->MaxHealth < (float)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse);
|
||||
case 9:
|
||||
num = -1964360581;
|
||||
break;
|
||||
case 7:
|
||||
return false;
|
||||
case 6:
|
||||
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.MissingStatus) ? (-1964360588) : (-1964360585));
|
||||
break;
|
||||
case 4:
|
||||
return !ptr->StatusManager.HasStatus((uint)_206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(_combatData.CombatItemUse));
|
||||
case 8:
|
||||
return false;
|
||||
case 5:
|
||||
ptr = (BattleChara*)_200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(gameObject);
|
||||
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.Incapacitated) ? (-1964360592) : (-1964360591));
|
||||
break;
|
||||
case 1:
|
||||
num = ((!(gameObject is IBattleChara)) ? (-1964360588) : (-1964360586));
|
||||
break;
|
||||
case 3:
|
||||
num = ((_206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(_combatData.CombatItemUse) != ECombatItemUseCondition.HealthPercent) ? (-1964360587) : (-1964360589));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool CanAttack(IBattleNpc target)
|
||||
{
|
||||
return _delegate.CanAttack(target);
|
||||
}
|
||||
|
||||
bool ICombatModule.CanAttack(IBattleNpc target)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in CanAttack
|
||||
return this.CanAttack(target);
|
||||
}
|
||||
|
||||
static Type _202A_200C_206B_202C_206A_206B_202C_202B_206A_200C_206A_206B_206B_202B_202D_202B_202D_206B_206F_202D_206C_202D_206C_202E_202C_206D_200D_202C_200D_202B_200D_200E_200E_206F_202B_200E_206A_202A_206E_202C_202E(object P_0)
|
||||
{
|
||||
return P_0.GetType();
|
||||
}
|
||||
|
||||
static string _202C_206B_202B_206E_200B_206D_200F_206D_206F_200D_200B_206F_206E_202B_202E_200D_202D_206A_206B_200E_202A_206A_202B_202D_206E_206A_206C_202C_200B_200E_206E_206C_200E_206E_206A_206C_202C_202E_202A_202E_202E(MemberInfo P_0)
|
||||
{
|
||||
return P_0.Name;
|
||||
}
|
||||
|
||||
static void _202D_200C_200B_202A_200C_202C_206F_206E_206C_202D_200D_206A_200E_202D_206F_206B_200D_202E_202C_206F_200B_202B_206B_200D_206D_200B_206B_202A_202D_200F_206F_200D_206B_206D_206B_206D_206F_200D_202B_206A_202E(ILogger P_0, string P_1, object[] P_2)
|
||||
{
|
||||
P_0.LogDebug(P_1, P_2);
|
||||
}
|
||||
|
||||
static long _202E_206A_202A_200D_206D_206A_206A_202B_202E_206E_202D_206D_206E_200C_202D_202D_206C_200E_206C_202B_200D_206F_200B_202C_200D_200F_200F_206C_206D_206C_202A_200D_202E_206A_206E_202D_200F_200B_202A_206A_202E()
|
||||
{
|
||||
return Environment.TickCount64;
|
||||
}
|
||||
|
||||
static uint _206D_202D_206D_202B_206E_202C_202B_202D_200E_200F_202E_202E_206E_202B_202E_202A_202B_202A_200F_206A_206F_202E_200C_200C_202A_206E_200F_206F_200B_200B_206B_206E_206D_206D_206D_206D_206A_202A_206A_200E_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.BaseId;
|
||||
}
|
||||
|
||||
static uint _202A_206E_200D_202B_200D_202D_206C_206C_202B_200C_206D_206B_206A_206A_200E_202E_200C_206E_200C_202B_200F_200F_202B_200D_202A_202A_200F_206D_202A_200B_200C_200E_206C_202A_206E_206F_206B_206F_206A_206A_202E(CombatItemUse P_0)
|
||||
{
|
||||
return P_0.ItemId;
|
||||
}
|
||||
|
||||
static bool _200D_200F_202C_206F_202E_202C_206A_202D_206E_206A_206A_206E_200B_202D_206E_202B_202C_206E_202B_206D_206C_200E_202E_200F_206C_202C_200B_202E_206F_200E_206E_200C_202B_202A_200E_200C_206B_200C_206F_206F_202E(ICondition P_0, ConditionFlag P_1)
|
||||
{
|
||||
return P_0[P_1];
|
||||
}
|
||||
|
||||
static nint _200D_200D_202A_206D_202B_206C_202E_200B_206F_202D_200C_206F_200E_200B_206C_200C_206F_200B_206D_206D_202E_202D_206F_206B_202A_206A_202B_206D_206D_200C_200F_202D_202D_206D_202D_206C_200C_202E_202D_202E_202E(IGameObject P_0)
|
||||
{
|
||||
return P_0.Address;
|
||||
}
|
||||
|
||||
static ECombatItemUseCondition _206E_206C_206F_206C_206F_200F_200E_202A_200E_200B_200C_202C_206A_200E_200C_206A_202D_206F_200E_206E_202A_200D_200E_200E_206B_202C_202C_202E_202B_200C_202D_206F_200B_206F_200F_206F_206A_200F_202B_206F_202E(CombatItemUse P_0)
|
||||
{
|
||||
return P_0.Condition;
|
||||
}
|
||||
|
||||
static int _206F_202B_200E_200D_200E_200D_206B_200C_200E_206C_200E_200E_202C_202E_206E_200D_206B_206C_200D_206A_202E_200C_206B_200D_200E_200C_206D_200B_200B_206D_202D_200B_202E_200F_200E_206D_200D_206D_200E_202E(CombatItemUse P_0)
|
||||
{
|
||||
return P_0.Value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue