View difference between Paste ID: NQdS3d9q and i2qDtrzp
SHOW: | | - or go back to the newest paste.
1
-- Created by Nebula_Zorua --
2
-- Dominus Empyreus --
3
-- Mere Mortals. --
4
-- You think you can stand a chance against PHAEDRA!? --
5
-- If you want to get to The Overlord, you'll have to go through me. --
6
-- Discord: Nebula the Zorua#6969
7
-- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
8
9
warn([[
10
	Dominus Empyreus
11
		Mere Mortals
12
		You think you can stand a chance against PHAEDRA?
13
		If you want to get to the Overlord, you'll have to go through me.
14
		
15
		DOMINUS EMPYREUS.
16
]])
17
18
warn([[
19
	Nerfed version for showcasing
20
]])
21
wait(1/60)
22
23
--// Shortcut Variables \\--
24
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
25
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
26
local C3 = {tRGB= function(c3) return c3.r*255,c3.g*255,c3.b*255 end,N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
27
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
28
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
29
local R3 = {N=Region3.new}
30
local De = S.Debris
31
local WS = workspace
32
local Lght = S.Lighting
33
local RepS = S.ReplicatedStorage
34
local IN = Instance.new
35
local Plrs = S.Players
36
37
--// Initializing \\--
38-
local Plr = Plrs.LocalPlayer
38+
local Plr = owner
39
local Char = Plr.Character
40
local Hum = Char:FindFirstChildOfClass'Humanoid'
41
local RArm = Char["Right Arm"]
42
local LArm = Char["Left Arm"]
43
local RLeg = Char["Right Leg"]
44
local LLeg = Char["Left Leg"]	
45
local Root = Char:FindFirstChild'HumanoidRootPart'
46
local Torso = Char.Torso
47
local Head = Char.Head
48
local NeutralAnims = true
49
local Attack = false
50
local StillAura = false
51
local Debounces = {Debounces={}}
52-
local Mouse = Plr:GetMouse()
52+
53
local Sine = 0
54
local Change = 1
55
local BloodPuddles = {}
56
57
local Effects = IN("Folder",Char)
58
Effects.Name = "Effects"
59
60
61
--// Debounce System \\--
62
63
64
function Debounces:New(name,cooldown)
65
	local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
66
	setmetatable(aaaaa,{__index = Debounces})
67
	Debounces.Debounces[name] = aaaaa
68
	return aaaaa
69
end
70
71
function Debounces:Use(overrideUsable)
72
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
73
	if(self.Usable or overrideUsable)then
74
		self.Usable = false
75
		self.CoolingDown = true
76
		local LastUse = time()
77
		self.LastUse = LastUse
78
		delay(self.Cooldown or 2,function()
79
			if(self.LastUse == LastUse)then
80
				self.CoolingDown = false
81
				self.Usable = true
82
			end
83
		end)
84
	end
85
end
86
87
function Debounces:Get(name)
88
	assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
89
	for i,v in next, Debounces.Debounces do
90
		if(i == name)then
91
			return v;
92
		end
93
	end
94
end
95
96
function Debounces:GetProgressPercentage()
97
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
98
	if(self.CoolingDown and not self.Usable)then
99
		return math.max(
100
			math.floor(
101
				(
102
					(time()-self.LastUse)/self.Cooldown or 2
103
				)*100
104
			)
105
		)
106
	else
107
		return 100
108
	end
109
end
110
111
--// Instance Creation Functions \\--
112
local baseSound = IN("Sound")
113
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
114
	local Sound = baseSound:Clone()
115
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
116
	Sound.Pitch = pitch or 1
117
	Sound.Volume = volume or 1
118
	Sound.Looped = looped or false
119
	if(autoPlay)then
120
		coroutine.wrap(function()
121
			repeat wait() until Sound.IsLoaded
122
			Sound.Playing = autoPlay or false
123
		end)()
124
	end
125
	if(not looped and effect)then
126
		Sound.Stopped:connect(function()
127
			Sound.Volume = 0
128
			Sound:destroy()
129
		end)
130
	elseif(effect)then
131
		warn("Sound can't be looped and a sound effect!")
132
	end
133
	Sound.Parent =parent or Torso
134
	return Sound
135
end
136
function Part(parent,color,material,size,cframe,anchored,cancollide)
137
	local part = IN("Part")
138
	part.Parent = parent or Char
139
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
140
	part.Material = material or Enum.Material.SmoothPlastic
141
	part.TopSurface,part.BottomSurface=10,10
142
	part.Size = size or V3.N(1,1,1)
143
	part.CFrame = cframe or CF.N(0,0,0)
144
	part.CanCollide = cancollide or false
145
	part.Anchored = anchored or false
146
	return part
147
end
148
149
function Weld(part0,part1,c0,c1)
150
	local weld = IN("Weld")
151
	weld.Parent = part0
152
	weld.Part0 = part0
153
	weld.Part1 = part1
154
	weld.C0 = c0 or CF.N()
155
	weld.C1 = c1 or CF.N()
156
	return weld
157
end
158
159
function Mesh(parent,meshtype,meshid,textid,scale,offset)
160
	local part = IN("SpecialMesh")
161
	part.MeshId = meshid or ""
162
	part.TextureId = textid or ""
163
	part.Scale = scale or V3.N(1,1,1)
164
	part.Offset = offset or V3.N(0,0,0)
165
	part.MeshType = meshtype or Enum.MeshType.Sphere
166
	part.Parent = parent
167
	return part
168
end
169
170
NewInstance = function(instance,parent,properties)
171
	local inst = Instance.new(instance)
172
	inst.Parent = parent
173
	if(properties)then
174
		for i,v in next, properties do
175
			pcall(function() inst[i] = v end)
176
		end
177
	end
178
	return inst;
179
end
180
181
function Clone(instance,parent,properties)
182
	local inst = instance:Clone()
183
	inst.Parent = parent
184
	if(properties)then
185
		for i,v in next, properties do
186
			pcall(function() inst[i] = v end)
187
		end
188
	end
189
	return inst;
190
end
191
192
function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
193
	local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
194
	local Sound = IN("Sound")
195
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
196
	Sound.Pitch = pitch or 1
197
	Sound.Volume = volume or 1
198
	Sound.Looped = looped or false
199
	if(autoPlay)then
200
		coroutine.wrap(function()
201
			repeat wait() until Sound.IsLoaded
202
			Sound.Playing = autoPlay or false
203
		end)()
204
	end
205
	if(not looped and effect)then
206
		Sound.Stopped:connect(function()
207
			Sound.Volume = 0
208
			soundPart:destroy()
209
		end)
210
	elseif(effect)then
211
		warn("Sound can't be looped and a sound effect!")
212
	end
213
	Sound.Parent = soundPart
214
	return Sound
215
end
216
217
218
--// Extended ROBLOX tables \\--
219
local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
220
--// Require stuff \\--
221
222
local oScript = script;
223
local script = Instance.new("LocalScript")
224
local chold = {}
225
for _,v in next, oScript:children() do
226
	v:Clone().Parent = script
227
	v:destroy()
228
end
229
230
function CamShake(who,times,intense,origin) 
231
	coroutine.wrap(function()
232
		if(script:FindFirstChild'CamShake')then
233
			local cam = script.CamShake:Clone()
234
			cam:WaitForChild'intensity'.Value = intense
235
			cam:WaitForChild'times'.Value = times
236
			
237
	 		if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
238
			cam.Parent = who
239
			wait()
240
			cam.Disabled = false
241
		elseif(who == Plr or who == Char or who:IsDescendantOf(Plr))then
242
			local intensity = intense
243
			if(Hum and not Hum:FindFirstChild'CamShaking')then
244
				local cam = workspace.CurrentCamera
245
				local oCO = Hum.CameraOffset
246
				local cs = Instance.new("BoolValue",Hum)
247
				cs.Name = "CamShaking"
248
				for i = 1, times do
249
					local camDistFromOrigin
250
					if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
251
						camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin.Position).magnitude )/25
252
					elseif(typeof(origin) == 'Vector3')then
253
						camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin).magnitude )/25
254
					end
255
					if(camDistFromOrigin)then
256
						intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
257
					end
258
					--cam.CoordinateFrame = cam.CoordinateFrame*CFrame.fromEulerAnglesXYZ(math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200)
259
					if(Hum)then
260
						Hum.CameraOffset = Vector3.new(math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200)
261
					end
262
					swait()
263
				end
264
				if(Hum)then
265
					Hum.CameraOffset = oCO
266
				end
267
				cs:destroy()
268
			end
269
		end
270
	end)()
271
end
272
273
274
function CamShakeAll(times,intense,origin)
275
	for _,v in next, Plrs:players() do
276
		CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
277
	end
278
end
279
280
function ServerScript(code)
281
	if(script:FindFirstChild'Loadstring')then
282
		local load = script.Loadstring:Clone()
283
		load:WaitForChild'Sauce'.Value = code
284
		load.Disabled = false
285
		load.Parent = workspace
286
	elseif(NS and typeof(NS) == 'function')then
287
		NS(code,workspace)
288
	else
289
		warn("no serverscripts lol")
290
	end	
291
end
292
293
function LocalOnPlayer(who,code)
294
	ServerScript([[
295
		wait()
296
		script.Parent=nil
297
		if(not _G.Http)then _G.Http = game:service'HttpService' end
298
		
299
		local Http = _G.Http or game:service'HttpService'
300
		
301
		local source = ]].."[["..code.."]]"..[[
302
		local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
303
		local asd = Http:PostAsync(link,source)
304
		repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
305
		local ID = Http:JSONDecode(asd).Result.Require_ID
306
		local vs = require(ID).VORTH_SCRIPT
307
		vs.Parent = game:service'Players'.]]..who.Name..[[.Character
308
	]])
309
end
310
311
function Nametag(color,tag)
312
	local r,g,b = C3.tRGB(color)
313
	local c3 = C3.RGB(r/2,g/2,b/2)
314
	local name = chold['Nametag']
315
	if(not name)then
316
		name = NewInstance("BillboardGui",nil,{MaxDistance=150,AlwaysOnTop=true,Active=false,Size=UDim2.new(5,0,1,0),SizeOffset=Vector2.new(0,6)})
