View difference between Paste ID: FRnqUzki and 76FqAD3J
SHOW: | | - or go back to the newest paste.
1
-- This script has been converted to FE by iPxter
2
 
3
 
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
6
do
7
    print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
8
    script.Parent = Player.Character
9
 
10
    --RemoteEvent for communicating
11
    local Event = Instance.new("RemoteEvent")
12
    Event.Name = "UserInput_Event"
13
 
14
    --Fake event to make stuff like Mouse.KeyDown work
15
    local function fakeEvent()
16
        local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
17
        t.connect = t.Connect
18
        return t
19
    end
20
 
21
    --Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
23
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
    end}
27
    --Merged 2 functions into one by checking amount of arguments
28
    CAS.UnbindAction = CAS.BindAction
29
 
30
    --This function will trigger the events that have been :Connect()'ed
31
    local function te(self,ev,...)
32
        local t = m[ev]
33
        if t and t._fakeEvent and t.Function then
34
            t.Function(...)
35
        end
36
    end
37
    m.TrigEvent = te
38
    UIS.TrigEvent = te
39
 
40
    Event.OnServerEvent:Connect(function(plr,io)
41
        if plr~=Player then return end
42
        if io.isMouse then
43
            m.Target = io.Target
44
            m.Hit = io.Hit
45
        else
46
            local b = io.UserInputState == Enum.UserInputState.Begin
47
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
            end
50
            for _,t in pairs(CAS.Actions) do
51
                for _,k in pairs(t.Keys) do
52
                    if k==io.KeyCode then
53
                        t.Function(t.Name,io.UserInputState,io)
54
                    end
55
                end
56
            end
57
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
        end
60
    end)
61
    Event.Parent = NLS([==[
62
    local Player = game:GetService("Players").LocalPlayer
63
    local Event = script:WaitForChild("UserInput_Event")
64
 
65
    local UIS = game:GetService("UserInputService")
66
    local input = function(io,a)
67
        if a then return end
68
        --Since InputObject is a client-side instance, we create and pass table instead
69
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
70
    end
71
    UIS.InputBegan:Connect(input)
72
    UIS.InputEnded:Connect(input)
73
 
74
    local Mouse = Player:GetMouse()
75
    local h,t
76
    --Give the server mouse data 30 times every second, but only if the values changed
77
    --If player is not moving their mouse, client won't fire events
78
    while wait(1/30) do
79
        if h~=Mouse.Hit or t~=Mouse.Target then
80
            h,t=Mouse.Hit,Mouse.Target
81
            Event:FireServer({isMouse=true,Target=t,Hit=h})
82
        end
83
    end]==],Player.Character)
84
    Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
85
end
86
87
--//====================================================\\--
88
--||			   CREATED BY SHACKLUSTER
89
--\\====================================================//--
90-
Player = game.Players.LocalPlayer
90+
Player = owner
91
    Character = Player.Character
92
    local txt = Instance.new("BillboardGui", Character)
93
    txt.Adornee = Character.Head
94
    txt.Name = "_status"
95
    txt.Size = UDim2.new(2, 0, 1.2, 0)
96
    txt.StudsOffset = Vector3.new(-9, 8, 0)
97
    local text = Instance.new("TextLabel", txt)
98
    text.Size = UDim2.new(10, 0, 7, 0)
99
    text.FontSize = "Size24"
100
    text.TextScaled = true
101
    text.TextTransparency = 0
102
    text.BackgroundTransparency = 10
103
    text.TextTransparency = 0
104
    text.TextStrokeTransparency = 0
105
    text.Font = "Antique"
106
    text.TextStrokeColor3 = Color3.new(0,0,0)
107
        text.Text = "Terra God"
108
109
110
local createstuff = function()
111
	local stuff = Instance.new("Model")
112
local collar = Instance.new("Part")
113
local mesh = Instance.new("FileMesh")
114
local part = Instance.new("Part")
115
local mesh_2 = Instance.new("CylinderMesh")
116
local weld = Instance.new("ManualWeld")
117
local eye = Instance.new("Part")
118
local mesh_3 = Instance.new("SpecialMesh")
119
local decal = Instance.new("Decal")
120
local hood = Instance.new("Part")
121
local mesh_4 = Instance.new("FileMesh")
122
local pillar = Instance.new("Part")
123
local rock = Instance.new("Part")
124
local core = Instance.new("Attachment")
125
local emit = Instance.new("ParticleEmitter")
126
local mesh_5 = Instance.new("FileMesh")
127
local rockspike = Instance.new("Part")
128
local mesh_6 = Instance.new("SpecialMesh")
129
local shield = Instance.new("Part")
130
local core_2 = Instance.new("Attachment")
131
local spinepart = Instance.new("Part")
132
local mesh_7 = Instance.new("FileMesh")
133
local pants = Instance.new("Pants")
134
local shirt = Instance.new("Shirt")
135
local emit_2 = Instance.new("ParticleEmitter")
136
local vortex = Instance.new("ParticleEmitter")
137
local wave = Instance.new("ParticleEmitter")
138
139
stuff.Name = "Stuff"
140
stuff.Parent = workspace
141
collar.Size = Vector3.new(2.06, 0.2, 2.06)
142
collar.Name = "Collar"
143
collar.Material = Enum.Material.Metal
144
collar.TopSurface = Enum.SurfaceType.Smooth
145
collar.BottomSurface = Enum.SurfaceType.Smooth
146
collar.Parent = stuff
147
collar.CFrame = CFrame.new(5.8, 46.2, -39.9)
148
mesh.MeshId = "rbxassetid://1861264141"
149
mesh.Parent = collar
150
part.Size = Vector3.new(1.3, 0.2, 1.3)
151
part.BrickColor = BrickColor.new("Really black")
152
part.Color = Color3.new(0.109804, 0.0823529, 0.117647)
153
part.Material = Enum.Material.Metal
154
part.TopSurface = Enum.SurfaceType.Smooth
155
part.BottomSurface = Enum.SurfaceType.Smooth
156
part.Parent = collar
157
part.CFrame = CFrame.new(5.8, 46.2, -39.9)
158
mesh_2.Scale = Vector3.new(1.1, 1.1, 1.1)
159
mesh_2.Parent = part
160
weld.Part0 = collar
161
weld.Name = "Weld"
162
weld.Part1 = part
163
weld.Parent = collar
164
eye.Anchored = true
165
eye.Size = Vector3.new(2, 2, 2)
166
eye.BottomSurface = Enum.SurfaceType.Smooth
167
eye.Material = Enum.Material.SmoothPlastic
168
eye.Color = Color3.new(0.972549, 0.972549, 0.972549)
169
eye.Name = "Eye"
170
eye.TopSurface = Enum.SurfaceType.Smooth
171
eye.BrickColor = BrickColor.new("Institutional white")
172
eye.Parent = stuff
173
eye.CFrame = CFrame.new(9.8, 45.845, -47.125) * CFrame.Angles(0, 0, 0)
174
mesh_3.MeshType = Enum.MeshType.Sphere
175
mesh_3.Parent = eye
176
decal.Texture = "http://www.roblox.com/asset/?id=743271416"
177
decal.Parent = eye
178
hood.Size = Vector3.new(2.919, 2.394, 2.891)
179
hood.BottomSurface = Enum.SurfaceType.Smooth
180
hood.Material = Enum.Material.SmoothPlastic
181
hood.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
182
hood.BrickColor = BrickColor.new("Really black")
183
hood.TopSurface = Enum.SurfaceType.Smooth
184
hood.Name = "Hood"
185
hood.Parent = stuff
186
hood.CFrame = CFrame.new(9.8, 44.1, -48.7)
187
mesh_4.Scale = Vector3.new(1.55, 1.44, 1.4)
188
mesh_4.MeshId = "rbxassetid://16952952"
189
mesh_4.Parent = hood
190
pillar.Size = Vector3.new(1, 1, 1)
191
pillar.Name = "Pillar"
192
pillar.Material = Enum.Material.Metal
193
pillar.TopSurface = Enum.SurfaceType.Smooth
194
pillar.BottomSurface = Enum.SurfaceType.Smooth
195
pillar.Parent = stuff
196
pillar.CFrame = CFrame.new(-26.77, 0.5, -37.02)
197
rock.Size = Vector3.new(2.03, 1.978, 2.057)
198
rock.BottomSurface = Enum.SurfaceType.Smooth
199
rock.Name = "Rock"
200
rock.TopSurface = Enum.SurfaceType.Smooth
201
rock.Parent = stuff
202
rock.CFrame = CFrame.new(-0.43, 45.908, -52.56)
203
core.Name = "Core"
204
core.Parent = rock
205
emit.Enabled = false
206
emit.Lifetime = NumberRange.new(1, 4)
207
emit.Name = "Emit"
208
emit.Speed = NumberRange.new(0, 35)
209
emit.Rotation = NumberRange.new(0, 360)
210
emit.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.037, 0.754), NumberSequenceKeypoint.new(0.067, 0), NumberSequenceKeypoint.new(1, 0)})
211
emit.VelocitySpread = 360
212
emit.Texture = "rbxassetid://281633012"
213
emit.Acceleration = Vector3.new(0, -15, 0)
214
emit.Color = ColorSequence.new(Color3.new(0.423529, 0.345098, 0.294118), Color3.new(0.423529, 0.345098, 0.294118))
215
emit.RotSpeed = NumberRange.new(-25, 25)
216
emit.SpreadAngle = Vector2.new(360, 360)
217
emit.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 3), NumberSequenceKeypoint.new(0.255, 3.06), NumberSequenceKeypoint.new(0.649, 2.131), NumberSequenceKeypoint.new(1, 0)})
218
emit.Parent = core
219
mesh_5.MeshId = "rbxassetid://1861108040"
220
mesh_5.Parent = rock
221
rockspike.Anchored = true
222
rockspike.Size = Vector3.new(3.364, 20, 3.364)
223
rockspike.BottomSurface = Enum.SurfaceType.Smooth
224
rockspike.Material = Enum.Material.Grass
225
rockspike.Color = Color3.new(0.423529, 0.345098, 0.294118)
226
rockspike.Name = "RockSpike"
227
rockspike.TopSurface = Enum.SurfaceType.Smooth
228
rockspike.BrickColor = BrickColor.new("Pine Cone")
229
rockspike.Parent = stuff
230
rockspike.CFrame = CFrame.new(-0.43, 46.208, -29.96)
231
mesh_6.TextureId = "rbxassetid://136560096"
232
mesh_6.MeshType = Enum.MeshType.FileMesh
233
mesh_6.MeshId = "rbxassetid://1861231635"
234
mesh_6.Parent = rockspike
235
shield.Size = Vector3.new(1, 1, 1)
236
shield.Name = "Shield"
237
shield.Material = Enum.Material.Metal
238
shield.TopSurface = Enum.SurfaceType.Smooth
239
shield.BottomSurface = Enum.SurfaceType.Smooth
240
shield.Parent = stuff
241
shield.CFrame = CFrame.new(-26.77, 0.5, -37.02)
242
core_2.Name = "Core"
243
core_2.Parent = shield
244
spinepart.CanCollide = false
245
spinepart.Size = Vector3.new(0.3, 0.3, 0.6)
246
spinepart.BrickColor = BrickColor.new("Institutional white")
247
spinepart.BottomSurface = Enum.SurfaceType.Smooth
248
spinepart.Color = Color3.new(0.972549, 0.972549, 0.972549)
249
spinepart.Name = "SpinePart"
250
spinepart.TopSurface = Enum.SurfaceType.Smooth
251
spinepart.Parent = stuff
252
spinepart.CFrame = CFrame.new(-24.33, 46.208, -52.56)
253
mesh_7.MeshId = "rbxassetid://1861166416"
254
mesh_7.Parent = spinepart
255
pants.Name = "Pants"
256
pants.PantsTemplate = "http://www.roblox.com/asset/?id=1614573917"
257
pants.Parent = stuff
258
shirt.Name = "Shirt"
259
shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=1604092628"
260
shirt.Parent = stuff
261
emit_2.Enabled = false
262
emit_2.Lifetime = NumberRange.new(1, 4)
263
emit_2.Name = "Emit"
264
emit_2.Speed = NumberRange.new(0, 35)
265
emit_2.Rotation = NumberRange.new(0, 360)
266
emit_2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.037, 0.754), NumberSequenceKeypoint.new(0.067, 0), NumberSequenceKeypoint.new(1, 0)})
267
emit_2.VelocitySpread = 360
268
emit_2.Texture = "rbxassetid://281633012"
269
emit_2.Acceleration = Vector3.new(0, -15, 0)
270
emit_2.Color = ColorSequence.new(Color3.new(0.423529, 0.345098, 0.294118), Color3.new(0.423529, 0.345098, 0.294118))
271
emit_2.RotSpeed = NumberRange.new(-25, 25)
272
emit_2.SpreadAngle = Vector2.new(360, 360)
273
emit_2.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 1, 0.5), NumberSequenceKeypoint.new(1, 0)})
274
emit_2.Parent = stuff
275
vortex.Enabled = false
276
vortex.Name = "Vortex"
277
vortex.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.3, 0.5), NumberSequenceKeypoint.new(1, 0.5)})
278
vortex.Lifetime = NumberRange.new(1)
279
vortex.Rate = 0
280
vortex.Speed = NumberRange.new(0)
281
vortex.Color = ColorSequence.new(Color3.new(0.423529, 0.345098, 0.294118), Color3.new(0.423529, 0.345098, 0.294118))
282
vortex.Rotation = NumberRange.new(0, 360)
283
vortex.ZOffset = -2
284
vortex.RotSpeed = NumberRange.new(360)
285
vortex.LightEmission = 1
286
vortex.Texture = "rbxassetid://1084969997"
287
vortex.LockedToPart = true
288
vortex.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 0)})
289
vortex.Parent = stuff
290
wave.Enabled = false
291
wave.Lifetime = NumberRange.new(0.3)
292
wave.Name = "Wave"
293
wave.Speed = NumberRange.new(0)
294
wave.LightEmission = 1
295
wave.Rate = 1
296
wave.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(0.17, 0.393), NumberSequenceKeypoint.new(0.334, 0.661), NumberSequenceKeypoint.new(0.535, 0.836), NumberSequenceKeypoint.new(1, 1)})
297
wave.Texture = "rbxassetid://1084991215"
298
wave.Rotation = NumberRange.new(-180, 180)
299
wave.Size = NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 0)})
300
wave.ZOffset = 1
301
wave.Parent = stuff
302
for i,v in pairs(stuff:GetChildren()) do
303
	v.Parent = script
