View difference between Paste ID: kCTw2qKH and ATKmpnDv
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
4
local RealPlayer = Player
5
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},Soundscape=r:GetService("RunService").Heartbeat,BindToSoundscape=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
6
7
	-- Created by Nebula_Zorua --
8
	-- Two invisible eyes..
9
	-- Two, invisible, monsterous eyes..
10
	-- Discord: Nebula the Zorua#6969
11
	-- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
12
	-- Credit to makhail07 for the idea (lub u bby)
13
wait(1)
14
15
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
16
17
local plr = S.Players.LocalPlayer
18
local char = plr.Character
19
local hum = char:FindFirstChildOfClass'Humanoid'
20
local rarm = char["Right Arm"]
21
local larm= char["Left Arm"]
22
local rleg= char["Right Leg"]
23
local lleg = char["Left Leg"]	
24
local root = char:FindFirstChild'HumanoidRootPart'
25
local torso = char.Torso
26
local head = char.Head
27
local sine = 0;
28
local combo = 1;
29
local lastClick = time()
30
local change = 1;
31
local runService = S.RunService
32-
local PlayerSize = 2
32+
33
local Attack = false
34
local neutralAnims = true
35
local GlitchTime = 0;
36
local PaintBody = 'Black'
37
local DeleteClothing = true
38
local PlayerSize = 1
39
local Debounces = {Debounces={}}
40
local Hit = {}
41
local BloodPuddles = {}
42
local Teamed = {}
43
hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
44
hum.MaxHealth = 1e4
45
hum.Health = 1e4
46
hum.Name = '13'
47
Instance.new("ForceField",char).Visible = false
48
function Debounces:New(name,cooldown)
49
	local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
50
	setmetatable(aaaaa,{__index = Debounces})
51
	Debounces.Debounces[name] = aaaaa
52
	return aaaaa
53
end
54
55
function Debounces:Use(overrideUsable)
56
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
57
	if(self.Usable or overrideUsable)then
58
		self.Usable = false
59
		self.CoolingDown = true
60
		local LastUse = time()
61
		self.LastUse = LastUse
62
		delay(self.Cooldown or 2,function()
63
			if(self.LastUse == LastUse)then
64
				self.CoolingDown = false
65
				self.Usable = true
66
			end
67
		end)
68
	end
69
end
70
71
function Debounces:Get(name)
72
	assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
73
	for i,v in next, Debounces.Debounces do
74
		if(i == name)then
75
			return v;
76
		end
77
	end
78
end
79
80
function Debounces:GetProgressPercentage()
81
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
82
	if(self.CoolingDown and not self.Usable)then
83
		return math.max(
84
			math.floor(
85
				(
86
					(time()-self.LastUse)/self.Cooldown or 2
87
				)*100
88
			)
89
		)
90
	else
91
		return 100
92
	end
93
end
94
95
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
96
local V3 = {N=Vector3.new}
97
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge}
98
99
local Effects,Sounds = {},{};
100
--Stop animations
101
for _,v in next, hum:GetPlayingAnimationTracks() do
102
	v:Stop();
103
end
104
105
pcall(game.Destroy,char:FindFirstChild'Animate')
106
pcall(game.Destroy,hum:FindFirstChild'Animator')
107
108
-- Sounds
109
Sounds['Wet'] = {Id=256738023,Loop=false,Pitch=1}
110
Sounds['Swoosh1'] = {Id=320557353,Loop=false,Pitch=1,Volume=6}
111
Sounds['Swoosh2'] = {Id=320557382,Loop=false,Pitch=1,Volume=6}
112
Sounds['Swoosh3'] = {Id=320557413,Loop=false,Pitch=1,Volume=6}
113
Sounds['Swoosh4'] = {Id=320557453,Loop=false,Pitch=1,Volume=6}
114
Sounds['Swoosh5'] = {Id=320557487,Loop=false,Pitch=1,Volume=6}
115
Sounds['Swoosh6'] = {Id=320557537,Loop=false,Pitch=1,Volume=6}
116
Sounds['Swoosh7'] = {Id=320557563,Loop=false,Pitch=1,Volume=6}
117
Sounds['Swoosh8'] = {Id=320557518,Loop=false,Pitch=1,Volume=6}
118
Sounds['SmallBoom'] = {Id=341336485,Loop=false,Volume=5,Pitch=1}
119
Sounds['ChaosBuster'] = {Id=333534812,Loop=false,Volume=5,Pitch=0.75}
120
Sounds['Magic'] = {Id=315743350,Loop=false,Volume=5,Pitch=1}
121
Sounds['ShrekRemix'] = {Id=163306929,Loop=true,Pitch=1,Volume = 4}
122
Sounds['CreoDimension'] = {Id=927529620,Loop=true,Pitch=1,Volume=4}
123
Sounds['BlackBlizzard'] = {Id=657626121,Loop=true,Pitch=1,Volume=4}
124
Sounds['ColbreakzFantasy'] = {Id=876981900,Loop=true,Pitch=1,Volume=4}
125
Sounds['NeflCrystals'] = {Id=340106355,Loop=true,Pitch=1,Volume=4}
126
Sounds['EvilMortyRemix'] = {Id=1057401232,Loop=true,Pitch=1,Volume=10}
127
Sounds['Astronaut13'] = {Id=723652641,Loop=true,Pitch=0.9,Volume=10}
128
-- Functions
129
local NewInstance = function(instance,parent,properties)
130
	local inst = Instance.new(instance,parent)
131
	if(properties)then
132
		for i,v in next, properties do
133
			pcall(function() inst[i] = v end)
134
		end
135
	end
136
	return inst;
137
end
138
139
140
ArtificialHB = NewInstance("BindableEvent", script,{
141
	Parent = script,
142
	Name = "Heartbeat",
143
})
144
145
script:WaitForChild("Heartbeat")
146
147
frame = 1 / 60
148
tf = 0
149
allowframeloss = false
150
tossremainder = false
151
lastframe = tick()
152
script.Heartbeat:Fire()
153
154
game:GetService("RunService").Heartbeat:connect(function(s, p)
155
	tf = tf + s
156
	if tf >= frame then
157
		if allowframeloss then
158
			script.Heartbeat:Fire()
159
			lastframe = tick()
160
		else
161
			for i = 1, math.floor(tf / frame) do
162
				script.Heartbeat:Fire()
163
			end
164
			lastframe = tick()
165
		end
166
		if tossremainder then
167
			tf = 0
168
		else
169
			tf = tf - frame * math.floor(tf / frame)
170
		end
171
	end
172
end)
173
174
function swait(num)
175
	if num == 0 or num == nil then
