View difference between Paste ID: MHccNA1R and 8TQJK3Xt
SHOW: | | - or go back to the newest paste.
1
2
3
4
5
6
7-
Player = game:GetService("Players").LocalPlayer
7+
8
9
10
11
12
13
14
15-
Mouse = Player:GetMouse()
15+
16
print([[
17
18
19
not feel so good 
20
21
i gotta finish it tomorrow
22
23
unfinished converter 
24
25
26
27
28
29
30
31
32
]])
33
34
35
36
37
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
38
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
39
do
40
    print("FE Compatibility code by Mokiros | Showcase By Bacon Hair!")
41
    script.Parent = Player.Character
42
 
43
    --RemoteEvent for communicating
44
    local Event = Instance.new("RemoteEvent")
45
    Event.Name = "UserInput_Event"
46
 
47
    --Fake event to make stuff like Mouse.KeyDown work
48
    local function fakeEvent()
49
        local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
50
        t.connect = t.Connect
51
        return t
52
    end
53
 
54
    --Creating fake input objects with fake variables
55
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
56
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
57
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
58
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
59
    end}
60
    --Merged 2 functions into one by checking amount of arguments
61
    CAS.UnbindAction = CAS.BindAction
62
 
63
    --This function will trigger the events that have been :Connect()'ed
64
    local function te(self,ev,...)
65
        local t = m[ev]
66
        if t and t._fakeEvent and t.Function then
67
            t.Function(...)
68
        end
69
    end
70
    m.TrigEvent = te
71
    UIS.TrigEvent = te
72
 
73
    Event.OnServerEvent:Connect(function(plr,io)
74
        if plr~=Player then return end
75
        if io.isMouse then
76
            m.Target = io.Target
77
            m.Hit = io.Hit
78
        else
79
            local b = io.UserInputState == Enum.UserInputState.Begin
80
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
81
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
82
            end
83
            for _,t in pairs(CAS.Actions) do
84
                for _,k in pairs(t.Keys) do
85
                    if k==io.KeyCode then
86
                        t.Function(t.Name,io.UserInputState,io)
87
                    end
88
                end
89
            end
90
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
91
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
92
        end
93
    end)
94
    Event.Parent = NLS([==[
95
    local Player = game:GetService("Players").LocalPlayer
96
    local Event = script:WaitForChild("UserInput_Event")
97
 
98
    local UIS = game:GetService("UserInputService")
99
    local input = function(io,a)
100
        if a then return end
101
        --Since InputObject is a client-side instance, we create and pass table instead
102
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
103
    end
104
    UIS.InputBegan:Connect(input)
105
    UIS.InputEnded:Connect(input)
106
 
107
    local Mouse = Player:GetMouse()
108
    local h,t
109
    --Give the server mouse data 30 times every second, but only if the values changed
110
    --If player is not moving their mouse, client won't fire events
111
    while wait(1/30) do
112
        if h~=Mouse.Hit or t~=Mouse.Target then
113
            h,t=Mouse.Hit,Mouse.Target
114
            Event:FireServer({isMouse=true,Target=t,Hit=h})
115
        end
116
    end]==],Player.Character)
117
    Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