304
end
305
end
306
	
307
createstuff()
308
309
310
311
312
313
wait(0.2)
314
315-
Player = game:GetService("Players").LocalPlayer
315+
Player = owner
316
PlayerGui = Player.PlayerGui
317
Cam = workspace.CurrentCamera
318
Backpack = Player.Backpack
319
Character = Player.Character
320
Humanoid = Character.Humanoid
321-
Mouse = Player:GetMouse()
321+
322
Torso = Character["Torso"]
323
Head = Character["Head"]
324
RightArm = Character["Right Arm"]
325
LeftArm = Character["Left Arm"]
326
RightLeg = Character["Right Leg"]
327
LeftLeg = Character["Left Leg"]
328
RootJoint = RootPart["RootJoint"]
329
Neck = Torso["Neck"]
330
RightShoulder = Torso["Right Shoulder"]
331
LeftShoulder = Torso["Left Shoulder"]
332
RightHip = Torso["Right Hip"]
333
LeftHip = Torso["Left Hip"]
334
335
IT = Instance.new
336
CF = CFrame.new
337
VT = Vector3.new
338
RAD = math.rad
339
C3 = Color3.new
340
UD2 = UDim2.new
341
BRICKC = BrickColor.new
342
ANGLES = CFrame.Angles
343
EULER = CFrame.fromEulerAnglesXYZ
344
COS = math.cos
345
ACOS = math.acos
346
SIN = math.sin
347
ASIN = math.asin
348
ABS = math.abs
349
MRANDOM = math.random
350
FLOOR = math.floor
351
352
--//=================================\\
353
--|| 	      USEFUL VALUES
354
--\\=================================//
355
356
Animation_Speed = 3
357
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
358
local Speed = 35
359
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
360
local NECKC0 = CF(0, 1.75, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
361
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
362
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
363
local DAMAGEMULTIPLIER = 1
364
local ANIM = "Idle"
365
local ATTACK = false
366
local EQUIPPED = false
367
local HOLD = false
368
local COMBO = 1
369
local Rooted = false
370
local SINE = 0
371
local KEYHOLD = false
372
local CHANGE = 2 / Animation_Speed
373
local WALKINGANIM = false
374
local VALUE1 = false
375
local VALUE2 = false
376
local ROBLOXIDLEANIMATION = IT("Animation")
377
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
378
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
379
--ROBLOXIDLEANIMATION.Parent = Humanoid
380
local WEAPONGUI = IT("ScreenGui", PlayerGui)
381
WEAPONGUI.Name = "Weapon GUI"
382
local Effects = IT("Folder", Character)
383
Effects.Name = "Effects"
384
local ANIMATOR = Humanoid.Animator
385
local ANIMATE = Character.Animate
386
local UNANCHOR = true
387
local PLAYSONG = true
388
local EXTRATRANS = 0
389
390
--//=================================\\
391
--\\=================================//
392
393
394
--//=================================\\
395
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
396
--\\=================================//
397
398
ArtificialHB = Instance.new("BindableEvent", script)
399
ArtificialHB.Name = "ArtificialHB"
400
401
script:WaitForChild("ArtificialHB")
402
403
frame = Frame_Speed
404
tf = 0
405
allowframeloss = false
406
tossremainder = false
407
lastframe = tick()
408
script.ArtificialHB:Fire()
409
410
game:GetService("RunService").Heartbeat:connect(function(s, p)
411
	tf = tf + s
412
	if tf >= frame then
413
		if allowframeloss then
414
			script.ArtificialHB:Fire()
415
			lastframe = tick()
416
		else
417
			for i = 1, math.floor(tf / frame) do
418
				script.ArtificialHB:Fire()
419
			end
420
		lastframe = tick()
421
		end
422
		if tossremainder then
423
			tf = 0
424
		else
425
			tf = tf - frame * math.floor(tf / frame)
426
		end
427
	end
428
end)
429
430
--//=================================\\
431
--\\=================================//
432
433
--//=================================\\
434
--|| 	      SOME FUNCTIONS
435
--\\=================================//
436
437
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
438
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
439
end
440
441
function PositiveAngle(NUMBER)
442
	if NUMBER >= 0 then
443
		NUMBER = 0
444
	end
445
	return NUMBER
446
end
447
448
function NegativeAngle(NUMBER)
449
	if NUMBER <= 0 then
450
		NUMBER = 0
451
	end
452
	return NUMBER
453
end
454
455
function Swait(NUMBER)
456
	if NUMBER == 0 or NUMBER == nil then
457
		ArtificialHB.Event:wait()
458
	else
459
		for i = 1, NUMBER do
460
			ArtificialHB.Event:wait()
461
		end
462
	end
463
end
464
465
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
466
	local NEWMESH = IT(MESH)
467
	if MESH == "SpecialMesh" then
468
		NEWMESH.MeshType = MESHTYPE
469
		if MESHID ~= "nil" and MESHID ~= "" then
470
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
471
		end
472
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
473
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
474
		end
475
	end
476
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
477
	NEWMESH.Scale = SCALE
478
	NEWMESH.Parent = PARENT
479
	return NEWMESH
480
end
481
482
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
483
	local NEWPART = IT("Part")
484
	NEWPART.formFactor = FORMFACTOR
485
	NEWPART.Reflectance = REFLECTANCE
486
	NEWPART.Transparency = TRANSPARENCY
487
	NEWPART.CanCollide = false
488
	NEWPART.Locked = true
489
	NEWPART.Anchored = true
490
	if ANCHOR == false then
491
		NEWPART.Anchored = false
492
	end
493
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
494
	NEWPART.Name = NAME
495
	NEWPART.Size = SIZE
496
	NEWPART.Position = Torso.Position
497
	NEWPART.Material = MATERIAL
498
	NEWPART:BreakJoints()
499
	NEWPART.Parent = PARENT
500
	return NEWPART
501
end
502
503
	local function weldBetween(a, b)
504
	    local weldd = Instance.new("ManualWeld")
505
	    weldd.Part0 = a
506
	    weldd.Part1 = b
507
	    weldd.C0 = CFrame.new()
508
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
509
	    weldd.Parent = a
510
	    return weldd
511
	end
512
513
514
function QuaternionFromCFrame(cf)
515
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
516
	local trace = m00 + m11 + m22
517
	if trace > 0 then 
518
		local s = math.sqrt(1 + trace)
519
		local recip = 0.5 / s
520
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
521
	else
522
		local i = 0
523
		if m11 > m00 then
524
			i = 1
525
		end
526
		if m22 > (i == 0 and m00 or m11) then
527
			i = 2
528
		end
529
		if i == 0 then
530
			local s = math.sqrt(m00 - m11 - m22 + 1)
531
			local recip = 0.5 / s
532
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
533
		elseif i == 1 then
534
			local s = math.sqrt(m11 - m22 - m00 + 1)
535
			local recip = 0.5 / s
536
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
537
		elseif i == 2 then
538
			local s = math.sqrt(m22 - m00 - m11 + 1)
539
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
540
		end
541
	end
542
end
543
 
544
function QuaternionToCFrame(px, py, pz, x, y, z, w)
545
	local xs, ys, zs = x + x, y + y, z + z
546
	local wx, wy, wz = w * xs, w * ys, w * zs
547
	local xx = x * xs
548
	local xy = x * ys
549
	local xz = x * zs
550
	local yy = y * ys
551
	local yz = y * zs
552
	local zz = z * zs
553
	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))
