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); } }