View difference between Paste ID: JHGtA8Uv and 3e9YLs65
SHOW: | | - or go back to the newest paste.
1-
print'i dont wanna be associated with SB anymore'
1+
-- Created by Nebula_Zorua --
2
-- The Distorted --
3
-- Or 13 V2, if you will. I'm officially calling it The Distorted though --
4
-- Discord: Nebula the Zorua#6969
5
-- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
6
7
8
-- I'm not a mod anymore, so what's the point of holding this unnerfed version back?
9
10
--// Initializing \\--
11
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
12
local Plrs = S.Players
13
local Plr = Plrs.LocalPlayer
14
local Char = Plr.Character
15
local Hum = Char:FindFirstChildOfClass'Humanoid'
16
local RArm = Char["Right Arm"]
17
local LArm = Char["Left Arm"]
18
local RLeg = Char["Right Leg"]
19
local LLeg = Char["Left Leg"]	
20
local Root = Char:FindFirstChild'HumanoidRootPart'
21
local Torso = Char.Torso
22
local Head = Char.Head
23
local NeutralAnims = true
24
local Attack = false
25
local BloodPuddles = {}
26
local Debounces = {Debounces={}}
27
local Mouse = Plr:GetMouse()
28
local Hit = {}
29
local Sine = 0
30
local Change = 1
31
local WasAir = false
32
local InAir = false
33
local LandTick = 0;
34
local WalkSpeed = 8
35
local StepTick = 0;
36
local Muted = false
37
38
39
local Effects = Instance.new("Folder",Char)
40
Effects.Name = "Effects"
41
--// Debounce System \\--
42
43
44
function Debounces:New(name,cooldown)
45
	local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
46
	setmetatable(aaaaa,{__index = Debounces})
47
	Debounces.Debounces[name] = aaaaa
48
	return aaaaa
49
end
50
51
function Debounces:Use(overrideUsable)
52
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
53
	if(self.Usable or overrideUsable)then
54
		self.Usable = false
55
		self.CoolingDown = true
56
		local LastUse = time()
57
		self.LastUse = LastUse
58
		delay(self.Cooldown or 2,function()
59
			if(self.LastUse == LastUse)then
60
				self.CoolingDown = false
61
				self.Usable = true
62
			end
63
		end)
64
	end
65
end
66
67
function Debounces:Get(name)
68
	assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
69
	for i,v in next, Debounces.Debounces do
70
		if(i == name)then
71
			return v;
72
		end
73
	end
74
end
75
76
function Debounces:GetProgressPercentage()
77
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
78
	if(self.CoolingDown and not self.Usable)then
79
		return math.max(
80
			math.floor(
81
				(
82
					(time()-self.LastUse)/self.Cooldown or 2
83
				)*100
84
			)
85
		)
86
	else
87
		return 100
88
	end
89
end
90
91
--// Shortcut Variables \\--
92
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
93
local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
94
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
95
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
96
local R3 = {N=Region3.new}
97
local De = S.Debris
98
local WS = workspace
99
local Lght = S.Lighting
100
local RepS = S.ReplicatedStorage
101
local IN = Instance.new
102
--// Instance Creation Functions \\--
103
104
--
105
106
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
107
	local Sound = IN("Sound")
108
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
109
	Sound.Pitch = pitch or 1
110
	Sound.Volume = volume or 1
111
	Sound.Looped = looped or false
112
	if(autoPlay)then
113
		coroutine.wrap(function()
114
			repeat wait() until Sound.IsLoaded
115
			Sound.Playing = autoPlay or false
116
		end)()
117
	end
118
	if(not looped and effect)then
119
		Sound.Stopped:connect(function()
120
			Sound.Volume = 0
121
			Sound:destroy()
122
		end)
123
	elseif(effect)then
124
		warn("Sound can't be looped and a sound effect!")
125
	end
126
	Sound.Parent =parent or Torso
127
	return Sound
128
end
129
130
function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
131
	local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
132
	local Sound = IN("Sound")
133
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
134
	Sound.Pitch = pitch or 1
135
	Sound.Volume = volume or 1
136
	Sound.Looped = looped or false
137
	if(autoPlay)then
138
		coroutine.wrap(function()
139
			repeat wait() until Sound.IsLoaded
140
			Sound.Playing = autoPlay or false
141
		end)()
142
	end
143
	if(not looped and effect)then
144
		Sound.Stopped:connect(function()
145
			Sound.Volume = 0
146
			soundPart:destroy()
147
		end)
148
	elseif(effect)then
149
		warn("Sound can't be looped and a sound effect!")
150
	end
151
	Sound.Parent = soundPart
152
	return Sound
153
end
154
155
function Part(parent,color,material,size,cframe,anchored,cancollide)
156
	local part = IN("Part")
157
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
158
	part.Material = material or Enum.Material.SmoothPlastic
159
	part.TopSurface,part.BottomSurface=10,10
160
	part.Size = size or V3.N(1,1,1)
161
	part.CFrame = cframe or CF.N(0,0,0)
162
	part.Anchored = anchored or true
163
	part.CanCollide = cancollide or false
164
	part.Parent = parent or Char
165
	return part
166
end
167
function Mesh(parent,meshtype,meshid,textid,scale,offset)
168
	local part = IN("SpecialMesh")
169
	part.MeshId = meshid or ""
170
	part.TextureId = textid or ""
171
	part.Scale = scale or V3.N(1,1,1)
172
	part.Offset = offset or V3.N(0,0,0)
173
	part.MeshType = meshtype or Enum.MeshType.Sphere
174
	part.Parent = parent
175
	return part
176
end
177
178
NewInstance = function(instance,parent,properties)
179
	local inst = Instance.new(instance)
180
	inst.Parent = parent
181
	if(properties)then
182
		for i,v in next, properties do
183
			pcall(function() inst[i] = v end)
184
		end
185
	end
186
	return inst;
187
end
188
189
function Clone(instance,parent,properties)
190
	local inst = instance:Clone()
191
	inst.Parent = parent
192
	if(properties)then
193
		for i,v in next, properties do
194
			pcall(function() inst[i] = v end)
195
		end
196
	end
197
	return inst;
198
end
199
200
-- thanks shack im lazy lol
201
local Prtcl = IN("ParticleEmitter",nil)
202
Prtcl.Enabled = false
203
Prtcl.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
204
Prtcl.LightEmission = 0.5
205
Prtcl.Rate = 350
206
Prtcl.ZOffset = 1
207
Prtcl.Rotation = NumberRange.new(-180, 180)
208
Prtcl.RotSpeed = NumberRange.new(-180, 180)
209
Prtcl.Texture = "rbxassetid://304437537"
210
Prtcl.Color = ColorSequence.new(C3.RGB(64,64,64),C3.N(1,1,1))
211
212
function Particle(Table) -- thanks shack im STILL lazy
213
	local PRTCL = Prtcl:Clone()
214
	local Speed = Table.Speed or 5
215
	local Drag = Table.Drag or 0
216
	local Size1 = Table.Size1 or 1
217
	local Size2 = Table.Size2 or 5
218
	local Lifetime1 = Table.Lifetime1 or 1
219
	local Lifetime2 = Table.Lifetime2 or 1.5
220
	local Parent = Table.Parent or Torso
221
	local Emit = Table.Emit or 100
222
	local Offset = Table.Offset or 360
223
	local Acel = Table.Acel or V3.N(0,0,0)
224
	local Enabled = Table.Enabled or false
225
	local Texture = Table.Texture or "rbxasset://textures/particles/fire_main.dds"
226
	local Locked = Table.Locked or false
227
	PRTCL.Parent = Parent
228
	PRTCL.LockedToPart = Locked
229
	PRTCL.Size = NumberSequence.new(Size1,Size2)
230
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
231
	PRTCL.Speed = NumberRange.new(Speed)
232
	PRTCL.VelocitySpread = Offset
233
	PRTCL.Drag = Drag
234
	PRTCL.Acceleration = Acel
235
	PRTCL.Texture = Texture
236
	PRTCL.Rate = Emit
237
	if Enabled == false then
238
		PRTCL:Emit(Emit)
