using SoulHarvest.Common; using SoulHarvest.Items; using Microsoft.Xna.Framework; using System; using Terraria; using Terraria.ID; using Terraria.Localization; using Terraria.ModLoader; namespace SoulHarvest.Commands; public sealed class ReaperDebugGiveCommand : ModCommand { public override string Command => "reaperdebuggive"; public override CommandType Type => CommandType.World; public override string Usage => "/reaperdebuggive"; public override string Description => Language.GetTextValue("Mods.SoulHarvest.Commands.GiveDescription"); public override void Action(CommandCaller caller, string input, string[] args) { if (!ReaperDebugMode.TryGetPlayer(caller, out Player player)) return; player.QuickSpawnItem( player.GetSource_Misc("SoulHarvest:DebugResources"), ModContent.ItemType(), 999); MyPlayer modPlayer = player.GetModPlayer(); for (ReaperStage stage = ReaperStage.StageI; stage <= ReaperStage.StageIII; stage++) { while (modPlayer.ReaperProgression.CanIssueSoulSeal(stage)) { if (!ReaperProgressionSoulSealService.TryGrant(player, stage)) break; } } caller.Reply(Language.GetTextValue("Mods.SoulHarvest.Commands.GiveSuccess"), new Color(105, 235, 255)); } }