317
		NewInstance("TextLabel",name,{Name='Title',BackgroundTransparency=1,Size=UDim2.new(2.5,0,1.5,0),Position=UDim2.new(-.75,0,0,0),Text=tag,Font=Enum.Font.Fantasy,TextColor3 = color,TextStrokeColor3 = c3,TextStrokeTransparency=0,TextSize=14,TextScaled=true,TextWrapped=true,})
318
	end
319
	name.Title.Text = tag
320
	name.Title.TextColor3 = color
321
	name.Title.TextStrokeColor3 = c3
322
	
323
	name.Parent = Char
324
	name.Adornee = Head
325
	--name.PlayerToHideFrom = Plr
326
		
327
	return name
328
end
329
330
--// Customization \\--
331
332
local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
333
local Remove_Hats = true
334
local Remove_Clothing = true
335
local PlayerSize = 1
336
local DamageColor = BrickColor.new'Institutional white'
337
local MusicID = 1352579034
338
local God = true
339
local Muted = false
340
local Power = 1
341
342
local WalkSpeed = 35
343
344
--// Weapon and GUI creation, and Character Customization \\--
345
346
if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
347
if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
348
349
Head:ClearAllChildren()
350
Head.Transparency = 1
351
local headGay = Head:Clone();
352
headGay:breakJoints();
353
headGay.Parent = Head
354
headGay.Transparency = 0
355
356
local headMesh = Mesh(headGay,Enum.MeshType.FileMesh,'rbxassetid://21057410','rbxassetid://21057378')
357
Weld(headGay,Head)
358
359
if(PlayerSize ~= 1)then
360
	for _,v in next, Char:GetDescendants() do
361
		if(v:IsA'BasePart')then
362
			v.Size = v.Size * PlayerSize
363
		end
364
	end
365
end
366
367
Hum.HipHeight = 2
368
for _,v in next, Char:GetDescendants() do
369
	if(v:IsA'BasePart')then
370
		v.Material = Enum.Material.Neon
371
	end
372
end
373
374
Nametag(C3.N(1,1,1),"Dominus Empyreus")
375
376
local Music = Sound(Char,MusicID,1,3,true,false,true)
377
Music.Name = 'Music'
378
379
--// Stop animations \\--
380
for _,v in next, Hum:GetPlayingAnimationTracks() do
381
	v:Stop();
382
end
383
384
pcall(game.Destroy,Char:FindFirstChild'Animate')
385
pcall(game.Destroy,Hum:FindFirstChild'Animator')
386
387
--// Joints \\--
388
389
local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
390
local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
391
local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
392
local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
393
local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
394
local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
395
396
local LSC0 = LS.C0
397
local RSC0 = RS.C0
398
local NKC0 = NK.C0
399
local LHC0 = LH.C0
400
local RHC0 = RH.C0
401
local RJC0 = RJ.C0
402
403
local LSC1 = LS.C1
404
local RSC1 = RS.C1
405
local NKC1 = NK.C1
406
local LHC1 = LH.C1
407
local RHC1 = RH.C1
408
local RJC1 = RJ.C1
409
--// Artificial HB \\--
410
411
local ArtificialHB = IN("BindableEvent", script)
412
ArtificialHB.Name = "Heartbeat"
413
414
script:WaitForChild("Heartbeat")
415
416
local tf = 0
417
local allowframeloss = false
418
local tossremainder = false
419
local lastframe = tick()
420
local frame = 1/Frame_Speed
421
ArtificialHB:Fire()
422
423
game:GetService("RunService").Heartbeat:connect(function(s, p)
424
	tf = tf + s
425
	if tf >= frame then
426
		if allowframeloss then
427
			script.Heartbeat:Fire()
428
			lastframe = tick()
429
		else
430
			for i = 1, math.floor(tf / frame) do
431
				ArtificialHB:Fire()
432
			end
433
			lastframe = tick()
434
		end
435
		if tossremainder then
436
			tf = 0
437
		else
438
			tf = tf - frame * math.floor(tf / frame)
439
		end
440
	end
441
end)
442
443
function swait(num)
444
	if num == 0 or num == nil then
445
		ArtificialHB.Event:wait()
446
	else
447
		for i = 0, num do
448
			ArtificialHB.Event:wait()
449
		end
450
	end
451
end
452
453
454
--// Effect Function(s) \\--
455
456
--Arc{Part=Orb,End=Torso.CFrame,Time=45,Height=45,Yield=false,DestroyEnd=true}
457
function Arc(data)
458
	local Part = data.Part;
459
	local End = data.End or Torso.CFrame;
460
	local Time = data.Time or 45;
461
	local Height = data.Height or 45;
462
	local Yield = data.Yield or false;
463
	local Destroy = data.DestroyEnd or false;
464
	
465
	local Direction = CF.N(Part.Position, End.p)
466
	local Distance = (Part.Position - End.p).magnitude
467
	
468
	local function ArcGay()
469
		for i = 1, Time do
470
			Part.CFrame = Direction * CF.N(0,(Time/200+(Time/Height-i*2/Height)),-Distance/Time)
471
			Direction = Part.CFrame
472
			swait()
473
		end
474
		if(Destroy)then
475
			Part:destroy()
476
		end
477
	end
478
	if(Yield)then ArcGay() else coroutine.wrap(ArcGay)() end
479
end
480
481
function NoobySphere(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,MeshId,Axis)
482
	local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
483
	local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
484
	local Scale = 1
485
	local speeder = Speed
486
	if(Type == "Multiply")then
487
		Scale = 1*Inc
488
	elseif(Type == "Divide")then
489
		Scale = 1/Inc
490
	end
491
	coroutine.wrap(function()
492
		for i = 0,10/Lifetime,.1 do
493
			
494
			if(Type == "Multiply")then
495
				Scale = Scale - 0.01*Inc/Lifetime
496
			elseif(Type == "Divide")then
497
				Scale = Scale - 0.01/Inc*Lifetime
498
			end
499
			speeder = speeder - 0.01*Speed*Lifetime
500
			fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
501
			fxP.Transparency = fxP.Transparency + 0.01*Lifetime
502
			if(Axis == 'x')then
503
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, 0, 0)
504
			elseif(Axis == 'y')then
505
				fxM.Scale = fxM.Scale + Vector3.new(0, Scale*Lifetime, 0)
506
			elseif(Axis == 'z')then
507
				fxM.Scale = fxM.Scale + Vector3.new(0, 0, Scale*Lifetime)
508
			elseif(Axis == 'xyz')then
509
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,Scale*Lifetime,Scale*Lifetime)
510
			elseif(Axis == 'yz')then
511
				fxM.Scale = fxM.Scale + Vector3.new(0,Scale*Lifetime,Scale*Lifetime)
512
			elseif(Axis == 'xz')then
513
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,0,Scale*Lifetime)
514
			else
515
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, 0)
516
			end
517
			if(fxP.Transparency >= 1)then break end
518
			swait()
519
		end
520
		fxP:destroy()
521
	end)()
522
	return fxP
523
end
524
525
--NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
526
function NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
527
	local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
528
	local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Brick),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
529
	local Scale = 1
530
	local speeder = Speed
531
	if(Type == "Multiply")then
532
		Scale = 1*Inc
533
	elseif(Type == "Divide")then
534
		Scale = 1/Inc
535
	end
536
	coroutine.wrap(function()
537
		for i = 0,10/Lifetime,.1 do
538
			if(Type == "Multiply")then
539
				Scale = Scale - 0.01*Inc/Lifetime
540
			elseif(Type == "Divide")then
541
				Scale = Scale - 0.01/Inc*Lifetime
542
			end
543
			if(Fade)then
544
				fxP.Transparency = i/(10/Lifetime)
545
			end
546
			speeder = speeder - 0.01*Speed*Lifetime/10
547
			fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
548
			fxM.Scale = fxM.Scale - Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
549
			swait()
550
		end
551
		fxP:destroy()
552
	end)()
553
end
554
555
function Bezier(startpos, pos2, pos3, endpos, t)
556
	local A = startpos:lerp(pos2, t)
557
	local B  = pos2:lerp(pos3, t)
558
	local C = pos3:lerp(endpos, t)
559
	local lerp1 = A:lerp(B, t)
560
	local lerp2 = B:lerp(C, t)
561
	local cubic = lerp1:lerp(lerp2, t)
562
	return cubic
563
end
564
function Puddle(hit,pos,norm,data)
565
	local material = data.Material or Enum.Material.SmoothPlastic
566
	local color = data.Color or BrickColor.new'Crimson'
567
	local size = data.Size or 1
568
		
569
	if(hit.Name ~= 'BloodPuddle')then
570
		local Puddle = NewInstance('Part',workspace,{Material=material,BrickColor=color,Size=V3.N(size,.1,size),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
571
		local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
572
		BloodPuddles[Puddle] = 0
573
	else
574
		local cyl = hit:FindFirstChild'CylinderMesh'
575
		if(cyl)then
576
			BloodPuddles[hit] = 0
577
			cyl.Scale = cyl.Scale + V3.N(size,0,size)
578
			hit.Transparency = 0
579
		end
580
	end
581
end
582
583
function Droplet(data)
584
	--ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
585
	local Size = data.Size or 1
586
	local Color = data.Color or BrickColor.new'Crimson'
587
	local StudsPerFrame = data.Speed or 1
588
	local Shape = data.Shape or 'Ball'
589
	local Frames = (data.Frames or 160)+1
590
	local Pos = data.Origin or Root.CFrame
591
	local Direction = data.Direction or Root.CFrame.lookVector*100000
592
	local Material = data.Material or Enum.Material.SmoothPlastic
593
	local Drop = data.Drop or .05
594
	local Ignorelist = data.Ignorelist or nil
595
	
596
	local Bullet = Part(Effects,Color,Material,V3.N(Size,Size,Size),Pos,true,false)
597
	local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
598
	if(Shape == 'Ball')then
599
		BMesh.MeshType = Enum.MeshType.Sphere
600
	elseif(Shape == 'Head')then
601
		BMesh.MeshType = Enum.MeshType.Head
602
	elseif(Shape == 'Cylinder')then
603
		BMesh.MeshType = Enum.MeshType.Cylinder
604
	end
605
	
606
	coroutine.wrap(function()
607
		for i = 1, Frames do
608
			Pos = Pos * CF.N(0,-(Drop*i),0)
609
			local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i)).p,StudsPerFrame)
