View difference between Paste ID: f3dgFPxt and EEsr6UzM
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
--https://github.com/Mokiros/roblox-FE-compatibility
6
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
7
local Player,game,owner = owner,game
8
local RealPlayer = Player
9
do
10
	print("FE Compatibility code V2 by Mokiros")
11
	local RealPlayer = RealPlayer
12
	script.Parent = RealPlayer.Character
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local Disconnect_Function = function(this)
16
		this[1].Functions[this[2]] = nil
17
	end
18
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
19
	local FakeEvent_Metatable = {__index={
20
		Connect = function(this,f)
21
			local i = tostring(math.random(0,10000))
22
			while this.Functions[i] do
23
				i = tostring(math.random(0,10000))
24
			end
25
			this.Functions[i] = f
26
			return setmetatable({this,i},Disconnect_Metatable)
27
		end
28
	}}
29
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
30
	local function fakeEvent()
31
		return setmetatable({Functions={}},FakeEvent_Metatable)
32
	end
33
34
	--Creating fake input objects with fake variables
35
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
36
    FakeMouse.keyUp = FakeMouse.KeyUp
37
    FakeMouse.keyDown = FakeMouse.KeyDown
38
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
39
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
40
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
41
	end}
42
	--Merged 2 functions into one by checking amount of arguments
43
	CAS.UnbindAction = CAS.BindAction
44
45
	--This function will trigger the events that have been :Connect()'ed
46
	local function TriggerEvent(self,ev,...)
47
		for _,f in pairs(self[ev].Functions) do
48
			f(...)
49
		end
50
	end
51
	FakeMouse.TriggerEvent = TriggerEvent
52
	UIS.TriggerEvent = TriggerEvent
53
54
	--Client communication
55
	local Event = Instance.new("RemoteEvent")
56
	Event.Name = "UserInput_Event"
57
	Event.OnServerEvent:Connect(function(plr,io)
58
	    if plr~=RealPlayer then return end
59
		FakeMouse.Target = io.Target
60
		FakeMouse.Hit = io.Hit
61
		if not io.isMouse then
62
			local b = io.UserInputState == Enum.UserInputState.Begin
63
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
64
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
65
			end
66
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
67
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
68
			end
69
			for _,t in pairs(CAS.Actions) do
70
				for _,k in pairs(t.Keys) do
71
					if k==io.KeyCode then
72
						t.Function(t.Name,io.UserInputState,io)
73
					end
74
				end
75
			end
76
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
77
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
78
	    end
79
	end)
80
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
81
	local Mouse = owner:GetMouse()
82
	local UIS = game:GetService("UserInputService")
83
	local input = function(io,RobloxHandled)
84
		if RobloxHandled then return end
85
		--Since InputObject is a client-side instance, we create and pass table instead
86
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
87
	end
88
	UIS.InputBegan:Connect(input)
89
	UIS.InputEnded:Connect(input)
90
	local h,t
91
	--Give the server mouse data every second frame, but only if the values changed
92
	--If player is not moving their mouse, client won't fire events
93
	local HB = game:GetService("RunService").Heartbeat
94
	while true do
95
		if h~=Mouse.Hit or t~=Mouse.Target then
96
			h,t=Mouse.Hit,Mouse.Target
97
			Event:FireServer({isMouse=true,Target=t,Hit=h})
98
		end
99
		--Wait 2 frames
100
		for i=1,2 do
101
			HB:Wait()
102
		end
103
	end]==],script)
104
105
	----Sandboxed game object that allows the usage of client-side methods and services
106
	--Real game object
107
	local RealGame = game
108
109
	--Metatable for fake service
110
	local FakeService_Metatable = {
111
		__index = function(self,k)
112
			local s = rawget(self,"_RealService")
113
			if s then
114
				return typeof(s[k])=="function"
115
				and function(_,...)return s[k](s,...)end or s[k]
116
			end
117
		end,
118
		__newindex = function(self,k,v)
119
			local s = rawget(self,"_RealService")
120
			if s then s[k]=v end
121
		end
122
	}
123
	local function FakeService(t,RealService)
124
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
125
		return setmetatable(t,FakeService_Metatable)
126
	end
127
128
	--Fake game object
129
	local FakeGame = {
130
		GetService = function(self,s)
131
			return rawget(self,s) or RealGame:GetService(s)
132
		end,
133
		Players = FakeService({
134
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
135
		},"Players"),
136
		UserInputService = FakeService(UIS,"UserInputService"),
137
		ContextActionService = FakeService(CAS,"ContextActionService"),
138
		RunService = FakeService({
139
			_btrs = {},
140
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
141
			BindToRenderStep = function(self,name,_,fun)
142
				self._btrs[name] = self.Heartbeat:Connect(fun)
143
			end,
144
			UnbindFromRenderStep = function(self,name)
145
				self._btrs[name]:Disconnect()
146
			end,
147
		},"RunService")
148
	}
149
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
150
	FakeGame.service = FakeGame.GetService
151
	FakeService(FakeGame,game)
152
	--Changing owner to fake player object to support owner:GetMouse()
153
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
154
end
155
156
wait(0.2)
157
158
159
160
Player = game:GetService("Players").LocalPlayer
161
PlayerGui = Player.PlayerGui
162
Cam = workspace.CurrentCamera
163
Backpack = Player.Backpack
164
Character = Player.Character
165
Humanoid = Character.Humanoid
166
Mouse = Player:GetMouse()
167
RootPart = Character["HumanoidRootPart"]
168
Torso = Character["Torso"]
169
Head = Character["Head"]
170
RightArm = Character["Right Arm"]
171
LeftArm = Character["Left Arm"]
172
RightLeg = Character["Right Leg"]
173
LeftLeg = Character["Left Leg"]
174
RootJoint = RootPart["RootJoint"]
175
Neck = Torso["Neck"]
176
RightShoulder = Torso["Right Shoulder"]
177
LeftShoulder = Torso["Left Shoulder"]
178
RightHip = Torso["Right Hip"]
179
LeftHip = Torso["Left Hip"]
180
local sick = Instance.new("Sound",Character)
181
sick.SoundId = "rbxassetid://965804171"
182
sick.Looped = true
183
sick.Pitch = 1
184
sick.Volume = 1
185
sick:Play()
186
local sick2 = Instance.new("Sound",Character)
187
sick2.SoundId = "rbxassetid://590156873"
188
sick2.Looped = true
189
sick2.Pitch = 1
190
sick2.Volume = 3
191
Humanoid.DisplayDistanceType = "None"
192
193
IT = Instance.new
194
CF = CFrame.new
195
VT = Vector3.new
196
RAD = math.rad
197
C3 = Color3.new
198
UD2 = UDim2.new
199
BRICKC = BrickColor.new
200
ANGLES = CFrame.Angles
201
EULER = CFrame.fromEulerAnglesXYZ
202
COS = math.cos
203
ACOS = math.acos
204
SIN = math.sin
205
ASIN = math.asin
206
ABS = math.abs
207
MRANDOM = math.random
208
FLOOR = math.floor
209
210
local naeeym2 = Instance.new("BillboardGui",Character)
211
naeeym2.AlwaysOnTop = true
212
naeeym2.Size = UDim2.new(5,35,2,35)
213
naeeym2.StudsOffset = Vector3.new(0,3,0)
214
naeeym2.Adornee = Character.Head
215
naeeym2.Name = "Name"
216
naeeym2.PlayerToHideFrom = Player
217
local tecks2 = Instance.new("TextLabel",naeeym2)
218
tecks2.BackgroundTransparency = 1
219
tecks2.TextScaled = true
220
tecks2.BorderSizePixel = 0
221
tecks2.Text = Player.Name
222
tecks2.Font = "Fantasy"
223
tecks2.TextSize = 20
224
tecks2.TextStrokeTransparency = 1
225
tecks2.TextColor3 = Color3.new(0,0,0)
226
tecks2.TextStrokeColor3 = Color3.new(1,0,0)
227
tecks2.Size = UDim2.new(1,0,0.5,0)
228
tecks2.Parent = naeeym2
229
230
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
231
	local NEWMESH = IT(MESH)