118
end
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
--//====================================================\\--
156
--//edit by wanTH092 (don't let shack see this cuz he kick me once)
157
--//lol fe edit by ramin999232, edit local by wanTH092 (don't let shack see this cuz shack kick wanTH092 once :P)
158
--\\====================================================//--                            
159
160
wait(1)
161
162
Player = owner
163
PlayerGui = Player.PlayerGui
164
Cam = workspace.CurrentCamera
165
Backpack = Player.Backpack
166
repeat wait() until Player.Character
167
Character = Player.Character
168
repeat wait() until Player.Character:FindFirstChildOfClass("Humanoid")
169
Humanoid = Character:FindFirstChildOfClass("Humanoid")
170
RootPart = Character["HumanoidRootPart"]
171
Torso = Character["Torso"]
172
Head = Character["Head"]
173
RightArm = Character["Right Arm"]
174
LeftArm = Character["Left Arm"]
175
RightLeg = Character["Right Leg"]
176
LeftLeg = Character["Left Leg"]
177
RootJoint = RootPart["RootJoint"]
178
Neck = Torso["Neck"]
179
RightShoulder = Torso["Right Shoulder"]
180
LeftShoulder = Torso["Left Shoulder"]
181
RightHip = Torso["Right Hip"]
182
LeftHip = Torso["Left Hip"]
183
184
IT = Instance.new
185
CF = CFrame.new
186
VT = Vector3.new
187
RAD = math.rad
188
C3 = Color3.new
189
UD2 = UDim2.new
190
BRICKC = BrickColor.new
191
ANGLES = CFrame.Angles
192
EULER = CFrame.fromEulerAnglesXYZ
193
COS = math.cos
194
ACOS = math.acos
195
SIN = math.sin
196
ASIN = math.asin
197
ABS = math.abs
198
MRANDOM = math.random
199
FLOOR = math.floor
200
201
local naeeym2 = Instance.new("BillboardGui",Character)
202
naeeym2.AlwaysOnTop = true
203
naeeym2.Size = UDim2.new(7,35,3,15)
204
naeeym2.StudsOffset = Vector3.new(0,2,0)
205
naeeym2.MaxDistance = 9999
206
naeeym2.Adornee = Character.Head
207
naeeym2.Name = "Name2"
208
local tecks2 = Instance.new("TextLabel",naeeym2)
209
tecks2.BackgroundTransparency = 1
210
tecks2.TextScaled = true
211
tecks2.BorderSizePixel = 0
212
tecks2.Text = "OrangeFox"
213
tecks2.Font = "SciFi"
214
tecks2.TextSize = 30
215
tecks2.TextStrokeTransparency = 0
216
tecks2.TextColor3 = Color3.fromRGB(200, 50, 0)
217
tecks2.TextStrokeColor3 = Color3.fromRGB(255, 100, 0)
218
tecks2.Size = UDim2.new(1,0,0.5,0)
219
tecks2.Parent = naeeym2
220
221
local naeeym3 = Instance.new("BillboardGui",Character)
222
naeeym3.AlwaysOnTop = true
223
naeeym3.Size = UDim2.new(7,35,3,15)
224
naeeym3.StudsOffset = Vector3.new(2,3,0)
225
naeeym3.MaxDistance = 9999
226
naeeym3.Adornee = Character.Head
227
naeeym3.Name = "Name3"
228
local tecks3 = Instance.new("TextLabel",naeeym2)
229
tecks3.BackgroundTransparency = 1
230
tecks3.TextScaled = true
231
tecks3.BorderSizePixel = 0
232
tecks3.Text = "wanTH092"
233
tecks3.Font = "ArialBold"
234
tecks3.TextSize = 30
235
tecks3.TextStrokeTransparency = 0
236
tecks3.TextColor3 = Color3.fromRGB(10, 10, 10)
237
tecks3.TextStrokeColor3 = Color3.fromRGB(10, 10, 10)
238
tecks3.Size = UDim2.new(0.5,0,0.2,0)
239
tecks3.Parent = naeeym3
240
241
--//=================================\\
242
--|| 	      USEFUL VALUES
243
--\\=================================//
244
245
Animation_Speed = 3
246
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
247
local Speed = 16
248
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
249
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
250
local RIGHTSHOULDERC0 = CF(-0.5, -0.25, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
251
local LEFTSHOULDERC0 = CF(0.5, -0.25, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
252
local DAMAGEMULTIPLIER = 1
253
local ANIM = "Idle"
254
local ATTACK = false
255
local EQUIPPED = false
256
local HOLD = false
257
local COMBO = 1
258
local Rooted = false
259
local SINE = 0
260
local KEYHOLD = false
261
local CHANGE = 2 / Animation_Speed
262
local WALKINGANIM = false
263
local VALUE1 = false
264
local VALUE2 = false
265
local ROBLOXIDLEANIMATION = IT("Animation")
266
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
267
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
268
--ROBLOXIDLEANIMATION.Parent = Humanoid
269
local WEAPONGUI = IT("ScreenGui", PlayerGui)
270
WEAPONGUI.Name = "Weapon GUI"
271
local Effects = IT("Folder", Character)
272
Effects.Name = "Effects"
273
local SpecialEffects = IT("Folder", Character)
274
SpecialEffects.Name = "SpecialEffects"
275
local ANIMATOR = Humanoid.Animator
276
local ANIMATE = Character.Animate
277
local UNANCHOR = true
278
local REGENRATE = 1
279
local FULLREGEN = false
280
local POSEIDON = false
281
local EXPLOSIONSMALLSOUND = 439342426
282
local EXPLOSIONMEDIUMSOUND = 605005842
283
local EXPLOSIONLARGESOUND = 565538688
284
local CHARGE = 278641993
285
local POSEIDONSOUND = 374289727
286
local FIREBALLSOUND = 414517770
287
local BURNSOUND = 565777213
288
local FIREFIELD = false
289
local SEARING = false
290
local BODYPOS = nil
291
local GYRO = nil
292
local DIRECTTURN = false
293
local APPLYGYRO = true
294
local SONGS = {685388224,256969561,942328469,1585941124,1564523997,247971190,723652641,1137578023}
295
local CHOSENSONG = MRANDOM(1,#SONGS)
296
297
--//=================================\\
298
--\\=================================//
299
300
301
--//=================================\\
302
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
303
--\\=================================//
304
305
ArtificialHB = Instance.new("BindableEvent", script)
306
ArtificialHB.Name = "ArtificialHB"
307
308
script:WaitForChild("ArtificialHB")
309
310
frame = Frame_Speed
311
tf = 0
312
allowframeloss = false
313
tossremainder = false
314
lastframe = tick()
315
script.ArtificialHB:Fire()
316
317
game:GetService("RunService").Heartbeat:connect(function(s, p)
318
	tf = tf + s
319
	if tf >= frame then
320
		if allowframeloss then
321
			script.ArtificialHB:Fire()
322
			lastframe = tick()
323
		else
324
			for i = 1, math.floor(tf / frame) do
325
				script.ArtificialHB:Fire()
326
			end
327
		lastframe = tick()
328
		end
329
		if tossremainder then
330
			tf = 0
331
		else
332
			tf = tf - frame * math.floor(tf / frame)
333
		end
334
	end
335
end)
336
337
--//=================================\\
338
--\\=================================//
339
340
--//=================================\\
341
--|| 	      SOME FUNCTIONS
342
--\\=================================//
343
344
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
345
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
346
end
347
348
function PositiveAngle(NUMBER)
349
	if NUMBER >= 0 then
350
		NUMBER = 0
351
	end
352
	return NUMBER
353
end
354
355
function NegativeAngle(NUMBER)
356
	if NUMBER <= 0 then
357
		NUMBER = 0
358
	end
359
	return NUMBER
360
end
361
362
function Swait(NUMBER)
363
	if NUMBER == 0 or NUMBER == nil then
364
		ArtificialHB.Event:wait()
365
	else
366
		for i = 1, NUMBER do
367
			ArtificialHB.Event:wait()
368
		end
369
	end
370
end
371
372
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
373
	local NEWMESH = IT(MESH)
374
	if MESH == "SpecialMesh" then
375
		NEWMESH.MeshType = MESHTYPE
376
		if MESHID ~= "nil" and MESHID ~= "" then
377
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
378
		end
379
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
380
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
381
		end
382
	end
383
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
384
	NEWMESH.Scale = SCALE
385
	NEWMESH.Parent = PARENT
386
	return NEWMESH
387
end
388
389
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
390
	local NEWPART = IT("Part")
391
	NEWPART.formFactor = FORMFACTOR
392
	NEWPART.Reflectance = REFLECTANCE
393
	NEWPART.Transparency = TRANSPARENCY
394
	NEWPART.CanCollide = false
395
	NEWPART.Locked = true
396
	NEWPART.Anchored = true
397
	if ANCHOR == false then
398
		NEWPART.Anchored = false
399
	end
400
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
401
	NEWPART.Name = NAME
402
	NEWPART.Size = SIZE
403
	NEWPART.Position = Torso.Position
404
	NEWPART.Material = MATERIAL
405
	NEWPART:BreakJoints()
406
	NEWPART.Parent = PARENT
407
	return NEWPART
408
end
409
410
	local function weldBetween(a, b)
411
	    local weldd = Instance.new("ManualWeld")
412
	    weldd.Part0 = a
413
	    weldd.Part1 = b
414
	    weldd.C0 = CFrame.new()
415
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
416
	    weldd.Parent = a
417
	    return weldd
418
	end
419
420
421
function QuaternionFromCFrame(cf)
422
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
423
	local trace = m00 + m11 + m22
424
	if trace > 0 then 
425
		local s = math.sqrt(1 + trace)
426
		local recip = 0.5 / s
427
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
428
	else
429
		local i = 0
430
		if m11 > m00 then
431
			i = 1
432
		end
433
		if m22 > (i == 0 and m00 or m11) then
434
			i = 2
435
		end
436
		if i == 0 then
437
			local s = math.sqrt(m00 - m11 - m22 + 1)
438
			local recip = 0.5 / s
439
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
440
		elseif i == 1 then
441
			local s = math.sqrt(m11 - m22 - m00 + 1)
442
			local recip = 0.5 / s
443
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
444
		elseif i == 2 then
445
			local s = math.sqrt(m22 - m00 - m11 + 1)
446
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
447
		end
448
	end
449
end
450
 
451
function QuaternionToCFrame(px, py, pz, x, y, z, w)
452
	local xs, ys, zs = x + x, y + y, z + z
453
	local wx, wy, wz = w * xs, w * ys, w * zs
454
	local xx = x * xs
455
	local xy = x * ys
456
	local xz = x * zs
457
	local yy = y * ys
458
	local yz = y * zs
459
	local zz = z * zs
460
	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))
461
end
462
 
463
function QuaternionSlerp(a, b, t)
464
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
465
	local startInterp, finishInterp;
466
	if cosTheta >= 0.0001 then
467
		if (1 - cosTheta) > 0.0001 then
468
			local theta = ACOS(cosTheta)
469
			local invSinTheta = 1 / SIN(theta)
470
			startInterp = SIN((1 - t) * theta) * invSinTheta
471
			finishInterp = SIN(t * theta) * invSinTheta
472
		else
473
			startInterp = 1 - t
474
			finishInterp = t
475
		end
476
	else
477
		if (1 + cosTheta) > 0.0001 then
478
			local theta = ACOS(-cosTheta)
479
			local invSinTheta = 1 / SIN(theta)
480
			startInterp = SIN((t - 1) * theta) * invSinTheta
481
			finishInterp = SIN(t * theta) * invSinTheta
482
		else
483
			startInterp = t - 1
484
			finishInterp = t
485
		end
486
	end
487
	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
488
end
489
490
function Clerp(a, b, t)
491
	local qa = {QuaternionFromCFrame(a)}
492
	local qb = {QuaternionFromCFrame(b)}
493
	local ax, ay, az = a.x, a.y, a.z
494
	local bx, by, bz = b.x, b.y, b.z
495
	local _t = 1 - t
496
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
497
end
498
499
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
500
	local frame = IT("Frame")
501
	frame.BackgroundTransparency = TRANSPARENCY
502
	frame.BorderSizePixel = BORDERSIZEPIXEL
503
	frame.Position = POSITION
504
	frame.Size = SIZE
505
	frame.BackgroundColor3 = COLOR
506
	frame.BorderColor3 = BORDERCOLOR
507
	frame.Name = NAME
508
	frame.Parent = PARENT
509
	return frame
510
end
511
512
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
513
	local label = IT("TextLabel")
514
	label.BackgroundTransparency = 1
515
	label.Size = UD2(1, 0, 1, 0)
516
	label.Position = UD2(0, 0, 0, 0)
517
	label.TextColor3 = TEXTCOLOR
518
	label.TextStrokeTransparency = STROKETRANSPARENCY
519
	label.TextTransparency = TRANSPARENCY
520
	label.FontSize = TEXTFONTSIZE
521
	label.Font = TEXTFONT
522
	label.BorderSizePixel = BORDERSIZEPIXEL
523
	label.TextScaled = false
524
	label.Text = TEXT
525
	label.Name = NAME
526
	label.Parent = PARENT
527
	return label
528
end
529
530
function NoOutlines(PART)
531
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
532
end
533
534
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
535
	local NEWWELD = IT(TYPE)
536
	NEWWELD.Part0 = PART0
537
	NEWWELD.Part1 = PART1
538
	NEWWELD.C0 = C0
539
	NEWWELD.C1 = C1
540
	NEWWELD.Parent = PARENT
541
	return NEWWELD
542
end
543
544
local S = IT("Sound")
545
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
546
	local NEWSOUND = nil
547
	coroutine.resume(coroutine.create(function()
548
		NEWSOUND = S:Clone()
549
		NEWSOUND.Parent = PARENT
550
		NEWSOUND.Volume = 0.7
551
		NEWSOUND.Pitch = 1
552
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
553
		NEWSOUND:play()
554
		if DOESLOOP == true then
555
			NEWSOUND.Looped = true
556
		else
557
			repeat wait(1) until NEWSOUND.Playing == false
558
			NEWSOUND:remove()
559
		end
560
	end))
561
	return NEWSOUND
562
end
563
564
function CFrameFromTopBack(at, top, back)
565
	local right = top:Cross(back)
566
	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)