554
end
555
 
556
function QuaternionSlerp(a, b, t)
557
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
558
	local startInterp, finishInterp;
559
	if cosTheta >= 0.0001 then
560
		if (1 - cosTheta) > 0.0001 then
561
			local theta = ACOS(cosTheta)
562
			local invSinTheta = 1 / SIN(theta)
563
			startInterp = SIN((1 - t) * theta) * invSinTheta
564
			finishInterp = SIN(t * theta) * invSinTheta
565
		else
566
			startInterp = 1 - t
567
			finishInterp = t
568
		end
569
	else
570
		if (1 + cosTheta) > 0.0001 then
571
			local theta = ACOS(-cosTheta)
572
			local invSinTheta = 1 / SIN(theta)
573
			startInterp = SIN((t - 1) * theta) * invSinTheta
574
			finishInterp = SIN(t * theta) * invSinTheta
575
		else
576
			startInterp = t - 1
577
			finishInterp = t
578
		end
579
	end
580
	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
581
end
582
583
function Clerp(a, b, t)
584
	local qa = {QuaternionFromCFrame(a)}
585
	local qb = {QuaternionFromCFrame(b)}
586
	local ax, ay, az = a.x, a.y, a.z
587
	local bx, by, bz = b.x, b.y, b.z
588
	local _t = 1 - t
589
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
590
end
591
592
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
593
	local frame = IT("Frame")
594
	frame.BackgroundTransparency = TRANSPARENCY
595
	frame.BorderSizePixel = BORDERSIZEPIXEL
596
	frame.Position = POSITION
597
	frame.Size = SIZE
598
	frame.BackgroundColor3 = COLOR
599
	frame.BorderColor3 = BORDERCOLOR
600
	frame.Name = NAME
601
	frame.Parent = PARENT
602
	return frame
603
end
604
605
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
606
	local label = IT("TextLabel")
607
	label.BackgroundTransparency = 1
608
	label.Size = UD2(1, 0, 1, 0)
609
	label.Position = UD2(0, 0, 0, 0)
610
	label.TextColor3 = TEXTCOLOR
611
	label.TextStrokeTransparency = STROKETRANSPARENCY
612
	label.TextTransparency = TRANSPARENCY
613
	label.FontSize = TEXTFONTSIZE
614
	label.Font = TEXTFONT
615
	label.BorderSizePixel = BORDERSIZEPIXEL
616
	label.TextScaled = false
617
	label.Text = TEXT
618
	label.Name = NAME
619
	label.Parent = PARENT
620
	return label
621
end
622
623
function NoOutlines(PART)
624
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
625
end
626
627
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
628
	local NEWWELD = IT(TYPE)
629
	NEWWELD.Part0 = PART0
630
	NEWWELD.Part1 = PART1
631
	NEWWELD.C0 = C0
632
	NEWWELD.C1 = C1
633
	NEWWELD.Parent = PARENT
634
	return NEWWELD
635
end
636
637
local S = IT("Sound")
638
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
639
	local NEWSOUND = nil
640
	coroutine.resume(coroutine.create(function()
641
		NEWSOUND = S:Clone()
642
		NEWSOUND.Parent = PARENT
643
		NEWSOUND.Volume = VOLUME
644
		NEWSOUND.Pitch = PITCH
645
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
646
		NEWSOUND:play()
647
		if DOESLOOP == true then
648
			NEWSOUND.Looped = true
649
		else
650
			repeat wait(1) until NEWSOUND.Playing == false
651
			NEWSOUND:remove()
652
		end
653
	end))
654
	return NEWSOUND
655
end
656
657
function CFrameFromTopBack(at, top, back)
658
	local right = top:Cross(back)
659
	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)
660
end
661
662
--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})
663
function WACKYEFFECT(Table)
664
	local TYPE = (Table.EffectType or "Sphere")
665
	local SIZE = (Table.Size or VT(1,1,1))
666
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
667
	local TRANSPARENCY = (Table.Transparency or 0)
668
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
669
	local CFRAME = (Table.CFrame or Torso.CFrame)
670
	local MOVEDIRECTION = (Table.MoveToPos or nil)
671
	local ROTATION1 = (Table.RotationX or 0)
672
	local ROTATION2 = (Table.RotationY or 0)
673
	local ROTATION3 = (Table.RotationZ or 0)
674
	local MATERIAL = (Table.Material or "Neon")
675
	local COLOR = (Table.Color or C3(1,1,1))
676
	local TIME = (Table.Time or 45)
677
	local SOUNDID = (Table.SoundID or nil)
678
	local SOUNDPITCH = (Table.SoundPitch or nil)
679
	local SOUNDVOLUME = (Table.SoundVolume or nil)
680
	coroutine.resume(coroutine.create(function()
681
		local PLAYSSOUND = false
682
		local SOUND = nil
683
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
684
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
685
			PLAYSSOUND = true
686
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
687
		end
688
		EFFECT.Color = COLOR
689
		local MSH = nil
690
		if TYPE == "Sphere" then
691
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
692
		elseif TYPE == "Block" then
693
			MSH = IT("BlockMesh",EFFECT)
694
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
695
		elseif TYPE == "Wave" then
696
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
697
		elseif TYPE == "Ring" then
698
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
699
		elseif TYPE == "Slash" then
700
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
701
		elseif TYPE == "Round Slash" then
702
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
703
		elseif TYPE == "Swirl" then
704
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
705
		elseif TYPE == "Skull" then
706
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
707
		elseif TYPE == "Crystal" then
708
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
709
		end
710
		if MSH ~= nil then
711
			local MOVESPEED = nil
712
			if MOVEDIRECTION ~= nil then
713
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
714
			end
715
			local GROWTH = SIZE - ENDSIZE
716
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
717
			if TYPE == "Block" then
718
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
719
			else
720
				EFFECT.CFrame = CFRAME
721
			end
722
			for LOOP = 1, TIME+1 do
723
				Swait()
724
				MSH.Scale = MSH.Scale - GROWTH/TIME
725
				if TYPE == "Wave" then
726
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
727
				end
728
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
729
				if TYPE == "Block" then
730
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
731
				else
732
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
733
				end
734
				if MOVEDIRECTION ~= nil then
735
					local ORI = EFFECT.Orientation
736
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
737
					EFFECT.Orientation = ORI
738
				end
739
			end
740
			if PLAYSSOUND == false then
741
				EFFECT:remove()
742
			else
743
				repeat Swait() until EFFECT:FindFirstChild("Sound") == nil
744
				EFFECT:remove()
745
			end
746
		else
747
			if PLAYSSOUND == false then
748
				EFFECT:remove()
749
			else
750
				repeat Swait() until EFFECT:FindFirstChild("Sound") == nil
751
				EFFECT:remove()
752
			end
753
		end
754
	end))
755
end
756
757
function MakeForm(PART,TYPE)
758
	if TYPE == "Cyl" then
759
		local MSH = IT("CylinderMesh",PART)
760
	elseif TYPE == "Ball" then
761
		local MSH = IT("SpecialMesh",PART)
762
		MSH.MeshType = "Sphere"
763
	elseif TYPE == "Wedge" then
764
		local MSH = IT("SpecialMesh",PART)
765
		MSH.MeshType = "Wedge"
766
	end
767
end
768
769
Debris = game:GetService("Debris")
770
771
function CastProperRay(StartPos, EndPos, Distance, Ignore)
772
	local DIRECTION = CF(StartPos,EndPos).lookVector
773
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
774
end
775
776
local ROCK = script.Rock
777
ROCK.Parent = nil
778
function GetRock(FLOOROBJECT)
779
	local Rock = ROCK:Clone()
780
	Rock.Parent = Effects
781
	if FLOOROBJECT ~= nil then
782
		if FLOOROBJECT.Material ~= Enum.Material.Grass and FLOOROBJECT.Material ~= Enum.Material.Fabric then
783
			Rock.Material = FLOOROBJECT.Material
784
			Rock.Color = FLOOROBJECT.Color
785
		else
786
			Rock.Material = "Slate"
787
			Rock.Color = BRICKC"Dirt brown".Color
788
		end
789
	else
790
		Rock.Material = "Slate"
791
		Rock.Color = BRICKC"Dirt brown".Color
792
	end
793
	Rock.Core.Emit.Color = ColorSequence.new(Rock.Color)
794
	return Rock
795
end
796
797
local SPIKE = script.RockSpike
798
SPIKE.Parent = nil
799
function GetSpike(FLOOROBJECT)
800
	local Rock = SPIKE:Clone()
801
	Rock.Parent = Effects
