Replicating hitboxes

Hey, I’m making something for a game that requires a lot of hitboxes for moves and I have no idea what the best way of replicating them would be the code its this

local HitDebounce = false
			coroutine.resume(coroutine.create(function()
				for i=1,15 do
					wait()
					if HitDebounce == false then
						for i,v in pairs(workspace:GetChildren()) do
							if v:FindFirstChild("Humanoid") and v:FindFirstChild("HumanoidRootPart") and v ~= c then
								local distance = (v.HumanoidRootPart.Position - c["Right Arm"].Position).magnitude
								if distance < 5 then
									local TargetHumanoid = v:FindFirstChild("Humanoid")
									Damage:Move(TargetHumanoid,Settings.Move.Damage,c["Right Arm"])
									HitDebounce = true
									delay(0.5,function()HitDebounce = false end)
								end 
							end 
						end	 
					end
				end
			end))

What is the best way to use the hitboxes multiple times since it takes up a big chunk of lines in my server script making hitboxes for the moves.

If I understand you right, are you asking if there’s a way to just create hitboxes for every move through a loop or something of the sort? Because if you want your moves to have a lot of variety, I’d say this is the best way to do it.

Creating individual timeframes and sizes for each hitbox is good as it allows you to tweak each one individually, say if one is more powerful than the other it gets a bigger hitbox. If you have a lot of moves, it will take up a chunk of your script, so I’d make sure to store all hitbox data in a separate ModuleScript.