610
			if(hit and (not hit.Parent or not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent:IsA'Accessory'))then
611
				Puddle(hit,pos,norm,data)
612
				break;
613
			else
614
				Bullet.CFrame = CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i))
615
			end
616
			swait()
617
		end
618
		Bullet:destroy()
619
	end)()
620
end
621
622
function SphereFX(duration,color,scale,pos,endScale,increment)
623
	return Effect{
624
		Effect='ResizeAndFade',
625
		Color=color,
626
		Size=scale,
627
		Mesh={MeshType=Enum.MeshType.Sphere},
628
		CFrame=pos,
629
		FXSettings={
630
			EndSize=endScale,
631
			EndIsIncrement=increment
632
		}
633
	}
634
end
635
636
function BlastFX(duration,color,scale,pos,endScale,increment)
637
	return Effect{
638
		Effect='ResizeAndFade',
639
		Color=color,
640
		Size=scale,
641
		Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
642
		CFrame=pos,
643
		FXSettings={
644
			EndSize=endScale,
645
			EndIsIncrement=increment
646
		}
647
	}
648
end
649
650
function BlockFX(duration,color,scale,pos,endScale,increment)
651
	return Effect{
652
		Effect='ResizeAndFade',
653
		Color=color,
654
		Size=scale,
655
		CFrame=pos,
656
		FXSettings={
657
			EndSize=endScale,
658
			EndIsIncrement=increment
659
		}
660
	}
661
end
662
663
function ShootBullet(data)
664
	--ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
665
	local Size = data.Size or V3.N(2,2,2)
666
	local Color = data.Color or BrickColor.new'Crimson'
667
	local StudsPerFrame = data.Speed or 10
668
	local Shape = data.Shape or 'Ball'
669
	local Frames = data.Frames or 160
670
	local Pos = data.Origin or Torso.CFrame
671
	local Direction = data.Direction or Mouse.Hit
672
	local Material = data.Material or Enum.Material.Neon
673
	local OnHit = data.HitFunction or function(hit,pos)
674
		Effect{
675
			Effect='ResizeAndFade',
676
			Color=Color,
677
			Size=V3.N(10,10,10),
678
			Mesh={MeshType=Enum.MeshType.Sphere},
679
			CFrame=CF.N(pos),
680
			FXSettings={
681
				EndSize=V3.N(.05,.05,.05),
682
				EndIsIncrement=true
683
			}
684
		}
685
		for i = 1, 5 do
686
			local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
687
			Effect{
688
				Effect='Fade',
689
				Frames=65,
690
				Size=V3.N(5,5,10),
691
				CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
692
				Mesh = {MeshType=Enum.MeshType.Sphere},
693
				Material=Enum.Material.Neon,
694
				Color=Color,
695
				MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
696
			}	
697
		end
698
	end	
699
	
700
	local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
701
	local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
702
	if(Shape == 'Ball')then
703
		BMesh.MeshType = Enum.MeshType.Sphere
704
	elseif(Shape == 'Head')then
705
		BMesh.MeshType = Enum.MeshType.Head
706
	elseif(Shape == 'Cylinder')then
707
		BMesh.MeshType = Enum.MeshType.Cylinder
708
	end
709
	
710
	coroutine.wrap(function()
711
		for i = 0, Frames do
712
			Bullet.Size = Bullet.Size-V3.N(1/Frames,1/Frames,1/Frames)
713
			local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
714
			if(hit)then
715
				OnHit(hit,pos,Bullet.Size.x,norm,dist)
716
				break;
717
			else
718
				Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
719
			end
720
			swait()
721
		end
722
		Bullet:destroy()
723
	end)()
724
	
725
end
726
727
728
function Zap(data)
729
	local sCF,eCF = data.StartCFrame,data.EndCFrame
730
	assert(sCF,"You need a start CFrame!")
731
	assert(eCF,"You need an end CFrame!")
732
	local parts = data.PartCount or 15
733
	local zapRot = data.ZapRotation or {-5,5}
734
	local startThick = data.StartSize or 3;
735
	local endThick = data.EndSize or startThick/2;
736
	local color = data.Color or BrickColor.new'Electric blue'
737
	local delay = data.Delay or 35
738
	local delayInc = data.DelayInc or 0
739
	local lastLightning;
740
	local MagZ = (sCF.p - eCF.p).magnitude
741
	local thick = startThick
742
	local inc = (startThick/parts)-(endThick/parts)
743
	
744
	for i = 1, parts do
745
		local pos = sCF.p
746
		if(lastLightning)then
747
			pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
748
		end
749
		delay = delay + delayInc
750
		local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
751
		local posie = CF.N(pos,eCF.p)*CF.N(0,0,MagZ/parts).p+V3.N(M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)))
752
		if(parts == i)then
753
			local MagZ = (pos-eCF.p).magnitude
754
			zapPart.Size = V3.N(endThick,endThick,MagZ)
755
			zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
756
			Effect{Effect='ResizeAndFade',Size=V3.N(thick,thick,thick),CFrame=eCF*CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180)),Color=color,Frames=delay*2,FXSettings={EndSize=V3.N(thick*8,thick*8,thick*8)}}
757
		else
758
			zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
759
		end
760
		
761
		lastLightning = zapPart
762
		Effect{Effect='Fade',Manual=zapPart,Frames=delay}
763
		
764
		thick=thick-inc
765
		
766
	end
767
end
768
769
--Zap2{Color=BrickColor.new'Electric blue',Start=Torso.Position,End=Mouse.Hit.p,SegL=2,Thickness=.5,Fade=45,MaxDist=200,Branches=false,Material=Enum.Material.Neon,Raycasts=false,Mesh=false}
770
771
function Zap2(data)
772
	local Color = data.Color or BrickColor.new'Electric blue'
773
	local StartPos = data.Start or Torso.Position
774
	local EndPos = data.End or Mouse.Hit.p
775
	local SegLength = data.SegL or 2
776
	local Thicc = (data.Thickness or 0.5)+(Power/8)
777
	local Fades = data.Fade or 45
778
	local Parent = data.Parent or Effects
779
	local MaxD = data.MaxDist or 200
780
	local Branch = data.Branches or false
781
	local Material = data.Material or Enum.Material.Neon
782
	local Raycasts = data.Raycasts or false
783
	local Offset = data.Offset or {0,360}
784
	local SizeDec = data.SizeDec or false;
785
	local AddMesh = (data.Mesh == nil and true or data.Mesh)
786
	if((StartPos-EndPos).magnitude > MaxD)then
787
		EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
788
	end
789
	local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
790
	if(Raycasts)then
791
		hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)	
792
		EndPos = pos
793
	end
794
	
795
	local segments = dist/SegLength
796
	local model = IN("Model",Parent)
797
	model.Name = 'Lightning'
798
	local Last;
799
	for i = 1, segments do
800
		local size = 0
801
		if(SizeDec)then 
802
			size = (segments-i)/25
803
		end
804
		local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
805
		if(AddMesh)then IN("CylinderMesh",prt) end
806
		if(Last and math.floor(segments) == i)then
807
			local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
808
			prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
809
			prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,EndPos)*CF.A(M.R(90),0,0)*CF.N(0,-MagZ/2,0)	
810
		elseif(not Last)then
811
			prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)	
812
		else
813
			prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,CF.N(pos)*CF.A(M.R(M.RNG(0,360)),M.R(M.RNG(0,360)),M.R(M.RNG(0,360)))*CF.N(0,0,SegLength/3+(segments-i)).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
814
		end
815
		Last = prt
816
		if(Branch)then
817
			local choice = M.RNG(1,7+((segments-i)*2))
818
			if(choice == 1)then
819
				local LastB;
820
				for i2 = 1,M.RNG(2,5) do
821
					local size2 = ((segments-i)/35)/i2
822
					local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
823
					if(AddMesh)then IN("CylinderMesh",prt) end
824
					if(not LastB)then
825
						prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,Last.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
826
					else