802
	if FLOOROBJECT ~= nil then
803
		if FLOOROBJECT.Material ~= Enum.Material.Grass and FLOOROBJECT.Material ~= Enum.Material.Fabric then
804
			Rock.Material = FLOOROBJECT.Material
805
			Rock.Color = FLOOROBJECT.Color
806
		else
807
			Rock.Material = "Slate"
808
			Rock.Color = BRICKC"Dirt brown".Color
809
		end
810
	else
811
		Rock.Material = "Slate"
812
		Rock.Color = BRICKC"Dirt brown".Color
813
	end
814
	return Rock
815
end
816
817
local SHIELD = script.Shield
818
SHIELD.Parent = nil
819
function GetShield(FLOOROBJECT)
820
	local Rock = SHIELD:Clone()
821
	Rock.Parent = Effects
822
	if FLOOROBJECT ~= nil then
823
		Rock.Material = FLOOROBJECT.Material
824
		Rock.Color = FLOOROBJECT.Color
825
	else
826
		Rock.Material = "Slate"
827
		Rock.Color = BRICKC"Dirt brown".Color
828
	end
829
	return Rock
830
end
831
832
function RespondToImpact(Object,Rock)
833
	local BREAKABLEMATERIALS = {{Enum.Material.Glass,5,1571353313},{Enum.Material.Ice,2,151284431},{Enum.Material.Wood,1.3,131144461},{Enum.Material.WoodPlanks,1,131144461},{Enum.Material.Cobblestone,0.2,130972023}}
834
	for i = 1, #BREAKABLEMATERIALS do
835
		local MATERIAL = BREAKABLEMATERIALS[i]
836
		if Object.Material == MATERIAL[1] then
837
			local A = Rock.Size.Magnitude
838
			local B = Object.Size.Magnitude
839
			if B < A*MATERIAL[2] then
840
				WaveParticles(Object.Position,B*3,Object.Color)
841
				Object:remove()
842
				CreateSound(MATERIAL[3], Rock, 5, MRANDOM(8,12)/10, false)
843
			end
844
		end
845
	end
846
end
847
848
function WaveParticles(Position,Size,Color)
849
	local BASE = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "Shockwave", VT(0,0,0), true)
850
	BASE.CFrame = CF(Position)
851
	local A = IT("Attachment",BASE)
852
	local WAVE = script.Wave:Clone()
853
	WAVE.Parent = A
854
	WAVE.Size = NumberSequence.new(0,Size)
855
	WAVE.Color = ColorSequence.new(Color)
856
	Debris:AddItem(BASE,0.5)
857
	WAVE:Emit(1)
858
end
859
860
--//=================================\\
861
--||	     WEAPON CREATION
862
--\\=================================//
863
864
local sick = Instance.new("Sound",Character)
865
866
local PILLAR = script.Pillar
867
PILLAR.Parent = nil
868
local HOOD = script.Hood
869
HOOD.Parent = Character
870
HOOD.CFrame = Torso.CFrame*CFrame.new(0,2.2,0)
871
weldBetween(Torso,HOOD)
872
Head:ClearAllChildren()
873
Head.Transparency = 1
874
local EYE = script.Eye
875
EYE.Parent = Character
876
EYE.CFrame = Head.CFrame*CF(0,0,0)
877
EYE.Anchored = false
878
weldBetween(EYE,Head)
879
local COLLAR = script.Collar
880
COLLAR.Parent = Character
881
COLLAR.CFrame = Torso.CFrame*CF(0,1,0) * ANGLES(RAD(0), RAD(0), RAD(0))
882
weldBetween(Torso,COLLAR)
883
local BONE = script.SpinePart
884
BONE.Parent = nil
885
local TAIL = {}
886
local LASTPART = Torso
887
local SIZE = BONE.Size
888
for i = 1, 23 do
889
	local PART = BONE:Clone()
890
	PART.Anchored = false
891
	PART.Parent = Character
892
	PART.Size = SIZE*((25-i)/10)/1.6
893
	if LASTPART == Torso then
894
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-0.8,0.6)* ANGLES(RAD(-55), RAD(0), RAD(0)), CF(0, 0, 0))
895
		LASTPART = PART
896
		table.insert(TAIL,WELD)
897
	else
898
		local WELD = CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, PART, CF(0,-PART.Size.Y/1.2,-0.01), CF(0, 0, 0))
899
		LASTPART = PART
900
		table.insert(TAIL,WELD)
901
	end
902
end
903
for _, c in pairs(Character:GetChildren()) do
904
	if c:IsA("BasePart") then
905
		if c:FindFirstChildOfClass("ParticleEmitter") then
906
			c:FindFirstChildOfClass("ParticleEmitter"):remove()
907
		end
908
		if c == Head then
909
			if c:FindFirstChild("face") then
910
				c.face:remove()
911
			end
912
		end
913
	elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.ClassName == "Hat" or c.Name == "Body Colors" then
914
		c:remove()
915
	end
916
end
917
local BODY = {}
918
for _, c in pairs(Character:GetDescendants()) do
919
	if c:IsA("BasePart") and c.Name ~= "Handle" then
920
		if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
921
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
922
		end
923
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
924
	elseif c:IsA("JointInstance") then
925
		table.insert(BODY,{c,c.Parent,nil,nil,nil})
926
	end
927
end
928
for e = 1, #BODY do
929
	if BODY[e] ~= nil then
930
		local STUFF = BODY[e]
931
		local PART = STUFF[1]
932
		local PARENT = STUFF[2]
933
		local MATERIAL = STUFF[3]
934
		local COLOR = STUFF[4]
935
		local TRANSPARENCY = STUFF[5]
936
		if PART.ClassName == "Part" and PART ~= RootPart then
937
			PART.Material = MATERIAL
938
			PART.Color = COLOR
939
			PART.Transparency = TRANSPARENCY
940
		end
941
		PART.AncestryChanged:Connect(function()
942
			PART.Parent = PARENT
943
		end)
944
	end
945
end
946
function refit()
947
	Character.Parent = workspace
948
	for e = 1, #BODY do
949
		if BODY[e] ~= nil then
950
			local STUFF = BODY[e]
951
			local PART = STUFF[1]
952
			local PARENT = STUFF[2]
953
			local MATERIAL = STUFF[3]
954
			local COLOR = STUFF[4]
955
			local TRANSPARENCY = STUFF[5]
956
			if PART:IsA("BasePart") and PART ~= RootPart then
957
				PART.Material = MATERIAL
958
				PART.Color = COLOR
959
				PART.Transparency = TRANSPARENCY+EXTRATRANS
960
			end
961
			if PART.Parent ~= PARENT then
962
				Humanoid:remove()
963
				PART.Parent = PARENT
964
				Humanoid = IT("Humanoid",Character)
965
			end
966
		end
967
	end
968
end
969
970
Humanoid.Died:connect(function()
971
	refit()
972
end)
973
974
--//=================================\\
975
--||			DAMAGING
976
--\\=================================//
977
978
function ApplyDamage(Humanoid,Damage,TorsoPart)
979
	Damage = Damage * DAMAGEMULTIPLIER
980
	if Humanoid.Health ~= 0 then
981
		Humanoid.Health = Humanoid.Health - Damage
982
	end
983
end
984
985
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL,ROCK)
986
	local CHILDREN = workspace:GetDescendants()
987
	for index, CHILD in pairs(CHILDREN) do
988
		if CHILD.ClassName == "Model" and CHILD ~= Character then
989
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
990
			if HUM then
991
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
992
				if TORSO then
993
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
994
						if INSTAKILL == true or HUM.MaxHealth > 5000 then
995
							CHILD:BreakJoints()
996
						else
997
							local DMG = MRANDOM(MINDMG,MAXDMG)
998
							ApplyDamage(HUM,DMG,TORSO)
999
						end
1000
						if FLING > 0 then
1001
							for _, c in pairs(CHILD:GetChildren()) do
1002
								if c:IsA("BasePart") then
1003
									local bv = Instance.new("BodyVelocity",c) 
1004
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1005
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
1006
									Debris:AddItem(bv,0.05)
1007
								end
1008
							end
1009
						end
1010
					end
1011
				end
1012
			end
1013
		elseif CHILD:IsA("BasePart") and ROCK ~= nil then
1014
			if (CHILD.Position - POSITION).Magnitude <= RANGE then
1015
				RespondToImpact(CHILD,ROCK)
1016
			end
1017
		end
1018
	end
1019
end
1020
1021
--//=================================\\
1022
--||	ATTACK FUNCTIONS AND STUFF
1023
--\\=================================//
1024
1025
function RockExplosion(Rock,Multiplier,Survive)
1026
	local EXPLOSION = Rock.Core:FindFirstChildOfClass("ParticleEmitter")
1027
	EXPLOSION.Color = ColorSequence.new(Rock.Color)
1028
	local SIZE = (Rock.Size.Y*4)*Multiplier
1029
	EXPLOSION.Enabled = false
1030
	EXPLOSION.Speed = NumberRange.new(0,SIZE*5)
1031
	EXPLOSION.Size = NumberSequence.new(SIZE/15,0)
1032
	EXPLOSION:Emit(200,300)
1033
	WaveParticles(Rock.Position,SIZE*2,Rock.Color)
1034
	coroutine.resume(coroutine.create(function()
1035
		Rock:BreakJoints()
1036
		if Survive == nil then
1037
			Rock.Transparency = 1
1038
			Rock.CanCollide = false
1039
			Rock.Anchored = true
1040
			Debris:AddItem(Rock,5)
1041
		end
1042
		CreateSound(165970126, Rock, 2, MRANDOM(8,12)/10, false)
1043
		ApplyAoE(Rock.Position,SIZE,25,30,35,false,Rock)
1044
		local HITFLOOR,HITPOS = Raycast(Rock.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, Rock.Size.Y/2, Character)
1045
		Swait()
1046
		if HITFLOOR then
1047
			WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SIZE*7,3,SIZE*7), Transparency = 0.7, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = HITFLOOR.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1048
		end
1049
		for i = 1, 5 do
1050
			WACKYEFFECT({Time = MRANDOM(15,55), EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SIZE*5,0.2,SIZE*5), Transparency = 0.95, Transparency2 = 1, CFrame = CF(Rock.Position)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = Rock.Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1051
		end
1052
	end))
