View difference between Paste ID: MzXWyAS1 and TiH60GhN
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2-
--||			   CREATED BY SHACKLUSTER
2+
--||			   CREATED BY SHACKLUSTER (Edit made by SonicSydney)
3
--\\====================================================//--
4
5
6
7
wait(0.2)
8
9
10
11
Player = game:GetService("Players").LocalPlayer
12
PlayerGui = Player.PlayerGui
13
Cam = workspace.CurrentCamera
14
Backpack = Player.Backpack
15
Character = Player.Character
16
Humanoid = Character.Humanoid
17
Mouse = Player:GetMouse()
18
RootPart = Character["HumanoidRootPart"]
19
Torso = Character["Torso"]
20
Head = Character["Head"]
21
RightArm = Character["Right Arm"]
22
LeftArm = Character["Left Arm"]
23
RightLeg = Character["Right Leg"]
24
LeftLeg = Character["Left Leg"]
25
RootJoint = RootPart["RootJoint"]
26
Neck = Torso["Neck"]
27
RightShoulder = Torso["Right Shoulder"]
28
LeftShoulder = Torso["Left Shoulder"]
29
RightHip = Torso["Right Hip"]
30
LeftHip = Torso["Left Hip"]
31
local sick = Instance.new("Sound",Character)
32-
sick.SoundId = "rbxassetid://204863573"
32+
sick.SoundId = "rbxassetid://857708134"
33
sick.Looped = true
34
sick.Pitch = 1
35-
sick.Volume = 1
35+
sick.Volume = 2
36
sick:Play()
37
38
IT = Instance.new
39
CF = CFrame.new
40
VT = Vector3.new
41
RAD = math.rad
42
C3 = Color3.new
43
UD2 = UDim2.new
44
BRICKC = BrickColor.new
45
ANGLES = CFrame.Angles
46
EULER = CFrame.fromEulerAnglesXYZ
47
COS = math.cos
48
ACOS = math.acos
49
SIN = math.sin
50
ASIN = math.asin
51
ABS = math.abs
52
MRANDOM = math.random
53
FLOOR = math.floor
54
55
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
56
	local NEWMESH = IT(MESH)
57
	if MESH == "SpecialMesh" then
58
		NEWMESH.MeshType = MESHTYPE
59
		if MESHID ~= "nil" and MESHID ~= "" then
60
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
61
		end
62
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
63
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
64
		end
65
	end
66
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
67
	NEWMESH.Scale = SCALE
68
	NEWMESH.Parent = PARENT
69
	return NEWMESH
70
end
71
72
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
73
	local NEWPART = IT("Part")
74
	NEWPART.formFactor = FORMFACTOR
75
	NEWPART.Reflectance = REFLECTANCE
76
	NEWPART.Transparency = TRANSPARENCY
77
	NEWPART.CanCollide = false
78
	NEWPART.Locked = true
79
	NEWPART.Anchored = true
80
	if ANCHOR == false then
81
		NEWPART.Anchored = false
82
	end
83
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
84
	NEWPART.Name = NAME
85
	NEWPART.Size = SIZE
86
	NEWPART.Position = Torso.Position
87
	NEWPART.Material = MATERIAL
88
	NEWPART:BreakJoints()
89
	NEWPART.Parent = PARENT
90
	return NEWPART
91
end
92
93
--//=================================\\
94
--||		  CUSTOMIZATION
95
--\\=================================//
96
97
Player_Size = 1 --Size of the player.
98
Animation_Speed = 3
99
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
100
101
local Speed = 16
102
local Effects2 = {}
103
104
--//=================================\\
105
--|| 	  END OF CUSTOMIZATION
106
--\\=================================//
107
108
	local function weldBetween(a, b)
109
	    local weldd = Instance.new("ManualWeld")
110
	    weldd.Part0 = a
111
	    weldd.Part1 = b
112
	    weldd.C0 = CFrame.new()
113
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
114
	    weldd.Parent = a
115
	    return weldd
116
	end
117
118
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
119
local acs = Instance.new("Part")
120
acs.CanCollide = false
121
acs.Anchored = false
122
acs.Size = Vector3.new(0,0,0)
123
acs.CFrame = attachmentpart.CFrame
124
acs.Parent = Character
125
acs.BrickColor = color
126
    local meshs = Instance.new("SpecialMesh")
127
    meshs.MeshId = mesh
128
    meshs.TextureId = texture
129
    meshs.Parent = acs
130
    meshs.Scale = scale
131
    meshs.Offset = offset
132
weldBetween(attachmentpart,acs)
133
end
134
135
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
136
if TYPE == "Gem" then
137
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
138
	acs.Anchored = false
139
    acs.CanCollide = false
140
	acs.CFrame = PART.CFrame
141
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
142
weldBetween(PART,acs)
143
elseif TYPE == "Skull" then
144
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
145
	acs.Anchored = false
146
    acs.CanCollide = false
147
	acs.CFrame = PART.CFrame
148
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
149
weldBetween(PART,acs)
150
elseif TYPE == "Eye" then
151
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
152
	acs.Anchored = false
153
    acs.CanCollide = false
154
	acs.CFrame = PART.CFrame
155
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
156
weldBetween(PART,acs)
157
end
158
end
159
160
--//=================================\\
161
--|| 	      USEFUL VALUES
162
--\\=================================//
163
164
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
165
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
166
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
167
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
168
local CHANGEDEFENSE = 0
169
local CHANGEDAMAGE = 0
170
local CHANGEMOVEMENT = 0
171
local ANIM = "Idle"
172
local ATTACK = false
173
local EQUIPPED = false
174
local HOLD = false
175
local COMBO = 1
176
local Rooted = false
177
local SINE = 0
178
local KEYHOLD = false
179
local CHANGE = 2 / Animation_Speed
180
local WALKINGANIM = false
181
local WALK = 0
182
local VALUE1 = false
183
local VALUE2 = false
184
local ROBLOXIDLEANIMATION = IT("Animation")
185
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
186
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
187
--ROBLOXIDLEANIMATION.Parent = Humanoid
188
local WEAPONGUI = IT("ScreenGui", PlayerGui)
189
WEAPONGUI.Name = "Weapon GUI"
190
local Weapon = IT("Model")
191
Weapon.Name = "Adds"
192
local Effects = IT("Folder", Weapon)
193
Effects.Name = "Effects"
194
local ANIMATOR = Humanoid.Animator
195
local ANIMATE = Character.Animate
196
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
197
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
198
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
199
local HITBLOCKSOUNDS = {"199148933", "199148947"}
200
local UNANCHOR = true
201
202
local SKILLTEXTCOLOR = BRICKC"Pastel blue-green".Color
203
204
--//=================================\\
205
--\\=================================//
206
207
208
--//=================================\\
209
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
210
--\\=================================//
211
212
ArtificialHB = Instance.new("BindableEvent", script)
213
ArtificialHB.Name = "ArtificialHB"
214
215
script:WaitForChild("ArtificialHB")
216
217
frame = Frame_Speed
218
tf = 0
219
allowframeloss = false
220
tossremainder = false
221
lastframe = tick()
222
script.ArtificialHB:Fire()
223
224
game:GetService("RunService").Heartbeat:connect(function(s, p)
225
	tf = tf + s
226
	if tf >= frame then
227
		if allowframeloss then
228
			script.ArtificialHB:Fire()
229
			lastframe = tick()
230
		else
231
			for i = 1, math.floor(tf / frame) do
232
				script.ArtificialHB:Fire()
233
			end
234
		lastframe = tick()
235
		end
236
		if tossremainder then
237
			tf = 0
238
		else
239
			tf = tf - frame * math.floor(tf / frame)
240
		end
241
	end
242
end)
243
244
--//=================================\\
245
--\\=================================//
246
247
248
249
250
251
--//=================================\\
252
--|| 	      SOME FUNCTIONS
253
--\\=================================//
254
255
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
256
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
257
end
258
259
function PositiveAngle(NUMBER)
260
	if NUMBER >= 0 then