827
						prt.CFrame = CF.N(LastB.CFrame*CF.N(0,-SegLength/2,0).p,LastB.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
828
					end
829
					LastB = prt
830
				end
831
			end
832
		end
833
	end
834
	if(Fades > 0)then
835
		coroutine.wrap(function()
836
			for i = 1, Fades do
837
				for _,v in next, model:children() do
838
					if(v:IsA'BasePart')then
839
						v.Transparency = (i/Fades)
840
					end
841
				end
842
				swait()
843
			end
844
			model:destroy()
845
		end)()
846
	else
847
		S.Debris:AddItem(model,.01)
848
	end
849
	return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
850
end
851
852
function Tween(obj,props,time,easing,direction,repeats,backwards)
853
	local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
854
	local tween = S.TweenService:Create(obj, info, props)
855
	
856
	tween:Play()
857
end
858
859
function Effect(data)
860
	local FX = data.Effect or 'ResizeAndFade'
861
	local Parent = data.Parent or Effects
862
	local Color = data.Color or C3.N(0,0,0)
863
	local Size = data.Size or V3.N(1,1,1)
864
	local MoveDir = data.MoveDirection or nil
865
	local MeshData = data.Mesh or nil
866
	local SndData = data.Sound or nil
867
	local Frames = data.Frames or 45
868
	local Manual = data.Manual or nil
869
	local Material = data.Material or nil
870
	local CFra = data.CFrame or Torso.CFrame
871
	local Settings = data.FXSettings or {}
872
	local Shape = data.Shape or Enum.PartType.Block
873
	local Snd,Prt,Msh;
874
	local RotInc = data.RotInc or {0,0,0}
875
	if(typeof(RotInc) == 'number')then
876
		RotInc = {RotInc,RotInc,RotInc}
877
	end
878
	coroutine.wrap(function()
879
		if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
880
			Prt = Manual
881
		else
882
			Prt = Part(Parent,Color,Material,Size,CFra,true,false)
883
			Prt.Shape = Shape
884
		end
885
		if(typeof(MeshData) == 'table')then
886
			Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
887
		elseif(typeof(MeshData) == 'Instance')then
888
			Msh = MeshData:Clone()
889
			Msh.Parent = Prt
890
		elseif(Shape == Enum.PartType.Block)then
891
			Msh = Mesh(Prt,Enum.MeshType.Brick)
892
		end
893
		if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
894
			Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
895
		end
896
		if(Snd)then
897
			repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
898
			Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
899
		end
900
		Size = (Msh and Msh.Scale or Size)
901
		local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
902
		
903
		local MoveSpeed = nil;
904
		if(MoveDir)then
905
			MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
906
		end
907
		if(FX ~= 'Arc')then
908
			for Frame = 1, Frames do
909
				if(FX == "Fade")then
910
					Prt.Transparency  = (Frame/Frames)
911
				elseif(FX == "Resize")then
912
					if(not Settings.EndSize)then
913
						Settings.EndSize = V3.N(0,0,0)
914
					end
915
					if(Settings.EndIsIncrement)then
916
						if(Msh)then
917
							Msh.Scale = Msh.Scale + Settings.EndSize
918
						else
919
							Prt.Size = Prt.Size + Settings.EndSize
920
						end					
921
					else
922
						if(Msh)then
923
							Msh.Scale = Msh.Scale - grow/Frames
924
						else
925
							Prt.Size = Prt.Size - grow/Frames
926
						end
927
					end 
928
				elseif(FX == "ResizeAndFade")then
929
					if(not Settings.EndSize)then
930
						Settings.EndSize = V3.N(0,0,0)
931
					end
932
					if(Settings.EndIsIncrement)then
933
						if(Msh)then
934
							Msh.Scale = Msh.Scale + Settings.EndSize
935
						else
936
							Prt.Size = Prt.Size + Settings.EndSize
937
						end					
938
					else
939
						if(Msh)then
940
							Msh.Scale = Msh.Scale - grow/Frames
941
						else
942
							Prt.Size = Prt.Size - grow/Frames
943
						end
944
					end 
945
					Prt.Transparency = (Frame/Frames)
946
				end
947
				if(Settings.RandomizeCFrame)then
948
					Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
949
				else
950
					Prt.CFrame = Prt.CFrame * CF.A(unpack(RotInc))
951
				end
952
				if(MoveDir and MoveSpeed)then
953
					local Orientation = Prt.Orientation
954
					Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
955
					Prt.Orientation = Orientation
956
				end
957
				swait()
958
			end
959
			Prt:destroy()
960
		else
961
			local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
962
			if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
963
			if(start and endP)then
964
				local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
965
				local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
966
				for Frame = 0, 1, (Settings.Speed or 0.01) do
967
					if(Settings.Home)then
968
						endP = Settings.Home.CFrame
969
					end
970
					Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
971
				end
972
				if(Settings.RemoveOnGoal)then
973
					Prt:destroy()
974
				end
975
			else
976
				Prt:destroy()
977
				assert(start,"You need a start position!")
978
				assert(endP,"You need a start position!")
979
			end
980
		end
981
	end)()
982
	return Prt,Msh,Snd
983
end
984
function SoulSteal(whom)
985
	local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
986
	print(torso)
987
	if(torso and torso:IsA'BasePart')then
988
		local Model = Instance.new("Model",Effects)
989
		Model.Name = whom.Name.."'s Soul"
990
		whom:BreakJoints()
991
		local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
992
		Soul.Name = 'Head'
993
		NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
994
		Effect{
995
			Effect="Arc",
996
			Manual = Soul,
997
			FXSettings={
998
				Start=torso.CFrame,
999
				Home = Torso,
1000
				RemoveOnGoal = true,
1001
			}
1002
		}
1003
		local lastPoint = Soul.CFrame.p
1004
	
1005
		for i = 0, 1, 0.01 do 
1006
				local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
1007
				local mag = (lastPoint - Soul.Position).magnitude
1008
				Effect{
1009
					Effect = "Fade",
1010
					CFrame = point * CF.N(0, mag/2, 0),
1011
					Size = V3.N(.5,mag+.5,.5),
1012
					Color = Soul.BrickColor
1013
				}
1014
				lastPoint = Soul.CFrame.p
1015
			swait()
1016
		end
1017
		for i = 1, 5 do
1018
			Effect{
1019
				Effect="Fade",
1020
				Color = BrickColor.new'Really red',
1021
				MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
1022
			}	
1023
		end
1024
	end
1025
end
1026
1027
--// Other Functions \\ --
1028
1029
function CastRay(startPos,endPos,range,ignoreList)
1030
	local ray = Ray.new(startPos,(endPos-startPos).unit*range)
1031
	local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
1032
	return part,pos,norm,(pos and (startPos-pos).magnitude)
1033
end
1034
1035
function getRegion(point,range,ignore)
1036
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
1037
end
1038
1039
function clerp(startCF,endCF,alpha)
1040
	return startCF:lerp(endCF, alpha)
1041
end
1042
1043
function GetTorso(char)
1044
	return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
1045
end
1046
1047
1048
function ShowDamage(Pos, Text, Time, Color)
1049
	coroutine.wrap(function()
1050
	local Rate = (1 / Frame_Speed)
1051
	local Pos = (Pos or Vector3.new(0, 0, 0))
1052
	local Text = (Text or "")
1053
	local Time = (Time or 2)
1054
	local Color = (Color or Color3.new(1, 0, 1))
1055
	local EffectPart = NewInstance("Part",Effects,{
1056
		Material=Enum.Material.SmoothPlastic,
1057
		Reflectance = 0,
1058
		Transparency = 1,
1059
		BrickColor = BrickColor.new(Color),
1060
		Name = "Effect",
1061
		Size = Vector3.new(0,0,0),
1062
		Anchored = true,
1063
		CFrame = CF.N(Pos)
1064
	})
1065
	local BillboardGui = NewInstance("BillboardGui",EffectPart,{
1066
		Size = UDim2.new(1.25, 0, 1.25, 0),
1067
		Adornee = EffectPart,
1068
	})
1069
	local TextLabel = NewInstance("TextLabel",BillboardGui,{
1070
		BackgroundTransparency = 1,
1071
		Size = UDim2.new(1, 0, 1, 0),
1072
		Text = Text,
1073
		Font = "Bodoni",
1074
		TextColor3 = Color,
1075
		TextStrokeColor3 = Color3.new(0,0,0),
1076
		TextStrokeTransparency=0,
1077
		TextScaled = true,
1078
	})
1079
	S.Debris:AddItem(EffectPart, (Time))
1080
	EffectPart.Parent = workspace
1081
	delay(0, function()
1082
		Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
1083
		local Frames = (Time / Rate)
1084
		for Frame = 1, Frames do
1085
			swait()
1086
			local Percent = (Frame / Frames)
1087
			TextLabel.TextTransparency = Percent
1088
			TextLabel.TextStrokeTransparency = Percent
1089
		end
1090
		if EffectPart and EffectPart.Parent then
1091
			EffectPart:Destroy()
1092
		end
1093
	end) end)()
1094
end
1095
1096
function DustMeDaddy(whom,hum)
1097
	local stop = script:FindFirstChild('StopRetaliating') and script:FindFirstChild('StopRetaliating'):Clone();
1098
	if(stop and S.Players:GetPlayerFromCharacter(whom))then
1099
		stop.Disabled = false
1100
		stop.Parent = whom
1101
	end
1102
	whom:breakJoints()
1103
	pcall(function()
1104
		for _,v in next, whom:children() do
1105
			if(v:IsA'BasePart')then
1106
				v:breakJoints()
1107
				v.Parent = Effects
1108
				v:ClearAllChildren()
1109
				v.CanCollide = false
1110
				v.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0)
1111
				v.Anchored = false
1112
				local dustT = NewInstance("ParticleEmitter",v,{
1113
					Color = ColorSequence.new(C3.N(1,1,1)),
1114
					LightEmission=0,
1115
					LightInfluence=1,
1116
					Size=NumberSequence.new(1,0),
1117
					Texture="rbxassetid://284205403",
1118
					Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(.9,0,0),NumberSequenceKeypoint.new(1,1,0)},
1119
					Lifetime = NumberRange.new(.25,3),
1120
					Rate=150,
1121
					Acceleration=V3.N(0,0,0),
1122
					Speed = NumberRange.new(0),
1123
					Enabled = true
1124
				})
1125
				v.Color = C3.N(1,1,1)
1126
				v.Material = Enum.Material.Neon
1127
				local bv = NewInstance('BodyVelocity',v,{MaxForce=V3.N(50,50,50),P=2500,Velocity=V3.N(0,50,0)})
1128
				v.Transparency = .25
1129
				delay(3, function()
1130
					bv.Velocity = V3.N(M.RNG(-75,75),0,M.RNG(-75,75))
1131
					dustT.Enabled = false
1132
					Tween(v,{Transparency=1},2)
1133
					S.Debris:AddItem(v,3)
1134
				end)
1135
			end
1136
		end
1137
	end)
1138
end
1139
1140
function DealDamage(data)
1141
	local Who = data.Who;
1142
	local MinDam = data.MinimumDamage or 15;
1143
	local MaxDam = data.MaximumDamage or 30;
1144
	local MaxHP = data.MaxHP or 1e5; 
1145
	
1146
	local DB = data.Debounce or .2;
1147
	
1148
	local CritData = data.Crit or {}
1149
	local CritChance = CritData.Chance or 5;
1150
	local CritMultiplier = CritData.Multiplier or 2;
1151
	
1152
	local DamageEffects = data.DamageFX or {}
1153
	local DamageType = DamageEffects.Type or "Normal"
1154
	local DeathFunction = DamageEffects.DeathFunction or DustMeDaddy
1155
	
1156
	assert(Who,"Specify someone to damage!")	
1157
	
1158
	local Humanoid = Who:FindFirstChildOfClass'Humanoid'
1159
	local DoneDamage = M.RNG(MinDam,MaxDam) * (M.RNG(1,100) <= CritChance and CritMultiplier or 1)
1160
	
1161
	local canHit = true
1162
	if(Humanoid)then
1163
		for _, p in pairs(Hit) do
1164
			if p[1] == Humanoid then
1165
				if(time() - p[2] <= DB) then
1166
					canHit = false
1167
				else
1168
					Hit[_] = nil
1169
				end
1170
			end
1171
		end
1172
		if(canHit)then