567
end
568
569
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
570
function WACKYEFFECT(Table)
571
	local TYPE = (Table.EffectType or "Sphere")
572
	local SIZE = (Table.Size or VT(1,1,1))
573
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
574
	local TRANSPARENCY = (Table.Transparency or 0)
575
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
576
	local CFRAME = (Table.CFrame or Torso.CFrame)
577
	local MOVEDIRECTION = (Table.MoveToPos or nil)
578
	local ROTATION1 = (Table.RotationX or 0)
579
	local ROTATION2 = (Table.RotationY or 0)
580
	local ROTATION3 = (Table.RotationZ or 0)
581
	local MATERIAL = (Table.Material or "Neon")
582
	local COLOR = (Table.Color or C3(1,1,1))
583
	local TIME = (Table.Time or 45)
584
	local SOUNDID = (Table.SoundID or nil)
585
	local SOUNDPITCH = (Table.SoundPitch or nil)
586
	local SOUNDVOLUME = (Table.SoundVolume or nil)
587
	coroutine.resume(coroutine.create(function()
588
		local PLAYSSOUND = false
589
		local SOUND = nil
590
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
591
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
592
			PLAYSSOUND = true
593
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
594
		end
595
		EFFECT.Color = COLOR
596
		local MSH = nil
597
		if TYPE == "Sphere" then
598
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
599
		elseif TYPE == "Block" then
600
			MSH = IT("BlockMesh",EFFECT)
601
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
602
		elseif TYPE == "Wave" then
603
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
604
		elseif TYPE == "Ring" then
605
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
606
		elseif TYPE == "Slash" then
607
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
608
		elseif TYPE == "Round Slash" then
609
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
610
		elseif TYPE == "Swirl" then
611
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
612
		elseif TYPE == "Skull" then
613
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
614
		elseif TYPE == "Crystal" then
615
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
616
		end
617
		if MSH ~= nil then
618
			local MOVESPEED = nil
619
			if MOVEDIRECTION ~= nil then
620
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
621
			end
622
			local GROWTH = SIZE - ENDSIZE
623
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
624
			if TYPE == "Block" then
625
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
626
			else
627
				EFFECT.CFrame = CFRAME
628
			end
629
			for LOOP = 1, TIME+1 do
630
				Swait()
631
				MSH.Scale = MSH.Scale - GROWTH/TIME
632
				if TYPE == "Wave" then
633
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
634
				end
635
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
636
				if TYPE == "Block" then
637
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
638
				else
639
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
640
				end
641
				if MOVEDIRECTION ~= nil then
642
					local ORI = EFFECT.Orientation
643
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
644
					EFFECT.Orientation = ORI
645
				end
646
			end
647
			if PLAYSSOUND == false then
648
				EFFECT:remove()
649
			else
650
				repeat Swait() until SOUND.Playing == false
651
				EFFECT:remove()
652
			end
653
		else
654
			if PLAYSSOUND == false then
655
				EFFECT:remove()
656
			else
657
				repeat Swait() until SOUND.Playing == false
658
				EFFECT:remove()
659
			end
660
		end
661
	end))
662
end
663
664
function MakeForm(PART,TYPE)
665
	if TYPE == "Cyl" then
666
		local MSH = IT("CylinderMesh",PART)
667
	elseif TYPE == "Ball" then
668
		local MSH = IT("SpecialMesh",PART)
669
		MSH.MeshType = "Sphere"
670
	elseif TYPE == "Wedge" then
671
		local MSH = IT("SpecialMesh",PART)
672
		MSH.MeshType = "Wedge"
673
	end
674
end
675
676
Debris = game:GetService("Debris")
677
678
function CastProperRay(StartPos, EndPos, Distance, Ignore)
679
	local DIRECTION = CF(StartPos,EndPos).lookVector
680
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
681
end
682
683
--//=================================\\
684
--||	     WEAPON CREATION
685
--\\=================================//
686
687
688
local REGENSOUND = 487215897
689
for _, c in pairs(Character:GetDescendants()) do
690
	if c and c.Parent then
691
		if c.Name == "Handle" and c.Parent.ClassName == "Accessory" then
692
			local ACCESSORY = c.Parent
693
			c.Parent = Character
694
			if c then
695
				if c:FindFirstChild("HatAttachment") or c:FindFirstChild("FaceFrontAttachment") or c:FindFirstChild("HairAttachment") then
696
					weldBetween(Head,c)
697
				else
698
					weldBetween(Torso,c)
699
				end
700
			end
701
			ACCESSORY:remove()
702
		end
703
	end
704
end
705
wait()
706
local BODY = {}
707
for _, c in pairs(Character:GetDescendants()) do
708
	if c:IsA("BasePart") then
709
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
710
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
711
		end
712
		local REGENVALUE = IT("BoolValue",c)
713
		REGENVALUE.Name = "IsRegening"
714
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name,REGENVALUE})
715
	elseif c:IsA("JointInstance") and c.Name ~= "AccessoryWeld" then
716
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil,nil})
717
	end
718
end
719
function FullBodyRegen()
720
	if FULLREGEN == false then
721
		FULLREGEN = true
722
		Character.Parent = workspace
723
		CreateSound(FIREBALLSOUND,Torso,3,MRANDOM(10,12)/10,false)
724
		UNANCHOR = false
725
		for e = 1, #BODY do
726
			if BODY[e] ~= nil then
727
				local STUFF = BODY[e]
728
				local PART = STUFF[1]
729
				local PARENT = STUFF[2]
730
				local MATERIAL = STUFF[3]
731
				local COLOR = STUFF[4]
732
				local TRANSPARENCY = STUFF[5]
733
				local SIZE = STUFF[6]
734
				local NAME = STUFF[7]
735
				local VALUE = STUFF[8]
736
				PART.Parent = PARENT
737
				Humanoid.MaxHealth = "inf"
738
				Humanoid.Health = "inf"
739
				Humanoid.Parent = nil
740
				Humanoid = IT("Humanoid",Character)
741
				Humanoid.Died:Connect(FullBodyRegen)
742
				PART.Parent = PARENT
743
				if PART:IsA("BasePart") and VALUE.Value == false and PART ~= RootPart then
744
				VALUE.Value = true
745
				coroutine.resume(coroutine.create(function()
746
					PART.Transparency = 1
747
					CreateSound(REGENSOUND,PART,3,MRANDOM(8,12)/15,false)
748
					local REGEN = script.Regen:Clone()
749
					REGEN.Parent = PART
750
					REGEN.Speed = NumberRange.new(30)
751
					REGEN:Emit(100)
752
					local REGENING = script.Regen:Clone()
753
					REGENING.Parent = PART
754
					REGENING.Enabled = true
755
					REGENING.Speed = NumberRange.new(35)
756
					wait()
757
					local RANGE = 35
758
					for i = 1, math.ceil(REGENRATE*25) do
759
						wait()
760
						ApplyAoE(PART.Position,6,1,1,0,false)
761
						REGENING.Speed = NumberRange.new(RANGE)
762
						RANGE = RANGE - (35/(math.ceil(REGENRATE*20)))
763
					end
764
					REGEN.Speed = NumberRange.new(6)
765
					REGEN:Emit(60)
766
					wait(REGENRATE/3)
767
					RootPart.Velocity = VT(0,0,0)
768
					UNANCHOR = true
769
					PART.Transparency = 0
770
					REGEN.Rate = 50
771
					REGEN.Enabled = true
772
					REGENING.Enabled = false
773
					wait(REGENRATE/1.5)
774
					VALUE.Value = false
775
					Debris:AddItem(REGENING,5)
776
					FULLREGEN = false
777
					REGEN.Enabled = false
778
					Debris:AddItem(REGEN,5)
779
				end))
780
				end
781
			end
782
		end
783
	end
784
end
785
786
function Regen()
787
	Character.Parent = workspace
788
	for e = 1, #BODY do
789
		if BODY[e] ~= nil then
790
			local STUFF = BODY[e]
791
			local PART = STUFF[1]
792
			local PARENT = STUFF[2]
793
			local MATERIAL = STUFF[3]
794
			local COLOR = STUFF[4]
795
			local TRANSPARENCY = STUFF[5]
796
			--local SIZE = STUFF[6]
797
			local NAME = STUFF[7]
798
			local VALUE = STUFF[8]
799
			if PART.ClassName == "Part" and PART ~= RootPart then
800
				PART.Material = MATERIAL
801
				PART.Name = NAME
802
			end
803
			if PART.Parent ~= PARENT then
804
				PART.Parent = PARENT
805
				if PART:IsA("BasePart") and PART ~= RootPart and FULLREGEN == false then
806
					if VALUE.Value == false then
807
						VALUE.Value = true