232
	if MESH == "SpecialMesh" then
233
		NEWMESH.MeshType = MESHTYPE
234
		if MESHID ~= "nil" and MESHID ~= "" then
235
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
236
		end
237
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
238
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
239
		end
240
	end
241
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
242
	NEWMESH.Scale = SCALE
243
	NEWMESH.Parent = PARENT
244
	return NEWMESH
245
end
246
247
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
248
	local NEWPART = IT("Part")
249
	NEWPART.formFactor = FORMFACTOR
250
	NEWPART.Reflectance = REFLECTANCE
251
	NEWPART.Transparency = TRANSPARENCY
252
	NEWPART.CanCollide = false
253
	NEWPART.Locked = true
254
	NEWPART.Anchored = true
255
	if ANCHOR == false then
256
		NEWPART.Anchored = false
257
	end
258
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
259
	NEWPART.Name = NAME
260
	NEWPART.Size = SIZE
261
	NEWPART.Position = Torso.Position
262
	NEWPART.Material = MATERIAL
263
	NEWPART:BreakJoints()
264
	NEWPART.Parent = PARENT
265
	return NEWPART
266
end
267
268
--//=================================\\
269
--||		  CUSTOMIZATION
270
--\\=================================//
271
272
Player_Size = 1 --Size of the player.
273
Animation_Speed = 3
274
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
275
276
local Speed = 16
277
local Effects2 = {}
278
279
--//=================================\\
280
--|| 	  END OF CUSTOMIZATION
281
--\\=================================//
282
283
	local function weldBetween(a, b)
284
	    local weldd = Instance.new("ManualWeld")
285
	    weldd.Part0 = a
286
	    weldd.Part1 = b
287
	    weldd.C0 = CFrame.new()
288
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
289
	    weldd.Parent = a
290
	    return weldd
291
	end
292
293
--//=================================\\
294
--|| 	      USEFUL VALUES
295
--\\=================================//
296
297
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
298
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
299
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
300
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
301
local CHANGEDEFENSE = 0
302
local CHANGEDAMAGE = 0
303
local CHANGEMOVEMENT = 0
304
local ANIM = "Idle"
305
local ATTACK = false
306
local EQUIPPED = false
307
local HOLD = false
308
local COMBO = 1
309
local Rooted = false
310
local SINE = 0
311
local KEYHOLD = false
312
local CHANGE = 2 / Animation_Speed
313
local WALKINGANIM = false
314
local WALK = 0
315
local VALUE1 = false
316
local VALUE2 = "Normal"
317
local ROBLOXIDLEANIMATION = IT("Animation")
318
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
319
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
320
--ROBLOXIDLEANIMATION.Parent = Humanoid
321
local WEAPONGUI = IT("ScreenGui", PlayerGui)
322
WEAPONGUI.Name = "Weapon GUI"
323
local Weapon = IT("Model")
324
Weapon.Name = "Adds"
325
local Effects = IT("Folder", Weapon)
326
Effects.Name = "Effects"
327
local ANIMATOR = Humanoid.Animator
328
local ANIMATE = Character.Animate
329
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
330
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
331
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
332
local HITBLOCKSOUNDS = {"199148933", "199148947"}
333
local UNANCHOR = true
334
335
local SKILLTEXTCOLOR = C3(0.3,0,0.4)
336
337
--//=================================\\
338
--\\=================================//
339
340
341
--//=================================\\
342
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
343
--\\=================================//
344
345
ArtificialHB = Instance.new("BindableEvent", script)
346
ArtificialHB.Name = "ArtificialHB"
347
348
script:WaitForChild("ArtificialHB")
349
350
frame = Frame_Speed
351
tf = 0
352
allowframeloss = false
353
tossremainder = false
354
lastframe = tick()
355
script.ArtificialHB:Fire()
356
357
game:GetService("RunService").Heartbeat:connect(function(s, p)
358
	tf = tf + s
359
	if tf >= frame then
360
		if allowframeloss then
361
			script.ArtificialHB:Fire()
362
			lastframe = tick()
363
		else
364
			for i = 1, math.floor(tf / frame) do
365
				script.ArtificialHB:Fire()
366
			end
367
		lastframe = tick()
368
		end
369
		if tossremainder then
370
			tf = 0
371
		else
372
			tf = tf - frame * math.floor(tf / frame)
373
		end
374
	end
375
end)
376
377
--//=================================\\
378
--\\=================================//
379
380
381
382
383
384
--//=================================\\
385
--|| 	      SOME FUNCTIONS
386
--\\=================================//
387
388
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
389
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
390
end
391
392
function PositiveAngle(NUMBER)
393
	if NUMBER >= 0 then
394
		NUMBER = 0
395
	end
396
	return NUMBER
397
end
398
399
function NegativeAngle(NUMBER)
400
	if NUMBER <= 0 then
401
		NUMBER = 0
402
	end
403
	return NUMBER
404
end
405
406
function Swait(NUMBER)
407
	if NUMBER == 0 or NUMBER == nil then
408
		ArtificialHB.Event:wait()
409
	else
410
		for i = 1, NUMBER do
411
			ArtificialHB.Event:wait()
412
		end
413
	end
414
end
415
416
function QuaternionFromCFrame(cf)
417
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
418
	local trace = m00 + m11 + m22
419
	if trace > 0 then 
420
		local s = math.sqrt(1 + trace)
421
		local recip = 0.5 / s
422
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
423
	else
424
		local i = 0
425
		if m11 > m00 then
426
			i = 1
427
		end
428
		if m22 > (i == 0 and m00 or m11) then
429
			i = 2
430
		end
431
		if i == 0 then
432
			local s = math.sqrt(m00 - m11 - m22 + 1)
433
			local recip = 0.5 / s
434
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
435
		elseif i == 1 then
436
			local s = math.sqrt(m11 - m22 - m00 + 1)
437
			local recip = 0.5 / s
438
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
439
		elseif i == 2 then
440
			local s = math.sqrt(m22 - m00 - m11 + 1)
441
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
442
		end
443
	end
444
end
445
 
446
function QuaternionToCFrame(px, py, pz, x, y, z, w)
447
	local xs, ys, zs = x + x, y + y, z + z
448
	local wx, wy, wz = w * xs, w * ys, w * zs
449
	local xx = x * xs
450
	local xy = x * ys
451
	local xz = x * zs
452
	local yy = y * ys
453
	local yz = y * zs
454
	local zz = z * zs
455
	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))
456
end
457
 
458
function QuaternionSlerp(a, b, t)
459
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
460
	local startInterp, finishInterp;
461
	if cosTheta >= 0.0001 then
462
		if (1 - cosTheta) > 0.0001 then