239
		S.Debris:AddItem(PRTCL,Lifetime2)
240
	else
241
		PRTCL.Enabled = true
242
	end
243
	return PRTCL
244
end
245
246
247
--// Extended ROBLOX tables \\--
248
local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
249
--// Customization \\--
250
251
local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
252
local Remove_Hats = false
253
local Remove_Clothing = false
254
local PlayerSize = 1
255
local DamageColor = BrickColor.new'Really black'
256
local MusicID = 501589547
257
258
--// Weapon and GUI creation, and Character Customization \\--
259
260
if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
261
if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
262
263
264
Hum.DisplayDistanceType = 'None'
265
266
local naeeym2 = IN("BillboardGui",Char)
267
naeeym2.AlwaysOnTop = true
268
naeeym2.Size = UDim2.new(5,35,2,15)
269
naeeym2.StudsOffset = V3.N(0,2.5,0)
270
naeeym2.Adornee = Char.Head
271
naeeym2.Name = "Name"
272
naeeym2.PlayerToHideFrom = Plr
273
local tecks2 = IN("TextLabel",naeeym2)
274
tecks2.BackgroundTransparency = 1
275
tecks2.TextScaled = true
276
tecks2.BorderSizePixel = 0
277
tecks2.Text = "The Blackened"
278
tecks2.Font = Enum.Font.Bodoni
279
tecks2.TextSize = 30
280
tecks2.TextStrokeTransparency = 0
281
tecks2.TextColor3 = C3.N(.5,.5,.5)
282
tecks2.TextStrokeColor3 = C3.N(1,1,1)
283
tecks2.Size = UDim2.new(1,0,0.5,0)
284
tecks2.Parent = naeeym2
285
286
287
288
289
290
New = function(Object, Parent, Name, Data)
291
	local Object = Instance.new(Object)
292
	for Index, Value in pairs(Data or {}) do
293
		Object[Index] = Value
294
	end
295
	Object.Parent = Parent
296
	Object.Name = Name
297
	return Object
298
end
299
	
