View difference between Paste ID: dzKXgm4v and 2EtkXici
SHOW: | | - or go back to the newest paste.
1-
--GOD--
1+
 if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2
print("FE Compatibility: by WaverlyCole & Mokiros")
3
InternalData = {}
4
do
5
	script.Parent = owner.Character
6
	local Event = Instance.new("RemoteEvent")
7
	Event.Name = "UserInput"
8
	local function NewFakeEvent()
9
		local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
		return Fake
11
	end
12
	local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
	local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
	local function TriggerEvent(self,Event,...)
18
		local Trigger = Mouse[Event]
19
		if Trigger and Trigger.fakeEvent and Trigger.Function then
20
			Trigger.Function(...)
21
		end
22
	end
23
	Mouse.TrigEvent = TriggerEvent
24
	UserInputService.TrigEvent = TriggerEvent
25
	Event.OnServerEvent:Connect(function(FiredBy,Input)
26
		if FiredBy.Name ~= owner.Name then end
27
		if Input.MouseEvent then
28
			Mouse.Target = Input.Target
29
			Mouse.Hit = Input.Hit
30
		else
31
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
				return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
			end
35
			for _,Action in pairs(ContextActionService.Actions) do
36
				for _,Key in pairs(Action.Keys) do
37
					if Key==Input.KeyCode then
38
						Action.Function(Action.Name,Input.UserInputState,Input)
39
					end
40
				end
41
			end
42
			Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
			UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
		end
45
	end)
46
	InternalData["Mouse"] = Mouse
47
	InternalData["ContextActionService"] = ContextActionService
48
	InternalData["UserInputService"] = UserInputService
49
	Event.Parent = NLS([[
50
		local Player = owner
51
		local Event = script:WaitForChild("UserInput")
52
		local UserInputService = game:GetService("UserInputService")
53
		local Mouse = Player:GetMouse()
54
		local Input = function(Input,gameProcessedEvent)
55
			if gameProcessedEvent then return end
56
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
		end
58
		UserInputService.InputBegan:Connect(Input)
59
		UserInputService.InputEnded:Connect(Input)
60
		local Hit,Target
61
		while wait(1/30) do
62
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
				Hit,Target = Mouse.Hit,Mouse.Target
64
				Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
			end
66
		end
67
	]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
	__index = function (self,Index)
71
		local Sandbox = function (Thing)
72
			if Thing:IsA("Player") then
73
				local RealPlayer = Thing
74
				return setmetatable({},{
75
					__index = function (self,Index)
76
						local Type = type(RealPlayer[Index])
77
						if Type == "function" then
78
							if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
								return function (self)
80
									return InternalData["Mouse"]
81
								end
82
							end
83
							return function (self,...)
84
								return RealPlayer[Index](RealPlayer,...)
85
							end
86
						else
87
							if Index == "PlrObj" then
88
								return RealPlayer
89
							end
90
							return RealPlayer[Index]
91
						end
92
					end;
93
					__tostring = function(self)
94
						return RealPlayer.Name
95
					end
96
				})
97
			end
98
		end
99
		if RealGame[Index] then
100
			local Type = type(RealGame[Index])
101
			if Type == "function" then
102
				if Index:lower() == "getservice" or Index:lower() == "service" then
103
					return function (self,Service)
104
						if Service:lower() == "players" then
105
							return setmetatable({},{
106
								__index = function (self2,Index2)
107
									local RealService = RealGame:GetService(Service)
108
									local Type2 = type(Index2)
109
									if Type2 == "function" then
110
										return function (self,...)
111
											return RealService[Index2](RealService,...)
112
										end
113
									else
114
										if Index2:lower() == "localplayer" then
115
											return Sandbox(owner)
116
										end
117
										return RealService[Index2]
118
									end
119
								end;
120
								__tostring = function(self)
121
									return RealGame:GetService(Service).Name
122
								end
123
							})
124
						elseif Service:lower() == "contextactionservice" then
125
							return InternalData["ContextActionService"]
126
						elseif Service:lower() == "contextactionservice" then
127
							return InternalData["UserInputService"]
128
						elseif Service:lower() == "runservice" then
129
							return setmetatable({},{
130
								__index = function(self2,Index2)
131
									local RealService = RealGame:GetService(Service)
132
									local Type2 = type(Index2)
133
									if Type2 == "function" then
134
										return function (self,...)
135
											return RealService[Index2](RealService,...)
136
										end
137
									else
138
										if Index2:lower() == "bindtorenderstep" then
139
											return function (self,Name,Priority,Function)
140
												return RealGame:GetService("RunService").Stepped:Connect(Function)
141
											end
142
										end
143
										if Index2:lower() == "renderstepped" then
144
											return RealService["Stepped"]
145
										end
146
										return RealService[Index2]
147
									end
148
								end
149
							})
150
						else
151
							return RealGame:GetService(Service)
152
						end
153
					end
154
				end
155
				return function (self,...)
156
					return RealGame[Index](RealGame,...)
157
				end
158
			else
159
				if game:GetService(Index) then
160
					return game:GetService(Index)
161
				end
162
				return RealGame[Index]
163
			end
164
		else
165
			return nil
166
		end
167
	end
168
});Game = game;owner = game:GetService("Players").LocalPlayer;script = {}
169
print("Complete! Running...")
170
171
Player = game.Players.LocalPlayer
172
Char = Player.Character
173
Torso = Char.Torso
174
Head = Char.Head
175
Arms = {Char:FindFirstChild'Right Arm', Char:FindFirstChild'Left Arm'}
176
Shoulders = {Torso:FindFirstChild'Right Shoulder', Torso:FindFirstChild'Left Shoulder'}
177
Legs = {Char:FindFirstChild'Right Leg', Char:FindFirstChild'Left Leg'}
178
HumRoot = Char:FindFirstChild'HumanoidRootPart'
179
HumRootJ = HumRoot['RootJoint']
180
Humanoid = Char:FindFirstChild'Humanoid'
181
Mouse = Player:GetMouse()
182
183
local s = Workspace:FindFirstChild('god_script: '..Player.Name,true)
184
if s then
185
	local f = s:FindFirstChild'stop'
186
	if f then
187
		f:Invoke()
188
	end
189
end
190
s=nil
191
192
Debris = game:service'Debris'
193
RS = game:service'RunService'
194
Chatserv = game:service'Chat'
195
Insertserv = game:service'InsertService'
196
197
Neck = Torso:FindFirstChild'Neck'
198
199
pcall(function() Char.Shirobako:Destroy() end)
200
Main = Instance.new("Model",Char)
201
Main.Name = "Shirobako"
202
script.Parent=Main
203
204
cfn=CFrame.new
205
ang = function(x,y,z) return CFrame.Angles(x or 0,y or 0,z or 0)end
206
m={tau=math.pi*2;float=196.25}
207
v3n=Vector3.new
208
md,mr,PI=math.rad, math.random, math.pi
209
bcol=BrickColor.new
210
numkp=NumberSequenceKeypoint.new
211
colkp=ColorSequenceKeypoint.new
212
213
function l(a1,x,y,z,rx,ry,rz)
214
    local cf