463
			local theta = ACOS(cosTheta)
464
			local invSinTheta = 1 / SIN(theta)
465
			startInterp = SIN((1 - t) * theta) * invSinTheta
466
			finishInterp = SIN(t * theta) * invSinTheta
467
		else
468
			startInterp = 1 - t
469
			finishInterp = t
470
		end
471
	else
472
		if (1 + cosTheta) > 0.0001 then
473
			local theta = ACOS(-cosTheta)
474
			local invSinTheta = 1 / SIN(theta)
475
			startInterp = SIN((t - 1) * theta) * invSinTheta
476
			finishInterp = SIN(t * theta) * invSinTheta
477
		else
478
			startInterp = t - 1
479
			finishInterp = t
480
		end
481
	end
482
	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
483
end
484
485
function Clerp(a, b, t)
486
	local qa = {QuaternionFromCFrame(a)}
487
	local qb = {QuaternionFromCFrame(b)}
488
	local ax, ay, az = a.x, a.y, a.z
489
	local bx, by, bz = b.x, b.y, b.z
490
	local _t = 1 - t
491
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
492
end
493
494
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
495
	local frame = IT("Frame")
496
	frame.BackgroundTransparency = TRANSPARENCY
497
	frame.BorderSizePixel = BORDERSIZEPIXEL
498
	frame.Position = POSITION
499
	frame.Size = SIZE
500
	frame.BackgroundColor3 = COLOR
501
	frame.BorderColor3 = BORDERCOLOR
502
	frame.Name = NAME
503
	frame.Parent = PARENT
504
	return frame
505
end
506
507
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
508
	local label = IT("TextLabel")
509
	label.BackgroundTransparency = 1
510
	label.Size = UD2(1, 0, 1, 0)
511
	label.Position = UD2(0, 0, 0, 0)
512
	label.TextColor3 = TEXTCOLOR
513
	label.TextStrokeTransparency = STROKETRANSPARENCY
514
	label.TextTransparency = TRANSPARENCY
515
	label.FontSize = TEXTFONTSIZE
516
	label.Font = TEXTFONT
517
	label.BorderSizePixel = BORDERSIZEPIXEL
518
	label.TextScaled = false
519
	label.Text = TEXT
520
	label.Name = NAME
521
	label.Parent = PARENT
522
	return label
523
end
524
525
function NoOutlines(PART)
526
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
527
end
528
529
530
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
531
	local NEWWELD = IT(TYPE)
532
	NEWWELD.Part0 = PART0
533
	NEWWELD.Part1 = PART1
534
	NEWWELD.C0 = C0
535
	NEWWELD.C1 = C1
536
	NEWWELD.Parent = PARENT
537
	return NEWWELD
538
end
539
540
local SOUND = IT("Sound",nil)
541
542
function CreateSound(ID, PARENT, VOLUME, PITCH)
543
	local NEWSOUND = nil
544
	coroutine.resume(coroutine.create(function()
545
		NEWSOUND = SOUND:Clone()
546
		NEWSOUND.Parent = PARENT
547
		NEWSOUND.Volume = VOLUME
548
		NEWSOUND.Pitch = PITCH
549
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
550
		Swait()
551
		NEWSOUND:play()
552
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
553
	end))
554
	return NEWSOUND
555
end
556
557
function CFrameFromTopBack(at, top, back)
558
	local right = top:Cross(back)
559
	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)
560
end
561
562
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
563
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
564
	local mesh = IT("SpecialMesh",wave)
565
	mesh.MeshType = "FileMesh"
566
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
567
	mesh.Scale = SIZE
568
	mesh.Offset = VT(0,0,-SIZE.X/8)
569
	wave.CFrame = CFRAME
570
	coroutine.resume(coroutine.create(function(PART)
571
		for i = 1, WAIT do
572
			Swait()
573
			mesh.Scale = mesh.Scale + GROW
574
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
575
			if DOESROT == true then
576
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
577
			end
578
			wave.Transparency = wave.Transparency + (0.5/WAIT)
579
			if wave.Transparency > 0.99 then
580
				wave:remove()
581
			end
582
		end
583
	end))
584
end
585
586
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW,DOESTRAIL)
587
	local wave = CreatePart(3, Effects, "Neon", 0, 0.8, BRICKC(COLOR), "Effect", VT(0,0,0))
588
	local mesh = IT("SpecialMesh",wave)
589
	mesh.MeshType = "FileMesh"
590
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
591
	mesh.Scale = SIZE
592
	wave.CFrame = CFRAME
593
	coroutine.resume(coroutine.create(function(PART)
594
		for i = 1, WAIT do
595
			Swait()
596
			if DOESTRAIL == true then
597
				Trail(wave)
598
			end
599
			mesh.Scale = mesh.Scale + GROW
600
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
601
			if DOESROT == true then
602
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
603
			end
604
			wave.Transparency = wave.Transparency + (0.2/WAIT)
605
			if wave.Transparency > 0.99 then
606
				wave:remove()
607
			end
608
		end
609
	end))
610
end
611
612
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
613
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
614
	local mesh = IT("SpecialMesh",wave)
615
	mesh.MeshType = "Sphere"
616
	mesh.Scale = SIZE
617
	mesh.Offset = VT(0,0,0)
618
	wave.CFrame = CFRAME
619
	coroutine.resume(coroutine.create(function(PART)
620
		for i = 1, WAIT do
621
			Swait()
622
			mesh.Scale = mesh.Scale + GROW
623
			wave.Transparency = wave.Transparency + (1/WAIT)
624
			if wave.Transparency > 0.99 then
625
				wave:remove()
626
			end
627
		end
628
	end))
629
end
630
631
function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
632
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
633
	local mesh = IT("BlockMesh",wave)
634
	wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
635
	coroutine.resume(coroutine.create(function(PART)
636
		for i = 1, WAIT do
637
			Swait()
638
			mesh.Scale = mesh.Scale + GROW
639
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
640
			wave.Transparency = wave.Transparency + (0.5/WAIT)
641
			if wave.Transparency > 0.99 then
642
				wave:remove()
643
			end
644
		end
645
	end))
646
end
647
648
function MakeForm(PART,TYPE)
649
	if TYPE == "Cyl" then
650
		local MSH = IT("CylinderMesh",PART)
651
	elseif TYPE == "Ball" then
652
		local MSH = IT("SpecialMesh",PART)
653
		MSH.MeshType = "Sphere"
654
	elseif TYPE == "Wedge" then
655
		local MSH = IT("SpecialMesh",PART)
656
		MSH.MeshType = "Wedge"
657
	end
658
end
659
660
function CheckTableForString(Table, String)
661
	for i, v in pairs(Table) do
662
		if string.find(string.lower(String), string.lower(v)) then
663
			return true
664
		end
665
	end
666
	return false
667
end
668
669
function CheckIntangible(Hit)
670
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
671
	if Hit and Hit.Parent then
672
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
673
			return true
674
		end
675
	end
676
	return false
677
end
678
679
Debris = game:GetService("Debris")
680
681
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
682
	local Direction = CFrame.new(StartPos, Vec).lookVector
683
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
684
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
685
	if RayHit and CheckIntangible(RayHit) then
686
		if DelayIfHit then
687
			wait()
688
		end
689
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
690
	end
691
	return RayHit, RayPos, RayNormal
