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