215
    if tostring(a1):find(',') == nil then
216
        cf=a1.CFrame
217
    else cf=a1 end
218
    return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
219
                        rx or 0,ry or 0,yz or 0)
220
end
221
222
New = function(what)
223
    return function(bar)
224
        local obj=Instance.new(what)
225
        for arg,val in pairs(bar) do
226
            if arg == "_P" then
227
                obj.Parent = val
228
            elseif arg=="_PP" then
229
				obj.Part0=val[1]
230
				obj.Part1=val[2]
231
			else
232
				if pcall(function()return obj[arg] end) then
233
                    obj[arg]=val
234
                end
235
            end
236
        end
237
        return obj
238
    end
239
end
240
241
Edit = function(what)
242
	return function(args)
243
		for ind,obj in next,what do
244
			for arg,val in next,args do				
245
				local child,argu = arg:match"(.+)%.(.+)"
246
				if child and argu then
247
					if pcall(function()return obj[child][argu] end) then
248
						-- print'a'
249
						obj[child][argu]=val
250
					end					
251
				else		
252
					if arg=='_F'then
253
						val(ind,obj)
254
					elseif pcall(function()return obj[arg]end) then
255
						obj[arg]=val
256
					end
257
				end
258
			end
259
		end
260
	end
261
end
262
263
_1,_2,_3=nil,nil
264
set_material = nil
265
set_color = nil
266
set_parent = nil
267
set_anchor = nil
268
Part = function(x,y,z,col,tr)
269
	local p = New"Part"{
270
		_P=set_parent or Main;
271
		BrickColor = bcol(col or set_color or "White");
272
		CanCollide = false;
273
		Transparency = tr or 0;
274
		Size = Vector3.new(x or 0,y or 0,z or 0);
275
		Material = set_material or 'SmoothPlastic';
276
		Anchored = (set_anchor~=nil and set_anchor or false)
277
	}
278
	for _,sur in next,Enum.NormalId:GetEnumItems() do
279
		p[sur.Name..'Surface'] = 10
280
	end
281
	_1 = p
282
	return p
283
end
284
Wedge = function(x,y,z,col,tr)
285
	local p = New"WedgePart"{
286
		_P=Main;
287
		BrickColor = bcol(col or "White");
288
		CanCollide = false;
289
		Transparency = tr or 0;
290
		Size = Vector3.new(x or 0,y or 0,z or 0);
291
		Material = set_material or 'SmoothPlastic';
292
		Anchored = (set_anchor~=nil and set_anchor or false)
293
	}
294
	for _,sur in next,Enum.NormalId:GetEnumItems() do
295
		p[sur.Name..'Surface'] = 0
296
	end
297
	_1 = p
298
	return p
299
end
300
Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
301
	local ar = {...}
302
	local cframe0,cframe1
303
	local function checkf()local res=true
304
		for i,v in pairs(ar)do
305
			if type(v) ~= 'number' then
306
				res=false
307
			end
308
		end
309
		return res
310
	end
311
	if type(c0) == 'table' then
312
		cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
313
			c0[4] or 0, c0[5] or 0, c0[6] or 0)
314
	elseif type(c0) == 'userdata' then
315
		cframe0 = c0
316
	elseif type(c0) == 'number' and checkf() then
317
		cframe0 = CFrame.new(c0 or 0,c1 or 0,ar[1] or 0) * CFrame.Angles(ar[2] or 0, ar[3] or 0, ar[4] or 0)
318
	end
319
	if type(c1) == 'table' then
320
		cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
321
			c1[4] or 0, c1[5] or 0, c1[6] or 0)
322
	elseif type(c1) == 'userdata' then
323
		cframe1 = c1
324
	elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
325
		cframe1 = CFrame.new(c1 or 0, ar[1] or 0, ar[2] or 0) * CFrame.Angles(ar[3] or 0, ar[4] or 0, ar[5] or 0)
326
	end
327
	for i,v in pairs(ar)do
328
		if type(v) == 'table' then
329
			cframe1 = CFrame.new(v[1] or 0, v[2] or 0, v[3] or 0) * CFrame.new(v[4] or 0, v[5] or 0, v[6] or 0)
330
		elseif type(v) == 'userdata' then
331
			cframe1 = v
332
		end
333
	end
334
			
335
	cframe0,cframe1 = cframe1,cframe0
336
	part0.Position=part1.Position
337
	local weld = Instance.new("Motor")
338
	weld.Part0 = part0
339
	weld.Part1 = part1
340
	weld.C0 = cframe0 or CFrame.new()
341
	weld.C1 = cframe1 or CFrame.new()
342
	weld.MaxVelocity = .1
343
	weld.Parent = part0
344
	_2=weld
345
	return weld
346
end
347
348
mesh_ids = {
349
	spike = "rbxassetid://1033714";
350
	ring = "rbxassetid://3270017";
351
	coil = 'rbxassetid://16606212';
352
	diamond = 'rbxassetid://9756362';
353
	rock = 'rbxassetid://1290033';
354
}
355
mesh_texs = {
356
	rock = 'rbxassetid://1290030';
357
}
358
359
Mesh = function(parent,id,sx,sy,sz)
360
	local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
361
	local mesh = Instance.new(name)
362
	if id == 's' then
363
		mesh.MeshType = Enum.MeshType.Sphere
364
	elseif id == 'w' then
365
		mesh.MeshType = Enum.MeshType.Wedge
366
	elseif string.find(id,"://") ~= nil then
367
		mesh.MeshId = id
368
	end
369
	mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
370
	mesh.Parent = parent
371
	_3=mesh
372
	return mesh
373
end
374
375
cane = Part(.1,4,.1,'Deep blue')Mesh(_1,'cyl')
376
hw=Weld(cane,Arms[1],0,-1.15,0,-PI/2)
377
378
bl = Part(.4,.4,.1)Mesh(_1,'s')
379
Weld(bl,cane,0,2.25)
380
bl2 = Part(.3,.3,.1,'Deep orange')Mesh(_1,'s',1,1,1.25)
381
Weld(bl2,bl)_1.Material='Neon'
382
set_color='Black'
383
for i=0,1,1/4 do
384
	ring = Part(.1,.1,.1)Mesh(_1,mesh_ids.ring,.25-i*(.25*.9),.25-i*(.25*.9),.1)
385
	Weld(ring,cane,0,-2-i*.25,0,PI/2)
