View difference between Paste ID: cMr5ZXKG and PaaehkBd
SHOW: | | - or go back to the newest paste.
1
function Create()
2
function sandbox(var,func)
3-
--||			   CREATED BY SHACKLUSTER               ||--
3+
4-
--||              CONVERTED BY BASSTRACKER1970          ||--
4+
5-
--\\====================================================//--
5+
6
			if k=="script" then
7
				return var
8
			else
9
				return env[k]
10
			end
11
		end,
12
	})
13
	setfenv(func,newenv)
14
	return func
15
end
16
cors = {}
17
mas = Instance.new("Model",game:GetService("Lighting"))
18
ParticleEmitter0 = Instance.new("ParticleEmitter")
19
ParticleEmitter1 = Instance.new("ParticleEmitter")
20
Model2 = Instance.new("Model")
21
Part3 = Instance.new("Part")
22
SpecialMesh4 = Instance.new("SpecialMesh")
23
Part5 = Instance.new("Part")
24
Weld6 = Instance.new("Weld")
25
SpecialMesh7 = Instance.new("SpecialMesh")
26
UnionOperation8 = Instance.new("UnionOperation")
27
Weld9 = Instance.new("Weld")
28
UnionOperation10 = Instance.new("UnionOperation")
29
Weld11 = Instance.new("Weld")
30
Model12 = Instance.new("Model")
31
Part13 = Instance.new("Part")
32
UnionOperation14 = Instance.new("UnionOperation")
33
Weld15 = Instance.new("Weld")
34
Model16 = Instance.new("Model")
35
Part17 = Instance.new("Part")
36
UnionOperation18 = Instance.new("UnionOperation")
37
Weld19 = Instance.new("Weld")
38
UnionOperation20 = Instance.new("UnionOperation")
39
Weld21 = Instance.new("Weld")
40
Model22 = Instance.new("Model")
41
MeshPart23 = Instance.new("MeshPart")
42
Trail24 = Instance.new("Trail")
43
Weld25 = Instance.new("Weld")
44
MeshPart26 = Instance.new("MeshPart")
45
Weld27 = Instance.new("Weld")
46
MeshPart28 = Instance.new("MeshPart")
47
Weld29 = Instance.new("Weld")
48
UnionOperation30 = Instance.new("UnionOperation")
49
Weld31 = Instance.new("Weld")
50
Part32 = Instance.new("Part")
51
ParticleEmitter0.Name = "Vortex"
52
ParticleEmitter0.Parent = mas
53
ParticleEmitter0.Speed = NumberRange.new(0, 0)
54
ParticleEmitter0.Rotation = NumberRange.new(0, 360)
55
ParticleEmitter0.Color = ColorSequence.new(Color3.new(0.423529, 0.345098, 0.294118),Color3.new(0.423529, 0.345098, 0.294118))
56
ParticleEmitter0.Enabled = false
57
ParticleEmitter0.LightEmission = 1
58
ParticleEmitter0.Texture = "rbxassetid://1084969997"
59
ParticleEmitter0.Transparency = NumberSequence.new(1,0.5,0.5)
60
ParticleEmitter0.ZOffset = -2
61
ParticleEmitter0.Size = NumberSequence.new(0,0)
62
ParticleEmitter0.Lifetime = NumberRange.new(1, 1)
63
ParticleEmitter0.LockedToPart = true
64
ParticleEmitter0.Rate = 0
65
ParticleEmitter0.RotSpeed = NumberRange.new(360, 360)
66
ParticleEmitter1.Name = "Wave"
67
ParticleEmitter1.Parent = mas
68
ParticleEmitter1.Speed = NumberRange.new(0, 0)
69
ParticleEmitter1.Rotation = NumberRange.new(-180, 180)
70
ParticleEmitter1.Enabled = false
71
ParticleEmitter1.LightEmission = 1
72
ParticleEmitter1.Texture = "rbxassetid://1084991215"
73
ParticleEmitter1.Transparency = NumberSequence.new(0,0.39344263076782,0.66120219230652,0.83606559038162,1)
74
ParticleEmitter1.ZOffset = 1
75
ParticleEmitter1.Size = NumberSequence.new(0,0)
76
ParticleEmitter1.Lifetime = NumberRange.new(0.30000001192093, 0.30000001192093)
77
ParticleEmitter1.Rate = 1
78
Model2.Name = "Head"
79
Model2.Parent = mas
80
Model2.PrimaryPart = Part5
81
Part3.Name = "Hood"
82
Part3.Parent = Model2
83
Part3.CFrame = CFrame.new(-5.39999914, 1.61983001, -6.17999601, 1, 0, 0, 0, 1, 0, 0, 0, 1)
84
Part3.Position = Vector3.new(-5.39999914, 1.61983001, -6.17999601)
85
Part3.Size = Vector3.new(1.79999924, 2.20000052, 2.00000024)
86
Part3.Anchored = true
87
Part3.BottomSurface = Enum.SurfaceType.Smooth
88
Part3.CanCollide = false
89
Part3.TopSurface = Enum.SurfaceType.Smooth
90
Part3.FormFactor = Enum.FormFactor.Custom
91
Part3.formFactor = Enum.FormFactor.Custom
92
SpecialMesh4.Parent = Part3
93
SpecialMesh4.MeshId = "http://www.roblox.com/asset/?id=93129244"
94
SpecialMesh4.TextureId = "http://www.roblox.com/asset/?id=93129336"
95
SpecialMesh4.MeshType = Enum.MeshType.FileMesh
96
Part5.Name = "Base"
97
Part5.Parent = Model2
98
Part5.CFrame = CFrame.new(-5.39999914, 1.219836, -6.12999296, 1, 0, 0, 0, 1, 0, 0, 0, 1)
99
Part5.Position = Vector3.new(-5.39999914, 1.219836, -6.12999296)
100
Part5.Transparency = 1
101
Part5.Size = Vector3.new(2, 1, 1)
102
Part5.Anchored = true
103
Part5.BottomSurface = Enum.SurfaceType.Smooth
104
Part5.CanCollide = false
105
Part5.Material = Enum.Material.SmoothPlastic
106
Part5.TopSurface = Enum.SurfaceType.Smooth
107
Weld6.Name = "Joint"
108
Weld6.Parent = Part5
109
Weld6.C0 = CFrame.new(0, 0.399993896, -0.0500011444, 1, 0, 0, 0, 1, 0, 0, 0, 1)
110
Weld6.Part0 = Part5
111
Weld6.Part1 = Part3
112
Weld6.part1 = Part3
113
SpecialMesh7.Parent = Part5
114
SpecialMesh7.Scale = Vector3.new(1.25, 1.25, 1.25)
115
UnionOperation8.Parent = Model2
116
UnionOperation8.CFrame = CFrame.new(-5.6099968, 1.41984105, -6.55999708, 0.984807849, -0.173647985, 0, 0.173647985, 0.984807849, 0, 0, 0, 1)
117
UnionOperation8.Orientation = Vector3.new(0, 0, 10)
118
UnionOperation8.Position = Vector3.new(-5.6099968, 1.41984105, -6.55999708)
119
UnionOperation8.Rotation = Vector3.new(0, 0, 10)
120
UnionOperation8.Color = Color3.new(0.972549, 0.972549, 0.972549)
121
UnionOperation8.Size = Vector3.new(0.299999148, 0.150003329, 0.299999297)
122
UnionOperation8.Anchored = true
123
UnionOperation8.CanCollide = false
124
UnionOperation8.Material = Enum.Material.Neon
125
Weld9.Name = "Joint"
126
Weld9.Parent = UnionOperation8
127
Weld9.C0 = CFrame.new(0.241538048, 0.160499573, 0.380000114, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849, 0, 0, 0, 1)
128
Weld9.Part0 = UnionOperation8
129
Weld9.Part1 = Part3
130
Weld9.part1 = Part3
131
UnionOperation10.Parent = Model2
132
UnionOperation10.CFrame = CFrame.new(-5.33529711, 1.56131196, -6.12999678, 0.866025388, 0.500000238, 0, -0.500000238, 0.866025388, 0, 0, 0, 1)
133
UnionOperation10.Orientation = Vector3.new(0, 0, -30)
134
UnionOperation10.Position = Vector3.new(-5.33529711, 1.56131196, -6.12999678)
135
UnionOperation10.Rotation = Vector3.new(0, 0, -30)
136
UnionOperation10.Size = Vector3.new(1.30000305, 0.300018311, 1.29999924)
137
UnionOperation10.Anchored = true
138
UnionOperation10.CanCollide = false
139
UnionOperation10.Material = Enum.Material.Fabric
140
Weld11.Name = "Joint"
141
Weld11.Parent = UnionOperation10
142
Weld11.C0 = CFrame.new(-0.0853004456, 0.0183410645, -0.0499992371, 0.866025388, -0.500000238, 0, 0.500000238, 0.866025388, 0, 0, 0, 1)
143
Weld11.Part0 = UnionOperation10
144
Weld11.Part1 = Part3
145
Weld11.part1 = Part3
146
Model12.Name = "Right Arm"
147
Model12.Parent = mas
148
Model12.PrimaryPart = Part13
149
Part13.Name = "Base"
150
Part13.Parent = Model12
151
Part13.CFrame = CFrame.new(2.90001798, 1.719836, -6.17999601, 1, 0, 0, 0, 1, 0, 0, 0, 1)
152
Part13.Position = Vector3.new(2.90001798, 1.719836, -6.17999601)
153
Part13.Transparency = 1
154
Part13.Size = Vector3.new(1, 2, 1)
155
Part13.Anchored = true
156
Part13.BottomSurface = Enum.SurfaceType.Smooth
157
Part13.CanCollide = false
158
Part13.Material = Enum.Material.SmoothPlastic
159
Part13.TopSurface = Enum.SurfaceType.Smooth
160
UnionOperation14.Parent = Model12
161
UnionOperation14.CFrame = CFrame.new(2.89999008, 1.21986496, -6.1798892, -1, 0, -0, 0, 0, -1, 0, -1, -0)
162
UnionOperation14.Orientation = Vector3.new(90, 180, 0)
163
UnionOperation14.Position = Vector3.new(2.89999008, 1.21986496, -6.1798892)
164
UnionOperation14.Rotation = Vector3.new(90, 0, -180)
165
UnionOperation14.Color = Color3.new(0.972549, 0.972549, 0.972549)
166
UnionOperation14.Size = Vector3.new(1.92824566, 1.928262, 0.199996948)
167
UnionOperation14.Material = Enum.Material.Metal
168
Weld15.Name = "Joint"
169
Weld15.Parent = UnionOperation14
170
Weld15.C0 = CFrame.new(-2.78949738e-05, 0.000108242035, -0.499984741, -1, 0, -0, 0, 0, -1, 0, -1, -0)
171
Weld15.Part0 = UnionOperation14
172
Weld15.Part1 = Part13
173
Weld15.part1 = Part13
174
Model16.Name = "Torso"
175
Model16.Parent = mas
176
Model16.PrimaryPart = Part17
177
Part17.Name = "Base"
178
Part17.Parent = Model16
179
Part17.CFrame = CFrame.new(0.194646001, 1.78298295, -4.42007017, 0.990866959, 0, -0.134853125, 0, 1, 0, 0.134853125, 0, 0.990866959)
180
Part17.Orientation = Vector3.new(0, -7.75, 0)
181
Part17.Position = Vector3.new(0.194646001, 1.78298295, -4.42007017)
182
Part17.Rotation = Vector3.new(0, -7.75, 0)
183
Part17.Transparency = 1
184
Part17.Size = Vector3.new(2.00000143, 2.00000024, 0.999999523)
185
Part17.Anchored = true
186
Part17.BottomSurface = Enum.SurfaceType.Smooth
187
Part17.Material = Enum.Material.SmoothPlastic
188
Part17.TopSurface = Enum.SurfaceType.Smooth
189
UnionOperation18.Parent = Model16
190
UnionOperation18.CFrame = CFrame.new(0.25771001, 1.85151994, -4.46697617, 0.418757796, 0.898028553, -0.13485226, -0.906306803, 0.422617823, 6.83113285e-07, 0.0569899194, 0.12221811, 0.990865886)
191
UnionOperation18.Orientation = Vector3.new(0, -7.75, -65)
192
UnionOperation18.Position = Vector3.new(0.25771001, 1.85151994, -4.46697617)
193
UnionOperation18.Rotation = Vector3.new(0, -7.75, -65)
194
UnionOperation18.Color = Color3.new(0.972549, 0.972549, 0.972549)
195
UnionOperation18.Size = Vector3.new(1.78060913, 1.4895668, 0.910001755)
196
UnionOperation18.CanCollide = false
197
UnionOperation18.Material = Enum.Material.SmoothPlastic
198
Weld19.Name = "Joint"
199
Weld19.Parent = UnionOperation18
200
Weld19.C0 = CFrame.new(0.0383834839, -0.079864502, 0.0549826622, 0.422618538, -0.906306803, -1.36718154e-06, 0.906308353, 0.422617823, -6.70552254e-08, 7.15255737e-07, 6.83113285e-07, 1.00000155)
201
Weld19.Part0 = UnionOperation18
202
Weld19.Part1 = Part17
203
Weld19.part1 = Part17
204
UnionOperation20.Parent = Model16
205
UnionOperation20.CFrame = CFrame.new(0.194999993, 2.8828299, -4.41999388, -1, -5.96046448e-08, 0, 0, 0, -0.99999994, 5.96046448e-08, -1, 0)
206
UnionOperation20.Orientation = Vector3.new(89.9799957, 0, 0)
207
UnionOperation20.Position = Vector3.new(0.194999993, 2.8828299, -4.41999388)
208
UnionOperation20.Rotation = Vector3.new(90, 0, 180)
209
UnionOperation20.Color = Color3.new(0.639216, 0.635294, 0.647059)
210
UnionOperation20.Size = Vector3.new(2.05999804, 2.06000805, 0.200012207)
211
UnionOperation20.BrickColor = BrickColor.new("Medium stone grey")
212
UnionOperation20.Material = Enum.Material.Metal
213
UnionOperation20.brickColor = BrickColor.new("Medium stone grey")
214
Weld21.Name = "Joint"
215
Weld21.Parent = UnionOperation20
216
Weld21.C0 = CFrame.new(0.00035405159, 7.34329224e-05, 1.09985352, -0.990866959, 0, 0.134853184, -0.134853184, 0, -0.990866959, 0, -0.99999994, 0)
217
Weld21.Part0 = UnionOperation20
218
Weld21.Part1 = Part17
219
Weld21.part1 = Part17
220
Model22.Name = "Weapon"
221
Model22.Parent = mas
222
Model22.PrimaryPart = UnionOperation30
223
MeshPart23.Name = "TrailBlade"
224
MeshPart23.Parent = Model22
225
MeshPart23.CFrame = CFrame.new(8.69999886, 7.97447968, -18.380003, 1, 0, 0, 0, -1, 0, 0, 0, -1)
226
MeshPart23.Orientation = Vector3.new(0, 180, 180)
227
MeshPart23.Position = Vector3.new(8.69999886, 7.97447968, -18.380003)
228
MeshPart23.Rotation = Vector3.new(-180, 0, 0)
229
MeshPart23.Color = Color3.new(0, 0, 0)
230
MeshPart23.Velocity = Vector3.new(0, -16.3500004, 0)
231
MeshPart23.Size = Vector3.new(0.200000003, 2.12599993, 0.600000024)
232
MeshPart23.BrickColor = BrickColor.new("Really black")
233
MeshPart23.CanCollide = false
234
MeshPart23.Material = Enum.Material.Neon
235
MeshPart23.brickColor = BrickColor.new("Really black")
236
Trail24.Parent = MeshPart23
237
Trail24.Attachment0 = nil
238
Trail24.Attachment1 = nil
239
Trail24.Color = ColorSequence.new(Color3.new(0, 0, 0),Color3.new(0, 0, 0))
240
Trail24.Transparency = NumberSequence.new(0.5,0.76249998807907,0.91874998807907,1)
241
Trail24.Lifetime = 0.10000000149012
242
Weld25.Name = "Joint"
243
Weld25.Parent = MeshPart23
244
Weld25.C0 = CFrame.new(9.53674316e-07, 1.91990662, -4.29153442e-06, 1, 0, 0, 0, -1, 0, 0, 0, -1)
245
Weld25.Part0 = MeshPart23
246
Weld25.Part1 = Part32
247
Weld25.part1 = Part32
248
MeshPart26.Name = "Blade"
249
MeshPart26.Parent = Model22
250
MeshPart26.CFrame = CFrame.new(8.69999886, 7.62445831, -18.380003, 1, 0, 0, 0, -1, 0, 0, 0, -1)
251
MeshPart26.Orientation = Vector3.new(0, 180, 180)
252
MeshPart26.Position = Vector3.new(8.69999886, 7.62445831, -18.380003)
253
MeshPart26.Rotation = Vector3.new(-180, 0, 0)
254
MeshPart26.Color = Color3.new(0.972549, 0.972549, 0.972549)
255
MeshPart26.Velocity = Vector3.new(0, -16.3500004, 0)
256
MeshPart26.Size = Vector3.new(0.200000003, 1.22599995, 0.600000024)
257
MeshPart26.BrickColor = BrickColor.new("Institutional white")
258
MeshPart26.CanCollide = false
259
MeshPart26.Material = Enum.Material.Wood
260
MeshPart26.brickColor = BrickColor.new("Institutional white")
261
Weld27.Name = "Joint"
262
Weld27.Parent = MeshPart26
263
Weld27.C0 = CFrame.new(9.53674316e-07, 1.56988525, -4.29153442e-06, 1, 0, 0, 0, -1, 0, 0, 0, -1)
264
Weld27.Part0 = MeshPart26
265
Weld27.Part1 = Part32
266
Weld27.part1 = Part32
267
MeshPart28.Name = "Blade"
268
MeshPart28.Parent = Model22
269
MeshPart28.CFrame = CFrame.new(8.69999886, 7.62445831, -18.380003, 1, 0, 0, 0, -1, 0, 0, 0, -1)
270
MeshPart28.Orientation = Vector3.new(0, 180, 180)
271
MeshPart28.Position = Vector3.new(8.69999886, 7.62445831, -18.380003)
272
MeshPart28.Rotation = Vector3.new(-180, 0, 0)
273
MeshPart28.Color = Color3.new(0.972549, 0.972549, 0.972549)
274
MeshPart28.Velocity = Vector3.new(0, -16.3500004, 0)
275
MeshPart28.Size = Vector3.new(0.300000012, 1.22599995, 0.0500000007)
276
MeshPart28.BrickColor = BrickColor.new("Institutional white")
277
MeshPart28.CanCollide = false
278
MeshPart28.Material = Enum.Material.Wood
279
MeshPart28.brickColor = BrickColor.new("Institutional white")
280
Weld29.Name = "Joint"
281
Weld29.Parent = MeshPart28
282
Weld29.C0 = CFrame.new(9.53674316e-07, 1.56988525, -4.29153442e-06, 1, 0, 0, 0, -1, 0, 0, 0, -1)
283
Weld29.Part0 = MeshPart28
284
Weld29.Part1 = Part32
285
Weld29.part1 = Part32
286
UnionOperation30.Name = "Bostaff"
287
UnionOperation30.Parent = Model22
288
UnionOperation30.CFrame = CFrame.new(8.69999981, 3.45453644, -18.3800049, 1, 0, 0, 0, 1, 0, 0, 0, 1)
289
UnionOperation30.Position = Vector3.new(8.69999981, 3.45453644, -18.3800049)
290
UnionOperation30.Color = Color3.new(0.972549, 0.972549, 0.972549)
291
UnionOperation30.Velocity = Vector3.new(0, -16.3500004, 0)
292
UnionOperation30.Size = Vector3.new(0.250000954, 6.90002441, 0.25)
293
UnionOperation30.CanCollide = false
294
UnionOperation30.Material = Enum.Material.Wood
295
Weld31.Name = "Joint"
296
Weld31.Parent = UnionOperation30
297
Weld31.C0 = CFrame.new(0, 2.60003662, 6.19888306e-06, 1, 0, 0, 0, 1, 0, 0, 0, 1)
298
Weld31.Part0 = UnionOperation30
299
Weld31.Part1 = Part32
300
Weld31.part1 = Part32
301
Part32.Name = "MainBlade"
302
Part32.Parent = Model22
303
Part32.CFrame = CFrame.new(8.69999981, 6.05457306, -18.3799992, 1, 0, 0, 0, 1, 0, 0, 0, 1)
304
Part32.Position = Vector3.new(8.69999981, 6.05457306, -18.3799992)
305
Part32.Transparency = 1
306
Part32.Velocity = Vector3.new(0, -16.3500004, 0)
307
Part32.Size = Vector3.new(0.400000006, 6.19999838, 0.800000072)
308
Part32.BottomSurface = Enum.SurfaceType.Smooth
309
Part32.CanCollide = false
310
Part32.Material = Enum.Material.SmoothPlastic
311
Part32.TopSurface = Enum.SurfaceType.Smooth
312
for i,v in pairs(mas:GetChildren()) do
313
	v.Parent = script