261
		NUMBER = 0
262
	end
263
	return NUMBER
264
end
265
266
function NegativeAngle(NUMBER)
267
	if NUMBER <= 0 then
268
		NUMBER = 0
269
	end
270
	return NUMBER
271
end
272
273
function Swait(NUMBER)
274
	if NUMBER == 0 or NUMBER == nil then
275
		ArtificialHB.Event:wait()
276
	else
277
		for i = 1, NUMBER do
278
			ArtificialHB.Event:wait()
279
		end
280
	end
281
end
282
283
function QuaternionFromCFrame(cf)
284
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
285
	local trace = m00 + m11 + m22
286
	if trace > 0 then 
287
		local s = math.sqrt(1 + trace)
288
		local recip = 0.5 / s
289
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
290
	else
291
		local i = 0
292
		if m11 > m00 then
293
			i = 1
294
		end
295
		if m22 > (i == 0 and m00 or m11) then
296
			i = 2
297
		end
298
		if i == 0 then
299
			local s = math.sqrt(m00 - m11 - m22 + 1)
300
			local recip = 0.5 / s
301
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
302
		elseif i == 1 then
303
			local s = math.sqrt(m11 - m22 - m00 + 1)
304
			local recip = 0.5 / s
305
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
306
		elseif i == 2 then
307
			local s = math.sqrt(m22 - m00 - m11 + 1)
308
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
309
		end
310
	end
311
end
312
 
313
function QuaternionToCFrame(px, py, pz, x, y, z, w)
314
	local xs, ys, zs = x + x, y + y, z + z
315
	local wx, wy, wz = w * xs, w * ys, w * zs
316
	local xx = x * xs
317
	local xy = x * ys
318
	local xz = x * zs
319
	local yy = y * ys
320
	local yz = y * zs
321
	local zz = z * zs
322
	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))
323
end
324
 
325
function QuaternionSlerp(a, b, t)
326
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
327
	local startInterp, finishInterp;
328
	if cosTheta >= 0.0001 then
329
		if (1 - cosTheta) > 0.0001 then
330
			local theta = ACOS(cosTheta)
331
			local invSinTheta = 1 / SIN(theta)
332
			startInterp = SIN((1 - t) * theta) * invSinTheta
333
			finishInterp = SIN(t * theta) * invSinTheta
334
		else
335
			startInterp = 1 - t
336
			finishInterp = t
337
		end
338
	else
339
		if (1 + cosTheta) > 0.0001 then
340
			local theta = ACOS(-cosTheta)
341
			local invSinTheta = 1 / SIN(theta)
342
			startInterp = SIN((t - 1) * theta) * invSinTheta
343
			finishInterp = SIN(t * theta) * invSinTheta
344
		else
345
			startInterp = t - 1
346
			finishInterp = t
347
		end
348
	end
349
	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
350
end
351
352
function Clerp(a, b, t)
353
	local qa = {QuaternionFromCFrame(a)}
354
	local qb = {QuaternionFromCFrame(b)}
355
	local ax, ay, az = a.x, a.y, a.z
356
	local bx, by, bz = b.x, b.y, b.z
357
	local _t = 1 - t
358
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
359
end
360
361
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
362
	local frame = IT("Frame")
363
	frame.BackgroundTransparency = TRANSPARENCY
364
	frame.BorderSizePixel = BORDERSIZEPIXEL
365
	frame.Position = POSITION
366
	frame.Size = SIZE
367
	frame.BackgroundColor3 = COLOR
368
	frame.BorderColor3 = BORDERCOLOR
369
	frame.Name = NAME
370
	frame.Parent = PARENT
371
	return frame
372
end
373
374
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
375
	local label = IT("TextLabel")
376
	label.BackgroundTransparency = 1
377
	label.Size = UD2(1, 0, 1, 0)
378
	label.Position = UD2(0, 0, 0, 0)
379
	label.TextColor3 = TEXTCOLOR
380
	label.TextStrokeTransparency = STROKETRANSPARENCY
381
	label.TextTransparency = TRANSPARENCY
382
	label.FontSize = TEXTFONTSIZE
383
	label.Font = TEXTFONT
384
	label.BorderSizePixel = BORDERSIZEPIXEL
385
	label.TextScaled = false
386
	label.Text = TEXT
387
	label.Name = NAME
388
	label.Parent = PARENT
389
	return label
390
end
391
392
function NoOutlines(PART)
393
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
394
end
395
396
397
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
398
	local NEWWELD = IT(TYPE)
399
	NEWWELD.Part0 = PART0
400
	NEWWELD.Part1 = PART1
401
	NEWWELD.C0 = C0
402
	NEWWELD.C1 = C1
403
	NEWWELD.Parent = PARENT
404
	return NEWWELD
405
end
406
407
function CreateSound(ID, PARENT, VOLUME, PITCH)
408
	local NEWSOUND = nil
409
	coroutine.resume(coroutine.create(function()
410
		NEWSOUND = IT("Sound", PARENT)
411
		NEWSOUND.Volume = VOLUME
412
		NEWSOUND.Pitch = PITCH
413
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
414
		Swait()
415
		NEWSOUND:play()
416
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
417
	end))
418
	return NEWSOUND
419
end
420
421
function CFrameFromTopBack(at, top, back)
422
	local right = top:Cross(back)
423
	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)
424
end
425
426
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
427
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
428
	local mesh = IT("SpecialMesh",wave)
429
	mesh.MeshType = "FileMesh"
430
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
431
	mesh.Scale = SIZE
432
	mesh.Offset = VT(0,0,-SIZE.X/8)
433
	wave.CFrame = CFRAME