386
end
387
set_color='Bright orange'
388
for a=-PI/2,PI/2,PI/6 do
389
	arm = Part(.1,.5,.1)Mesh(_1,'bl',.5,1,.5)
390
	New'Weld'{_P=arm;_PP={arm,bl};
391
		C1=cfn(0,0,0)*ang(0,0,a);
392
		C0=cfn(0,-arm.Size.y,0);
393
	}
394
	dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon'
395
	Weld(dec,arm,0,.25*.8)
396
end
397
398
arm=Part(.1,.9,.1)Mesh(_1,'bl',.5,1,.5)
399
New'Weld'{_P=arm;_PP={arm,bl};
400
	C1=cfn(.1,-.15,0)*ang(0,0,md'25');
401
	C0=cfn(0,arm.Size.y/2,0);
402
}
403
404
dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon'
405
Weld(dec,arm,0,-.45*.8)
406
arm=Part(.1,.9,.1)Mesh(_1,'bl',.5,1,.5)
407
408
New'Weld'{_P=arm;_PP={arm,bl};
409
	C1=cfn(-.1,-.15,0)*ang(0,0,md'-25');
410
	C0=cfn(0,arm.Size.y/2,0);
411
}
412
dec = Part(.1,.1,.1,'Bright red')Mesh(_1,'bl',.525,1,.525)_1.Material='Neon'
413
Weld(dec,arm,0,-.45*.8)
414
415
set_color=nil
416
coil=Part(.1,.1,.1,'New Yeller')Mesh(_1,mesh_ids.coil,.11,.11,1.15)
417
Weld(coil,cane,0,0,0,PI/2,0,md'15')
418
419
disk=Part(.1,.1,.1,'New Yeller')Mesh(_1,'cyl',1.1,1,1.1)
420
Weld(disk,cane,0,-2+.085)
421
disk=Part(.1,.1,.1,'New Yeller')Mesh(_1,'cyl',1.1,1,1.1)
422
Weld(disk,cane,0,2-.085)
423
424
rainbow={}
425
for i=0,1,.1 do
426
	local p=60/360
427
	local col=Color3.fromHSV(p+((p*.25)*i),1,1)
428
	local kp=colkp(i,col)
429
	table.insert(rainbow,kp)
430
end
431
sizes={}
432
b=false
433
for i=0,1,1/4 do
434
	b=not b
435
	local s=.1+(i/2)
436
	local s2=s/5
437
	local kp=numkp(i,(b and s or s2))
438
	table.insert(sizes,kp)
439
end
440
emitter=New"ParticleEmitter"{_P=coil;
441
	Texture='rbxassetid://98824648';
442
	Color=ColorSequence.new(rainbow);
443
	Size=NumberSequence.new(sizes);
444
	VelocitySpread=180;
445
	Lifetime=NumberRange.new(3);
446
	Transparency=NumberSequence.new{numkp(0,1);numkp(.5,.5);numkp(1,1)};
447
	Speed=NumberRange.new(.25,.75);
448
	Rotation=NumberRange.new(0,75);
449
	LockedToPart=true;
450
	Rate=3;
451
}
452
453
Joints={}
454
455
function addJoint(name,weld,c0,c1)
456
	local t= {}
457
	t.w=weld
458
	t.n_c0 = c0 or weld.C0
459
	t.n_c1 = c1 or weld.C1
460
	t._desired=weld.C0
461
	t.spd=.1
462
	t.l=0
463
	
464
	function t:get()
465
		return setmetatable({},{__newindex=function(t,i,v)
466
		if i=='d' and self.l == 0 then
467
			self.d = v
468
		elseif i == 's' then self.spd=v end end})
469
	end
470
471
	setmetatable(t,{__newindex=function(ta,i,v)
472
	if i=='d' then
473
		ta._desired = ta.n_c0 * v
474
	end end})
475
	
476
	Joints[name]=t
477
	getfenv(0)[name]=Joints[name]
478
end
479
480
--Create Joints--
481
addJoint('rw',New"Weld"{_P = Torso;Part0=Torso;Part1=Arms[1];
482
	C0=cfn(1,0.5,0); C1=cfn(-.5,0.5,0)})
483
addJoint('lw',New"Weld"{_P = Torso;Part0=Torso;Part1=Arms[2];
484
	C0=cfn(-1,0.5,0); C1=cfn(.5,0.5,0)})
485
addJoint('rw2',New"Weld"{_P=Torso;_PP={Torso,Legs[1]};
486
	C0=cfn(1,-1,0);C1=cfn(0.5,1,0)})
487
addJoint('lw2',New"Weld"{_P=Torso;_PP={Torso,Legs[2]};
488
	C0=cfn(-1,-1,0);C1=cfn(-0.5,1,0)})
489
	
490
addJoint('tw',HumRootJ,cfn(0,0,0,-1,0,0,0,0,1,0,1,-0),
491
	cfn(0,0,0,-1,-0,-0,0,0,1,0,1,0))
492
	
493
addJoint('nw',Neck,cfn(0,1,0,-1,-0,-0,0,0,1,0,1,0),
494
	cfn(0,-.5,0,-1,-0,-0,0,0,1,0,1,0))
495
addJoint('hw',hw)
496
497
Connections = {}
498
499
anim_con = RS.Stepped:connect(function()
500
	for _,j in next,Joints do
501
		j.w.C0 = j.w.C0:lerp(j._desired,j.spd)
502
	end
503
end)
504
505
local pt=tick()
506
local pm=0
507
local ppos=Torso.Position
508
function shadow_effect()
509
	local ssss={}
510
	if (tick()-pt)>.075 then
511
		-- for _,hum in next,findHum(Torso.Position,10)do
512
			-- hum.Parent:BreakJoints()
513
		-- end
514
		Char.archivable=true
515
		local cl=Char:Clone()cl.Parent=Main
516
		Char.archivable=false
517
		for _,obj in next,cl:children() do
518
			if not obj:IsA'Part' then obj:Destroy()
519
			elseif obj:IsA'Part'then
520
				Edit{obj}{Transparency=.5;Reflectance=.1;Anchored=true;CanCollide=false;
521
				Material='Neon';BrickColro=bcol'New Yeller'}
522
				local ttt={obj,obj.CFrame}
523
				table.insert(ssss,ttt)
524
			end
525
		end
526
		
527
		Spawn(function()
528
		for i=0,1,.1 do
529
			for _,v in next,ssss do
530
				v[1].Transparency=.5+i/2
531
				v[1].Size=v[1].Size*1.025
532
				v[1].CFrame=v[2]
533
				v[1].BrickColor=bcol'New Yeller'
534
			end
535
			wait()
536
		end
537
		cl:Destroy()end)
538
		pt=tick()
539
	end