808
						coroutine.resume(coroutine.create(function()
809
							PART.Transparency = 1
810
							wait(REGENRATE)
811
							CreateSound(REGENSOUND,PART,3,MRANDOM(8,12)/10,false)
812
							local REGENING = script.Regen:Clone()
813
							REGENING.Parent = PART
814
							REGENING.Enabled = true
815
							for i = 1, math.ceil(REGENRATE*10) do
816
								wait()
817
								ApplyAoE(PART.Position,6,1,1,0,false)
818
							end
819
							wait(REGENRATE)	
820
							PART.Transparency = 0
821
							wait(REGENRATE/5)	
822
							REGENING.Enabled = false
823
							VALUE.Value = false
824
							Debris:AddItem(REGENING,5)
825
						end))
826
					end
827
				elseif PART:IsA("JointInstance") and PARENT ~= RootPart and FULLREGEN == false then
828
					local VALUE = PARENT.IsRegening	
829
					if VALUE == false then
830
						VALUE.Value = true
831
						local PART = PART.Part1
832
						coroutine.resume(coroutine.create(function()
833
							PART.Transparency = 1
834
							wait(REGENRATE)
835
							CreateSound(REGENSOUND,PART,3,MRANDOM(8,12)/10,false)
836
							local REGENING = script.Regen:Clone()
837
							REGENING.Parent = PART
838
							REGENING.Enabled = true
839
							for i = 1, math.ceil(REGENRATE*10) do
840
								wait()
841
								ApplyAoE(PART.Position,6,1,1,0,false)
842
							end
843
							wait(REGENRATE)		
844
							PART.Transparency = 1
845
							wait(REGENRATE/5)	
846
							REGENING.Enabled = true
847
							VALUE.Value = false
848
						end))	
849
					end
850
				end	
851
			end
852
		end
853
	end
854
end
855
856
local b = IT("BodyForce",RootPart)
857
b.Name = "LowGrav"
858
b.force = Vector3.new(0,1500,0)
859
860
local SKILLTEXTCOLOR = C3(0,0,0)
861
local SKILLFONT = "Fantasy"
862
local SKILLTEXTSIZE = 7
863
864
local BACKATTACHMENT1 = IT("Attachment",Torso)
865
BACKATTACHMENT1.Position = VT(0.5, 0.5, 0.75)
866
local BACKATTACHMENT2 = IT("Attachment",Torso)
867
BACKATTACHMENT2.Position = VT(-0.5, 0.5, 0.75)
868
869
Humanoid.Died:Connect(FullBodyRegen)
870
871
--//=================================\\
872
--||			DAMAGING
873
--\\=================================//
874
875
function ApplyDamage(Humanoid,Damage)
876
	if Humanoid.Health == math.huge then
877
		Humanoid.Parent:BreakJoints()
878
	else
879
		local MULTIPLY = Humanoid.MaxHealth/100
880
		Damage = Damage * DAMAGEMULTIPLIER
881
		if Humanoid.Health ~= 0 then
882
			Humanoid.Health = Humanoid.Health - Damage*MULTIPLY
883
		end
884
	end
885
end
886
887
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,CAMSINSTAKILL,INSTAKILL)
888
	local CHILDREN = workspace:GetDescendants()
889
	for index, CHILD in pairs(CHILDREN) do
890
		if CHILD.ClassName == "Model" and CHILD ~= Character then
891
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
892
			if HUM then
893
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
894
				if TORSO then
895
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
896
						if INSTAKILL == true or HUM.MaxHealth == math.huge then
897
							CHILD:BreakJoints()
898
						else
899
							local DMG = MRANDOM(MINDMG,MAXDMG)
900
							ApplyDamage(HUM,DMG)
901
						end
902
						if FLING > 0 then
903
							for _, c in pairs(CHILD:GetChildren()) do
904
								if c:IsA("BasePart") then
905
									local bv = Instance.new("BodyVelocity") 
906
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
907
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
908
									bv.Parent = c
909
									Debris:AddItem(bv,0.05)
910
								end
911
							end
912
						end
913
					end
914
				end
915
			end
916
		end
917
	end
918
end
919
920
--//=================================\\
921
--||	ATTACK FUNCTIONS AND STUFF
922
--\\=================================//
923
924
function Fireball()
925
	ATTACK = true
926
	Rooted = true
927
	local GYRO = IT("BodyGyro",RootPart)
928
	GYRO.D = 20
929
	GYRO.P = 4000
930
	GYRO.MaxTorque = VT(40000,40000,40000)
931
	local POSITION = IT("BodyPosition",RootPart)
932
	POSITION.Position = RootPart.Position+VT(0,2,0)
933
	POSITION.D = 450
934
	POSITION.P = 40000
935
	POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
936
	CreateSound(CHARGE,RightArm,6,1,false)
937
	coroutine.resume(coroutine.create(function()
938
		repeat
939
			Swait()
940
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
941
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed)
942
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed)
943
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
944
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.75, 0) * ANGLES(RAD(-25), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
945
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
946
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
947
		until ATTACK == false
948
		GYRO:remove()
949
		POSITION:remove()
950
	end))
951
	wait(1)
952
	repeat
953
		coroutine.resume(coroutine.create(function()
954
			local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(10,10,10))
955
			FIREBALL.CFrame = CF(RightArm.CFrame*CF(0,-1,0).p,Mouse.Hit.p)
956
			CreateSound(FIREBALLSOUND,FIREBALL,6,1,false)
957
			for i = 1, 250 do
958
				Swait()
959
				local HIT,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 10, Character)
960
				FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-5)
961
				if HIT then
962
					ApplyAoE(FIREBALL.Position,200,15,25,35,true,{SHAKE = 2, TIMER = 25, DOESFADE = true})
963
					for i = 1, 3 do
964
						WACKYEFFECT({Time = 70, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(MRANDOM(200,300),MRANDOM(200,300),MRANDOM(200,300)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
965
					end
966
					for i = 1, 3 do
967
						WACKYEFFECT({Time = 120, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(MRANDOM(200,300),MRANDOM(200,300),MRANDOM(200,300)), Transparency = 0.8, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
968
					end
969
					for i = 1, 5 do
970
						WACKYEFFECT({Time = 80+(i*5), EffectType = "Ring", Size = VT(0,0,0), Size2 = VT(40,40,0), Transparency = 0.8, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(255,100,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
971
					end
972
					break
973
				end
974
			end
975
			Debris:AddItem(FIREBALL,7)
976
		end))
977
		wait(0.1)
978
	until KEYHOLD == false
979
	wait(0.2)
980
	ATTACK = false
981
	Rooted = false
982
end
983
984
function SearingOrb()
985
	ATTACK = true
986
	Rooted = true
987
	local POSITION = IT("BodyPosition",RootPart)
988
	POSITION.Position = RootPart.Position+VT(0,2,0)
989
	POSITION.D = 450
990
	POSITION.P = 40000
991
	POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
992
	CreateSound(CHARGE,Torso,6,1,false)
993
	local NEWANIM = false
994
	coroutine.resume(coroutine.create(function()
995
		repeat
996
			Swait()
997
			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)
998
			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)
999
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1000
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1001
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1002
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1003
		until ATTACK == false or NEWANIM == true
1004
		if NEWANIM == true then
1005
			local GYRO = IT("BodyGyro",RootPart)
1006
			GYRO.D = 20
1007
			GYRO.P = 4000
1008
			GYRO.MaxTorque = VT(40000,40000,40000)
1009
			repeat
1010
				Swait()
1011
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1012
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed)
1013
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed)
1014
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1015
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.75, 0) * ANGLES(RAD(-25), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1016
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1017
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1018
			until ATTACK == false
1019
			GYRO:remove()
1020
		end
1021
		POSITION:remove()
1022
	end))
1023
	local ORB = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("New yeller"), "Orb", VT(0,0,0), true)
1024
	MakeForm(ORB,"Ball")
1025
	ORB.CFrame = CF(RootPart.Position+VT(0,8,0))
1026
	local A = IT("Attachment",ORB)
1027
	local LOOP = 0
1028
	for i = 1, 500 do
1029
		Swait()
1030
		LOOP = LOOP + 1
1031
		if LOOP >= 30 then
1032
			LOOP = 0
1033
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1034
		end
1035
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1036
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1037
	end
1038
	wait(1)
1039
	if KEYHOLD == false then
1040
		coroutine.resume(coroutine.create(function()
1041
			ORB.Transparency = 1
1042
			Debris:AddItem(ORB,10)
1043
			ApplyAoE(ORB.Position,400,75,90,175,true,{SHAKE = 4, TIMER = 65, DOESFADE = true})
1044
			CreateSound(EXPLOSIONLARGESOUND,ORB,10,1,false)
1045
			CreateSound(EXPLOSIONSMALLSOUND,ORB,10,1,false)
1046
			for i = 1, 3 do
1047
				WACKYEFFECT({Time = 40, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(MRANDOM(600,700),MRANDOM(600,700),MRANDOM(600,700)), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1048
			end
1049
			for i = 1, 3 do
1050
				WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(50,50,50), Size2 = VT(MRANDOM(600,700),MRANDOM(600,700),MRANDOM(600,700)), Transparency = 0, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1051
			end
1052
			for i = 1, 15 do
1053
				WACKYEFFECT({Time = 40+(i*5), EffectType = "Ring", Size = VT(0,0,0), Size2 = VT(70,70,0), Transparency = 0.8, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(255,100,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1054
			end
1055
		end))
1056
	else
1057
		for i = 1, 100 do
1058
			Swait()
1059
			ORB.Size = ORB.Size - VT(0.2,0.2,0.2)*5
1060
			ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1061
		end
1062
		ORB.Transparency = 1
1063
		Debris:AddItem(ORB,10)
1064
		CreateSound(EXPLOSIONSMALLSOUND,Torso,10,1,false)
1065
		for _, c in pairs(Character:GetChildren()) do
1066
			if c:IsA("BasePart") then
1067
			end
1068
		end
1069
		NEWANIM = true
1070
		wait(0.5)
1071
		for i = 1, 15 do
1072
			wait(0.1)
1073
			coroutine.resume(coroutine.create(function()
1074
				local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Cyan", "Flight", VT(2,2,2))
1075
				FIREBALL.CFrame = CF(RightArm.CFrame*CF(0,-1,0).p,Mouse.Hit.p)
1076
				CreateSound(FIREBALLSOUND,FIREBALL,6,1,false)
1077
				for i = 1, 250 do
1078
					Swait()
1079
					local HIT,HITPOS,NORMAL = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 2, Character)
1080
					FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-2)
1081
					if HIT then
1082
						CreateSound(EXPLOSIONSMALLSOUND,FIREBALL,10,1,false)
1083
						local FIELD = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("New yeller"), "Fire", VT(75,0,75), true)
1084
						local FIELD2 = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Deep orange"), "Fire", VT(75,0,75), true)
1085
						FIELD.CFrame = CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0))
1086
						FIELD2.CFrame = CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(45), RAD(0))
1087
						coroutine.resume(coroutine.create(function()
1088
							for i = 1, 15 do
1089
								wait(1)
1090
								ApplyAoE(FIELD.Position,FIELD.Size.X/2,5,15,0,false,{SHAKE = 4, TIMER = 65, DOESFADE = true})
1091
							end
1092
							Debris:AddItem(FIELD,5)
1093
							Debris:AddItem(FIELD2,5)
1094
						end))
1095
						break
1096
					end
1097
				end
1098
				Debris:AddItem(FIREBALL,7)
1099
			end))