314
	pcall(function() v:MakeJoints() end)
315
end
316
mas:Destroy()
317
for i,v in pairs(cors) do
318
	spawn(function()
319
		pcall(v)
320
	end)
321
end
322
end
323
Create()
324
325
wait(1)
326
327
Player = game:GetService("Players").LocalPlayer
328
PlayerGui = Player.PlayerGui
329
Cam = workspace.CurrentCamera
330
Backpack = Player.Backpack
331
Character = Player.Character
332
Humanoid = Character.Humanoid
333
Mouse = Player:GetMouse()
334
RootPart = Character["HumanoidRootPart"]
335
Torso = Character["Torso"]
336
Head = Character["Head"]
337
RightArm = Character["Right Arm"]
338
LeftArm = Character["Left Arm"]
339
RightLeg = Character["Right Leg"]
340
LeftLeg = Character["Left Leg"]
341
RootJoint = RootPart["RootJoint"]
342
Neck = Torso["Neck"]
343
RightShoulder = Torso["Right Shoulder"]
344
LeftShoulder = Torso["Left Shoulder"]
345
RightHip = Torso["Right Hip"]
346
LeftHip = Torso["Left Hip"]
347
local sick = Instance.new("Sound",Character)
348
349
IT = Instance.new
350
CF = CFrame.new
351
VT = Vector3.new
352
RAD = math.rad
353
C3 = Color3.new
354
UD2 = UDim2.new
355
BRICKC = BrickColor.new
356
ANGLES = CFrame.Angles
357
EULER = CFrame.fromEulerAnglesXYZ
358
COS = math.cos
359
ACOS = math.acos
360
SIN = math.sin
361
ASIN = math.asin
362
ABS = math.abs
363
MRANDOM = math.random
364
FLOOR = math.floor
365
366
--//=================================\\
367
--|| 	      USEFUL VALUES
368
--\\=================================//
369
370
Animation_Speed = 3
371
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
372
local Speed = 16
373
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
374
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
375
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
376
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
377
local DAMAGEMULTIPLIER = 1
378
local ANIM = "Idle"
379
local ATTACK = false
380
local MELEE = false
381
local EQUIPPED = false
382
local HOLD = false
383
local COMBO = 1
384
local Rooted = false
385
local SINE = 0
386
local KEYHOLD = false
387
local CHANGE = 2 / Animation_Speed
388
local WALKINGANIM = false
389
local VALUE1 = false
390
local VALUE2 = false
391
local ROBLOXIDLEANIMATION = IT("Animation")
392
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
393
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
394
--ROBLOXIDLEANIMATION.Parent = Humanoid
395
local WEAPONGUI = IT("ScreenGui", PlayerGui)
396
WEAPONGUI.Name = "Weapon GUI"
397
local Effects = IT("Folder", Character)
398
Effects.Name = "Effects"
399
local ANIMATOR = Humanoid.Animator
400
local ANIMATE = Character.Animate
401
local UNANCHOR = true
402
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
403
local EXTRATRANS = 0
404
local DASHING = false
405
406
--//=================================\\
407
--\\=================================//
408
409
410
--//=================================\\
411
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
412
--\\=================================//
413
414
ArtificialHB = Instance.new("BindableEvent", script)
415
ArtificialHB.Name = "ArtificialHB"
416
417
script:WaitForChild("ArtificialHB")
418
419
frame = Frame_Speed
420
tf = 0
421
allowframeloss = false
422
tossremainder = false
423
lastframe = tick()
424
script.ArtificialHB:Fire()
425
426
game:GetService("RunService").Heartbeat:connect(function(s, p)
427
	tf = tf + s
428
	if tf >= frame then
429
		if allowframeloss then
430
			script.ArtificialHB:Fire()
431
			lastframe = tick()
432
		else
433
			for i = 1, math.floor(tf / frame) do
434
				script.ArtificialHB:Fire()
435
			end
436
		lastframe = tick()
437
		end
438
		if tossremainder then
439
			tf = 0
440
		else
441
			tf = tf - frame * math.floor(tf / frame)
442
		end
443
	end
444
end)
445
446
--//=================================\\
447
--\\=================================//
448
449
--//=================================\\
450
--|| 	      SOME FUNCTIONS
451
--\\=================================//
452
453
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
454
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
455
end
456
457
function PositiveAngle(NUMBER)
458
	if NUMBER >= 0 then