540
end
541
dash=false
542
543
function findHum(pos,rad,hum2)
544
    local hums={}
545
    function check(a)
546
        local res=false
547
        for i,ho in pairs(hums)do
548
            if a==ho then res=true end
549
        end
550
        return res
551
    end
552
    for i,v in pairs(Workspace:children())do
553
        if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then
554
            for i,q in pairs(v:children())do
555
            if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then
556
                    if not check(q)then
557
                        table.insert(hums,q)
558
                    end
559
                end
560
            end
561
        end
562
    end
563
    return hums
564
end
565
566
-- Head.face.Texture='rbxassetid://321187438'
567
WalkSpeed=20
568
569
do --Idleloop
570
--IDLES--
571
	Anim="Idle"
572
	local sin,cos,abs = math.sin,math.cos,math.abs
573
	local rw,lw,rw2,lw2,tw = rw:get(),lw:get(),rw2:get(),lw2:get(),tw:get()
574
	local angle=0
575
	local a=md'7.5'
576
	idle_con=RS.Stepped:connect(function()
577
		
578
		local walkmag = v3n(HumRoot.Velocity.x,0,HumRoot.Velocity.z).magnitude
579
		angle=angle%100+1/5
580
		
581
		if walkmag > .2 then
582
			Anim='Walk'
583
		else
584
			Anim='Idle'
585
		end
586
		Humanoid.WalkSpeed=WalkSpeed
587
		if Anim == 'Idle' then
588
			rw.d = cfn(0,sin(angle)*.1,0)*ang(0,0,md'10'+sin(angle)*.075)
589
			lw.d = cfn(0,sin(angle)*.1,0)*ang(0,0,-md'10'-sin(angle)*.075)
590
			
591
			rw2.d = cfn(sin(angle)*.05,abs(sin(angle))*.05,0) * ang(0,0,md'5'-sin(angle)*.1)
592
			lw2.d = cfn(-sin(angle)*.05,abs(sin(angle))*.05,0) * ang(0,0,-md'5'+sin(angle)*.1)
593
			
594
			tw.d = cfn(0,0,sin(angle)*.15)
595
		elseif Anim == 'Walk' then
596
			tw.d=cfn(0,0,sin(angle)*.1)*ang(md'5')
597
			
598
			rw.d=ang(md'-15',0,a)
599
			lw.d=ang(md'-15',0,-a)
600
			rw2.d=ang(md'-15',0,a)
601
			lw2.d=ang(md'-15',0,-a)
602
			if dash and WalkSpeed>0 then
603
				Humanoid.WalkSpeed=130
604
				shadow_effect()
605
			end
606
		end
607
	end)
608
end
609
610
function ringSFX(cf,p,r,s)
611
	p.Anchored=true
612
	p.CFrame=cf
613
	local t=p.Transparency
614
	local msh=Mesh(p,mesh_ids.ring)
615
	Spawn(function()
616
		for i=0,1,(s or .1) do
617
			p.Transparency=t+((1-t)*i)
618
			msh.Scale=v3n(r*i,r*i,1)
619
			wait()
620
		end
621
		p:Destroy()
622
	end)
623
end
624
function sphereSFX(cf,p,r,s)
625
	p.Anchored=true
626
	p.CFrame=cf
627
	local t=p.Transparency
628
	local msh=Mesh(p,'s')
629
	Spawn(function()
630
		for i=0,1,(s or .1) do
631
			p.Transparency=t+((1-t)*i)
632
			msh.Scale=v3n(r*i,r*i,r*i)
633
			wait()
634
		end
635
		p:Destroy()
636
	end)
637
end
638
639
function hideAllParts(wut,an)
640
	local parts={}
641
	local function hide(object,anchor)
642
		if object:IsA("BasePart") or object:IsA("Decal") then
643
			local tr=object.Transparency
644
			local t={o=object,t=tr}
645
			object.Transparency = 1
646
			if object:IsA'BasePart' then
647
				t.a=object.Anchored
648
				
649
				if anchor==nil then
650
					object.Anchored=true
651
				else
652
					if anchor == 1 then
653
						object.Anchored=true
654
					else
655
						object.Anchored=false
656
					end
657
				end
658
				
659
				t.c=object.CanCollide
660
				object.CanCollide=false
661
			end
662
			
663
			table.insert(parts,t)
664
		end
665
		for _, child in ipairs(object:GetChildren()) do
666
			hide(child,an)
667
		end
668
	end
669
	hide(wut,an)
670
	-- for i,v in pairs(Char:children())do
671
	-- pcall(function()print(v.Anchored)end)end
672
	return function()
673
		for i,v in ipairs(parts) do
674
			v.o.Transparency = v.t
675
			if v.o:IsA'BasePart'then
676
				if v.a~=nil then
677
					v.o.Anchored=v.a
678
				end
679
				if v.c~=nil then
680
					v.o.CanCollide=v.c
681
				end
682
			end
683
		end
684
	end
685
end
686
687
-- unh=hideAllParts(Char)wait()
688
-- unh()
689
690
do --Main part of the script
691
692
function slash(mouse)
693
	rw.l=1
694
	rw.d=ang(PI/2,0,-PI/4/2)*ang(0,PI/2)
695
	hw.d=cfn(0,-.85,0)*ang(0,PI/2)
696
	wait'.5'
697
	local p=Part(4,4,1,'New Yeller',.5)
698
	p.Anchored=true
699
	local stp,enp=l(Torso,-5,0,-3).p,l(Torso,5,0,-3).p
700
	p.CFrame=cfn(stp,enp)
701
	local mag=(stp-enp).magnitude
702
	local sx,sz=p.Size.x,p.Size.y
703
	
704
	for _,hum in next,findHum(l(Torso,0,0,-3).p,5) do
705
		ringSFX(l(hum.Torso),Part(1,1,1,'New Yeller',.5),10)
706
		ringSFX(l(hum.Torso)*ang(PI/2),Part(1,1,1,'New Yeller',.5),10)
707
		ringSFX(l(hum.Torso)*ang(PI/2,PI/2),Part(1,1,1,'New Yeller',.5),10)
708
		
709
		local bl=Part(1,1,1,'New Yeller')bl.Anchored=true bl.Material='Neon'
710
		local msh=Mesh(_1,'s')
711
		bl.CFrame=hum.Torso.CFrame
712
		msh.Scale=hum.Parent:GetExtentsSize()
713
		local lol=math.max(msh.Scale.x,msh.Scale.y,msh.Scale.z)
714
		
715
		local scale=v3n(lol,lol,lol)*1.25
716
		local pos=hum.Torso.Position
717
		
718
		---Shrink ball, teleball with trail, enlarge and unhide---