1100
		end
1101
	end
1102
	wait(0.3)
1103
	ATTACK = false
1104
	Rooted = false
1105
end
1106
1107
function Shroud()
1108
	if Mouse.Target ~= nil then
1109
		if Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") or Mouse.Target.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1110
			local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") or Mouse.Target.Parent.Parent:FindFirstChildOfClass("Humanoid")
1111
			local TORSO = HUM.Parent:FindFirstChild("HumanoidRootPart") or HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
1112
			if TORSO and HUM.Health > 0 then
1113
				local DISTANCE = (RootPart.Position-TORSO.Position).Magnitude
1114
				if DISTANCE < 100 then
1115
					ATTACK = true
1116
					POSEIDON = false
1117
					Rooted = true
1118
					local GYRO = IT("BodyGyro",RootPart)
1119
					GYRO.D = 20
1120
					GYRO.P = 4000
1121
					GYRO.MaxTorque = VT(40000,40000,40000)
1122
					local POSITION = IT("BodyPosition",RootPart)
1123
					POSITION.Position = RootPart.Position+VT(0,2,0)
1124
					POSITION.D = 450
1125
					POSITION.P = 40000
1126
					POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1127
					local TARGETTING = true
1128
					local HIT = false
1129
1130
					CreateSound(CHARGE,Torso,6,1,false)
1131
					coroutine.resume(coroutine.create(function()
1132
						repeat
1133
							GYRO.CFrame = CF(RootPart.Position,TORSO.Position)
1134
							Swait()
1135
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1136
							Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1137
							RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1138
							LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1139
							RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-15), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1140
							LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(20), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1141
						until TARGETTING == false
1142
						repeat
1143
							GYRO.CFrame = CF(RootPart.Position,TORSO.Position)
1144
							POSITION.Position = CF(RootPart.Position,TORSO.Position)*CF(0,0,-5).p
1145
							DISTANCE = (RootPart.Position-TORSO.Position).Magnitude
1146
							Swait()
1147
							RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1148
							Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1149
							RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1150
							LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1151
							RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-15), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1152
							LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(20), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1153
						until HIT == true
1154
						POSITION:remove()
1155
						GYRO:remove()
1156
					end))
1157
					wait(0.5)
1158
					repeat wait() until HOLD == true
1159
					for _, c in pairs(Character:GetChildren()) do
1160
						if c:IsA("BasePart") then
1161
1162
						end
1163
					end
1164
					for _, c in pairs(Character:GetChildren()) do
1165
						if c:IsA("BasePart") then
1166
							c.Transparency = 1
1167
						end
1168
					end
1169
					TARGETTING = false
1170
					for i = 1, 100 do
1171
						wait()
1172
						if DISTANCE < 5 or DISTANCE >= 200 then
1173
							break
1174
						end
1175
					end
1176
					HIT = true
1177
						end
1178
						for _, c in pairs(HUM.Parent:GetChildren()) do
1179
							end
1180
						end
1181
						CreateSound(FIREBALLSOUND,Torso,6,1,false)
1182
						RootPart.CFrame = TORSO.CFrame
1183
						local WELD = weldBetween(RootPart,TORSO)
1184
						repeat wait() until HOLD == true
1185
						CreateSound(416328540,Torso,6,1,false)