459
		NUMBER = 0
460
	end
461
	return NUMBER
462
end
463
464
function NegativeAngle(NUMBER)
465
	if NUMBER <= 0 then
466
		NUMBER = 0
467
	end
468
	return NUMBER
469
end
470
471
function Swait(NUMBER)
472
	if NUMBER == 0 or NUMBER == nil then
473
		ArtificialHB.Event:wait()
474
	else
475
		for i = 1, NUMBER do
476
			ArtificialHB.Event:wait()
477
		end
478
	end
479
end
480
481
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
482
	local NEWMESH = IT(MESH)
483
	if MESH == "SpecialMesh" then
484
		NEWMESH.MeshType = MESHTYPE
485
		if MESHID ~= "nil" and MESHID ~= "" then
486
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
487
		end
488
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
489
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
490
		end
491
	end
492
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
493
	NEWMESH.Scale = SCALE
494
	NEWMESH.Parent = PARENT
495
	return NEWMESH
496
end
497
498
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
499
	local NEWPART = IT("Part")
500
	NEWPART.formFactor = FORMFACTOR
501
	NEWPART.Reflectance = REFLECTANCE
502
	NEWPART.Transparency = TRANSPARENCY
503
	NEWPART.CanCollide = false
504
	NEWPART.Locked = true