719
		Spawn(function()
720
			local unhide=hideAllParts(hum.Parent)
721
			for i=1,.1,-.05 do
722
				msh.Scale=scale*i
723
				wait()
724
			end
725
			
726
			bl.CFrame=cfn(mouse.hit.p)
727
			local mag=(pos-l(bl).p).magnitude
728
			local laz=Part(1,1,mag,'New Yeller',.5) laz.Anchored=true
729
			laz.CFrame=cfn(l(bl).p,pos)*cfn(0,0,-mag/2)
730
			Spawn(function()
731
				for i=0,1,.1 do laz.Transparency=i wait()end laz:Destroy()end)
732
			for i=.1,1,.1 do
733
				msh.Scale=scale*i
734
				wait()
735
			end
736
			hum.Parent:MoveTo(bl.Position)
737
			-- repeat wait() until (l(hum.Torso).p-l(bl,0,2).p).magnitude<3
738
			unhide()
739
740
			bl:Destroy()
741
		end)
742
		
743
	end
744
	Spawn(function()
745
	for i=0,1,.25 do
746
		p.Size=v3n(sx,sz,i*mag)
747
		p.CFrame=cfn(stp,enp)*cfn(0,0,-(i*(mag/2)))
748
		
749
		wait()
750
	end
751
	for i=.5,1,.1 do
752
		p.Transparency=i
753
		wait()
754
	end p:Destroy()
755
	end)
756
	rw.spd=.3
757
	rw.d=ang(PI/2,0,md'130')*ang(0,PI/2)
758
	wait'.5'
759
	rw.l=0
760
	hw.d=cfn()
761
end
762
763
function laser(mouse)
764
	rw.l=1
765
	lw.l=1
766
	rw.d=ang(md'100',0,md'-55')
767
	lw.d=ang(md'100',0,md'55')
768
	hw.d=ang(md'7.5',md'45')
769
	cp=Part(.1,.1,.1)
770
	local laz=Part(3,0,3,'New Yeller')laz.Material='Neon'
771
	Mesh(laz,'bl').Name='m'
772
	laz.Anchored=true
773
	local t={}
774
	for i=0,m.tau,m.tau/6 do
775
		local p=Part(.1,.1,.1)
776
		local w=Weld(p,bl,{0,0,-.25,PI/2,i,0},{0,0,1})
777
		Edit{w}{C0=w.C0*ang(PI/2),C1=w.C1*ang(PI/2)}
778
		Mesh(_1,mesh_ids.diamond,.3,.3,.3)
779
		w.DesiredAngle=9e+009
780
		table.insert(t,p)
781
	end
782
	aura=Part(1,1,1,'New Yeller',.5)Weld(aura,bl)
783
	local msh=Mesh(aura,'s',0,0,0)
784
	for i=0,1,.1 do msh.Scale=v3n(2,2,2)*i wait()end
785
	holding=true
786
	local tr=0
787
	local li={}
788
	local r=1.5
789
	local pt=tick()
790
	local function ran()return l(bl,mr(-r,r),mr(-r,r),mr(-r,r),mr(-PI,PI),mr(-PI,PI),mr(-PI,PI))end
791
	for i=1,6 do
792
		local pp=Part(.1,.1,.1,'New Yeller',.5)_1.Anchored=true _1.Material='Neon'
793
		pp.CFrame=ran()
794
		table.insert(li,pp)
795
	end
796
	---Make aura glow
797
	Spawn(function()
798
	
799
	while wait()do
800
		for i=0,.5,.1 do aura.Transparency=.5+i/2
801
		for _,v in next,li do v.CFrame=ran() end
802
		wait()end
803
		for i=.5,0,-.1 do aura.Transparency=.5+i/2
804
		for _,v in next,li do v.CFrame=ran() end
805
		wait()end
806
	end end)
807
	
808
	while holding do
809
		---Positioning laser---
810
		local mag=(l(bl).p-mouse.hit.p).magnitude
811
		laz.Size=v3n(.1,mag,.1)
812
		laz.CFrame = (cfn(l(bl).p,mouse.hit.p)*cfn(0,0,-mag/2))*ang(PI/2)
813
		
814
		---Damaging---
815
		for _,hum in next,findHum(mouse.hit.p,3) do
816
			-- hum:TakeDamage(1)
817
			-- if not hum.Torso:FindFirstChild'Umpalumpa'then
818
			
819
			--Turn them to androids and anchor em still--
820
			local android=hum.Torso:FindFirstChild'android'
821
			
822
			if not android  then
823
			
824
			
825
				local pp=Part(1,1,1,'New Yeller',.5)Weld(pp,hum.Torso,0,0,0,0,PI)
826
				_1.Name='android'				
827
				local ring = Part(1,1,1,'',1)ring.Parent=pp
828
				local ring2 = Part(1,1,1,'New Yeller',.5)ring.Parent=pp
829
				ring2.Parent=ring								
830
				local sx,sy,sz=6,2,6
831
				Mesh(ring,'cyl',sx+.25,sy,sz+.25)
832
				Mesh(ring2,mesh_ids.ring,sx,sz,sy*6)
833
				Weld(ring,pp,ang(PI/2),ang(PI/2)).DesiredAngle=9e+009
834
				Weld(ring2,ring,ang(PI/2))
835
				for _,face in next,Enum.NormalId:GetEnumItems() do
836
					if face.Name~="Top"and face.Name~="Bottom" then
837
						
838
						New"Texture"{_P=ring;Face=face;Texture='rbxassetid://33092505';}
839
					end
840
				end
841
				pp.Parent=hum.Torso
842
				Mesh(pp,'s',5,7,5)
843
				local cnt=New"NumberValue"{_P=pp;Name='cnt'}
844
				local huhu=hum
845
				local cf=huhu.Torso.CFrame
846
				local o1,o2=huhu.WalkSpeed,huhu.JumpPower
847
				huhu.WalkSpeed=0
848
				huhu.JumpPower=0
849
				local bp=New"BodyPosition"{_P=hum.Torso;MaxForce=v3n(1,1,1)*9e+009;
850
				position=hum.Torso.Position;Name='Umpalumpa'}
851
				Spawn(function()
852
					repeat
853
						-- pcall(function()huhu.Torso.Anchored=true end)
854
						-- pp.CFrame=cf
855
						pcall(function()pp.Parent.Anchored=false end)
856
						cnt.Value=cnt.Value-1
857
						wait'.5'
858
					until cnt.Value <= 0
859
					huhu.WalkSpeed,huhu.JumpPower=o1,o2
860
					pcall(function()bp:Destroy() end)					
861
					for i=.5,1,.1 do
862
						pp.Transparency=i						
863
						ring2.Transparency=i
864
						wait()
865
					end pp:Destroy()
866
				end)
867
				Debris:AddItem(pp,7)
868
			else