1173
			table.insert(Hit,{Humanoid,time()})
1174
			local HitTorso = GetTorso(Who)
1175
			local player = S.Players:GetPlayerFromCharacter(Who)
1176
			if(Humanoid.Health > 0 and (not player or player.UserId ~= 5719877 and player.UserId ~= 19081129))then
1177
				if(Humanoid.MaxHealth >= MaxHP)then
1178
					print'Got kill'
1179
					local stop = script:FindFirstChild('StopRetaliating') and script:FindFirstChild('StopRetaliating'):Clone();
1180
					if(stop and S.Players:GetPlayerFromCharacter(Who))then
1181
						stop.Disabled = false
1182
						stop.Parent = Who
1183
					end
1184
					Humanoid.Health = 0;
1185
					Who:BreakJoints();
1186
					if(DeathFunction)then DeathFunction(Who,Humanoid) end
1187
					for i = 1, 5 do NoobySphere(1,0,'Multiply',HitTorso.CFrame*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)),V3.N(HitTorso.Size.x/2,2,HitTorso.Size.y/2),.25,DamageColor,0,nil,'y') end
1188
					if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
1189
						ShowDamage((Who.Head.CFrame * CF.N(0, 0, (Who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "INSTANT", 1.5, DamageColor.Color)
1190
					end
1191
				else
1192
					local  c = Instance.new("ObjectValue",Hum)
1193
					c.Name = "creator"
1194
					c.Value = Plr
1195
					S.Debris:AddItem(c,0.35)	
1196
					if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
1197
						ShowDamage((Who.Head.CFrame * CF.N(0, 0, (Who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), DoneDamage, 1.5, DamageColor.Color)
1198
					end
1199
					if(Humanoid.Health > 0 and Humanoid.Health-DoneDamage <= 0)then 
1200
						local stop = script:FindFirstChild('StopRetaliating') and script:FindFirstChild('StopRetaliating'):Clone();
1201
						if(stop and S.Players:GetPlayerFromCharacter(Who))then
1202
							stop.Disabled = false
1203
							stop.Parent = Who
1204
						end
1205
						print'Got kill' 
1206
						if(DeathFunction)then DeathFunction(Who,Humanoid) end 
1207
					end
1208
					Humanoid.Health = Humanoid.Health - DoneDamage
1209
					
1210
					if(DamageType == 'Knockback' and HitTorso)then
1211
						local up = DamageEffects.KnockUp or 25
1212
						local back = DamageEffects.KnockBack or 25
1213
						local origin = DamageEffects.Origin or Root
1214
						local decay = DamageEffects.Decay or .5;
1215
						
1216
						local bfos = Instance.new("BodyVelocity",HitTorso)
1217
						bfos.P = 20000	
1218
						bfos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
1219
						bfos.Velocity = Vector3.new(0,up,0) + (origin.CFrame.lookVector * back)
1220
						S.Debris:AddItem(bfos,decay)
1221
					end
1222
				end
1223
			end
1224
		end
1225
	end		
1226
end
1227
1228
function AOEDamage(where,range,options)
1229
	local hit = {}
1230
	for _,v in next, getRegion(where,range,{Char}) do
1231
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent])then
1232
			local callTable = {Who=v.Parent}
1233
			hit[v.Parent] = true
1234
			for _,v in next, options do callTable[_] = v end
1235
			DealDamage(callTable)
1236
		end
1237
	end
1238
	return hit
1239
end
1240
1241
function AOEHeal(where,range,amount)
1242
	local healed = {}
1243
	for _,v in next, getRegion(where,range,{Char}) do
1244
		local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
1245
		if(hum and not healed[hum])then
1246
			hum.Health = hum.Health + amount
1247
			if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
1248
				ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
1249
			end
1250
		end
1251
	end
1252
end
1253
1254
function Transgendercy(bigHomo,trans)
1255
	for _,v in next, bigHomo do
1256
		v.Transparency = trans
1257
	end
1258
end
1259
1260
1261
function Smite()
1262
	Attack = true
1263
	NeutralAnims = false
1264
	StillAura = true
1265
	--Zap2{Color=BrickColor.new'Electric blue',Start=Torso.Position,End=Mouse.Hit.p,SegL=2,Thickness=.5,Fade=45,MaxDist=200,Branches=false,Material=Enum.Material.Neon,Raycasts=false,Mesh=false}
1266
	for i = 0, 3, 0.1 do
1267
		swait()
1268
		local Alpha = .1
1269
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1270
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1271
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(180),M.R(-15),0),.3)
1272
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1273
		NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-14+7*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12))),Alpha)
1274
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1275
	end
1276
	
1277
	for i = 0, 360, 15 do
1278
		NoobyBlock(3,.02,'Multiply',CF.N(LArm.CFrame*CF.N(0,-5,0).p,Mouse.Hit.p)*CF.A(M.R(-90),0,0)*CF.A(0,M.R(i),0)*CF.N(0,0,-1),V3.N(.5,.5,.5),.005,C3.N(1,1,1),0,false)
1279
	end
1280
	
1281
	local data = Zap2{Thickness=.5,Color=BrickColor.new'Institutional white',Start=LArm.CFrame*CF.N(0,-5,0)*CF.A(M.R(-90),M.R(15),0).p,End=Mouse.Hit.p,Raycasts=true,Branches=true}
1282
	NoobySphere(2,0,'Multiply',CF.N(data.End),V3.N(2+(Power/8),2+(Power/8),2+(Power/8)),.1,C3.N(1,1,1),0,nil,'xyz')
1283
	AOEDamage(data.End,4+(Power/4),{MinimumDamage=35+(Power*2),MaximumDamage=75+(Power*2)})
1284
	for i = 0, 3, .1 do
1285
		swait()
1286
		local Alpha = .1
1287
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1288
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1289
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),M.R(-15),0),.3)
1290
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1291
		NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-14+7*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12))),Alpha)
1292
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1293
	end
1294
	StillAura = false
1295
	NeutralAnims = true
1296
	Attack = false
1297
end
1298
1299
1300
function DivinePillarsWeak()
1301
	Attack = true
1302
	NeutralAnims = false
1303
	for i = 0, 1, .1 do
1304
		local Alpha = .3
1305
		RJ.C0 = RJ.C0:lerp(CFrame.new(1.90744663e-06, -0.0605495758, -0.242483646, 0.999999464, 2.28155228e-09, 2.30000963e-10, 2.15368345e-09, 0.868468583, 0.495746791, -9.31322575e-10, -0.495746434, 0.868467569),Alpha)
1306
		LH.C0 = LH.C0:lerp(CFrame.new(-0.4791466, -1.00222135, 0.0076261349, 0.974867105, 0.149800956, 0.164905474, -0.147702232, 0.988716304, -0.0249875188, -0.166787878, 2.59280205e-06, 0.985992908),Alpha)
1307
		RH.C0 = RH.C0:lerp(CFrame.new(0.34172827, -0.405363262, -0.444002807, 0.916409314, -0.156604216, -0.368333012, 0.243641883, 0.948393404, 0.202950239, 0.317541718, -0.275726885, 0.907271862),Alpha)
1308
		LS.C0 = LS.C0:lerp(CFrame.new(-1.12974548, 0.334748656, -0.255070955, 0.86602509, -0.500000715, -3.48429012e-07, 0.386642575, 0.669683754, -0.634059489, 0.31703043, 0.549111307, 0.773284435),Alpha)
1309
		RS.C0 = RS.C0:lerp(CFrame.new(1.18026733, 0.334748596, -0.255071014, 0.86602509, 0.500000715, 3.48429012e-07, -0.386642575, 0.669683754, -0.634059489, -0.31703043, 0.549111307, 0.773284435),Alpha)
1310
		NK.C0 = NK.C0:lerp(CFrame.new(8.52872618e-05, 1.49900234, -0.00497905165, 0.999878228, 0.000900022686, -0.0155851748, -2.49035656e-06, 0.998345971, 0.057493329, 0.0156111429, -0.0574862957, 0.998224378),Alpha)
1311
		swait()
1312
	end
1313
	coroutine.wrap(function()
1314
		local gay = Root.CFrame
1315
		local start = 15
1316
		local reallyGay = .5*(Power-1)
1317
		for i = 0, 4+reallyGay do
1318
			swait()
1319
			for x = -start,start,start do
1320
				local pos = gay*CF.N(x,0,-8)*CF.N(0,0,-(i*10))
1321
				start = start + 2
1322
				local h,p = workspace:FindPartOnRay(Ray.new(pos.p,((CF.N(pos.p,pos.p - V3.N(0,1,0))).lookVector).unit * 16), Char)
1323
				CamShakeAll(15,100+(reallyGay*100),p)
1324
				NoobySphere(3,0,'Multiply',CF.N(p),V3.N(5+reallyGay,12.5,5+reallyGay),.5,C3.N(1,1,1),0,nil,'y')
1325
				NoobySphere(3,0,'Multiply',CF.N(p),V3.N(7+reallyGay,.25,7+reallyGay),.2,C3.N(1,1,1),0,nil,'xz')
1326
				AOEDamage(p,10+(reallyGay*2),{MinimumDamage=15+(reallyGay*5),MaximumDamage=45+(reallyGay*5)})
1327
			end
1328
		end
1329
	end)()
1330
	for i = 0, 1, 0.1 do
1331
		swait()
1332
		local Alpha = .3
1333
		RJ.C0 = RJ.C0:lerp(CFrame.new(1.9065468e-06, -0.328368425, 0.120930381, 0.999999464, 6.98676228e-10, -2.18408625e-09, 2.15368345e-09, 0.665252686, -0.74661994, -9.31322575e-10, 0.746618986, 0.66525209),Alpha)
1334
		LH.C0 = LH.C0:lerp(CFrame.new(-0.479144096, -0.841781974, 0.0717146397, 0.974867344, 0.149801731, 0.164903864, -0.206288055, 0.886496186, 0.414209872, -0.0841372982, -0.437817276, 0.895118535),Alpha)
1335
		RH.C0 = RH.C0:lerp(CFrame.new(0.341723979, -0.70075196, -0.909261882, 0.916408718, -0.156607822, -0.368332833, 0.37586391, 0.653009117, 0.657499552, 0.137555093, -0.74098134, 0.657286465),Alpha)