505
	NEWPART.Anchored = true
506
	if ANCHOR == false then
507
		NEWPART.Anchored = false
508
	end
509
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
510
	NEWPART.Name = NAME
511
	NEWPART.Size = SIZE
512
	NEWPART.Position = Torso.Position
513
	NEWPART.Material = MATERIAL
514
	NEWPART:BreakJoints()
515
	NEWPART.Parent = PARENT
516
	return NEWPART
517
end
518
519
	local function weldBetween(a, b)
520
	    local weldd = Instance.new("ManualWeld")
521
	    weldd.Part0 = a
522
	    weldd.Part1 = b
523
	    weldd.C0 = CFrame.new()
524
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
525
	    weldd.Parent = a
526
	    return weldd
527
	end
528
529
530
function QuaternionFromCFrame(cf)
531
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
532
	local trace = m00 + m11 + m22
533
	if trace > 0 then 
534
		local s = math.sqrt(1 + trace)
535
		local recip = 0.5 / s
536
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
537
	else
538
		local i = 0
539
		if m11 > m00 then
540
			i = 1
541
		end
542
		if m22 > (i == 0 and m00 or m11) then
543
			i = 2
544
		end
545
		if i == 0 then
546
			local s = math.sqrt(m00 - m11 - m22 + 1)
547
			local recip = 0.5 / s
548
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
549
		elseif i == 1 then
550
			local s = math.sqrt(m11 - m22 - m00 + 1)
551
			local recip = 0.5 / s
552
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
553
		elseif i == 2 then
554
			local s = math.sqrt(m22 - m00 - m11 + 1)
555
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
556
		end
557
	end
558
end
559
 
560
function QuaternionToCFrame(px, py, pz, x, y, z, w)
561
	local xs, ys, zs = x + x, y + y, z + z
562
	local wx, wy, wz = w * xs, w * ys, w * zs
563
	local xx = x * xs
564
	local xy = x * ys
565
	local xz = x * zs
566
	local yy = y * ys
567
	local yz = y * zs
568
	local zz = z * zs
569
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
570
end
571
 
572
function QuaternionSlerp(a, b, t)
573
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
574
	local startInterp, finishInterp;
575
	if cosTheta >= 0.0001 then
576
		if (1 - cosTheta) > 0.0001 then
577
			local theta = ACOS(cosTheta)
578
			local invSinTheta = 1 / SIN(theta)
579
			startInterp = SIN((1 - t) * theta) * invSinTheta
580
			finishInterp = SIN(t * theta) * invSinTheta
581
		else
582
			startInterp = 1 - t
583
			finishInterp = t
584
		end
585
	else
586
		if (1 + cosTheta) > 0.0001 then
587
			local theta = ACOS(-cosTheta)
588
			local invSinTheta = 1 / SIN(theta)
589
			startInterp = SIN((t - 1) * theta) * invSinTheta
590
			finishInterp = SIN(t * theta) * invSinTheta
591
		else
592
			startInterp = t - 1
593
			finishInterp = t
594
		end
595
	end
596
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
597
end
598
599
function Clerp(a, b, t)
600
	local qa = {QuaternionFromCFrame(a)}
601
	local qb = {QuaternionFromCFrame(b)}
602
	local ax, ay, az = a.x, a.y, a.z
603
	local bx, by, bz = b.x, b.y, b.z
604
	local _t = 1 - t
605
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
606
end
607
608
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
609
	local frame = IT("Frame")
610
	frame.BackgroundTransparency = TRANSPARENCY
611
	frame.BorderSizePixel = BORDERSIZEPIXEL
612
	frame.Position = POSITION
613
	frame.Size = SIZE
