using SoulHarvest.Items;
using SoulHarvest.Projectiles;
using Microsoft.Xna.Framework;
using System;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
using Terraria.ModLoader;
namespace SoulHarvest.Common;
public sealed class ReaperCombatSystem : ModSystem
{
internal static readonly byte[,] ComboPhase = new byte[Main.maxPlayers, 8];
internal static readonly ulong[,] LastComboTick = new ulong[Main.maxPlayers, 8];
internal static readonly int[] ActivePrimaryProjectile = new int[Main.maxPlayers];
internal static readonly bool[] HasActivePrimaryProjectile = new bool[Main.maxPlayers];
internal static readonly ulong[] NextPrimaryAuthorizationTick = new ulong[Main.maxPlayers];
internal static readonly byte[] DeathPrimaryChain = new byte[Main.maxPlayers];
internal static readonly ulong[] LastDeathPrimaryTick = new ulong[Main.maxPlayers];
internal static readonly bool[] DeathPrimaryAssemblyReady = new bool[Main.maxPlayers];
public override void Unload()
{
Array.Clear(ComboPhase, 0, ComboPhase.Length);
Array.Clear(LastComboTick, 0, LastComboTick.Length);
Array.Clear(ActivePrimaryProjectile, 0, ActivePrimaryProjectile.Length);
Array.Clear(HasActivePrimaryProjectile, 0, HasActivePrimaryProjectile.Length);
Array.Clear(NextPrimaryAuthorizationTick, 0, NextPrimaryAuthorizationTick.Length);
Array.Clear(DeathPrimaryChain, 0, DeathPrimaryChain.Length);
Array.Clear(LastDeathPrimaryTick, 0, LastDeathPrimaryTick.Length);
Array.Clear(DeathPrimaryAssemblyReady, 0,
DeathPrimaryAssemblyReady.Length);
}
}
using SoulHarvest.Items;
using SoulHarvest.Projectiles;
using Microsoft.Xna.Framework;
using System;
using Terraria;
using Terraria.DataStructures;
using Terraria.ID;
using Terraria.ModLoader;
namespace SoulHarvest.Common;
public sealed class ReaperCombatSystem : ModSystem
{
internal static readonly byte[,] ComboPhase = new byte[Main.maxPlayers, 8];
internal static readonly ulong[,] LastComboTick = new ulong[Main.maxPlayers, 8];
internal static readonly int[] ActivePrimaryProjectile = new int[Main.maxPlayers];
internal static readonly bool[] HasActivePrimaryProjectile = new bool[Main.maxPlayers];
internal static readonly ulong[] NextPrimaryAuthorizationTick = new ulong[Main.maxPlayers];
internal static readonly byte[] DeathPrimaryChain = new byte[Main.maxPlayers];
internal static readonly ulong[] LastDeathPrimaryTick = new ulong[Main.maxPlayers];
internal static readonly bool[] DeathPrimaryAssemblyReady = new bool[Main.maxPlayers];
public override void Unload()
{
Array.Clear(ComboPhase, 0, ComboPhase.Length);
Array.Clear(LastComboTick, 0, LastComboTick.Length);
Array.Clear(ActivePrimaryProjectile, 0, ActivePrimaryProjectile.Length);
Array.Clear(HasActivePrimaryProjectile, 0, HasActivePrimaryProjectile.Length);
Array.Clear(NextPrimaryAuthorizationTick, 0, NextPrimaryAuthorizationTick.Length);
Array.Clear(DeathPrimaryChain, 0, DeathPrimaryChain.Length);
Array.Clear(LastDeathPrimaryTick, 0, LastDeathPrimaryTick.Length);
Array.Clear(DeathPrimaryAssemblyReady, 0,
DeathPrimaryAssemblyReady.Length);
}
}