434
	coroutine.resume(coroutine.create(function(PART)
435
		for i = 1, WAIT do
436
			Swait()
437
			mesh.Scale = mesh.Scale + GROW
438
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
439
			if DOESROT == true then
440
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
441
			end
442
			wave.Transparency = wave.Transparency + (0.5/WAIT)
443
			if wave.Transparency > 0.99 then
444
				wave:remove()
445
			end
446
		end
447
	end))
448
end
449
450
function CreateCrown(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
451
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
452
	local mesh = IT("SpecialMesh",wave)
453
	mesh.MeshType = "FileMesh"
454
	mesh.MeshId = "http://www.roblox.com/asset/?id=1078075"
455
	mesh.Scale = SIZE
456
	mesh.Offset = VT(0,0,-SIZE.X/8)
457
	wave.CFrame = CFRAME
458
	coroutine.resume(coroutine.create(function(PART)
459
		for i = 1, WAIT do
460
			Swait()
461
			mesh.Scale = mesh.Scale + GROW
462
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
463
			if DOESROT == true then
464
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
465
			end
466
			wave.Transparency = wave.Transparency + (0.5/WAIT)
467
			if wave.Transparency > 0.99 then
468
				wave:remove()
469
			end
470
		end
471
	end))
472
end
473
474
function CreateIceCrown(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
475
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
476
	local mesh = IT("SpecialMesh",wave)
477
	mesh.MeshType = "FileMesh"
478
	mesh.MeshId = "http://www.roblox.com/asset/?id=1323306"
479
	mesh.Scale = SIZE
480
	mesh.Offset = VT(0,0,-SIZE.X/8)
481
	wave.CFrame = CFRAME
482
	coroutine.resume(coroutine.create(function(PART)
483
		for i = 1, WAIT do
484
			Swait()
485
			mesh.Scale = mesh.Scale + GROW
486
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
487
			if DOESROT == true then
488
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
489
			end
490
			wave.Transparency = wave.Transparency + (0.5/WAIT)
491
			if wave.Transparency > 0.99 then
492
				wave:remove()
493
			end
494
		end
495
	end))
496
end
497
498
function CreateSpikeball(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
499
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
500
	local mesh = IT("SpecialMesh",wave)
501
	mesh.MeshType = "FileMesh"
502
	mesh.MeshId = "http://www.roblox.com/asset/?id=9982590"
503
	mesh.Scale = SIZE
504
	mesh.Offset = VT(0,0,-SIZE.X/8)
505
	wave.CFrame = CFRAME
506
	coroutine.resume(coroutine.create(function(PART)
507
		for i = 1, WAIT do
508
			Swait()
509
			mesh.Scale = mesh.Scale + GROW
510
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
511
			if DOESROT == true then
512
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
513
			end
514
			wave.Transparency = wave.Transparency + (0.5/WAIT)
515
			if wave.Transparency > 0.99 then
516
				wave:remove()
517
			end
518
		end
519
	end))
520
end
521
522
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
523
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
524
	local mesh = IT("SpecialMesh",wave)
525
	mesh.MeshType = "FileMesh"
526
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
527
	mesh.Scale = SIZE
528
	wave.CFrame = CFRAME
529
	coroutine.resume(coroutine.create(function(PART)
530
		for i = 1, WAIT do
531
			Swait()
532
			mesh.Scale = mesh.Scale + GROW
533
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
534
			if DOESROT == true then
535
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
536
			end
537
			wave.Transparency = wave.Transparency + (0.5/WAIT)
538
			if wave.Transparency > 0.99 then
539
				wave:remove()
540
			end
541
		end
542
	end))
543
end
544
545
function CreateTornado(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
546
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
547
	local mesh = IT("SpecialMesh",wave)
548
	mesh.MeshType = "FileMesh"
549
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
550
	mesh.Scale = SIZE
551
	wave.CFrame = CFRAME
552
	coroutine.resume(coroutine.create(function(PART)
553
		for i = 1, WAIT do
554
			Swait()
555
			mesh.Scale = mesh.Scale + GROW
556
			if DOESROT == true then
557
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
558
			end
559
			wave.Transparency = wave.Transparency + (0.5/WAIT)
560
			if wave.Transparency > 0.99 then
561
				wave:remove()
562
			end
563
		end
564
	end))
565
end
566
567
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
568
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
569
	local mesh = IT("SpecialMesh",wave)
570
	mesh.MeshType = "FileMesh"
571
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
572
	mesh.Scale = SIZE
573
	mesh.Offset = VT(0,0,0)
574
	wave.CFrame = CFRAME
575
	coroutine.resume(coroutine.create(function(PART)
576
		for i = 1, WAIT do
577
			Swait()
578
			mesh.Scale = mesh.Scale + GROW
579
			if DOESROT == true then
580
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
581
			end
582
			wave.Transparency = wave.Transparency + (0.5/WAIT)
583
			if wave.Transparency > 0.99 then
584
				wave:remove()
585
			end
586
		end
587
	end))
588
end
589
590
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
591
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
592
	local mesh = IT("SpecialMesh",wave)
593
	mesh.MeshType = "Sphere"
594
	mesh.Scale = SIZE
595
	mesh.Offset = VT(0,0,0)
596
	wave.CFrame = CFRAME
597
	coroutine.resume(coroutine.create(function(PART)
598
		for i = 1, WAIT do
599
			Swait()
600
			mesh.Scale = mesh.Scale + GROW
601
			wave.Transparency = wave.Transparency + (1/WAIT)
602
			if wave.Transparency > 0.99 then
603
				wave:remove()
604
			end
605
		end
606
	end))
607
end
608
609
function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
610
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
611
	local mesh = IT("BlockMesh",wave)
612
	wave.CFrame = CFRAME
613
	coroutine.resume(coroutine.create(function(PART)
614
		for i = 1, WAIT do
615
			Swait()
616
			mesh.Scale = mesh.Scale + GROW
617
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
618
			wave.Transparency = wave.Transparency + (1/WAIT)
619
			if wave.Transparency > 0.99 then
620
				wave:remove()
621
			end
622
		end
623
	end))
624
end
625
626
function MakeForm(PART,TYPE)
627
	if TYPE == "Cyl" then
628
		local MSH = IT("CylinderMesh",PART)
629
	elseif TYPE == "Ball" then
630
		local MSH = IT("SpecialMesh",PART)
631
		MSH.MeshType = "Sphere"
632
	elseif TYPE == "Wedge" then
633
		local MSH = IT("SpecialMesh",PART)
634
		MSH.MeshType = "Wedge"
635
	elseif TYPE == "Cone" then
636
		local MSH = IT("SpecialMesh",PART)
637
		MSH.MeshType = "FileMesh"
638
		MSH.MeshId = "http://www.roblox.com/asset/?id=785967755"
639
		MSH.Scale = PART.Size/50
640
	end
641
end
642
643
function CheckTableForString(Table, String)
644
	for i, v in pairs(Table) do
645
		if string.find(string.lower(String), string.lower(v)) then
646
			return true
647
		end
648
	end
649
	return false
650
end
651
652
function CheckIntangible(Hit)
653
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
654
	if Hit and Hit.Parent then
655
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
656
			return true
657
		end
658
	end
659
	return false
660
end
661
662
Debris = game:GetService("Debris")
663
664
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
665
	local Direction = CFrame.new(StartPos, Vec).lookVector
666
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
667
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
668
	if RayHit and CheckIntangible(RayHit) then
669
		if DelayIfHit then
670
			wait()
671
		end
672
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
673
	end
674
	return RayHit, RayPos, RayNormal
675
end
676
677
function turnto(position)
678
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
679
end
680
681
--//=================================\\
682
--|| 			SPEECH
683
--\\=================================//
684
685
function chatfunc(text,waitt)
686
local chat = coroutine.wrap(function()
687
if Character:FindFirstChild("TalkingBillBoard")~= nil then
688
Character:FindFirstChild("TalkingBillBoard"):destroy()
689
end
690
local naeeym2 = Instance.new("BillboardGui",Character)
691
naeeym2.Size = UDim2.new(0,100,0,40)
692
naeeym2.StudsOffset = Vector3.new(0,5,0)
693
naeeym2.Adornee = Character.Head
694
naeeym2.Name = "TalkingBillBoard"
695
naeeym2.AlwaysOnTop = true
696
local tecks2 = Instance.new("TextLabel",naeeym2)
697
tecks2.BackgroundTransparency = 1
698
tecks2.BorderSizePixel = 0
699
tecks2.Text = ""
700
tecks2.Font = "SciFi"
701
tecks2.TextSize = 30
702
tecks2.TextStrokeTransparency = 1
703
tecks2.TextColor3 = SKILLTEXTCOLOR
704
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
705
tecks2.Size = UDim2.new(1,0,0.5,0)
706
for i = 1,string.len(text),1 do
707
tecks2.Text = string.sub(text,1,i)
708
Swait()
709
end
710
wait(waitt)
711
coroutine.resume(coroutine.create(function()
712
	for i = 1, 10 do
713
		tecks2.TextTransparency = tecks2.TextTransparency + 0.1
714
		Swait()
715
	end
716
	naeeym2:Destroy()
717
end))
718
end)
719
chat()
720
end
721
722
--//=================================\\
723
--||	     WEAPON CREATION
724
--\\=================================//
725
726-
local COLOR = "Pastel blue-green"
726+
local COLOR = "Bright red"
727
local COLOR2 = "Really black"
728
729
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(1.01,0.2,1.01),false)
730
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.8, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
731
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(1.005,0.25,1.005),false)
732
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.8, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
733
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(1.01,0.2,1.01),false)
734
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
735
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(1.005,0.25,1.005),false)
736
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
737
738
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.6,1.02,0.6),false)
739
MakeForm(part,"Cyl")
740
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
741
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.7,1.005,0.7),false)
742
MakeForm(part,"Cyl")
743
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
744
745
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.2,0.7,1.01),false)
746
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
747
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.25,0.7,1.005),false)
748
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
749
750
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.2,0.7,1.01),false)
751
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
752
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.25,0.7,1.005),false)
753
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
754
755
local part = CreatePart(3, Weapon, "Neon", 0, 0, COLOR, "Gauntlet Part", VT(0.5,0.725,1.0025),false)
756
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.251, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
757
758
local OFFSET = 0.25
759
760
for i = 1, 2 do
761
	local PART = CreatePart(3, Weapon, "Marble", 0, 1, COLOR, "ClawPart", VT(0,0,0),false)