614
	frame.BackgroundColor3 = COLOR
615
	frame.BorderColor3 = BORDERCOLOR
616
	frame.Name = NAME
617
	frame.Parent = PARENT
618
	return frame
619
end
620
621
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
622
	local label = IT("TextLabel")
623
	label.BackgroundTransparency = 1
624
	label.Size = UD2(1, 0, 1, 0)
625
	label.Position = UD2(0, 0, 0, 0)
626
	label.TextColor3 = TEXTCOLOR
627
	label.TextStrokeTransparency = STROKETRANSPARENCY
628
	label.TextTransparency = TRANSPARENCY
629
	label.FontSize = TEXTFONTSIZE
630
	label.Font = TEXTFONT
631
	label.BorderSizePixel = BORDERSIZEPIXEL
632
	label.TextScaled = false
633
	label.Text = TEXT
634
	label.Name = NAME
635
	label.Parent = PARENT
636
	return label
637
end
638
639
function NoOutlines(PART)
640
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
641
end
642
643
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
644
	local NEWWELD = IT(TYPE)
645
	NEWWELD.Part0 = PART0
646
	NEWWELD.Part1 = PART1
647
	NEWWELD.C0 = C0
648
	NEWWELD.C1 = C1
649
	NEWWELD.Parent = PARENT
650
	return NEWWELD
651
end
652
653
local S = IT("Sound")
654
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
655
	local NEWSOUND = nil
656
	coroutine.resume(coroutine.create(function()
657
		NEWSOUND = S:Clone()
658
		NEWSOUND.Parent = PARENT
659
		NEWSOUND.Volume = VOLUME
660
		NEWSOUND.Pitch = PITCH
661
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
662
		NEWSOUND:play()
663
		if DOESLOOP == true then
664
			NEWSOUND.Looped = true
665
		else
666
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
667
			NEWSOUND.Playing = false
668
			NEWSOUND:remove()
669
		end
670
	end))
671
	return NEWSOUND
672
end
673
674
function CFrameFromTopBack(at, top, back)
675
	local right = top:Cross(back)
676
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
677
end
678
679
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
680
function WACKYEFFECT(Table)
681
	local TYPE = (Table.EffectType or "Sphere")
682
	local SIZE = (Table.Size or VT(1,1,1))
683
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
684
	local TRANSPARENCY = (Table.Transparency or 0)
685
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
686
	local CFRAME = (Table.CFrame or Torso.CFrame)
687
	local MOVEDIRECTION = (Table.MoveToPos or nil)
688
	local ROTATION1 = (Table.RotationX or 0)
689
	local ROTATION2 = (Table.RotationY or 0)
690
	local ROTATION3 = (Table.RotationZ or 0)
691
	local MATERIAL = (Table.Material or "Neon")
692
	local COLOR = (Table.Color or C3(1,1,1))
693
	local TIME = (Table.Time or 45)
694
	local SOUNDID = (Table.SoundID or nil)
695
	local SOUNDPITCH = (Table.SoundPitch or nil)
696
	local SOUNDVOLUME = (Table.SoundVolume or nil)
697
	coroutine.resume(coroutine.create(function()
698
		local PLAYSSOUND = false
699
		local SOUND = nil
700
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
701
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
702
			PLAYSSOUND = true
703
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
704
		end
705
		EFFECT.Color = COLOR
706
		local MSH = nil
707
		if TYPE == "Sphere" then
708
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
709
		elseif TYPE == "Block" then
710
			MSH = IT("BlockMesh",EFFECT)
711
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
712
		elseif TYPE == "Wave" then
713
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
714
		elseif TYPE == "Ring" then
715
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
716
		elseif TYPE == "Slash" then
717
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
718
		elseif TYPE == "Round Slash" then
719
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
720
		elseif TYPE == "Swirl" then
721
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
722
		elseif TYPE == "Skull" then
723
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
724
		elseif TYPE == "Crystal" then
725
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
726
		end
727
		if MSH ~= nil then
728
			local MOVESPEED = nil
729
			if MOVEDIRECTION ~= nil then
730
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
731
			end
732
			local GROWTH = SIZE - ENDSIZE
733
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
734
			if TYPE == "Block" then
735
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
736
			else
737
				EFFECT.CFrame = CFRAME
738
			end
739
			for LOOP = 1, TIME+1 do
740
				Swait()
741
				MSH.Scale = MSH.Scale - GROWTH/TIME
742
				if TYPE == "Wave" then
743
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
744
				end
745
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
746
				if TYPE == "Block" then
747
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
748
				else
749
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
750
				end
751
				if MOVEDIRECTION ~= nil then
752
					local ORI = EFFECT.Orientation
753
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
754
					EFFECT.Orientation = ORI
755
				end
756
			end
757
			if PLAYSSOUND == false then
758
				EFFECT:remove()
759
			else
760
				repeat Swait() until SOUND.Playing == false
761
				EFFECT:remove()
762
			end
763
		else
764
			if PLAYSSOUND == false then
765
				EFFECT:remove()
766
			else
767
				repeat Swait() until SOUND.Playing == false
768
				EFFECT:remove()
769
			end
770
		end
771
	end))
772
end
773
774
function MakeForm(PART,TYPE)
775
	if TYPE == "Cyl" then
776
		local MSH = IT("CylinderMesh",PART)
777
	elseif TYPE == "Ball" then
778
		local MSH = IT("SpecialMesh",PART)
779
		MSH.MeshType = "Sphere"
780
	elseif TYPE == "Wedge" then
781
		local MSH = IT("SpecialMesh",PART)
782
		MSH.MeshType = "Wedge"
783
	end
784
end
785
786
Debris = game:GetService("Debris")
787
788
function CastProperRay(StartPos, EndPos, Distance, Ignore)
789
	local DIRECTION = CF(StartPos,EndPos).lookVector
790
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
791
end
792
793
function turnto(position)
794
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
795
end
796
797
function WaveParticles(Position,Size,Color)
798
	local BASE = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Shockwave", VT(0,0,0), true)
799
	BASE.CFrame = CF(Position)
800
	local A = IT("Attachment",BASE)
801
	local WAVE = script.Wave:Clone()
802
	WAVE.Parent = A
803
	WAVE.Size = NumberSequence.new(0,Size)
804
	WAVE.Color = ColorSequence.new(Color)
805
	Debris:AddItem(BASE,0.5)
806
	WAVE:Emit(1)
807
end
808
809
--//=================================\\
810
--||	     WEAPON CREATION
811
--\\=================================//
812
813
for _, c in pairs(Character:GetChildren()) do
814
	if script:FindFirstChild(c.Name) then
815
		local Part = script[c.Name]
816
		Part.Parent = Character
817
		Part.Base.Anchored = false
818
		Part:SetPrimaryPartCFrame(c.CFrame)
819
		weldBetween(c,Part.Base)
820
		for _, e in pairs(Part:GetChildren()) do
821
			if e:IsA("BasePart") and e.Name ~= "Base" then
822
				e.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
823
				e.Locked = true
824
				e.Anchored = false
825
				e.Parent = Character
826
				weldBetween(c,e)
827
			end
828
		end
829
		Part:remove()
830
	end
831
end
832
local Weapon = script.Weapon
833
Weapon.Parent = Character
834
local Grip = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, Weapon.Bostaff, CF(0, -1, 0)*ANGLES(RAD(-90),RAD(0),RAD(0)), CF(0, 0, 0))
835
836
--[[local BONE = CreatePart(3, nil, "SmoothPlastic", 0, 0, BRICKC("Bright yellow"), "Tail", VT(0.3,0.5,0.3), false)
837
MakeForm(BONE,"Cyl")
838
839
local TAIL = {}
840
local LASTPART = Torso
841
local SIZE = BONE.Size
842
for i = 1, 15 do
843
	local PART = BONE:Clone()
844
	PART.Anchored = false
845
	PART.Parent = Character
846
	PART.Size = SIZE*((17-i)/10)/1.6
847
	if LASTPART == Torso then
848
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-1,0.6)* ANGLES(RAD(-55), RAD(0), RAD(0)), CF(0, 0, 0))
849
		LASTPART = PART