1336
		LS.C0 = LS.C0:lerp(CFrame.new(-1.12974322, 0.700168073, -0.331798345, 0.866024196, -0.500002086, -1.9403808e-06, -0.336109906, -0.58215344, -0.740356505, 0.37017861, 0.641167343, -0.672214687),Alpha)
1337
		RS.C0 = RS.C0:lerp(CFrame.new(1.18027234, 0.700168073, -0.331798226, 0.866024196, 0.500002086, 1.9403808e-06, 0.336109906, -0.58215344, -0.740356505, -0.37017861, 0.641167343, -0.672214687),Alpha)
1338
		NK.C0 = NK.C0:lerp(CFrame.new(8.48525669e-05, 1.49900389, -0.00498836488, 0.999878228, 0.000899539154, -0.0155825512, -2.11317092e-06, 0.998345733, 0.0574962795, 0.0156084942, -0.0574892461, 0.998224139),Alpha)
1339
	end
1340
	Attack = false
1341
	NeutralAnims = true	
1342
end
1343
1344
function DivinePillars()
1345
	Attack = true
1346
	NeutralAnims = false
1347
	for i = 0, 1, .1 do
1348
		local Alpha = .3
1349
		RJ.C0 = RJ.C0:lerp(CFrame.new(1.90744663e-06, -0.0605495758, -0.242483646, 0.999999464, 2.28155228e-09, 2.30000963e-10, 2.15368345e-09, 0.868468583, 0.495746791, -9.31322575e-10, -0.495746434, 0.868467569),Alpha)
1350
		LH.C0 = LH.C0:lerp(CFrame.new(-0.4791466, -1.00222135, 0.0076261349, 0.974867105, 0.149800956, 0.164905474, -0.147702232, 0.988716304, -0.0249875188, -0.166787878, 2.59280205e-06, 0.985992908),Alpha)
1351
		RH.C0 = RH.C0:lerp(CFrame.new(0.34172827, -0.405363262, -0.444002807, 0.916409314, -0.156604216, -0.368333012, 0.243641883, 0.948393404, 0.202950239, 0.317541718, -0.275726885, 0.907271862),Alpha)
1352
		LS.C0 = LS.C0:lerp(CFrame.new(-1.12974548, 0.334748656, -0.255070955, 0.86602509, -0.500000715, -3.48429012e-07, 0.386642575, 0.669683754, -0.634059489, 0.31703043, 0.549111307, 0.773284435),Alpha)
1353
		RS.C0 = RS.C0:lerp(CFrame.new(1.18026733, 0.334748596, -0.255071014, 0.86602509, 0.500000715, 3.48429012e-07, -0.386642575, 0.669683754, -0.634059489, -0.31703043, 0.549111307, 0.773284435),Alpha)
1354
		NK.C0 = NK.C0:lerp(CFrame.new(8.52872618e-05, 1.49900234, -0.00497905165, 0.999878228, 0.000900022686, -0.0155851748, -2.49035656e-06, 0.998345971, 0.057493329, 0.0156111429, -0.0574862957, 0.998224378),Alpha)
1355
		swait()
1356
	end
1357
	coroutine.wrap(function()
1358
		local reallyGay = Power-6
1359
		local gay = Root.CFrame
1360
		for i = 0, 9+reallyGay do
1361
			swait()
1362
			local pos = gay*CF.N(0,0,-8)*CF.N(0,0,-(i*(15+reallyGay)))
1363
			local h,p = workspace:FindPartOnRay(Ray.new(pos.p,((CF.N(pos.p,pos.p - V3.N(0,1,0))).lookVector).unit * 16), Char)
1364
			CamShakeAll(15,200+(reallyGay*200),p)
1365
			local size = V3.N(10+reallyGay,25,10+reallyGay)
1366
			NoobySphere(5,0,'Multiply',CF.N(p),size,.5,C3.N(1,1,1),0,nil,'y')
1367
			NoobySphere(5,0,'Multiply',CF.N(p),size+V3.N(2,(-size.y)+.5,2),.2,C3.N(1,1,1),0,nil,'xz')
1368
			NoobySphere(8,0,'Multiply',CF.N(p),size+V3.N(2,2,2),.25,C3.N(1,1,1),0,nil,'xyz')
1369
			AOEDamage(p,20+(reallyGay*2),{MinimumDamage=35+(reallyGay*2),MaximumDamage=65+(reallyGay*2)})
1370
		end
1371
	end)()
1372
	for i = 0, 1, 0.1 do
1373
		swait()
1374
		local Alpha = .3
1375
		RJ.C0 = RJ.C0:lerp(CFrame.new(1.9065468e-06, -0.328368425, 0.120930381, 0.999999464, 6.98676228e-10, -2.18408625e-09, 2.15368345e-09, 0.665252686, -0.74661994, -9.31322575e-10, 0.746618986, 0.66525209),Alpha)
1376
		LH.C0 = LH.C0:lerp(CFrame.new(-0.479144096, -0.841781974, 0.0717146397, 0.974867344, 0.149801731, 0.164903864, -0.206288055, 0.886496186, 0.414209872, -0.0841372982, -0.437817276, 0.895118535),Alpha)
1377
		RH.C0 = RH.C0:lerp(CFrame.new(0.341723979, -0.70075196, -0.909261882, 0.916408718, -0.156607822, -0.368332833, 0.37586391, 0.653009117, 0.657499552, 0.137555093, -0.74098134, 0.657286465),Alpha)
1378
		LS.C0 = LS.C0:lerp(CFrame.new(-1.12974322, 0.700168073, -0.331798345, 0.866024196, -0.500002086, -1.9403808e-06, -0.336109906, -0.58215344, -0.740356505, 0.37017861, 0.641167343, -0.672214687),Alpha)
1379
		RS.C0 = RS.C0:lerp(CFrame.new(1.18027234, 0.700168073, -0.331798226, 0.866024196, 0.500002086, 1.9403808e-06, 0.336109906, -0.58215344, -0.740356505, -0.37017861, 0.641167343, -0.672214687),Alpha)
1380
		NK.C0 = NK.C0:lerp(CFrame.new(8.48525669e-05, 1.49900389, -0.00498836488, 0.999878228, 0.000899539154, -0.0155825512, -2.11317092e-06, 0.998345733, 0.0574962795, 0.0156084942, -0.0574892461, 0.998224139),Alpha)
1381
	end
1382
	Attack = false
1383
	NeutralAnims = true	
1384
end
1385
1386
function Bomb()
1387
	local bomb = Part(Effects,C3.N(1,1,1),Enum.Material.Neon,V3.N(15,15,15),Mouse.Hit,true,false)
1388
	Mesh(bomb,Enum.MeshType.Sphere)
1389
	bomb.Transparency = 1
1390
	coroutine.wrap(function()
1391
		for i = 15, 1, -(.005+(Power/10)) do
1392
			bomb.Size = V3.N(i,i,i)
1393
			bomb.Transparency = i/15
1394
			swait()
1395
		end
1396
		CamShakeAll(30,100,bomb.Position)
1397
		AOEDamage(bomb.Position,26,{MinimumDamage=15,MaximumDamage=45})
1398
		for i = 0, 50 do
1399
			bomb.Size = bomb.Size + V3.N(1,1,1)
1400
			bomb.Transparency = i/50
1401
			swait()
1402
		end
1403
		bomb:destroy()
1404
	end)()
1405
end
1406
1407
1408
function Teleport()
1409
	Attack = true
1410
	NeutralAnims = false
1411
	StillAura = false
1412
	local p = Mouse.Hit.p
1413
	local pp = V3.N(Root.Position.X, p.Y + 6, Root.Position.Z)
1414
	
1415
	local asd = CF.N(p,Root.Position)
1416
	
1417
	
1418
	local circle = NewInstance("Part",Effects,{CFrame=Root.CFrame*CF.N(0,0,-2),Size=V3.N(.05,.05,.05),Transparency=1,Anchored=true,CanCollide=false})
1419
	local decalF = NewInstance("Decal",circle,{Name='Front',Texture="rbxassetid://524002938",Color3=C3.N(1,1,1),Face=Enum.NormalId.Front,Transparency = 1})
1420
	local decalB = NewInstance("Decal",circle,{Name='Back',Texture="rbxassetid://524002938",Color3=C3.N(1,1,1),Face=Enum.NormalId.Back,Transparency=1})
1421
	local circle2=circle:Clone()
1422
	circle2.Parent = Effects
1423
	circle2.CFrame = CF.N(Mouse.Hit.p + V3.N(0, 6, 0), pp)
1424
	
1425
	local asdh = CF.N(circle2.Position,Root.Position)
1426
	Sound(circle,84005018,.7,10,false,true,true)
1427
	Sound(circle2,84005018,.7,10,false,true,true)
1428
	
1429
	local rad = 0
1430
	
1431
	local bigHomo = {}
1432
	for _, c in pairs(Char:GetDescendants()) do
1433
		if c:IsA'Decal' and c.Parent ~= Effects and c.Parent.Parent ~= Effects or c:IsA("BasePart") and c.Parent ~= Effects and not c.Parent.Name:lower():find'secret' then
1434
			table.insert(bigHomo,{c,c.Transparency})
1435
		end
1436
	end	
1437
	
1438
	for i = 0, 3, .1 do
1439
		local Alpha = .1
1440
		Change = .5
1441
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1442
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1443
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(90),0,M.R(25)),Alpha)
1444
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),0,M.R(-25)),Alpha)
1445
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1446
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1447
		circle.Size = circle.Size + V3.N(.2,.2,0)
1448
		circle2.Size = circle2.Size + V3.N(.2,.2,0)
1449
		circle.Front.Transparency=1-(i/3)
1450
		circle.Back.Transparency=1-(i/3)
1451
		circle2.Front.Transparency=1-(i/3)
1452
		circle2.Back.Transparency=1-(i/3)
1453
		rad = rad + 5
1454
		circle.CFrame=Root.CFrame*CF.N(0,0,-2)*CF.A(0,0,M.R(rad))
1455
		circle2.CFrame=circle2.CFrame*CF.A(0,0,M.R(45))
1456
		
1457
		swait()
1458
	end
1459
	