762
	local weld = CreateWeldOrSnapOrMotor("Weld", PART, RightArm, PART, CF(-0.35, -1.25, 0) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, OFFSET, 0))
763
	for i = 1, 12 do
764
		local RingPiece = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "ClawPart", VT(0.15-(i/120),0.15-(i/120),0.2),false)
765
		local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD(-35+i*8), RAD(0)), CF(0, 0, 0) * CF(-1, 0, 0))
766
	end
767
	OFFSET = OFFSET - 0.50
768
end
769
770
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(1.01,0.2,1.01),false)
771
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.8, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
772
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(1.005,0.25,1.005),false)
773
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.8, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
774
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(1.01,0.2,1.01),false)
775
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
776
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(1.005,0.25,1.005),false)
777
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
778
779
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.6,1.02,0.6),false)
780
MakeForm(part,"Cyl")
781
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
782
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.7,1.005,0.7),false)
783
MakeForm(part,"Cyl")
784
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
785
786
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.2,0.7,1.01),false)
787
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
788
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.25,0.7,1.005),false)
789
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
790
791
local part = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "Gauntlet Part", VT(0.2,0.7,1.01),false)
792
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
793
local part = CreatePart(3, Weapon, "Marble", 0, 0, COLOR2, "Gauntlet Part", VT(0.25,0.7,1.005),false)
794
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
795
796
local part = CreatePart(3, Weapon, "Neon", 0, 0, COLOR, "Gauntlet Part", VT(0.5,0.725,1.0025),false)
797
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.251, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
798
799
local CLAW = CreatePart(3, Weapon, "Neon", 0, 1, COLOR, "Grab part", VT(0.2,0.2,0.2),false)
800
local weld = CreateWeldOrSnapOrMotor("Weld", CLAW, RightArm, CLAW, CF(0, -1.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
801
802
CLAW.CanCollide = true
803
804
local OFFSET = 0.25
805
806
for i = 1, 2 do
807
	local PART = CreatePart(3, Weapon, "Marble", 0, 1, COLOR, "ClawPart", VT(0,0,0),false)
808
	local weld = CreateWeldOrSnapOrMotor("Weld", PART, LeftArm, PART, CF(0.35, -1.25, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)), CF(0, OFFSET, 0))
809
	for i = 1, 12 do
810
		local RingPiece = CreatePart(3, Weapon, "Ice", 0, 0, COLOR, "ClawPart", VT(0.15-(i/120),0.15-(i/120),0.2),false)
811
		local RingWeld = CreateWeldOrSnapOrMotor("Weld", RingPiece, PART, RingPiece, CF(0, 0, 0) * ANGLES(RAD(0), RAD(-35+i*8), RAD(0)), CF(0, 0, 0) * CF(-1, 0, 0))
812
	end
813
	OFFSET = OFFSET - 0.50
814
end
815
816
for _, c in pairs(Weapon:GetChildren()) do
817
	if c.ClassName == "Part" then
818
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
819
	end
820
end
821
822
Weapon.Parent = Character
823
824
Humanoid.Died:connect(function()
825
	ATTACK = true
826
end)
827
828
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
829
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
830
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
831
local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
832
833-
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ice wall", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 1")
833+
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] HaTe wall", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 1")
834-
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Icicle prison", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 2")
834+
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Hatred prison", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 2")
835-
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[V] Frozen kingdom", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 3")
835+
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[V] Frozen HELL", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 3")
836-
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] Ice chuck", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 4")
836+
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] HATE chuck", SKILLTEXTCOLOR, 6, "Legacy", 0, 2, 1, "Text 4")
837
838
--//=================================\\
839
--||	     DAMAGE FUNCTIONS
840
--\\=================================//
841
842
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
843
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
844
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
845
	local BODYGYRO = IT("BodyGyro", STATPART)