300
Bone = New("Part",Char,"Bone",{BrickColor = BrickColor.new("Maroon"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.099999994, 0.440000236, 0.0799999982),CFrame = CFrame.new(-67.9992447, 1.09667599, 92.827446, 0.618669689, -0.778135777, -0.108409032, 0.328475863, 0.381534815, -0.864022493, 0.713688612, 0.498934716, 0.491642892),Color = Color3.new(0.972549, 0.972549, 0.972549),})
301
mot = New("Motor",Bone,"mot",{Part0 = Bone,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, 0.618669689, 0.328475863, 0.713688612, -0.778135777, 0.381534815, 0.498934716, -0.108409032, -0.864022493, 0.491642892),C1 = CFrame.new(-0.142066956, 0.0965499878, 0.817428589, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
302
Bone = New("Part",Char,"Bone",{BrickColor = BrickColor.new("Maroon"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.099999994, 0.220000222, 0.0799999982),CFrame = CFrame.new(-67.7482147, 0.980813861, 92.6753845, 0.654389918, -0.668738604, 0.352934062, 0.754363894, 0.545237362, -0.365583509, 0.0520469919, 0.505474925, 0.86127007),Color = Color3.new(0.972549, 0.972549, 0.972549),})
303
mot = New("Motor",Bone,"mot",{Part0 = Bone,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, 0.654389918, 0.754363894, 0.0520469919, -0.668738604, 0.545237362, 0.505474925, 0.352934062, -0.365583509, 0.86127007),C1 = CFrame.new(-0.294128418, -0.0193121433, 0.566398621, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
304
Blood = New("Part",Char,"Blood",{BrickColor = BrickColor.new("White"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.282499969, 0.0766666532, 0.189999968),CFrame = CFrame.new(-67.6550522, 0.932102025, 92.6624374, -0.00266400119, -0.996861994, -0.079115279, 0.999996483, -0.00267234421, -4.24469931e-07, -0.000211000108, -0.0791150033, 0.996865511),Color = Color3.new(0.458824, 0, 0),})
305
mot = New("Motor",Blood,"mot",{Part0 = Blood,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, -0.00266400119, 0.999996483, -0.000211000108, -0.996861994, -0.00267234421, -0.0791150033, -0.079115279, -4.24469931e-07, 0.996865511),C1 = CFrame.new(-0.3070755, -0.0680239797, 0.473236084, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
306
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.56000042, 0.660000384, 0.0500000007),CFrame = CFrame.new(-67.6787415, 1.05639434, 93.0375519, 0, 0, -1, 0, 1, 0, 1, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
307
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.0680389404, 0.0562683344, 0.496925354, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
308
Blood = New("Part",Char,"Blood",{BrickColor = BrickColor.new("White"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.282499969, 0.0766666532, 0.280000001),CFrame = CFrame.new(-67.3698196, 0.932102203, 92.4828796, 0, 0, -1, 0.999996424, -0.00266899844, 0, -0.00266899844, -0.999996424, 0),Color = Color3.new(0.458824, 0, 0),})
309
mot = New("Motor",Blood,"mot",{Part0 = Blood,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, 0, 0.999996424, -0.00266899844, 0, -0.00266899844, -0.999996424, -1, 0, 0),C1 = CFrame.new(-0.486633301, -0.0680238008, 0.18800354, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
310
Bone = New("Part",Char,"Bone",{BrickColor = BrickColor.new("Maroon"),Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.150000006, 0.660000384, 0.11999999),CFrame = CFrame.new(-67.3659668, 1.09374464, 92.2612991, 0, 0, -1, 0.747014165, 0.664808154, 0, 0.664808154, -0.747014165, 0),Color = Color3.new(0.972549, 0.972549, 0.972549),})
311
mot = New("Motor",Bone,"mot",{Part0 = Bone,Part1 = LLeg,C0 = CFrame.new(0, 0, 0, 0, 0.747014165, 0.664808154, 0, 0.664808154, -0.747014165, -1, 0, 0),C1 = CFrame.new(-0.708213806, 0.0936186314, 0.184150696, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
312
313
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000252, 0.660000384, 0.0500000007),CFrame = CFrame.new(-67.6787415, 1.33912802, 93.9772263, 0, 0, -1, 0, 1, 0, 1, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
314
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = RLeg,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.0127105713, 0.339127064, 0.487541199, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
315
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000252, 0.660000384, 0.0500000007),CFrame = CFrame.new(-66.6787415, 1.33912802, 93.9772263, 0, 0, -1, 0, 1, 0, 1, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
316
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = RLeg,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.0127105713, 0.339127064, -0.512458801, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
317
318
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.140000015, 0.0500000007),CFrame = CFrame.new(-67.6787415, 3.12643075, 92.6921463, -9.31322575e-10, -1.86264515e-09, -0.999999285, 0.777135551, 0.629333496, 9.31322575e-10, 0.6293329, -0.777134895, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
319
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, -1, 0, 0),C1 = CFrame.new(-0.766067505, 0.138611317, 0.515716553, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
320
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.12999988, 1.12000012, 0.0500000007),CFrame = CFrame.new(-67.6951752, 3.43133378, 93.991272, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
321
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.533157349, 0.443484068, 0.50994873, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
322
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.450000018, 0.590000272, 0.0500000007),CFrame = CFrame.new(-67.6951752, 2.60608268, 94.3512573, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
323
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.893096924, -0.381786108, 0.509513855, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
324
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000013, 0.590000272, 0.0500000007),CFrame = CFrame.new(-66.6951752, 2.60608268, 94.2912598, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
325
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.817497253, -0.388065577, -0.489402771, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
326
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.220000237, 0.660000384, 0.0500000007),CFrame = CFrame.new(-66.6787338, 2.57395577, 93.9222183, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
327
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.448242188, -0.420258999, -0.49987793, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
328
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.07999992, 1.12000012, 0.0500000007),CFrame = CFrame.new(-66.6951752, 3.43133354, 93.9662704, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
329
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.492546082, 0.437201023, -0.489517212, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
330
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.340000302, 0.0500000007),CFrame = CFrame.new(-66.6787415, 3.2281816, 93.1287689, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
331
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(-0.345108032, 0.234031916, -0.491600037, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
332
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.0999999, 0.0500000007, 1.00999975),CFrame = CFrame.new(-67.1759109, 3.99574399, 93.9762726, 0, -0.0260759834, -0.999659359, 0, 0.999660075, -0.0260760002, 0.999999225, -2.91038305e-11, -9.31322575e-10),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
333
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, -0.0260760002, 0.999660015, 0, -0.999660015, -0.0260760002, 0),C1 = CFrame.new(0.510047913, 1.00462079, -0.0125579834, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
334
335
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.419999987, 0.870000064),CFrame = CFrame.new(-67.0815201, 2.81366396, 91.9528885, 0, 0, -1, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
336
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = LArm,C0 = CFrame.new(0, 0, 0, 0, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, -1, 0, 0),C1 = CFrame.new(-0.00936126709, -0.184385061, -0.0693511963, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
337
338
Corruption = New("Part",Char,"Corruption",{BrickColor = BrickColor.new("Gun metallic"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1,2,1),CFrame = CFrame.new(-67.0815201, 2.81366396, 91.9528885, 0, 0, -1, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, 0),Color = Color3.new(0.0666667, 0.0666667, 0.0666667),})
339
mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = RArm,C0 = CFrame.new(0, 0, 0),})
340
341
for _,v in next, Char:children() do
342
	if(v.Name == 'Corruption')then
343
		Particle{Texture="rbxassetid://304437537",Locked=false,Speed=0.1,Drag=3,Size1=.1,Size2=.3,Lifetime1=.2,Lifetime2=.5,Parent=v,Emit=350,Offset=360,Enabled=true}
344
	end
345
end
346
347
RArm.Transparency = 1
348
349
local Music = Sound(Char,MusicID,1,3,true,false,true)
350
Music.Name = 'Music'
351
352
--// Stop animations \\--
353
for _,v in next, Hum:GetPlayingAnimationTracks() do
354
	v:Stop();
355
end
356
357
pcall(game.Destroy,Char:FindFirstChild'Animate')
358
pcall(game.Destroy,Hum:FindFirstChild'Animator')
359
360
--// Joints \\--
361
362
local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
363
local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
364
local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
365
local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
366
local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
367
local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
368
369
local LSC0 = LS.C0
370
local RSC0 = RS.C0
371
local NKC0 = NK.C0
372
local LHC0 = LH.C0
373
local RHC0 = RH.C0
374
local RJC0 = RJ.C0
375
376
--// Artificial HB \\--
377
378
local ArtificialHB = IN("BindableEvent", script)
379
ArtificialHB.Name = "Heartbeat"
380
381
script:WaitForChild("Heartbeat")
382
383
local tf = 0
384
local allowframeloss = false
385
local tossremainder = false
386
local lastframe = tick()
387
local frame = 1/Frame_Speed
388
ArtificialHB:Fire()
389
390
game:GetService("RunService").Heartbeat:connect(function(s, p)
391
	tf = tf + s
392
	if tf >= frame then
393
		if allowframeloss then
394
			script.Heartbeat:Fire()
395
			lastframe = tick()
396
		else
397
			for i = 1, math.floor(tf / frame) do
398
				ArtificialHB:Fire()
399
			end
400
			lastframe = tick()
401
		end
402
		if tossremainder then
403
			tf = 0
404
		else
405
			tf = tf - frame * math.floor(tf / frame)
406
		end
407
	end
408
end)
409
410
function swait(num)
411
	if num == 0 or num == nil then
412
		ArtificialHB.Event:wait()
413
	else
414
		for i = 0, num do
415
			ArtificialHB.Event:wait()
416
		end
417
	end
418
end
419
420
421
--// Effect Function(s) \\--
422
423
function Bezier(startpos, pos2, pos3, endpos, t)
424
	local A = startpos:lerp(pos2, t)
425
	local B  = pos2:lerp(pos3, t)
426
	local C = pos3:lerp(endpos, t)
427
	local lerp1 = A:lerp(B, t)
428
	local lerp2 = B:lerp(C, t)
429
	local cubic = lerp1:lerp(lerp2, t)
430
	return cubic
431
end
432
433
function Zap(data)
434
	local sCF,eCF = data.StartCFrame,data.EndCFrame
435
	assert(sCF,"You need a start CFrame!")
436
	assert(eCF,"You need an end CFrame!")
437
	local parts = data.PartCount or 15
438
	local zapRot = data.ZapRotation or {-5,5}
439
	local startThick = data.StartSize or 3;
440
	local endThick = data.EndSize or startThick/2;
441
	local color = data.Color or BrickColor.new'Electric blue'
442
	local delay = data.Delay or 35
443
	local delayInc = data.DelayInc or 0
444
	local lastLightning;
445
	local MagZ = (sCF.p - eCF.p).magnitude
446
	local thick = startThick
447
	local inc = (startThick/parts)-(endThick/parts)
448
	
449
	for i = 1, parts do
450
		local pos = sCF.p
451
		if(lastLightning)then
452
			pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
453
		end
454
		delay = delay + delayInc
455
		local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
456
		local posie = CF.N(pos,eCF.p)*CF.N(0,0,MagZ/parts).p+V3.N(M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)))
457
		if(parts == i)then
458
			local MagZ = (pos-eCF.p).magnitude
459
			zapPart.Size = V3.N(endThick,endThick,MagZ)
460
			zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
461
			Effect{Effect='ResizeAndFade',Size=V3.N(thick,thick,thick),CFrame=eCF*CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180)),Color=color,Frames=delay*2,FXSettings={EndSize=V3.N(thick*8,thick*8,thick*8)}}
462
		else
463
			zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
464
		end
465
		
466
		lastLightning = zapPart
467
		Effect{Effect='Fade',Manual=zapPart,Frames=delay}
468
		
469
		thick=thick-inc
470
		
471
	end
472
end
473
474
function Tween(obj,props,time,easing,direction,repeats,backwards)
475
	local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
476
	local tween = S.TweenService:Create(obj, info, props)
477
	
478
	tween:Play()
479
end
480
481
function Effect(data)
482
	local FX = data.Effect or 'ResizeAndFade'
483
	local Parent = data.Parent or Effects
484
	local Color = data.Color or C3.N(0,0,0)
485
	local Size = data.Size or V3.N(1,1,1)
486
	local MoveDir = data.MoveDirection or nil
487
	local MeshData = data.Mesh or nil
488
	local SndData = data.Sound or nil
489
	local Frames = data.Frames or 45
490
	local Manual = data.Manual or nil
491
	local Material = data.Material or nil
492
	local CFra = data.CFrame or Torso.CFrame
493
	local Settings = data.FXSettings or {}
494
	local Shape = data.Shape or Enum.PartType.Block
495
	local Snd,Prt,Msh;
496
	coroutine.wrap(function()
497
		if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
498
			Prt = Manual
499
		else
500
			Prt = Part(Parent,Color,Material,Size,CFra,true,false)
501
			Prt.Shape = Shape
502
		end
503
		if(typeof(MeshData) == 'table')then
504
			Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
505
		elseif(typeof(MeshData) == 'Instance')then
506
			Msh = MeshData:Clone()
507
			Msh.Parent = Prt
508
		elseif(Shape == Enum.PartType.Block)then
509
			Msh = Mesh(Prt,Enum.MeshType.Brick)
510
		end
511
		if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
512
			Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
513
		end
514
		if(Snd)then
515
			repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
516
			Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
517
		end
518
		Size = (Msh and Msh.Scale or Size)
519
		local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
520
		
521
		local MoveSpeed = nil;
522
		if(MoveDir)then
523
			MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
524
		end
525
		if(FX ~= 'Arc')then
526
			for Frame = 1, Frames do
527
				if(FX == "Fade")then
528
					Prt.Transparency  = (Frame/Frames)
529
				elseif(FX == "Resize")then
530
					if(not Settings.EndSize)then
531
						Settings.EndSize = V3.N(0,0,0)
532
					end
533
					if(Settings.EndIsIncrement)then
534
						if(Msh)then
535
							Msh.Scale = Msh.Scale + Settings.EndSize
536
						else
537
							Prt.Size = Prt.Size + Settings.EndSize
538
						end					
539
					else
540
						if(Msh)then
541
							Msh.Scale = Msh.Scale - grow/Frames
542
						else
543
							Prt.Size = Prt.Size - grow/Frames
544
						end
545
					end 
546
				elseif(FX == "ResizeAndFade")then
547
					if(not Settings.EndSize)then
548
						Settings.EndSize = V3.N(0,0,0)
549
					end
550
					if(Settings.EndIsIncrement)then
551
						if(Msh)then
552
							Msh.Scale = Msh.Scale + Settings.EndSize
553
						else
554
							Prt.Size = Prt.Size + Settings.EndSize
555
						end					
556
					else
557
						if(Msh)then
558
							Msh.Scale = Msh.Scale - grow/Frames
559
						else
560
							Prt.Size = Prt.Size - grow/Frames
561
						end
562
					end 
563
					Prt.Transparency = (Frame/Frames)
564
				end
565
				if(Settings.RandomizeCFrame)then
566
					Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
567
				end
568
				if(MoveDir and MoveSpeed)then
569
					local Orientation = Prt.Orientation
570
					Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
571
					Prt.Orientation = Orientation
572
				end
573
				swait()
574
			end
575
			Prt:destroy()
576
		else
577
			local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
578
			if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
579
			if(start and endP)then
580
				local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
581
				local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
582
				for Frame = 0, 1, (Settings.Speed or 0.01) do
583
					if(Settings.Home)then
584
						endP = Settings.Home.CFrame
585
					end
586
					Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
587
				end
588
				if(Settings.RemoveOnGoal)then
589
					Prt:destroy()
590
				end
591
			else
592
				Prt:destroy()
593
				assert(start,"You need a start position!")
594
				assert(endP,"You need a start position!")
595
			end
596
		end
597
	end)()
598
	return Prt,Msh,Snd
599
end
600
function SoulSteal(whom)
601
	local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
602
	print(torso)
603
	if(torso and torso:IsA'BasePart')then
604
		local Model = Instance.new("Model",Effects)
605
		Model.Name = whom.Name.."'s Soul"
606
		whom:BreakJoints()
607
		local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
608
		Soul.Name = 'Head'
609
		NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
610
		Effect{
611
			Effect="Arc",
612
			Manual = Soul,
613
			FXSettings={
614
				Start=torso.CFrame,
615
				Home = Torso,
616
				RemoveOnGoal = true,
617
			}
618
		}
619
		local lastPoint = Soul.CFrame.p
620
	
621
		for i = 0, 1, 0.01 do 
622
				local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
623
				local mag = (lastPoint - Soul.Position).magnitude
624
				Effect{
625
					Effect = "Fade",
626
					CFrame = point * CF.N(0, mag/2, 0),
627
					Size = V3.N(.5,mag+.5,.5),
628
					Color = Soul.BrickColor
629
				}
630
				lastPoint = Soul.CFrame.p
631
			swait()
632
		end
633
		for i = 1, 5 do
634
			Effect{
635
				Effect="Fade",
636
				Color = BrickColor.new'Really red',
637
				MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
638
			}	
639
		end
640
	end
641
end
642
643
--// Other Functions \\ --
644
645
function Chat(text)
646
	coroutine.wrap(function()
647
		if(Char:FindFirstChild'ChatGUI')then Char.ChatGUI:destroy() end
648
		local BBG = NewInstance("BillboardGui",Char,{Name='ChatGUI',Size=UDim2.new(0,100,0,40),StudsOffset=V3.N(0,3,0),Adornee=Head})
649
		local offset = 0;
650
		local xsize = 0;
651
		for i = 1, #text do
652
			offset = offset - 16
653
			xsize = xsize + 32 	
654
			delay(i/25, function()
655
				local val = M.RNG(0,255)/255
656
				local Txt = NewInstance("TextLabel",BBG,{Text = text:sub(i,i),Position=UDim2.new(0,offset,-1,0),BackgroundTransparency=1,TextColor3=C3.N(val,val,val),BorderSizePixel=0,Font=Enum.Font.Garamond,TextSize=40,TextStrokeTransparency=1,Size=UDim2.new(1,0,.5,0)})
657
				Tween(Txt,{Position=UDim2.new(0,offset,0,0)},.75,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
658
				offset = offset + 32
659
				while Txt and Txt.Parent do
660
					Txt.Rotation = M.RNG(-15,15)
661
					swait()
662
				end
663
			end)
664
		end
665
		BBG.Size = UDim2.new(0,xsize,0,40)
666
		delay((#text/25)+3, function()
667
			for _,v in next, BBG:children() do
668
				pcall(function() v.Text = string.char(M.RNG(0,126)) end)
669
			end
670
		end)
671
		delay((#text/25)+4, function()
672
			BBG:destroy()
673
		end)
674
	end)()
675
end
676
677
function CastRay(startPos,endPos,range,ignoreList)
678
	local ray = Ray.new(startPos,(endPos-startPos).unit*range)
679
	local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
680
	return part,pos,norm,(pos and (startPos-pos).magnitude)
681
end
682
683
function getRegion(point,range,ignore)
684
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
685
end
686
687
function clerp(startCF,endCF,alpha)
688
	return startCF:lerp(endCF, alpha)
689
end
690
691
function GetTorso(char)
692
	return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
693
end
694
695
function ShowDamage(Pos, Text, Time, Color)
696
	coroutine.wrap(function()
697
	local Rate = (1 / 30)
698
	local Pos = (Pos or Vector3.new(0, 0, 0))
699
	local Text = (Text or "")
700
	local Time = (Time or 2)
701
	local Color = (Color or Color3.new(1, 0, 1))
702
	local EffectPart = NewInstance("Part",Effects,{
703
		Material=Enum.Material.SmoothPlastic,
704
		Reflectance = 0,
705
		Transparency = 1,
706
		BrickColor = BrickColor.new(Color),
707
		Name = "Effect",
708
		Size = Vector3.new(0,0,0),
709
		Anchored = true
710
	})
711
	local BillboardGui = NewInstance("BillboardGui",EffectPart,{
712
		Size = UDim2.new(1.25, 0, 1.25, 0),
713
		Adornee = EffectPart,
714
	})
715
	local TextLabel = NewInstance("TextLabel",BillboardGui,{
716
		BackgroundTransparency = 1,
717
		Size = UDim2.new(1, 0, 1, 0),
718
		Text = Text,
719
		Font = "Arial",
720
		TextColor3 = Color,
721
		TextStrokeColor3 = Color3.new(0,0,0),
722
		TextStrokeTransparency=0,
723
		TextScaled = true,
724
	})
725
	game.Debris:AddItem(EffectPart, (Time))
726
	EffectPart.Parent = game:GetService("Workspace")
727
	delay(0, function()
728
		local Frames = (Time / Rate)
729
		for Frame = 1, Frames do
730
			wait(Rate)
731
			local Percent = (Frame / Frames)
732
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
733
			TextLabel.TextTransparency = Percent
734
			TextLabel.TextStrokeTransparency = Percent
735
		end
736
		if EffectPart and EffectPart.Parent then
737
			EffectPart:Destroy()
738
		end
739
	end) end)()
740
end
741
742
743
function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
744
	if(who)then
745
		local hum = who:FindFirstChildOfClass'Humanoid'
746
		local Damage = M.RNG(minDam,maxDam)
747
		local canHit = true
748
		if(hum)then
749
			for _, p in pairs(Hit) do
750
				if p[1] == hum then
751
					if(time() - p[2] < 0.1) then
752
						canHit = false
753
					else
754
						Hit[_] = nil
755
					end
756
				end
757
			end
758
			if(canHit)then
759
				table.insert(Hit,{hum,time()})
760
				if(hum.Health >= math.huge)then
761
					who:BreakJoints()
762
					if(who:FindFirstChild'Head' and hum.Health > 0)then
763
						ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "INSTANT", 1.5, C3.N(1,0,0))
764
					end
765
				else
766
					local player = S.Players:GetPlayerFromCharacter(who)
767
					if(Type == "Fire")then
768
						--idk..
769
					else
770
						local  c = Instance.new("ObjectValue",hum)
771
						c.Name = "creator"
772
						c.Value = Plr
773
						game:service'Debris':AddItem(c,0.35)
774
						if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
775
							if(who:FindFirstChild'Head' and hum.Health > 0)then
776
								ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
777
							end
778
							hum.Health = hum.Health - Damage*(critMult or 2)
779
						else
780
							if(who:FindFirstChild'Head' and hum.Health > 0)then
781
								ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), Damage, 1.5, DamageColor.Color)
782
							end
783
							hum.Health = hum.Health - Damage
784
						end
785
						if(Type == 'Knockback' and GetTorso(who))then
786
							local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
787
							local body = NewInstance('BodyVelocity',GetTorso(who),{
788
								P = 500,
789
								maxForce = V3.N(math.huge,0,math.huge),
790
								velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
791
							})
792
							game:service'Debris':AddItem(body,.5)
793
						elseif(Type == "Electric")then
794
							if(M.RNG(1,100) >= critChance)then
795
								if(who:FindFirstChild'Head' and hum.Health > 0)then
796
									ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[PARALYZED]", 1.5, BrickColor.new"New Yeller".Color)
797
								end
798
								local asd = hum.WalkSpeed/2
799
								hum.WalkSpeed = asd
800
								local paralyzed = true
801
								coroutine.wrap(function()
802
									while paralyzed do
803
										swait(25)
804
										if(M.RNG(1,25) == 1)then
805
											if(who:FindFirstChild'Head' and hum.Health > 0)then
806
												ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[STATIC]", 1.5, BrickColor.new"New Yeller".Color)
807
											end
808
											hum.PlatformStand = true
809
										end
810
									end
811
								end)()
812
								delay(4, function()
813
									paralyzed = false
814
									hum.WalkSpeed = hum.WalkSpeed + asd
815
								end)
816
							end
817
							
818
						elseif(Type == 'Knockdown' and GetTorso(who))then
819
							local rek = GetTorso(who)
820
							hum.PlatformStand = true
821
							delay(1,function()
822
								hum.PlatformStand = false
823
							end)
824
							local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
825
							local bodvol = NewInstance("BodyVelocity",rek,{
826
								velocity = angle * Knock,
827
								P = 5000,
828
								maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
829
							})
830
							local rl = NewInstance("BodyAngularVelocity",rek,{
831
								P = 3000,
832
								maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
833
								angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
834
							})
835
							game:GetService("Debris"):AddItem(bodvol, .5)
836
							game:GetService("Debris"):AddItem(rl, .5)
837
						end
838
					end
839
				end
840
			end
841
		end
842
	end
843
end
844
845
function Kill(chr)
846
	coroutine.wrap(function()
847
		chr:BreakJoints()
848
		if(GetTorso(chr))then GetTorso(chr):BreakJoints() end
849
		swait(1)
850
		for _,v in next, chr:children() do
851
			if(v:IsA'Clothing' or v:IsA'Accessory' or v:IsA'Humanoid' or v:IsA'Model' or v:IsA'CharacterMesh')then
852
				v:destroy()
853
			elseif(v:IsA'BasePart')then
854
				for _,c in next, v:children() do if(c:IsA'Decal')then c:destroy() end end
855
				v.Color = C3.N(0,0,0)
856
				v.Material = Enum.Material.Neon
857
				v.CanCollide = false
858
				local bld = Instance.new("ParticleEmitter",v) -- thanks nooby
859
				bld.LightEmission = .25
860
				bld.Texture = "rbxasset://textures/particles/fire_main.dds"
861
				bld.Color = ColorSequence.new(C3.N(0,0,0))
862
				bld.Rate = 150
863
				bld.Lifetime = NumberRange.new(1)
864
				bld.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,0.75,0),NumberSequenceKeypoint.new(1,0,0)})
865
				bld.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)})