1053
end
1054
1055
function Bullet()
1056
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1057
	ATTACK = true
1058
	Rooted = true
1059
	local GYRO = IT("BodyGyro",RootPart)
1060
	GYRO.D = 2
1061
	GYRO.P = 2000
1062
	GYRO.MaxTorque = VT(0,4000000,0)
1063
	coroutine.resume(coroutine.create(function()
1064
		repeat
1065
			Swait()
1066
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1067
		until ATTACK == false
1068
		GYRO:Remove()
1069
	end))
1070
	local FLOOR = false
1071
	if HITFLOOR then
1072
		if HITFLOOR.Material ~= Enum.Material.Foil and HITFLOOR.Material ~= Enum.Material.Glass then
1073
			FLOOR = true
1074
		end
1075
	end
1076
	if FLOOR == true then
1077
		for i=0, 0.5, 0.1 / Animation_Speed do
1078
			Swait()
1079
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 2 / Animation_Speed)
1080
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
1081
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1082
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1083
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.75) * ANGLES(RAD(-30), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1084
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-30), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1085
		end
1086
		for i=0, 0.25, 0.1 / Animation_Speed do
1087
			Swait()
1088
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1089
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1090
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1091
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1092
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.9, -0.6) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1093
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1, 0) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1094
		end
1095
		local ROCKPLACED = false
1096
		local Rock = nil
1097
		if HITFLOOR.Anchored == true then
1098
			Rock = GetRock(HITFLOOR)
1099
			Rock.Core.Emit.Enabled = true
1100
			Rock.Size = VT(6,6,6)
1101
			Rock.CFrame = CF(RootPart.CFrame*CF(0,-9,-6).p,Mouse.Hit.p)
1102
			CreateSound(130972023, Rock, 2, MRANDOM(5,8)/10, false)
1103
			coroutine.resume(coroutine.create(function()
1104
				for i = 1, 30 do
1105
					Swait()
1106
					Rock.CFrame = Clerp(Rock.CFrame, CF(RootPart.CFrame*CF(0,1,-6).p,Mouse.Hit.p), 0.8 / Animation_Speed)
1107
				end
1108
				ROCKPLACED = true
1109
				Rock.Core.Emit.Enabled = false
1110
			end))
1111
		else
1112
			if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
1113
				local TORSO = HITFLOOR.Parent:FindFirstChild("Torso") or HITFLOOR.Parent:FindFirstChild("UpperTorso")
1114
				if TORSO then
1115
					Rock = TORSO
1116
					ROCK.Core:Clone().Parent = Rock
1117
				else
1118
					Rock = HITFLOOR
1119
					ROCK.Core:Clone().Parent = Rock
1120
				end
1121
			elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
1122
				local TORSO = HITFLOOR.Parent.Parent:FindFirstChild("Torso") or HITFLOOR.Parent.Parent:FindFirstChild("UpperTorso")
1123
				if TORSO then
1124
					Rock = TORSO
1125
					ROCK.Core:Clone().Parent = Rock
1126
				else
1127
					Rock = HITFLOOR
1128
					ROCK.Core:Clone().Parent = Rock
1129
				end
1130
			else
1131
				Rock = HITFLOOR
1132
				ROCK.Core:Clone().Parent = Rock
1133
			end
1134
			Rock.Anchored = true
1135
			coroutine.resume(coroutine.create(function()
1136
				for i = 1, 30 do
1137
					Swait()
1138
					Rock.CFrame = Clerp(Rock.CFrame, CF(RootPart.CFrame*CF(0,1,-6).p,Mouse.Hit.p), 0.8 / Animation_Speed)
1139
				end
1140
				ROCKPLACED = true
1141
			end))
1142
		end
1143
		for i=0, 0.1, 0.1 / Animation_Speed do
1144
			Swait()
1145
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1146
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1147
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1148
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1149
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.6) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1150
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1, 0) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1151
		end
1152
		repeat
1153
			Swait()
1154
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.25) * ANGLES(RAD(-25), RAD(0), RAD(80)), 1 / Animation_Speed)
1155
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1156
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1157
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1158
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,1.5,0), 1 / Animation_Speed)
1159
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1160
		until ROCKPLACED == true
1161
		for i=0, 0.1, 0.1 / Animation_Speed do
1162
			Swait()
1163
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1164
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1165
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1166
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1167
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1168
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1169
		end
1170
		WaveParticles(Rock.Position,12,C3(1,1,1))
1171
		CreateSound(621557962, RightLeg, 1, MRANDOM(7,9)/10, false)
1172
		coroutine.resume(coroutine.create(function()
1173
			if Rock.Parent:FindFirstChildOfClass("Humanoid") == nil then
1174
				for i = 1, 200 do
1175
					Swait()
1176
					Rock.CFrame = Rock.CFrame * CF(0,0,-1.2)
1177
					local HIT = Raycast(Rock.Position, Rock.CFrame.lookVector, Rock.Size.X/2, Character)
1178
					if HIT then
1179
						RespondToImpact(HIT,Rock)
1180
						break
1181
					end
1182
				end
1183
				RockExplosion(Rock,1)
1184
			else
1185
				for i = 1, 60 do
1186
					Swait()
1187
					Rock.CFrame = Rock.CFrame * CF(0,0,-2)
1188
					local HIT = Raycast(Rock.Position, Rock.CFrame.lookVector, 3, Character)
1189
					if HIT then
1190
						RespondToImpact(HIT,Rock)
1191
						break
1192
					end
1193
				end
1194
				RockExplosion(Rock,2)
1195
			end
1196
		end))
1197
		for i=0, 0.4, 0.1 / Animation_Speed do
1198
			Swait()
1199
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0.25) * ANGLES(RAD(-35), RAD(0), RAD(80)), 1 / Animation_Speed)
1200
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(-30)), 1 / Animation_Speed)
1201
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-32), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1202
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1203
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.6) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-65), RAD(0), RAD(0)) * CF(0,-0.3,0), 1 / Animation_Speed)
1204
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
1205
		end
1206
	else
1207
		local GRAV = IT("BodyPosition",RootPart)
1208
		GRAV.D = 250
1209
		GRAV.P = 20000
1210
		GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
1211
		GRAV.Position = RootPart.Position
1212
		local Rock = GetRock()
1213
		Rock.Size = VT(0,0,0)
1214
		Rock.CFrame = CF(RightLeg.CFrame*CF(0,-1,0).p,Mouse.Hit.p)
1215
		CreateSound(201858045, Rock, 1, MRANDOM(10,12)/10, false)
1216
		local DONEROCK = false
1217
		coroutine.resume(coroutine.create(function()
1218
			for i = 1, 15 do
1219
				Swait()
1220
				Rock.Size = Rock.Size + VT(0.1,0.1,0.1)
1221
				Rock.Size = Rock.Size * 1.1
1222
				Rock.CFrame = CF(RightLeg.CFrame*CF(0,-1-Rock.Size.Y/2,0).p,Mouse.Hit.p)
1223
			end
1224
			DONEROCK = true
1225
		end))
1226
		repeat
1227
			Swait()
1228
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-65), RAD(0), RAD(0)), 1 / Animation_Speed)
1229
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1230
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1231
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1232
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(90), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1233
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1234
		until DONEROCK == true
1235
		local LOOP = 0
1236
		for i=0, 0.2, 0.1 / Animation_Speed do
1237
			Swait()
1238
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-70), RAD(0), RAD(0)), 1 / Animation_Speed)
1239
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1240
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1241
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1242
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(130), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1243
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1244
		end
1245
		WaveParticles(Rock.Position,5,C3(1,1,1))
1246
		CreateSound(621557962, RightLeg, 1, MRANDOM(10,12)/10, false)
1247
		coroutine.resume(coroutine.create(function()
1248
			for i = 1, 300 do
1249
				Swait()
1250
				Rock.CFrame = Rock.CFrame * CF(0,0,-1.6)
1251
				local HIT = Raycast(Rock.Position, Rock.CFrame.lookVector, Rock.Size.X/2, Character)
1252
				if HIT then
1253
					RespondToImpact(HIT,Rock)
1254
					break
1255
				end
1256
			end
1257
			RockExplosion(Rock,1)
1258
		end))
1259
		for i=0, 0.3, 0.1 / Animation_Speed do
1260
			Swait()
1261
			LOOP = LOOP + 15*3
1262
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-65+(LOOP)), RAD(0), RAD(0)), 1 / Animation_Speed)
1263
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1264
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1265
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1266
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1267
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1268
		end
1269
		GRAV:remove()
1270
	end
1271
	ATTACK = false
1272
	Rooted = false
1273
end
1274
1275
function Melee()
1276
	ATTACK = true
1277
	Rooted = false
1278
	Speed = 12
1279
	repeat
1280
		Swait()
1281
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-35)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1282
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(15)), 1 / Animation_Speed)
1283
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1284
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1285
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1286
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1287
	until KEYHOLD == false
1288
	Speed = 0
1289
	local ROOT = nil
1290
	local TORS = nil
1291
	local HUMAN = nil
1292
	local DIST = 4
1293
	for i=0, 0.2, 0.1 / Animation_Speed do
1294
		Swait()
1295
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1296
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
1297
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1298
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1299
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1300
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1301
	end
1302
	for i=0, 1, 0.1 / Animation_Speed do
1303
		Swait()
1304
		local CHILDREN = workspace:GetDescendants()
1305
		for index, CHILD in pairs(CHILDREN) do
1306
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1307
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1308
				if HUM then
1309
					local TORSO = CHILD:FindFirstChild("HumanoidRootPart") or CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1310
					if TORSO and HUM.Health > 0 then
1311
						if (TORSO.Position - RightArm.Position).Magnitude <= DIST then
1312
							DIST = (TORSO.Position - RightArm.Position).Magnitude
1313
							ROOT = TORSO
1314
							HUMAN = HUM
1315
							TORS = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1316
						end
1317
					end
1318
				end
1319
			end
1320
		end
1321
		if ROOT then
1322
			break
1323
		end