176
		ArtificialHB.Event:wait()
177
	else
178
		for i = 0, num do
179
			ArtificialHB.Event:wait()
180
		end
181
	end
182
end
183
184
function ClearChildrenWithClass(where,class,recursive)
185
	local children = (recursive and where:GetDescendants() or where:GetChildren())
186
	for _,v in next, children do
187
		if(v:IsA(class))then
188
			v:destroy()
189
		end
190
	end
191
end
192
function clerp(startCF,endCF,alpha)
193
	return startCF:lerp(endCF, alpha)
194
end
195
local sndFromData = function(data,parent)
196
	assert(typeof(data) == 'table',"sndFromData's first argument must be a table!")
197
	local snd = NewInstance("Sound",parent or char,{SoundId = "rbxassetid://"..data.Id,Looped=data.Loop or false,Pitch = data.Pitch or 1,Volume = data.Volume or 1})
198
	if(not snd.Looped)then
199
		snd.Ended:connect(function()
200
			snd:Stop()
201
			snd:destroy()
202
		end)
203
	end
204
	return snd;
205
end
206
207
local FX = function(ID,vol,pitch,parent)
208
	local snd = NewInstance("Sound",parent or torso, {Pitch=pitch or 1, Volume = vol or 1,SoundId = "rbxassetid://"..ID})
209
	snd:Play()
210
	repeat wait() until snd.IsLoaded and snd.IsPlaying
211
	delay(snd.TimePosition+.5,function()
212
		snd:Stop()
213
		snd:Destroy()
214
	end)
215
end
216
217
function Fragment(part,number,delayE)
218
	part.Anchored = true
219
	local Fragments = NewInstance("Folder",part.Parent,{Name='Fragmentation'})
220
	local Size = V3.N(part.Size.X/number,part.Size.Y/number,part.Size.Z/number)
221
	local Start = CF.N((part.CFrame.X-part.Size.X/2) + Size.X/2,(part.CFrame.Y-part.Size.Y/2) + Size.Y/2,(part.CFrame.Z-part.Size.Z/2) + Size.Z/2)
222
	for x = 0, number-1 do
223
		for y = 0, number-1 do
224
			for z = 0, number-1 do
225
				local frag = NewInstance('Part',Fragments,{Anchored=true,Size=Size,BrickColor=part.BrickColor,Material=part.Material,Transparency=part.Transparency,Reflectance=part.Reflectance,CanCollide=true,CFrame=CF.N(Start.X+x*Size.X,Start.Y+y*Size.Y,Start.Z+z*Size.Z)})
226
				if(delayE ~= false)then swait(delayE or nil) end
227
			end
228
		end
229
	end
230
	part:destroy()
231
	return Fragments
232
end
233
function halfit(v)         
234
	v:ClearAllChildren()
235
	v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
236
	v.Name = v.Name.."Half"
237
	
238
	local a = v:Clone()
239
	a.Parent = v.Parent
240
	a.CFrame = CF.N(1,1,-.5) * v.CFrame
241
	v.CFrame = CF.N(1,1,.5) * v.CFrame
242
	return a,v
243
end
244
245
function Fragment2(v)
246
	v:ClearAllChildren()
247
	local Fragments = NewInstance("Folder",v.Parent,{Name='Fragmentation'})
248
	v.Archivable = true
249
	-- X
250
	v.Size = Vector3.new(v.Size.x/2,v.Size.y,v.Size.z)
251
	v.Name = v.Name.."Fragment"
252
	
253
	local a = v:Clone()
254
	a.Parent = Fragments
255
	a.CFrame = CF.N(-.5,1,1) * a.CFrame
256
	v.CFrame = CF.N(.5,1,1) * v.CFrame
257
	-- Y
258
	v.Size = Vector3.new(v.Size.x,v.Size.y/2,v.Size.z)
259
	
260
	local a = v:Clone()
261
	a.Parent = Fragments
262
	a.CFrame = CF.N(1,-.5,1) * a.CFrame
263
	v.CFrame = CF.N(1,.5,1) * v.CFrame
264
	-- Z
265
	v.Size = Vector3.new(v.Size.x,v.Size.y,v.Size.z/2)
266
	
267
	local a = v:Clone()
268
	a.Parent = Fragments
269
	a.CFrame = CF.N(1,1,-.5) * a.CFrame
270
	v.CFrame = CF.N(1,1,.5) * v.CFrame
271
	
272
	v.Parent = Fragments
273
	return Fragments
274
end
275
function UnbindLoops()
276
	pcall(runService.UnbindFromRenderStep,runService,"N_Effects")
277
	pcall(runService.UnbindFromRenderStep,runService,"N_Animations")
278
end;
279
280
UnbindLoops() -- Just so if the loops already exist from previously running a script using this template, there's no errors
281
282
-- Model
283
284
game:service'Lighting'.FogEnd = 100
285
game:service'Lighting'.FogStart = 0
286
game:service'Lighting'.FogColor = BrickColor.new'Black'.Color
287
game:service'Lighting'.ClockTime = 22
288
289
local Sky = Instance.new("Sky",game:service'Lighting')
290
Sky.MoonAngularSize = 30
291
Sky.MoonTextureId = "http://www.roblox.com/asset/?id=156679858"
292
293
294
local Music = sndFromData(Sounds.Astronaut13,torso) -- incase u want music
295
Music.MaxDistance = 500
296
Music:Play()
297
local Distorted = NewInstance("EqualizerSoundEffect",Music,{MidGain=0,HighGain=0,LowGain=0})
298
ClearChildrenWithClass(char,"Decal",true)
299
ClearChildrenWithClass(char,"Clothing",true)
300
301
-- Joints, etc
302
if(PaintBody)then
303
	char['Body Colors'].LeftArmColor = BrickColor.new(PaintBody)
304
	char['Body Colors'].RightArmColor = BrickColor.new(PaintBody)