866
				bld.Speed = NumberRange.new(0,0)
867
				bld.VelocitySpread = 50000
868
				bld.Rotation = NumberRange.new(-500,500)
869
				bld.RotSpeed = NumberRange.new(-500,500)
870
				local rek = NewInstance("BodyVelocity",v,{maxForce=V3.N(math.huge,math.huge,math.huge),P=3000,Velocity=V3.N(M.RNG(-25,25),0,M.RNG(-25,25))})
871
				coroutine.wrap(function()
872
					for i = 0, 1.05, .05 do
873
						v.Transparency = i
874
						swait()
875
					end
876
					swait(Frame_Speed)
877
					rek:destroy()
878
					local rek = NewInstance("BodyVelocity",v,{maxForce=V3.N(math.huge,math.huge,math.huge),P=3000,Velocity=V3.N(M.RNG(-5,5),M.RNG(-5,5),M.RNG(-5,5))})
879
					bld.Enabled = false
880
					bld.Speed = NumberRange.new(5,10)
881
					bld.Acceleration = V3.N(0,10,0)
882
					S.Debris:AddItem(v,3)
883
				end)()
884
			end
885
		end
886
	end)()
887
end
888
889
function AOEKill(where,range)
890
	for _,v in next, getRegion(where,range,{Char}) do