1324
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
1325
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10), RAD(0), RAD(-25)), 1 / Animation_Speed)
1326
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.4) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1327
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1328
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1329
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1330
	end
1331
	if ROOT then
1332
		local POSITIONED = false
1333
		coroutine.resume(coroutine.create(function()
1334
			ROOT.Anchored = true
1335
			local POS = RootPart.CFrame*CF(0,-3,-1) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(90), RAD(0), RAD(0))
1336
			for i = 1, 25 do
1337
				ROOT.Anchored = true
1338
				Swait()
1339
				ROOT.CFrame = Clerp(ROOT.CFrame, POS, 0.8 / Animation_Speed)
1340
			end
1341
			POSITIONED = true
1342
			repeat Swait() ROOT.Anchored = true until ATTACK == false
1343
			ROOT.Anchored = false
1344
		end))
1345
		repeat
1346
			Swait()
1347
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1348
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1349
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1350
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1351
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1352
			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)
1353
		until POSITIONED == true
1354
		for i = 1, 3 do
1355
			for i=0, 0.5, 0.1 / Animation_Speed do
1356
				Swait()
1357
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 2 / Animation_Speed)
1358
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
1359
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1360
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1361
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.75) * ANGLES(RAD(50), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1362
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-30), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1363
			end
1364
			for i=0, 0.15, 0.1 / Animation_Speed do
1365
				Swait()
1366
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1367
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1368
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1369
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1370
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.9, -0.6) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1371
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1, 0) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1372
			end
1373
			local EMIT = script.Emit:Clone()
1374
			EMIT.Parent = TORS
1375
			EMIT.Size = NumberSequence.new(1,0)
1376
			EMIT:Emit(120)
1377
			Debris:AddItem(EMIT,5)
1378
			CreateSound(138186576, RightLeg, 1, MRANDOM(13,15)/10, false)
1379
			WaveParticles(TORS.Position,12,C3(1,1,1))
1380
			ApplyAoE(RightLeg.Position,8,25,35,0,false)
1381
			WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(35,3,35), Transparency = 0.2, Transparency2 = 1, CFrame = CF(TORS.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1382
			WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,4,25), Transparency = 0.2, Transparency2 = 1, CFrame = CF(TORS.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1383
			for i=0, 0.25, 0.1 / Animation_Speed do
1384
				Swait()
1385
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1386
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1387
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1388
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1389
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.9, -0.6) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1390
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1, 0) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1391
			end
1392
			if HUMAN.Health == 0 then
1393
				break
1394
			end
1395
			for i=0, 0.2, 0.1 / Animation_Speed do
1396
				Swait()
1397
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1398
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1399
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1400
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1401
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1402
				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)
1403
			end
1404
		end
1405
	end
1406
	Speed = 25
1407
	ATTACK = false
1408
	Rooted = false
1409
end
1410
1411
function Launch()
1412
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1413
	if HITFLOOR then
1414
		WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15,3,15), Transparency = 0.2, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = 138186576, SoundPitch = 1, SoundVolume = 2})
1415
		local P = PILLAR:Clone()
1416
		P.Color = HITFLOOR.Color
1417
		P.Material = HITFLOOR.Material
1418
		P.Parent = Effects
1419
		P.CFrame = CF(HITPOS-VT(0,4.5,0))
1420
		coroutine.resume(coroutine.create(function()
1421
			for i = 1, 6 do
1422
				Swait()
1423
				P.CFrame = P.CFrame * CF(0,0.9,0)
1424
			end
1425
			wait(1)
1426
			for i = 1, 45 do
1427
				Swait()
1428
				P.Transparency =P.Transparency + 1/45 
1429
			end
1430
			P:remove()
1431
		end))
1432
		RootPart.CFrame = RootPart.CFrame*CF(0,1,0)
1433
		RootPart.Velocity = VT(0,0,0)
1434
		local bv = Instance.new("BodyVelocity",RootPart) 
1435
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1436
		bv.velocity = CF(RootPart.Position,RootPart.Position+VT(0,100,0)).lookVector*350
1437
		Debris:AddItem(bv,0.1)
1438
	end
1439
end
1440
1441
function Ravage()
1442
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1443
	if HITFLOOR then
1444
		ATTACK = true
1445
		Rooted = false
1446
		for i=0, 0.3, 0.1 / Animation_Speed do
1447
			Swait()
1448
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1449
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 1 / Animation_Speed)
1450
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1451
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1452
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1453
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1454
		end
1455
		WaveParticles(RightArm.CFrame*CF(0,-1,0).p,4,C3(1,1,1))
1456
		Rooted = true
1457
		CreateSound(217767125, RightArm, 5, 1, false)
1458
		for i=0, 0.15, 0.1 / Animation_Speed do
1459
			Swait()
1460
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1 / Animation_Speed)
1461
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 1 / Animation_Speed)
1462
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(145)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1463
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1464
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1465
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1466
		end
1467
		local HOLD = true
1468
		coroutine.resume(coroutine.create(function()
1469
			repeat
1470
				Swait()
1471
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 1 / Animation_Speed)
1472
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 1 / Animation_Speed)
1473
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.2) * ANGLES(RAD(145), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1474
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1475
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1476
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1477
			until HOLD == false
1478
		end))
1479
		repeat
1480
			wait(0.3)
1481
			coroutine.resume(coroutine.create(function()
1482
				local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 15, Character)
1483
				if HITFLOOR then
1484
					if HITFLOOR.Anchored == true then
1485
						local ROCK = GetRock(HITFLOOR)
1486
						CreateSound(130972023, ROCK, 2, MRANDOM(8,12)/10, false)
1487
						ROCK.Size = VT(4,4,4)*(MRANDOM(8,12)/10)
1488
						ROCK.Core.Emit.Enabled = true
1489
						ROCK.CFrame = CF(HITPOS+VT(0,-6,0)) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))
1490
						local POS = ROCK.CFrame*CF(0,12,0)
1491
						for i = 1, 25 do
1492
							ROCK.Anchored = true
1493
							Swait()
1494
							ROCK.CFrame = Clerp(ROCK.CFrame, POS, 0.8 / Animation_Speed)
1495
						end
1496
						ROCK.Core.Emit.Enabled = false
1497
						wait(0.3)
1498
						RockExplosion(ROCK,1)
1499
					end
1500
				end
1501
			end))
1502
		until KEYHOLD == false
1503
		wait(0.5)
1504
		HOLD = false
1505
		ATTACK = false
1506
		Rooted = false
1507
	end
1508
end
1509
1510
function Shield()
1511
	ATTACK = true
1512
	Rooted = false
1513
	local GYRO = IT("BodyGyro",RootPart)
1514
	GYRO.D = 2
1515
	GYRO.P = 2000
1516
	GYRO.MaxTorque = VT(40000000000,4000000,40000000000)
1517
	local GRAV = IT("BodyPosition",RootPart)
1518
	GRAV.D = 250
1519
	GRAV.P = 20000
1520
	GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
1521
	GRAV.Position = RootPart.Position
1522
	coroutine.resume(coroutine.create(function()
1523
		repeat
1524
			Swait()
1525
			GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1526
		until ATTACK == false
1527
		GYRO:Remove()
1528
		GRAV:Remove()
1529
	end))
1530
	for i=0, 0.3, 0.1 / Animation_Speed do
1531
		Swait()
1532
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80)), 1 / Animation_Speed)
1533
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 1 / Animation_Speed)
1534
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1535
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1536
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1537
		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)
1538
	end
1539
	local Defence = GetShield()
1540
	Defence.Size = VT(0,2,0)
1541
	Defence.Parent = Effects
1542
	Defence.CFrame = RightArm.CFrame*CF(0,-6,0) * ANGLES(RAD(180), RAD(90), RAD(0))
1543
	WaveParticles(Defence.Position,12,Defence.Color)
1544
	CreateSound(201858045, Defence, 2, MRANDOM(10,12)/10, false)
1545
	local FIX = Defence.AncestryChanged:Connect(function()
1546
		Defence.Parent = Effects
1547
	end)
1548
	for i = 1, 40 do
1549
		Swait()
1550
		Defence.Size = Defence.Size + VT(0.5,0,0.7)
1551
		Defence.CFrame = RightArm.CFrame*CF(0,-6,0) * ANGLES(RAD(180), RAD(90), RAD(0))
1552
	end
1553
	repeat
1554
		Swait()
1555
		Defence.CFrame = RightArm.CFrame*CF(0,-6,0) * ANGLES(RAD(180), RAD(90), RAD(0))
1556
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(80)), 1 / Animation_Speed)
1557
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 1 / Animation_Speed)
1558
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1559
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1560
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1561
		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)
1562
	until KEYHOLD == false
1563
	FIX:Disconnect()
1564
	coroutine.resume(coroutine.create(function()
1565
		for i = 1, 40 do
1566
			Swait()
1567
			Defence.Size = Defence.Size - VT(0.5,0,0.7)
1568
		end
1569
		WaveParticles(Defence.Position,12,Defence.Color)
1570
		Defence:remove()
1571
	end))
1572
	ATTACK = false
1573
	Rooted = false
1574
end
1575
1576
function TwinMeteor()
1577
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
1578
	if HITFLOOR == nil then
1579
		ATTACK = true
1580
		Rooted = false
1581
		local GYRO = IT("BodyGyro",RootPart)
1582
		GYRO.D = 2
1583
		GYRO.P = 2000
1584
		GYRO.MaxTorque = VT(40000000000,4000000,40000000000)
1585
		local GRAV = IT("BodyPosition",RootPart)
1586
		GRAV.D = 250
1587
		GRAV.P = 20000
1588
		GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
1589
		GRAV.Position = RootPart.Position
1590
		coroutine.resume(coroutine.create(function()
1591
			repeat
1592
				Swait()
1593
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1594
			until ATTACK == false
1595
			GYRO:Remove()
1596
			GRAV:Remove()
1597
		end))
1598
		local CHARGED = false
1599
		coroutine.resume(coroutine.create(function()
1600
			repeat
1601
				Swait()
1602
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1603
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1604
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1605
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1606
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1607
				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)
1608
			until CHARGED == true
1609
		end))
1610
		local ROCK1 = GetRock()
1611
		local ROCK2 = GetRock()