869
				android.cnt.Value=.5
870
			end
871
			
872
			---Backup stucking---
873
			
874
			-- Debris:AddItem(bp,.25) --end
875
		end
876
		-- 'rbxassetid://430059354'
877
		---Cross effect---
878
		local bl=Part(1,1,1,nil,.5)Mesh(_1,'s')
879
		local bl2=Part(1,1,1,nil,.5)Mesh(_1,'s')
880
		Edit{bl,bl2}{Anchored=true;BrickColor=bcol'New Yeller'}
881
		
882
		bl.CFrame=cfn(mouse.hit.p,l(Torso).p)*ang(0,PI/2)
883
		bl2.CFrame=l(bl,0,0,0,PI/2)
884
		-- bl3.CFrame=l(bl2,0,0,0,0,PI/2)
885
		
886
		Spawn(function()
887
		for i=0,1,.1 do
888
			for _,v in next,{bl,bl2}do
889
				pcall(function()v.Mesh.Scale=v3n(1,10,1)*i end)
890
				v.Transparency=i
891
			end wait()
892
		end bl:Destroy()bl2:Destroy() end)
893
		
894
		---Ring efect beneath you
895
		local gr,gr_pos=Workspace:FindPartOnRay(Ray.new(l(Torso).p,v3n(0,-10)),Char)	
896
		if (tick()-pt)>.1 then	
897
			if gr and gr_pos then
898
				Part(.1,.1,.1,'New Yeller',.5)
899
				ringSFX(cfn(gr_pos)*ang(PI/2),_1,20)
900
			end
901
			---"Grow" effect on laser---
902
			Spawn(function()
903
				local cl=laz:Clone()cl.Parent=Main
904
				local msh=cl.m
905
				for i=0,1,.25 do
906
					msh.Scale=v3n(1+i*10,1,1+i*10)
907
					cl.Transparency=i
908
					wait()
909
				end
910
				cl:Destroy()
911
			end)
912
			
913
			pt=tick()
914
		end
915
		wait()
916
	end
917
	---Clearing up---
918
	for i,v in pairs(t)do v:Destroy()end
919
	for i,v in pairs(li)do v:Destroy()end
920
	laz:Destroy()
921
	for i=1,0,-.1 do msh.Scale=v3n(2,2,2)*i wait()end
922
	aura:Destroy()
923
	hw.d=cfn()
924
	rw.l=0 lw.l=0
925
end
926
927
function recurseHum(what)
928
	local res
929
	local p=what
930
	repeat
931
		p=p.Parent
932
		if p then
933
			local hum=p:FindFirstChild'Humanoid'
934
			if hum then
935
				res=hum
936
				break
937
			end
938
		end
939
	until p==nil
940
	return res
941
end
942
943
function galaxy()
944
945
	local function getAllParts(radius)
946
		local min,max = math.min,math.max
947
		local list={}
948
		local pos1,pos2=l(Torso,-15,-2,-15).p,l(Torso,15,2,15).p
949
		local reg=Region3.new(v3n(min(pos1.x,pos2.x),min(pos1.y,pos2.y),min(pos1.z,pos2.z)),
950
							v3n(max(pos1.x,pos2.x),max(pos1.y,pos2.y),max(pos1.z,pos2.z)))
951
		for i,v in pairs(Workspace:FindPartsInRegion3WithIgnoreList(reg,{Char})) do
952
			if (v.Position-Torso.Position).magnitude<radius and v.Name~='Base' then
953
				table.insert(list,v)
954
			end
955
		end
956
		return list
957
	end
958
959
	local orig_ws=Humanoid.WalkSpeed
960
	WalkSpeed=0
961
	Edit{rw,lw,rw2,lw2,tw}{l=1}
962
	tw.d=ang(md'-45')
963
	-- rw.d=ang(md'-45',0,md'25')
964
	rw.d=ang(md'50',0,md'25')*ang(0,md'15')
965
	lw.d=ang(md'-45',0,md'-25')
966
	-- hw.d=ang(0,0,md'15')
967
	hw.d=cfn(0,.05,0)
968
	rw2.d=ang(PI/4,0,md'15')
969
	lw2.d=ang(PI/4,0,-md'15')
970
	Humanoid.HipHeight=-1.5
971
	local linese={}
972
	local spinners={}
973
	
974
	---Rings---
975
	for a=-90,90,45 do
976
		local cyl=Part(1,1,1,'',1)Mesh(cyl,'cyl',10,1,10)
977
		local ww=Weld(cyl,HumRoot,0,0,0,md(a))
978
		table.insert(spinners,ww)
979
		table.insert(linese,cyl)
980
	end
981
	for a=-90,90,45 do
982
		local cyl=Part(1,1,1,'',1)Mesh(cyl,'cyl',10,1,10)
983
		local ww=Weld(cyl,HumRoot,0,0,0,0,0,md(a))
984
		table.insert(spinners,ww)
985
		table.insert(linese,cyl)
986
	end
987
	for i,v in pairs(linese)do
988
	for _,face in next,Enum.NormalId:GetEnumItems() do
989
		if face.Name~='Top'and face.Name~='Bottom' then
990
			New"Texture"{_P=v;Texture='rbxassetid://'..180728579-1;Face=face;Transparency=0;
991
			StudsPreTileU=1;}
992
		end
993
	end end
994
	
995
	---Spheres---
996
	for i=0,1,1/6 do
997
		local p=Part(1,1,1,'New Yeller',.9)p.Material='Neon'
998
		Mesh(p,'s',i*9,i*9,i*9)
999
		table.insert(spinners,Weld(p,Torso))
1000
		for _,face in next,Enum.NormalId:GetEnumItems() do
1001
			New"Decal"{_P=p;Face=face;Texture='rbxassetid://'..124291850-1;Transparency=.5}
1002
		end
1003
	end
1004
	base_spd = .025
1005
	deviation = 1
1006
	local ptick=tick()
1007
	holding=true
1008
	---Mainloop---
1009
	while holding do
1010
		---Spin---
1011
		for o,weld in next,spinners do
1012
			weld.C1 = weld.C1 * ang(0,(o%2==0 and -1 or 1)*base_spd)
1013
		end
1014
		
1015
		--Move parts away from you---
1016
		for _,part in next,getAllParts(7) do
1017
				
1018
			local hum=recurseHum(part)
1019
			if hum and (hum.Torso.Position-Torso.Position).magnitude <= 10 then
1020
				local rot=l(hum.Torso)-l(hum.Torso).p
1021
				hum.Torso.CFrame=cfn((cfn(hum.Torso.CFrame.p,Torso.CFrame.p)*cfn(0,0,5)).p)*rot
1022
				break
1023
			else
1024
				local rot=l(part)-l(part).p