305
	char['Body Colors'].LeftLegColor = BrickColor.new(PaintBody)
306
	char['Body Colors'].RightLegColor = BrickColor.new(PaintBody)
307
	char['Body Colors'].TorsoColor = BrickColor.new(PaintBody)
308
	char['Body Colors'].HeadColor = BrickColor.new(PaintBody)
309
end
310
311
local FT,RA,LA,RL,LL = Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh"),Instance.new("SpecialMesh")
312
FT.MeshId,FT.Scale = "rbxasset://fonts/torso.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
313
RA.MeshId,RA.Scale = "rbxasset://fonts/rightarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
314
LA.MeshId,LA.Scale = "rbxasset://fonts/leftarm.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
315
RL.MeshId,RL.Scale = "rbxasset://fonts/rightleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
316
LL.MeshId,LL.Scale = "rbxasset://fonts/leftleg.mesh",V3.N(PlayerSize,PlayerSize,PlayerSize)
317
318
if(PlayerSize ~= 1)then
319
	for _,v in next, char:GetDescendants() do
320
		if(v:IsA'BasePart')then
321
			v.Size = v.Size * PlayerSize
322
		end
323
	end
324
end
325
	
326
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)})
327
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)})
328
local NK = NewInstance('Motor',char,{Part0=torso,Part1=head,C0 = CF.N(0,1.5 * PlayerSize,0)})
329
local LH = NewInstance('Motor',char,{Part0=torso,Part1=lleg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
330
local RH = NewInstance('Motor',char,{Part0=torso,Part1=rleg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
331
local RJ = NewInstance('Motor',char,{Part0=root,Part1=torso})
332
--local HW = NewInstance('Motor',char,{Part0=rarm,Part1=Handle,C0 = CF.N(0,.5,0)})
333
-- watevr
334
335
-- Default C0s
336
local LSD=LS.C0
337
local RSD=RS.C0	
338
local HD=NK.C0
339
local TD=RJ.C0
340
local LHD=LH.C0
341
local RHD=RH.C0
342
343
-- Check State
344
function CheckState(rPart)
345
	if(math.abs(rPart.Velocity.x) > 2 or math.abs(rPart.Velocity.z) > 2)then
346
		return 'Walk';
347
	end
348
	return 'Idle';
349
end
350
351
-- Effect Functions
352
function SphereFX(duration,color,scale,pos,endScale)
353
	local rng = Instance.new("Part", char)
354
	rng.Anchored = true
355
	rng.BrickColor = color
356
	rng.CanCollide = false
357
	rng.FormFactor = 3
358
	rng.Name = "Ring"
359
	rng.Size = Vector3.new(1,1,1)
360
	rng.Transparency = 0
361
	rng.TopSurface = 0
362
	rng.BottomSurface = 0
363
	rng.CFrame = pos
364
	local rngm = Instance.new("SpecialMesh", rng)
365
	rngm.MeshType = "Sphere"
366
	rngm.Scale = scale
367
	table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
368
	return rng
369
end
370
371
function BlastFX(duration,color,scale,pos,endScale)
372
	local rng = Instance.new("Part", char)
373
	rng.Anchored = true
374
	rng.BrickColor = color
375
	rng.CanCollide = false
376
	rng.FormFactor = 3
377
	rng.Name = "Ring"
378
	rng.Size = Vector3.new(1,1,1)
379
	rng.Transparency = 0
380
	rng.TopSurface = 0
381
	rng.BottomSurface = 0
382
	rng.CFrame = pos
383
	local rngm = Instance.new("SpecialMesh", rng)
384
	rngm.MeshType = "FileMesh"
385
	rngm.MeshId = 'rbxassetid://20329976'
386
	rngm.Scale = scale
387
	table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
388
	return rng
389
end
390
391
function BlockFX(duration,color,scale,pos,endScale)
392
	local rng = Instance.new("Part", char)
393
	rng.Anchored = true
394
	rng.BrickColor = color
395
	rng.CanCollide = false
396
	rng.FormFactor = 3
397
	rng.Name = "Ring"
398
	rng.Size = Vector3.new(1,1,1)
399
	rng.Transparency = 0
400
	rng.TopSurface = 0
401
	rng.BottomSurface = 0
402
	rng.CFrame = pos
403
	local rngm = Instance.new("BlockMesh", rng)
404
	rngm.Scale = scale
405
	table.insert(Effects, {Frame = 0, Effect="Block", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
406
	return rng
407
end
408
409
function LaserFX(duration,color,cframe,scale,endScale)
410
	local rng = Instance.new("Part", char)
411
	rng.Anchored = true
412
	rng.BrickColor = color
413
	rng.CanCollide = false
414
	rng.FormFactor = 3
415
	rng.Material = Enum.Material.Neon
416
	rng.Name = "Laser"
417
	rng.Size = Vector3.new(.5,.5,.5)
418
	rng.Transparency = 0
419
	rng.TopSurface = 0
420
	rng.BottomSurface = 0
421
	rng.CFrame = cframe
422
	local rngm = Instance.new("CylinderMesh", rng)
423
	rngm.Scale = scale
424
	table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = cframe})
425
	return rng
426
end
427
428
429
function BloodDrop(pos,dir,maxsize)
430
	local owo = NewInstance("Part",char,{Material=BloodMaterial,BrickColor=BloodColor,Shape=Enum.PartType.Ball,Size=V3.N(.25,.25,.25), CanCollide = false})
431
	owo.CFrame=CF.N(pos,dir)
432
	local bv = Instance.new("BodyVelocity",owo) 
433
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
434
	bv.velocity = CF.N(pos,dir+V3.N(M.RNG(-3,3)/30,M.RNG(-3,3)/30,M.RNG(-3,3)/30)).lookVector*15
435
	bv.Name = "MOVE"
436
	game:service'Debris':AddItem(bv,0.05)
437
	local touch 
438
	touch = owo.Touched:connect(function(hit)
439
		if(hit.Anchored==true)then
440
			touch:disconnect()
441
			BloodPuddle(owo.Position+V3.N(0,1,0),10,maxsize,owo)
442
			owo:destroy()
443
		end
444
	end)
445
end
446
function BloodPuddle(position,range,maxSize,where)
447
	local hit, pos, norm = workspace:FindPartOnRayWithIgnoreList(Ray.new(
448
		position,CF.N(position,position+V3.N(0,-1,0)).lookVector * range			
449
	),{where,char},false,true)
450
	if(hit)then
451
		if(BloodPuddles[hit])then
452
			BloodPuddles[hit].Frame = 0
453
			if(hit:FindFirstChild'CylinderMesh' and hit.CylinderMesh.Scale.Z < BloodPuddles[hit].MaxSize)then
454
				hit.CylinderMesh.Scale = hit.CylinderMesh.Scale + V3.N(.1,0,.1)
455
			end
456
		else
457
			local Puddle = NewInstance('Part',workspace,{Material=BloodMaterial,BrickColor=BloodColor,Size=V3.N(1,.1,1),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
458
			local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
459
			BloodPuddles[Puddle] = {MaxSize=maxSize or 7,Frame=0}
460
		end
461
	end
462
end
463
464
465
function ShatterFX(duration,color,scale,cframe)
466
	local rng = Instance.new("Part", char)
467
	rng.Anchored = true
468
	rng.BrickColor = color
469
	rng.CanCollide = false
470
	rng.FormFactor = 3
471
	rng.Name = "Ring"
472
	rng.Size = Vector3.new(1,1,1)
473
	rng.Transparency = 0
474
	rng.TopSurface = 0
475
	rng.BottomSurface = 0
476
	rng.CFrame = cframe * CF.fEA(M.RNG(-50, 50), M.RNG(-50, 50), M.RNG(-50, 50))
477
	local rngm = Instance.new("SpecialMesh", rng)
478
	rngm.Scale = scale
479
	rngm.MeshType = "Sphere"
480
	table.insert(Effects, {Frame = 0, Effect="Shatter", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale,Position=rng.CFrame})
481
end
482
483
function RingFX(duration,color,scale,pos,endScale)
484
	local type = type
485
	local rng = Instance.new("Part", char)
486
	rng.Anchored = true
487
	rng.BrickColor = color
488
	rng.CanCollide = false
489
	rng.FormFactor = 3
490
	rng.Name = "Ring"
491
	rng.Size = Vector3.new(1,1,1)
492
	rng.Transparency = 0
493
	rng.TopSurface = 0
494
	rng.BottomSurface = 0
495
	rng.CFrame = pos
496
	local rngm = Instance.new("SpecialMesh", rng)
497
	rngm.MeshId = "rbxassetid://3270017"
498
	rngm.Scale = scale
499
	table.insert(Effects, {Frame = 0, Effect="Sphere", Duration = duration or 30, Part=rng, Mesh = rngm, Scale = scale, EndScale = endScale or scale*2, Position = pos})
500
	return rng
501
end
502
503
function Shoot(StartCF,EndCF,Spread,Speed,Num,Color,Drop,MinDamage,MaxDamage)
504
	local Spread = V3.N(M.RNG(-Spread,Spread),M.RNG(-Spread,Spread),M.RNG(-Spread,Spread))
505
	local Start = StartCF.p
506
	local End = EndCF.p
507
	local SpreadPos = End + Spread
508
	local Look = CF.N((Start + SpreadPos) / 2, SpreadPos)
509
	local Count = Num
510
	spawn(function()
511
		repeat
512
			wait()
513
			local hit, pos = workspace:findPartOnRay(Ray.new(
514
				Start,(Look.lookVector).unit * Speed		
515
			),char,false,true)
516
			local dist = (Start-pos).magnitude
517
			local yScale = dist * (Speed / (Speed/2))
518
			local aa = CF.N((Start + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0)
519
			LaserFX(25,Color,aa,Vector3.new(1,yScale,1),Vector3.new(-1,yScale,-1))
520
			Start = Start + Look.lookVector	* Speed
521
			Look = Look * CF.A(M.R(Drop or -1),0,0)
522
			Count = Count - 1
523
			
524
			if(hit)then
525
				Count = 0
526
				MagniDamage(pos,10,MinDamage,MaxDamage,0,'Normal')
527
			end
528
			if(Count <= 0)then
529
				local sphere = SphereFX(25,Color,Vector3.new(5,5,5),CF.N(pos),Vector3.new(15,15,15))
530
				local ring = RingFX(25,Color,Vector3.new(6,6,6),CF.N(pos) * CF.A(0,M.R(90),0)  * CF.A(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360))),Vector3.new(16,16,16))
531
			end
532
		until Count <= 0
533
	end)
534
end
535
536
-- Effect Loop
537
538
runService:BindToRenderStep("N_Effects",Enum.RenderPriority.Character.Value + 2,function()
539
	for _,data in next, Effects do
540
		local frame,effect,duration = data.Frame,data.Effect,data.Duration
541
		local transparency = (frame / duration)
542
		local opacity = 1 - transparency
543
		if(frame > duration)then
544
			Effects[_] = nil
545
		end
546
		frame = frame + 1
547
		data.Frame = frame	
548
		if(effect == 'Sphere')then
549
			local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale 
550
			Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
551
			Part.Transparency = transparency
552
			if(frame > duration)then
553
				Part:destroy()
554
			end
555
		elseif(effect == 'Shatter')then	
556
			local Part,Mesh,Scale,Position,Thingie,Thingie2,Inc = data.Part,
557
																data.Mesh,
558
																data.Scale,
559
																data.Position,
560
																(data.Thingie or 0),
561
																(data.Thingie2 or M.RNG(50, 100) / 100),
562
																(data.Inc or M.RNG() - M.RNG())
563
			Part.Transparency = transparency
564
			Position = Position * CF.N(0,Thingie2,0)
565
			Part.CFrame = Position * CF.fEA(Thingie,0,0)
566
			Thingie = Thingie + Inc
567
			
568
			data.Position = Position
569
			data.Thingie = Thingie
570
			data.Thingie2 = Thingie2
571
			data.Inc = Inc
572
		elseif(effect == 'Block')then
573
			local Part,Mesh,Scale,CF,eScale = data.Part,data.Mesh,data.Scale,data.Position,data.EndScale 
574
			Mesh.Scale = Mesh.Scale:lerp(eScale, transparency/6)
575
			Part.Transparency = transparency
576
			Part.CFrame = CF * CFrame.Angles(M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)),M.R(M.RNG(-360,360)))
577
			if(frame > duration)then
578
				Part:destroy()
579
			end
580
		end
581
	end
582
	for puddle,data in next, BloodPuddles do
583
		if(puddle.Transparency > 0.9)then
584
			BloodPuddles[puddle] = nil
585
			puddle:destroy()
586
		end
587
		data.Frame = data.Frame + 1
588
		if(data.Frame > 105)then
589
			local trans = (data.Frame-105)/30
590
			puddle.Transparency = trans
591
			if(puddle:FindFirstChild'CylinderMesh' and puddle.CylinderMesh.Scale.Z > 0)then
592
				puddle.CylinderMesh.Scale = puddle.CylinderMesh.Scale-V3.N(.1,0,.1)
593
			end
594
		else
595
			puddle.Transparency = 0
596
		end
597
	end
598
end)
599
600
601
602
-- Nametag
603
local naeeym2 = Instance.new("BillboardGui",char)
604
naeeym2.AlwaysOnTop = true
605
naeeym2.Size = UDim2.new(5,35,2,35)
606
naeeym2.StudsOffset = Vector3.new(0,1,0)
607
naeeym2.Adornee = head
608
naeeym2.Name = "Name"
609
naeeym2.PlayerToHideFrom = plr
610
local tecks2 = Instance.new("TextLabel",naeeym2)
611
tecks2.BackgroundTransparency = 1
612
tecks2.TextScaled = true
613
tecks2.BorderSizePixel = 0
614
tecks2.Text = "13"
615
tecks2.Font = "Antique"
616
tecks2.TextSize = 30
617
tecks2.TextStrokeTransparency = 0
618
tecks2.TextColor3 = Color3.new(0,0,0)
619
tecks2.TextStrokeColor3 = Color3.new(0.4,0.4,0.4)
620
tecks2.Size = UDim2.new(1,0,0.5,0)
621
tecks2.Parent = naeeym2
622
623
coroutine.wrap(function()
624
	while true do
625
		swait(15)
626
		hum.Health = hum.Health + 15
627
		local name = M.RNG(1,40)
628
		if(name == 1)then
629
			tecks2.Text = "Th1rdt3EM"
630
		elseif(name == 2)then
631
			tecks2.Text = "Three"
632
		elseif(name == 3)then
633
			tecks2.Text = "furdtean"
634
		elseif(name > 3 and name <= 6)then
635
			tecks2.Text = 'Astronaut'
636
		else
637
			tecks2.Text = "13"
638
		end
639
		if(time()-GlitchTime < .5)then
640
			tecks2.Text = tecks2.Text:gsub("",string.char(M.RNG(1,127)))
641
		end
642
	end
643
end)()
644
645
-- Animation Loop
646
runService:BindToRenderStep("N_Animations",Enum.RenderPriority.Character.Value + 1,function()
647
	sine=sine+change
648
	local GlitchEffect = M.RNG(1,500)
649
	hum.WalkSpeed = 8
650
	if(Music.TimePosition > 2.7 and Music.TimePosition < 2.75 or Music.TimePosition > 6.8 and Music.TimePosition < 6.9)then GlitchTime = time()+.45 elseif(Music.TimePosition > 7.6)then
651
		if(GlitchEffect == 1 and time()-GlitchTime >= .5)then
652
			GlitchTime = time()
653
		end		
654
	end
655
	if(time()-GlitchTime < .5)then
656
		Distorted.MidGain = -25
657
		Distorted.LowGain = 10
658
		Distorted.HighGain = -25
659
		FT.Parent = torso
660
		RA.Parent = rarm
661
		LA.Parent = larm
662
		RL.Parent = rleg
663
		LL.Parent = lleg
664
		for _,v in next, char:GetDescendants() do
665
			if(v:IsA'DataModelMesh')then
666
				v.Offset = V3.N(M.RNG(-200,200)/100,M.RNG(-200,200)/100,M.RNG(-200,200)/100)
667
			end
668
		end
669
	else
670
		Distorted.MidGain = 0
671
		Distorted.LowGain = 0
672
		Distorted.HighGain = 0
673
		FT.Parent = nil
674
		RA.Parent = nil
675
		LA.Parent = nil
676
		RL.Parent = nil
677
		LL.Parent = nil
678
		for _,v in next, char:GetDescendants() do
679
			if(v:IsA'DataModelMesh')then
680
				v.Offset = V3.N(0,0,0)
681
			end
682
		end
683
	end
684
	if(neutralAnims)then
685
		if(CheckState(root) == 'Idle')then
686
			-- Idle anim
687
			RJ.C0 = RJ.C0:lerp(CF.N(0,.2*M.S(time()*16),0)*CF.A(.2*M.S(time()*16),0,0),.2)
688
			NK.C0 = NK.C0:lerp(HD*CF.A(-.2*M.S(time()*16),0,0),.2)
689
			RH.C0 = RH.C0:lerp(RHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2)
690
			LH.C0 = LH.C0:lerp(LHD*CF.N(0,.2*-M.S(time()*16),.2*M.S(time()*16))*CF.A(-.2*M.S(time()*16),0,0),.2)
691
			RS.C0 = RS.C0:lerp(RSD*CF.A(0,0,.4*M.C(time()*16)),.2)
692
			LS.C0 = LS.C0:lerp(LSD*CF.A(0,0,.4*-M.C(time()*16)),.2)
693
		elseif(CheckState(root) == 'Walk')then
694
			-- Walk anim
695
			RH.C0 = RH.C0:lerp(RHD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2)
696
			LH.C0 = LH.C0:lerp(LHD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0)*CF.N(0,-M.S(time()*hum.WalkSpeed/2)/2,0),.2)
697
			RS.C0 = RS.C0:lerp(RSD*CF.A(-M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2)
698
			LS.C0 = LS.C0:lerp(LSD*CF.A(M.R(35+45*M.C(time()*hum.WalkSpeed)),0,0)*CF.A(M.R(-25),0,0),.2)
699
			RJ.C0 = RJ.C0:lerp(CF.N(0,M.S(time()*hum.WalkSpeed/2)/2,0)*CF.A(M.R(25),0,0),.2)
700
		end
701
	end
702
end)
703
704
-- Died event
705
706
hum.Died:connect(function() -- When the player dies
707
	UnbindLoops() -- Unbind all of the loops used
708
end)
709
710
711
-- Everything else
712
713
function GetTorso(char)
714
	return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
715
end
716
717
function DealDamage(who,minDam,maxDam,Knock,Type)
718
	if(who)then
719
		local hum = who:FindFirstChildOfClass'Humanoid'
720
		local Damage = M.RNG(minDam,maxDam)
721
		local canHit = true
722
		if(hum)then
723
			for _, p in pairs(Hit) do
724
				if p[1] == hum then
725
					if(time() - p[2] < 0.1) then
726
						canHit = false
727
					else
728
						Hit[_] = nil
729
					end
730
				end
731
			end
732
			if(canHit)then
733
				if(hum.Health >= math.huge)then
734
					who:BreakJoints()
735
				else
736
					local player = S.Players:GetPlayerFromCharacter(who)
737
					if(not player or not Teamed[player])then
738
						if(Type == "Fire")then
739
							--idk..
740
						else
741
							local  c = Instance.new("ObjectValue",hum)
742
							c.Name = "creator"
743
							c.Value = plr
744
							game:service'Debris':AddItem(c,0.35)
745
							hum.Health = hum.Health - Damage
746
							if(Type == 'Knockback' and GetTorso(who))then
747
								local angle = GetTorso(who).Position - root.Position + Vector3.new(0, 0, 0).unit
748
								local body = NewInstance('BodyVelocity',GetTorso(who),{
749
									P = 500,
750
									maxForce = V3.N(math.huge,0,math.huge),
751
									velocity = root.CFrame.lookVector * Knock + root.Velocity / 1.05
752
								})
753
								game:service'Debris':AddItem(body,.5)	
754
							elseif(Type == 'Knockdown' and GetTorso(who))then
755
								local rek = GetTorso(who)
756
								print(rek)
757
								hum.PlatformStand = true
758
								delay(1,function()
759
									hum.PlatformStand = false
760
								end)
761
								local angle = (GetTorso(who).Position - (root.Position + Vector3.new(0, 0, 0))).unit
762
								local bodvol = NewInstance("BodyVelocity",rek,{
763
									velocity = angle * Knock,
764
									P = 5000,
765
									maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
766
								})
767
								local rl = NewInstance("BodyAngularVelocity",rek,{
768
									P = 3000,
769
									maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
770
									angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
771
								})
772
								game:GetService("Debris"):AddItem(bodvol, .5)
773
								game:GetService("Debris"):AddItem(rl, .5)
774
							end
775
						end
776
					end
777
				end
778
				table.insert(Hit,{hum,time()})
779
			end
780
		end
781
	end
782
end
783
784
function MagniDamage(pos,radius,mindamage,maxdamage,knockback,damagetype)
785
	local Recursive
786
	Recursive = function(whom)	
787
		for _,c in next, whom:children() do
788
			local hum = c:FindFirstChildOfClass'Humanoid'
789
			local hed = c:FindFirstChild'Torso' or c:FindFirstChild'UpperTorso' or c:FindFirstChild'LowerTorso'
790
			if(hum and hed)then
791
				local mag = (hed.CFrame.p - pos).magnitude
792
				if(mag <= radius and c ~= char)then
793
					DealDamage(c,mindamage,maxdamage,knockback,damagetype)
794
				end
795
			end
796
			Recursive(c)
797
		end
798
	end
799
	Recursive(workspace)
800
end
801
802
function MagniHeal(pos,radius,heal,needsTeamed)
803
	for _,v in next, workspace:GetDescendants() do
804
		local player = S.Players:GetPlayerFromCharacter(v)
805
		local hum = v:FindFirstChildOfClass'Humanoid'
806
		if(hum and v:IsA'Model')then
807
			if(not needsTeamed or player and (not plr.Neutral and player.TeamColor == plr.TeamColor))then
808
				local pp = v.PrimaryPart or v:FindFirstChild'Torso' or v:FindFirstChild'UpperTorso' or v:FindFirstChild'LowerTorso'
809
				if(pp and (pp.CFrame.p-pos).magnitude <= radius)then
810
					hum.Health = hum.Health + heal
811
				end
812
			end
813
		end
814
	end	
815
end
816
817
--[[
818
		for _,v in next, workspace:GetDescendants() do
819
		if(v ~= char and v:FindFirstChildOfClass'Humanoid' and GetTorso(v) and plr:DistanceFromCharacter(GetTorso(v).CFrame.p) < 15)then
820
			for _,c in next, v:children() do
821
				coroutine.wrap(function()
822
					if(c:IsA'BasePart')then
823
						local a = halfit(c)
824
						a.Anchored = false
825
						c.Anchored = false
826
						local bodpos = Instance.new("BodyPosition",a)
827
						bodpos.D = 1e4
828
						bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
829
						local bodpos = Instance.new("BodyPosition",c)
830
						bodpos.D = 1e4
831
						bodpos.Position = c.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
832
					end
833
				end)()
834
			end
835
		end
836
	end
837
]]
838
function SpaceExplode(pos)
839
	local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
840
	local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
841
	local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)})		