850
		table.insert(TAIL,WELD)
851
	else
852
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-PART.Size.Y/2,0), CF(0, PART.Size.Y/2, 0))
853
		LASTPART = PART
854
		table.insert(TAIL,WELD)
855
	end
856
end]]--
857
858
for _, c in pairs(Character:GetChildren()) do
859
	if c.ClassName == "Part" and c.Name ~= "Eye" then
860
		c.Material = "SmoothPlastic"
861
		if c:FindFirstChildOfClass("ParticleEmitter") then
862
			c:FindFirstChildOfClass("ParticleEmitter"):remove()
863
		end
864
		if c == LeftLeg or c == RightLeg then
865
			c.Color = C3(0.12,0.12,0.12)
866
		elseif c == Torso then
867
			c.Color = C3(0.15,0.15,0.15)
868
		else
869
			c.BrickColor = BRICKC"Bright yellow"
870
		end
871
		if c == Head then
872
			if c:FindFirstChild("face") then
873
				c.face:remove()
874
			end
875
		end
876
	elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
877
		c:remove()
878
	elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
879
		c:remove()
880
	end	
881
end
882
local BODY = {}
883
for _, c in pairs(Character:GetDescendants()) do
884
	if c:IsA("BasePart") and c.Name ~= "Handle" then
885
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
886
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
887
		end
888
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
889
	elseif c:IsA("JointInstance") then
890
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
891
	end
892
end
893
for e = 1, #BODY do
894
	if BODY[e] ~= nil then
895
		local STUFF = BODY[e]
896
		local PART = STUFF[1]
897
		local PARENT = STUFF[2]
898
		local MATERIAL = STUFF[3]
899
		local COLOR = STUFF[4]
900
		local TRANSPARENCY = STUFF[5]
901
		if PART.ClassName == "Part" and PART ~= RootPart then
902
			PART.Material = MATERIAL
903
			PART.Color = COLOR
904
			PART.Transparency = TRANSPARENCY
905
		end
906
		PART.AncestryChanged:Connect(function()
907
			PART.Parent = PARENT
908
		end)
909
	end
910
end
911
function refit()
912
	Character.Parent = workspace
913
	for e = 1, #BODY do
914
		if BODY[e] ~= nil then
915
			local STUFF = BODY[e]
916
			local PART = STUFF[1]
917
			local PARENT = STUFF[2]
918
			local MATERIAL = STUFF[3]
919
			local COLOR = STUFF[4]
920
			local TRANSPARENCY = STUFF[5]
921
			if PART:IsA("BasePart") and PART ~= RootPart then
922
				PART.Material = MATERIAL
923
				PART.Color = COLOR
924
				PART.Transparency = TRANSPARENCY+EXTRATRANS
925
			end
926
			if PART.Parent ~= PARENT then
927
				Humanoid:remove()
928
				PART.Parent = PARENT
929
				Humanoid = IT("Humanoid",Character)
930
			end
931
		end
932
	end
933
end
934
935
Humanoid.Died:connect(function()
936
	refit()
937
end)
938
939
local SKILLTEXTCOLOR = C3(1,1,1)
940
local SKILLFONT = "Fantasy"
941
local SKILLTEXTSIZE = 5
942
943
local MOBILITY = {"Z","B","C","G","H"}
944
local ATTACKS = {"Mouse","Q","E","V","X","M"}
945
local MOBILITYFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.71, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
946
local TEXT = CreateLabel(MOBILITYFRAME, "[MOBILITY]", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0.5, "Skill text")
947
local ATTACKSFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
948
local TEXT = CreateLabel(ATTACKSFRAME, "[ATTACKS]", SKILLTEXTCOLOR, SKILLTEXTSIZE+1, SKILLFONT, 0, 2, 0.5, "Skill text")
949
950
for i = 1, #MOBILITY do
951
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.71, 0, 0.90-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
952
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..MOBILITY[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Skill text")
953
end
954
for i = 1, #ATTACKS do
955
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
956
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.5, "Skill text")
957
end
958
959
--//=================================\\
960
--||			DAMAGING
961
--\\=================================//
962
963
function ApplyDamage(Humanoid,Damage)
964
	Damage = Damage * DAMAGEMULTIPLIER
965
	if Humanoid.Health < 2000 then
966
		if Humanoid.Health - Damage > 0 then
967
			Humanoid.Health = Humanoid.Health - Damage
968
		else
969
			Humanoid.Parent:BreakJoints()
970
		end
971
	else
972
		Humanoid.Parent:BreakJoints()
973
	end
974
end
975
976
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
977
	local CHILDREN = workspace:GetDescendants()
978
	for index, CHILD in pairs(CHILDREN) do
979
		if CHILD.ClassName == "Model" and CHILD ~= Character then
980
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
981
			if HUM then
982
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
983
				if TORSO then
984
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
985
						if INSTAKILL == true then
986
							CHILD:BreakJoints()
987
						else
988
							local DMG = MRANDOM(MINDMG,MAXDMG)
989
							ApplyDamage(HUM,DMG)
990
						end
991
						if FLING > 0 then
992
							for _, c in pairs(CHILD:GetChildren()) do
993
								if c:IsA("BasePart") then
994
									local bv = Instance.new("BodyVelocity") 
995
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
996
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
997
									bv.Parent = c
998
									Debris:AddItem(bv,0.05)
999
								end
1000
							end
1001
						end
1002
					end
1003
				end
1004
			end
1005
		end
1006
	end
1007
end
1008
1009
function APPLYMELEE(PART,MINDMG,MAXDMG,CANSTUN)
1010
	local HITS = {}
1011
	local TOUCH = PART.Touched:Connect(function(hit)
1012
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
1013
			local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
1014
			local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1015
			if TORSO and HUM.Health > 0 then
1016
				local PASS = true
1017
				for i = 1, #HITS do
1018
					if HITS[i] == hit.Parent then
1019
						PASS = false
1020
					end
1021
				end
1022
				table.insert(HITS,hit.Parent)
1023
					if PASS == true then
1024
					for i = 1, 3 do
1025
						WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.3,0.3,0.3), Size2 = VT(0,25,0), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Glass", Color = C3(0.3,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
1026
					end
1027
					ApplyDamage(HUM,MRANDOM(MINDMG,MAXDMG),TORSO,CANSTUN)
1028
					CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)],TORSO,2,MRANDOM(8,12)/10,false)
1029
				end
1030
			end
1031
		end
1032
	end)
1033
	return TOUCH
1034
end
1035
1036
--//=================================\\
1037
--||		 MOBILITY STUFF
1038
--\\=================================//
1039
1040
function Mobility(CFR)
1041
	Weapon.TrailBlade.Trail.Enabled = false
1042
	local POS = RootPart.Position
1043
	EXTRATRANS = 1
1044
	DASHING = true
1045
	WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(12,12,12), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 182765513, SoundPitch = 1, SoundVolume = 3})
1046
	repeat
1047
		RootPart.CFrame = RootPart.CFrame*CFR
1048
		for i = 1, 5 do