692
end
693
694
function turnto(position)
695
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
696
end
697
698
--//=================================\\
699
--||	     WEAPON CREATION
700
--\\=================================//
701
702
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Royal purple", "Wistband part", VT(1.015,0.15,1.015),false)
703
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
704
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(1.035,0.1,1.035),false)
705
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.35, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
706
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(1.035,0.1,1.035),false)
707
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.45, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
708
MakeForm(part,"Wedge")
709
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(1.025,0.05,1.025),false)
710
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.22, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
711
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(1.025,0.1,1.025),false)
712
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0, -0.15, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(0, 0, 0))
713
MakeForm(part,"Wedge")
714
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(0.8,0.05,0.8),false)
715
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.5, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
716
MakeForm(part,"Cyl")
717
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Royal purple", "Wistband part", VT(0.81,0.05,0.81),false)
718
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.49, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
719
MakeForm(part,"Cyl")
720
local part = CreatePart(3, Weapon, "Marble", 0, 0, "Pearl", "Wistband part", VT(0.5,0.05,0.5),false)
721
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.51, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
722
MakeForm(part,"Cyl")
723
local blade = CreatePart(3, Weapon, "Marble", 0, 0, "Really black", "Wistband part", VT(0.5,0.05,0.5),false)
724
local armweld = CreateWeldOrSnapOrMotor("Weld", blade, RightArm, blade, CF(0.52, -0.306, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
725
CreateMesh("SpecialMesh", blade, "FileMesh", "340607397", "", VT(0.35,0.35,0.35), VT(-0.015, 0, -0.05))
726
local part = CreatePart(3, Weapon, "Marble", 0, 0, "Pearl", "Wistband part", VT(0.2,0.05,0.2),false)
727
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.52, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
728
MakeForm(part,"Ball")
729
local part = CreatePart(3, Weapon, "Cobblestone", 0, 0, "Really black", "Wistband part", VT(0.15,0.06,0.15),false)
730
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.52, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
731
MakeForm(part,"Ball")
732
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Royal purple", "Wistband part", VT(0.1,0.07,0.1),false)
733
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.52, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
734
MakeForm(part,"Ball")
735
736
for _, c in pairs(Weapon:GetChildren()) do
737
	if c.ClassName == "Part" then
738
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
739
	end
740
end
741
742
Weapon.Parent = Character
743
744
Humanoid.Died:connect(function()
745
	ATTACK = true
746
end)
747
748
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
749
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
750
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
751
local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
752
753
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Darkage Shurikens", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 1")
754
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Darkage Surge", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 2")
755
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Shadow Sneak", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 3")
756
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Rage of Darkage", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 4")
757
758
--//=================================\\
759
--||	     DAMAGE FUNCTIONS
760
--\\=================================//
761
762
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
763
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
764
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
765
	local BODYGYRO = IT("BodyGyro", STATPART)
766
	local BODYPOSITION = IT("BodyPosition", STATPART)
767
	BODYPOSITION.P = 2000
768
	BODYPOSITION.D = 100
769
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
770
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
771
	game:GetService("Debris"):AddItem(STATPART ,5)
772
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
773
	BILLBOARDGUI.Adornee = STATPART
774
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
775
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
776
	BILLBOARDGUI.AlwaysOnTop = false
777
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
778
	TEXTLABEL.BackgroundTransparency = 1
779
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
780
	TEXTLABEL.Text = TEXT
781
	TEXTLABEL.Font = "Fantasy"
782
	TEXTLABEL.FontSize="Size42"
783
	TEXTLABEL.TextColor3 = COLOR
784
	TEXTLABEL.TextStrokeTransparency = 1
785
	TEXTLABEL.TextScaled = true
786
	TEXTLABEL.TextWrapped = true
787
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
788
		if LABELTYPE == "Normal" then
789
			for i = 1, 30 do
790
				Swait()
791
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
792
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
793
			end
794
		elseif LABELTYPE == "Debuff" then
795
			for i = 1, 30 do
796
				Swait()
797
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
798
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
799
			end
800
		elseif LABELTYPE == "Shock" then
801
			local ORIGIN = STATPART.Position
802
			for i = 1, 30 do
803
				Swait()
804
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
805
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
806
			end
807
		end
808
		THEPART.Parent = nil
809
	end),STATPART, BODYPOSITION, TEXTLABEL)
810
end
811
812
--//=================================\\
813
--||			DAMAGING
814
--\\=================================//
815
816
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
817
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
818
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
819
		local dmg = math.random(min,max)
820
		if humanoid.Health > 0 then
821
			if beserk == true then
822
				humanoid.Health = 0
823
			else
824
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
825
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
826
				if math.random(1,100) < critrate+1 then
827
					humanoid.Health = humanoid.Health - dmg*critmultiplier
828
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
829
				else
830
					humanoid.Health = humanoid.Health - dmg
831
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
832
				end
833
				local defence = Instance.new("BoolValue",hit.Parent)
834
				defence.Name = ("HitBy"..Player.Name)
835
				game:GetService("Debris"):AddItem(defence, 0.5)
836
			end
837
		end
838
	end
839
end
840
841
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
842
	local dmg = math.random(min,max)
843
	for i,v in ipairs(workspace:GetChildren()) do
844
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
845
		local body = v:GetChildren()
846
			for part = 1, #body do
847
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
848
					if(body[part].Position - position).Magnitude < radius then
849
						if v.ClassName == "Model" then
850
							if v:FindFirstChild("Humanoid") then
851
								if v.Humanoid.Health ~= 0 then
852
									if CanBeDodgedByJumping == true then
853
										if body[part].Position.Y < position.Y+5 then
854
											if math.random(1,100) < critrate+1 then
855
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
856
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
857
											else
858
												v.Humanoid.Health = v.Humanoid.Health - dmg
859
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
860
											end
861
											local defence = Instance.new("BoolValue",v)
862
											defence.Name = ("HitBy"..Player.Name)
863
										end
864
									else
865
										if beserk == true then
866
											v.Humanoid.Health = 0
867
										end
868
										if math.random(1,100) < critrate+1 then
869
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
870
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
871
										else
872
											v.Humanoid.Health = v.Humanoid.Health - dmg
873
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
874
										end
875
										local defence = Instance.new("BoolValue",v)
876
										defence.Name = ("HitBy"..Player.Name)
877
									end
878
								end
879
							end
880
						end
881
						body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
882
					end
883
				end
884
			end
885
		end	
886
		if v:FindFirstChild("HitBy"..Player.Name) then
887
			v:FindFirstChild("HitBy"..Player.Name):remove()
888
		end
889
	end
890
end
891
892
--//=================================\\
893
--||	ATTACK FUNCTIONS AND STUFF
894
--\\=================================//
895
896
local asd = Instance.new("ParticleEmitter")
897
asd.Color = ColorSequence.new(Color3.new(0, 0, 0))
898
asd.LightEmission = .1
899
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
900
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 4),NumberSequenceKeypoint.new(1, 8)})
901
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
902
asd.Transparency = bbb
903
asd.Size = aaa
904
asd.ZOffset = .9
905
asd.Acceleration = Vector3.new(0, 0, 0)
906
asd.LockedToPart = false
907
asd.EmissionDirection = "Back"
908
asd.Lifetime = NumberRange.new(1, 2)
909
asd.Rotation = NumberRange.new(-100, 100)
910
asd.RotSpeed = NumberRange.new(-100, 100)
911
asd.Speed = NumberRange.new(6)
912
asd.Enabled = false
913
asd.Drag = 3
914
asd.VelocitySpread = 10000
915
916
function poofcloud(pos,amount)
917
local prt = CreatePart(3, Effects, "Neon", 0, 1, "Royal purple", "Poof", VT(0,0,0))
918
prt.Anchored = true
919
prt.CFrame = CF(pos)
920
local prtcl = asd:Clone()
921
prtcl.Parent = prt
922
prtcl:Emit(amount)
923
CreateSound("966888080", prt, 6, (math.random(12,16)/10))
924
coroutine.resume(coroutine.create(function()
925
	wait(3)
926
	prt:remove()
927
end))
928
end
929
930
function Vanish()
931
	tecks2.TextTransparency = 1