842
	particles:Emit(2500)	
843
	explode.Hit:connect(function(t,d)
844
		if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
845
			local a = Fragment2(t)
846
			t.Anchored = false
847
			local bodpos = Instance.new("BodyPosition",t)
848
			bodpos.D = 1e4
849
			bodpos.Position = t.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
850
			for _,a in next, a:children() do
851
				a.Anchored = false
852
				local bodpos = Instance.new("BodyPosition",a)
853
				bodpos.D = 1e4
854
				bodpos.Position = a.Position + V3.N(M.RNG(-100,100),M.RNG(100,200),M.RNG(-100,100))
855
			end
856
		end
857
	end)
858
	delay(1, function()
859
		explodeP:destroy()
860
	end)
861
end
862
863
function Explode(pos)
864
	local explode = NewInstance("Explosion",workspace,{Visible=false,DestroyJointRadiusPercent = 0,Position=pos,BlastPressure=10000,ExplosionType=Enum.ExplosionType.CratersAndDebris,BlastRadius=30})
865
	local explodeP = NewInstance("Part",workspace,{Anchored=true,CanCollide=false,CFrame=CF.N(pos),Transparency=1})
866
	local particles = NewInstance("ParticleEmitter",explodeP,{Enabled=false,Texture='rbxasset://textures/particles/sparkles_main.dds',Size=NumberSequence.new(3),LightInfluence=.5,Lifetime=NumberRange.new(1),Rate=250,RotSpeed=NumberRange.new(25),SpreadAngle=Vector2.new(360,360),Color=ColorSequence.new(Color3.new(0,0,0),Color3.new(.3,.3,.3)),Transparency=NumberSequence.new(0,1),Speed=NumberRange.new(50)})		