1049
			WACKYEFFECT({Time = MRANDOM(10,40), EffectType = "Sphere", Size = VT(2,2,0.7), Size2 = VT(0,0,10), Transparency = 0, Transparency2 = 1, CFrame = CF(CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,0,2).p,RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1050
		end
1051
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(6,8,6), Size2 = VT(0,4,0), Transparency = 1, Transparency2 = 0.8, CFrame = CF(RootPart.Position,POS) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = CF(RootPart.Position,POS)*CF(0,0,-35).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1052
		POS = RootPart.Position
1053
		RootPart.Velocity = VT(0,0,0)
1054
		Swait()
1055
	until KEYHOLD == false or ATTACK == true or MELEE == true
1056
	EXTRATRANS = 0
1057
	DASHING = false
1058
	WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(12,12,12), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 182765513, SoundPitch = 1, SoundVolume = 3})
1059
	RootPart.Velocity = VT(0,0,0)
1060
	Weapon.TrailBlade.Trail.Enabled = true
1061
end
1062
1063
--//=================================\\
1064
--||	ATTACK FUNCTIONS AND STUFF
1065
--\\=================================//
1066
1067
function Clicks()
1068
	MELEE = true
1069
	Rooted = false
1070
	Weapon.MainBlade.CanCollide = true
1071
	repeat
1072
		if COMBO == 1 and ATTACK == false then
1073
			COMBO = 2
1074
			for i=0, 0.15, 0.1 / Animation_Speed do
1075
				Swait()
1076
				if ATTACK == true then
1077
					break
1078
				end
1079
				Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1080
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)), 2 / Animation_Speed)
1081
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(40)), 2 / Animation_Speed)
1082
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1083
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1084
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 2 / Animation_Speed)
1085
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 2 / Animation_Speed)
1086
			end
1087
			CreateSound(143501853,Weapon.TrailBlade,2,MRANDOM(8,13)/10,false)
1088
			local DMGER = APPLYMELEE(Weapon.MainBlade,8,12,false)
1089
			for i=0, 0.4, 0.1 / Animation_Speed do
1090
				Swait()
1091
				if ATTACK == true then
1092
					break
1093
				end
1094
				Grip.C1 = Clerp(Grip.C1,CF(0, -1, 0.35) * ANGLES(RAD(80), RAD(0), RAD(0)), 1 / Animation_Speed)
1095
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80)), 1 / Animation_Speed)
1096
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-50)), 1 / Animation_Speed)
1097
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1098
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1099
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1100
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1101
			end
1102
			DMGER:Disconnect()
1103
		elseif COMBO == 2 and ATTACK == false then
1104
			COMBO = 3
1105
			local DMGER = APPLYMELEE(Weapon.MainBlade,25,35,false)
1106
			CreateSound(134012322,Weapon.TrailBlade,4,MRANDOM(8,13)/10,false)
1107
			for i = 1, 15 do
1108
				Swait()
1109
				if ATTACK == true then
1110
					break
1111
				end
1112
				RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.02)
1113
				Grip.C1 = Clerp(Grip.C1,CF(0, 1, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1114
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80-(i*(360/15)))), 2.5 / Animation_Speed)
1115
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(30), RAD(0), RAD(0)), 1 / Animation_Speed)
1116
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1117
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1118
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1119
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1120
			end
1121
			DMGER:Disconnect()
1122
		elseif COMBO == 3 and ATTACK == false then
1123
			COMBO = 1
1124
			for i=0, 0.5, 0.1 / Animation_Speed do
1125
				Swait()
1126
				if ATTACK == true then
1127
					break
1128
				end
1129
				Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(60), RAD(0), RAD(0)), 1 / Animation_Speed)
1130
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)), 2 / Animation_Speed)
1131
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(25)), 1 / Animation_Speed)
1132
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1133
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1134
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1135
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1136
			end
1137
			CreateSound(143501853,Weapon.TrailBlade,2,MRANDOM(8,13)/10,false)
1138
			local DMGER = APPLYMELEE(Weapon.MainBlade,10,15,false)
1139
			for i=0, 0.6, 0.1 / Animation_Speed do
1140
				Swait()
1141
				if ATTACK == true then
1142
					break
1143
				end
1144
				Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(55), RAD(0), RAD(0)), 1 / Animation_Speed)
1145
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80)), 1 / Animation_Speed)
1146
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-40)), 1 / Animation_Speed)
1147
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(120), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1148
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1149
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1150
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1151
			end
1152
			DMGER:Disconnect()
1153
		end
1154
	until HOLD == false or ATTACK == true
1155
	if COMBO == 2 and ATTACK == false then
1156
		for i=0, 0.5, 0.1 / Animation_Speed do
1157
			Swait()
1158
			if ATTACK == true then
1159
				break
1160
			end
1161
			Grip.C1 = Clerp(Grip.C1,CF(0, -1, 0.35) * ANGLES(RAD(80), RAD(0), RAD(0)), 1 / Animation_Speed)
1162
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80)), 1 / Animation_Speed)
1163
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-50)), 1 / Animation_Speed)
1164
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1165
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1166
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1167
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1168
		end
1169
	end
1170
	Weapon.MainBlade.CanCollide = false
1171
	coroutine.resume(coroutine.create(function()
1172
		for i = 1, 50 do
1173
			Swait()
1174
			if MELEE == true then
1175
				break
1176
			end
1177
		end
1178
		if MELEE == false then
1179
			COMBO = 1
1180
		end
1181
	end))
1182
	MELEE = false
1183
	Rooted = false
1184
end
1185
1186
function Aerial()
1187
	ATTACK = true
1188
	Rooted = false
1189
	local DMGER = APPLYMELEE(Weapon.MainBlade,35,45,false)
1190
	CreateSound(134012322,Weapon.TrailBlade,4,MRANDOM(8,13)/10,false)
1191
	for i = 1, 12 do
1192
		Swait()
1193
		Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1194
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(-i*(360/10))), 2 / Animation_Speed)
1195
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-65)), 1 / Animation_Speed)
1196
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1197
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1198
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1199
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1200
	end
1201
	DMGER:Disconnect()
1202
	ATTACK = false
1203
	Rooted = false
1204
end
1205
1206
function ZenBullet()
1207
	ATTACK = true
1208
	Rooted = false
1209
	if MELEE == true then
1210
		for i=0, 0.3, 0.1 / Animation_Speed do
1211
			Swait()
1212
			local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1213
			Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1214
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1215
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
1216
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(95), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1217
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1218
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1219
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1220
		end
1221
	else
1222
		local GYRO = IT("BodyGyro",RootPart)
1223
		GYRO.D = 2
1224
		GYRO.P = 2000
1225
		GYRO.MaxTorque = VT(0,4000000,0)
1226
		coroutine.resume(coroutine.create(function()
1227
			repeat
1228
				Swait()
1229
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1230
			until ATTACK == false
1231
			GYRO:Remove()
1232
		end))
1233
		for i=0, 1, 0.1 / Animation_Speed do
1234
			Swait()
1235
			Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1236
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1237
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
1238
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(95), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1239
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1240
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1241
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1242
		end
1243
	end
1244
	ATTACK = false
1245
	Rooted = false
1246
end
1247
1248
function AttackTemplate()
1249
	ATTACK = true
1250
	Rooted = false
1251
	for i=0, 1, 0.1 / Animation_Speed do
1252
		Swait()
1253
		Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1254
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1255
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
1256
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(95), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1257
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1258
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1259
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1260
	end
1261
	ATTACK = false
1262
	Rooted = false
1263
end
1264
1265
--//=================================\\
1266
--||	  ASSIGN THINGS TO KEYS
1267
--\\=================================//
1268
1269
function MouseDown(Mouse)
1270
	HOLD = true
1271
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1272
	if HITFLOOR then
1273
		if ATTACK == false and MELEE == false then
1274
			Clicks()
1275
		end
1276
	elseif ATTACK == false then