846
	local BODYPOSITION = IT("BodyPosition", STATPART)
847
	BODYPOSITION.P = 2000
848
	BODYPOSITION.D = 100
849
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
850
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
851
	game:GetService("Debris"):AddItem(STATPART ,5)
852
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
853
	BILLBOARDGUI.Adornee = STATPART
854
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
855
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
856
	BILLBOARDGUI.AlwaysOnTop = false
857
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
858
	TEXTLABEL.BackgroundTransparency = 1
859
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
860
	TEXTLABEL.Text = TEXT
861
	TEXTLABEL.Font = "SciFi"
862
	TEXTLABEL.FontSize="Size42"
863
	TEXTLABEL.TextColor3 = COLOR
864
	TEXTLABEL.TextStrokeTransparency = 1
865
	TEXTLABEL.TextScaled = true
866
	TEXTLABEL.TextWrapped = true
867
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
868
		if LABELTYPE == "Normal" then
869
			for i = 1, 30 do
870
				Swait()
871
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
872
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
873
			end
874
		elseif LABELTYPE == "Debuff" then
875
			for i = 1, 30 do
876
				Swait()
877
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
878
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
879
			end
880
		elseif LABELTYPE == "Shock" then
881
			local ORIGIN = STATPART.Position
882
			for i = 1, 30 do
883
				Swait()
884
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
885
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
886
			end
887
		end
888
		THEPART.Parent = nil
889
	end),STATPART, BODYPOSITION, TEXTLABEL)
890
end
891
892
--//=================================\\
893
--||			DAMAGING
894
--\\=================================//
895
896
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
897
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
898
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
899
		local dmg = math.random(min,max)
900
		if humanoid.Health > 0 then
901
			if beserk == true then
902
				humanoid.Health = 0
903
			else
904
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
905
				if math.random(1,100) < critrate+1 then
906
					humanoid.Health = humanoid.Health - dmg*critmultiplier
907
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
908
				else
909
					humanoid.Health = humanoid.Health - dmg
910
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
911
				end
912
			end
913
		end
914
	end
915
end
916
917
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
918
	local dmg = math.random(min,max)
919
	for i,v in ipairs(workspace:GetChildren()) do
920
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
921
		local body = v:GetChildren()
922
			for part = 1, #body do
923
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
924
					if(body[part].Position - position).Magnitude < radius then
925
						if v.ClassName == "Model" then
926
							if v:FindFirstChild("Humanoid") then
927
								if v.Humanoid.Health ~= 0 then
928
									if CanBeDodgedByJumping == true then
929
										if body[part].Position.Y < position.Y+5 then
930
											if math.random(1,100) < critrate+1 then
931
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
932
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
933
											else
934
												v.Humanoid.Health = v.Humanoid.Health - dmg
935
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
936
											end
937
											local defence = Instance.new("BoolValue",v)
938
											defence.Name = ("HitBy"..Player.Name)
939
										end
940
									else
941
										if beserk == true then
942
											v.Humanoid.Health = 0
943
										end
944
										if math.random(1,100) < critrate+1 then
945
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
946
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
947
										else
948
											v.Humanoid.Health = v.Humanoid.Health - dmg
949
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
950
										end
951
										local defence = Instance.new("BoolValue",v)
952
										defence.Name = ("HitBy"..Player.Name)
953
									end
954
								end
955
								body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
956
							end
957
						end
958
					end
959
				end
960
			end
961
		end	
962
		if v:FindFirstChild("HitBy"..Player.Name) then
963
			v:FindFirstChild("HitBy"..Player.Name):remove()
964
		end
965
	end
966
end
967
968
function AoEStun(POS,RANGE,LAST)
969
	for i,v in ipairs(workspace:GetChildren()) do
970
	if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
971
		local body = v:GetChildren()
972
			for part = 1, #body do
973
				if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
974
					if(body[part].Position - POS).Magnitude < RANGE then
975
						if v.ClassName == "Model" then
976
							if v:FindFirstChild("Humanoid") then
977
								if v.Humanoid.Health ~= 0 then
978
									Freeze(v.Humanoid,LAST)
979
									local defence = Instance.new("BoolValue",v)
980
									defence.Name = ("StunnedBy"..Player.Name)
981
									game:GetService("Debris"):AddItem(defence, 0.1)
982
								end
983
							end
984
						end
985
					end
986
				end
987
			end
988
		end
989
	end
990
end
991
992
function Freeze(HUMANOID,LAST)
993
	if HUMANOID.Parent:FindFirstChild("StunnedBy"..Player.Name) == nil then
994
		local q = HUMANOID.Parent:GetChildren()
995
		for i = 1, #q do
996
			local bob = q[i]
997
			if bob.ClassName == "Part" or bob.ClassName == "MeshPart" then
998
				if bob.Transparency < 1 then
999
					bob.Anchored = true
1000
					local icelayer = bob:Clone()
1001
					icelayer.Parent = bob
1002
					icelayer.Material = "Ice"
1003
					icelayer.CanCollide = false
1004-
					icelayer.BrickColor = BRICKC"Steel blue"
1004+
					icelayer.BrickColor = BRICKC"Bright red"
1005
					icelayer.Transparency = 0.5
1006
					icelayer.CFrame = bob.CFrame
1007
					icelayer.Name = "Ice"
1008
					icelayer.Size = icelayer.Size + VT(0.1,0.1,0.1)
1009
					if icelayer:FindFirstChildOfClass("Decal") then
1010
						icelayer:FindFirstChildOfClass("Decal"):remove()
1011
					end
1012
				end
1013
			end
1014
		end
1015
		local defence = Instance.new("BoolValue",HUMANOID.Parent)
1016
		defence.Name = ("StunnedBy"..Player.Name)
1017
		game:GetService("Debris"):AddItem(defence, LAST)
1018
		if HUMANOID.Parent:FindFirstChild("Head") then
1019-
			StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Frozen!", C3(0.3, 0.3, 0.3))
1019+
			StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stuck!", C3(0.3, 0.3, 0.3))
1020
		end