1186
						WACKYEFFECT({Time = 45, EffectType = "Swirl", Size = VT(5,15,5), Size2 = VT(30,20,30), Transparency = 0.5, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1187
						local bv = Instance.new("BodyVelocity") 
1188
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1189
						bv.velocity = CF(TORSO.Position,TORSO.Position+VT(0,15,0)).lookVector*125
1190
						bv.Parent = TORSO
1191
						for i = 1, 70 do
1192
							wait(0.1)
1193
							if TORSO.Parent == nil then
1194
								break
1195
							end
1196
							WACKYEFFECT({Time = 45, EffectType = "Swirl", Size = VT(5,15,5), Size2 = VT(30,20,30), Transparency = 0.5, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(180),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1197
						end
1198
						UNANCHOR = false
1199
						bv:remove()
1200
						wait(1)
1201
						WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(45,1,45), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(180),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1202
						CreateSound(FIREBALLSOUND,Torso,6,1,false)
1203
						UNANCHOR = true
1204
						local bv = Instance.new("BodyVelocity") 
1205
						bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1206
						bv.velocity = CF(TORSO.Position,TORSO.Position-VT(0,15,0)).lookVector*450
1207
						bv.Parent = TORSO
1208
						local LANDED = false
1209
						for i = 1, 500 do
1210
							wait()
1211
							Ignore = {Character,HUM.Parent}
1212
							WACKYEFFECT({Time = 45, EffectType = "Swirl", Size = VT(5,15,5), Size2 = VT(30,20,30), Transparency = 0.5, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1213
							local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1214
							local HITFLOOR = CastProperRay(TORSO.Position, TORSO.Position-VT(0,1,0), 10*(TORSO.Size.Y), Ignore)
1215
							if HITFLOOR or FULLREGEN == true then
1216
								LANDED = true
1217
								break
1218
							end
1219
							if TORSO.Parent == nil then
1220
								break
1221
							end
1222
						end
1223
						if TORSO.Parent ~= nil then
1224
							UNANCHOR = false
1225
							bv:remove()
1226
							wait(1)
1227
							WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(45,1,45), Transparency = 0.2, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(180),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1228
							CreateSound(FIREBALLSOUND,Torso,6,1,false)
1229
							UNANCHOR = true
1230
							local bv = Instance.new("BodyVelocity") 
1231
							bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1232
							bv.velocity = CF(TORSO.Position,TORSO.Position-VT(0,15,0)).lookVector*450
1233
							bv.Parent = TORSO
1234
							local LANDED = false
1235
							for i = 1, 500 do
1236
								wait()
1237
								Ignore = {Character,HUM.Parent}
1238
								WACKYEFFECT({Time = 15, EffectType = "Swirl", Size = VT(5,15,5), Size2 = VT(30,20,30), Transparency = 0.9, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1239
								local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1240
								local HITFLOOR = CastProperRay(TORSO.Position, TORSO.Position-VT(0,1,0), 10*(TORSO.Size.Y), Ignore)
1241
								if HITFLOOR or FULLREGEN == true then
1242
									LANDED = true
1243
									break
1244
								end
1245
								if TORSO.Parent == nil then
1246
									break
1247
								end
1248
							end
1249
							bv:remove()
1250
							if LANDED == true then
1251
								UNANCHOR = false
1252
								for i = 1, 10 do
1253
									ApplyAoE(TORSO.Position+VT(0,1,0),10+(2*i),15,15,45,true,{SHAKE = 4, TIMER = 65, DOESFADE = true})
1254
								end
1255
								CreateSound(EXPLOSIONLARGESOUND,TORSO,10,1,false)
1256
								CreateSound(EXPLOSIONSMALLSOUND,TORSO,10,1,false)
1257
								for i = 1, 15 do
1258
									WACKYEFFECT({Time = 40+(i*5), EffectType = "Ring", Size = VT(0,0,0), Size2 = VT(70,70,0), Transparency = 0.8, Transparency2 = 1, CFrame = CF(TORSO.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(255,100,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1259
								end
1260
								WELD:remove()
1261
								wait(0.3)
1262
								UNANCHOR = true
1263
							else
1264
								WELD:remove()
1265
							end
1266
						end
1267
					end
1268
					for _, c in pairs(Character:GetChildren()) do
1269
						if c:IsA("BasePart") and c ~= RootPart then
1270
							c.Transparency = 0
1271
						end
1272
					end
1273
					RootPart.Velocity = VT(0,0,0)
1274
					ATTACK = false
1275
					Rooted = false
1276
				end
1277
			end
1278
1279
function Spitter()
1280
	ATTACK = true
1281
	Rooted = true
1282
	local GYRO = IT("BodyGyro",RootPart)
1283
	GYRO.D = 20
1284
	GYRO.P = 4000
1285
	GYRO.MaxTorque = VT(40000,40000,40000)
1286
	local POSITION = IT("BodyPosition",RootPart)
1287
	POSITION.Position = RootPart.Position+VT(0,2,0)
1288
	POSITION.D = 450
1289
	POSITION.P = 40000
1290
	POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1291
	CreateSound(CHARGE,RightArm,6,0.8,false)
1292
	coroutine.resume(coroutine.create(function()
1293
		repeat
1294
			Swait()
1295
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1296
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed)
1297
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed)
1298
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1299
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.75, 0) * ANGLES(RAD(-25), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1300
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1301
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1302
		until ATTACK == false
1303
		GYRO:remove()
1304
		POSITION:remove()
1305
	end))
1306
	local FIREBALL = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Really red"), "Orb", VT(0,0,0), true)
1307
	MakeForm(FIREBALL,"Ball")
1308
	FIREBALL.CFrame = RightArm.CFrame*CF(0,-1,0)
1309
	local CORE = IT("Attachment",FIREBALL)
1310
	local LOOP = 0
1311
	repeat
1312
		Swait()
1313
		LOOP = LOOP + 1
1314
		if LOOP == 20 then
1315
			LOOP = 0
1316
			WACKYEFFECT({Time = 45, EffectType = "Swirl", Size = VT(0,0,0), Size2 = VT(FIREBALL.Size.X,FIREBALL.Size.X/2,FIREBALL.Size.X)*3, Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = FIREBALL.Position-VT(0,FIREBALL.Size.Y/4,0), RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1317
		end
1318
		if FIREBALL.Size.X < 20 then
1319
			FIREBALL.Size = FIREBALL.Size + VT(0.1,0.1,0.1)
1320
		end
1321
		FIREBALL.CFrame = RightArm.CFrame*CF(0,-1-FIREBALL.Size.Z/2,0)
1322
	until KEYHOLD == false and FIREBALL.Size.X >= 10
1323
	CreateSound(FIREBALLSOUND,FIREBALL,10,0.8,false)
1324
	coroutine.resume(coroutine.create(function()
1325
		FIREBALL.CFrame = CF(FIREBALL.Position,Mouse.Hit.p)
1326
		local RANGE = 75
1327
		for i = 1, 600 do
1328
			LOOP = LOOP + 1
1329
			if LOOP == 20 then
1330
				LOOP = 0
1331
				ApplyAoE(FIREBALL.Position,FIREBALL.Size.X*5,5,25,0,false)
1332
				WACKYEFFECT({Time = 45, EffectType = "Swirl", Size = VT(0,0,0), Size2 = VT(FIREBALL.Size.X,FIREBALL.Size.X/2,FIREBALL.Size.X)*3, Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = FIREBALL.Position-VT(0,FIREBALL.Size.Y/4,0), RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1333
			end
1334
			Swait()
1335
			FIREBALL.CFrame = CF(FIREBALL.Position,FIREBALL.CFrame*CF(0,-0.001,-1).p)*CF(0,0,-0.2)
1336
			local HIT,HITPOS,NORMAL = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, FIREBALL.Size.X/2.5, Character)
1337
			if HIT then
1338
				ApplyAoE(FIREBALL.Position,FIREBALL.Size.X*12,75,90,375,true,{SHAKE = 4, TIMER = 65, DOESFADE = true})
1339
				CreateSound(EXPLOSIONLARGESOUND,FIREBALL,10,1,false)
1340
				CreateSound(EXPLOSIONSMALLSOUND,FIREBALL,10,1,false)
1341
				for i = 1, 3 do
1342
					WACKYEFFECT({Time = 40, EffectType = "Sphere", Size = VT(0,0,0), Size2 = FIREBALL.Size*MRANDOM(18,25), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1343
				end
1344
				for i = 1, 3 do
1345
					WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(0,0,0), Size2 = FIREBALL.Size*MRANDOM(18,25), Transparency = 0, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1346
				end
1347
				for i = 1, 15 do
1348
					WACKYEFFECT({Time = 40+(i*5), EffectType = "Ring", Size = VT(0,0,0), Size2 = VT(FIREBALL.Size.X*10,FIREBALL.Size.X*10,0), Transparency = 0.8, Transparency2 = 1, CFrame = CF(FIREBALL.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = C3(255,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1349
				end
1350
				break
1351
			end
1352
		end
1353
		for i = 1, 10 do
1354
			Swait()
1355
			FIREBALL.Mesh.Scale = FIREBALL.Mesh.Scale - VT(0.1,0.1,0.1)
1356
		end
1357
		Debris:AddItem(FIREBALL,5)
1358
	end))
1359
	wait(0.5)
1360
	ATTACK = false
1361
	Rooted = false
1362
end
1363
1364
function Devastor()
1365
	ATTACK = true
1366
	Rooted = true
1367
	local POSITION = IT("BodyPosition",RootPart)
1368
	POSITION.Position = RootPart.Position+VT(0,2,0)
1369
	POSITION.D = 450
1370
	POSITION.P = 40000
1371
	POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1372
	CreateSound(CHARGE,Torso,6,1,false)
1373
	local NEWANIM = false
1374
	coroutine.resume(coroutine.create(function()
1375
		repeat
1376
			Swait()
1377
			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)
1378
			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)
1379
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1380
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.75, 0) * ANGLES(RAD(170), RAD(0), RAD(12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1381
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1382
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1383
		until ATTACK == false or NEWANIM == true
1384
		if NEWANIM == true then
1385
			local GYRO = IT("BodyGyro",RootPart)
1386
			GYRO.D = 20
1387
			GYRO.P = 4000
1388
			GYRO.MaxTorque = VT(40000,40000,40000)
1389
			repeat
1390
				Swait()
1391
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1392
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(24)), 2 / Animation_Speed)
1393
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-24)), 1 / Animation_Speed)
1394
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.3) * ANGLES(RAD(90), RAD(0), RAD(24)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1395
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.75, 0) * ANGLES(RAD(-25), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1396
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1397
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1398
			until ATTACK == false
1399
			GYRO:remove()
1400
		end
1401
		POSITION:remove()
1402
	end))
1403
	local ORB = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("New yeller"), "Orb", VT(0,0,0), true)
1404
	MakeForm(ORB,"Ball")
1405
	ORB.CFrame = CF(RootPart.Position+VT(0,8,0))
1406
	local A = IT("Attachment",ORB)
1407
	local LOOP = 0
1408
	for i = 1, 200 do
1409
		Swait()
1410
		LOOP = LOOP + 1
1411
		if LOOP >= 30 then
1412
			LOOP = 0
1413
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1414
		end
1415
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1416
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1417
	end
1418
	RightArm.Transparency = 1
1419
	LeftArm.Transparency = 1
1420
	for _, c in pairs(Character:GetChildren()) do
1421
		if c:IsA("BasePart") then
1422
		end
1423
	end
1424
	CreateSound(CHARGE,Torso,6,0.5,false)
1425
	for i = 1, 200 do
1426
		Swait()
1427
		LOOP = LOOP + 1
1428
		if LOOP >= 30 then
1429
			LOOP = 0
1430
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1431
		end
1432
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1433
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1434
	end
1435
	for _, c in pairs(Character:GetChildren()) do
1436
		if c:IsA("BasePart") then
1437
			c.Transparency = 1
1438
		end
1439
	end
1440
	for i = 1, 400 do
1441
		Swait()
1442
		LOOP = LOOP + 1
1443
		if LOOP >= 30 then
1444
			LOOP = 0
1445
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(ORB.Size.X,ORB.Size.X/5,ORB.Size.X), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1446
		end
1447
		ORB.Size = ORB.Size + VT(0.2,0.2,0.2)
1448
		ORB.CFrame = CF(RootPart.Position+VT(0,8+(ORB.Size.Y/2),0))
1449
	end
1450
	wait(0.5)
1451
	CreateSound(FIREBALLSOUND,Effects,4,1,false)
1452
	coroutine.resume(coroutine.create(function()
1453
		ORB.CFrame = CF(ORB.Position,Mouse.Hit.p)
1454
		for i = 1, 1200 do
1455
			Swait()
1456
			ORB.CFrame = ORB.CFrame*CF(0,0,-1)
1457
			local HIT,HITPOS = Raycast(ORB.Position, ORB.CFrame.lookVector, ORB.Size.X/2.5, Character)
1458
			if HIT then
1459
				break
1460
			end
1461
		end
1462
		for i = 1, 6 do
1463
			ApplyAoE(ORB.Position,ORB.Size.X*10,75,90,375,true,{SHAKE = 4, TIMER = 65, DOESFADE = true})
1464
			CreateSound(EXPLOSIONLARGESOUND,Effects,2,1,false)
1465
			CreateSound(EXPLOSIONSMALLSOUND,Effects,4,1,false)
1466
			for i = 1, 3 do
1467
				WACKYEFFECT({Time = 160, EffectType = "Sphere", Size = VT(0,0,0), Size2 = ORB.Size*MRANDOM(5,20), Transparency = 0.6, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"New yeller".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1468
			end
1469
			for i = 1, 3 do
1470
				WACKYEFFECT({Time = 120, EffectType = "Sphere", Size = VT(0,0,0), Size2 = ORB.Size*MRANDOM(5,20), Transparency = 0.6, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,45), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Deep orange".Color, SoundID = EXPLOSIONMEDIUMSOUND, SoundPitch = MRANDOM(8,12)/10, SoundVolume = MRANDOM(5,10)})
1471
			end
1472
			for i = 1, 15 do
1473
				WACKYEFFECT({Time = 120+(i*5), EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(ORB.Size.X*30,15,ORB.Size.X*30), Transparency = 0.8, Transparency2 = 1, CFrame = CF(ORB.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-15,15)/15, RotationY = MRANDOM(-15,15)/15, RotationZ = MRANDOM(-15,15)/15, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1474
			end
1475
			wait(1)
1476
		end
1477
		for i = 1, 10 do
1478
			Swait()
1479
			ORB.Mesh.Scale = ORB.Mesh.Scale - VT(0.1,0.1,0.1)
1480
		end
1481
		Debris:AddItem(ORB,5)
1482
	end))
1483
	wait(1)
1484
	FullBodyRegen()
1485
	ATTACK = false
1486
	Rooted = false
1487
end
1488
1489
--//=================================\\
1490
--||	 	 	MISC
1491
--\\=================================//
1492
1493
function Jupiter()
1494
	ATTACK = true
1495
	Rooted = true
1496
	local POSITION = IT("BodyPosition",RootPart)
1497
	POSITION.Position = RootPart.Position+VT(0,0.2,0)
1498
	POSITION.D = 450
1499
	POSITION.P = 40000
1500
	POSITION.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1501
	coroutine.resume(coroutine.create(function()
1502
		repeat
1503
			Swait()
1504
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(0), RAD(-5), RAD(-15)), 2 / Animation_Speed)
1505
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1506
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.55 + 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(15), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1507
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1508
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.25) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 2 / Animation_Speed)
1509
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.5, -0.4) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 2 / Animation_Speed)
1510
		until ATTACK == false
1511
	end))
1512
	wait(0.5)
1513
	repeat wait() until KEYHOLD == false
1514
	WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35,4,35), Transparency = 0.3, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Shamrock".Color, SoundID = 431105970, SoundPitch = 1, SoundVolume = 10})
1515
	POSITION:remove()
1516
	RootPart.Velocity = VT(0,150,0)
1517
	ATTACK = false
1518
	Rooted = false
1519
end
1520
1521
function Taunt()
1522
	ATTACK = true
1523
	Rooted = true
1524
	local TAUNT = CreateSound(159882303,Torso,10,1,false)
1525
	coroutine.resume(coroutine.create(function()
1526
		repeat
1527
			Swait()
1528
			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)
1529
			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)
1530
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.75, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-70)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1531
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.25, -0.5) * ANGLES(RAD(90), RAD(0), RAD(80)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1532
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1533
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1534
		until ATTACK == false
1535
	end))
1536
	repeat wait() until TAUNT.Playing == false
1537
	ATTACK = false
1538
	Rooted = false
1539
end
1540
1541
--//=================================\\
1542
--||	  ASSIGN THINGS TO KEYS
1543
--\\=================================//
1544
1545
function MouseDown(Mouse)
1546
	HOLD = true
1547
	if ATTACK == false then
1548
	end
1549
end
1550
1551
function MouseUp(Mouse)
1552
	HOLD = false
1553
end
1554
1555
local MUSIC = CreateSound(285883918,Character,3,1,true)
1556
1557
function KeyDown(Key)
1558
	KEYHOLD = true
1559
	if ATTACK == false and FULLREGEN == false then
1560
		if Key == "z" then
1561
			Fireball()
1562
		end
1563
	
1564
		if Key == "r" and SEARING == false then
1565
			SearingOrb()
1566
		end
1567
1568
		if Key == "q" and SEARING == false then
1569
			Shroud()
1570
		end
1571
1572
		if Key == "m" and SEARING == false then
1573
			Jupiter()
1574
			wait(2)
1575
			Devastor()
1576
		end
1577
	
1578
		if Key == "e" then
1579
			Spitter()
1580
		end
1581
1582
		if Key == "t" then
1583
			Jupiter()
1584
		end
1585
1586
		if Key == "y" and SEARING == false then
1587
			Taunt()
1588
		end
1589
1590
		if Key == "f" then
1591
			if POSEIDON == false then
1592
				POSEIDON = true
1593
				CreateSound(POSEIDONSOUND,Torso,5,MRANDOM(8,12)/10,false)
1594
			else
1595
				POSEIDON = false
1596
			end
1597
		end
1598
	end
1599
1600
	if Key == "w" and ATTACK == false and SEARING == true and VALUE2 == false then
1601
		repeat
1602
			VALUE2 = true
1603
			Swait()
1604
			BODYPOS.Position = RootPart.CFrame*CF(0,0,-5).p
1605
		until KEYHOLD == false
1606
		VALUE2 = false
1607
	end
1608
1609
	if string.byte(Key) == 50 and ATTACK == false then
1610
		if Speed == 16 then
1611
			Speed = 45
1612
		elseif Speed == 45 then
1613
			Speed = 16
1614
		end
1615
	end
1616
1617
	if Key == "1" then
1618
		MUSIC:Play()
1619
		CHOSENSONG = CHOSENSONG + 1
1620
		if CHOSENSONG > #SONGS then
1621
			CHOSENSONG = 1
1622
		end
1623
	end
1624
end
1625
1626
function KeyUp(Key)
1627
	KEYHOLD = false
1628
end
1629
1630
	Mouse.Button1Down:connect(function(NEWKEY)
1631
		MouseDown(NEWKEY)
1632
	end)
1633
	Mouse.Button1Up:connect(function(NEWKEY)
1634
		MouseUp(NEWKEY)
1635
	end)
1636
	Mouse.KeyDown:connect(function(NEWKEY)
1637
		KeyDown(NEWKEY)
1638
	end)
1639
	Mouse.KeyUp:connect(function(NEWKEY)
1640
		KeyUp(NEWKEY)
1641
	end)
1642
1643
--//=================================\\
1644
--\\=================================//
1645
1646
function unanchor()
1647
	if UNANCHOR == true then
1648
		for _, c in pairs(Character:GetChildren()) do
1649
			if c:IsA("BasePart") then
1650
				c.Anchored = false
1651
			end
1652
		end
1653
	else
1654
		for _, c in pairs(Character:GetChildren()) do
1655
			if c:IsA("BasePart") then
1656
				c.Anchored = true
1657
			end
1658
		end
1659
	end
1660
end
1661
1662
--//=================================\\
1663
--||	WRAP THE WHOLE SCRIPT UP
1664
--\\=================================//
1665
1666
Humanoid.Changed:connect(function(Jump)
1667
	if Jump == "Jump" and (Disable_Jump == true) then
1668
		Humanoid.Jump = false
1669
	end
1670
end)
1671
1672
local LOOP = 0
1673
1674
while true do
1675
	Swait()
1676
	if Character:FindFirstChildOfClass("Humanoid") == nil then
1677
		Humanoid = IT("Humanoid",Character)
1678
	end
1679
	Effects.Parent = Character
1680
	script.Parent = WEAPONGUI
1681
	ANIMATE.Parent = nil
1682
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1683
	    v:Stop();
1684
	end
1685
	SINE = SINE + CHANGE
1686
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1687
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1688
	Ignore = {Torso,RootPart,RightLeg,LeftLeg,RightLeg,Head,RightArm,LeftArm,Effects}
1689
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1690
	local HITFLOOR,HITPOS = CastProperRay(RootPart.Position, RootPart.Position-VT(0,15,0), 4, Ignore)
1691
	local WALKSPEEDVALUE = 5
1692
	if SEARING == false then
1693
		if ANIM == "Walk" and TORSOVELOCITY > 1 and SEARING == false and Rooted == false then
1694
			if Humanoid.WalkSpeed <= 20 then
1695
				RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
1696
				Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1697
				RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2 -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1698
				LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2 +0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1699
			elseif SEARING == false and Humanoid.WalkSpeed > 20 and Rooted == false then
1700
				RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / (2*1.3)))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
1701
				Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / (2*1.3)))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1702
				RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), -0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
1703
				LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), 0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
1704
			end
1705
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or SEARING == true or Rooted == true then
1706
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1707
			Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1708
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1709
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1710
		end
1711
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1712
			ANIM = "Jump"
1713
			if ATTACK == false then
1714
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1715
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1716
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(-5), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1717
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(-5), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1718
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
1719
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
1720
		    end
1721
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1722
			ANIM = "Fall"
1723
			if ATTACK == false then
1724
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(8*COS(SINE / 6))), 1 / Animation_Speed)
1725
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(-8*COS(SINE / 6))), 1 / Animation_Speed)
1726
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.85, 0) * ANGLES(RAD(0), RAD(0), RAD(110)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1727
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.85, 0) * ANGLES(RAD(0), RAD(0), RAD(-110)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1728
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
1729
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
1730
			end
1731
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1732
			ANIM = "Idle"
1733
			if ATTACK == false then
1734
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
1735
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
1736
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.70, 0.05) * ANGLES(RAD(-15 - 2 * COS(SINE / 12)), RAD(-25), RAD(-10 - 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1737
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.45, 0.70, 0.05) * ANGLES(RAD(-15 - 1 * COS(SINE / 12)), RAD(25), RAD(20 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1738
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(50), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1739
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1740
			end
1741
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1742
			ANIM = "Walk"
1743
			if ATTACK == false then
1744
				if Humanoid.WalkSpeed <= 20 then
1745
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1746
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1747
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.70, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.85 / Animation_Speed)
1748
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.70, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.85 / Animation_Speed)
1749
					RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1750
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1751
				elseif Humanoid.WalkSpeed > 20 then
1752
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1753
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1754
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.70, 0) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(2)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1755
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.70, 0) * ANGLES(RAD(35), RAD(-35), RAD(0)) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(-2)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1756
					RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(6)), 2 / Animation_Speed)