932
	poofcloud(Torso.Position,50)
933
	g = Character:GetChildren()
934
	for i = 1, #g do
935
		if g[i].ClassName == "Part" and g[i].Name ~= "HumanoidRootPart" then
936
			g[i].Transparency = 1
937
			Head.face.Transparency = 1
938
		elseif g[i].ClassName == "Accessory" then
939
			g[i].Handle.Transparency = 1
940
		end
941
	end
942
	g = Weapon:GetChildren()
943
	for i = 1, #g do
944
		if g[i].ClassName == "Part" then
945
			g[i].Transparency = 1
946
		end
947
	end
948
end
949
950
function Trail(Part)
951
	local TRAIL = Part:Clone()
952
	TRAIL.CanCollide = false
953
	TRAIL.Anchored = true
954
	TRAIL.Parent = Effects
955
	TRAIL.Name = "Trail"
956
	local TRANS = Part.Transparency
957
	coroutine.resume(coroutine.create(function()
958
		for i = 1, 20 do
959
			Swait()
960
			TRAIL.Transparency = TRAIL.Transparency + ((1-TRANS)/20)
961
		end
962
		TRAIL:remove()
963
	end))
964
end
965
966
function Appear()
967
	tecks2.TextTransparency = 0
968
	poofcloud(Torso.Position,50)
969
	g = Character:GetChildren()
970
	for i = 1, #g do
971
		if g[i].ClassName == "Part" and g[i].Name ~= "HumanoidRootPart" then
972
			g[i].Transparency = 0
973
			Head.face.Transparency = 0
974
		elseif g[i].ClassName == "Accessory" then
975
			g[i].Handle.Transparency = 0
976
		end
977
	end
978
	g = Weapon:GetChildren()
979
	for i = 1, #g do
980
		if g[i].ClassName == "Part" then
981
			g[i].Transparency = 0
982
		end
983
	end
984
end
985
986
function AttackTemplate()
987
	ATTACK = true
988
	Rooted = false
989
	for i=0, 1, 0.1 / Animation_Speed do
990
		Swait()
991
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
992
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 0.15 / Animation_Speed)
993
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.8) * ANGLES(RAD(90), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
994
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
995
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
996
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
997
	end
998
	ATTACK = false
999
	Rooted = false
1000
end
1001
1002
function DarkageShuriken()
1003
	ATTACK = true
1004
	Rooted = false
1005
	for i=0, 1, 0.1 / Animation_Speed do
1006
		Swait()
1007
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1008
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1009
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1010
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1011
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.25 / Animation_Speed)
1012
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.25 / Animation_Speed)
1013
	end
1014
	for i=0, 1.5, 0.1 / Animation_Speed do
1015
		Swait()
1016
		MagicBlock(3,10,blade.CFrame,"Royal purple",VT(-0.1,-0.1,-0.1))
1017
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1018
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1019
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1020
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1021
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.25 / Animation_Speed)
1022
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.25 / Animation_Speed)
1023
	end
1024
	local ANGLE = 15
1025
	for i = 1, 3 do
1026
		local SHURIKEN = CreatePart(3, Effects, "Marble", 0, 0.3, "Royal purple", "Shuriken", VT(0.5,0.05,0.5),false)
1027
		local MESH = CreateMesh("SpecialMesh", SHURIKEN, "FileMesh", "340607397", "", VT(0.35,0.35,0.35), VT(-0.015, 0, -0.05))
1028
		SHURIKEN.CFrame = CF(RootPart.Position,Mouse.Hit.p) * CF(0,0,-4) * ANGLES(RAD(0),RAD(ANGLE),RAD(0))
1029
		ANGLE = ANGLE - 15
1030
		SHURIKEN.Anchored = true
1031
		SHURIKEN.Parent = Effects
1032
		SHURIKEN.CanCollide = true
1033
		MESH.Scale = MESH.Scale * 5
1034
		MESH.Offset = MESH.Offset * 5
1035
		SHURIKEN.Size = SHURIKEN.Size * 5
1036
		coroutine.resume(coroutine.create(function()
1037
			local TOUCHED = false
1038
			local CFRAME = SHURIKEN.CFrame
1039
			local LOOP = 1
1040
			local HIT = SHURIKEN.Touched:Connect(function(hit)
1041
				if hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
1042
					TOUCHED = true
1043
				end
1044
			end)
1045
			repeat
1046
				Swait()
1047
				Trail(SHURIKEN)
1048
				LOOP = LOOP + 1
1049
				SHURIKEN.CFrame = CFRAME * CF(0,0,-LOOP) * ANGLES(RAD(0),RAD(LOOP*15),RAD(0))
1050
				MESH.Scale = MESH.Scale * 1.01
1051
				MESH.Offset = MESH.Offset * 1.01
1052
				SHURIKEN.Size = SHURIKEN.Size * 1.01
1053
			until TOUCHED == true or LOOP >= 250
1054
			SHURIKEN.CanCollide = false
1055
			HIT:disconnect()
1056
			if LOOP >= 250 and TOUCHED == false then
1057
				for i = 1, 50 do
1058
					Swait()
1059
					MESH.Scale = MESH.Scale * 0.9
1060
					MESH.Offset = MESH.Offset * 0.9
1061
					SHURIKEN.Size = SHURIKEN.Size * 0.9
1062
				end
1063
			elseif TOUCHED == true then
1064
				AoEDamage(SHURIKEN.Position,SHURIKEN.Size.X,35,45,7,false,3,1.2,false)
1065
				CreateSound("444667859", SHURIKEN, 3, (math.random(12,16)/10))
1066
				for i = 1, 10 do
1067
					Swait()
1068
					MagicBlock(SHURIKEN.Size.Y*5,5,SHURIKEN.CFrame,"Royal purple",VT(SHURIKEN.Size.Y/15,SHURIKEN.Size.Y/15,SHURIKEN.Size.Y/15))
1069
					SHURIKEN.CFrame = SHURIKEN.CFrame * ANGLES(RAD(0),RAD(15),RAD(0))
1070
					MESH.Scale = MESH.Scale * 1.03
1071
					MESH.Offset = MESH.Offset * 1.03
1072
					SHURIKEN.Size = SHURIKEN.Size * 1.03
1073
					SHURIKEN.Transparency = SHURIKEN.Transparency + 0.1
1074
				end
1075
			end
1076
			wait(5)
1077
			SHURIKEN:remove()
1078
		end))
1079
	end
1080
	for i=0, 0.4, 0.1 / Animation_Speed do
1081
		Swait()
1082
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1083
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1084
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1085
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1086
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1087
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1088
	end
1089
	ATTACK = false
1090
	Rooted = false
1091
end
1092
1093
function DarkageStorm()
1094
	ATTACK = true