1021
		coroutine.resume(coroutine.create(function()
1022
			Swait(LAST*50)
1023
			local q = HUMANOID.Parent:GetChildren()
1024
			for i = 1, #q do
1025
				local bob = q[i]
1026
				if bob.ClassName == "Part" or bob.ClassName == "MeshPart" then
1027
					if bob.Transparency < 1 then
1028
						bob.Anchored = false
1029
						bob.Ice:remove()
1030
					end
1031
				end
1032
			end
1033
		end))
1034
	end
1035
end
1036
1037
function killnearest(position,range,maxstrength)
1038
	for i,v in ipairs(workspace:GetChildren()) do
1039
	local body = v:GetChildren()
1040
		for part = 1, #body do
1041
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1042
				if(body[part].Position - position).Magnitude < range then
1043
					if v.ClassName == "Model" then
1044
						v:BreakJoints()
1045
					end
1046
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1047
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1048
				end
1049
			end
1050
		end
1051
		if v.ClassName == "Part" then
1052
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1053
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1054
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1055
			end
1056
		end
1057
	end
1058
end
1059
1060
--//=================================\\
1061
--||	ATTACK FUNCTIONS AND STUFF
1062
--\\=================================//
1063
1064
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1065
	if FLOOR ~= nil then
1066
		coroutine.resume(coroutine.create(function()
1067-
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
1067+
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Bright red", "DebreeCenter", VT(0,0,0))
1068
			PART.CFrame = CF(POSITION)
1069
			for i = 1, 45 do
1070-
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
1070+
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Bright red", "DebreePart", BLOCKSIZE)
1071
				RingPiece.Material = FLOOR.Material
1072
				RingPiece.Color = FLOOR.Color
1073
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1074
				coroutine.resume(coroutine.create(function()
1075
					Swait(SWAIT)
1076
					RingPiece.Anchored = false
1077
				end))
1078
			end
1079
			PART:remove()
1080
		end))
1081
	end
1082
end
1083
1084
function Strike()
1085
	ATTACK = true
1086
	Rooted = false
1087
	for i=0, 0.3, 0.1 / Animation_Speed do
1088
		Swait()
1089
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1090
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1091
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1092
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1093
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1094
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1095
	end
1096
	for i=0, 0.1, 0.1 / Animation_Speed do
1097
		Swait()
1098
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1099
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1100
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(-45), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1101
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(45), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1102
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1103
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1104
	end
1105
	AoEDamage(RootPart.CFrame*CF(0,0,-2).p,3,25,35,5,false,2,2,false)
1106
	for i=0, 0.2, 0.1 / Animation_Speed do
1107
		Swait()
1108
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1109
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1110
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(-45), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1111
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(45), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1112
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1113
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1114
	end
1115
	ATTACK = false
1116
	Rooted = false
1117
end
1118
1119
function IceWall()
1120
	ATTACK = true
1121
	Rooted = true
1122
	local IceMaterializeSounds = {
1123
	  "333476017",
1124
	  "333475981",
1125
	  "333475957",
1126
	  "333475929"
1127
	}
1128
	for i=0, 2, 0.1 / Animation_Speed do
1129
		Swait()
1130
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1131
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1132
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1133
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1134
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1135
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1136
	end
1137
	coroutine.resume(coroutine.create(function()
1138
		local POS = RootPart.CFrame * CF(0,0,-5)
1139
		local OFFSET = 0.1
1140
		local WallPiece = CreatePart(3, Effects, "Ice", 0, 0.75, COLOR, "Ice", VT(5,75,5))
1141
		WallPiece.CFrame = POS
1142
		AoEDamage(WallPiece.Position,6,3,4,5,false,2,2,false)
1143
		CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], WallPiece, 3, 1)
1144
		WallPiece.CanCollide = true
1145
		coroutine.resume(coroutine.create(function()
1146
			Swait(150)
1147
			WallPiece.Anchored = false
1148
			WallPiece.CanCollide = false
1149
		end))
1150
		for i = 1, 2 do
1151
			coroutine.resume(coroutine.create(function()
1152
				local OFF = OFFSET
1153
				for i = 1, 30 do
1154
					Swait()
1155
					local WallPiece = CreatePart(3, Effects, "Ice", 0, 0.75, COLOR, "Ice", VT(5,75,5))
1156
					WallPiece.CanCollide = true
1157
					WallPiece.CFrame = POS*CF(OFF*(i*10),0,0)
1158
					coroutine.resume(coroutine.create(function()
1159
						Swait(150-i*1.3)
1160
						WallPiece.Anchored = false
1161
						WallPiece.CanCollide = false
1162
					end))
1163
					AoEDamage(WallPiece.Position,6,3,4,5,false,2,2,false)
1164
				end
1165
			end))
1166
			OFFSET = OFFSET - 0.2
1167
		end
1168
	end))
1169
	for i=0, 2, 0.1 / Animation_Speed do
1170
		Swait()
1171
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1172
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1173
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(20), RAD(45), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1174
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1175
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1176
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1177
	end
1178
	ATTACK = false
1179
	Rooted = false
1180
end
1181
1182
function IciclePrison()
1183
	ATTACK = true
1184
	Rooted = false
1185
	local IceMaterializeSounds = {
1186
	  "333476017",
1187
	  "333475981",
1188
	  "333475957",
1189
	  "333475929"
1190
	}
1191
	for i=0, 1, 0.1 / Animation_Speed do
1192
		Swait()
1193
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
1194
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.1 / Animation_Speed)
1195
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1196
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1197
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
1198
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
1199
	end
1200
	local WELD = nil
1201
	local TORS = nil
1202
	local GRABBED = nil
1203
	CreateSound("588738712", RightArm, 3, 1)
1204
	local HIT1 = CLAW.Touched:Connect(function(hit)
1205
		if hit.Anchored == false and hit.Parent:FindFirstChildOfClass("Humanoid") then
1206
			TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1207
			if TORS ~= nil then
1208
				VALUE1 = true
1209
				hit.Parent:FindFirstChildOfClass("Humanoid").PlatformStand = true
1210
				CreateSound("233856097", RightArm, 3, 1)
1211
				--CLAW.CanCollide = false
1212
				GRABBED = hit.Parent
1213
				WELD = CreateWeldOrSnapOrMotor("Weld", CLAW, CLAW, TORS, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
1214
			end
1215
		end
1216
	end)
1217
	for i=0, 0.8, 0.1 / Animation_Speed do
1218
		Swait()
1219
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(85)), 2 / Animation_Speed)
1220
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-85)), 2 / Animation_Speed)
1221
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1222
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1223
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-26), RAD(0)), 2 / Animation_Speed)
1224
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(26), RAD(0)), 2 / Animation_Speed)
1225
		if VALUE1 == true then
1226
			break
1227
		end
1228
	end
1229
	HIT1:disconnect()
1230
	if GRABBED ~= nil then
1231
		Rooted = true
1232
		VALUE1 = false