1757
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-6)), 2 / Animation_Speed)
1758
				end
1759
			end
1760
		end
1761
	elseif SEARING == true then
1762
		if APPLYGYRO == true then
1763
			if VALUE2 == false and DIRECTTURN == false then
1764
				if GYRO ~= nil then
1765
					GYRO.MaxTorque = VT(0,40000,0)
1766
					GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1767
				end
1768
			else
1769
				if GYRO ~= nil then
1770
					GYRO.MaxTorque = VT(80000,40000,80000)
1771
					GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
1772
				end
1773
			end
1774
		end
1775
		if VALUE2 == false and ATTACK == false then
1776
			ANIM = "IdleFlight"
1777
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1778
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
1779
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1780
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1781
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1782
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1783
		elseif VALUE2 == true and ATTACK == false then
1784
			ANIM = "Flight"
1785
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 1 * SIN(SINE / 24)) * ANGLES(RAD(65), RAD(0), RAD(0)), 1 / Animation_Speed)
1786
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
1787
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0,1 / Animation_Speed)
1788
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1789
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-15), RAD(65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1790
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-15), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1791
		end
1792
	end
1793
	unanchor()
1794
	Humanoid.MaxHealth = "inf"
1795
	Humanoid.Health = "inf"
1796
	if Rooted == false then