891
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
892
			Kill(v.Parent)
893
		end
894
	end
895
end
896
897
function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
898
	for _,v in next, getRegion(where,range,{Char}) do
899
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
900
			DealDamage(v.Parent,minDam,maxDam,Knock,Type,critChance,critMult)
901
		end
902
	end
903
end
904
905
function AOEHeal(where,range,amount)
906
	local healed = {}
907
	for _,v in next, getRegion(where,range,{Char}) do
908
		local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
909
		if(hum and not healed[hum])then
910
			hum.Health = hum.Health + amount
911
			if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
912
				ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
913
			end
914
		end
915
	end
916
end
917
918
function CamShake(who,times,intense,origin) 
919
	coroutine.wrap(function()
920
		if(script:FindFirstChild'CamShake')then
921
			local cam = script.CamShake:Clone()
922
			cam:WaitForChild'intensity'.Value = intense
923
			cam:WaitForChild'times'.Value = times
924
			
925
	 		if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
926
			cam.Parent = who
927
			wait()
928
			cam.Disabled = false
929
		elseif(who == Plr or who == Char)then
930
			local intensity = intense
931
			local cam = workspace.CurrentCamera
932
			for i = 1, times do
933
				local camDistFromOrigin
934
				if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
935
					camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
936
				elseif(typeof(origin) == 'Vector3')then
937
					camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
938
				end
939
				if(camDistFromOrigin)then
940
					intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
941
				end
942
				cam.CFrame = cam.CFrame:lerp(cam.CFrame*CFrame.new(math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100)*CFrame.Angles(math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100)),.4)
943
				swait()
944
			end
945
		end
946
	end)()
947
end
948
949
function CamShakeAll(times,intense,origin)
950
	for _,v in next, Plrs:players() do
951
		CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
952
	end
953
end
954
955
function ServerScript(code)
956
	if(script:FindFirstChild'Loadstring')then
957
		local load = script.Loadstring:Clone()
958
		load:WaitForChild'Sauce'.Value = code
959
		load.Disabled = false
960
		load.Parent = workspace
961
	elseif(NS and typeof(NS) == 'function')then
962
		NS(code,workspace)
963
	else
964
		warn("no serverscripts lol")
965
	end	
966
end
967
968
function AOECamShake(where,range,times,intense,origin)
969
	local shook = {}
970
	for _,v in next, getRegion(where,range,{Char}) do
971
		local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
972
		if(hum and not shook[hum] and Plrs:GetPlayerFromCharacter(v.Parent))then
973
			shook[hum] = true
974
			CamShake(v.Parent,times,intense,origin)
975
		end
976
	end
977
end
978
979
function LocalOnPlayer(who,code)
980
	ServerScript([[
981
		wait()
982
		script.Parent=nil
983
		if(not _G.Http)then _G.Http = game:service'HttpService' end
984
		
985
		local Http = _G.Http or game:service'HttpService'
986
		
987
		local source = ]].."[["..code.."]]"..[[
988
		local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
989
		local asd = Http:PostAsync(link,source)
990
		repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
991
		local ID = Http:JSONDecode(asd).Result.Require_ID
992
		local vs = require(ID).VORTH_SCRIPT
993
		vs.Parent = game:service'Players'.]]..who.Name..[[.Character
994
	]])
