Dashing Attacking Move

I am trying to do something like this flame grab move from Deepwoken

How do I replicate something similar?

if action == "ProjectionT" then
						if player.Character:FindFirstChild("DaggersBool") and player.Character:FindFirstChild("DaggerRight") and player.Character:FindFirstChild("DaggerLeft") then
							local dagger1 = player.Character:FindFirstChild("DaggerRight")
							local dagger2 = player.Character:FindFirstChild("DaggerLeft")
							
							
							STUN_MODULE.Stun(player.Character.Humanoid,1)
							
							
							local initialhealth = player.Character.Humanoid.Health

							local anim1 = MODEL_FOLDER.Anims.WroughtThurstStartupAnimation
							local anim1load = player.Character.Humanoid.Animator:LoadAnimation(anim1)
							anim1load:Play()
							
							
							
							task.wait(0.3)
							anim1load:Stop()
							if player.Character.Humanoid.Health >= initialhealth then
								
								


								player.Character.Humanoid.AutoRotate = false
								
								--player.Character.HumanoidRootPart.CanCollide = false
								
								local anim2 = MODEL_FOLDER.Anims.WroughtThurstAnimation
								local anim2load = player.Character.Humanoid.Animator:LoadAnimation(anim2)
								anim2load:Play()
								
								dagger1.Trail.Enabled = true
								dagger2.Trail.Enabled = true
								dagger1.Trail2.Enabled = true
								dagger2.Trail2.Enabled = true
								
								KNOCK_BACK_MODULE:Knockback(player.Character,50000,0,.25,player.Character.HumanoidRootPart.CFrame.LookVector,200)
								
								
								local params = OverlapParams.new()
								params.FilterType = Enum.RaycastFilterType.Exclude
								params.FilterDescendantsInstances = {player.Character}


								--params.FilterDescendantsInstances = {player.Character}
								local hitbox = HITBOX_MODULE.CreateHitbox()
								--params.FilterDescendantsInstances = {player.Character}
								hitbox.Size = Vector3.new(5,5,5)
								hitbox.CFrame = player.Character.HumanoidRootPart
								hitbox.Offset = CFrame.new(0,0,-3)
								hitbox.OverlapParams = params		
								hitbox.DetectionMode = "HitOnce"
								hitbox.AutoDestroy = false
								--hitbox.OverlapParams = player.Character
								hitbox.Visualizer = HITBOX_VISIBILITY



								local Hits = {}
								hitbox.Touched:Connect(function(hit, hum) 
									if Hits[hit.Parent.Name] then
										return
									end
									if hit.Parent:FindFirstChild("Iframe") and hit.Parent:FindFirstChild("Stunned") then


										if hit.Parent.Humanoid.Health == 0 then return end
										Hits[hit.Parent.Name] = true


										anim2load:Stop()
										
										
										local anim3 = MODEL_FOLDER.Anims.WroughtThurstAnimationLand
										local anim3load = player.Character.Humanoid.Animator:LoadAnimation(anim3)
										anim3load:Play()
										
										GIVE_XP(player)
										
										
										STUN_MODULE.Stun(player.Character.Humanoid,0.5)
										STUN_MODULE.Stun(hit.Parent.Humanoid,0.5)

										
										
										--hit.Parent.HumanoidRootPart.CFrame = player.Character.HumanoidRootPart.CFrame * CFrame.new(0,0,-3)
										KNOCK_BACK_MODULE:Knockback(player.Character,0,0,.5,player.Character.HumanoidRootPart.CFrame.LookVector,0)
										KNOCK_BACK_MODULE:Knockback(hit.Parent,0,0,.5,hit.Parent.HumanoidRootPart.CFrame.LookVector,0)


                                        local weld = Instance.new("Weld",hit.Parent.HumanoidRootPart)
										weld.Part0 = hit.Parent.HumanoidRootPart
										weld.Part1 = player.Character.HumanoidRootPart
										weld.C0 = CFrame.new(0,0,-3)
										--Motor6D.C0 = CFrame.new(0, math.rad(-4), -0)
										--Motor6D.C1 = CFrame.new(0, 0, math.rad(-1.3))
										weld.C1 = CFrame.Angles(math.rad(0),math.rad(180),math.rad(0))
										
										--player.Character.HumanoidRootPart.Anchored = true
										--IFRAME_MODULE:Iframe(hit.Parent,0.5)
										--IFRAME_MODULE:Iframe(player.Character,0.5)
										hit.Parent.Humanoid.AutoRotate = false
										hit.Parent.Humanoid.PlatformStand = true
										delay(0.07, function()
											if weld then
												weld:Destroy()
												anim3load:Stop()
												local sfx2 = SOUNDS_FOLDER:FindFirstChild("Sword_Hit_SFX"):Clone()
												sfx2.Parent = player.Character.HumanoidRootPart
												sfx2:Play()
												game.Debris:AddItem(sfx2,2)
												--player.Character.HumanoidRootPart.Anchored = false
												hit.Parent.Humanoid.AutoRotate = true
												hit.Parent.Humanoid.PlatformStand = false
												DAMAGE_MODULE:Damage(hit.Parent,Daggers_ClickDamage + DamageStats/10 ,1,player)

												
											end
										end)
										
										
									end

								end)
								hitbox:Start()

								delay(0.5, function()
									if hitbox then
										hitbox:Destroy()
									end
									
									player.Character.Humanoid.AutoRotate = true

									dagger1.Trail.Enabled = false
									dagger2.Trail.Enabled = false
									dagger1.Trail2.Enabled = false
									dagger2.Trail2.Enabled = false
									
									--player.Character.HumanoidRootPart.CanCollide = true
								end)
								
								
								
								
							end
							
							
							
						end
					end

I used my knockback module to propel myself forward, and I used it again to stop any movement.
I also used weld, knowing well that if a welded humanoid dies, the other welded one will too for some reason.

It would be great if there is an alternative to welding, but I can’t seem to think of any.

KNOCK_BACK_MODULE:Knockback(player.Character,50000,0,.25,player.Character.HumanoidRootPart.CFrame.LookVector,200)
								

This is my attempt, I quite dislike my current animation for the move but no idea what to go for.

1 Like