1797
		Disable_Jump = false
1798
		Humanoid.WalkSpeed = Speed
1799
	elseif Rooted == true then
1800
		Disable_Jump = true
1801
		Humanoid.WalkSpeed = 0
1802
	end
1803
	Regen()
1804
	if Head:FindFirstChild("face") then
1805
		Head.face.Texture = "rbxassetid://608798717"
1806
		Head.face.Transparency = Head.Transparency
1807
	end
1808
	for _, c in pairs(Character:GetDescendants()) do
1809
		if c.ClassName == "Attachment" and c ~= BACKATTACHMENT1 and c ~= BACKATTACHMENT2 and c.Parent.Parent ~= Effects then
1810
			c:remove()
1811
		end
1812
		if c and c.Parent then
1813
			if c.Name == "Handle" and c.Parent.ClassName == "Accessory" then
1814
				local ACCESSORY = c.Parent
1815
				c.Parent = Character
1816
				local REGENVALUE = IT("BoolValue",c)
1817
				REGENVALUE.Name = "IsRegening"
1818
				table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name,REGENVALUE})
1819
				if c then
1820
					if c:FindFirstChild("HatAttachment") or c:FindFirstChild("FaceFrontAttachment") or c:FindFirstChild("HairAttachment") then
1821
						local WELD = weldBetween(Head,c)
1822
						table.insert(BODY,{WELD,c,nil,nil,nil,nil,nil,nil})
1823
					else
1824
						local WELD = weldBetween(Torso,c)
1825
						table.insert(BODY,{WELD,c,nil,nil,nil,nil,nil,nil})
1826
					end
1827
				end
1828
				ACCESSORY:remove()
1829
			end
1830
		end
1831
	end
1832
	for _, c in pairs(Character:GetChildren()) do
1833
		if SEARING == true and c:IsA("BasePart") then
1834
			c.Transparency = 1
1835
		end
1836
	end
1837
	MUSIC.Parent = Character
1838
	MUSIC.SoundId = "rbxassetid://"..SONGS[CHOSENSONG]
1839
	MUSIC.Pitch = 1
1840
	if CHOSENSONG ~= 5 then
1841
		MUSIC.Volume = 2
1842
	else
1843
		MUSIC.Volume = 4
1844
	end 
1845
	MUSIC.Playing = true
1846
	if POSEIDON == true and FULLREGEN == false then
1847
		LOOP = LOOP + 1
1848
		local FLOOR = CreatePart(3, SpecialEffects, "Neon", 0, 1, BRICKC("Pearl"), "Floor", VT(15,0,15), true)
1849
		FLOOR.CFrame = CF(HITPOS-VT(0,0.025,0))
1850
		FLOOR.CanCollide = true
1851
		Debris:AddItem(FLOOR,0.2)
1852
		local FLOOR = CreatePart(3, SpecialEffects, "Neon", 0, 1, BRICKC("Pearl"), "Floor", VT(15,0,15), true)
1853
		FLOOR.CFrame = CF(HITPOS-VT(0,0.025,0))*ANGLES(RAD(0),RAD(45),RAD(0))
1854
		FLOOR.CanCollide = true
1855
		Debris:AddItem(FLOOR,0.2)
1856
		if LOOP >= 5 then
1857
			LOOP = 0
1858
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(15,1,15), Transparency = 0.7, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = HITPOS+VT(0,0.45,0), RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = BRICKC"Shamrock".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1859
		end
1860
	end
1861
	RootJoint.Parent = RootPart
1862
	Humanoid.DisplayDistanceType = "None"
1863
	Humanoid.Name = "Searing Emperor"
1864
end
1865
1866
--//=================================\\
1867
--\\=================================//
1868
1869
1870
1871
1872
1873
--//====================================================\\--
1874
--||			  		 END OF SCRIPT
1875
--\\====================================================//--