995
end
996
997
998
--// Attack functions \\--
999
1000
function Stompie()
1001
	Attack = true
1002
	NeutralAnims = false
1003
	Hum.JumpPower = 0
1004
	WalkSpeed = 2
1005
	repeat swait()
1006
		for i = 0, 2, .1 do
1007
			local Alpha = .1
1008
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(25),0,0),Alpha)
1009
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1010
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.75,-.5),Alpha)
1011
			RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(-25),0,0),Alpha)
1012
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1013
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1014
			swait()
1015
		end
1016
		local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
1017
		repeat swait() hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char) until hitfloor
1018
		Sound(Root,438666141,1,7.5,false,true,true)
1019
		AOEKill(Torso.CFrame.p,35)
1020
		CamShakeAll(25,250,Torso.CFrame.p)
1021
		Effect{
1022
			CFrame=CF.N(posfloor)*CF.A(0,0,M.R(90)),
1023
			Size=V3.N(.05,35,35),
1024
			Color=BrickColor.new'Dark stone grey',
1025
			Mesh={MeshType=Enum.MeshType.Cylinder},
1026
			FXSettings={
1027
				EndIsIncrement=true,
1028
				EndSize=V3.N(0,.01,.01)
1029
			}
1030
		}
1031
		for i = 1, 15 do
1032
			local cf =CF.N(posfloor)*CF.N(M.RNG(-15,15),0,M.RNG(-15,15))*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25))*CF.A(0,0,M.R(90))
1033
			Effect{
1034
				Effect='Fade',
1035
				Size=V3.N(15,.25,.25),
1036
				CFrame=cf,
1037
				MoveDirection=cf*CF.N(15,0,0).p,
1038
				Color=BrickColor.new'Really black',
1039
				Mesh={MeshType=Enum.MeshType.Cylinder},
1040
			}	
1041
		end
1042
		for i = 0, 1, .1 do
1043
			local Alpha = .3
1044
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(-25),0,0),Alpha)
1045
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1046
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0,-.5)*CF.A(M.R(25),0,0),Alpha)
1047
			RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(25),0,0),Alpha)
1048
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1049
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1050
			swait()
1051
		end
1052
	until not S.UserInputService:IsKeyDown(Enum.KeyCode.Z)
1053
	WalkSpeed = 8
1054
	Attack = false
1055
	NeutralAnims = true
1056
end
1057
1058
1059
function AttackF()
1060
	Attack = true
1061
	NeutralAnims = false
1062
	for i = 0, 1, .1 do
1063
		local Alpha = .3
1064
		RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
1065
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1066
		LH.C0 = LH.C0:lerp(LHC0,Alpha)
1067
		RH.C0 = RH.C0:lerp(RHC0,Alpha)
1068
		LS.C0 = LS.C0:lerp(LSC0,Alpha)
1069
		RS.C0 = RS.C0:lerp(RSC0,Alpha)
1070
		swait()
1071
	end	
1072
	Attack = false
1073
	NeutralAnims = true
1074
end
1075
1076
function DistortItAll()
1077
	Attack = true
1078
	Hum.JumpPower = 0
1079
	WalkSpeed = 0
1080
	local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
1081
	repeat swait() hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char) until hitfloor
1082
	NeutralAnims = false
1083
	Chat "It's time.. To distort it all!~" 
1084
	swait(90)
1085
	Chat "Ahahahahahah!"
1086
	for i = 1, 3 do
1087
		for i = 0, 2, .1 do
1088
			local Alpha = .1
1089
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(25),0,0),Alpha)
1090
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1091
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.75,-.5),Alpha)
1092
			RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(-25),0,0),Alpha)
1093
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1094
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1095
			swait()
1096
		end
1097
		Sound(Root,438666141,1,7.5,false,true,true)
1098
		AOEKill(Torso.CFrame.p,35)
1099
		CamShakeAll(25,250,Torso.CFrame.p)
1100
		Effect{
1101
			CFrame=CF.N(posfloor)*CF.A(0,0,M.R(90)),
1102
			Size=V3.N(.05,85,85),
1103
			Color=BrickColor.new'Dark stone grey',
1104
			Mesh={MeshType=Enum.MeshType.Cylinder},
1105
			FXSettings={
1106
				EndIsIncrement=true,
1107
				EndSize=V3.N(0,.01,.01)
1108
			}
1109
		}
1110
		for i = 1, 15 do
1111
			local cf =CF.N(posfloor)*CF.N(M.RNG(-35,35),0,M.RNG(-35,35))*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25))*CF.A(0,0,M.R(90))
1112
			Effect{
1113
				Effect='Fade',
1114
				Size=V3.N(15,.25,.25),
1115
				CFrame=cf,
1116
				MoveDirection=cf*CF.N(15,0,0).p,
1117
				Color=BrickColor.new'Really black',
1118
				Mesh={MeshType=Enum.MeshType.Cylinder},
1119
			}	
1120
		end
1121
		for i = 0, 1, .1 do
1122
			local Alpha = .3
1123
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(-25),0,0),Alpha)
1124
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1125
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0,-.5)*CF.A(M.R(25),0,0),Alpha)
1126
			RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(25),0,0),Alpha)
1127
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1128
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1129
			swait()
1130
		end
1131
	end
1132
	Chat("JUST! DIE!")
1133
	for i = 0, 8, .1 do
1134
		local Alpha = .05
1135
		RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(25),0,0),Alpha)
1136
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1137
		LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.75,-.5),Alpha)
1138
		RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(-25),0,0),Alpha)
1139
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1140
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1141
		swait()
1142
	end
1143
	swait(60)
1144
	Sound(Root,438666141,1,7.5,false,true,true)
1145
	for _,v in next, workspace:GetDescendants() do
1146
		if(v:FindFirstChildOfClass'Humanoid' and v ~= Char)then
1147
			Kill(v)
1148
		end
1149
	end
1150
	CamShakeAll(125,1000)
1151
	Effect{
1152
		CFrame=CF.N(posfloor)*CF.A(0,0,M.R(90)),
1153
		Size=V3.N(.05,1024,1024),
1154
		Color=BrickColor.new'Dark stone grey',
1155
		Mesh={MeshType=Enum.MeshType.Cylinder},
1156
		FXSettings={
1157
			EndIsIncrement=true,
1158
			EndSize=V3.N(0,.01,.01)
1159
		}
1160
	}
1161
	for i = 1, 15 do
1162
		local cf =CF.N(posfloor)*CF.N(M.RNG(-1024,1024),0,M.RNG(-1024,1024))*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25))*CF.A(0,0,M.R(90))
1163
		Effect{
1164
			Effect='Fade',
1165
			Size=V3.N(15,.25,.25),
1166
			CFrame=cf,
1167
			MoveDirection=cf*CF.N(15,0,0).p,
1168
			Color=BrickColor.new'Really black',
1169
			Mesh={MeshType=Enum.MeshType.Cylinder},
1170
		}	
1171
	end
1172
	for i = 0, 4, .1 do
1173
		local Alpha = .3
1174
		RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(-25),0,0),Alpha)
1175
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1176
		LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0,-.5)*CF.A(M.R(25),0,0),Alpha)
1177
		RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(25),0,0),Alpha)
1178
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1179
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1180
		swait()
1181
	end
1182
	Chat "...Bye~"
1183
	for i = 0, 8, .1 do
1184
		local Alpha = .05
1185
		RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(25),0,0),Alpha)
1186
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1187
		LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.75,-.5),Alpha)
1188
		RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(-25),0,0),Alpha)
1189
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1190
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1191
		swait()
1192
	end
1193
	Sound(workspace,438666141,1,7.5,false,true,true)
1194
	AOEKill(Torso.CFrame.p,35)
1195
	CamShakeAll(25,250,Torso.CFrame.p)
