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