I MADE UPDATES!!
those architectural and performance issues ended up bothering me so I re-architected my folder structure / logic
I separated the creation of the hitboxes into two separate modules: one for the server and one for the client
I also introduced a new CombatServiceServer modulescript to handle the fired remote event, which also handles the logic for dealing damage
before, the logic for dealing damage was coupled with the hitbox creation, and I realized that this isn't ideal for more complex hit sequences
as for the hitbox creation logic, I changed the core functionality from using GetPartsInPart to GetPartBoundsInBox for better performance, since the former requires a full geometric collision check for every single part, whereas the latter just checks based on the bounding box of the part we specify
I also delayed the actual creation of the hitbox to be on a specific frame of each m1 animation, towards the end, rather than instantly on click
lastly, i made sure that this all follows SSA (single script architecture) for maximum DX
i don't even want to know how unperformant my code is but I got a basic combat system working 😎
will continue making tweaks to the hitbox add vfx/maybe better animations but this is what I have for now!