1196
	Effect{
1197
		CFrame=CF.N(posfloor)*CF.A(0,0,M.R(90)),
1198
		Size=V3.N(.05,35,35),
1199
		Parent=workspace,
1200
		Color=BrickColor.new'Dark stone grey',
1201
		Mesh={MeshType=Enum.MeshType.Cylinder},
1202
		FXSettings={
1203
			EndIsIncrement=true,
1204
			EndSize=V3.N(0,.01,.01)
1205
		}
1206
	}
1207
	for i = 1, 15 do
1208
		local cf =CF.N(posfloor)*CF.N(M.RNG(-15,15),0,M.RNG(-15,15))*CF.A(M.RRNG(-25,25),M.RRNG(-25,25),M.RRNG(-25,25))*CF.A(0,0,M.R(90))
1209
		Effect{
1210
			Effect='Fade',
1211
			Parent=workspace,
1212
			Size=V3.N(15,.25,.25),
1213
			CFrame=cf,
1214
			MoveDirection=cf*CF.N(15,0,0).p,
1215
			Color=BrickColor.new'Really black',
1216
			Mesh={MeshType=Enum.MeshType.Cylinder},
1217
		}	
1218
	end
1219
	for i = 0, 1, .1 do
1220
		local Alpha = .3
1221
		RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1,0)*CF.A(M.R(-25),0,0),Alpha)
1222
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1223
		LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0,-.5)*CF.A(M.R(25),0,0),Alpha)
1224
		RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(25),0,0),Alpha)
1225
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,M.R(-15)),Alpha)
1226
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(15)),Alpha)
1227
		swait()
1228
	end
1229
	Kill(Char)
1230
end
1231
1232
1233
function Grab()
1234
	Attack = true
1235
	NeutralAnims = false
1236
	WalkSpeed = 0
1237
	local hit,pos,hummie;
1238
	local Hook = Part(Effects,C3.N(),Enum.Material.Neon,V3.N(.05,.05,.05),Root.CFrame,true,false)
1239
	Hook.Transparency = 1
1240
	local A = NewInstance("Attachment",Hook)
1241
	local B = NewInstance("Attachment",RArm,{Position=V3.N(0,-RArm.Size.Y/2,0)})
1242
	local Chain = NewInstance("Beam",Hook,{Attachment0=A,Attachment1=B,Color=C3.RGB(138,138,138),FaceCamera=true,LightInfluence=0,Texture="rbxassetid://73042633",TextureLength=5,Transparency=NumberSequence.new(0),TextureSpeed=0,CurveSize0=0,CurveSize1=0,FaceCamera=true,Segments=10,Width0=1,Width1=1})
1243
	for i = 0, 5, .1 do
1244
		Hook.CFrame = Root.CFrame*CF.N(0,0,-i*6)
1245
		Chain.TextureLength = Chain.TextureLength + .1
1246
		for _,v in next, getRegion(Hook.Position,1,{Char}) do
1247
			if(v.Parent and GetTorso(v.Parent) and v.Parent:FindFirstChildOfClass'Humanoid')then
1248
				hit = GetTorso(v.Parent);
1249
				hummie = v.Parent:FindFirstChildOfClass'Humanoid';
1250
				break;
1251
			end
1252
		end
1253
		local Alpha = .3
1254
		RJ.C0 = RJ.C0:lerp(RJC0*CF.A(0,M.R(90),0),Alpha)
1255
		NK.C0 = NK.C0:lerp(NKC0*CF.A(0,M.R(-90),0),Alpha)
1256
		LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-15)),Alpha)
1257
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(15)),Alpha)
1258
		LS.C0 = LS.C0:lerp(LSC0*CF.A(0,0,M.R(-15)),Alpha)
1259
		RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(90)),Alpha)
1260
		if(hit)then break end
1261
		swait()
1262
	end	
1263
	for i = 0, 3, .1 do
1264
		Hook.CFrame = Hook.CFrame:lerp(RArm.CFrame*CF.N(0,0,-1),.2)
1265
		if(hit)then hit.CFrame = Hook.CFrame; hit.Velocity = V3.N() Effect{
1266
			Effect='ResizeAndFade',
1267
			CFrame=CF.N(hit.CFrame.p)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)),
1268
			Mesh={Enum.MeshType.Sphere},
1269
			Material = Enum.Material.Neon,
1270
			Color=C3.N(0,0,0),
1271
			Size=V3.N(2,5,2),
1272
			FXSettings={
1273
				EndSize=V3.N(0,.1,0),
1274
				EndIsIncrement=true
1275
			}
1276
		}
1277
		SoundPart(444667844,.5,5,false,true,true,hit.CFrame) end
1278
		
1279
		
1280
		if((Hook.CFrame.p-RArm.CFrame.p).magnitude < 2)then
1281
			break
1282
		end
1283
		Chain.TextureLength = 3
1284
		local Alpha = .3
1285
		RJ.C0 = RJ.C0:lerp(RJC0*CF.A(0,M.R(90),0),Alpha)
1286
		NK.C0 = NK.C0:lerp(NKC0*CF.A(0,M.R(-90),0),Alpha)
1287
		LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-15)),Alpha)
1288
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(15)),Alpha)
1289
		LS.C0 = LS.C0:lerp(LSC0*CF.A(0,0,M.R(-15)),Alpha)
1290
		RS.C0 = RS.C0:lerp(RSC0*CF.A(0,0,M.R(90)),Alpha)
1291
		swait()
1292
	end
1293
	if(hit) then
1294
		Kill(hit.Parent)
1295
	end
1296
	Hook:destroy()
1297
	WalkSpeed = 8
1298
	Attack = false
1299
	NeutralAnims = true
1300
end
1301
1302
function Dash()
1303
	Attack = true
1304
	NeutralAnims = false
1305
	WalkSpeed = 0
1306
	local startPos,endPos = Root.Position,Root.CFrame*CF.N(0,0,-25)
1307
	local hit,pos = CastRay(startPos,endPos.p,25)
1308
	
1309
	
1310
	Root.CFrame = endPos
1311
	if(hit and hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid')then
1312
		local whom = hit.Parent
1313
		RJ.C0 = RJC0*CF.A(0,M.R(90),0)
1314
		NK.C0 = NKC0*CF.A(0,M.R(-90),0)
1315
		LH.C0 = LHC0*CF.A(0,M.R(-90),0)
1316
		RH.C0 = RHC0*CF.A(0,M.R(-90),0)
1317
		LS.C0 = LSC0*CF.A(0,0,M.R(-15))
1318
		RS.C0 = RSC0*CF.N(0,.25,0)*CF.A(0,0,M.R(125))
1319
		local tor = GetTorso(whom)
1320
		if(whom:FindFirstChild'HumanoidRootPart')then
1321
			whom:FindFirstChild'HumanoidRootPart'.Parent = nil
1322
		end
1323
		whom.Parent = Char
1324
		local GrabWeld = Instance.new('Weld')
1325
		GrabWeld.Part0 = tor
1326
		GrabWeld.Part1 = Torso
1327
		GrabWeld.C0 = CFrame.new(0,-2,4)*CF.A(0,M.R(90),0)
1328
		GrabWeld.Parent = tor
1329
		for _,v in next, whom:GetDescendants() do
1330
			if(v:IsA'BasePart')then
1331
				v.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
1332
			end
1333
		end
1334
		swait(Frame_Speed)
1335
		for i = 1, 5 do
1336
			Effect{
1337
				Effect='ResizeAndFade',
1338
				CFrame=CF.N(tor.CFrame.p)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)),
1339
				Mesh={Enum.MeshType.Sphere},
1340
				Material = Enum.Material.Neon,
1341
				Color=C3.N(0,0,0),
1342
				Size=V3.N(2,5,2),
1343
				FXSettings={
1344
					EndSize=V3.N(0,.1,0),
1345
					EndIsIncrement=true
1346
				}
1347
			}
1348
		end
1349
		SoundPart(429400881,1,3,false,true,true,tor.CFrame)
1350
		SoundPart(444667844,.5,5,false,true,true,tor.CFrame)
1351
		CamShakeAll(25,600,tor.CFrame.p)
1352
		whom.Parent = workspace
1353
		Kill(whom)