1095
	Rooted = false
1096
	for i=0, 1, 0.1 / Animation_Speed do
1097
		Swait()
1098
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1099
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1100
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1101
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1102
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.25 / Animation_Speed)
1103
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.25 / Animation_Speed)
1104
	end
1105
	for i=0, 1.5, 0.1 / Animation_Speed do
1106
		Swait()
1107
		CreateSwirl(VT(1,1,1),15,blade.CFrame,true,4,"Royal purple",VT(0.5,0.5,0.5))
1108
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,1),0)
1109
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,0.6),0)
1110
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Really black",VT(0.001,0.001,1),0)
1111
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1112
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.25 / Animation_Speed)
1113
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
1114
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
1115
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.25 / Animation_Speed)
1116
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.25 / Animation_Speed)
1117
	end
1118
	CreateSound("444667859", blade, 3, (math.random(6,8)/10))
1119
	coroutine.resume(coroutine.create(function()
1120
		local FRAME = CF(RootPart.Position,Mouse.Hit.p)
1121
		for i = 1, 75 do
1122
			Swait(5)
1123
			FRAME = FRAME * CF(0,0,-6)
1124
			CreateSwirl(VT(i,i,i),15,FRAME*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),true,1,"Really black",VT(-0.1,-0.1,-0.1),true)
1125
			CreateSwirl(VT(i,i,i),15,FRAME*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),true,1,"Royal purple",VT(-0.1,-0.1,-0.1),true)
1126
			AoEDamage(FRAME.p,i*1.5,4,10,0,false,0,1.2,false)
1127
		end
1128
	end))
1129
	for i=0, 0.4, 0.1 / Animation_Speed do
1130
		Swait()
1131
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1132
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1133
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1134
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1135
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1136
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1137
	end
1138
	ATTACK = false
1139
	Rooted = false
1140
end
1141
1142
function DarkageSurge()
1143
	ATTACK = true
1144
	Rooted = true
1145
	for i=0, 1, 0.1 / Animation_Speed do
1146
		Swait()
1147
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1148
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1149
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1150
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1151
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1152
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1153
	end
1154
	for i=0, 3, 0.1 / Animation_Speed do
1155
		Swait()
1156
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,1),0)
1157
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1158
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1159
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1160
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1161
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1162
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1163
	end
1164
	coroutine.resume(coroutine.create(function()
1165
		local SHURIKEN = CreatePart(3, Effects, "Marble", 0, 0.8, "Royal purple", "Shuriken", VT(0.5,0.05,0.5))
1166
		local MESH = CreateMesh("SpecialMesh", SHURIKEN, "FileMesh", "340607397", "", VT(0.35,0.35,0.35), VT(-0.015, 0, -0.05))
1167
		SHURIKEN.CFrame = RootPart.CFrame*CF(0,-5,0)
1168
		SHURIKEN.Parent = Effects
1169
		MESH.Scale = MESH.Scale * 50
1170
		MESH.Offset = MESH.Offset * 50
1171
		SHURIKEN.Size = SHURIKEN.Size * 50
1172
		CreateSound("971126018", SHURIKEN, 7, 0.6)
1173
		for i = 1, 85 do
1174
			Swait()
1175
			AoEDamage(SHURIKEN.Position,SHURIKEN.Size.X/1.5,1,1,0,false,3,1.2,false)
1176
			local FRAME = CF(VT(SHURIKEN.Position.X+MRANDOM(-SHURIKEN.Size.X/2,SHURIKEN.Size.X/2),SHURIKEN.Position.Y,SHURIKEN.Position.Z+MRANDOM(-SHURIKEN.Size.X/2,SHURIKEN.Size.X/2)))
1177
			MagicSphere(VT(0.6,0.6,0.6),15,FRAME,"Royal purple",VT(SHURIKEN.Size.Y/4,SHURIKEN.Size.Y,SHURIKEN.Size.Y/4),0)
1178
			MagicSphere(VT(0.2,0.2,0.2),15,FRAME,"Really black",VT(SHURIKEN.Size.Y/4,SHURIKEN.Size.Y,SHURIKEN.Size.Y/4),0)
1179
			MagicSphere(VT(0.6,0.6,0.6),15,CF(SHURIKEN.Position),"Royal purple",VT(SHURIKEN.Size.Y/4,SHURIKEN.Size.Y*2,SHURIKEN.Size.Y/4),0)
1180
			MagicSphere(VT(0.2,0.2,0.2),15,CF(SHURIKEN.Position),"Really black",VT(SHURIKEN.Size.Y/4,SHURIKEN.Size.Y*2,SHURIKEN.Size.Y/4),0)
1181
			MESH.Scale = MESH.Scale * 1.01
1182
			MESH.Offset = MESH.Offset * 1.01
1183
			SHURIKEN.Size = SHURIKEN.Size * 1.01
1184
			Trail(SHURIKEN)
1185
			SHURIKEN.CFrame = SHURIKEN.CFrame * ANGLES(RAD(0),RAD(i),RAD(0))
1186
		end
1187
		for i = 1, 50 do
1188
			Swait()
1189
			MESH.Scale = MESH.Scale * 0.9
1190
			MESH.Offset = MESH.Offset * 0.9
1191
			SHURIKEN.Size = SHURIKEN.Size * 0.9
1192
		end
1193
		SHURIKEN:remove()
1194
	end))
1195
	ATTACK = false
1196
	Rooted = false
1197
end
1198
1199
function DarkageBlades()
1200
	ATTACK = true
1201
	Rooted = true
1202
	local MESHID = "86297695"
1203
	local TEXTURE = "86290910"
1204
	for i=0, 1, 0.1 / Animation_Speed do
1205
		Swait()
1206
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1207
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1208
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1209
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1210
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1211
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1212
	end
1213
	local BLADEHOLDER = IT("Folder",Effects)
1214
	BLADEHOLDER.Name = "Blades"
1215
	local BLADE1 = CreatePart(3, BLADEHOLDER, "Marble", 0, 1, "Royal purple", "Katana", VT(0.5,4,0.5))
1216
	local MESH = CreateMesh("SpecialMesh", BLADE1, "FileMesh", MESHID, TEXTURE, VT(1,1,1), VT(0,0,0))
1217
	BLADE1.CanCollide = true
1218
	BLADE1.CFrame = RootPart.CFrame * CF(-5,3,0)*ANGLES(RAD(180),RAD(0),RAD(0))
1219
	local BLADE2 = CreatePart(3, BLADEHOLDER, "Marble", 0, 1, "Royal purple", "Katana", VT(0.5,4,0.5))
1220
	local MESH = CreateMesh("SpecialMesh", BLADE2, "FileMesh", MESHID, TEXTURE, VT(1,1,1), VT(0,0,0))
1221
	BLADE2.CanCollide = true
1222
	BLADE2.CFrame = RootPart.CFrame * CF(5,0,0)*ANGLES(RAD(180),RAD(0),RAD(180))
1223
	local BLADE3 = CreatePart(3, BLADEHOLDER, "Marble", 0, 1, "Royal purple", "Katana", VT(0.5,4,0.5))
1224
	local MESH = CreateMesh("SpecialMesh", BLADE3, "FileMesh", MESHID, TEXTURE, VT(1,1,1), VT(0,0,0))
1225
	BLADE3.CanCollide = true
1226
	BLADE3.CFrame = RootPart.CFrame * CF(-5,-3,0)*ANGLES(RAD(180),RAD(0),RAD(0))