1025
				part.CFrame=cfn((cfn(part.CFrame.p,Torso.CFrame.p)*cfn(0,0,5)).p)*rot
1026
			end
1027
		end
1028
		
1029
		---Heal others---
1030
		if (tick()-ptick)>.25 then
1031
			
1032
			for _,hum in next,findHum(Torso.Position,20) do
1033
				hum:TakeDamage(-5)
1034
				local mag=(l(hum.Torso).p-l(Torso).p).magnitude
1035
				local bl=Part(.1,mag,.1,'Lime green',.75)bl.Material='Neon'
1036
				bl.Anchored=true
1037
				local msh=Mesh(_1,'s')
1038
				bl.CFrame=l(cfn(l(Torso).p,l(hum.Torso).p),0,0,-mag/2)*ang(PI/2)
1039
				local momo=godly(hum.Parent,'Lime green',.9)
1040
				Spawn(function() ---Fade out beam---
1041
				local scales={}
1042
				for _,v in pairs(momo:children())do table.insert(scales,v.Mesh.Scale) end
1043
				for i=0,1,.05 do
1044
					for i2,v in pairs(momo:children())do
1045
						v.Mesh.Scale=scales[i2]+(v3n(.05,.05,.05)*i)
1046
						v.Transparency=.9+(.1*i)
1047
					end
1048
					bl.Transparency=.75+i*(1-.75)
1049
					msh.Scale=v3n(1+i*5,1,1+i*.5)
1050
					wait()
1051
				end
1052
				momo:Destroy()
1053
				bl:Destroy()end)
1054
			end
1055
			ptick=tick()
1056
		end
1057
		---Heal yourself---
1058
		Humanoid:TakeDamage(-5)
1059
		wait()
1060
	end
1061
	for _,v in pairs(spinners)do v.Parent:Destroy()end
1062
	Humanoid.HipHeight=0
1063
	hw.d=cfn()
1064
	WalkSpeed=orig_ws
1065
	Edit{rw,lw,rw2,lw2,tw}{l=0}
1066
1067
end
1068
function godly(tar,color,tr)
1069
	local function getM(a)
1070
		local res=nil
1071
		for i,v in pairs(a:children())do
1072
			if v.className:match'Mesh' then
1073
				res=v
1074
			end
1075
		end return res
1076
	end
1077
	local godo=New"Model"{_P=Main}
1078
	set_parent=godo
1079
	local trlist={}
1080
	for i,v in next,(tar and tar:children() or Char:children()) do
1081
		if v:IsA'Part' and v.Name~='HumanoidRootPart' then
1082
			if v.Name =='Head'then
1083
				local pp=Part(1,1,1,color or 'New Yeller',tr or .9)pp.Material='Neon'
1084
				pp.Size=v.Size
1085
				Weld(pp,v)
1086
				local mesh=v.Mesh:Clone()mesh.Parent=pp
1087
				mesh.Scale=mesh.Scale*1.1
1088
				table.insert(trlist,mesh.Scale)
1089
			else
1090
				local pp=Part(1,1,1,color or 'New Yeller',tr or .9)_1.Material='Neon'
1091
				pp.Size=v.Size Weld(pp,v)
1092
				local msh=Mesh(pp,'bl')
1093
				msh.Scale=msh.Scale*1.1
1094
				table.insert(trlist,msh.Scale)
1095
			end
1096
		elseif v:IsA'Hat'then
1097
			local pp=Part(.1,.1,.1,color or 'New Yeller',tr or .9)_1.Material='Neon'
1098
			Weld(pp,v.Handle)
1099
			local mesh=getM(v.Handle):Clone()
1100
			mesh.TextureId=''
1101
			mesh.Scale=mesh.Scale+(mesh.Scale*.01)
1102
			mesh.Parent=pp
1103
			table.insert(trlist,mesh.Scale)
1104
		end
1105
	end
1106
	set_parent=nil
1107
	return godo,trlist
1108
end
1109
1110
main_aura,main_aura_tr=godly()
1111
1112
function hammer(mouse)
1113
	Edit{rw,lw,rw2,lw2,tw}{l=1}
1114
	tw.d=cfn()*ang(md'25')
1115
	Humanoid.HipHeight=.25
1116
	rw2.d=cfn(0,-.05,0)*ang(md'25')
1117
	lw2.d=ang(md'-25')
1118
	rw.d=cfn(0,0,-.25)*ang(PI/2+md'25',0,md'-45')
1119
	lw.d=cfn(0,0,-.25)*ang(PI/2+md'25',0,md'45')
1120
	hw.d=cfn(0,-1,0)*ang(PI/2,md'45')
1121
	wait(1)
1122
	local ppos=l(HumRoot,0,0,-5).p
1123
	for _,hum in next,findHum(ppos,30) do
1124
		Spawn(function()hum.PlatformStand=true wait'.1'hum.PlatformStand=false end)
1125
		hum.Torso.Velocity=v3n(0,100,0)
1126
	end
1127
	
1128
	rw.d=cfn(0,0,-.25)*ang(PI/2+md'45',0,md'-45')
1129
	lw.d=cfn(0,0,-.25)*ang(PI/2+md'45',0,md'45')
1130
	tw.d=ang(md'-45')
1131
	lw2.d=ang(md'-55')
1132
	local bv=New"BodyVelocity"{_P=Torso,velocity=HumRoot.CFrame.lookVector*-30}
1133
	
1134
	local gr,gr_p=Workspace:FindPartOnRay(Ray.new(ppos,v3n(0,-10,0)),Char)
1135
	-- ge,ge_p=nil,nil
1136
1137
	if not gr or not gr_p then
1138
		hw.d=cfn()
1139
		Edit{rw,lw,rw2,lw2,tw}{l=0}
1140
	return end
1141
	
1142
	local volcano=Part(1,1,1,'Crimson')volcano.Anchored=true
1143
	volcano.CFrame=cfn(gr_p)		
1144
	local cf =volcano.CFrame
1145
	local r=100