1460
	for i = 0, 2, .1 do
1461
		local Alpha = .1
1462
		Change = .5
1463
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1464
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1465
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(90),0,M.R(25)),Alpha)
1466
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(90),0,M.R(-25)),Alpha)
1467
		NK.C0 = NK.C0:lerp(NKC0,Alpha)
1468
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1469
		circle.CFrame=Root.CFrame*CF.N(0,0,-2)*CF.A(0,0,M.R(rad))
1470
		
1471
		swait()
1472
	end	
1473
	WalkSpeed = 0
1474
	Root.Anchored = true
1475
	for _,v in next, bigHomo do
1476
		Tween(v[1],{Transparency=1},.1,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false)
1477
		--Tween(v[1],{Transparency=1},.1)
1478
	end
1479
	StillAura = true
1480
	for i = 0, 1.2, .1 do
1481
		Root.Anchored = true
1482
		Root.CFrame = Root.CFrame * CF.N(0,0,-.2)
1483
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),.1)
1484
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),.1)
1485
		RS.C0 = RS.C0:lerp(RSC0*CF.A(-M.R(45),M.R(15),M.R(25+5*M.S(Sine / 12))),.1)
1486
		LS.C0 = LS.C0:lerp(LSC0*CF.A(-M.R(15),M.R(15),-M.R(10))*CF.A(0,0,-M.R(10+5*M.S(Sine / 12))),.1)
1487
		NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-14+7*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12)))*CF.A(M.R(25),0,0),.1)
1488
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(25),0,0)*CF.A(-M.R(2+3*M.C(Sine / 12)),0,0),.1)
1489
		swait()
1490
	end
1491
	Root.CFrame = asdh
1492
	for _,v in next, bigHomo do
1493
		Tween(v[1],{Transparency=v[2]},.12,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false)
1494
		--Tween(v[1],{Transparency=1},.1)
1495
	end
1496
	for i = 0, 1.4, .1 do
1497
		Root.Anchored = true
1498
		Root.CFrame = Root.CFrame * CF.N(0,0,-.5)
1499
		RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),.1)
1500
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),.1)
1501
		RS.C0 = RS.C0:lerp(RSC0*CF.A(-M.R(45),M.R(15),M.R(25+5*M.S(Sine / 12))),.1)
1502
		LS.C0 = LS.C0:lerp(LSC0*CF.A(-M.R(15),M.R(15),-M.R(10))*CF.A(0,0,-M.R(10+5*M.S(Sine / 12))),.1)
1503
		NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-14+7*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12)))*CF.A(M.R(25),0,0),.1)
1504
		RJ.C0 = RJ.C0:lerp(CF.A(-M.R(25),0,0)*CF.A(-M.R(2+3*M.C(Sine / 12)),0,0),.1)
1505
		swait()
1506
	end
1507
	coroutine.wrap(function()
1508
		for i = 0, 3, .1 do
1509
			swait() 
1510
			local Alpha = .1
1511
			Change = .5
1512
			circle.Size = circle.Size - V3.N(.2,.2,0)
1513
			circle2.Size = circle2.Size - V3.N(.2,.2,0)
1514
			circle.Front.Transparency=(i/3)
1515
			circle.Back.Transparency=(i/3)
1516
			circle2.Front.Transparency=(i/3)
1517
			circle2.Back.Transparency=(i/3)
1518
			
1519
			circle.CFrame=circle.CFrame*CF.A(0,0,-M.R(45))
1520
			circle2.CFrame=circle2.CFrame*CF.A(0,0,-M.R(45))
1521
		end
1522
	end)()
1523
	StillAura = false
1524
	Attack = false
1525
	NeutralAnims = true
1526
	WalkSpeed = 35
1527
	Root.Anchored = false
1528
end
1529
1530
function ThrowThisSkiddle()
1531
	local hit,pos = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (8*PlayerSize)), Char)
1532
	if(hit)then
1533
		local wer = Power
1534
		StillAura =true
1535
		Hum.AutoRotate = false
1536
		Attack = true
1537
		NeutralAnims = false
1538
		WalkSpeed = 0
1539
		local orb = Part(Effects,C3.N(1,1,1),Enum.Material.Neon,V3.N(.05,.05,.05),RArm.CFrame*CF.N(0,-1,0),true,false)
1540
		local orbM = Mesh(orb,Enum.MeshType.Sphere,"","",V3.N(1,1,1))
1541
		orb.Transparency = 1
1542
		local inc = .05+(Power/150)*(Power*1.5)
1543
		local limit = 4
1544
1545
		for i = 0, limit, .01*((Power+1)/2) do
1546
			Root.CFrame = CF.N(Root.CFrame.p,CF.N(Mouse.Hit.x,Root.CFrame.y,Mouse.Hit.z).p)
1547
			local Alpha = .3
1548
			Change = .5
1549
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1550
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1551
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1552
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(180),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1553
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1554
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1555
			local gay = CF.N(M.RNG(-15,15),0,M.RNG(-15,15))
1556
			local Orb = Part(Effects,C3.N(1,1,1),Enum.Material.Neon,V3.N(inc,inc,inc)*8,CF.N(pos,Torso.CFrame.lookVector)*gay,true,false)
1557
1558
			Mesh(Orb,Enum.MeshType.Sphere)
1559
			orb.Size=orb.Size+V3.N(inc,inc,inc)
1560
			orb.CFrame=LArm.CFrame * CF.N(0,-(5+orb.Size.Y/2),0)
1561
			orb.Transparency=1-i/inc
1562
			Arc{Part=Orb,End=orb.CFrame,Time=35,Height=15,Yield=false,DestroyEnd=true}
1563
			swait()
1564
		end	
1565
		Sound(Head,159882598,.75,10,false,true,true)
1566
		Sound(Head,160212892,1,10,false,true,true)
1567
		for i = 0, 3, .1 do
1568
			Root.CFrame = CF.N(Root.CFrame.p,CF.N(Mouse.Hit.x,Root.CFrame.y,Mouse.Hit.z).p)
1569
			local Alpha = .3
1570
			Change = .5
1571
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1572
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1573
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1574
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(180),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1575
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1576
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),0,0),Alpha)
1577
			orb.CFrame=LArm.CFrame * CF.N(0,-(5+orb.Size.Y/2),0)
1578
			swait()
1579
		end	
1580
		for i = 0, 6, .1 do
1581
			Root.CFrame = CF.N(Root.CFrame.p,CF.N(Mouse.Hit.x,Root.CFrame.y,Mouse.Hit.z).p)
1582
			local Alpha = .3
1583
			Change = .5
1584
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1585
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1586
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1587
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(245),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1588
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1589
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),M.R(25),0),Alpha)
1590
			orb.CFrame=LArm.CFrame * CF.N(0,-(5+orb.Size.Y/2),0)
1591
			swait()
1592
		end	
1593
		
1594
		
1595
		ShootBullet{Size=orb.Size,Shape='Ball',Frames=600*(Power/2),Origin=orb.CFrame,Speed=5,Color=C3.N(1,1,1),HitFunction = function(hit,pos,Scale)
1596
			
1597
			local snd, part = SoundPart(151304356,1,10,false,true,true,CF.N(pos))
1598
			AOEDamage(pos,Scale*8,{MinimumDamage=45,MaximumDamage=95})
1599
			
1600
			Effect{
1601
				Effect='ResizeAndFade',
1602
				Color=C3.N(1,1,1),
1603
				Size=V3.N(Scale*2,Scale*2,Scale*2),
1604
				Material=Enum.Material.Neon,
1605
				Mesh={MeshType=Enum.MeshType.Sphere},
1606
				CFrame=CF.N(pos),
1607
				FXSettings={
1608
					EndSize=V3.N(.1,.1,.1),
1609
					EndIsIncrement=true
1610
				}
1611
			}
1612
			Effect{
1613
				Effect='ResizeAndFade',
1614
				Color=C3.N(1,1,1),
1615
				Size=V3.N(Scale*1.5,Scale*1.5,Scale*1.5),
1616
				Material=Enum.Material.Neon,
1617
				Mesh={MeshType=Enum.MeshType.Sphere},
1618
				CFrame=CF.N(pos),
1619
				FXSettings={
1620
					EndSize=V3.N(.1,.1,.1),
1621
					EndIsIncrement=true
1622
				}
1623
			}
1624
			for i = 0, 49 do
1625
				NoobyBlock(1,(M.RNG(1,10)/2)*(Power),"Multiply",CF.N(pos)*CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360)),V3.N(4,4,4)*(Power),0.08*Power,C3.N(1,1,1),0,true)
1626
			end
1627
			for i = 0, 9 do
1628
				NoobySphere(1,2.5*(Power),"Multiply",CF.N(pos)*CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360)),V3.N(5,5,50)*(Power),-0.05*Power,C3.N(1,1,1),0)
1629
				NoobySphere(2,5*(Power),"Multiply",CF.N(pos)*CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360)),V3.N(5,5,50)*(Power),-0.05*Power,C3.N(1,1,1),0)
1630
			end
1631
		end}
1632
		orb:destroy()
1633
		for i = 0, 3, .1 do
1634
			local Alpha = .3
1635
			Change = .5
1636
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1637
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1638
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1639
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(65),0,M.R(35)),Alpha)
1640
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1641
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(2+3*M.S(Sine / 12)),M.R(-55),0),Alpha)
1642
			swait()
1643
		end	
1644
		Hum.AutoRotate = true
1645
		WalkSpeed = 35
1646
		Attack = false
1647
		NeutralAnims = true
1648
		StillAura = false
1649
	end
1650
end
1651
1652
function Roar()
1653
	Attack = true
1654
	NeutralAnims = falseq
1655
	WalkSpeed = 0
1656
	local raw = Sound(Head,1473726649,1.2,5,false,true,true)
1657
	raw:Play()
1658
	swait(2)
1659
	repeat
1660
		swait()
1661
		raw.Parent = Head
1662
		local Alpha = .3
1663
		RH.C0 = RH.C0:lerp(RHC0*CF.A(M.R(-25+2.5*M.S(Sine / 12)),0,M.R(10+5*M.S(Sine / 12))),Alpha)
1664
		LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(-15+2.5*M.S(Sine / 12)),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1665
		RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-25),0,M.R(10+5*M.S(Sine / 12))),Alpha)