1233
		for i=0, 2, 0.1 / Animation_Speed do
1234
			Swait()
1235
			MagicSphere(VT(0.2,0.2,0.2),15,CF(RightArm.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,-5),MRANDOM(-5,5)).p,RightArm.Position),COLOR,VT(0.001,0.001,1),0)
1236
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(85)), 2 / Animation_Speed)
1237
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-85)), 2 / Animation_Speed)
1238
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(75)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1239
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1240
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-26), RAD(0)), 2 / Animation_Speed)
1241
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(26), RAD(0)), 2 / Animation_Speed)
1242
		end
1243
		WELD:remove()
1244
		TORS.Anchored = true
1245
		local ICICLE = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(10,25,10))
1246
		ICICLE.CFrame = CF(TORS.Position)
1247
		MakeForm(ICICLE,"Cone")
1248
		CreateDebreeRing(ICICLE,TORS.Position+VT(0,-5,0),0.7,VT(4,4,4),70*5)
1249
		CreateDebreeRing(ICICLE,TORS.Position+VT(0,-5,0),0.4,VT(6,6,6),70*5)
1250
		CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], ICICLE, 3, 1)
1251
		coroutine.resume(coroutine.create(function()
1252
			for i = 1, 70 do
1253
				Swait(5)
1254
				dealdamage(TORS,1,1,0,false,0,0)
1255
			end
1256
			GRABBED:FindFirstChildOfClass("Humanoid").PlatformStand = false
1257
			ICICLE.Anchored = false
1258
			TORS.Anchored = false
1259
		end))
1260
	end
1261
	ATTACK = false
1262
	Rooted = false
1263
end
1264
1265
function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
1266
	if DoesCourontine == false then
1267
		local Direction = CF(Part.Position,ToLocation)
1268
		local Distance = (Part.Position - ToLocation).magnitude
1269
		for i = 1, AmountOfTime do
1270
			Swait()
1271
			Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
1272
			Direction = Part.CFrame
1273
		end
1274
	elseif DoesCourontine == true then
1275
		coroutine.resume(coroutine.create(function()
1276
			local Direction = CF(Part.Position,ToLocation)
1277
			local Distance = (Part.Position - ToLocation).magnitude
1278
			for i = 1, AmountOfTime do
1279
				Swait()
1280
				Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
1281
				Direction = Part.CFrame
1282
			end
1283
		end))
1284
	end
1285
end
1286
1287
function Trail(Part)
1288
	local TRAIL = Part:Clone()
1289
	TRAIL.CanCollide = false
1290
	TRAIL.Anchored = true
1291
	TRAIL.Parent = Effects
1292
	TRAIL.Name = "Trail"
1293
	local TRANS = Part.Transparency
1294
	coroutine.resume(coroutine.create(function()
1295
		for i = 1, 20 do
1296
			Swait()
1297
			TRAIL.Transparency = TRAIL.Transparency + ((1-TRANS)/20)
1298
		end
1299
		TRAIL:remove()
1300
	end))
1301
end
1302
1303
function IceChuck()
1304
	local IceMaterializeSounds = {
1305
	  "333476017",
1306
	  "333475981",
1307
	  "333475957",
1308
	  "333475929"
1309
	}
1310
	ATTACK = true
1311
	Rooted = true
1312
	for i=0, 0.6, 0.1 / Animation_Speed do
1313
		Swait()
1314
		turnto(Mouse.Hit.p)
1315
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.5 / Animation_Speed)
1316
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), 0.5 / Animation_Speed)
1317
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1318
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1319
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1320
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1321
	end
1322
	local GEM = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(2,2,2))
1323
	CreateMesh("SpecialMesh", GEM, "FileMesh", "9756362", "", VT(2,2,2), VT(0,0,0))
1324
	GEM.CFrame = CF(RightArm.CFrame*CF(0,-1.3,0).p)
1325
	MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.1,0.1,0.1))
1326
	CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], RootPart, 3, 1.3)
1327
	coroutine.resume(coroutine.create(function()
1328
		repeat 
1329
			Swait()
1330
			Trail(GEM)
1331
		until GEM.Parent == nil
1332
	end))
1333
	coroutine.resume(coroutine.create(function()
1334
		FireArc(GEM,Mouse.Hit.p,30,30,false)
1335
		MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(1,1,1))
1336
		MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.75,0.75,0.75))
1337
		MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.5,0.5,0.5))
1338
		CreateDebreeRing(GEM,GEM.Position+VT(0,0,0),1.5,VT(1,1,1),35)
1339
		AoEDamage(GEM.Position,15,25,54,5,false,2,2,false)
1340
		AoEStun(GEM.Position,5,2)
1341
		GEM.Parent = nil
1342
	end))
1343
	for i=0, 0.6, 0.1 / Animation_Speed do
1344
		Swait()
1345
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 0.5 / Animation_Speed)
1346
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 0.5 / Animation_Speed)
1347
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1348
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1349
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1350
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1351
	end
1352
	ATTACK = false
1353
	Rooted = false
1354
end
1355
1356
function FrozenKingdom()
1357
	ATTACK = true
1358
	Rooted = false
1359
	for i=0, 2, 0.1 / Animation_Speed do
1360
		Swait()
1361
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1362
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1363
		--PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1364
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1365
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(0), RAD(65)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1366
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1367
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1368
	end
1369
	for i=0, 0.5, 0.1 / Animation_Speed do
1370
		Swait()
1371
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1372
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1373
		--PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.27,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1374
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75,0) * ANGLES(RAD(0), RAD(0), RAD(85)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1375
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1376
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1377
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1378
	end
1379
	local IceMaterializeSounds = {
1380
	  "333476017",
1381
	  "333475981",
1382
	  "333475957",
1383
	  "333475929"
1384
	}
1385
	local ICICLE = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(10,25,10))
1386
	MakeForm(ICICLE,"Cone")
1387
	ICICLE.CFrame = CF(Torso.Position)
1388
	CreateDebreeRing(ICICLE,Torso.Position+VT(0,-4,0),1,VT(6,6,6),70*5)
1389
	CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], ICICLE, 3, 1)
1390
	AoEDamage(Torso.Position,2,3,4,5,false,2,2,false)
1391
	AoEStun(Torso.Position,2,5)
1392
	for i = 1, 8 do
1393
		Swait(50)
1394
		CreateSound("231917750", ICICLE, 3, 1)
1395
		CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], ICICLE, 3, 1)
1396
		AoEDamage(Torso.Position,i*10,4,12,5,false,2,2,false)
1397
		AoEStun(Torso.Position,i*10,15)
1398
		ICICLE.Size = ICICLE.Size + VT(5,5,5)
1399
		ICICLE.Mesh.Scale = ICICLE.Size/50
1400
		MagicSphere(ICICLE.Size,35,ICICLE.CFrame,COLOR,VT(0.6,0.6,0.6))
