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