1666
		LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-25),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1667
		NK.C0 = NK.C0:lerp(NKC0*CF.A(-M.R(0+4.5*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12))),Alpha)
1668
		RJ.C0 = RJ.C0:lerp(CF.A(M.R(25+2.5*M.S(Sine / 12)),0,0),Alpha)
1669
	until raw.Playing == false
1670
	print(raw.Playing,raw.IsPlaying)
1671
	Attack = false
1672
	NeutralAnims = true
1673
	WalkSpeed = 35
1674
end
1675
1676
--// Wrap it all up \\--
1677
1678
1679
local nums = {Enum.KeyCode.One,Enum.KeyCode.Two,Enum.KeyCode.Three,Enum.KeyCode.Four,Enum.KeyCode.Five,Enum.KeyCode.Six}
1680
1681
function KeyToNum(kc)
1682
	for i,v in next, nums do
1683
		if(v == kc)then
1684
			return i
1685
		end
1686
	end
1687
end
1688
1689
S.UserInputService.InputBegan:connect(function(io,gpe)
1690
	if(gpe)then return end
1691
	local num = KeyToNum(io.KeyCode)
1692
	if(num and typeof(num) == 'number' and num > 0)then
1693
		Power = num
1694
	end
1695
1696
end)
1697
1698
Mouse.KeyDown:connect(function(k)
1699
	if(Attack)then return end
1700
	if(k == 'b')then
1701
		if(Power < 4)then
1702
			DivinePillarsWeak()
1703
		else
1704
			DivinePillars()
1705
		end
1706
	elseif(k == 'z')then
1707
		Bomb()
1708
	elseif(k == 'c')then
1709
		ThrowThisSkiddle()
1710
	elseif(k == 'q')then
1711
		Teleport()
1712
	elseif(k == 't')then
1713
		Roar()
1714
	end	
1715
end)
1716
1717
Mouse.Button1Down:connect(function()
1718
	if(Attack)then return end
1719
	Smite()
1720
end)
1721
1722
coroutine.wrap(function()
1723
	while true do
1724
		swait(1)
1725
		if(NeutralAnims or StillAura)then
1726
			NoobySphere(3,.05,'Multiply',RArm.CFrame*CF.N(0,-1,0)*CF.A(M.RRNG(0,360),M.RRNG(0,360),M.RRNG(0,360)),V3.N(.5,.5,.5),-.005,C3.N(1,1,1),0,nil,'xyz')
1727
		end
1728
	end	
1729
end)()
1730
1731
1732
local BODY = {}
1733
local FULLREGEN = false
1734
for _, c in pairs(Char:GetDescendants()) do
1735
	if c:IsA("BasePart") and not c.Parent.Name:lower():find'secret' then
1736
		if(c ~= Root and c ~= Torso and c ~= Head and c ~= RArm and c ~= LArm and c ~= RLeg and c ~= LLeg)then
1737
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1738
		end
1739
		local REGENVALUE = IN("BoolValue",c)
1740
		REGENVALUE.Name = "IsRegening"
1741
		table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name,REGENVALUE})
1742
	elseif c:IsA("JointInstance") and c.Name ~= "AccessoryWeld" then
1743
		table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil,nil})
1744
	end
1745
end
1746
1747
function FullBodyRegen() -- thanks shack bb
1748
	if not FULLREGEN then
1749
		Sound(Head,907330011,M.RNG(80,120)/100,3,false,true,true)
1750
		FULLREGEN = true
1751
		Hum.MaxHealth = "inf"
1752
		Hum.Health = "inf"
1753
		Hum.Parent = nil
1754
		
1755
		Char.Parent = workspace
1756
		for e = 1, #BODY do
1757
			if BODY[e] ~= nil then
1758
				local STUFF = BODY[e]
1759
				local PART = STUFF[1]
1760
				local PARENT = STUFF[2]
1761
				local MATERIAL = STUFF[3]
1762
				local COLOR = STUFF[4]
1763
				local TRANSPARENCY = STUFF[5]
1764
				--local SIZE = STUFF[6]
1765
				local NAME = STUFF[7]
1766
				local VALUE = STUFF[8]
1767
				PART.Parent = PARENT
1768
				
1769
			end
1770
		end
1771
		FULLREGEN = false
1772
		Hum = IN("Humanoid",Char)
1773
		Hum.HipHeight = 2
1774
		Hum.Died:Connect(FullBodyRegen)
1775
	end
1776
end
1777
1778
Hum.Died:connect(FullBodyRegen)
1779
1780
local FOUNDFORGOTTEN = false
1781
while true do
1782
	swait()
1783
	Sine = Sine + Change
1784
	if(not Music or not Music.Parent)then
1785
		local tp = (Music and Music.TimePosition)
1786
		Music = Sound(Char,MusicID,1,1,true,false,true)
1787
		Music.Name = 'Music'
1788
		Music.TimePosition = tp
1789
	end
1790
	Hum.HipHeight = 2
1791
	Music.SoundId = "rbxassetid://"..MusicID
1792
	Music.Parent = Char
1793
	Music.Pitch = 1
1794
	Music.Volume = 1
1795
	if(not Muted and not FOUNDFORGOTTEN)then
1796
		Music:Resume()
1797
	else
1798
		Music:Pause()
1799
	end
1800
	
1801
	
1802
	if(God)then
1803
		Hum.MaxHealth = 1e100
1804
		Hum.Health = 1e100
1805
		if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
1806
		Hum.Name = M.RNG()*100
1807
	end
1808
	
1809
	local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
1810
	
1811
	local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
1812
	local State = (Walking and "Walk" or "Idle")
1813
	if(not Effects or not Effects.Parent)then
1814
		Effects = IN("Model",Char)
1815
		Effects.Name = "Effects"
1816
	end																																																																																																				
1817
1818
	Hum.WalkSpeed = WalkSpeed
1819
	if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
1820
	if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
1821
	
1822
	Instance.ClearChildrenOfClass(Char,"BodyColors")
1823
	Torso.Color = C3.N(.5,.5,.5)
1824
	RArm.Color = C3.N(.3,.3,.3)
1825
	LArm.Color = C3.N(.3,.3,.3)
1826
	RLeg.Color = C3.N(.4,.4,.4)
1827
	LLeg.Color = C3.N(.4,.4,.4)
1828
1829
	local Alpha = .1
1830
	RH.C1 = RH.C1:lerp(RHC1*CF.N(0,0-.25*M.C(Sine / 12),0),Alpha)
1831
	LH.C1 = LH.C1:lerp(LHC1*CF.N(-.1,-.5,.5)*CF.N(0,0-.25*M.C(Sine / 12),0),Alpha)
1832
	RS.C1 = RS.C1:lerp(RSC1*CF.N(0,0-.25*M.C(Sine / 12),0),Alpha)
1833
	LS.C1 = LS.C1:lerp(LSC1*CF.N(0,0-.25*M.C(Sine / 12),0),Alpha)
1834
	RJ.C1 = RJ.C1:lerp(CF.N(0,0-.25*M.C(Sine / 12),0),Alpha)
1835
	
1836
	if(NeutralAnims)then	
1837
		if(State == 'Idle')then
1838
			local Alpha = .1
1839
			Change = 2/3
1840
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),Alpha)
1841
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1842
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(45),0,M.R(25+5*M.S(Sine / 12))),Alpha)
1843
			LS.C0 = LS.C0:lerp(LSC0*CF.A(0,0,-M.R(10+5*M.S(Sine / 12))),Alpha)
1844
			NK.C0 = NK.C0:lerp(NKC0*CF.A(-M.R(0+4.5*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12))),Alpha)
1845
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(4+2.5*M.S(Sine / 12)),0,0),Alpha)
1846
		elseif(State == 'Walk')then
1847
			RH.C0 = RH.C0:lerp(RHC0*CF.A(0,0,M.R(10+5*M.S(Sine / 12))),.1)
1848
			LH.C0 = LH.C0:lerp(LHC0*CF.A(M.R(10),0,-M.R(10+5*M.S(Sine / 12))),.1)
1849
			RS.C0 = RS.C0:lerp(RSC0*CF.A(-M.R(45),M.R(15),M.R(25+5*M.S(Sine / 12))),.1)
1850
			LS.C0 = LS.C0:lerp(LSC0*CF.A(-M.R(15),M.R(15),-M.R(10))*CF.A(0,0,-M.R(10+5*M.S(Sine / 12))),.1)
1851
			NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(25+4.5*M.C(Sine/12)),0,M.R(-2-3*M.C(Sine/12))),.1)
1852
			RJ.C0 = RJ.C0:lerp(CF.A(-M.R(25+2.5*M.S(Sine / 12)),0,0)*CF.A(-M.R(2+3*M.C(Sine / 12)),0,0),.1)
1853
		end
1854
	end
1855
	
1856
	FOUNDFORGOTTEN = false
1857
	Hum.DisplayDistanceType = "None"
1858
	for _, c in pairs(workspace:GetChildren()) do
1859
		if c.ClassName == "Model" then
1860
			for _, q in pairs(c:GetChildren()) do
1861
				if (q.Name == "Forgotten Dominus" or q.Name == 'PHAEDRA') and q:IsA'Humanoid' then
1862
					FOUNDFORGOTTEN = true
1863
				end
1864
			end
1865
		end
1866
	end
1867
	if FOUNDFORGOTTEN == true then
1868
		Music:Stop()
1869
	else
1870
		Music.Playing = true
1871
	end
1872
	
1873
	for i,v in next, BloodPuddles do
1874
		local mesh = i:FindFirstChild'CylinderMesh'
1875
		BloodPuddles[i] = v + 1
1876
		if(not mesh or i.Transparency >= 1)then
1877
			i:destroy() 
1878
			BloodPuddles[i] = nil
1879
		elseif(v >= Frame_Speed*4)then
1880
			local trans = (v-Frame_Speed*4)/(Frame_Speed*2)
1881
			i.Transparency = trans
1882
	            if(mesh.Scale.Z > 0)then
1883
	                mesh.Scale = mesh.Scale-V3.N(.05,0,.05)
1884
	            end
1885
		else
1886
			i.Transparency = 0
1887
		end
1888
	end
1889
end