1612
		local VORTEX1 = script.Vortex:Clone()
1613
		local VORTEX2 = script.Vortex:Clone()
1614
		VORTEX1.Parent = ROCK1.Core
1615
		VORTEX2.Parent = ROCK2.Core
1616
		ROCK1.Core.Emit.Enabled = true
1617
		ROCK2.Core.Emit.Enabled = true
1618
		ROCK1.CFrame = CF(RightArm.CFrame*CF(0,-1-ROCK1.Size.Y/2,0).p,Mouse.Hit.p)
1619
		ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1620
		CreateSound(1664710821, ROCK1, 10, MRANDOM(8,12)/10, false)
1621
		CreateSound(1664710821, ROCK2, 10, MRANDOM(8,12)/10, false)
1622
		for i = 1, 70 do
1623
			Swait()
1624
			ROCK1.Size = ROCK1.Size + VT(0.3,0.3,0.3)
1625
			ROCK2.Size = ROCK2.Size + VT(0.3,0.3,0.3)
1626
			ROCK1.CFrame = CF(RightArm.CFrame*CF(0,-1-ROCK1.Size.Y/2,0).p,Mouse.Hit.p)
1627
			ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1628
			VORTEX1.Size = NumberSequence.new(ROCK1.Size.Y*2,0)
1629
			VORTEX2.Size = NumberSequence.new(ROCK1.Size.Y*2,0)
1630
			VORTEX1:Emit(1)
1631
			VORTEX2:Emit(1)
1632
		end
1633
		CHARGED = true
1634
		for i=0, 1, 0.1 / Animation_Speed do
1635
			Swait()
1636
			ROCK1.CFrame = CF(RightArm.CFrame*CF(0,-1-ROCK1.Size.Y/2,0).p,Mouse.Hit.p)
1637
			ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1638
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1639
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1640
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1641
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1642
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1643
			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)
1644
		end
1645
		for i=0, 0.5, 0.1 / Animation_Speed do
1646
			Swait()
1647
			ROCK1.CFrame = CF(RightArm.CFrame*CF(0,-1-ROCK1.Size.Y/2,0).p,Mouse.Hit.p)
1648
			ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1649
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
1650
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
1651
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1652
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1653
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1654
			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)
1655
		end
1656
		coroutine.resume(coroutine.create(function()
1657
			local Rock = ROCK1
1658
			WaveParticles(Rock.Position,30,C3(1,1,1))
1659
			CreateSound(134012322, Rock, 2, MRANDOM(10,12)/10, false)
1660
			for i = 1, 200 do
1661
				Swait()
1662
				Rock.CFrame = Rock.CFrame * CF(0,0,-3.2)
1663
				local HIT = Raycast(Rock.Position, Rock.CFrame.lookVector, Rock.Size.X/2, Character)
1664
				if HIT then
1665
					RespondToImpact(HIT,Rock)
1666
					break
1667
				end
1668
			end
1669
			ApplyAoE(Rock.Position,ROCK.Size.Y,50,55,55,false)
1670
			for i = 1, 6 do
1671
				RockExplosion(Rock,1.5,true)
1672
				wait(1)
1673
			end
1674
			RockExplosion(Rock,1.5)
1675
		end))
1676
		for i=0, 1, 0.1 / Animation_Speed do
1677
			Swait()
1678
			ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1679
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
1680
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-5)), 1 / Animation_Speed)
1681
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * ANGLES(RAD(55), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1682
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1683
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1684
			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)
1685
		end
1686
		for i=0, 0.5, 0.1 / Animation_Speed do
1687
			Swait()
1688
			ROCK2.CFrame = CF(LeftArm.CFrame*CF(0,-1-ROCK2.Size.Y/2,0).p,Mouse.Hit.p)
1689
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
1690
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
1691
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1692
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1693
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1694
			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)
1695
		end
1696
		coroutine.resume(coroutine.create(function()
1697
			local Rock = ROCK2
1698
			WaveParticles(Rock.Position,30,C3(1,1,1))
1699
			CreateSound(134012322, Rock, 2, MRANDOM(10,12)/10, false)
1700
			for i = 1, 200 do
1701
				Swait()
1702
				Rock.CFrame = Rock.CFrame * CF(0,0,-3.2)
1703
				local HIT = Raycast(Rock.Position, Rock.CFrame.lookVector, Rock.Size.X/2, Character)
1704
				if HIT then
1705
					RespondToImpact(HIT,Rock)
1706
					break
1707
				end
1708
			end
1709
			ApplyAoE(Rock.Position,ROCK.Size.Y,50,55,55,false)
1710
			for i = 1, 6 do
1711
				RockExplosion(Rock,1.5,true)
1712
				wait(1)
1713
			end
1714
			RockExplosion(Rock,1.5)
1715
		end))
1716
		for i=0, 1, 0.1 / Animation_Speed do
1717
			Swait()
1718
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-35)), 1 / Animation_Speed)
1719
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
1720
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1721
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(55), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1722
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1723
			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)
1724
		end
1725
		ATTACK = false
1726
		Rooted = false
1727
	end
1728
end
1729
1730
function Spikes()
1731
	local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 12, Character)
1732
	if HITFLOOR then
1733
		ATTACK = true
1734
		Rooted = true
1735
		local GYRO = IT("BodyGyro",RootPart)
1736
		GYRO.D = 2
1737
		GYRO.P = 2000
1738
		GYRO.MaxTorque = VT(0,4000000,0)
1739
		coroutine.resume(coroutine.create(function()
1740
			repeat
1741
				Swait()
1742
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
1743
			until ATTACK == false
1744
			GYRO:Remove()
1745
		end))
1746
		for i=0, 1, 0.1 / Animation_Speed do
1747
			Swait()
1748
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 2 / Animation_Speed)
1749
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
1750
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1751
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(125), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1752
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.35, -0.75) * ANGLES(RAD(30), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1753
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-30), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
1754
		end
1755
		for i=0, 0.25, 0.1 / Animation_Speed do
1756
			Swait()
1757
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
1758
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1 / Animation_Speed)
1759
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1760
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1761
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.9, -0.6) * ANGLES(RAD(35), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1762
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1.1, 0) * ANGLES(RAD(35), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1763
		end
1764
		CreateSound(165970126, RightLeg, 1, MRANDOM(13,15)/10, false)
1765
		WaveParticles(RightLeg.CFrame*CF(0,-1,0).p,15,C3(1,1,1))
1766
		coroutine.resume(coroutine.create(function()
1767
			local CFRAME = RootPart.CFrame*CF(0,-3,0)
1768
			for i = 1, 60 do
1769
				Swait()
1770
				local SPIKE = GetSpike(HITFLOOR)
1771
				SPIKE.CFrame = CFRAME*CF(0,-11,-i*2)
1772
				ApplyAoE(CFRAME*CF(0,0,-i*2).p,4,10,35,15,false)
1773
				coroutine.resume(coroutine.create(function()
1774
					local POS = SPIKE.CFrame*CF(0,11,0)
1775
					for i = 1, 25 do
1776
						Swait()
1777
						SPIKE.CFrame = Clerp(SPIKE.CFrame, POS, 0.8 / Animation_Speed)
1778
					end
1779
					wait(0.2)
1780
					for i = 1, 45 do
1781
						Swait()
1782
						SPIKE.Transparency = SPIKE.Transparency + 1/45
1783
						SPIKE.CFrame = SPIKE.CFrame * CF(0,-2/15,0)
1784
					end
1785
					SPIKE:remove()
1786
				end))
1787
			end
1788
		end))
1789
		wait(0.3)
1790
		ATTACK = false
1791
		Rooted = false
1792
	end
1793
end
1794
1795
function TakeOnMe()
1796
	Speed = 5
1797
	local MEME = CreateSound(288703954, Effects, 2, 1, false)
1798
	ATTACK = true
1799
	Rooted = false
1800
	local DANCE = true
1801
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
1802
		if NEWKEY == "p" then
1803
			DANCE = false
1804
		end
1805
	end)
1806
	PLAYSONG = false
1807
	while true do
1808
		for i = 1, 15 do
1809
			Swait()
1810
			MEME.Parent = Effects
1811
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1812
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1813
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1814
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1815
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1816
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1817
		end
1818
		if DANCE == false then
1819
			break
1820
		end
1821
		for i = 1, 15 do
1822
			Swait()
1823
			MEME.Parent = Effects
1824
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.4+((15-i)/45)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1825
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1826
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1827
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.55, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(10)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1828
			RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1829
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1830
		end
1831
	end
1832
	PLAYSONG = true
1833
	KEY:Disconnect()
1834
	MEME:remove()
1835
	Speed = 25
1836
	ATTACK = false
1837
	Rooted = false
1838
end
1839
1840
function Noclip()
1841
	ATTACK = true
1842
	Rooted = true
1843
	UNANCHOR = false
1844
	RootPart.Anchored = true
1845
	local CLIPPING = true
1846
	local MOVEMENT = nil
1847
	CreateSound(96098241, Torso, 3, MRANDOM(9,12)/10, false)
1848
	for i = 1, 50 do
1849
		Swait()
1850
		EXTRATRANS = EXTRATRANS + 0.5/50
1851
		RootPart.CFrame = RootPart.CFrame * CF(0,(1-(i/50))/4.3,0)
1852
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1853
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1854
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1855
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1856
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1857
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1858
	end
1859
	local AURA = CreateSound(1393698948, Torso, 3, 1, true)
1860
	local KEY = Mouse.KeyDown:connect(function(NEWKEY)
1861
		if NEWKEY == "w" then
1862
			MOVEMENT = "Forward"
1863
			repeat
1864
				Swait()
1865
				RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.2)
1866
			until KEYHOLD == false
1867
		elseif NEWKEY == "s" then
1868
			MOVEMENT = "Backwards"
1869
			repeat
1870
				Swait()
1871
				RootPart.CFrame = RootPart.CFrame * CF(0,0,0.2)
1872
			until KEYHOLD == false
1873
		elseif NEWKEY == "a" then
1874
			MOVEMENT = "Strafe"
1875
			repeat
1876
				Swait()
1877
				RootPart.CFrame = RootPart.CFrame * CF(0.2,0,0)
1878
			until KEYHOLD == false