1401
		local ICICLE = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(10,25,10))
1402
		MakeForm(ICICLE,"Cone")
1403
		ICICLE.CFrame = CF(Torso.Position)*CF(MRANDOM(-10,10)*i/3,0,MRANDOM(-10,10)*i/3)*ANGLES(RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)),RAD(MRANDOM(-15,15)))
1404
		coroutine.resume(coroutine.create(function()
1405
			Swait(400-(50*i))
1406
			ICICLE.Anchored = false
1407
		end))
1408
		MagicSphere(ICICLE.Size,35,ICICLE.CFrame,COLOR,VT(0.3,0.3,0.3))
1409
		CreateDebreeRing(ICICLE,Torso.Position+VT(0,-4,0),i+1,VT(6+i,6+i,6+i),400-(50*i))
1410
		CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], ICICLE, 3, 1)
1411
	end
1412
	ICICLE.Anchored = false
1413
	ATTACK = false
1414
	Rooted = false
1415
end
1416
1417
function Taunt()
1418
	local IceMaterializeSounds = {
1419
	  "333476017",
1420
	  "333475981",
1421
	  "333475957",
1422
	  "333475929"
1423
	}
1424
	ATTACK = true
1425
	Rooted = true
1426
	CreateSound("649634100", Head, 10, 0.8)
1427
	for i=0, 0.55, 0.1 / Animation_Speed do
1428
		Swait()
1429
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1430
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1431
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-45), RAD(-25)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1432
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1433
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1434
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1435
	end
1436
	local GEM = CreatePart(3, Effects, "Ice", 0, 0.25, COLOR, "Ice", VT(0.3,0.6,0.3))
1437
	CreateMesh("SpecialMesh", GEM, "FileMesh", "9756362", "", VT(0.6,01.2,0.6), VT(0,0,0))
1438
	GEM.CFrame = CF(RightArm.CFrame*CF(0,-1.3,0).p+VT(0,1,0))
1439
	MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.1,0.1,0.1))
1440
	CreateSound(IceMaterializeSounds[MRANDOM(1,#IceMaterializeSounds)], GEM, 3, 1)
1441
	for i=0, 5, 0.1 / Animation_Speed do
1442
		Swait()
1443
		GEM.CFrame = GEM.CFrame * ANGLES(RAD(0),RAD(5),RAD(0))
1444
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1445
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1446
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(-45), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1447
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1448
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1449
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1450
	end
1451
	MagicSphere(GEM.Size,35,GEM.CFrame,COLOR,VT(0.1,0.1,0.1))
1452
	GEM:remove()
1453
	ATTACK = false
1454
	Rooted = false
1455
end
1456
1457
--//=================================\\
1458
--||	  ASSIGN THINGS TO KEYS
1459
--\\=================================//
1460
1461
function MouseDown(Mouse)
1462
	if ATTACK == false then
1463
		Strike()
1464
	end
1465
end
1466
1467
function MouseUp(Mouse)
1468
HOLD = false
1469
end
1470
1471
function KeyDown(Key)
1472
	KEYHOLD = true
1473
	if Key == "z" and ATTACK == false then
1474
		IceWall()
1475
	end
1476
1477
	if Key == "b" and ATTACK == false then
1478
		IciclePrison()
1479
	end
1480
1481
	if Key == "c" and ATTACK == false then
1482
		IceChuck()
1483
	end
1484
1485
	if Key == "v" and ATTACK == false then
1486
		FrozenKingdom()
1487
	end
1488
1489
	if Key == "t" and ATTACK == false then
1490
		Taunt()
1491
	end
1492
end
1493
1494
function KeyUp(Key)
1495
	KEYHOLD = false
1496
end
1497
1498
	Mouse.Button1Down:connect(function(NEWKEY)
1499
		MouseDown(NEWKEY)
1500
	end)
1501
	Mouse.Button1Up:connect(function(NEWKEY)
1502
		MouseUp(NEWKEY)
1503
	end)
1504
	Mouse.KeyDown:connect(function(NEWKEY)
1505
		KeyDown(NEWKEY)
1506
	end)
1507
	Mouse.KeyUp:connect(function(NEWKEY)
1508
		KeyUp(NEWKEY)
1509
	end)
1510
1511
--//=================================\\
1512
--\\=================================//
1513
1514
1515
function unanchor()
1516
	if UNANCHOR == true then
1517
		g = Character:GetChildren()
1518
		for i = 1, #g do
1519
			if g[i].ClassName == "Part" then
1520
				g[i].Anchored = false
1521
			end
1522
		end
1523
	end
1524
end
1525
1526
1527
--//=================================\\
1528
--||	WRAP THE WHOLE SCRIPT UP
1529
--\\=================================//
1530
1531
Humanoid.Changed:connect(function(Jump)
1532
	if Jump == "Jump" and (Disable_Jump == true) then
1533
		Humanoid.Jump = false
1534
	end
1535
end)
1536
1537
while true do
1538
	Swait()
1539
	ANIMATE.Parent = nil
1540
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1541
	IDLEANIMATION:Play()
1542
	SINE = SINE + CHANGE
1543
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1544
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1545
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1546
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1547
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1548
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1549
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1550
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
1551
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
1552
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * 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)
1553
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1554
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1555
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1556
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1557
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1558
	end
1559
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1560
		ANIM = "Jump"
1561
		if ATTACK == false then
1562
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1563
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1564
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1565
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1566
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1567
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1568
	       end
1569
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1570
		ANIM = "Fall"
1571
		if ATTACK == false then
1572
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1573
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1574
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1575
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1576
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1577
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1578
		end
1579
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1580
		ANIM = "Idle"
1581
		if ATTACK == false then
1582
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1583
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1584
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1585
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1586
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1587
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1588
		end
1589
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1590
		ANIM = "Walk"
1591
		WALK = WALK + 1 / Animation_Speed
1592
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1593
			WALK = 0
1594
			if WALKINGANIM == true then
1595
				WALKINGANIM = false
1596
			elseif WALKINGANIM == false then
1597
				WALKINGANIM = true
1598
			end
1599
		end
1600
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1601
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1602
		if ATTACK == false then
1603
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1604
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1605
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1606
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1607
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1608
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1609
		end
1610
	end
1611
	unanchor()
1612
	Humanoid.MaxHealth = "inf"
1613
	Humanoid.Health = "inf"
1614
	if Rooted == false then
1615
		Disable_Jump = false
1616
		Humanoid.WalkSpeed = Speed
1617
	elseif Rooted == true then
1618
		Disable_Jump = true
1619
		Humanoid.WalkSpeed = 0
1620
	end
1621
end
1622
1623
--//=================================\\
1624
--\\=================================//
1625
1626
1627
1628
1629
1630
--//====================================================\\--
1631
--||			  		 END OF SCRIPT
1632
--\\====================================================//--