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