1879
		elseif NEWKEY == "d" then
1880
			MOVEMENT = "Strafe"
1881
			repeat
1882
				Swait()
1883
				RootPart.CFrame = RootPart.CFrame * CF(-0.2,0,0)
1884
			until KEYHOLD == false
1885
		elseif NEWKEY == "y" then
1886
			CLIPPING = false
1887
		end
1888
		MOVEMENT = nil
1889
	end)
1890
	local LOOP = 0
1891
	repeat
1892
		Swait()
1893
		AURA.Parent = Torso
1894
		LOOP = LOOP + 1
1895
		if LOOP >= 15 then
1896
			LOOP = 0
1897
			WaveParticles(Torso.Position,15,C3(1,1,1))
1898
			WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(15,1,15), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.5,0).p), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-2,2)*15, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
1899
		end
1900
		if MOVEMENT == nil then
1901
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1902
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1903
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1904
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1905
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1906
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1907
		elseif MOVEMENT == "Forward" then
1908
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1909
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1910
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1911
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1912
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1913
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1914
		elseif MOVEMENT == "Backwards" then
1915
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
1916
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1917
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1918
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1919
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1920
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1921
		elseif MOVEMENT == "Strafe" then
1922
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(2), RAD(0), RAD(0)), 1 / Animation_Speed)
1923
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1924
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1925
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1926
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1927
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1928
		end
1929
	until CLIPPING == false
1930
	KEY:Disconnect()
1931
	coroutine.resume(coroutine.create(function()
1932
		for i = 1, 20 do
1933
			Swait()
1934
			AURA.Volume = AURA.Volume - 3/20
1935
		end
1936
		AURA:remove()
1937
	end))
1938
	CreateSound(814168787, Torso, 1, MRANDOM(9,12)/10, false)
1939
	for i = 1, 50 do
1940
		Swait()
1941
		EXTRATRANS = EXTRATRANS - 0.5/50
1942
		RootPart.CFrame = RootPart.CFrame * CF(0,-(1-(i/50))/4.3,0)
1943
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1944
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1945
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1946
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1947
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1948
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
1949
	end
1950
	EXTRATRANS = 0
1951
	UNANCHOR = true
1952
	ATTACK = false
1953
	Rooted = false
1954
end
1955
1956
function Taunt()
1957
	ATTACK = true
1958
	Rooted = true
1959
	local TAUNT = CreateSound(159882635, Torso, 7, 1, false)
1960
	repeat
1961
		Swait()
1962
		TAUNT.Parent = Torso
1963
		TAUNT.Playing = true
1964
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1965
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(-0.02, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
1966
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1967
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1968
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1969
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1970
	until TAUNT.TimePosition >= 1.25
1971
	for i=0, 1.6, 0.1 / Animation_Speed do
1972
		Swait()
1973
		TAUNT.Parent = Torso
1974
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(5)), 1 / Animation_Speed)
1975
		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)
1976
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1977
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1978
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1979
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1980
	end
1981
	ATTACK = false
1982
	Rooted = false
1983
end
1984
1985
--//=================================\\
1986
--||	  ASSIGN THINGS TO KEYS
1987
--\\=================================//
1988
1989
function MouseDown(Mouse)
1990
	if ATTACK == false then
1991
	end
1992
end
1993
1994
function MouseUp(Mouse)
1995
HOLD = false
1996
end
1997
1998
function KeyDown(Key)
1999
	KEYHOLD = true
2000
	if Key == "z" and ATTACK == false then
2001
		Bullet()
2002
	end
2003
2004
	if Key == "b" and ATTACK == false then
2005
		Melee()
2006
	end
2007
2008
	if Key == "c" and ATTACK == false then
2009
		Launch()
2010
	end
2011
2012
	if Key == "v" and ATTACK == false then
2013
		Ravage()
2014
	end
2015
2016
	if Key == "e" and ATTACK == false then
2017
		Shield()
2018
	end
2019
2020
	if Key == "q" and ATTACK == false then
2021
		Spikes()
2022
	end
2023
2024
	if Key == "x" and ATTACK == false then
2025
		TwinMeteor()
2026
	end
2027
2028
	if Key == "y" and ATTACK == false then
2029
		Noclip()
2030
	end
2031
2032
	if Key == "p" and ATTACK == false then
2033
		TakeOnMe()
2034
	end
2035
2036
	if Key == "t" and ATTACK == false then
2037
		Taunt()
2038
	end
2039
2040
	if Key == "]" and ATTACK == false then
2041
		if PLAYSONG == true then
2042
			PLAYSONG = false
2043
		else
2044
			PLAYSONG = true
2045
		end
2046
	end
2047
end
2048
2049
function KeyUp(Key)
2050
	KEYHOLD = false
2051
end
2052
2053
	Mouse.Button1Down:connect(function(NEWKEY)
2054
		MouseDown(NEWKEY)
2055
	end)
2056
	Mouse.Button1Up:connect(function(NEWKEY)
2057
		MouseUp(NEWKEY)
2058
	end)
2059
	Mouse.KeyDown:connect(function(NEWKEY)
2060
		KeyDown(NEWKEY)
2061
	end)
2062
	Mouse.KeyUp:connect(function(NEWKEY)
2063
		KeyUp(NEWKEY)
2064
	end)
2065
2066
--//=================================\\
2067
--\\=================================//
2068
2069
function AntiTimeStop()
2070
	for _, c in pairs(Character:GetChildren()) do
2071
		if c:IsA("BasePart") and c ~= RootPart then
2072
			c.Anchored = false
2073
		end
2074
	end
2075
	if UNANCHOR == true then
2076
		RootPart.Anchored = false
2077
	else
2078
		RootPart.Anchored = true
2079
	end
2080
end
2081
2082
--//=================================\\
2083
--||	WRAP THE WHOLE SCRIPT UP
2084
--\\=================================//
2085
2086
Humanoid.Changed:connect(function(Jump)
2087
	if Jump == "Jump" and (Disable_Jump == true) then
2088
		Humanoid.Jump = false
2089
	end
2090
end)
2091
2092
while true do
2093
	Swait()
2094
	Head:ClearAllChildren()
2095
	script.Parent = WEAPONGUI
2096
	ANIMATE.Parent = nil
2097
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
2098
	    v:Stop();
2099
	end
2100
	if Character:FindFirstChildOfClass("Humanoid") == nil then
2101
		Humanoid = IT("Humanoid",Character)
2102
	end
2103
	SINE = SINE + CHANGE
2104
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2105
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2106
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
2107
	local WALKSPEEDVALUE = 4
2108
	Neck.C1 = Clerp(Neck.C1, CF(0, 0, 0.03) * ANGLES(RAD(90), RAD(180), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(180)) , 1 / Animation_Speed)
2109
	if ANIM == "Walk" and TORSOVELOCITY > 1 and PLAYSONG == true  then
2110
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2111
		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)
2112
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2- 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(65 * COS(SINE / WALKSPEEDVALUE))), 0.5 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2113
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(65 * COS(SINE / WALKSPEEDVALUE))), 0.5 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2114
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or PLAYSONG == false then
2115
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2116
		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)
2117
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2118
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2119
	end
2120
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2121
		ANIM = "Jump"
2122
		if ATTACK == false then
2123
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
2124
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
2125
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2126
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2127
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
2128
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
2129
		end
2130
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
2131
		ANIM = "Fall"
2132
		if ATTACK == false then
2133
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2134
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2135
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2136
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
2137
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
2138
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
2139
		end
2140
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2141
		ANIM = "Idle"
2142
		if ATTACK == false then
2143
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2144
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
2145
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.1, 0.5, -0.45) * ANGLES(RAD(110), RAD(0), RAD(-80)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2146
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.1, 0.15, -0.45) * ANGLES(RAD(80), RAD(0), RAD(80)) * ANGLES(RAD(0), RAD(45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2147
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2148
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2149
		end
2150
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2151
		ANIM = "Walk"
2152
		if ATTACK == false then
2153
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
2154
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, -0.025, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
2155
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(50 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(-15), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2156
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-50 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
2157
			RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2158
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
2159
		end
2160
	end
2161
	for _, c in pairs(Character:GetChildren()) do
2162
		if c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
2163
			c:remove()
2164
		end
2165
	end
2166
	AntiTimeStop()
2167
	Humanoid.MaxHealth = 10e10
2168
	Humanoid.Health = 10e10
2169
	if Rooted == false then
2170
		Disable_Jump = false
2171
		Humanoid.WalkSpeed = Speed
2172
	elseif Rooted == true then
2173
		Disable_Jump = true
2174
		Humanoid.WalkSpeed = 0
2175
	end
2176
	for E = 1, #TAIL do
2177
		TAIL[E].C1 = Clerp(TAIL[E].C1,CF(0, 0, 0) * ANGLES(RAD(5-1 * SIN(SINE / 12)), RAD(-2 * COS(SINE / 24)), RAD(4 * SIN(SINE / 24))), 1 / Animation_Speed)
2178
	end
2179
	sick.SoundId = "rbxassetid://0"
2180
	sick.Looped = true
2181
	sick.Pitch = 1
2182
	sick.Volume = 2
2183
	sick.Parent = Effects
2184
	sick.Playing = PLAYSONG
2185
	Humanoid.PlatformStand = false
2186
	Humanoid.Name = "I am the god of earth"
2187
	refit()
2188
	if Character:FindFirstChild("Pants") == nil then
2189
		script.Pants:Clone().Parent = Character
2190
	end
2191
	if Character:FindFirstChild("Shirt") == nil then
2192
		script.Shirt:Clone().Parent = Character
2193
	end
2194
	for _, c in pairs(Character:GetChildren()) do
2195
		if c:IsA("BasePart") and ATTACK == false then
2196
			for _, e in pairs(c:GetChildren()) do
2197
				if e:IsA("ParticleEmitter") or e:IsA("BodyPosition") or e:IsA("BodyGyro") then
2198
					e:remove()
2199
				end
2200
			end
2201
		end
2202
	end
2203
end
2204
2205
--//=================================\\
2206
--\\=================================//
2207
2208
2209
2210
2211
2212
--//====================================================\\--
2213
--||			  		 END OF SCRIPT
2214
--\\====================================================//--