1277
		Aerial()
1278
	end
1279
end
1280
1281
function MouseUp(Mouse)
1282
HOLD = false
1283
end
1284
1285
function KeyDown(Key)
1286
	KEYHOLD = true
1287
	--MOBILITY--
1288
	if DASHING == false and MELEE == false then
1289
		if Key == "z" and ATTACK == false then
1290
			Mobility(CF(0,5,0))
1291
		end
1292
	
1293
		if Key == "b" and ATTACK == false then
1294
			Mobility(CF(0,0,-5))
1295
		end
1296
	
1297
		if Key == "c" and ATTACK == false then
1298
			Mobility(CF(0,0,5))
1299
		end
1300
	
1301
		if Key == "g" and ATTACK == false then
1302
			Mobility(CF(5,0,0))
1303
		end
1304
	
1305
		if Key == "h" and ATTACK == false then
1306
			Mobility(CF(-5,0,0))
1307
		end
1308
	end
1309
	--ATTACKS--
1310
	if Key == "q" and ATTACK == false then
1311
	end
1312
1313
	if Key == "e" and ATTACK == false then
1314
	end
1315
1316
	if Key == "v" and ATTACK == false then
1317
	end
1318
1319
	if Key == "x" and ATTACK == false then
1320
	end
1321
1322
	if Key == "m" and ATTACK == false then
1323
	end
1324
end
1325
1326
function KeyUp(Key)
1327
	KEYHOLD = false
1328
end
1329
1330
	Mouse.Button1Down:connect(function(NEWKEY)
1331
		MouseDown(NEWKEY)
1332
	end)
1333
	Mouse.Button1Up:connect(function(NEWKEY)
1334
		MouseUp(NEWKEY)
1335
	end)
1336
	Mouse.KeyDown:connect(function(NEWKEY)
1337
		KeyDown(NEWKEY)
1338
	end)
1339
	Mouse.KeyUp:connect(function(NEWKEY)
1340
		KeyUp(NEWKEY)
1341
	end)
1342
1343
--//=================================\\
1344
--\\=================================//
1345
1346
function unanchor()
1347
	for _, c in pairs(Character:GetChildren()) do
1348
		if c:IsA("BasePart") and c ~= RootPart then
1349
			c.Anchored = false
1350
		end
1351
	end
1352
	if UNANCHOR == true then
1353
		RootPart.Anchored = false
1354
	else
1355
		RootPart.Anchored = true
1356
	end
1357
end
1358
1359
--//=================================\\
1360
--||	WRAP THE WHOLE SCRIPT UP
1361
--\\=================================//
1362
1363
Humanoid.Changed:connect(function(Jump)
1364
	if Jump == "Jump" and (Disable_Jump == true) then
1365
		Humanoid.Jump = false
1366
	end
1367
end)
1368
1369
while true do
1370
	Swait()
1371
	script.Parent = WEAPONGUI
1372
	ANIMATE.Parent = nil
1373
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1374
	    v:Stop();
1375
	end
1376
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1377
		Humanoid = IT("Humanoid",Character)
1378
	end
1379
	SINE = SINE + CHANGE
1380
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1381
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1382
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1383
	local WALKSPEEDVALUE = 4
1384
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1385
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1386
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1387
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2- 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1388
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1389
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1390
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1391
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1392
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1393
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1394
	end
1395
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1396
		ANIM = "Jump"
1397
		if ATTACK == false and MELEE == false then
1398
			Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1399
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1400
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1401
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1402
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1403
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1404
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1405
		end
1406
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1407
		ANIM = "Fall"
1408
		if ATTACK == false and MELEE == false  then
1409
			Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1410
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1411
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1412
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1413
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1414
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1415
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1416
		end
1417
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1418
		ANIM = "Idle"
1419
		if ATTACK == false and MELEE == false  then
1420
			Grip.C1 = Clerp(Grip.C1,CF(0, 0.2 + 0.1 * SIN(SINE / 12), 0) * ANGLES(RAD(5), RAD(2 * COS(SINE / 12)), RAD(0)), 1 / Animation_Speed)
1421
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1422
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12) + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
1423
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(95), RAD(0), RAD(15+1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1424
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.4) * ANGLES(RAD(-45-2 * COS(SINE / 12)), RAD(0), RAD(45+2 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1425
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1426
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), 0) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1427
		end
1428
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1429
		ANIM = "Walk"
1430
		if ATTACK == false and MELEE == false  then
1431
			Grip.C1 = Clerp(Grip.C1,CF(0, 0, 0) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1432
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1433
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 1 / Animation_Speed)
1434
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(25), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1435
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1436
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(-5), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1437
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-5), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1438
		end
1439
	end
1440
	--[[for E = 1, #TAIL do
1441
		TAIL[E].C1 = Clerp(TAIL[E].C1,CF(0, 0, 0) * ANGLES(RAD(5-1 * SIN(SINE / 3)), RAD(-2 * COS(SINE / 6)), RAD(4 * SIN(SINE / 6))), 1 / Animation_Speed)
1442
	end]]
1443
	unanchor()
1444
	Humanoid.MaxHealth = 15e15
1445
	Humanoid.Health = 15e15
1446
	if Rooted == false then
1447
		Disable_Jump = false
1448
		Humanoid.WalkSpeed = Speed
1449
	elseif Rooted == true then
1450
		Disable_Jump = true
1451
		Humanoid.WalkSpeed = 0
1452
	end
1453
	refit()
1454
	for _, c in pairs(Character:GetChildren()) do
1455
		if c.ClassName == "Part" and c.Name ~= "Eye" then
1456
			c.Material = "SmoothPlastic"
1457
			if c:FindFirstChildOfClass("ParticleEmitter") then
1458
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
1459
			end
1460
			if c == LeftLeg or c == RightLeg then
1461
				c.Color = C3(0.12,0.12,0.12)
1462
				if c:FindFirstChildOfClass("BlockMesh") == nil then
1463
					IT("BlockMesh",c)
1464
				end
1465
			elseif c == Torso then
1466
				c.Color = C3(0.15,0.15,0.15)
1467
				if c:FindFirstChildOfClass("BlockMesh") == nil then
1468
					IT("BlockMesh",c)
1469
				end
1470
			else
1471
				c.BrickColor = BRICKC"Bright yellow"
1472
			end
1473
			if c == Head then
1474
				if c:FindFirstChild("face") then
1475
					c.face:remove()
1476
				end
1477
			end
1478
		elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
1479
			c:remove()
1480
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1481
			c:remove()
1482
		end
1483
	end
1484
	sick.SoundId = "rbxassetid://601021377"
1485
	sick.Looped = true
1486
	sick.Pitch = 1
1487
	sick.Volume = 1
1488
	sick.Parent = Character
1489
	sick.Playing = true
1490
	Humanoid.Name = "ZenMan"
1491
	Effects.Parent = Character
1492
	for _, c in pairs(Character:GetChildren()) do
1493
		if c:IsA("BasePart") and ATTACK == false then
1494
			for _, e in pairs(c:GetChildren()) do
1495
				if e:IsA("ParticleEmitter") or e:IsA("BodyPosition") or e:IsA("BodyGyro") then
1496
					e:remove()
1497
				end
1498
			end
1499
		end
1500
	end
1501
	if Head:FindFirstChild("face") then
1502
		Head.face:remove()
1503
	elseif Head:FindFirstChildOfClass("Sound") then
1504
		Head:FindFirstChildOfClass("Sound"):remove()
1505
	end
1506
end
1507
1508
--//=================================\\
1509
--\\=================================//
1510
1511
1512
1513
1514
1515
--//====================================================\\--
1516
--||			  		 END OF SCRIPT
1517
--\\====================================================//--