1146
	Spawn(function()
1147
		for i=1,5 do
1148
			local pp=Part(3,3,3,'White')pp.Material='Slate'
1149
			local msh=Mesh(pp,mesh_ids.rock)msh.Scale=v3n(.6,.6,.6)*pp.Size
1150
			msh.TextureId = mesh_texs.rock
1151
			msh.VertexColor=v3n(1,0,0)
1152
			pp.CanCollide=true
1153
			New"Fire"{_P=pp;Size=4.5;Heat=0}
1154
			pp.CFrame=l(cf,0,0,0,mr(-md'15',md'15'),0,mr(-md'15',md'15'))*cfn(0,0,1)
1155
			pp:BreakJoints()
1156
			pp.Velocity=l(cf,0,0,0,mr(-4,4),mr(-4,4),mr(-4,4)).lookVector*40+v3n(0,50,0)
1157
			New"BodyForce"{_P=pp;Name='F';Force=v3n(0,(m.float*pp:GetMass())*.75,0)}
1158
			New"BodyAngularVelocity"{_P=pp;angularvelocity=v3n(4,4,4)*PI*4}
1159
			Delay(1,function()
1160
				for i=1,3 do
1161
					local p=pp:Clone()
1162
					p.Size=v3n(1,1,1)
1163
					p.Parent=Main
1164
					p.F.Force=v3n(0,p:GetMass()*m.float*1.25,0)
1165
					p.Velocity=cfn(p.Position,mouse.hit.p).lookVector*200
1166
					p.Touched:connect(function(hit)
1167
					if hit:IsDescendantOf(Char) then return end
1168
						local e=Instance.new("Explosion",Workspace)
1169
						e.BlastPressure=0
1170
						e.BlastRadius = 7
1171
						e.Position=p.Position
1172
						e.Hit:connect(function(hit)
1173
						local hum=hit.Parent:FindFirstChild'Humanoid'
1174
						if hum and hum.Parent~=Char then
1175
							hum:TakeDamage(2)
1176
						end end)
1177
						p:Destroy()
1178
					end)
1179
						
1180
					Debris:AddItem(p,2)
1181
				end
1182
				pp:Destroy()
1183
			end)
1184
			wait()
1185
		end
1186
	end)
1187
	
1188
	ringSFX(l(volcano,0,0,0,PI/2),volcano,40,.025)
1189
	wait(1)
1190
	bv:Destroy()
1191
	
1192
	hw.d=cfn()
1193
	Edit{rw,lw,rw2,lw2,tw}{l=0}
1194
end
1195
1196
stealthed=false
1197
re=nil
1198
1199
function ballSFX(cf,part,scale,from,to,dir)
1200
	part.Anchored=true
1201
	part.CFrame=cf
1202
	local msh=Mesh(part,'s',0,0,0)
1203
	for i=from,to,dir do
1204
		msh.Scale=v3n(scale,scale,scale)*i
1205
		wait()
1206
	end
1207
end
1208
1209
function stealth()
1210
	stealthed=not stealthed
1211
	local tt=main_aura_tr
1212
	if stealthed then
1213
		re = hideAllParts(Char,0)
1214
		emitter.Enabled=false
1215
		---Shrink---
1216
		for i=0,1,.1 do
1217
			Edit(main_aura:children()){
1218
				Transparency=.9+(i*.1);
1219
				['Mesh.Scale'] = v3n(1,1,1)*(1-i);
1220
			}
1221
			wait()
1222
		end		
1223
	else		
1224
		---Expand---
1225
		for i=0,1,.1 do
1226
			Edit(main_aura:children()){
1227
				Transparency=1-(.1*i);
1228
				-- ['Mesh.Scale']=(v3n(1.1,1.1,1.1)*i);
1229
			}
1230
			for o,v in pairs(main_aura:children())do
1231
				v.Mesh.Scale=tt[o]*i
1232
			end
1233
			wait()
1234
		end
1235
		re()
1236
		emitter.Enabled=true
1237
	end
1238
end
1239
1240
function conjure()
1241
	c_cf=l(Torso,0,0,-5)
1242
	set_anchor = true
1243
	mp = Part(.15,1,.15)
1244
	mp.CFrame=c_cf
1245
	blade = Part(1,4,.25)
1246
	_1.CFrame=l(mp,0,.5+2)
1247
	Mesh(_1,'bl',1,1,.5)
1248
	cp = Part(.8,3.8,.25,'White')
1249
	New"Texture"{_P=cp;Face='Back';Texture='rbxassetid://33092538'}
1250
	New"Texture"{_P=cp;Face='Front';Texture='rbxassetid://33092538'}
1251
	cp.CFrame=l(blade)
1252
	Mesh(_1,'bl',1,1,.55)
1253
	
1254
	tip1=Wedge(.25,1,.5)
1255
	_1.CFrame=l(blade,.25,2+_1.Size.y/2,0,0,-PI/2)
1256
	Mesh(_1,'w',.5,1,1)
1257
	tip2=Wedge(.25,1,.5)
1258
	_1.CFrame=l(blade,-.25,2+_1.Size.y/2,0,0,PI/2)
1259
	Mesh(_1,'w',.5,1,1)
1260
	set_anchor = nil
1261
end
1262
-- conjure()
1263
1264
1265
holding=false
1266
attacking=false
1267
klist={
1268
	f=slash;
1269
	qq=laser;
1270
	cq=galaxy;
1271
	r=hammer;
1272
	z=stealth;
1273
	x=conjure;
1274
}
1275
1276
Humanoid.Died:connect(function()
1277
	local bl=Part(10,10,10)bl.Anchored=true
1278
	bl.CFrame=l(Torso)
1279
	for _,v in pairs(Char:children())do
1280
		if v:IsA'BasePart'then
1281
			v.Touched:connect(function(a)
1282
				local h=recurseHum(a)
1283
				if h and h.Parent~=Char then h.Health=0 end
1284
			end)
1285
		end
1286
	end
1287
	for i,v in pairs(findHum(Torso.Position,10))do
1288
		v.Parent:BreakJoints()
1289
	end
1290
	Mesh(bl,'s')
1291
	Spawn(function()
1292
		for i=0,1,.1 do
1293
			Edit{bl}{Transparency=i}
1294
			wait()
1295
		end
1296
	end)
1297
end)
1298
1299
-- rbxassetid://430066606 mesh
1300
-- rbxassetid://430066609 tex
1301
1302
-- New"FileMesh"{_P=character.Head;MeshId='rbxassetid://430066606'}
1303
1304
holding=false
1305
Mouse.KeyUp:connect(function(key)
1306
	if key=='0' then dash=false else
1307
		for i,v in pairs(klist)do
1308
			if key == i:sub(1,1) and i:sub(2,2) == 'q' then
1309
				holding=false
1310
			end
1311
		end
1312
	end
1313
end)
1314
Mouse.KeyDown:connect(function(key)
1315
	if attacking then return end
1316
	attacking=true
1317
	if key=='0' then dash=true else
1318
		for i,v in pairs(klist)do
1319
			if key==i:sub(1,1) then
1320
				v(Mouse)
1321
			end
1322
		end
1323
	end
1324
	attacking=false
1325
end)
1326
1327
for i,v in next,getfenv(0) do
1328
	if i:match('_con') then
1329
		table.insert(Connections,v)
1330
	end
1331
end
1332
New"BindableFunction"{_P=script;Name='stop'}.OnInvoke=function()for i,v in pairs(Connections)do v:disconnect()end end
1333
1334
script.Name='god_script: '..Player.Name
1335
end