1227
	coroutine.resume(coroutine.create(function()
1228
		for i = 1, 100 do
1229
			Swait()
1230
			BLADE1.Transparency = BLADE1.Transparency - 0.01
1231
			BLADE2.Transparency = BLADE1.Transparency
1232
			BLADE3.Transparency = BLADE1.Transparency
1233
		end
1234
	end))
1235
	for i=0, 3, 0.1 / Animation_Speed do
1236
		Swait()
1237
		BLADE1.CFrame = RootPart.CFrame * CF(-5,3,0)*ANGLES(RAD(180),RAD(0),RAD(0))
1238
		BLADE2.CFrame = RootPart.CFrame * CF(5,0,0)*ANGLES(RAD(180),RAD(0),RAD(180))
1239
		BLADE3.CFrame = RootPart.CFrame * CF(-5,-3,0)*ANGLES(RAD(180),RAD(0),RAD(0))
1240
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,1),0)
1241
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1242
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1243
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1244
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1245
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1246
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1247
	end
1248
	for i= 1, 15 do
1249
		Swait()
1250
		Trail(BLADE1)
1251
		Trail(BLADE2)
1252
		Trail(BLADE3)
1253
		BLADE1.CFrame = BLADE1.CFrame * CF(0,0,2)*ANGLES(RAD(0),RAD(-0.4),RAD(0))
1254
		BLADE2.CFrame = BLADE2.CFrame * CF(0,0,2)*ANGLES(RAD(0),RAD(-0.4),RAD(0))
1255
		BLADE3.CFrame = BLADE3.CFrame * CF(0,0,2)*ANGLES(RAD(0),RAD(-0.4),RAD(0))
1256
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
1257
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
1258
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1259
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1260
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1261
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1262
	end
1263
	coroutine.resume(coroutine.create(function()
1264
		for i = 1, 25 do
1265
			CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE1, 2, MRANDOM(8,12)/10)
1266
			CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE2, 2, MRANDOM(8,12)/10)
1267
			CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE3, 2, MRANDOM(8,12)/10)
1268
			AoEDamage(BLADE1.Position,15,15,25,2,false,3,1.2,false)
1269
			AoEDamage(BLADE2.Position,15,15,25,2,false,3,1.2,false)
1270
			AoEDamage(BLADE3.Position,15,15,25,2,false,3,1.2,false)
1271
			CreateSwirl(VT(10,10,10),15,BLADE1.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),true,1,"Pearl",VT(-0.1,-0.1,-0.1),false)
1272
			CreateSwirl(VT(10,10,10),15,BLADE2.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),true,1,"Pearl",VT(-0.1,-0.1,-0.1),false)
1273
			CreateSwirl(VT(10,10,10),15,BLADE3.CFrame*ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360))),true,1,"Pearl",VT(-0.1,-0.1,-0.1),false)
1274
			for i= 1, 5 do
1275
				BLADE1.CFrame = BLADE1.CFrame * ANGLES(RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)))
1276
				BLADE2.CFrame = BLADE2.CFrame * ANGLES(RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)))
1277
				BLADE3.CFrame = BLADE3.CFrame * ANGLES(RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)),RAD(MRANDOM(-150,150)))
1278
			end
1279
			Swait()
1280
		end
1281
		coroutine.resume(coroutine.create(function()
1282
			for i = 1, 100 do
1283
				Swait()
1284
				BLADE1.Transparency = BLADE1.Transparency + 0.01
1285
				BLADE2.Transparency = BLADE1.Transparency
1286
				BLADE3.Transparency = BLADE1.Transparency
1287
			end
1288
		end))
1289
	end))
1290
	for i=0, 0.4, 0.1 / Animation_Speed do
1291
		Swait()
1292
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.5 / Animation_Speed)
1293
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.5 / Animation_Speed)
1294
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1295
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1296
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1297
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.5 / Animation_Speed)
1298
	end
1299
	ATTACK = false
1300
	Rooted = false
1301
end
1302
1303
function RageOfDarkage()
1304
	ATTACK = true
1305
	Rooted = true
1306
	for i=0, 4, 0.1 / Animation_Speed do
1307
		Swait()
1308
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,1),0)
1309
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,0.6),0)
1310
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Really black",VT(0.001,0.001,1),0)
1311
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1312
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1313
		--PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1314
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(45), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1315
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.75, -0.5) * ANGLES(RAD(35), RAD(-45), RAD(25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1316
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1317
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1318
	end
1319
	CreateSound("971126018", Torso, 7, 0.6)
1320
	sick:Stop()
1321
	MagicSphere(VT(0.6,0.6,0.6),155,CF(Torso.Position),"Royal purple",VT(0.4,0.4,0.4),0)
1322
	MagicSphere(VT(0.2,0.2,0.2),155,CF(Torso.Position),"Really black",VT(0.4,0.4,0.4),0)
1323
	for i=0, 4, 0.1 / Animation_Speed do
1324
		Swait()
1325
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.2, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1326
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
1327
		--PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.27,-0.58) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1328
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75,0) * ANGLES(RAD(0), RAD(0), RAD(85)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
1329
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.75, 0) * ANGLES(RAD(0), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
1330
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(-15)), 0.5 / Animation_Speed)
1331
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(15)), 0.5 / Animation_Speed)
1332
	end
1333
	tecks2.Text = Player.Name..", the rage of Darkage"
1334
	VALUE2 = "Rage"
1335
	SKILL1TEXT.Text = "[Z] Darkage Storm"
1336
	SKILL2TEXT.Text = "[B] Darkage Blades"
1337
	SKILL4TEXT.Text = "[V] Cool down"
1338
	sick2:Play()
1339
	ATTACK = false
1340
	Rooted = false
1341
end
1342
1343
--//=================================\\
1344
--||	  ASSIGN THINGS TO KEYS
1345
--\\=================================//
1346
1347
function MouseDown(Mouse)
1348
	if ATTACK == false then
1349
	end	
1350
end
1351
1352
function MouseUp(Mouse)
1353
HOLD = false
1354
end
1355
1356
function KeyDown(Key)
1357
	KEYHOLD = true
1358
	if Key == "z" and ATTACK == false then
1359
		if VALUE2 == "Normal" then
1360
			DarkageShuriken()
1361
		elseif VALUE2 == "Rage" then
1362
			DarkageStorm()
1363
		end
1364
	end
1365
1366
	if Key == "b" and ATTACK == false then
1367
		if VALUE2 == "Normal" then
1368
			DarkageSurge()
1369
		elseif VALUE2 == "Rage" then
1370
			DarkageBlades()
1371
		end
1372
	end
1373
1374
	if Key == "c" and ATTACK == false then
1375
		if VALUE1 == false then
1376
			Vanish()
1377
			VALUE1 = true
1378
		elseif VALUE1 == true then
1379
			Appear()
1380
			VALUE1 = false
1381
		end
1382
	end
1383
1384
	if Key == "v" and ATTACK == false and VALUE1 == false then
1385
		if VALUE2 == "Normal" then
1386
			RageOfDarkage()
1387
		elseif VALUE2 == "Rage" then
1388
			VALUE2 = "Normal"
1389
			sick:Play()
1390
			sick2:Stop()
1391
			tecks2.Text = Player.Name
1392
			SKILL1TEXT.Text = "[Z] Darkage Shurikens"