867
	particles:Emit(2500)	
868
	explode.Hit:connect(function(t,d)
869
		if(d <= explode.BlastRadius and t ~= explodeP and not char:IsAncestorOf(t))then
870
			t:BreakJoints()
871
		end
872
	end)
873
	delay(1, function()
874
		explodeP:destroy()
875
	end)
876
end
877
function FragmentedSmash()
878
	Attack = true
879
	neutralAnims = false
880
	for i = 0, 1, 0.1 do
881
		swait()
882
		RJ.C0 = clerp(RJ.C0,CFrame.new(0.0124750687, 0.0806899369, 0.797527909, 0.999973536, 0.00707971025, -0.00174606312, -0.00709000183, 0.888056755, -0.459679216, -0.00170379225, 0.459679425, 0.888083458),0.3)
883
		LH.C0 = clerp(LH.C0,CFrame.new(-0.992911518, -2.19722176, 0.263476431, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3)
884
		RH.C0 = clerp(RH.C0,CFrame.new(1.00195694, -2.19321394, 0.240732491, 0.999878228, -0.00709000183, 0.0139080146, -9.7673139e-05, 0.888056755, 0.459733874, -0.0156106194, -0.459679216, 0.887947857),0.3)
885
		LS.C0 = clerp(LS.C0,CFrame.new(-2.9985857, 1.23600769, 0.359443754, 0.999878228, -0.00421095407, -0.0150323557, -9.77925229e-05, -0.964603186, 0.26370576, -0.0156107098, -0.263672143, -0.964486003),0.3)
886
		RS.C0 = clerp(RS.C0,CFrame.new(3.00798082, 1.02948105, 0.236942679, 0.999878228, -0.00421202509, -0.0150319505, -9.76680021e-05, -0.964581847, 0.263783902, -0.0156106092, -0.263750285, -0.964464784),0.3)
887
		NK.C0 = clerp(NK.C0,CFrame.new(-4.57763526e-05, 2.99385953, -0.167541847, 1.00000012, 0, 9.31322575e-10, 0, 0.997965097, 0.0637644231, 9.31322575e-10, -0.0637643933, 0.997965038),0.3)
888
	end
889
	wait(.25)
890
	for i = 0, 1, 0.1 do
891
		swait()
892
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0162220523, -3.28057575, -1.04076338, 0.999646187, -0.0140592707, -0.0225835219, 0.0139190033, -0.447028011, 0.894411683, -0.0226702448, -0.894409537, -0.446674198),0.3)
893
		LH.C0 = clerp(LH.C0,CFrame.new(-0.995434463, -2.54280162, 0.103460789, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3)
894
		RH.C0 = clerp(RH.C0,CFrame.new(0.999332726, -2.53378367, 0.0742077827, 0.999878228, -0.0153137166, 0.00301438384, -9.40344544e-05, 0.187221676, 0.982317746, -0.0156072918, -0.982198358, 0.187197477),0.3)
895
		LS.C0 = clerp(LS.C0,CFrame.new(-3.00734401, 1.78636146, -0.204609811, 0.999878228, 0.0048848032, -0.0148234647, -9.40344544e-05, -0.947858274, -0.318692297, -0.0156072918, 0.318654835, -0.947742343),0.3)
896
		RS.C0 = clerp(RS.C0,CFrame.new(3.00109315, 1.59880495, -0.207441658, 0.999878228, 0.00488352403, -0.0148238856, -9.40344544e-05, -0.947885811, -0.318610489, -0.0156072918, 0.318573087, -0.94776988),0.3)
897
		NK.C0 = clerp(NK.C0,CFrame.new(-6.10337302e-05, 2.99385333, -0.167541668, 1, 4.65661287e-10, 1.16415322e-09, 0, 0.997965038, 0.0637648106, 4.65661287e-10, -0.0637647808, 0.997964978),0.3)
898
	end
899
	SpaceExplode(torso.CFrame.p)
900
901
	neutralAnims = true
902
	Attack = false
903
end
904
function Boom()
905
	neutralAnims = false
906
	Attack = true
907
	for i = 0, 1, 0.1 do
908
		swait()
909
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
910
		LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
911
		RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
912
		LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
913
		RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
914
		NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
915
	end
916
	wait(.5)
917
	for i = 0, .65, 0.1 do
918
		swait()
919
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
920
		LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
921
		RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
922
		LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
923
		RS.C0 = clerp(RS.C0,CFrame.new(2.64173985, 0.428497076, -0.0101612248, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
924
		NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
925
	end
926
	--BlockFX(duration,color,scale,pos,endScale)
927
	local p = mouse.Hit.p
928
	local start = time()
929
	delay(0, function()
930
		repeat wait() BlockFX(15,BrickColor.new'Black',V3.N(3,3,3),CF.N(p),V3.N(4,4,4)) until time()-start > 1.25
931
		Explode(p)	
932
	end)
933
	BlockFX(45,BrickColor.new'Black',V3.N(3,3,3),rarm.CFrame*CF.N(0,-rarm.Size.Y/2,0),V3.N(9,9,9))
934
	for i = 0, .65, 0.1 do
935
		swait()
936
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0267966501, 0.00628957665, 0.118403517, 0.888822019, -0.00288028526, -0.458243728, 1.83618964e-09, 0.99998033, -0.00628535915, 0.458252817, 0.00558656547, 0.888804436),0.3)
937
		LH.C0 = clerp(LH.C0,CFrame.new(-1.13602376, -1.9913373, -0.0583203211, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
938
		RH.C0 = clerp(RH.C0,CFrame.new(1.13044202, -1.99142766, -0.0518710092, 0.881559432, 1.97843608e-09, 0.472073227, -0.00296715181, 0.99998033, 0.00554091716, -0.472063869, -0.00628535915, 0.881541908),0.3)
939
		LS.C0 = clerp(LS.C0,CFrame.new(-2.87729907, 0.999060631, 0.0152502041, 0.991834939, 0.126569927, 0.0156156719, -0.126680851, 0.991923511, 0.00632756483, -0.0146886408, -0.00825411081, 0.999858022),0.3)
940
		RS.C0 = clerp(RS.C0,CFrame.new(2.85624766, 0.825717211, -0.0160068981, -0.879796147, -0.475095063, 0.0156087577, 0.47522983, -0.879839301, 0.00628530141, 0.0107470751, 0.0129475296, 0.999858439),0.3)
941
		NK.C0 = clerp(NK.C0,CFrame.new(-0.0986121893, 2.99323964, -0.268526018, 0.888822138, -0.026346216, 0.457494676, -0.00288064196, 0.998005033, 0.0630696788, -0.458243549, -0.0573755801, 0.886972964),0.3)
942
	end
943
	wait(.25)
944
	neutralAnims = true
945
	Attack = false
946
end
947
function Meteor()
948
	neutralAnims = false
949
	Attack = true
950
	for i = 0, 1, 0.1 do
951
		swait()
952
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0223131552, -2.04613924, -1.43031895, 0.999952257, -0.00929827243, -0.00299749151, 0.00927900057, 0.807942808, 0.589187801, -0.0030566277, -0.589187562, 0.80799067),0.3)
953
		LH.C0 = clerp(LH.C0,CFrame.new(-1.0033766, 0.39615345, -0.423063278, 0.999878109, 0.00927900057, 0.0125550134, -9.8735909e-05, 0.807942808, -0.589260876, -0.0156114856, 0.589187801, 0.807845294),0.3)
954
		RH.C0 = clerp(RH.C0,CFrame.new(0.960870802, -1.8572216, -2.39271688, 0.999878109, -0.0101528121, 0.0118595241, -9.87424937e-05, 0.75552392, 0.655120969, -0.0156114763, -0.655042291, 0.755430818),0.3)
955
		LS.C0 = clerp(LS.C0,CFrame.new(-3.0046792, 0.857568204, -0.0285525322, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3)
956
		RS.C0 = clerp(RS.C0,CFrame.new(3.00213504, 0.943184912, -0.13698405, 0.999878109, -0.0146704866, -0.00533898873, -9.87424937e-05, -0.347920358, 0.93752414, -0.0156114763, -0.937409401, -0.347879499),0.3)
957
		NK.C0 = clerp(NK.C0,CFrame.new(-2.44036382e-05, 2.99386311, -0.167564437, 1, 2.0461157e-06, -8.96863639e-07, -1.98557973e-06, 0.99796474, 0.0637678504, 1.02538615e-06, -0.0637679994, 0.99796468),0.3)
958
	end
959
	wait(.25)
960
	for i = 0, 1, 0.1 do
961
		swait()
962
		RJ.C0 = clerp(RJ.C0,CFrame.new(-0.051363945, -3.60286617, -3.29043484, 0.999872804, -0.0137674687, -0.00806680601, 0.0137160039, 0.483212173, 0.875395894, -0.00815400854, -0.875395119, 0.483339548),0.3)
963
		LH.C0 = clerp(LH.C0,CFrame.new(-0.996045709, -1.73839223, 0.0600171089, 0.999878228, 0.00310409069, 0.0153003354, -9.91220222e-05, 0.981277168, -0.192601174, -0.0156117193, 0.19257623, 0.981157899),0.3)
964
		RH.C0 = clerp(RH.C0,CFrame.new(0.987435639, -1.55498588, -0.69317311, 0.999878228, -0.00418921839, 0.015039484, -9.91220222e-05, 0.961603463, 0.274442703, -0.0156117193, -0.274410754, 0.961485863),0.3)
965
		LS.C0 = clerp(LS.C0,CFrame.new(-3.0160594, 1.11446631, -0.759037852, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3)
966
		RS.C0 = clerp(RS.C0,CFrame.new(2.99049282, 1.03188896, -0.883246303, 0.999878228, 0.0153746856, -0.00271196151, -9.91220222e-05, -0.167454362, -0.985879958, -0.0156117193, 0.985760093, -0.167432487),0.3)
967
		NK.C0 = clerp(NK.C0,CFrame.new(-2.51147103e-05, 2.99386525, -0.167563885, 1.00000024, 1.80862844e-06, -8.5355714e-07, -1.75042078e-06, 0.997964859, 0.063767463, 9.66712832e-07, -0.063767463, 0.997964919),0.3)
968
	end
969
	local meteor = NewInstance("Part",char,{BrickColor=BrickColor.new'Dark stone grey',Material=Enum.Material.Granite,Size=V3.N(5,5,5),CanCollide=false,CFrame = CF.N(mouse.Hit.p)*CF.N(0,200,0)})
970
	Instance.new("SpecialMesh",meteor).MeshType = Enum.MeshType.Sphere
971
	meteor.Touched:connect(function(touch)
972
		if(not touch:IsA'Terrain' and touch.CanCollide and touch.Transparency < .9 and not touch:IsDescendantOf(char))then
973
			meteor:Destroy()
974
			Explode(meteor.CFrame.p)
975
		end
976
		
977
	end)
978
	wait(.25)
979
	neutralAnims = true
980
	Attack = false
981
end
982
983
984
mouse.KeyDown:connect(function(k)
985
	if(Attack)then return end	
986
	if(k == 'z')then
987
		Meteor()
988
	elseif(k == 'x')then
989
		Boom()
990
	elseif(k == 'c')then
991
		FragmentedSmash()
992
	elseif(k == 'v')then
993
		SpaceExplode(mouse.Hit.p)
994
	elseif(k == 'm')then
995
		Music.Playing = not Music.Playing
996
	end
997
end)
998
999
hum.Died:connect(function()
1000
	SpaceExplode(torso.CFrame.p)
1001
end)
1002
1003
runService.RenderStepped:connect(function()
1004
	if(not Attack and combo ~= 1 and time()-lastClick > 0.4)then
1005
		combo = 1
1006
	end
1007
end)