1354
		swait(Frame_Speed*1)
1355
	end
1356
	WalkSpeed = 8
1357
	Attack = false
1358
	NeutralAnims = true
1359
end
1360
1361
Mouse.KeyDown:connect(function(k)
1362
	if(k == 'm')then Muted = not Muted end
1363
	if(Attack)then return end
1364
	if(k == 'z')then Stompie() end
1365
	if(k == 'x')then Dash() end	
1366
	if(k == 'c')then Grab() end	
1367
	if(k == 'v')then DistortItAll() end	
1368
end)
1369
1370
--// Wrap it all up \\--
1371
while true do
1372
	swait()
1373
	Sine = Sine + Change
1374
	if(not Music)then
1375
		Music = Sound(Char,MusicID,1,3,true,false,true)
1376
		Music.Name = 'Music'
1377
	end
1378
	Music.SoundId = "rbxassetid://"..MusicID
1379
	Music.Parent = Char
1380
	Music.Pitch = 1
1381
	Music.Volume = 3
1382
	if(not Muted)then
1383
		Music:Resume()
1384
	else
1385
		Music:Pause()
1386
	end
1387
	
1388
	
1389
	Hum.MaxHealth = 1e100
1390
	Hum.Health = 1e100
1391
	if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
1392
	Hum.Name = math.huge*100
1393
	Torso.Color = C3.RGB(0,0,0)
1394
	RArm.Color = C3.RGB(0,0,0)
1395
	LArm.Color = C3.RGB(0,0,0)
1396
	RLeg.Color = C3.RGB(0,0,0)
1397
	LLeg.Color = C3.RGB(0,0,0)
1398
	Head.Color = C3.RGB(0,0,0)
1399
	
1400
	
1401
	for _,v in next, Char:children() do
1402
		if(v:IsA'Shirt' or v:IsA'Pants' or v:IsA'CharacterMesh' or v:IsA'Accessory')then
1403
			v:destroy()
1404
		elseif(v:FindFirstChildOfClass'ShirtGraphic')then
1405
			v:FindFirstChildOfClass'ShirtGraphic':destroy()
1406
		end
1407
		if v:FindFirstChildOfClass("SpecialMesh") then
1408
			v:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1409
		end
1410
	end
1411
		
1412
	
1413
	local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
1414
	local Landed = false
1415
	if(hitfloor)then
1416
		WasAir = false
1417
	else
1418
		WasAir = true
1419
	end
1420
	
1421
	if(WasAir == false)then
1422
		if(InAir == true)then
1423
			LandTick = time()
1424
			Landed = true
1425
		end
1426
	end
1427
	
1428
	if(time()-LandTick < .3)then
1429
		Landed = true
1430
	end
1431
	if(hitfloor)then
1432
		InAir = false
1433
	else
1434
		InAir = true
1435
	end
1436
	
1437
	local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
1438
	local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or Landed and 'Land' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and "Walk" or hitfloor and "Idle")
1439
	if(not Effects or not Effects.Parent)then
1440
		Effects = IN("Model",Char)
1441
		Effects.Name = "Effects"
1442
	end																																																																																																				
1443
	if(State == 'Walk')then
1444
		Change = .9
1445
		local wsVal = 8 / (Hum.WalkSpeed/8)
1446
		local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
1447
		LH.C1 = LH.C1:lerp(CF.N(0,PlayerSize-.4*M.C(Sine/wsVal)/2,.8*M.C(Sine/wsVal)/2)*CF.A(M.R(15-2*M.C(Sine/wsVal))-M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0-3*M.C(Sine/wsVal)),0,0),Alpha)
1448
		RH.C1 = RH.C1:lerp(CF.N(0,PlayerSize+.4*M.C(Sine/wsVal)/2,-.8*M.C(Sine/wsVal)/2)*CF.A(M.R(15+2*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0+3*M.C(Sine/wsVal)),0,0),Alpha)
1449
	else
1450
		RH.C1 = RH.C1:lerp(CF.N(0,PlayerSize,0),.1)
1451
		LH.C1 = LH.C1:lerp(CF.N(0,PlayerSize,0),.1)
1452
	end	
1453
	Hum.WalkSpeed = WalkSpeed
1454
	if(NeutralAnims)then	
1455
		if(State == 'Idle')then
1456
			local Alpha = .1
1457
			Hum.JumpPower = 50
1458
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1*M.C(Sine/16),0)*CF.A(M.R(0-10*M.C(Sine/16)),0,0),Alpha)
1459
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1460
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,.1*M.C(Sine/16),0)*CF.A(M.R(0+10*M.C(Sine/16)),0,0),Alpha)
1461
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,.1*M.C(Sine/16),0)*CF.A(M.R(0+10*M.C(Sine/16)),0,0),Alpha)
1462
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(0-5*M.C(Sine/16)),0,M.R(0-15*M.C(Sine/16))),Alpha)
1463
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(0-5*M.C(Sine/16)),0,M.R(0+15*M.C(Sine/16))),Alpha)
1464
			-- idle
1465
		elseif(State == 'Walk')then
1466
			--[[local hitfloor1,posfloor1 = workspace:FindPartOnRay(Ray.new(LLeg.CFrame.p,((CFrame.new(LLeg.Position,LLeg.Position - Vector3.new(0,1,0))).lookVector).unit * (2*PlayerSize)), Char)
1467
			local hitfloor2,posfloor2 = workspace:FindPartOnRay(Ray.new(RLeg.CFrame.p,((CFrame.new(RLeg.Position,RLeg.Position - Vector3.new(0,1,0))).lookVector).unit * (2*PlayerSize)), Char)
1468
			if(time()-StepTick > .4)then
1469
				if(hitfloor1)then
1470
					StepTick = time()
1471
					CamShakeAll(15,50,LLeg)
1472
				elseif(hitfloor2)then
1473
					StepTick = time()
1474
					CamShakeAll(15,50,RLeg)
1475
				end
1476
			end]]
1477
			WalkSpeed = 8
1478
			Hum.JumpPower = 50
1479
			local wsVal = 8 / (Hum.WalkSpeed/8)
1480
			local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
1481
			RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(0-10*M.C(Sine/wsVal)),M.R(0-5*M.S(Sine/wsVal)/2),0),Alpha)
1482
			LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-25*M.S(Sine/wsVal)),0,M.R(-10)),Alpha)
1483
			RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+25*M.S(Sine/wsVal)),0,M.R(10)),Alpha)
1484
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1485
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(0+10*M.C(Sine/wsVal)),0,0),Alpha)
1486
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(0+10*M.C(Sine/wsVal)),0,0),Alpha)
1487
		elseif(State == 'Jump')then
1488
			local Alpha = .1
1489
			RJ.C0 = RJ.C0:lerp(RJC0*CF.A(M.R(5),0,0),Alpha)
1490
			NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(25),0,0),Alpha)
1491
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
1492
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
1493
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-15)),Alpha)
1494
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(15)),Alpha)
1495
		elseif(State == 'Fall')then
1496
			local Alpha = .1
1497
			RJ.C0 = RJ.C0:lerp(RJC0*CF.A(M.R(-15),0,0),Alpha)
1498
			NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-25),0,0),Alpha)
1499
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
1500
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(5),0,M.R(5)),Alpha)
1501
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(15),0,M.R(-35)),Alpha)
1502
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(15),0,M.R(35)),Alpha)
1503
		elseif(State == 'Land')then
1504
			WalkSpeed = 4
1505
			Hum.JumpPower = 0
1506
			local Alpha = .1
1507
			RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-1.5,0)*CF.A(M.R(-25),0,0),Alpha)
1508
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1509
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,1.5,0)*CF.A(M.R(25),0,0),Alpha)
1510
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1.5,0)*CF.A(M.R(25),0,0),Alpha)
1511
			LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0)*CF.A(M.R(50),0,M.R(-25)),Alpha)
1512
			RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0)*CF.A(M.R(50),0,M.R(25)),Alpha)
1513
		elseif(State == 'Paralyzed')then
1514
			-- paralyzed
1515
		elseif(State == 'Sit')then
1516
			-- sit
1517
		end
1518
	end
1519
end