1393
			SKILL2TEXT.Text = "[B] Darkage Surge"
1394
			SKILL4TEXT.Text = "[V] Rage of Darkage"
1395
		end
1396
	end
1397
1398
	if Key == "x" and ATTACK == false then
1399
	end
1400
end
1401
1402
function KeyUp(Key)
1403
	KEYHOLD = false
1404
end
1405
1406
	Mouse.Button1Down:connect(function(NEWKEY)
1407
		MouseDown(NEWKEY)
1408
	end)
1409
	Mouse.Button1Up:connect(function(NEWKEY)
1410
		MouseUp(NEWKEY)
1411
	end)
1412
	Mouse.KeyDown:connect(function(NEWKEY)
1413
		KeyDown(NEWKEY)
1414
	end)
1415
	Mouse.KeyUp:connect(function(NEWKEY)
1416
		KeyUp(NEWKEY)
1417
	end)
1418
1419
--//=================================\\
1420
--\\=================================//
1421
1422
1423
function unanchor()
1424
	if UNANCHOR == true then
1425
		g = Character:GetChildren()
1426
		for i = 1, #g do
1427
			if g[i].ClassName == "Part" then
1428
				g[i].Anchored = false
1429
			end
1430
		end
1431
	end
1432
end
1433
1434
1435
--//=================================\\
1436
--||	WRAP THE WHOLE SCRIPT UP
1437
--\\=================================//
1438
1439
Humanoid.Changed:connect(function(Jump)
1440
	if Jump == "Jump" and (Disable_Jump == true) then
1441
		Humanoid.Jump = false
1442
	end
1443
end)
1444
1445
Humanoid.HipHeight = 2
1446
Speed = 45
1447
local FF = IT("ForceField",Character)
1448
FF.Visible = false
1449
1450
while true do
1451
	Swait()
1452
	ANIMATE.Parent = nil
1453
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1454
	IDLEANIMATION:Play()
1455
	SINE = SINE + CHANGE
1456
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1457
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1458
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1459
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -3, 0))).lookVector, 7 * Player_Size, Character)
1460
	local WALKSPEEDVALUE = 3
1461
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1462
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1463
		--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)
1464
		--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)
1465
		--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)
1466
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1467
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1468
		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)
1469
		--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)
1470
		--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)
1471
	end
1472
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1473
		ANIM = "Jump"
1474
		if ATTACK == false then
1475
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1476
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1477
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1478
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1479
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1480
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1481
	       end
1482
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1483
		ANIM = "Fall"
1484
		if ATTACK == false then
1485
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1486
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1487
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1488
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1489
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1490
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1491
		end
1492
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1493
		ANIM = "Idle"
1494
		if ATTACK == false then
1495
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
1496
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 0.15 / Animation_Speed)
1497
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.8) * ANGLES(RAD(90), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1498
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1499
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1500
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
1501
		end
1502
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1503
		ANIM = "Walk"
1504
		WALK = WALK + 1 / Animation_Speed
1505
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1506
			WALK = 0
1507
			if WALKINGANIM == true then
1508
				WALKINGANIM = false
1509
			elseif WALKINGANIM == false then
1510
				WALKINGANIM = true
1511
			end
1512
		end
1513
		--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)
1514
		--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)
1515
		if ATTACK == false then
1516
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1517
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1518
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.8) * ANGLES(RAD(90), RAD(0), RAD(-65)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1519
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1520
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1521
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
1522
		end
1523
	end
1524
	unanchor()
1525
	Humanoid.MaxHealth = "inf"
1526
	Humanoid.Health = "inf"
1527
	if Rooted == false then
1528
		Disable_Jump = false
1529
		Humanoid.WalkSpeed = Speed
1530
	elseif Rooted == true then
1531
		Disable_Jump = true
1532
		Humanoid.WalkSpeed = 0
1533
	end
1534
	local MATHS = {"0","1"}
1535
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
1536
	Humanoid.PlatformStand = false
1537
	if Head:FindFirstChildOfClass("Sound") then
1538
		Head:FindFirstChildOfClass("Sound"):remove()
1539
	end
1540
	armweld.C1 = Clerp(armweld.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(SINE*10), RAD(0)), 0.15 / Animation_Speed)
1541
	if VALUE1 == true then
1542
		local HOLDER = IT("Folder",Cam)
1543
		HOLDER.Name = "Trail"
1544
		Debris:AddItem(HOLDER,0.05)
1545
		g = Character:GetChildren()
1546
		for i = 1, #g do
1547
			if g[i].ClassName == "Part" and g[i].Name ~= "HumanoidRootPart" then
1548
				local shadow = g[i]:Clone()
1549
				shadow.CFrame = g[i].CFrame
1550
				shadow.Transparency = 0.9
1551
				shadow.Color = C3(0,0,0)
1552
				shadow:ClearAllChildren()
1553
				if g[i].Name == "Head" then
1554
					local MESH = Head.Mesh:Clone()
1555
					MESH.Parent = shadow
1556
				end
1557
				shadow.Anchored = true
1558
				shadow.CanCollide = false
1559
				shadow.Material = "SmoothPlastic"
1560
				shadow.Parent = HOLDER
1561
			end
1562
		end
1563
		g = Weapon:GetChildren()
1564
		for i = 1, #g do
1565
			if g[i].ClassName == "Part" then
1566
				local shadow = g[i]:Clone()
1567
				shadow.CFrame = g[i].CFrame
1568
				shadow.Transparency = 0.9
1569
				shadow.Color = C3(0,0,0)
1570
				shadow:ClearAllChildren()
1571
				if g[i]:FindFirstChild("Mesh") then
1572
					local CLONE = g[i].Mesh:Clone()
1573
					CLONE.Parent = shadow
1574
				end
1575
				shadow.Parent = HOLDER
1576
				shadow.Anchored = true
1577
				shadow.CanCollide = false
1578
				shadow.Material = "SmoothPlastic"
1579
			end
1580
		end
1581
	else
1582
		MagicBlock(0.1,10,blade.CFrame*CF(MRANDOM(-20,20)/100,0,MRANDOM(-20,20)/100),"Royal purple",VT(0.1,0.1,0.1))
1583
	end
1584
	if VALUE2 == "Rage" and VALUE1 == false then
1585
		local FRAME = CF(VT(Torso.Position.X+MRANDOM(-15,15),Torso.Position.Y,Torso.Position.Z+MRANDOM(-15,15)))
1586
		AoEDamage(FRAME.p,4,3,6,0,false,3,1.2,false)
1587
		AoEDamage(blade.Position,5,35,35,25,false,3,1.2,false)
1588
		MagicSphere(VT(0.6,0.6,0.6),15,FRAME,"Royal purple",VT(0.1,6,0.1),0)
1589
		MagicSphere(VT(0.2,0.2,0.2),15,FRAME,"Really black",VT(0.1,6,0.1),0)
1590
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Royal purple",VT(0.001,0.001,0.6),0)
1591
		MagicSphere(VT(0.2,0.2,0.2),15,CF(blade.CFrame*CF(MRANDOM(-5,5),MRANDOM(-10,0),MRANDOM(-5,5)).p,blade.Position),"Really black",VT(0.001,0.001,1),0)
1592
	end
1593
end
1594
1595
--//=================================\\
1596
--\\=================================//
1597
1598
1599
1600
1601
1602
--//====================================================\\--
1603
--||			  		 END OF SCRIPT
1604
--\\====================================================//--