View difference between Paste ID: U6gJHwfn and cXvyHrms
SHOW: | | - or go back to the newest paste.
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:GetService("Players").LocalPlayer
172
PlayerGui = Player.PlayerGui
173
Cam = workspace.CurrentCamera
174
Backpack = Player.Backpack
175
Character = Player.Character
176
Humanoid = Character.Humanoid
177
Mouse = Player:GetMouse()
178
RootPart = Character["HumanoidRootPart"]
179
Torso = Character["Torso"]
180
Head = Character["Head"]
181
RightArm = Character["Right Arm"]
182
LeftArm = Character["Left Arm"]
183
RightLeg = Character["Right Leg"]
184
LeftLeg = Character["Left Leg"]
185
RootJoint = RootPart["RootJoint"]
186
Neck = Torso["Neck"]
187
RightShoulder = Torso["Right Shoulder"]
188
LeftShoulder = Torso["Left Shoulder"]
189
RightHip = Torso["Right Hip"]
190
LeftHip = Torso["Left Hip"]
191
192
IT = Instance.new
193
CF = CFrame.new
194
VT = Vector3.new
195
RAD = math.rad
196
C3 = Color3.new
197
UD2 = UDim2.new
198
BRICKC = BrickColor.new
199
ANGLES = CFrame.Angles
200
EULER = CFrame.fromEulerAnglesXYZ
201
COS = math.cos
202
ACOS = math.acos
203
SIN = math.sin
204
ASIN = math.asin
205
ABS = math.abs
206
MRANDOM = math.random
207
FLOOR = math.floor
208
209
--//=================================\\
210
--|| 	      USEFUL VALUES
211
--\\=================================//
212
213
gui = function(GuiType, parent, text, backtrans, backcol, pos, size)
214
  local gui = it(GuiType)
215
  gui.Parent = parent
216
  gui.Text = text
217
  gui.BackgroundTransparency = backtrans
218
  gui.BackgroundColor3 = backcol
219
  gui.SizeConstraint = "RelativeXY"
220
  gui.TextXAlignment = "Center"
221
  gui.TextYAlignment = "Center"
222
  gui.Position = pos
223
  gui.Size = size
224
  gui.Font = "SourceSans"
225
  gui.FontSize = "Size14"
226
  gui.TextWrapped = false
227
  gui.TextStrokeTransparency = 0
228
  gui.TextColor = BrickColor.new("White")
229
  return gui
230
end
231
--------------------------- GUI STUFF
232
local basgui = it("GuiMain")
233
basgui.Parent = plr.PlayerGui
234
basgui.Name = "VISgui"
235
local fullscreenz = it("Frame")
236
fullscreenz.Parent = basgui
237
fullscreenz.BackgroundColor3 = Color3.new(255, 255, 255)
238
fullscreenz.BackgroundTransparency = 1
239
fullscreenz.BorderColor3 = Color3.new(17, 17, 17)
240
fullscreenz.Size = UDim2.new(1, 0, 1, 0)
241
fullscreenz.Position = UDim2.new(0, 0, 0, 0)
242
local imgl2 = Instance.new("ImageLabel",fullscreenz)
243
imgl2.BackgroundTransparency = 1
244
imgl2.BorderSizePixel = 0
245
imgl2.ImageTransparency = 0.5
246
imgl2.ImageColor3 = Color3.new(1,0,0)
247
imgl2.Position = UDim2.new(0.75,-200,0.55,-200)
248
imgl2.Size = UDim2.new(0,1000,0,1000)
249
imgl2.Image = "rbxassetid://2325939897"
250
local techc = imgl2:Clone()
251
techc.Parent = fullscreenz
252
techc.ImageTransparency = 0
253
techc.Size = UDim2.new(0,900,0,900)
254
techc.Position = UDim2.new(0.75,-150,0.55,-150)
255
techc.ImageColor3 = Color3.new(1,0,0)
256
techc.Image = "rbxassetid://2273224484"
257
local circl = imgl2:Clone()
258
circl.Parent = fullscreenz
259
circl.ImageTransparency = 0
260
circl.Size = UDim2.new(0,550,0,550)
261
circl.Position = UDim2.new(0.75,25,0.55,25)
262
circl.ImageColor3 = Color3.new(0,0,0)
263
circl.Image = "rbxassetid://2312119891"
264
local circl2 = imgl2:Clone()
265
circl2.Parent = fullscreenz
266
circl2.ImageTransparency = 0
267
circl2.Size = UDim2.new(0,700,0,700)
268
circl2.Position = UDim2.new(0.75,-50,0.55,-50)
269
circl2.ImageColor3 = Color3.new(1,0,0)
270
circl2.Image = "rbxassetid://2312119891"
271
local imgl2b = imgl2:Clone()
272
imgl2b.Parent = fullscreenz
273
imgl2b.ImageTransparency = 0
274
imgl2b.Size = UDim2.new(0,800,0,800)
275
imgl2b.Position = UDim2.new(0.75,-100,0.55,-100)
276
imgl2b.ImageColor3 = Color3.new(0,0,0)
277
local ned = Instance.new("TextLabel",fullscreenz)
278
ned.ZIndex = 2
279
ned.Font = "Arcade"
280
ned.BackgroundTransparency = 1
281
ned.BorderSizePixel = 0.65
282
ned.Size = UDim2.new(0.3,0,0.2,0)
283
ned.Position = UDim2.new(0.7,0,0.8,0)
284
ned.TextColor3 = BrickColor.new("Really red").Color
285
ned.TextStrokeColor3 = BrickColor.new("Really black").Color
286
ned.TextScaled = true
287
ned.TextStrokeTransparency = 0
288
ned.Text = "BLACK"
289
ned.TextSize = 24
290
ned.Rotation = 1
291
ned.TextXAlignment = "Right"
292
ned.TextYAlignment = "Bottom"
293
294
Animation_Speed = 3
295
local FORCERESET = false
296
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
297
local SIZE = 1
298
local Speed = 16
299
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
300
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
301
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
302
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
303
local DAMAGEMULTIPLIER = 1
304
local ANIM = "Idle"
305
local ATTACK = false
306
local EQUIPPED = false
307
local HOLD = false
308
local COMBO = 1
309
local Rooted = false
310
local SINE = 0
311
local KEYHOLD = false
312
local CHANGE = 2 / Animation_Speed
313
local WALKINGANIM = false
314
local VALUE1 = false
315
local VALUE2 = false
316
local ROBLOXIDLEANIMATION = IT("Animation")
317
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
318
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
319
--ROBLOXIDLEANIMATION.Parent = Humanoid
320
local WEAPONGUI = IT("ScreenGui", PlayerGui)
321
WEAPONGUI.Name = "BanishV3Gui"
322
local Weapon = IT("Folder", Character)
323
Weapon.Name = "Weapon"
324
local Weapon2 = IT("Folder", Character)
325
Weapon2.Name = "Weapon2"
326
local DeadEye = IT("Folder", Character)
327
DeadEye.Name = "DeadEye"
328
local HM = IT("Folder", Character)
329
HM.Name = "HM"
330
local Pan = IT("Folder", Character)
331
Pan.Name = "Pan"
332
local Pan2 = IT("Folder", Character)
333
Pan2.Name = "Pan2"
334
local FaceGradient = IT("Folder", Character)
335
FaceGradient.Name = "FaceGradient"
336
local black = IT("Folder", Character)
337
black.Name = "black"
338
local Heads = IT("Folder", Character)
339
Heads.Name = "Heads"
340
local Effects = IT("Folder", Character)
341
Effects.Name = "Effects"
342
local ANIMATOR = Humanoid.Animator
343
local ANIMATE = Character:FindFirstChild("Animate")
344
local UNANCHOR = true
345
local CLOCKLOOP = 0
346
local CLOCKTARGET = nil
347
local CLOCKSPEED = 1
348
script.Parent = WEAPONGUI
349
local HITFLOOR = nil
350
local INTRO = false
351
local INSTANT = false
352
local LEFTWINGS = {}
353
local RIGHTWINGS = {}
354
local BODY = {}
355
local TOBANISH = {}
356
script.Parent = PlayerGui
357
358
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
359
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
360
end
361
362
function PositiveAngle(NUMBER)
363
	if NUMBER >= 0 then
364
		NUMBER = 0
365
	end
366
	return NUMBER
367
end
368
369
function NegativeAngle(NUMBER)
370
	if NUMBER <= 0 then
371
		NUMBER = 0
372
	end
373
	return NUMBER
374
end
375
376
function Swait(NUMBER)
377
	if NUMBER == 0 or NUMBER == nil then
378
		ArtificialHB.Event:wait()
379
	else
380
		for i = 1, NUMBER do
381
			ArtificialHB.Event:wait()
382
		end
383
	end
384
end
385
386
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
387
	local NEWMESH = IT(MESH)
388
	if MESH == "SpecialMesh" then
389
		NEWMESH.MeshType = MESHTYPE
390
		if MESHID ~= "nil" and MESHID ~= "" then
391
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
392
		end
393
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
394
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
395
		end
396
	end
397
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
398
	NEWMESH.Scale = SCALE
399
	NEWMESH.Parent = PARENT
400
	return NEWMESH
401
end
402
403
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
404
	local NEWPART = IT("Part")
405
	NEWPART.formFactor = FORMFACTOR
406
	NEWPART.Reflectance = REFLECTANCE
407
	NEWPART.Transparency = TRANSPARENCY
408
	NEWPART.CanCollide = false
409
	NEWPART.Locked = true
410
	NEWPART.Anchored = true
411
	if ANCHOR == false then
412
		NEWPART.Anchored = false
413
	end
414
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
415
	NEWPART.Name = NAME
416
	NEWPART.Size = SIZE
417
	NEWPART.Position = Torso.Position
418
	NEWPART.Material = MATERIAL
419
	NEWPART:BreakJoints()
420
	NEWPART.Parent = PARENT
421
	return NEWPART
422
end
423
424
	local function weldBetween(a, b)
425
	    local weldd = Instance.new("ManualWeld")
426
	    weldd.Part0 = a
427
	    weldd.Part1 = b
428
	    weldd.C0 = CFrame.new()
429
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
430
	    weldd.Parent = a
431
	    return weldd
432
	end
433
434
435
function QuaternionFromCFrame(cf)
436
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
437
	local trace = m00 + m11 + m22
438
	if trace > 0 then 
439
		local s = math.sqrt(1 + trace)
440
		local recip = 0.5 / s
441
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
442
	else
443
		local i = 0
444
		if m11 > m00 then
445
			i = 1
446
		end
447
		if m22 > (i == 0 and m00 or m11) then
448
			i = 2
449
		end
450
		if i == 0 then
451
			local s = math.sqrt(m00 - m11 - m22 + 1)
452
			local recip = 0.5 / s
453
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
454
		elseif i == 1 then
455
			local s = math.sqrt(m11 - m22 - m00 + 1)
456
			local recip = 0.5 / s
457
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
458
		elseif i == 2 then
459
			local s = math.sqrt(m22 - m00 - m11 + 1)
460
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
461
		end
462
	end
463
end
464
 
465
function QuaternionToCFrame(px, py, pz, x, y, z, w)
466
	local xs, ys, zs = x + x, y + y, z + z
467
	local wx, wy, wz = w * xs, w * ys, w * zs
468
	local xx = x * xs
469
	local xy = x * ys
470
	local xz = x * zs
471
	local yy = y * ys
472
	local yz = y * zs
473
	local zz = z * zs
474
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
475
end
476
 
477
function QuaternionSlerp(a, b, t)
478
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
479
	local startInterp, finishInterp;
480
	if cosTheta >= 0.0001 then
481
		if (1 - cosTheta) > 0.0001 then
482
			local theta = ACOS(cosTheta)
483
			local invSinTheta = 1 / SIN(theta)
484
			startInterp = SIN((1 - t) * theta) * invSinTheta
485
			finishInterp = SIN(t * theta) * invSinTheta
486
		else
487
			startInterp = 1 - t
488
			finishInterp = t
489
		end
490
	else
491
		if (1 + cosTheta) > 0.0001 then
492
			local theta = ACOS(-cosTheta)
493
			local invSinTheta = 1 / SIN(theta)
494
			startInterp = SIN((t - 1) * theta) * invSinTheta
495
			finishInterp = SIN(t * theta) * invSinTheta
496
		else
497
			startInterp = t - 1
498
			finishInterp = t
499
		end
500
	end
501
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
502
end
503
504
function Clerp(a, b, t)
505
	local qa = {QuaternionFromCFrame(a)}
506
	local qb = {QuaternionFromCFrame(b)}
507
	local ax, ay, az = a.x, a.y, a.z
508
	local bx, by, bz = b.x, b.y, b.z
509
	local _t = 1 - t
510
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
511
end
512
513
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
514
	local frame = IT("Frame")
515
	frame.BackgroundTransparency = TRANSPARENCY
516
	frame.BorderSizePixel = BORDERSIZEPIXEL
517
	frame.Position = POSITION
518
	frame.Size = SIZE
519
	frame.BackgroundColor3 = COLOR
520
	frame.BorderColor3 = BORDERCOLOR
521
	frame.Name = NAME
522
	frame.Parent = PARENT
523
	return frame
524
end
525
526
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
527
	local label = IT("TextLabel")
528
	label.BackgroundTransparency = 1
529
	label.Size = UD2(1, 0, 1, 0)
530
	label.Position = UD2(0, 0, 0, 0)
531
	label.TextColor3 = TEXTCOLOR
532
	label.TextStrokeTransparency = STROKETRANSPARENCY
533
	label.TextTransparency = TRANSPARENCY
534
	label.FontSize = TEXTFONTSIZE
535
	label.Font = TEXTFONT
536
	label.BorderSizePixel = BORDERSIZEPIXEL
537
	label.TextScaled = false
538
	label.Text = TEXT
539
	label.Name = NAME
540
	label.Parent = PARENT
541
	return label
542
end
543
544
function NoOutlines(PART)
545
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
546
end
547
548
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
549
	local NEWWELD = IT(TYPE)
550
	NEWWELD.Part0 = PART0
551
	NEWWELD.Part1 = PART1
552
	NEWWELD.C0 = C0
553
	NEWWELD.C1 = C1
554
	NEWWELD.Parent = PARENT
555
	return NEWWELD
556
end
557
558
local S = IT("Sound")
559
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
560
	local NEWSOUND = nil
561
	coroutine.resume(coroutine.create(function()
562
		NEWSOUND = S:Clone()
563
		NEWSOUND.Parent = PARENT
564
		NEWSOUND.Volume = VOLUME
565
		NEWSOUND.Pitch = PITCH
566
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
567
		NEWSOUND:play()
568
		if DOESLOOP == true then
569
			NEWSOUND.Looped = true
570
		else
571
			repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
572
			NEWSOUND:remove()
573
		end
574
	end))
575
	return NEWSOUND
576
end
577
578
function CFrameFromTopBack(at, top, back)
579
	local right = top:Cross(back)
580
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
581
end
582
583
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
584
function WACKYEFFECT(Table)
585
	local TYPE = (Table.EffectType or "Sphere")
586
	local SIZE = (Table.Size or VT(1,1,1))
587
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
588
	local TRANSPARENCY = (Table.Transparency or 0)
589
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
590
	local CFRAME = (Table.CFrame or Torso.CFrame)
591
	local MOVEDIRECTION = (Table.MoveToPos or nil)
592
	local ROTATION1 = (Table.RotationX or 0)
593
	local ROTATION2 = (Table.RotationY or 0)
594
	local ROTATION3 = (Table.RotationZ or 0)
595
	local MATERIAL = (Table.Material or "Neon")
596
	local COLOR = (Table.Color or C3(1,1,1))
597
	local TIME = (Table.Time or 45)
598
	local SOUNDID = (Table.SoundID or nil)
599
	local SOUNDPITCH = (Table.SoundPitch or nil)
600
	local SOUNDVOLUME = (Table.SoundVolume or nil)
601
	coroutine.resume(coroutine.create(function()
602
		local PLAYSSOUND = false
603
		local SOUND = nil
604
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
605
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
606
			PLAYSSOUND = true
607
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
608
		end
609
		EFFECT.Color = COLOR
610
		local MSH = nil
611
		if TYPE == "Sphere" then
612
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
613
		elseif TYPE == "Block" then
614
			MSH = IT("BlockMesh",EFFECT)
615
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
616
		elseif TYPE == "Wave" then
617
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
618
		elseif TYPE == "Ring" then
619
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
620
		elseif TYPE == "Slash" then
621
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
622
		elseif TYPE == "Round Slash" then
623
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
624
		elseif TYPE == "Swirl" then
625
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
626
		elseif TYPE == "Skull" then
627
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
628
		elseif TYPE == "Crystal" then
629
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
630
		end
631
		if MSH ~= nil then
632
			local MOVESPEED = nil
633
			if MOVEDIRECTION ~= nil then
634
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
635
			end
636
			local GROWTH = SIZE - ENDSIZE
637
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
638
			if TYPE == "Block" then
639
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
640
			else
641
				EFFECT.CFrame = CFRAME
642
			end
643
			for LOOP = 1, TIME+1 do
644
				Swait()
645
				MSH.Scale = MSH.Scale - GROWTH/TIME
646
				if TYPE == "Wave" then
647
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
648
				end
649
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
650
				if TYPE == "Block" then
651
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
652
				else
653
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
654
				end
655
				if MOVEDIRECTION ~= nil then
656
					local ORI = EFFECT.Orientation
657
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
658
					EFFECT.Orientation = ORI
659
				end
660
			end
661
			if PLAYSSOUND == false then
662
				EFFECT:remove()
663
			else
664
				SOUND.Stopped:Connect(function()
665
					EFFECT:remove()
666
				end)
667
			end
668
		else
669
			if PLAYSSOUND == false then
670
				EFFECT:remove()
671
			else
672
				repeat Swait() until SOUND.Playing == false
673
				EFFECT:remove()
674
			end
675
		end
676
	end))
677
end
678
for _, c in pairs(Character:GetChildren()) do
679
	if c.ClassName == "Part" then
680
		table.insert(BODY,{c,Character})
681
		for _, q in pairs(c:GetChildren()) do
682
			if q.ClassName == "Motor6D" or q.ClassName == "Weld" or q.ClassName == "ManualWeld" then
683
				table.insert(BODY,{q,c})
684
			end
685
		end
686
	end
687
end
688
689
function refit()
690
	Character.Parent = workspace
691
	for e = 1, #BODY do
692
		if BODY[e] ~= nil then
693
			local STUFF = BODY[e]
694
			local PART = STUFF[1]
695
			local PARENT = STUFF[2]
696
			PART.Parent = PARENT
697
		end
698
	end
699
end
700
701
function MakeForm(PART,TYPE)
702
	if TYPE == "Cyl" then
703
		local MSH = IT("CylinderMesh",PART)
704
	elseif TYPE == "Ball" then
705
		local MSH = IT("SpecialMesh",PART)
706
		MSH.MeshType = "Sphere"
707
	elseif TYPE == "Wedge" then
708
		local MSH = IT("SpecialMesh",PART)
709
		MSH.MeshType = "Wedge"
710
	end
711
end
712
713
function SpawnTrail(FROM,TO,BIG)
714
	local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Lime green", "Trail", VT(0,0,0))
715
	MakeForm(TRAIL,"Cyl")
716
	local DIST = (FROM - TO).Magnitude
717
	if BIG == true then
718
		TRAIL.Size = VT(0.5,DIST,0.5)
719
	else
720
		TRAIL.Size = VT(0.25,DIST,0.25)
721
	end
722
	TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
723
	coroutine.resume(coroutine.create(function()
724
		for i = 1, 5 do
725
			Swait()
726
			TRAIL.Transparency = TRAIL.Transparency + 0.1
727
		end
728
		TRAIL:remove()
729
	end))
730
end
731
732
Debris = game:GetService("Debris")
733
734
function CastProperRay(StartPos, EndPos, Distance, Ignore)
735
	local DIRECTION = CF(StartPos,EndPos).lookVector
736
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
737
end
738
739
function turnto(position)
740
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
741
end
742
local asd = Instance.new("ParticleEmitter")
743
asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
744
asd.LightEmission = .1
745
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
746
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
747
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
748
asd.Transparency = bbb
749
asd.Size = aaa
750
asd.ZOffset = .9
751
asd.Acceleration = Vector3.new(0, -15, 0)
752
asd.LockedToPart = false
753
asd.EmissionDirection = "Back"
754
asd.Lifetime = NumberRange.new(1, 2)
755
asd.Rotation = NumberRange.new(-100, 100)
756
asd.RotSpeed = NumberRange.new(-100, 100)
757
asd.Speed = NumberRange.new(10)
758
asd.Enabled = false
759
asd.VelocitySpread = 999
760
761
function getbloody(victim,amount)
762
	local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
763
	PART.CFrame = victim.CFrame
764
	local HITPLAYERSOUNDS = {"356551938","264486467"}
765
	Debris:AddItem(PART,5)
766
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
767
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
768
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
769
	local prtcl = asd:Clone()
770
	prtcl.Parent = PART
771
	prtcl:Emit(amount*10)
772
end
773
774
local Particle = IT("ParticleEmitter",nil)
775
Particle.Enabled = false
776
Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
777
Particle.LightEmission = 0.5
778
Particle.Rate = 150
779
Particle.ZOffset = 1
780
Particle.Rotation = NumberRange.new(-180, 180)
781
Particle.RotSpeed = NumberRange.new(-180, 180)
782
Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
783
Particle.Color = ColorSequence.new(C3(0,0,0),C3(0.4,0,0))
784
785
--ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
786
function ParticleEmitter(Table)
787
	local PRTCL = Particle:Clone()
788
	local Speed = Table.Speed or 5
789
	local Drag = Table.Drag or 0
790
	local Size1 = Table.Size1 or 1
791
	local Size2 = Table.Size2 or 5
792
	local Lifetime1 = Table.Lifetime1 or 1
793
	local Lifetime2 = Table.Lifetime2 or 1.5
794
	local Parent = Table.Parent or Torso
795
	local Emit = Table.Emit or 100
796
	local Offset = Table.Offset or 360
797
	local Acel = Table.Acel or VT(0,0,0)
798
	local Enabled = Table.Enabled or false
799
	PRTCL.Parent = Parent
800
	PRTCL.Size = NumberSequence.new(Size1,Size2)
801
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
802
	PRTCL.Speed = NumberRange.new(Speed)
803
	PRTCL.VelocitySpread = Offset
804
	PRTCL.Drag = Drag
805
	PRTCL.Acceleration = Acel
806
	if Enabled == false then
807
		PRTCL:Emit(Emit)
808
		Debris:AddItem(PRTCL,Lifetime2)
809
	else
810
		PRTCL.Enabled = true
811
	end
812
	return PRTCL
813
end
814
815
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
816
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
817
end
818
819
function PositiveAngle(NUMBER)
820
	if NUMBER >= 0 then
821
		NUMBER = 0
822
	end
823
	return NUMBER
824
end
825
826
function NegativeAngle(NUMBER)
827
	if NUMBER <= 0 then
828
		NUMBER = 0
829
	end
830
	return NUMBER
831
end
832
833
function Swait(NUMBER)
834
	if NUMBER == 0 or NUMBER == nil then
835
		ArtificialHB.Event:wait()
836
	else
837
		for i = 1, NUMBER do
838
			ArtificialHB.Event:wait()
839
		end
840
	end
841
end
842
843
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
844
	local NEWMESH = IT(MESH)
845
	if MESH == "SpecialMesh" then
846
		NEWMESH.MeshType = MESHTYPE
847
		if MESHID ~= "nil" and MESHID ~= "" then
848
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
849
		end
850
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
851
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
852
		end
853
	end
854
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
855
	NEWMESH.Scale = SCALE
856
	NEWMESH.Parent = PARENT
857
	return NEWMESH
858
end
859
860
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
861
	local NEWPART = IT("Part")
862
	NEWPART.formFactor = FORMFACTOR
863
	NEWPART.Reflectance = REFLECTANCE
864
	NEWPART.Transparency = TRANSPARENCY
865
	NEWPART.CanCollide = false
866
	NEWPART.Locked = true
867
	NEWPART.Anchored = true
868
	if ANCHOR == false then
869
		NEWPART.Anchored = false
870
	end
871
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
872
	NEWPART.Name = NAME
873
	NEWPART.Size = SIZE
874
	NEWPART.Position = Torso.Position
875
	NEWPART.Material = MATERIAL
876
	NEWPART:BreakJoints()
877
	NEWPART.Parent = PARENT
878
	return NEWPART
879
end
880
881
	local function weldBetween(a, b)
882
	    local weldd = Instance.new("ManualWeld")
883
	    weldd.Part0 = a
884
	    weldd.Part1 = b
885
	    weldd.C0 = CFrame.new()
886
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
887
	    weldd.Parent = a
888
	    return weldd
889
	end
890
891
892
function QuaternionFromCFrame(cf)
893
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
894
	local trace = m00 + m11 + m22
895
	if trace > 0 then 
896
		local s = math.sqrt(1 + trace)
897
		local recip = 0.5 / s
898
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
899
	else
900
		local i = 0
901
		if m11 > m00 then
902
			i = 1
903
		end
904
		if m22 > (i == 0 and m00 or m11) then
905
			i = 2
906
		end
907
		if i == 0 then
908
			local s = math.sqrt(m00 - m11 - m22 + 1)
909
			local recip = 0.5 / s
910
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
911
		elseif i == 1 then
912
			local s = math.sqrt(m11 - m22 - m00 + 1)
913
			local recip = 0.5 / s
914
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
915
		elseif i == 2 then
916
			local s = math.sqrt(m22 - m00 - m11 + 1)
917
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
918
		end
919
	end
920
end
921
 
922
function QuaternionToCFrame(px, py, pz, x, y, z, w)
923
	local xs, ys, zs = x + x, y + y, z + z
924
	local wx, wy, wz = w * xs, w * ys, w * zs
925
	local xx = x * xs
926
	local xy = x * ys
927
	local xz = x * zs
928
	local yy = y * ys
929
	local yz = y * zs
930
	local zz = z * zs
931
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
932
end
933
 
934
function QuaternionSlerp(a, b, t)
935
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
936
	local startInterp, finishInterp;
937
	if cosTheta >= 0.0001 then
938
		if (1 - cosTheta) > 0.0001 then
939
			local theta = ACOS(cosTheta)
940
			local invSinTheta = 1 / SIN(theta)
941
			startInterp = SIN((1 - t) * theta) * invSinTheta
942
			finishInterp = SIN(t * theta) * invSinTheta
943
		else
944
			startInterp = 1 - t
945
			finishInterp = t
946
		end
947
	else
948
		if (1 + cosTheta) > 0.0001 then
949
			local theta = ACOS(-cosTheta)
950
			local invSinTheta = 1 / SIN(theta)
951
			startInterp = SIN((t - 1) * theta) * invSinTheta
952
			finishInterp = SIN(t * theta) * invSinTheta
953
		else
954
			startInterp = t - 1
955
			finishInterp = t
956
		end
957
	end
958
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
959
end
960
961
function Clerp(a, b, t)
962
	local qa = {QuaternionFromCFrame(a)}
963
	local qb = {QuaternionFromCFrame(b)}
964
	local ax, ay, az = a.x, a.y, a.z
965
	local bx, by, bz = b.x, b.y, b.z
966
	local _t = 1 - t
967
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
968
end
969
970
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
971
	local frame = IT("Frame")
972
	frame.BackgroundTransparency = TRANSPARENCY
973
	frame.BorderSizePixel = BORDERSIZEPIXEL
974
	frame.Position = POSITION
975
	frame.Size = SIZE
976
	frame.BackgroundColor3 = COLOR
977
	frame.BorderColor3 = BORDERCOLOR
978
	frame.Name = NAME
979
	frame.Parent = PARENT
980
	return frame
981
end
982
983
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
984
	local label = IT("TextLabel")
985
	label.BackgroundTransparency = 1
986
	label.Size = UD2(1, 0, 1, 0)
987
	label.Position = UD2(0, 0, 0, 0)
988
	label.TextColor3 = TEXTCOLOR
989
	label.TextStrokeTransparency = STROKETRANSPARENCY
990
	label.TextTransparency = TRANSPARENCY
991
	label.FontSize = TEXTFONTSIZE
992
	label.Font = TEXTFONT
993
	label.BorderSizePixel = BORDERSIZEPIXEL
994
	label.TextScaled = false
995
	label.Text = TEXT
996
	label.Name = NAME
997
	label.Parent = PARENT
998
	return label
999
end
1000
1001
function NoOutlines(PART)
1002
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1003
end
1004
1005
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1006
	local NEWWELD = IT(TYPE)
1007
	NEWWELD.Part0 = PART0
1008
	NEWWELD.Part1 = PART1
1009
	NEWWELD.C0 = C0
1010
	NEWWELD.C1 = C1
1011
	NEWWELD.Parent = PARENT
1012
	return NEWWELD
1013
end
1014
1015
local S = IT("Sound")
1016
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
1017
	local NEWSOUND = nil
1018
	coroutine.resume(coroutine.create(function()
1019
		NEWSOUND = S:Clone()
1020
		NEWSOUND.Parent = PARENT
1021
		NEWSOUND.Volume = VOLUME
1022
		NEWSOUND.Pitch = PITCH
1023
		NEWSOUND.SoundId = "rbxassetid://"..ID
1024
		NEWSOUND:play()
1025
		if DOESLOOP == true then
1026
			NEWSOUND.Looped = true
1027
		else
1028
			repeat wait(1) until NEWSOUND.Playing == false
1029
			NEWSOUND:remove()
1030
		end
1031
	end))
1032
	return NEWSOUND
1033
end
1034
1035
function CFrameFromTopBack(at, top, back)
1036
	local right = top:Cross(back)
1037
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
1038
end
1039
1040
function R_RANDOM(CFRAME,DIST)
1041
	return CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DIST)
1042
end
1043
1044
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
1045
function WACKYEFFECT(Table)
1046
	local TYPE = (Table.EffectType or "Sphere")
1047
	local SIZE = (Table.Size or VT(1,1,1))
1048
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
1049
	local TRANSPARENCY = (Table.Transparency or 0)
1050
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
1051
	local CFRAME = (Table.CFrame or Torso.CFrame)
1052
	local MOVEDIRECTION = (Table.MoveToPos or nil)
1053
	local ROTATION1 = (Table.RotationX or 0)
1054
	local ROTATION2 = (Table.RotationY or 0)
1055
	local ROTATION3 = (Table.RotationZ or 0)
1056
	local MATERIAL = (Table.Material or "Neon")
1057
	local COLOR = (Table.Color or C3(1,1,1))
1058
	local TIME = (Table.Time or 45)
1059
	local SOUNDID = (Table.SoundID or nil)
1060
	local SOUNDPITCH = (Table.SoundPitch or nil)
1061
	local SOUNDVOLUME = (Table.SoundVolume or nil)
1062
	local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
1063
	local BOOMERANG = (Table.Boomerang or 0)
1064
	local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
1065
	coroutine.resume(coroutine.create(function()
1066
		local PLAYSSOUND = false
1067
		local SOUND = nil
1068
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
1069
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
1070
			PLAYSSOUND = true
1071
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
1072
		end
1073
		EFFECT.Color = COLOR
1074
		local MSH = nil
1075
		if TYPE == "Sphere" then
1076
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
1077
		elseif TYPE == "Block" or TYPE == "Box" then
1078
			MSH = IT("BlockMesh",EFFECT)
1079
			MSH.Scale = SIZE
1080
		elseif TYPE == "Wave" then
1081
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
1082
		elseif TYPE == "Ring" then
1083
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
1084
		elseif TYPE == "Slash" then
1085
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1086
		elseif TYPE == "Round Slash" then
1087
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
1088
		elseif TYPE == "Swirl" then
1089
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
1090
		elseif TYPE == "Skull" then
1091
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
1092
		elseif TYPE == "Crystal" then
1093
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
1094
		end
1095
		if MSH ~= nil then
1096
			local BOOMR1 = 1+BOOMERANG/50
1097
			local BOOMR2 = 1+SIZEBOOMERANG/50
1098
			local MOVESPEED = nil
1099
			if MOVEDIRECTION ~= nil then
1100
				if USEBOOMERANGMATH == true then
1101
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
1102
				else
1103
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
1104
				end
1105
			end
1106
			local GROWTH = nil
1107
			if USEBOOMERANGMATH == true then
1108
				GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
1109
			else
1110
				GROWTH = (SIZE - ENDSIZE)
1111
			end
1112
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
1113
			if TYPE == "Block" then
1114
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1115
			else
1116
				EFFECT.CFrame = CFRAME
1117
			end
1118
			if USEBOOMERANGMATH == true then
1119
				for LOOP = 1, TIME+1 do
1120
					Swait()
1121
					MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 - (LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
1122
					if TYPE == "Wave" then
1123
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
1124
					end
1125
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1126
					if TYPE == "Block" then
1127
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1128
					else
1129
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1130
					end
1131
					if MOVEDIRECTION ~= nil then
1132
						local ORI = EFFECT.Orientation
1133
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
1134
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
1135
					end
1136
				end
1137
			else
1138
				for LOOP = 1, TIME+1 do
1139
					Swait()
1140
					MSH.Scale = MSH.Scale - GROWTH/TIME
1141
					if TYPE == "Wave" then
1142
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
1143
					end
1144
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
1145
					if TYPE == "Block" then
1146
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
1147
					else
1148
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
1149
					end
1150
					if MOVEDIRECTION ~= nil then
1151
						local ORI = EFFECT.Orientation
1152
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
1153
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
1154
					end
1155
				end
1156
			end
1157
			EFFECT.Transparency = 1
1158
			if PLAYSSOUND == false then
1159
				EFFECT:remove()
1160
			else
1161
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
1162
				EFFECT:remove()
1163
			end
1164
		else
1165
			if PLAYSSOUND == false then
1166
				EFFECT:remove()
1167
			else
1168
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
1169
				EFFECT:remove()
1170
			end
1171
		end
1172
	end))
1173
end
1174
1175
function MakeForm(PART,TYPE)
1176
	if TYPE == "Cyl" then
1177
		local MSH = IT("CylinderMesh",PART)
1178
	elseif TYPE == "Ball" then
1179
		local MSH = IT("SpecialMesh",PART)
1180
		MSH.MeshType = "Sphere"
1181
	elseif TYPE == "Wedge" then
1182
		local MSH = IT("SpecialMesh",PART)
1183
		MSH.MeshType = "Wedge"
1184
	end
1185
end
1186
1187
Debris = game:GetService("Debris")
1188
1189
function CastProperRay(StartPos, EndPos, Distance, Ignore)
1190
	local DIRECTION = CF(StartPos,EndPos).lookVector
1191
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1192
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
1193
end
1194
1195
local DECAL = IT("Decal")
1196
function MagicRing()
1197
	local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),true)
1198
	local MESH = IT("BlockMesh",RING)
1199
	local BOTTOMTEXTURE = DECAL:Clone()
1200
	BOTTOMTEXTURE.Parent = RING
1201
	BOTTOMTEXTURE.Face = "Bottom"
1202
	BOTTOMTEXTURE.Name = "BottomTexture"
1203
	local TOPTEXTURE = DECAL:Clone()
1204
	TOPTEXTURE.Parent = RING
1205
	TOPTEXTURE.Face = "Top"
1206
	TOPTEXTURE.Name = "TopTexture"
1207
	BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
1208
	TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
1209
	BOTTOMTEXTURE.Color3 = C3(0,0,0)
1210
	TOPTEXTURE.Color3 = C3(0,0,0)
1211
	return RING,MESH,TOPTEXTURE,BOTTOMTEXTURE
1212
end
1213
1214
function CharacterFade(COLOR,TIMER,MOVEDIRECTION,PARENT)
1215
	coroutine.resume(coroutine.create(function()
1216
		local FADE = IT("Model",Effects)
1217
		if PARENT ~= nil then
1218
			FADE.Parent = PARENT
1219
		end
1220
		FADE.Name = "FadingEffect"
1221
		for _, c in pairs(Character:GetChildren()) do
1222
			if c.ClassName == "Part" then
1223
				c.CanCollide = false
1224
				local FADER = CreatePart(3, FADE, "Neon", 0, 0.75, BRICKC("Pearl"), c.Name, c.Size, true)
1225
				FADER.CFrame = c.CFrame
1226
				FADER.Color = COLOR
1227
				if FADER.Name == "Head" then
1228
					Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
1229
				elseif FADER.Name == "HumanoidRootPart" then
1230
					FADE.PrimaryPart = FADER
1231
					FADER.Transparency = 1
1232
				end
1233
			end
1234
		end
1235
		local TRANS = 0.25/TIMER
1236
		local DIST = nil
1237
		if MOVEDIRECTION ~= nil then
1238
			DIST = (FADE.PrimaryPart.Position - MOVEDIRECTION).Magnitude
1239
		end
1240
		for i = 1, TIMER do
1241
			Swait()
1242
			for _, c in pairs(FADE:GetChildren()) do
1243
				if c.ClassName == "Part" then
1244
					c.Transparency = c.Transparency + TRANS
1245
				end
1246
			end
1247
			if MOVEDIRECTION ~= nil then
1248
				local ORI = FADE.PrimaryPart.Orientation
1249
				FADE:SetPrimaryPartCFrame(CF(CF(FADE.PrimaryPart.Position,MOVEDIRECTION)*CF(0,0,-DIST/TIMER).p) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z)))
1250
			end
1251
		end
1252
		FADE:remove()
1253
	end))
1254
end
1255
1256
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1257
    return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1258
end
1259
 
1260
function PositiveAngle(NUMBER)
1261
    if NUMBER >= 0 then
1262
        NUMBER = 0
1263
    end
1264
    return NUMBER
1265
end
1266
 
1267
function NegativeAngle(NUMBER)
1268
    if NUMBER <= 0 then
1269
        NUMBER = 0
1270
    end
1271
    return NUMBER
1272
end
1273
 
1274
function Swait(NUMBER)
1275
    if NUMBER == 0 or NUMBER == nil then
1276
        ArtificialHB.Event:wait()
1277
    else
1278
        for i = 1, NUMBER do
1279
            ArtificialHB.Event:wait()
1280
        end
1281
    end
1282
end
1283
 
1284
function QuaternionFromCFrame(cf)
1285
    local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1286
    local trace = m00 + m11 + m22
1287
    if trace > 0 then
1288
        local s = math.sqrt(1 + trace)
1289
        local recip = 0.5 / s
1290
        return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1291
    else
1292
        local i = 0
1293
        if m11 > m00 then
1294
            i = 1
1295
        end
1296
        if m22 > (i == 0 and m00 or m11) then
1297
            i = 2
1298
        end
1299
        if i == 0 then
1300
            local s = math.sqrt(m00 - m11 - m22 + 1)
1301
            local recip = 0.5 / s
1302
            return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1303
        elseif i == 1 then
1304
            local s = math.sqrt(m11 - m22 - m00 + 1)
1305
            local recip = 0.5 / s
1306
            return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1307
        elseif i == 2 then
1308
            local s = math.sqrt(m22 - m00 - m11 + 1)
1309
            local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1310
        end
1311
    end
1312
end
1313
 
1314
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1315
    local xs, ys, zs = x + x, y + y, z + z
1316
    local wx, wy, wz = w * xs, w * ys, w * zs
1317
    local xx = x * xs
1318
    local xy = x * ys
1319
    local xz = x * zs
1320
    local yy = y * ys
1321
    local yz = y * zs
1322
    local zz = z * zs
1323
    return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
1324
end
1325
 
1326
function QuaternionSlerp(a, b, t)
1327
    local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1328
    local startInterp, finishInterp;
1329
    if cosTheta >= 0.0001 then
1330
        if (1 - cosTheta) > 0.0001 then
1331
            local theta = ACOS(cosTheta)
1332
            local invSinTheta = 1 / SIN(theta)
1333
            startInterp = SIN((1 - t) * theta) * invSinTheta
1334
            finishInterp = SIN(t * theta) * invSinTheta
1335
        else
1336
            startInterp = 1 - t
1337
            finishInterp = t
1338
        end
1339
    else
1340
        if (1 + cosTheta) > 0.0001 then
1341
            local theta = ACOS(-cosTheta)
1342
            local invSinTheta = 1 / SIN(theta)
1343
            startInterp = SIN((t - 1) * theta) * invSinTheta
1344
            finishInterp = SIN(t * theta) * invSinTheta
1345
        else
1346
            startInterp = t - 1
1347
            finishInterp = t
1348
        end
1349
    end
1350
    return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
1351
end
1352
 
1353
function Clerp(a, b, t)
1354
    local qa = {QuaternionFromCFrame(a)}
1355
    local qb = {QuaternionFromCFrame(b)}
1356
    local ax, ay, az = a.x, a.y, a.z
1357
    local bx, by, bz = b.x, b.y, b.z
1358
    local _t = 1 - t
1359
    return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1360
end
1361
 
1362
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1363
    local frame = IT("Frame")
1364
    frame.BackgroundTransparency = TRANSPARENCY
1365
    frame.BorderSizePixel = BORDERSIZEPIXEL
1366
    frame.Position = POSITION
1367
    frame.Size = SIZE
1368
    frame.BackgroundColor3 = COLOR
1369
    frame.BorderColor3 = BORDERCOLOR
1370
    frame.Name = NAME
1371
    frame.Parent = PARENT
1372
    return frame
1373
end
1374
 
1375
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1376
    local label = IT("TextLabel")
1377
    label.BackgroundTransparency = 1
1378
    label.Size = UD2(1, 0, 1, 0)
1379
    label.Position = UD2(0, 0, 0, 0)
1380
    label.TextColor3 = TEXTCOLOR
1381
    label.TextStrokeTransparency = STROKETRANSPARENCY
1382
    label.TextTransparency = TRANSPARENCY
1383
    label.FontSize = TEXTFONTSIZE
1384
    label.Font = TEXTFONT
1385
    label.BorderSizePixel = BORDERSIZEPIXEL
1386
    label.TextScaled = false
1387
    label.Text = TEXT
1388
    label.Name = NAME
1389
    label.Parent = PARENT
1390
    return label
1391
end
1392
 
1393
function NoOutlines(PART)
1394
    PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1395
end
1396
 
1397
 
1398
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1399
    local NEWWELD = IT(TYPE)
1400
    NEWWELD.Part0 = PART0
1401
    NEWWELD.Part1 = PART1
1402
    NEWWELD.C0 = C0
1403
    NEWWELD.C1 = C1
1404
    NEWWELD.Parent = PARENT
1405
    return NEWWELD
1406
end
1407
 
1408
function CreateSound(ID, PARENT, VOLUME, PITCH)
1409
    local NEWSOUND = nil
1410
    coroutine.resume(coroutine.create(function()
1411
        NEWSOUND = IT("Sound", PARENT)
1412
        NEWSOUND.Volume = VOLUME
1413
        NEWSOUND.Pitch = PITCH
1414
        NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1415
        Swait()
1416
        NEWSOUND:play()
1417
        game:GetService("Debris"):AddItem(NEWSOUND, 10)
1418
    end))
1419
    return NEWSOUND
1420
end
1421
 
1422
function CFrameFromTopBack(at, top, back)
1423
    local right = top:Cross(back)
1424
    return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
1425
end
1426
 
1427
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1428
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1429
    local mesh = IT("SpecialMesh",wave)
1430
    mesh.MeshType = "FileMesh"
1431
    mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1432
    mesh.Scale = SIZE
1433
    mesh.Offset = VT(0,0,-SIZE.X/8)
1434
    wave.CFrame = CFRAME
1435
    coroutine.resume(coroutine.create(function(PART)
1436
        for i = 1, WAIT do
1437
            Swait()
1438
            mesh.Scale = mesh.Scale + GROW
1439
            mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1440
            if DOESROT == true then
1441
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1442
            end
1443
            wave.Transparency = wave.Transparency + (0.5/WAIT)
1444
            if wave.Transparency > 0.99 then
1445
                wave:remove()
1446
            end
1447
        end
1448
    end))
1449
end
1450
 
1451
function CreateWave2(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1452
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1453
    local mesh = IT("SpecialMesh",wave)
1454
    mesh.MeshType = "FileMesh"
1455
    mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1456
    mesh.Scale = SIZE
1457
    --mesh.Offset = VT(0,0,-SIZE.X/8)
1458
    wave.CFrame = CFRAME
1459
    coroutine.resume(coroutine.create(function(PART)
1460
        for i = 1, WAIT do
1461
            Swait()
1462
            mesh.Scale = mesh.Scale + GROW
1463
            --mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1464
            if DOESROT == true then
1465
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1466
            end
1467
            wave.Transparency = wave.Transparency + (0.5/WAIT)
1468
            if wave.Transparency > 0.99 then
1469
                wave:remove()
1470
            end
1471
        end
1472
    end))
1473
end
1474
 
1475
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1476
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1477
    local mesh = IT("SpecialMesh",wave)
1478
    mesh.MeshType = "FileMesh"
1479
    mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
1480
    mesh.Scale = SIZE
1481
    wave.CFrame = CFRAME
1482
    coroutine.resume(coroutine.create(function(PART)
1483
        for i = 1, WAIT do
1484
            Swait()
1485
            mesh.Scale = mesh.Scale + GROW
1486
            mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1487
            if DOESROT == true then
1488
                wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1489
            end
1490
            wave.Transparency = wave.Transparency + (0.5/WAIT)
1491
            if wave.Transparency > 0.99 then
1492
                wave:remove()
1493
            end
1494
        end
1495
    end))
1496
end
1497
 
1498
 
1499
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
1500
    local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1501
    local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
1502
    wave.CFrame = CFRAME
1503
    coroutine.resume(coroutine.create(function(PART)
1504
        for i = 1, WAIT do
1505
            Swait()
1506
            mesh.Scale = mesh.Scale * GROW
1507
            wave.Transparency = wave.Transparency + (0.5/WAIT)
1508
            if wave.Transparency > 0.99 then
1509
                wave:remove()
1510
            end
1511
        end
1512
    end))
1513
end
1514
 
1515
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1516
    local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1517
    local mesh = IT("SpecialMesh",wave)
1518
    mesh.MeshType = "Sphere"
1519
    mesh.Scale = SIZE
1520
    mesh.Offset = VT(0,0,0)
1521
    wave.CFrame = CFRAME
1522
    coroutine.resume(coroutine.create(function(PART)
1523
        for i = 1, WAIT do
1524
            Swait()
1525
            mesh.Scale = mesh.Scale + GROW
1526
            wave.Transparency = wave.Transparency + (1/WAIT)
1527
            if wave.Transparency > 0.99 then
1528
                wave:remove()
1529
            end
1530
        end
1531
    end))
1532
end
1533
 
1534
function MakeForm(PART,TYPE)
1535
    if TYPE == "Cyl" then
1536
        local MSH = IT("CylinderMesh",PART)
1537
    elseif TYPE == "Ball" then
1538
        local MSH = IT("SpecialMesh",PART)
1539
        MSH.MeshType = "Sphere"
1540
    elseif TYPE == "Wedge" then
1541
        local MSH = IT("SpecialMesh",PART)
1542
        MSH.MeshType = "Wedge"
1543
    end
1544
end
1545
 
1546
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
1547
    if FLOOR ~= nil then
1548
        coroutine.resume(coroutine.create(function()
1549
            local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
1550
            PART.CFrame = CF(POSITION)
1551
            for i = 1, 45 do
1552
                local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
1553
                RingPiece.Material = FLOOR.Material
1554
                RingPiece.Color = FLOOR.Color
1555
                RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
1556
                Debris:AddItem(RingPiece,SWAIT/100)
1557
            end
1558
            PART:remove()
1559
        end))
1560
    end
1561
end
1562
 
1563
function CheckTableForString(Table, String)
1564
    for i, v in pairs(Table) do
1565
        if string.find(string.lower(String), string.lower(v)) then
1566
            return true
1567
        end
1568
    end
1569
    return false
1570
end
1571
 
1572
function CheckIntangible(Hit)
1573
    local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
1574
    if Hit and Hit.Parent then
1575
        if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
1576
            return true
1577
        end
1578
    end
1579
    return false
1580
end
1581
 
1582
Debris = game:GetService("Debris")
1583
 
1584
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
1585
    local Direction = CFrame.new(StartPos, Vec).lookVector
1586
    local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1587
    local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
1588
    if RayHit and CheckIntangible(RayHit) then
1589
        if DelayIfHit then
1590
            wait()
1591
        end
1592
        RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
1593
    end
1594
    return RayHit, RayPos, RayNormal
1595
end
1596
 
1597
function turnto(position)
1598
    RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1599
end
1600
1601
function CameraEnshaking(Length, Intensity)
1602
	coroutine.resume(coroutine.create(function()
1603
		local intensity = 1 * Intensity
1604
		local rotM = 0.01 * Intensity
1605
		for i = 0, Length, 0.1 do
1606
			Swait()
1607
			intensity = intensity - 0.05 * Intensity / Length
1608
			rotM = rotM - 5.0E-4 * Intensity / Length
1609
			hum.CameraOffset = Vector3.new(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)))
1610
			cam.CFrame = cam.CFrame * CF(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity))) * Euler(Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM)
1611
		end
1612
		hum.CameraOffset = Vector3.new(0, 0, 0)
1613
	end))
1614
end
1615
local EXE = Instance.new("Shirt")
1616
EXE.ShirtTemplate = "rbxassetid://338740550"
1617
EXE.Parent = Character
1618
EXE.Name = "Cloth"
1619
local LOL = Instance.new("Pants")
1620
LOL.PantsTemplate = "rbxassetid://338750779"
1621
LOL.Parent = Character
1622
LOL.Name = "Cloth"
1623
1624
for i = 1, 35 do
1625
	local FACE = CreatePart(3, FaceGradient, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
1626
	FACE.Color = C3(0,0,0)
1627
	Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
1628
	CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
1629
end
1630
1631
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
1632
MakeForm(Eye,"Ball")
1633
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
1634
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
1635
MakeForm(Eye,"Ball")
1636
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
1637
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.1,1,1)/2,false)
1638
MakeForm(Eye,"Ball")
1639
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
1640
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.1,1,1)/2,false)
1641
MakeForm(Eye,"Ball")
1642
CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
1643
1644
local LASTPART = Head
1645
for i = 1, 20 do
1646
	local MATH = (1-(i/25))
1647
	if LASTPART == Head then
1648
		local Horn = CreatePart(3, HM, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1649
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
1650
		LASTPART = Horn
1651
		Horn.Color = C3((i*3-3)/255,0,0)
1652
	else
1653
		local Horn = CreatePart(3, HM, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1654
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
1655
		LASTPART = Horn
1656
		Horn.Color = C3((i*3-3)/255,0,0)
1657
	end
1658
end
1659
local LASTPART = Head
1660
for i = 1, 20 do
1661
	local MATH = (1-(i/25))
1662
	if LASTPART == Head then
1663
		local Horn = CreatePart(3, HM, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1664
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
1665
		LASTPART = Horn
1666
		Horn.Color = C3((i*3-3)/255,0,0)
1667
	else
1668
		local Horn = CreatePart(3, HM, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
1669
		CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
1670
		LASTPART = Horn
1671
		Horn.Color = C3((i*3-3)/255,0,0)
1672
	end
1673
end
1674
--//=================================\\
1675
--\\=================================//
1676
1677
plr = Player
1678
char = plr.Character
1679
hum = char.Humanoid
1680
local cam = game.Workspace.CurrentCamera
1681
Camera = cam
1682
local CamInterrupt = false
1683
local TwoD = false
1684
local TargetInfo = {nil, nil}
1685
cam.CameraType = "Custom"
1686
t = char.Torso
1687
h = char.Head
1688
ra = char["Right Arm"]
1689
la = char["Left Arm"]
1690
rl = char["Right Leg"]
1691
ll = char["Left Leg"]
1692
tors = char.Torso
1693
lleg = char["Left Leg"]
1694
root = char.HumanoidRootPart
1695
hed = char.Head
1696
rleg = char["Right Leg"]
1697
rarm = char["Right Arm"]
1698
larm = char["Left Arm"]
1699
radian = math.rad
1700
random = math.random
1701
Vec3 = Vector3.new
1702
Inst = Instance.new
1703
cFrame = CFrame.new
1704
Euler = CFrame.fromEulerAnglesXYZ
1705
vt = Vector3.new
1706
bc = BrickColor.new
1707
br = BrickColor.random
1708
it = Instance.new
1709
cf = CFrame.new
1710
local Booleans = {CamFollow = true, GyroUse = true}
1711
function lerp(object, newCFrame, alpha)
1712
	return object:lerp(newCFrame, alpha)
1713
end
1714
1715
ff = Instance.new("ForceField", game.Players.LocalPlayer.Character)
1716
ff.Visible = false
1717
1718
1719
local Directer = Inst("BodyGyro", root)
1720
Directer.MaxTorque = Vec3(0, 0, 0)
1721
Directer.P = 600000
1722
local CPart = Inst("Part")
1723
CPart.Anchored = true
1724
CPart.CanCollide = false
1725
CPart.Locked = true
1726
CPart.Transparency = 1
1727
local rainbowmode = false
1728
local chaosmode = false
1729
kan = Instance.new("Sound", char)
1730
kan.Volume = 5
1731
kan.TimePosition = 0
1732
kan.PlaybackSpeed = 1
1733
kan.Pitch = 1
1734
kan.SoundId = "rbxassetid://798163149"
1735
kan.Name = "wrecked"
1736
kan.Looped = true
1737
kan.Playing = true
1738
kan.PlayOnRemove = true
1739
kan:Play()
1740
function newTheme(ID, timepos, pitch, vol)
1741
	local kanz = kan
1742
	kanz.PlaybackSpeed = pitch
1743
	kanz.Pitch = pitch
1744
	kanz.SoundId = ID
1745
	kanz.Name = "wrecked"
1746
	kanz.Looped = true
1747
end
1748
function CameraShake(Times, Power, PlayerTarget)
1749
	coroutine.resume(coroutine.create(function()
1750
		FV = Instance.new("BoolValue", PlayerTarget)
1751
		FV.Name = "CameraShake"
1752
		for ShakeNum = 1, Times do
1753
			swait()
1754
			local ef = Power
1755
			if ef >= 1 then
1756
				Humanoid.CameraOffset = Vector3.new(math.random(-ef, ef), math.random(-ef, ef), math.random(-ef, ef))
1757
			else
1758
				ef = Power * 10
1759
				Humanoid.CameraOffset = Vector3.new(math.random(-ef, ef) / 10, math.random(-ef, ef) / 10, math.random(-ef, ef) / 10)
1760
			end
1761
		end
1762
		Humanoid.CameraOffset = Vector3.new(0, 0, 0)
1763
		FV:Destroy()
1764
	end))
1765
end
1766
function CameraEnshaking(Length, Intensity)
1767
	coroutine.resume(coroutine.create(function()
1768
		local intensity = 1 * Intensity
1769
		local rotM = 0.01 * Intensity
1770
		for i = 0, Length, 0.1 do
1771
			swait()
1772
			intensity = intensity - 0.05 * Intensity / Length
1773
			rotM = rotM - 5.0E-4 * Intensity / Length
1774
			hum.CameraOffset = Vec3(radian(random(-intensity, intensity)), radian(random(-intensity, intensity)), radian(random(-intensity, intensity)))
1775
			cam.CFrame = cam.CFrame * cFrame(radian(random(-intensity, intensity)), radian(random(-intensity, intensity)), radian(random(-intensity, intensity))) * Euler(radian(random(-intensity, intensity)) * rotM, radian(random(-intensity, intensity)) * rotM, radian(random(-intensity, intensity)) * rotM)
1776
		end
1777
		Humanoid.CameraOffset = Vec3(0, 0, 0)
1778
	end))
1779
end
1780
function CamShake(Part, Distan, Power, Times)
1781
	local de = Part.Position
1782
	for i, v in pairs(workspace:children()) do
1783
		if v:IsA("Model") and v:findFirstChild("Humanoid") then
1784
			for _, c in pairs(v:children()) do
1785
				if c.ClassName == "Part" and Distan > (c.Position - de).magnitude then
1786
					do
1787
						local Noob = v.Humanoid
1788
						if Noob ~= nil then
1789
							coroutine.resume(coroutine.create(function()
1790
								FV = Instance.new("BoolValue", Noob)
1791
								FV.Name = "CameraShake"
1792
								for ShakeNum = 1, Times do
1793
									swait()
1794
									local ef = Power
1795
									if ef >= 1 then
1796
										Humanoid.CameraOffset = Vector3.new(math.random(-ef, ef), math.random(-ef, ef), math.random(-ef, ef))
1797
									else
1798
										ef = Power * 10
1799
										Humanoid.CameraOffset = Vector3.new(math.random(-ef, ef) / 10, math.random(-ef, ef) / 10, math.random(-ef, ef) / 10)
1800
									end
1801
								end
1802
								Humanoid.CameraOffset = Vector3.new(0, 0, 0)
1803
								FV:Destroy()
1804
							end))
1805
							CameraShake(Times, Power, Noob)
1806
						end
1807
					end
1808
				end
1809
			end
1810
		end
1811
	end
1812
end
1813
function chatfunc(text, color)
1814
	local chat = coroutine.wrap(function()
1815
		if Character:FindFirstChild("TalkingBillBoard") ~= nil then
1816
			Character:FindFirstChild("TalkingBillBoard"):destroy()
1817
		end
1818
		local naeeym2 = Instance.new("BillboardGui", Character)
1819
		naeeym2.Size = UDim2.new(0, 100, 0, 40)
1820
		naeeym2.StudsOffset = Vector3.new(0, 3, 0)
1821
		naeeym2.Adornee = Character.Head
1822
		naeeym2.Name = "TalkingBillBoard"
1823
		local tecks2 = Instance.new("TextLabel", naeeym2)
1824
		tecks2.BackgroundTransparency = 1
1825
		tecks2.BorderSizePixel = 0
1826
		tecks2.Text = ""
1827
		tecks2.Font = "SciFi"
1828
		tecks2.TextSize = 30
1829
		tecks2.TextStrokeTransparency = 0
1830
		tecks2.TextColor3 = color
1831
		tecks2.TextStrokeColor3 = Color3.new(0, 0, 0)
1832
		tecks2.Size = UDim2.new(1, 0, 0.5, 0)
1833
		local tecks3 = Instance.new("TextLabel", naeeym2)
1834
		tecks3.BackgroundTransparency = 1
1835
		tecks3.BorderSizePixel = 0
1836
		tecks3.Text = ""
1837
		tecks3.Font = "SciFi"
1838
		tecks3.TextSize = 30
1839
		tecks3.TextStrokeTransparency = 0
1840
		tecks3.TextColor3 = Color3.new(0, 0, 0)
1841
		tecks3.TextStrokeColor3 = color
1842
		tecks3.Size = UDim2.new(1, 0, 0.5, 0)
1843
		coroutine.resume(coroutine.create(function()
1844
			while true do
1845
				swait(1)
1846
				if chaosmode == true then
1847
					tecks2.TextColor3 = BrickColor.random().Color
1848
					tecks3.TextStrokeColor3 = BrickColor.random().Color
1849
				end
1850
				tecks2.Position = UDim2.new(0, math.random(-5, 5), 0, math.random(-5, 5))
1851
				tecks3.Position = UDim2.new(0, math.random(-5, 5), 0, math.random(-5, 5))
1852
				tecks2.Rotation = math.random(-5, 5)
1853
				tecks3.Rotation = math.random(-5, 5)
1854
			end
1855
		end))
1856
		for i = 1, string.len(text) do
1857
			CFuncs.Sound.Create("rbxassetid://274118116", char, 0.25, 0.115)
1858
			tecks2.Text = string.sub(text, 1, i)
1859
			tecks3.Text = string.sub(text, 1, i)
1860
			swait(1)
1861
		end
1862
		wait(1)
1863
		local randomrot = math.random(1, 2)
1864
		if randomrot == 1 then
1865
			for i = 1, 50 do
1866
				swait()
1867
				tecks2.Rotation = tecks2.Rotation - 0.75
1868
				tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency + 0.04
1869
				tecks2.TextTransparency = tecks2.TextTransparency + 0.04
1870
				tecks3.Rotation = tecks2.Rotation + 0.75
1871
				tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency + 0.04
1872
				tecks3.TextTransparency = tecks2.TextTransparency + 0.04
1873
			end
1874
		elseif randomrot == 2 then
1875
			for i = 1, 50 do
1876
				swait()
1877
				tecks2.Rotation = tecks2.Rotation + 0.75
1878
				tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency + 0.04
1879
				tecks2.TextTransparency = tecks2.TextTransparency + 0.04
1880
				tecks3.Rotation = tecks2.Rotation - 0.75
1881
				tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency + 0.04
1882
				tecks3.TextTransparency = tecks2.TextTransparency + 0.04
1883
			end
1884
		end
1885
		naeeym2:Destroy()
1886
	end)
1887
	chat()
1888
end
1889
local Create = LoadLibrary("RbxUtility").Create
1890
CFuncs = {
1891
	Part = {
1892
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
1893
			local Part = Create("Part")({
1894
				Parent = Parent,
1895
				Reflectance = Reflectance,
1896
				Transparency = Transparency,
1897
				CanCollide = false,
1898
				Locked = true,
1899
				BrickColor = BrickColor.new(tostring(BColor)),
1900
				Name = Name,
1901
				Size = Size,
1902
				Material = Material
1903
			})
1904
			RemoveOutlines(Part)
1905
			return Part
1906
		end
1907
	},
1908
	Mesh = {
1909
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
1910
			local Msh = Create(Mesh)({
1911
				Parent = Part,
1912
				Offset = OffSet,
1913
				Scale = Scale
1914
			})
1915
			if Mesh == "SpecialMesh" then
1916
				Msh.MeshType = MeshType
1917
				Msh.MeshId = MeshId
1918
			end
1919
			return Msh
1920
		end
1921
	},
1922
	Mesh = {
1923
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
1924
			local Msh = Create(Mesh)({
1925
				Parent = Part,
1926
				Offset = OffSet,
1927
				Scale = Scale
1928
			})
1929
			if Mesh == "SpecialMesh" then
1930
				Msh.MeshType = MeshType
1931
				Msh.MeshId = MeshId
1932
			end
1933
			return Msh
1934
		end
1935
	},
1936
	Weld = {
1937
		Create = function(Parent, Part0, Part1, C0, C1)
1938
			local Weld = Create("Weld")({
1939
				Parent = Parent,
1940
				Part0 = Part0,
1941
				Part1 = Part1,
1942
				C0 = C0,
1943
				C1 = C1
1944
			})
1945
			return Weld
1946
		end
1947
	},
1948
	Sound = {
1949
		Create = function(id, par, vol, pit)
1950
			coroutine.resume(coroutine.create(function()
1951
				local S = Create("Sound")({
1952
					Volume = vol,
1953
					Pitch = pit or 1,
1954
					SoundId = id,
1955
					Parent = par or workspace
1956
				})
1957
				wait()
1958
				S:play()
1959
				game:GetService("Debris"):AddItem(S, 10)
1960
			end))
1961
		end
1962
	},
1963
	LongSound = {
1964
		Create = function(id, par, vol, pit)
1965
			coroutine.resume(coroutine.create(function()
1966
				local S = Create("Sound")({
1967
					Volume = vol,
1968
					Pitch = pit or 1,
1969
					SoundId = id,
1970
					Parent = par or workspace
1971
				})
1972
				wait()
1973
				S:play()
1974
				game:GetService("Debris"):AddItem(S, 30)
1975
			end))
1976
		end
1977
	},
1978
	ParticleEmitter = {
1979
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
1980
			local fp = Create("ParticleEmitter")({
1981
				Parent = Parent,
1982
				Color = ColorSequence.new(Color1, Color2),
1983
				LightEmission = LightEmission,
1984
				Size = Size,
1985
				Texture = Texture,
1986
				Transparency = Transparency,
1987
				ZOffset = ZOffset,
1988
				Acceleration = Accel,
1989
				Drag = Drag,
1990
				LockedToPart = LockedToPart,
1991
				VelocityInheritance = VelocityInheritance,
1992
				EmissionDirection = EmissionDirection,
1993
				Enabled = Enabled,
1994
				Lifetime = LifeTime,
1995
				Rate = Rate,
1996
				Rotation = Rotation,
1997
				RotSpeed = RotSpeed,
1998
				Speed = Speed,
1999
				VelocitySpread = VelocitySpread
2000
			})
2001
			return fp
2002
		end
2003
	},
2004
	CreateTemplate = {}
2005
}
2006
function New(Object, Parent, Name, Data)
2007
	local Object = Instance.new(Object)
2008
	for Index, Value in pairs(Data or {}) do
2009
		Object[Index] = Value
2010
	end
2011
	Object.Parent = Parent
2012
	Object.Name = Name
2013
	return Object
2014
end
2015
local halocolor = BrickColor.new("Pastel light blue")
2016
local halocolor2 = BrickColor.new("Really black")
2017
local starcolor = BrickColor.new("Really black")
2018
local lunacolor = BrickColor.new("Navy blue")
2019
local lunacolor2 = BrickColor.new("Bright blue")
2020
local wepcolor = BrickColor.new("Really black")
2021
local maincolor = BrickColor.new("Really black")
2022
local m = Instance.new("Model", char)
2023
local m2 = Instance.new("Model", char)
2024
local m3 = Instance.new("Model", char)
2025
local mw1 = Instance.new("Model", char)
2026
local mw2 = Instance.new("Model", char)
2027
local extrawingmod1 = Instance.new("Model", char)
2028
local extrawingmod2 = Instance.new("Model", char)
2029
function CreateParta(parent, transparency, reflectance, material, brickcolor)
2030
	local p = Instance.new("Part")
2031
	p.TopSurface = 0
2032
	p.BottomSurface = 0
2033
	p.Parent = parent
2034
	p.Size = Vector3.new(0.1, 0.1, 0.1)
2035
	p.Transparency = transparency
2036
	p.Reflectance = reflectance
2037
	p.CanCollide = false
2038
	p.Locked = true
2039
	p.BrickColor = brickcolor
2040
	p.Material = material
2041
	return p
2042
end
2043
function CreateMesh(parent, meshtype, x1, y1, z1)
2044
	local mesh = Instance.new("SpecialMesh", parent)
2045
	mesh.MeshType = meshtype
2046
	mesh.Scale = Vector3.new(x1 * 10, y1 * 10, z1 * 10)
2047
	return mesh
2048
end
2049
function CreateSpecialMesh(parent, meshid, x1, y1, z1)
2050
	local mesh = Instance.new("SpecialMesh", parent)
2051
	mesh.MeshType = "FileMesh"
2052
	mesh.MeshId = meshid
2053
	mesh.Scale = Vector3.new(x1, y1, z1)
2054
	return mesh
2055
end
2056
function CreateSpecialGlowMesh(parent, meshid, x1, y1, z1)
2057
	local mesh = Instance.new("SpecialMesh", parent)
2058
	mesh.MeshType = "FileMesh"
2059
	mesh.MeshId = meshid
2060
	mesh.TextureId = "http://www.roblox.com/asset/?id=269748808"
2061
	mesh.Scale = Vector3.new(x1, y1, z1)
2062
	mesh.VertexColor = Vector3.new(parent.BrickColor.r, parent.BrickColor.g, parent.BrickColor.b)
2063
	return mesh
2064
end
2065
function CreateWeld(parent, part0, part1, C1X, C1Y, C1Z, C1Xa, C1Ya, C1Za, C0X, C0Y, C0Z, C0Xa, C0Ya, C0Za)
2066
	local weld = Instance.new("Weld")
2067
	weld.Parent = parent
2068
	weld.Part0 = part0
2069
	weld.Part1 = part1
2070
	weld.C1 = CFrame.new(C1X, C1Y, C1Z) * CFrame.Angles(C1Xa, C1Ya, C1Za)
2071
	weld.C0 = CFrame.new(C0X, C0Y, C0Z) * CFrame.Angles(C0Xa, C0Ya, C0Za)
2072
	return weld
2073
end
2074
local handlex = CreateParta(mw2, 1, 1, "Neon", maincolor)
2075
CreateMesh(handle, "Brick", 0, 0, 0)
2076
local handlexweld = CreateWeld(handlex, tors, handlex, 0, -1.5, -1.05, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2077
local valuaring = 10
2078
for i = 0, 49 do
2079
	valuaring = valuaring + 10
2080
	rn = CreateParta(mw2, 0, 0, "Neon", halocolor)
2081
	CreateMesh(rn, "Brick", 0.25, 0.1, 0.1)
2082
	CreateWeld(rn, handlex, rn, 0, 1, 0, math.rad(0), math.rad(0), math.rad(valuaring), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2083
end
2084
local handle = CreateParta(m, 1, 1, "Neon", maincolor)
2085
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2086
local handleweld = CreateWeld(handle, tors, handle, 0, -1.5, -1.05, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2087
local lwing1 = CreateParta(m, 1, 1, "Neon", maincolor)
2088
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2089
local lwing1weld = CreateWeld(lwing1, handle, lwing1, 3, 0, 0, math.rad(5), math.rad(0), math.rad(12.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2090
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2091
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2092
CreateWeld(wed, lwing1, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2093
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2094
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2095
CreateWeld(wed, lwing1, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2096
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2097
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2098
CreateWeld(wed, lwing1, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2099
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2100
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2101
CreateWeld(wed, lwing1, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2102
local lwing2 = CreateParta(m, 1, 1, "Neon", maincolor)
2103
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2104
local lwing2weld = CreateWeld(lwing2, handle, lwing2, 4, 1, 0, math.rad(10), math.rad(0), math.rad(25), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2105
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2106
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2107
CreateWeld(wed, lwing2, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2108
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2109
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2110
CreateWeld(wed, lwing2, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2111
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2112
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2113
CreateWeld(wed, lwing2, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2114
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2115
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2116
CreateWeld(wed, lwing2, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2117
local lwing3 = CreateParta(m, 1, 1, "Neon", maincolor)
2118
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2119
local lwing3weld = CreateWeld(lwing3, handle, lwing3, 4.75, 2, 0, math.rad(15), math.rad(0), math.rad(37.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2120
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2121
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2122
CreateWeld(wed, lwing3, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2123
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2124
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2125
CreateWeld(wed, lwing3, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2126
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2127
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2128
CreateWeld(wed, lwing3, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2129
wed = CreateParta(mw1, 0, 0, "Neon", halocolor)
2130
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2131
CreateWeld(wed, lwing3, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2132
local lwing4 = CreateParta(m, 1, 1, "Neon", maincolor)
2133
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2134
local lwing4weld = CreateWeld(lwing4, handle, lwing4, 5.75, 3, 0, math.rad(20), math.rad(0), math.rad(50), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2135
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2136
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2137
CreateWeld(wed, lwing4, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2138
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2139
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2140
CreateWeld(wed, lwing4, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2141
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2142
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2143
CreateWeld(wed, lwing4, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2144
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2145
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2146
CreateWeld(wed, lwing4, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2147
local lwing5 = CreateParta(m, 1, 1, "Neon", maincolor)
2148
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2149
local lwing5weld = CreateWeld(lwing5, handle, lwing5, 6.75, 4, 0, math.rad(25), math.rad(0), math.rad(62.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2150
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2151
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2152
CreateWeld(wed, lwing5, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2153
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2154
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2155
CreateWeld(wed, lwing5, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2156
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2157
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2158
CreateWeld(wed, lwing5, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2159
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2160
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2161
CreateWeld(wed, lwing5, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2162
local lwing6 = CreateParta(m, 1, 1, "Neon", maincolor)
2163
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2164
local lwing6weld = CreateWeld(lwing6, handle, lwing6, 7.75, 5, 0, math.rad(30), math.rad(0), math.rad(75), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2165
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2166
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2167
CreateWeld(wed, lwing6, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2168
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2169
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2170
CreateWeld(wed, lwing6, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2171
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2172
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2173
CreateWeld(wed, lwing6, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2174
wed = CreateParta(extrawingmod1, 0, 0, "Neon", halocolor)
2175
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2176
CreateWeld(wed, lwing6, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2177
local rwing1 = CreateParta(m, 1, 1, "Neon", maincolor)
2178
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2179
local rwing1weld = CreateWeld(rwing1, handle, rwing1, -3, 0, 0, math.rad(5), math.rad(0), math.rad(-12.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2180
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2181
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2182
CreateWeld(wed, rwing1, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2183
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2184
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2185
CreateWeld(wed, rwing1, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2186
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2187
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2188
CreateWeld(wed, rwing1, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2189
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2190
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2191
CreateWeld(wed, rwing1, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2192
local rwing2 = CreateParta(m, 1, 1, "Neon", maincolor)
2193
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2194
local rwing2weld = CreateWeld(rwing2, handle, rwing2, -4, 1, 0, math.rad(10), math.rad(0), math.rad(-25), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2195
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2196
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2197
CreateWeld(wed, rwing2, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2198
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2199
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2200
CreateWeld(wed, rwing2, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2201
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2202
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2203
CreateWeld(wed, rwing2, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2204
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2205
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2206
CreateWeld(wed, rwing2, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2207
local rwing3 = CreateParta(m, 1, 1, "Neon", maincolor)
2208
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2209
local rwing3weld = CreateWeld(rwing3, handle, rwing3, -4.75, 2, 0, math.rad(15), math.rad(0), math.rad(-37.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2210
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2211
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2212
CreateWeld(wed, rwing3, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2213
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2214
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2215
CreateWeld(wed, rwing3, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2216
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2217
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2218
CreateWeld(wed, rwing3, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2219
wed = CreateParta(mw2, 0, 0, "Neon", halocolor)
2220
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2221
CreateWeld(wed, rwing3, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2222
local rwing4 = CreateParta(m, 1, 1, "Neon", maincolor)
2223
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2224
local rwing4weld = CreateWeld(rwing4, handle, rwing4, -5.75, 3, 0, math.rad(20), math.rad(0), math.rad(-50), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2225
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2226
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2227
CreateWeld(wed, rwing4, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2228
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2229
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2230
CreateWeld(wed, rwing4, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2231
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2232
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2233
CreateWeld(wed, rwing4, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2234
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2235
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2236
CreateWeld(wed, rwing4, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2237
local rwing5 = CreateParta(m, 1, 1, "Neon", maincolor)
2238
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2239
local rwing5weld = CreateWeld(rwing5, handle, rwing5, -6.75, 4, 0, math.rad(25), math.rad(0), math.rad(-62.5), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2240
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2241
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2242
CreateWeld(wed, rwing5, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2243
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2244
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2245
CreateWeld(wed, rwing5, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2246
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2247
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2248
CreateWeld(wed, rwing5, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2249
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2250
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2251
CreateWeld(wed, rwing5, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2252
local rwing6 = CreateParta(m, 1, 1, "Neon", maincolor)
2253
CreateMesh(handle, "Brick", 0.5, 0.5, 0.5)
2254
local rwing6weld = CreateWeld(rwing6, handle, rwing6, -7.75, 3, 0, math.rad(30), math.rad(0), math.rad(-75), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2255
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2256
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2257
CreateWeld(wed, rwing6, wed, 0, 0, 0.25, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2258
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2259
CreateMesh(wed, "Wedge", 0.05, 0.5, 0.5)
2260
CreateWeld(wed, rwing6, wed, 0, 0, 0.25, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2261
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2262
CreateMesh(wed, "Wedge", 0.05, 0.5, 3)
2263
CreateWeld(wed, rwing6, wed, 0, -0.25, 1.75, math.rad(0), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2264
wed = CreateParta(extrawingmod2, 0, 0, "Neon", halocolor)
2265
CreateMesh(wed, "Wedge", 0.05, 3, 0.5)
2266
CreateWeld(wed, rwing6, wed, 0, -1.75, 0.25, math.rad(90), math.rad(90), math.rad(90), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2267
ran = CreateParta(m2, 0, 0, "SmoothPlastic", wepcolor)
2268
CreateMesh(ran, "Wedge", 1.02, 1.02, 1.02)
2269
CreateWeld(ran, larm, ran, 0, 0.15, 0, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2270
ran = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2271
CreateMesh(ran, "Wedge", 0.9, 0.9, 1.025)
2272
CreateWeld(ran, larm, ran, 0, 0.155, 0, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2273
ran = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2274
CreateMesh(ran, "Wedge", 1.025, 0.9, 0.9)
2275
CreateWeld(ran, larm, ran, 0, 0.155, -0.025, math.rad(0), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2276
gan = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2277
CreateMesh(gan, "Brick", 1.075, 0.1, 1.075)
2278
CreateWeld(gan, larm, gan, 0, 0.5, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2279
gan = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2280
CreateMesh(gan, "Brick", 1.075, 0.1, 1.075)
2281
CreateWeld(gan, larm, gan, 0, 0.75, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2282
gan = CreateParta(m2, 0, 0, "Neon", halocolor2)
2283
CreateMesh(gan, "Brick", 1.095, 0.035, 1.095)
2284
CreateWeld(gan, larm, gan, 0, 0.5, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2285
gan = CreateParta(m2, 0, 0, "Neon", halocolor2)
2286
CreateMesh(gan, "Brick", 1.095, 0.035, 1.095)
2287
CreateWeld(gan, larm, gan, 0, 0.75, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2288
gane = CreateParta(m3, 0, 0, "SmoothPlastic", lunacolor2)
2289
CreateMesh(gane, "Brick", 1.0625, 0.2, 1.0625)
2290
CreateWeld(gane, larm, gane, 0, 0.6, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2291
star = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2292
CreateSpecialMesh(star, "http://www.roblox.com/asset/?id=45428961", 2.5, 2.5, 2.5)
2293
CreateWeld(star, larm, star, 0, 0.475, 0.6, math.rad(90), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2294
starl = CreateParta(m3, 0, 0, "SmoothPlastic", starcolor)
2295
CreateSpecialMesh(starl, "http://www.roblox.com/asset/?id=45428961", 1.95, 2.55, 1.95)
2296
CreateWeld(starl, larm, starl, 0, 0.475, 0.6, math.rad(90), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2297
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2298
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2299
CreateWeld(dotsec, larm, dotsec, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2300
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2301
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2302
CreateWeld(dotseca, larm, dotseca, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2303
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2304
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2305
CreateWeld(dotsecb, larm, dotsecb, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2306
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2307
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2308
CreateWeld(dotsec, larm, dotsec, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2309
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2310
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2311
CreateWeld(dotseca, larm, dotseca, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2312
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2313
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2314
CreateWeld(dotsecb, larm, dotsecb, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2315
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2316
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2317
CreateWeld(dotsec, larm, dotsec, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2318
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2319
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2320
CreateWeld(dotseca, larm, dotseca, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2321
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2322
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2323
CreateWeld(dotsecb, larm, dotsecb, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2324
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2325
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2326
CreateWeld(dotsec, larm, dotsec, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2327
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2328
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2329
CreateWeld(dotseca, larm, dotseca, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2330
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2331
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2332
CreateWeld(dotsecb, larm, dotsecb, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2333
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2334
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2335
CreateWeld(dotsec, larm, dotsec, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2336
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2337
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2338
CreateWeld(dotseca, larm, dotseca, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2339
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2340
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2341
CreateWeld(dotsecb, larm, dotsecb, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2342
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2343
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2344
CreateWeld(dotsec, larm, dotsec, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2345
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2346
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2347
CreateWeld(dotseca, larm, dotseca, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2348
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2349
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2350
CreateWeld(dotsecb, larm, dotsecb, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2351
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2352
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2353
CreateWeld(dotsec, larm, dotsec, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2354
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2355
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2356
CreateWeld(dotseca, larm, dotseca, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2357
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2358
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2359
CreateWeld(dotsecb, larm, dotsecb, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2360
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2361
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2362
CreateWeld(dotsec, larm, dotsec, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2363
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2364
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2365
CreateWeld(dotseca, larm, dotseca, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2366
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2367
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2368
CreateWeld(dotsecb, larm, dotsecb, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2369
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2370
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2371
CreateWeld(dotsec, larm, dotsec, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2372
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2373
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2374
CreateWeld(dotseca, larm, dotseca, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2375
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2376
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2377
CreateWeld(dotsecb, larm, dotsecb, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2378
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2379
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2380
CreateWeld(dotsec, larm, dotsec, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2381
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2382
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2383
CreateWeld(dotseca, larm, dotseca, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2384
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2385
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2386
CreateWeld(dotsecb, larm, dotsecb, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2387
ran = CreateParta(m2, 0, 0, "SmoothPlastic", wepcolor)
2388
CreateMesh(ran, "Wedge", 1.02, 1.02, 1.02)
2389
CreateWeld(ran, rarm, ran, 0, 0.15, 0, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2390
ran = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2391
CreateMesh(ran, "Wedge", 0.9, 0.9, 1.025)
2392
CreateWeld(ran, rarm, ran, 0, 0.155, 0, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2393
ran = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2394
CreateMesh(ran, "Wedge", 1.025, 0.9, 0.9)
2395
CreateWeld(ran, rarm, ran, 0, 0.155, -0.025, math.rad(0), math.rad(-90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2396
gan = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2397
CreateMesh(gan, "Brick", 1.075, 0.1, 1.075)
2398
CreateWeld(gan, rarm, gan, 0, 0.5, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2399
gan = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2400
CreateMesh(gan, "Brick", 1.075, 0.1, 1.075)
2401
CreateWeld(gan, rarm, gan, 0, 0.75, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2402
gan = CreateParta(m2, 0, 0, "Neon", halocolor2)
2403
CreateMesh(gan, "Brick", 1.095, 0.035, 1.095)
2404
CreateWeld(gan, rarm, gan, 0, 0.5, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2405
gan = CreateParta(m2, 0, 0, "Neon", halocolor2)
2406
CreateMesh(gan, "Brick", 1.095, 0.035, 1.095)
2407
CreateWeld(gan, rarm, gan, 0, 0.75, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2408
gane = CreateParta(m3, 0, 0, "SmoothPlastic", lunacolor2)
2409
CreateMesh(gane, "Brick", 1.0625, 0.2, 1.0625)
2410
CreateWeld(gane, rarm, gane, 0, 0.6, 0, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2411
star = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2412
CreateSpecialMesh(star, "http://www.roblox.com/asset/?id=45428961", 2.5, 2.5, 2.5)
2413
CreateWeld(star, rarm, star, 0, -0.475, 0.6, math.rad(90), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2414
starl = CreateParta(m3, 0, 0, "SmoothPlastic", starcolor)
2415
CreateSpecialMesh(starl, "http://www.roblox.com/asset/?id=45428961", 1.95, 2.55, 1.95)
2416
CreateWeld(starl, rarm, starl, 0, -0.475, 0.6, math.rad(90), math.rad(90), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2417
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2418
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2419
CreateWeld(dotsec, rarm, dotsec, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2420
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2421
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2422
CreateWeld(dotseca, rarm, dotseca, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2423
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2424
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2425
CreateWeld(dotsecb, rarm, dotsecb, 0, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2426
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2427
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2428
CreateWeld(dotsec, rarm, dotsec, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2429
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2430
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2431
CreateWeld(dotseca, rarm, dotseca, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2432
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2433
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2434
CreateWeld(dotsecb, rarm, dotsecb, 0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2435
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2436
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2437
CreateWeld(dotsec, rarm, dotsec, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2438
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2439
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2440
CreateWeld(dotseca, rarm, dotseca, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2441
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2442
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2443
CreateWeld(dotsecb, rarm, dotsecb, 0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2444
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2445
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2446
CreateWeld(dotsec, rarm, dotsec, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2447
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2448
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2449
CreateWeld(dotseca, rarm, dotseca, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2450
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2451
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2452
CreateWeld(dotsecb, rarm, dotsecb, -0.2, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2453
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2454
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2455
CreateWeld(dotsec, rarm, dotsec, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2456
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2457
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2458
CreateWeld(dotseca, rarm, dotseca, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2459
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2460
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2461
CreateWeld(dotsecb, rarm, dotsecb, -0.4, 0.635, -0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2462
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2463
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2464
CreateWeld(dotsec, rarm, dotsec, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2465
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2466
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2467
CreateWeld(dotseca, rarm, dotseca, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2468
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2469
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2470
CreateWeld(dotsecb, rarm, dotsecb, 0, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2471
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2472
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2473
CreateWeld(dotsec, rarm, dotsec, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2474
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2475
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2476
CreateWeld(dotseca, rarm, dotseca, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2477
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2478
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2479
CreateWeld(dotsecb, rarm, dotsecb, 0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2480
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2481
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2482
CreateWeld(dotsec, rarm, dotsec, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2483
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2484
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2485
CreateWeld(dotseca, rarm, dotseca, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2486
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2487
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2488
CreateWeld(dotsecb, rarm, dotsecb, 0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2489
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2490
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2491
CreateWeld(dotsec, rarm, dotsec, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2492
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2493
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2494
CreateWeld(dotseca, rarm, dotseca, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2495
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2496
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2497
CreateWeld(dotsecb, rarm, dotsecb, -0.2, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2498
dotsec = CreateParta(m3, 0, 0, "Neon", halocolor)
2499
CreateMesh(dotsec, "Sphere", 0.1, 0.1, 0.15)
2500
CreateWeld(dotsec, rarm, dotsec, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2501
dotseca = CreateParta(m, 0, 0, "SmoothPlastic", wepcolor)
2502
CreateMesh(dotseca, "Sphere", 0.2, 0.2, 0.1)
2503
CreateWeld(dotseca, rarm, dotseca, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2504
dotsecb = CreateParta(m2, 0, 0, "SmoothPlastic", lunacolor)
2505
CreateMesh(dotsecb, "Sphere", 0.15, 0.15, 0.125)
2506
CreateWeld(dotsecb, rarm, dotsecb, -0.4, 0.635, 0.5, math.rad(0), math.rad(0), math.rad(0), 0, 0, 0, math.rad(0), math.rad(0), math.rad(0))
2507
for i, v in pairs(m:GetChildren()) do
2508
	if v:IsA("Part") then
2509
		v.BrickColor = BrickColor.new("Really black")
2510
		v.Material = "Neon"
2511
		v.Transparency = 1
2512
	end
2513
end
2514
for i, v in pairs(m2:GetChildren()) do
2515
	if v:IsA("Part") then
2516
		v.BrickColor = BrickColor.new("Really black")
2517
		v.Material = "Neon"
2518
		v.Transparency = 1
2519
	end
2520
end
2521
for i, v in pairs(m3:GetChildren()) do
2522
	if v:IsA("Part") then
2523
		v.BrickColor = BrickColor.new("Really black")
2524
		v.Material = "Neon"
2525
		v.Transparency = 1
2526
	end
2527
end
2528
for i, v in pairs(mw2:GetChildren()) do
2529
	if v:IsA("Part") then
2530
		v.BrickColor = BrickColor.new("Really black")
2531
		v.Material = "Neon"
2532
	end
2533
end
2534
for i, v in pairs(mw1:GetChildren()) do
2535
	if v:IsA("Part") then
2536
		v.BrickColor = BrickColor.new("Really black")
2537
		v.Material = "Neon"
2538
	end
2539
end
2540
for i, v in pairs(extrawingmod1:GetChildren()) do
2541
	if v:IsA("Part") then
2542
		v.BrickColor = BrickColor.new("Really black")
2543
		v.Material = "Neon"
2544
	end
2545
end
2546
for i, v in pairs(extrawingmod2:GetChildren()) do
2547
	if v:IsA("Part") then
2548
		v.Transparency = 0
2549
		v.BrickColor = BrickColor.new("Really black")
2550
		v.Material = "Neon"
2551
	end
2552
end
2553
2554
2555
local MAINRUINCOLOR = BrickColor.new("Really black")
2556
function RemoveOutlines(part)
2557
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
2558
end
2559
function CreatePart(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
2560
	local Part = Create("Part")({
2561
		Parent = Parent,
2562
		Reflectance = Reflectance,
2563
		Transparency = Transparency,
2564
		CanCollide = false,
2565
		Locked = true,
2566
		BrickColor = BrickColor.new(tostring(BColor)),
2567
		Name = Name,
2568
		Size = Size,
2569
		Material = Material
2570
	})
2571
	Part.CustomPhysicalProperties = PhysicalProperties.new(0.001, 0.001, 0.001, 0.001, 0.001)
2572
	RemoveOutlines(Part)
2573
	return Part
2574
end
2575
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
2576
	local Msh = Create(Mesh)({
2577
		Parent = Part,
2578
		Offset = OffSet,
2579
		Scale = Scale
2580
	})
2581
	if Mesh == "SpecialMesh" then
2582
		Msh.MeshType = MeshType
2583
		Msh.MeshId = MeshId
2584
	end
2585
	return Msh
2586
end
2587
function CreateWeld(Parent, Part0, Part1, C0, C1)
2588
	local Weld = Create("Weld")({
2589
		Parent = Parent,
2590
		Part0 = Part0,
2591
		Part1 = Part1,
2592
		C0 = C0,
2593
		C1 = C1
2594
	})
2595
	return Weld
2596
end
2597
2598
Player = Player
2599
Character = Player.Character
2600
PlayerGui = Player.PlayerGui
2601
Backpack = Player.Backpack
2602
Torso = Character.Torso
2603
Head = Character.Head
2604
Humanoid = Character.Humanoid
2605
m = Instance.new("Model", Character)
2606
LeftArm = Character["Left Arm"]
2607
LeftLeg = Character["Left Leg"]
2608
RightArm = Character["Right Arm"]
2609
RightLeg = Character["Right Leg"]
2610
LS = Torso["Left Shoulder"]
2611
LH = Torso["Left Hip"]
2612
RS = Torso["Right Shoulder"]
2613
RH = Torso["Right Hip"]
2614
Face = Head.face
2615
Neck = Torso.Neck
2616
it = Instance.new
2617
attacktype = 1
2618
vt = Vector3.new
2619
cf = CFrame.new
2620
euler = CFrame.fromEulerAnglesXYZ
2621
angles = CFrame.Angles
2622
cloaked = false
2623
necko = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
2624
necko2 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
2625
LHC0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
2626
LHC1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
2627
RHC0 = cf(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
2628
RHC1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
2629
RootPart = Character.HumanoidRootPart
2630
RootJoint = RootPart.RootJoint
2631
RootCF = euler(-1.57, 0, 3.14)
2632
attack = false
2633
attackdebounce = false
2634
deb = false
2635
equipped = true
2636
hand = false
2637
MMouse = nil
2638
combo = 0
2639
mana = 0
2640
trispeed = 0.2
2641
attackmode = "none"
2642
local idle = 0
2643
local Anim = "Idle"
2644
local Effects = {}
2645
local gun = false
2646
local shoot = false
2647
local sine = 0
2648
local change = 1
2649
player = nil
2650
local toggleTag = true
2651
local txt = Instance.new("BillboardGui", Head)
2652
txt.Adornee = nil
2653
txt.Name = "NameDetect"
2654
txt.Size = UDim2.new(4, 0, 1.2, 0)
2655
txt.StudsOffset = Vector3.new(-8, 5.333333333333333, 0)
2656
local text = Instance.new("TextLabel", txt)
2657
text.Size = UDim2.new(5, 0, 3.5, 0)
2658
text.FontSize = "Size8"
2659
text.TextScaled = true
2660
text.TextTransparency = 0
2661
text.BackgroundTransparency = 1
2662
text.TextTransparency = 0
2663
text.TextStrokeTransparency = 0
2664
text.Font = "Fantasy"
2665
text.TextStrokeColor3 = Color3.new(0, 0, 0)
2666
text.TextColor3 = Color3.new(0, 0, 0)
2667
text.Text = "Black"
2668
function RecolorTextAndRename(name, col1, col2)
2669
	text.TextStrokeColor3 = col2
2670
	text.TextColor3 = col1
2671
	text.Text = name
2672
end
2673
mouse = Player:GetMouse()
2674
RSH, LSH = nil, nil
2675
RW, LW = Instance.new("Weld"), Instance.new("Weld")
2676
RW.Name = "Right Shoulder"
2677
LW.Name = "Left Shoulder"
2678
LH = Torso["Left Hip"]
2679
RH = Torso["Right Hip"]
2680
TorsoColor = Torso.BrickColor
2681
function NoOutline(Part)
2682
	Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
2683
end
2684
player = Player
2685
ch = Character
2686
RSH = ch.Torso["Right Shoulder"]
2687
LSH = ch.Torso["Left Shoulder"]
2688
RSH.Parent = nil
2689
LSH.Parent = nil
2690
RW.Name = "Right Shoulder"
2691
RW.Part0 = ch.Torso
2692
RW.C0 = cf(1.5, 0.5, 0)
2693
RW.C1 = cf(0, 0.5, 0)
2694
RW.Part1 = ch["Right Arm"]
2695
RW.Parent = ch.Torso
2696
LW.Name = "Left Shoulder"
2697
LW.Part0 = ch.Torso
2698
LW.C0 = cf(-1.5, 0.5, 0)
2699
LW.C1 = cf(0, 0.5, 0)
2700
LW.Part1 = ch["Left Arm"]
2701
LW.Parent = ch.Torso
2702
local Stats = Instance.new("BoolValue")
2703
Stats.Name = "Stats"
2704
Stats.Parent = Character
2705
local Atk = Instance.new("NumberValue")
2706
Atk.Name = "Damage"
2707
Atk.Parent = Stats
2708
Atk.Value = 1
2709
local Def = Instance.new("NumberValue")
2710
Def.Name = "Defense"
2711
Def.Parent = Stats
2712
Def.Value = 1
2713
local Speed = Instance.new("NumberValue")
2714
Speed.Name = "Speed"
2715
Speed.Parent = Stats
2716
Speed.Value = 1
2717
local Mvmt = Instance.new("NumberValue")
2718
Mvmt.Name = "Movement"
2719
Mvmt.Parent = Stats
2720
Mvmt.Value = 1
2721
local donum = 0
2722
2723
function part(formfactor, parent, reflectance, transparency, brickcolor, name, size)
2724
	local fp = it("Part")
2725
	fp.formFactor = formfactor
2726
	fp.Parent = parent
2727
	fp.Reflectance = reflectance
2728
	fp.Transparency = transparency
2729
	fp.CanCollide = false
2730
	fp.Locked = true
2731
	fp.BrickColor = brickcolor
2732
	fp.Name = name
2733
	fp.Size = size
2734
	fp.Position = Torso.Position
2735
	NoOutline(fp)
2736
	fp.Material = "SmoothPlastic"
2737
	fp:BreakJoints()
2738
	return fp
2739
end
2740
function mesh(Mesh, part, meshtype, meshid, offset, scale)
2741
	local mesh = it(Mesh)
2742
	mesh.Parent = part
2743
	if Mesh == "SpecialMesh" then
2744
		mesh.MeshType = meshtype
2745
		if meshid ~= "nil" then
2746
			mesh.MeshId = "http://www.roblox.com/asset/?id=" .. meshid
2747
		end
2748
	end
2749
	mesh.Offset = offset
2750
	mesh.Scale = scale
2751
	return mesh
2752
end
2753
function weld(parent, part0, part1, c0)
2754
	local weld = it("Weld")
2755
	weld.Parent = parent
2756
	weld.Part0 = part0
2757
	weld.Part1 = part1
2758
	weld.C0 = c0
2759
	return weld
2760
end
2761
local Color1 = Torso.BrickColor
2762
local bodvel = Instance.new("BodyVelocity")
2763
local bg = Instance.new("BodyGyro")
2764
function swait(num)
2765
	if num == 0 or num == nil then
2766
		game:service("RunService").Stepped:wait(0)
2767
	else
2768
		for i = 0, num do
2769
			game:service("RunService").Stepped:wait(0)
2770
		end
2771
	end
2772
end
2773
local r = 255
2774
local g = 0
2775
local b = 0
2776
coroutine.resume(coroutine.create(function()
2777
	while wait() do
2778
		for i = 0, 50.8 do
2779
			swait()
2780
			g = g + 5
2781
		end
2782
		for i = 0, 50.8 do
2783
			swait()
2784
			r = r - 5
2785
		end
2786
		for i = 0, 50.8 do
2787
			swait()
2788
			b = b + 5
2789
		end
2790
		for i = 0, 50.8 do
2791
			swait()
2792
			g = g - 5
2793
		end
2794
		for i = 0, 50.8 do
2795
			swait()
2796
			r = r + 5
2797
		end
2798
		for i = 0, 50.8 do
2799
			swait()
2800
			b = b - 5
2801
		end
2802
	end
2803
end))
2804
function so(id, par, vol, pit)
2805
	coroutine.resume(coroutine.create(function()
2806
		local sou = Instance.new("Sound", par or workspace)
2807
		sou.Volume = vol
2808
		sou.Pitch = pit or 1
2809
		sou.SoundId = id
2810
		swait()
2811
		sou:play()
2812
		game:GetService("Debris"):AddItem(sou, 6)
2813
	end))
2814
end
2815
function clerp(a, b, t)
2816
	local qa = {
2817
		QuaternionFromCFrame(a)
2818
	}
2819
	local qb = {
2820
		QuaternionFromCFrame(b)
2821
	}
2822
	local ax, ay, az = a.x, a.y, a.z
2823
	local bx, by, bz = b.x, b.y, b.z
2824
	local _t = 1 - t
2825
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
2826
end
2827
function QuaternionFromCFrame(cf)
2828
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
2829
	local trace = m00 + m11 + m22
2830
	if trace > 0 then
2831
		local s = math.sqrt(1 + trace)
2832
		local recip = 0.5 / s
2833
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
2834
	else
2835
		local i = 0
2836
		if m00 < m11 then
2837
			i = 1
2838
		end
2839
		if m22 > (i == 0 and m00 or m11) then
2840
			i = 2
2841
		end
2842
		if i == 0 then
2843
			local s = math.sqrt(m00 - m11 - m22 + 1)
2844
			local recip = 0.5 / s
2845
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
2846
		elseif i == 1 then
2847
			local s = math.sqrt(m11 - m22 - m00 + 1)
2848
			local recip = 0.5 / s
2849
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
2850
		elseif i == 2 then
2851
			local s = math.sqrt(m22 - m00 - m11 + 1)
2852
			local recip = 0.5 / s
2853
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
2854
		end
2855
	end
2856
end
2857
function QuaternionToCFrame(px, py, pz, x, y, z, w)
2858
	local xs, ys, zs = x + x, y + y, z + z
2859
	local wx, wy, wz = w * xs, w * ys, w * zs
2860
	local xx = x * xs
2861
	local xy = x * ys
2862
	local xz = x * zs
2863
	local yy = y * ys
2864
	local yz = y * zs
2865
	local zz = z * zs
2866
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
2867
end
2868
function QuaternionSlerp(a, b, t)
2869
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
2870
	local startInterp, finishInterp
2871
	if cosTheta >= 1.0E-4 then
2872
		if 1 - cosTheta > 1.0E-4 then
2873
			local theta = math.acos(cosTheta)
2874
			local invSinTheta = 1 / math.sin(theta)
2875
			startInterp = math.sin((1 - t) * theta) * invSinTheta
2876
			finishInterp = math.sin(t * theta) * invSinTheta
2877
		else
2878
			startInterp = 1 - t
2879
			finishInterp = t
2880
		end
2881
	elseif 1 + cosTheta > 1.0E-4 then
2882
		local theta = math.acos(-cosTheta)
2883
		local invSinTheta = 1 / math.sin(theta)
2884
		startInterp = math.sin((t - 1) * theta) * invSinTheta
2885
		finishInterp = math.sin(t * theta) * invSinTheta
2886
	else
2887
		startInterp = t - 1
2888
		finishInterp = t
2889
	end
2890
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
2891
end
2892
local CFrameFromTopBack = function(at, top, back)
2893
	local right = top:Cross(back)
2894
	return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
2895
end
2896
function Triangle(a, b, c)
2897
	local edg1 = (c - a):Dot((b - a).unit)
2898
	local edg2 = (a - b):Dot((c - b).unit)
2899
	local edg3 = (b - c):Dot((a - c).unit)
2900
	if edg1 <= (b - a).magnitude and edg1 >= 0 then
2901
		a, b = a, b
2902
	elseif edg2 <= (c - b).magnitude and edg2 >= 0 then
2903
		a, b, c = b, c, a
2904
	elseif edg3 <= (a - c).magnitude and edg3 >= 0 then
2905
		a, b, c = c, a, b
2906
	else
2907
		assert(false, "unreachable")
2908
	end
2909
	local len1 = (c - a):Dot((b - a).unit)
2910
	local len2 = (b - a).magnitude - len1
2911
	local width = (a + (b - a).unit * len1 - c).magnitude
2912
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, -(b - a).unit)
2913
	local list = {}
2914
	if len1 > 0.01 then
2915
		local w1 = Instance.new("WedgePart", m)
2916
		game:GetService("Debris"):AddItem(w1, 5)
2917
		w1.Material = "SmoothPlastic"
2918
		w1.FormFactor = "Custom"
2919
		w1.BrickColor = BrickColor.new("Really red")
2920
		w1.Transparency = 0
2921
		w1.Reflectance = 0
2922
		w1.Material = "SmoothPlastic"
2923
		w1.CanCollide = false
2924
		local l1 = Instance.new("PointLight", w1)
2925
		l1.Color = Color3.new(170, 0, 0)
2926
		NoOutline(w1)
2927
		local sz = Vector3.new(0.2, width, len1)
2928
		w1.Size = sz
2929
		local sp = Instance.new("SpecialMesh", w1)
2930
		sp.MeshType = "Wedge"
2931
		sp.Scale = Vector3.new(0, 1, 1) * sz / w1.Size
2932
		w1:BreakJoints()
2933
		w1.Anchored = true
2934
		w1.Parent = workspace
2935
		w1.Transparency = 0.7
2936
		table.insert(Effects, {
2937
			w1,
2938
			"Disappear",
2939
			0.01
2940
		})
2941
		w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
2942
		table.insert(list, w1)
2943
	end
2944
	if len2 > 0.01 then
2945
		local w2 = Instance.new("WedgePart", m)
2946
		game:GetService("Debris"):AddItem(w2, 5)
2947
		w2.Material = "SmoothPlastic"
2948
		w2.FormFactor = "Custom"
2949
		w2.BrickColor = BrickColor.new("Really red")
2950
		w2.Transparency = 0
2951
		w2.Reflectance = 0
2952
		w2.Material = "SmoothPlastic"
2953
		w2.CanCollide = false
2954
		local l2 = Instance.new("PointLight", w2)
2955
		l2.Color = Color3.new(170, 0, 0)
2956
		NoOutline(w2)
2957
		local sz = Vector3.new(0.2, width, len2)
2958
		w2.Size = sz
2959
		local sp = Instance.new("SpecialMesh", w2)
2960
		sp.MeshType = "Wedge"
2961
		sp.Scale = Vector3.new(0, 1, 1) * sz / w2.Size
2962
		w2:BreakJoints()
2963
		w2.Anchored = true
2964
		w2.Parent = workspace
2965
		w2.Transparency = 0.7
2966
		table.insert(Effects, {
2967
			w2,
2968
			"Disappear",
2969
			0.01
2970
		})
2971
		w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
2972
		table.insert(list, w2)
2973
	end
2974
	return unpack(list)
2975
end
2976
function Damagefunc(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
2977
	if hit.Parent == nil then
2978
		return
2979
	end
2980
	local h = hit.Parent:FindFirstChildOfClass("Humanoid")
2981
	for _, v in pairs(hit.Parent:children()) do
2982
		if v:IsA("Humanoid") then
2983
			h = v
2984
		end
2985
	end
2986
	if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Head") ~= nil then
2987
		if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
2988
			return
2989
		end
2990
		local c = Create("ObjectValue")({
2991
			Name = "creator",
2992
			Value = RealGame:service("Players")[owner.Name],
2993
			Parent = h
2994
		})
2995
		game:GetService("Debris"):AddItem(c, 0.5)
2996
		if HitSound ~= nil and HitPitch ~= nil then
2997
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
2998
		end
2999
		local Damage = math.random(minim, maxim)
3000
		local blocked = false
3001
		local block = hit.Parent:findFirstChild("Block")
3002
		if block ~= nil and block.className == "IntValue" and block.Value > 0 then
3003
			blocked = true
3004
			block.Value = block.Value - 1
3005
			print(block.Value)
3006
		end
3007
		if blocked == false then
3008
			HitHealth = h.Health
3009
			h.Health = h.Health - Damage
3010
			if HitHealth ~= h.Health and HitHealth ~= 0 and 0 >= h.Health and h.Parent.Name ~= "Hologram" then
3011
				print("gained kill")
3012
			end
3013
			ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color)
3014
		else
3015
			h.Health = h.Health - Damage / 2
3016
			ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color)
3017
		end
3018
		if Type == "Knockdown" then
3019
			local hum = hit.Parent.Humanoid
3020
			hum.PlatformStand = true
3021
			coroutine.resume(coroutine.create(function(HHumanoid)
3022
				swait(1)
3023
				HHumanoid.PlatformStand = false
3024
			end), hum)
3025
			local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
3026
			local bodvol = Create("BodyVelocity")({
3027
				velocity = angle * knockback,
3028
				P = 5000,
3029
				maxForce = Vector3.new(8000, 8000, 8000),
3030
				Parent = hit
3031
			})
3032
			local rl = Create("BodyAngularVelocity")({
3033
				P = 3000,
3034
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
3035
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
3036
				Parent = hit
3037
			})
3038
			game:GetService("Debris"):AddItem(bodvol, 0.5)
3039
			game:GetService("Debris"):AddItem(rl, 0.5)
3040
		elseif Type == "Normal" then
3041
			local vp = Create("BodyVelocity")({
3042
				P = 500,
3043
				maxForce = Vector3.new(math.huge, 0, math.huge),
3044
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
3045
			})
3046
			if knockback > 0 then
3047
				vp.Parent = hit.Parent.Head
3048
			end
3049
			game:GetService("Debris"):AddItem(vp, 0.5)
3050
		elseif Type == "Up" then
3051
			local bodyVelocity = Create("BodyVelocity")({
3052
				velocity = Vector3.new(0, 20, 0),
3053
				P = 5000,
3054
				maxForce = Vector3.new(8000, 8000, 8000),
3055
				Parent = hit
3056
			})
3057
			game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
3058
			local bodyVelocity = Create("BodyVelocity")({
3059
				velocity = Vector3.new(0, 20, 0),
3060
				P = 5000,
3061
				maxForce = Vector3.new(8000, 8000, 8000),
3062
				Parent = hit
3063
			})
3064
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
3065
		elseif Type == "Leech" then
3066
			local hum = hit.Parent.Humanoid
3067
			if hum ~= nil then
3068
				for i = 0, 2 do
3069
					Effects.Sphere.Create(BrickColor.new("Bright red"), hit.Parent.Torso.CFrame * cn(0, 0, 0) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
3070
				end
3071
				Humanoid.Health = Humanoid.Health + 10
3072
			end
3073
		elseif Type == "UpKnock" then
3074
			local hum = hit.Parent.Humanoid
3075
			hum.PlatformStand = true
3076
			if hum ~= nil then
3077
				hitr = true
3078
			end
3079
			coroutine.resume(coroutine.create(function(HHumanoid)
3080
				swait(5)
3081
				HHumanoid.PlatformStand = false
3082
				hitr = false
3083
			end), hum)
3084
			local bodyVelocity = Create("BodyVelocity")({
3085
				velocity = Vector3.new(0, 20, 0),
3086
				P = 5000,
3087
				maxForce = Vector3.new(8000, 8000, 8000),
3088
				Parent = hit
3089
			})
3090
			game:GetService("Debris"):AddItem(bodyVelocity, 0.5)
3091
			local bodyVelocity = Create("BodyVelocity")({
3092
				velocity = Vector3.new(0, 20, 0),
3093
				P = 5000,
3094
				maxForce = Vector3.new(8000, 8000, 8000),
3095
				Parent = hit
3096
			})
3097
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
3098
		elseif Type == "Snare" then
3099
			local bp = Create("BodyPosition")({
3100
				P = 2000,
3101
				D = 100,
3102
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
3103
				position = hit.Parent.Torso.Position,
3104
				Parent = hit.Parent.Torso
3105
			})
3106
			game:GetService("Debris"):AddItem(bp, 1)
3107
		elseif Type == "Slashnare" then
3108
			Effects.Block.Create(BrickColor.new("Pastel Blue"), hit.Parent.Torso.CFrame * cn(0, 0, 0), 60, 60, 60, 12, 12, 12, 0.07)
3109
			for i = 1, math.random(4, 5) do
3110
				Effects.Sphere.Create(BrickColor.new("Teal"), hit.Parent.Torso.CFrame * cn(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5)) * angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 1, 15, 1, 0, 5, 0, 0.02)
3111
			end
3112
			local bp = Create("BodyPosition")({
3113
				P = 2000,
3114
				D = 100,
3115
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
3116
				position = hit.Parent.Torso.Position,
3117
				Parent = hit.Parent.Torso
3118
			})
3119
			game:GetService("Debris"):AddItem(bp, 1)
3120
		elseif Type == "Spike" then
3121
			CreateBigIceSword(hit.Parent.Torso.CFrame)
3122
			local bp = Create("BodyPosition")({
3123
				P = 2000,
3124
				D = 100,
3125
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
3126
				position = hit.Parent.Torso.Position,
3127
				Parent = hit.Parent.Torso
3128
			})
3129
			game:GetService("Debris"):AddItem(bp, 1)
3130
		elseif Type == "Freeze" then
3131
			local BodPos = Create("BodyPosition")({
3132
				P = 50000,
3133
				D = 1000,
3134
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
3135
				position = hit.Parent.Torso.Position,
3136
				Parent = hit.Parent.Torso
3137
			})
3138
			local BodGy = Create("BodyGyro")({
3139
				maxTorque = Vector3.new(400000, 400000, 400000) * math.huge,
3140
				P = 20000,
3141
				Parent = hit.Parent.Torso,
3142
				cframe = hit.Parent.Torso.CFrame
3143
			})
3144
			hit.Parent.Torso.Anchored = true
3145
			coroutine.resume(coroutine.create(function(Part)
3146
				swait(1.5)
3147
				Part.Anchored = false
3148
			end), hit.Parent.Torso)
3149
			game:GetService("Debris"):AddItem(BodPos, 3)
3150
			game:GetService("Debris"):AddItem(BodGy, 3)
3151
		end
3152
		local debounce = Create("BoolValue")({
3153
			Name = "DebounceHit",
3154
			Parent = hit.Parent,
3155
			Value = true
3156
		})
3157
		game:GetService("Debris"):AddItem(debounce, Delay)
3158
		c = Instance.new("ObjectValue")
3159
		c.Name = "creator"
3160
		c.Value = RealGame:service("Players")[owner.Name];
3161
		c.Parent = h
3162
		game:GetService("Debris"):AddItem(c, 0.5)
3163
	end
3164
end
3165
function ShowDamage(Pos, Text, Time, Color)
3166
	local Rate = 0.03333333333333333
3167
	local Pos = Pos or Vector3.new(0, 0, 0)
3168
	local Text = Text or ""
3169
	local Time = Time or 2
3170
	local Color = Color or Color3.new(1, 0, 1)
3171
	local EffectPart = CreatePart(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
3172
	EffectPart.Anchored = true
3173
	local BillboardGui = Create("BillboardGui")({
3174
		Size = UDim2.new(3, 0, 3, 0),
3175
		Adornee = EffectPart,
3176
		Parent = EffectPart
3177
	})
3178
	local TextLabel = Create("TextLabel")({
3179
		BackgroundTransparency = 1,
3180
		Size = UDim2.new(1, 0, 1, 0),
3181
		Text = Text,
3182
		TextColor3 = Color,
3183
		TextScaled = true,
3184
		Font = Enum.Font.ArialBold,
3185
		Parent = BillboardGui
3186
	})
3187
	game.Debris:AddItem(EffectPart, Time + 0.1)
3188
	EffectPart.Parent = game:GetService("Workspace")
3189
	delay(0, function()
3190
		local Frames = Time / Rate
3191
		for Frame = 1, Frames do
3192
			wait(Rate)
3193
			local Percent = Frame / Frames
3194
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
3195
			TextLabel.TextTransparency = Percent
3196
		end
3197
		if EffectPart and EffectPart.Parent then
3198
			EffectPart:Destroy()
3199
		end
3200
	end)
3201
end
3202
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
3203
	for _, c in pairs(workspace:children()) do
3204
		local hum = c:findFirstChildOfClass("Humanoid")
3205
		if hum ~= nil then
3206
			local head = c:findFirstChild("Head")
3207
			if head ~= nil then
3208
				local targ = head.Position - Part.Position
3209
				local mag = targ.magnitude
3210
				if magni >= mag and c.Name ~= Player.Name then
3211
					Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
3212
				end
3213
			end
3214
		end
3215
	end
3216
end
3217
function MagniDamageWithEffect(Part, magni, mindam, maxdam, knock, Type)
3218
	for _, c in pairs(workspace:children()) do
3219
		local hum = c:findFirstChild("Humanoid")
3220
		if hum ~= nil then
3221
			local head = c:findFirstChild("Torso")
3222
			if head ~= nil then
3223
				local targ = head.Position - Part.Position
3224
				local mag = targ.magnitude
3225
				if magni >= mag and c.Name ~= Player.Name then
3226
					MagicBlock(BrickColor.new("Pastel light blue"), head.CFrame, 5, 5, 5, 1, 1, 1, 0.05)
3227
					Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "rbxassetid://231917784", 1)
3228
				end
3229
			end
3230
		end
3231
	end
3232
end
3233
function rayCast(Pos, Dir, Max, Ignore)
3234
	return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
3235
end
3236
function SkullEffect(brickcolor, cframe, x1, y1, z1, delay)
3237
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3238
	prt.Anchored = true
3239
	prt.CFrame = cframe
3240
	local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=4770583", vt(0, 0, 0), vt(x1, y1, z1))
3241
	game:GetService("Debris"):AddItem(prt, 2)
3242
	CF = prt.CFrame
3243
	coroutine.resume(coroutine.create(function(Part, Mesh, TehCF)
3244
		for i = 0, 1, 0.2 do
3245
			wait()
3246
			Part.CFrame = CF * cf(0, 0, -0.4)
3247
		end
3248
		for i = 0, 1, delay do
3249
			wait()
3250
			Mesh.Scale = Mesh.Scale
3251
		end
3252
		for i = 0, 1, 0.1 do
3253
			wait()
3254
			Part.Transparency = i
3255
		end
3256
		Part.Parent = nil
3257
	end), prt, msh, CF)
3258
end
3259
function MagicBlock(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3260
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3261
	prt.Anchored = true
3262
	prt.Material = "Neon"
3263
	prt.CFrame = cframe
3264
	prt.CFrame = prt.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3265
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3266
	game:GetService("Debris"):AddItem(prt, 5)
3267
	coroutine.resume(coroutine.create(function(Part, Mesh)
3268
		for i = 0, 1, delay do
3269
			swait()
3270
			Part.CFrame = Part.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3271
			Part.Transparency = i
3272
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3273
		end
3274
		Part.Parent = nil
3275
	end), prt, msh)
3276
end
3277
function MagicBlockSteady(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, rottype)
3278
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3279
	prt.Anchored = true
3280
	prt.Material = "Neon"
3281
	prt.CFrame = cframe
3282
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3283
	game:GetService("Debris"):AddItem(prt, 5)
3284
	coroutine.resume(coroutine.create(function(Part, Mesh)
3285
		local rtype = rottype
3286
		for i = 0, 1, delay do
3287
			swait()
3288
			if rtype == 1 then
3289
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3290
			elseif rtype == 2 then
3291
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3292
			end
3293
			Part.Transparency = i
3294
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3295
		end
3296
		Part.Parent = nil
3297
	end), prt, msh)
3298
end
3299
function MagicSphere(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3300
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3301
	prt.Anchored = true
3302
	prt.CFrame = cframe
3303
	prt.CFrame = prt.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3304
	msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
3305
	game:GetService("Debris"):AddItem(prt, 5)
3306
	coroutine.resume(coroutine.create(function(Part, Mesh)
3307
		for i = 0, 1, delay do
3308
			wait()
3309
			Part.Transparency = i
3310
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3311
		end
3312
		Part.Parent = nil
3313
	end), prt, msh)
3314
end
3315
function MagicBlockSteady(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, rottype)
3316
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3317
	prt.Anchored = true
3318
	prt.Material = "Neon"
3319
	prt.CFrame = cframe
3320
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3321
	game:GetService("Debris"):AddItem(prt, 5)
3322
	coroutine.resume(coroutine.create(function(Part, Mesh)
3323
		local rtype = rottype
3324
		for i = 0, 1, delay do
3325
			swait()
3326
			if rtype == 1 then
3327
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3328
			elseif rtype == 2 then
3329
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3330
			end
3331
			Part.Transparency = i
3332
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3333
		end
3334
		Part.Parent = nil
3335
	end), prt, msh)
3336
end
3337
function MagicShock(brickcolor, cframe, x1, y1, x3, y3, delay, rottype)
3338
	local prt = part(3, char, 1, 1, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3339
	prt.Anchored = true
3340
	prt.Material = "Neon"
3341
	prt.CFrame = cframe
3342
	local dec = decal(prt.Color, "http://www.roblox.com/asset/?id=874580939", "Front", prt)
3343
	local dec2 = decal(prt.Color, "http://www.roblox.com/asset/?id=874580939", "Front", prt)
3344
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, 0.01))
3345
	game:GetService("Debris"):AddItem(prt, 5)
3346
	coroutine.resume(coroutine.create(function(Part, Mesh)
3347
		local rtype = rottype
3348
		for i = 0, 1, delay do
3349
			swait()
3350
			if rtype == 1 then
3351
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3352
			elseif rtype == 2 then
3353
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3354
			end
3355
			dec.Transparency = i
3356
			dec2.Transparency = i
3357
			Mesh.Scale = Mesh.Scale + vt(x3, y3, 0)
3358
		end
3359
		Part.Parent = nil
3360
	end), prt, msh)
3361
end
3362
function MagicShockAlt(brickcolor, cframe, x1, y1, x3, y3, delay, rottype)
3363
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3364
	prt.Anchored = true
3365
	prt.Material = "Neon"
3366
	prt.CFrame = cframe
3367
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, 0.01))
3368
	game:GetService("Debris"):AddItem(prt, 5)
3369
	coroutine.resume(coroutine.create(function(Part, Mesh)
3370
		local rtype = rottype
3371
		for i = 0, 1, delay do
3372
			swait()
3373
			if rtype == 1 then
3374
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3375
			elseif rtype == 2 then
3376
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3377
			end
3378
			prt.Transparency = i
3379
			Mesh.Scale = Mesh.Scale + vt(x3, y3, 0)
3380
		end
3381
		Part.Parent = nil
3382
	end), prt, msh)
3383
end
3384
function MagicShockAltCircle(brickcolor, cframe, x1, z1, x3, z3, delay, rottype)
3385
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3386
	prt.Anchored = true
3387
	prt.Material = "Neon"
3388
	prt.CFrame = cframe
3389
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, 1, z1))
3390
	game:GetService("Debris"):AddItem(prt, 5)
3391
	coroutine.resume(coroutine.create(function(Part, Mesh)
3392
		local rtype = rottype
3393
		for i = 0, 1, delay do
3394
			swait()
3395
			if rtype == 1 then
3396
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0.1, 0)
3397
			elseif rtype == 2 then
3398
				prt.CFrame = prt.CFrame * CFrame.Angles(0, -0.1, 0)
3399
			end
3400
			prt.Transparency = i
3401
			Mesh.Scale = Mesh.Scale + vt(x3, 0, z3)
3402
		end
3403
		Part.Parent = nil
3404
	end), prt, msh)
3405
end
3406
function MagicShockTrailAlt(brickcolor, cframe, x1, y1, z1, x3, y3, delay, rottype)
3407
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3408
	prt.Anchored = true
3409
	prt.Material = "Neon"
3410
	prt.CFrame = cframe
3411
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3412
	game:GetService("Debris"):AddItem(prt, 5)
3413
	coroutine.resume(coroutine.create(function(Part, Mesh)
3414
		local rtype = rottype
3415
		for i = 0, 1, delay do
3416
			swait()
3417
			if rtype == 1 then
3418
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3419
			elseif rtype == 2 then
3420
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3421
			end
3422
			prt.Transparency = i
3423
			Mesh.Scale = Mesh.Scale + vt(x3, y3, 0)
3424
		end
3425
		Part.Parent = nil
3426
	end), prt, msh)
3427
end
3428
function MagicShockTrailAlt2(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, rottype)
3429
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3430
	prt.Anchored = true
3431
	prt.Material = "Neon"
3432
	prt.CFrame = cframe
3433
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3434
	game:GetService("Debris"):AddItem(prt, 5)
3435
	coroutine.resume(coroutine.create(function(Part, Mesh)
3436
		local rtype = rottype
3437
		for i = 0, 1, delay do
3438
			swait()
3439
			if rtype == 1 then
3440
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, 0.1)
3441
			elseif rtype == 2 then
3442
				prt.CFrame = prt.CFrame * CFrame.Angles(0, 0, -0.1)
3443
			end
3444
			prt.Transparency = i
3445
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3446
		end
3447
		Part.Parent = nil
3448
	end), prt, msh)
3449
end
3450
function MagicBlock2(brickcolor, cframe, Parent, x1, y1, z1, x3, y3, z3, delay)
3451
	local prt = part(3, char, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3452
	prt.Anchored = false
3453
	prt.CFrame = cframe
3454
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3455
	local wld = weld(prt, prt, Parent, cframe)
3456
	game:GetService("Debris"):AddItem(prt, 5)
3457
	coroutine.resume(coroutine.create(function(Part, Mesh, Weld)
3458
		for i = 0, 1, delay do
3459
			wait()
3460
			Weld.C0 = euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cframe
3461
			Part.Transparency = i
3462
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3463
		end
3464
		Part.Parent = nil
3465
	end), prt, msh, wld)
3466
end
3467
function MagicBlock3(brickcolor, cframe, Parent, x1, y1, z1, x3, y3, z3, delay)
3468
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3469
	prt.Anchored = false
3470
	prt.CFrame = cframe
3471
	msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3472
	local wld = weld(prt, prt, Parent, euler(0, 0, 0) * cf(0, 0, 0))
3473
	game:GetService("Debris"):AddItem(prt, 5)
3474
	coroutine.resume(coroutine.create(function(Part, Mesh, Weld)
3475
		for i = 0, 1, delay do
3476
			wait()
3477
			Weld.C0 = euler(i * 20, 0, 0)
3478
			Part.Transparency = i
3479
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3480
		end
3481
		Part.Parent = nil
3482
	end), prt, msh, wld)
3483
end
3484
function MagicCircle2(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3485
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3486
	prt.Anchored = true
3487
	prt.CFrame = cframe
3488
	local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
3489
	game:GetService("Debris"):AddItem(prt, 2)
3490
	coroutine.resume(coroutine.create(function(Part, Mesh)
3491
		for i = 0, 1, delay do
3492
			wait()
3493
			Part.CFrame = Part.CFrame
3494
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3495
			local prt2 = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3496
			prt2.Anchored = true
3497
			prt2.CFrame = cframe * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3498
			local msh2 = mesh("SpecialMesh", prt2, "Sphere", "", vt(0, 0, 0), vt(0.5, 0.5, 0.5))
3499
			game:GetService("Debris"):AddItem(prt2, 2)
3500
			coroutine.resume(coroutine.create(function(Part, Mesh)
3501
				for i = 0, 1, 0.1 do
3502
					wait()
3503
					Part.CFrame = Part.CFrame * cf(0, 0.5, 0)
3504
				end
3505
				Part.Parent = nil
3506
			end), prt2, msh2)
3507
		end
3508
		for i = 0, 1, delay * 2 do
3509
			wait()
3510
			Part.CFrame = Part.CFrame
3511
			Mesh.Scale = vt(x1 + x3 - (x1 + x3) * i, y1 + y3 - (y1 + y3) * i, z1 + z3 - (z1 + z3) * i)
3512
		end
3513
		Part.Parent = nil
3514
	end), prt, msh)
3515
end
3516
function MagicCircle(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3517
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3518
	prt.Anchored = true
3519
	prt.CFrame = cframe
3520
	local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
3521
	game:GetService("Debris"):AddItem(prt, 2)
3522
	coroutine.resume(coroutine.create(function(Part, Mesh)
3523
		for i = 0, 1, delay do
3524
			wait()
3525
			Part.CFrame = Part.CFrame
3526
			Part.Transparency = i
3527
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3528
		end
3529
		Part.Parent = nil
3530
	end), prt, msh)
3531
end
3532
function BreakEffect(brickcolor, cframe, x1, y1, z1)
3533
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3534
	prt.Anchored = true
3535
	prt.CFrame = cframe * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
3536
	local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
3537
	game:GetService("Debris"):AddItem(prt, 2)
3538
	coroutine.resume(coroutine.create(function(Part, CF, Numbb, randnumb)
3539
		CF = Part.CFrame
3540
		Numbb = 0
3541
		randnumb = math.random() / 10
3542
		rand1 = math.random() / 10
3543
		for i = 0, 1, rand1 do
3544
			wait()
3545
			CF = CF * cf(0, math.random() / 2, 0)
3546
			Part.CFrame = CF * euler(Numbb, 0, 0)
3547
			Part.Transparency = i
3548
			Numbb = Numbb + randnumb
3549
		end
3550
		Part.Parent = nil
3551
	end), prt, CF, Numbb, randnumb)
3552
end
3553
function MagicWaveThing(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3554
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3555
	prt.Anchored = true
3556
	prt.CFrame = cframe
3557
	msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=1051557", vt(0, 0, 0), vt(x1, y1, z1))
3558
	game:GetService("Debris"):AddItem(prt, 5)
3559
	coroutine.resume(coroutine.create(function(Part, Mesh)
3560
		for i = 0, 1, delay do
3561
			wait()
3562
			Part.CFrame = Part.CFrame * euler(0, 0.7, 0)
3563
			Part.Transparency = i
3564
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3565
		end
3566
		Part.Parent = nil
3567
	end), prt, msh)
3568
end
3569
function WaveEffect(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
3570
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3571
	prt.Anchored = true
3572
	prt.CFrame = cframe
3573
	msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
3574
	game:GetService("Debris"):AddItem(prt, 2)
3575
	coroutine.resume(coroutine.create(function(Part, Mesh)
3576
		for i = 0, 1, delay do
3577
			wait()
3578
			Part.CFrame = Part.CFrame * cf(0, y3 / 2, 0)
3579
			Part.Transparency = i
3580
			Mesh.Scale = Mesh.Scale + vt(x3, y3, z3)
3581
		end
3582
		Part.Parent = nil
3583
	end), prt, msh)
3584
end
3585
function StravEffect(brickcolor, cframe, x, y, z, x1, y1, z1, delay)
3586
	local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
3587
	prt.Anchored = true
3588
	prt.CFrame = cframe * cf(x, y, z)
3589
	msh = mesh("SpecialMesh", prt, "FileMesh", "rbxassetid://168892363", vt(0, 0, 0), vt(x1, y1, z1))
3590
	game:GetService("Debris"):AddItem(prt, 5)
3591
	coroutine.resume(coroutine.create(function(Part, Mesh, ex, why, zee)
3592
		local num = math.random()
3593
		local num2 = math.random(-3, 2) + math.random()
3594
		local numm = 0
3595
		for i = 0, 1, delay * 2 do
3596
			swait()
3597
			Part.CFrame = cframe * euler(0, numm * num * 10, 0) * cf(ex, why, zee) * cf(-i * 10, num2, 0)
3598
			Part.Transparency = i
3599
			numm = numm + 0.01
3600
		end
3601
		Part.Parent = nil
3602
		Mesh.Parent = nil
3603
	end), prt, msh, x, y, z)
3604
end
3605
function dmgstart(dmg, what)
3606
	hitcon = what.Touched:connect(function(hit)
3607
		local hum = hit.Parent:FindFirstChild("Humanoid")
3608
		if hum and not hum:IsDescendantOf(Character) then
3609
			hum:TakeDamage(dmg)
3610
		end
3611
	end)
3612
end
3613
function dmgstop()
3614
	hitcon:disconnect()
3615
end
3616
3617
function Cloak()
3618
	Face.Parent = nil
3619
	cloaked = true
3620
	for _, v in pairs(Torso.Parent:children()) do
3621
		if v.className == "Part" and v.Name ~= "HumanoidRootPart" then
3622
			coroutine.resume(coroutine.create(function()
3623
				for i = 0, 1, 0.2 do
3624
					wait()
3625
					v.Transparency = i
3626
				end
3627
				v.Transparency = 0
3628
			end))
3629
		end
3630
		if v.className == "Hat" then
3631
			hatp = v.Handle
3632
			coroutine.resume(coroutine.create(function(derp)
3633
				for i = 0, 1, 0.2 do
3634
					wait()
3635
					derp.Transparency = i
3636
				end
3637
				derp.Transparency = 1
3638
			end), hatp)
3639
		end
3640
	end
3641
	for _, v in pairs(m:children()) do
3642
		if v.className == "Part" then
3643
			coroutine.resume(coroutine.create(function()
3644
				for i = 0, 1, 0.2 do
3645
					wait()
3646
					v.Transparency = i
3647
				end
3648
				v.Transparency = 0
3649
			end))
3650
		end
3651
	end
3652
end
3653
function UnCloak()
3654
	so("http://roblox.com/asset/?id=2767090", Torso, 1, 1.1)
3655
	Face.Parent = Head
3656
	cloaked = false
3657
	for _, v in pairs(Torso.Parent:children()) do
3658
		if v.className == "Part" and v.Name ~= "HumanoidRootPart" then
3659
			coroutine.resume(coroutine.create(function()
3660
				for i = 0, 1, 0.1 do
3661
					wait()
3662
					v.Transparency = v.Transparency - 0.1
3663
				end
3664
				v.Transparency = 0
3665
			end))
3666
		end
3667
		if v.className == "Hat" then
3668
			hatp = v.Handle
3669
			coroutine.resume(coroutine.create(function(derp)
3670
				for i = 0, 1, 0.1 do
3671
					wait()
3672
					derp.Transparency = derp.Transparency - 0.1
3673
				end
3674
				derp.Transparency = 0
3675
			end), hatp)
3676
		end
3677
	end
3678
	for _, v in pairs(m:children()) do
3679
		if v.className == "Part" and v.Name ~= "hitbox" and v.Name ~= "tip" then
3680
			coroutine.resume(coroutine.create(function()
3681
				for i = 0, 1, 0.1 do
3682
					wait()
3683
					v.Transparency = v.Transparency - 0.1
3684
				end
3685
				v.Transparency = 0
3686
			end))
3687
			v.Transparency = 0
3688
		end
3689
	end
3690
end
3691
local origcolor = BrickColor.new("Pastel light blue")
3692
function Explode(rad, par, pitch, vol, mindam, maxdam)
3693
	local expart = Instance.new("Part", char)
3694
	local expart2 = Instance.new("Part", char)
3695
	local rin = Instance.new("Part", char)
3696
	local rin2 = Instance.new("Part", char)
3697
	local partMesh = Instance.new("SpecialMesh", expart)
3698
	partMesh.MeshType = "Sphere"
3699
	local partMesh2 = Instance.new("SpecialMesh", expart2)
3700
	partMesh2.MeshType = "Sphere"
3701
	local partMesh3 = Instance.new("SpecialMesh", rin)
3702
	partMesh3.MeshType = "Brick"
3703
	local partMesh4 = Instance.new("SpecialMesh", rin2)
3704
	partMesh4.MeshType = "Brick"
3705
	CFuncs.Sound.Create("rbxassetid://165970126", expart, vol, pitch)
3706
	partMesh.Scale = vt(rad, rad, rad)
3707
	expart.Size = vt(1, 1, 1)
3708
	expart.Transparency = 0
3709
	expart.Anchored = true
3710
	expart.Material = "Neon"
3711
	expart.BrickColor = bc("White")
3712
	expart.CFrame = par.CFrame
3713
	partMesh2.Scale = vt(rad, rad, rad)
3714
	expart2.Size = vt(1.15, 1.15, 1.15)
3715
	expart2.Transparency = 0.5
3716
	expart2.Anchored = true
3717
	expart2.Material = "Neon"
3718
	expart2.BrickColor = par.BrickColor
3719
	expart2.CFrame = par.CFrame
3720
	rin.Size = vt(1.15, 1.15, 1.15)
3721
	rin.Transparency = 1
3722
	rin.Anchored = true
3723
	rin.Material = "Neon"
3724
	rin.BrickColor = par.BrickColor
3725
	rin.CFrame = par.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)))
3726
	rin2.Size = vt(1.15, 1.15, 1.15)
3727
	rin2.Transparency = 1
3728
	rin2.Anchored = true
3729
	rin2.Material = "Neon"
3730
	rin2.BrickColor = par.BrickColor
3731
	rin2.CFrame = par.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)))
3732
	partMesh3.Scale = vt(0, 1, 0)
3733
	partMesh4.Scale = vt(0, 1, 0)
3734
	local dec2 = Instance.new("Decal", rin)
3735
	dec2.Face = "Top"
3736
	dec2.Texture = "http://www.roblox.com/asset/?id=874580939"
3737
	dec2.Parent = rin
3738
	local dec2b = dec2:Clone()
3739
	dec2b.Face = "Bottom"
3740
	dec2b.Parent = rin
3741
	local dec2a = Instance.new("Decal", rin2)
3742
	dec2a.Face = "Top"
3743
	dec2a.Texture = "http://www.roblox.com/asset/?id=874580939"
3744
	dec2a.Parent = rin2
3745
	local dec2ab = dec2a:Clone()
3746
	dec2ab.Face = "Bottom"
3747
	dec2ab.Parent = rin2
3748
	expart.CanCollide = false
3749
	expart2.CanCollide = false
3750
	rin.CanCollide = false
3751
	rin2.CanCollide = false
3752
	MagniDamage(par, rad * 5, mindam, maxdam, 0, "Normal")
3753
	local value = 1 * rad / 6.5
3754
	for i = 0, 199 do
3755
		partMesh.Scale = partMesh.Scale + vt(value, value, value)
3756
		expart.CFrame = expart.CFrame
3757
		partMesh2.Scale = partMesh2.Scale + vt(value, value, value)
3758
		expart2.CFrame = expart.CFrame
3759
		value = value - 0.035 * rad / 30
3760
		if value < 7.5 then
3761
			partMesh3.Scale = partMesh3.Scale + vt(rad / 5, 0, rad / 5)
3762
			rin.CFrame = rin.CFrame * CFrame.Angles(0, math.rad(1), 0)
3763
			partMesh4.Scale = partMesh4.Scale + vt(rad / 7.5, 0, rad / 7.5)
3764
			rin2.CFrame = rin2.CFrame * CFrame.Angles(0, math.rad(-1), 0)
3765
		end
3766
		if value < 0 then
3767
			dec2.Transparency = dec2.Transparency + 0.025
3768
			dec2a.Transparency = dec2a.Transparency + 0.025
3769
			dec2b.Transparency = dec2b.Transparency + 0.025
3770
			dec2ab.Transparency = dec2ab.Transparency + 0.025
3771
			expart.Transparency = expart.Transparency + 0.025
3772
			expart2.Transparency = expart2.Transparency + 0.025
3773
			rin.Transparency = rin.Transparency + 0.025
3774
			rin2.Transparency = rin2.Transparency + 0.025
3775
		end
3776
		swait()
3777
	end
3778
	game:GetService("Debris"):AddItem(expart, 1)
3779
	game:GetService("Debris"):AddItem(expart2, 1)
3780
	game:GetService("Debris"):AddItem(rin, 1)
3781
	game:GetService("Debris"):AddItem(rin2, 1)
3782
end
3783
function ExplodeShort(rad, par, pitch, vol, mindam, maxdam)
3784
	local expart = Instance.new("Part", char)
3785
	local expart2 = Instance.new("Part", char)
3786
	local partMesh = Instance.new("SpecialMesh", expart)
3787
	partMesh.MeshType = "Sphere"
3788
	local partMesh2 = Instance.new("SpecialMesh", expart2)
3789
	partMesh2.MeshType = "Sphere"
3790
	CFuncs.Sound.Create("http://www.roblox.com/asset/?id=142070127", expart, vol, pitch)
3791
	partMesh.Scale = vt(rad, rad, rad)
3792
	expart.Size = vt(1, 1, 1)
3793
	expart.Transparency = 0
3794
	expart.Anchored = true
3795
	expart.Material = "Neon"
3796
	expart.BrickColor = bc("White")
3797
	expart.CFrame = par.CFrame
3798
	partMesh2.Scale = vt(rad, rad, rad)
3799
	expart2.Size = vt(1.15, 1.15, 1.15)
3800
	expart2.Transparency = 0.5
3801
	expart2.Anchored = true
3802
	expart2.Material = "Neon"
3803
	expart2.BrickColor = par.BrickColor
3804
	expart2.CFrame = par.CFrame
3805
	expart.CanCollide = false
3806
	expart2.CanCollide = false
3807
	MagniDamage(par, rad * 2.5, mindam, maxdam, 0, "Normal")
3808
	local value = 1 * rad / 6.5
3809
	for i = 0, 75 do
3810
		partMesh.Scale = partMesh.Scale + vt(value, value, value)
3811
		expart.CFrame = expart.CFrame
3812
		partMesh2.Scale = partMesh2.Scale + vt(value, value, value)
3813
		expart2.CFrame = expart.CFrame
3814
		value = value - 0.035 * rad / 5
3815
		if value < 0 then
3816
			value = 0
3817
			expart.Transparency = expart.Transparency + 0.05
3818
			expart2.Transparency = expart2.Transparency + 0.05
3819
		end
3820
		swait()
3821
	end
3822
	game:GetService("Debris"):AddItem(expart, 1)
3823
	game:GetService("Debris"):AddItem(expart2, 1)
3824
end
3825
function AreaDanger(rad, par, mindam, maxdam)
3826
	local expart = Instance.new("Part", char)
3827
	local partMesh = Instance.new("SpecialMesh", expart)
3828
	CFuncs.Sound.Create("rbxassetid://231917784", expart, 1.5, 1.15)
3829
	partMesh.MeshType = "Sphere"
3830
	partMesh.Scale = vt(rad, rad, rad)
3831
	expart.Size = vt(1, 1, 1)
3832
	expart.Transparency = 0.5
3833
	expart.Anchored = true
3834
	expart.Material = "Neon"
3835
	expart.CanCollide = false
3836
	expart.BrickColor = par.BrickColor
3837
	expart.CFrame = par.CFrame
3838
	local value = 1 * rad / 5
3839
	MagicBlock(origcolor, expart.CFrame, 0, 0, 0, rad / 2, rad / 2, rad / 2, 0.1)
3840
	for i = 0, 14 do
3841
		wait()
3842
		partMesh.Scale = partMesh.Scale + vt(value, value, value)
3843
		expart.CFrame = expart.CFrame
3844
		value = value - 0.035 * rad
3845
		if value < 0 then
3846
			value = 0
3847
		end
3848
	end
3849
	wait(0.25)
3850
	CFuncs.Sound.Create("rbxassetid://588738544", expart, 1.5, 1)
3851
	wait(0.5)
3852
	CFuncs.Sound.Create("rbxassetid://588737825", expart, 1.5, 1)
3853
	CFuncs.Sound.Create("rbxassetid://231917784", expart, 1.5, 0.75)
3854
	MagniDamageWithEffect(par, rad, mindam, maxdam, 0, "Normal")
3855
	MagicBlock(origcolor, expart.CFrame, rad * 2, rad * 2, rad * 2, 0.1, 0.1, 0.1, 0.025)
3856
	for i = 0, 14 do
3857
		wait()
3858
		partMesh.Scale = partMesh.Scale + vt(value, value, value)
3859
		expart.CFrame = expart.CFrame
3860
		value = value - 0.035 * rad / 2
3861
	end
3862
	expart.Transparency = 1
3863
	game:GetService("Debris"):AddItem(expart, 5)
3864
end
3865
function Swarmsplosions(negrad, rad, par, mindam, maxdam)
3866
	CFuncs.Sound.Create("rbxassetid://588737825", par, 2.5, 2)
3867
	CFuncs.Sound.Create("rbxassetid://231917784", par, 2.5, 1)
3868
	CFuncs.Sound.Create("rbxassetid://231917744", par, 2.5, 1)
3869
	CFuncs.Sound.Create("rbxassetid://233856106", par, 2.5, 1)
3870
	MagniDamageWithEffect(par, 25, 5, 10, 0, "Normal")
3871
	MagicBlock(origcolor, par.CFrame, 5, 5, 5, 5, 5, 5, 0.025)
3872
	for i = 0, 24 do
3873
		MagicShockTrailAlt2(origcolor, par.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 2, 2, 5, -0.01, -0.01, 25, 0.005, math.random(1, 2))
3874
	end
3875
	for i = 0, 24 do
3876
		local expart = Instance.new("Part", char)
3877
		expart.Transparency = 1
3878
		expart.Anchored = true
3879
		expart.CanCollide = false
3880
		expart.CFrame = par.CFrame * CFrame.new(math.random(negrad, rad), math.random(negrad, rad), math.random(negrad, rad))
3881
		CFuncs.Sound.Create("rbxassetid://588737825", expart, 1, 2)
3882
		CFuncs.Sound.Create("rbxassetid://231917784", expart, 1.5, 1.15)
3883
		MagniDamage(expart, rad / 2, mindam, maxdam, 0, "Normal")
3884
		MagicBlock(origcolor, expart.CFrame, rad, rad, rad, 0.1, 0.1, 0.1, 0.025)
3885
		for i = 0, 9 do
3886
			MagicShockTrailAlt2(origcolor, expart.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 2, 2, 5, -0.01, -0.01, 5, 0.05, math.random(1, 2))
3887
		end
3888
		game:GetService("Debris"):AddItem(expart, 2)
3889
		wait(0.1)
3890
	end
3891
end
3892
function EXterPlosion(par)
3893
	CFuncs.Sound.Create("rbxassetid://919941001", par, 10, 1)
3894
	CFuncs.Sound.Create("rbxassetid://138213851", par, 5, 0.85)
3895
	CFuncs.Sound.Create("rbxassetid://157878578", par, 5, 0.2)
3896
	CFuncs.Sound.Create("rbxassetid://233856106", par, 2.5, 1)
3897
	MagniDamageWithEffect(par, 500, 80, 99, 0, "Normal")
3898
	MagicBlock(origcolor, par.CFrame, 5, 5, 5, 5, 5, 5, 0.005)
3899
	MagicBlock(origcolor, par.CFrame, 0, 0, 0, 150, 150, 150, 0.1)
3900
	for i = 0, 24 do
3901
		MagicShockTrailAlt2(origcolor, par.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 50, 50, 5, -0.5, -0.5, 500, 0.1, math.random(1, 2))
3902
	end
3903
	for i = 0, 24 do
3904
		MagicShockTrailAlt2(origcolor, par.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 50, 50, 5, -0.25, -0.25, 50, 0.005, math.random(1, 2))
3905
	end
3906
end
3907
function ring(type, pos, scale, value)
3908
	local type = type
3909
	local rng = Instance.new("Part", char)
3910
	rng.Anchored = true
3911
	rng.BrickColor = origcolor
3912
	rng.CanCollide = false
3913
	rng.FormFactor = 3
3914
	rng.Name = "Ring"
3915
	rng.Size = Vector3.new(1, 1, 1)
3916
	rng.Transparency = 0
3917
	rng.TopSurface = 0
3918
	rng.BottomSurface = 0
3919
	rng.CFrame = pos
3920
	local rngm = Instance.new("SpecialMesh", rng)
3921
	rngm.MeshId = "http://www.roblox.com/asset/?id=3270017"
3922
	rngm.Scale = scale
3923
	local scaler2 = 1
3924
	if type == "Add" then
3925
		scaler2 = 1 * value
3926
	elseif type == "Divide" then
3927
		scaler2 = 1 / value
3928
	end
3929
	coroutine.resume(coroutine.create(function()
3930
		for i = 0, 10, 0.1 do
3931
			swait()
3932
			if type == "Add" then
3933
				scaler2 = scaler2 - 0.01 * value
3934
			elseif type == "Divide" then
3935
				scaler2 = scaler2 - 0.01 / value
3936
			end
3937
			rng.Transparency = rng.Transparency + 0.01
3938
			rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, 0)
3939
		end
3940
		rng:Destroy()
3941
	end))
3942
end
3943
function wave(type, pos, scale, value)
3944
	local type = type
3945
	local rng = Instance.new("Part", char)
3946
	rng.Anchored = true
3947
	rng.BrickColor = origcolor
3948
	rng.CanCollide = false
3949
	rng.FormFactor = 3
3950
	rng.Name = "Ring"
3951
	rng.Size = Vector3.new(1, 1, 1)
3952
	rng.Transparency = 0
3953
	rng.TopSurface = 0
3954
	rng.BottomSurface = 0
3955
	rng.CFrame = pos
3956
	local rngm = Instance.new("SpecialMesh", rng)
3957
	rngm.MeshId = "http://www.roblox.com/asset/?id=20329976"
3958
	rngm.Scale = scale
3959
	local scaler2 = 1
3960
	if type == "Add" then
3961
		scaler2 = 1 * value
3962
	elseif type == "Divide" then
3963
		scaler2 = 1 / value
3964
	end
3965
	coroutine.resume(coroutine.create(function()
3966
		for i = 0, 10, 0.1 do
3967
			swait()
3968
			if type == "Add" then
3969
				scaler2 = scaler2 - 0.01 * value
3970
			elseif type == "Divide" then
3971
				scaler2 = scaler2 - 0.01 / value
3972
			end
3973
			rng.Transparency = rng.Transparency + 0.01
3974
			rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
3975
		end
3976
		rng:Destroy()
3977
	end))
3978
end
3979
function wind(type, pos, scale, value, speed)
3980
	local type = type
3981
	local rng = Instance.new("Part", char)
3982
	rng.Anchored = true
3983
	rng.BrickColor = origcolor
3984
	rng.CanCollide = false
3985
	rng.FormFactor = 3
3986
	rng.Name = "Ring"
3987
	rng.Size = Vector3.new(1, 1, 1)
3988
	rng.Transparency = 0
3989
	rng.TopSurface = 0
3990
	rng.BottomSurface = 0
3991
	rng.CFrame = pos
3992
	local rngm = Instance.new("SpecialMesh", rng)
3993
	rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
3994
	rngm.Scale = scale
3995
	local scaler2 = 1
3996
	if type == "Add" then
3997
		scaler2 = 1 * value
3998
	elseif type == "Divide" then
3999
		scaler2 = 1 / value
4000
	end
4001
	coroutine.resume(coroutine.create(function()
4002
		for i = 0, 10, 0.1 do
4003
			swait()
4004
			if type == "Add" then
4005
				scaler2 = scaler2 - 0.01 * value
4006
			elseif type == "Divide" then
4007
				scaler2 = scaler2 - 0.01 / value
4008
			end
4009
			rng.CFrame = rng.CFrame * CFrame.Angles(0, 0.025 * speed, 0)
4010
			rng.Transparency = rng.Transparency + 0.01
4011
			rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, scaler2)
4012
		end
4013
		rng:Destroy()
4014
	end))
4015
end
4016
function groundwind(type, pos, scale, value, speed)
4017
	local type = type
4018
	local rng = Instance.new("Part", char)
4019
	rng.Anchored = true
4020
	rng.BrickColor = origcolor
4021
	rng.CanCollide = false
4022
	rng.FormFactor = 3
4023
	rng.Name = "Ring"
4024
	rng.Size = Vector3.new(1, 1, 1)
4025
	rng.Transparency = 0
4026
	rng.TopSurface = 0
4027
	rng.BottomSurface = 0
4028
	rng.CFrame = pos
4029
	local rngm = Instance.new("SpecialMesh", rng)
4030
	rngm.MeshId = "http://www.roblox.com/asset/?id=1051557"
4031
	rngm.Scale = scale
4032
	local scaler2 = 1
4033
	if type == "Add" then
4034
		scaler2 = 1 * value
4035
	elseif type == "Divide" then
4036
		scaler2 = 1 / value
4037
	end
4038
	coroutine.resume(coroutine.create(function()
4039
		for i = 0, 10, 0.1 do
4040
			swait()
4041
			if type == "Add" then
4042
				scaler2 = scaler2 - 0.01 * value
4043
			elseif type == "Divide" then
4044
				scaler2 = scaler2 - 0.01 / value
4045
			end
4046
			rng.CFrame = rng.CFrame * CFrame.Angles(0, 0.025 * speed, 0)
4047
			rng.Transparency = rng.Transparency + 0.01
4048
			rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2 / 5, scaler2)
4049
		end
4050
		rng:Destroy()
4051
	end))
4052
end
4053
function CameraManager()
4054
	if TwoD and not CamInterrupt then
4055
		if Humanoid.Health > 0 then
4056
			Camera.CameraSubject = Humanoid
4057
			Camera.CameraType = "Scriptable"
4058
			Humanoid.AutoRotate = false
4059
			if Booleans.GyroUse then
4060
				Directer.MaxTorque = Vec3(0, huge, 0)
4061
			else
4062
				Directer.MaxTorque = Vec3(0, 0, 0)
4063
			end
4064
			if TargetInfo[1] ~= nil and TargetInfo[2] ~= nil then
4065
				if Booleans.CamFollow then
4066
					CPart.CFrame = cFrame(RootPart.Position, Vec3(TargetInfo[1].Position.X, RootPart.Position.Y, TargetInfo[1].Position.Z))
4067
					Directer.CFrame = cFrame((RootPart.CFrame * cFrame(0, 0, 10)).p, TargetInfo[1].Position)
4068
				else
4069
					CPart.Position = RootPart.Position
4070
				end
4071
			else
4072
				local ahead = (RootPart.CFrame * cFrame(0, 0, -3)).p
4073
				CPart.CFrame = cFrame(RootPart.Position, Vec3(ahead.X, RootPart.Position.Y, ahead.Z))
4074
			end
4075
			Camera.CFrame = lerp(Camera.CFrame, CPart.CFrame * cFrame(25, 3, 0) * Euler(0, radian(90), 0), 0.2)
4076
		else
4077
			Camera.CameraSubject = Humanoid
4078
			Camera.CameraType = "Custom"
4079
		end
4080
	end
4081
end
4082
function sphere(bonuspeed, type, pos, scale, value, color)
4083
	local type = type
4084
	local rng = Instance.new("Part", char)
4085
	rng.Anchored = true
4086
	rng.BrickColor = color
4087
	rng.CanCollide = false
4088
	rng.FormFactor = 3
4089
	rng.Name = "Ring"
4090
	rng.Material = "Neon"
4091
	rng.Size = Vector3.new(1, 1, 1)
4092
	rng.Transparency = 0
4093
	rng.TopSurface = 0
4094
	rng.BottomSurface = 0
4095
	rng.CFrame = pos
4096
	local rngm = Instance.new("SpecialMesh", rng)
4097
	rngm.MeshType = "Sphere"
4098
	rngm.Scale = scale
4099
	if rainbowmode == true then
4100
		rng.Color = Color3.new(r / 255, g / 255, b / 255)
4101
	end
4102
	local scaler2 = 1
4103
	if type == "Add" then
4104
		scaler2 = 1 * value
4105
	elseif type == "Divide" then
4106
		scaler2 = 1 / value
4107
	end
4108
	coroutine.resume(coroutine.create(function()
4109
		for i = 0, 10 / bonuspeed, 0.1 do
4110
			swait()
4111
			if rainbowmode == true then
4112
				rng.Color = Color3.new(r / 255, g / 255, b / 255)
4113
			end
4114
			if type == "Add" then
4115
				scaler2 = scaler2 - 0.01 * value / bonuspeed
4116
			elseif type == "Divide" then
4117
				scaler2 = scaler2 - 0.01 / value * bonuspeed
4118
			end
4119
			if chaosmode == true then
4120
				rng.BrickColor = BrickColor.random()
4121
			end
4122
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
4123
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
4124
		end
4125
		rng:Destroy()
4126
	end))
4127
end
4128
function sphereMK(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos)
4129
	local type = type
4130
	local rng = Instance.new("Part", char)
4131
	rng.Anchored = true
4132
	rng.BrickColor = color
4133
	rng.CanCollide = false
4134
	rng.FormFactor = 3
4135
	rng.Name = "Ring"
4136
	rng.Material = "Neon"
4137
	rng.Size = Vector3.new(1, 1, 1)
4138
	rng.Transparency = 0
4139
	rng.TopSurface = 0
4140
	rng.BottomSurface = 0
4141
	rng.CFrame = pos
4142
	rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
4143
	local rngm = Instance.new("SpecialMesh", rng)
4144
	rngm.MeshType = "Sphere"
4145
	rngm.Scale = vt(x1, y1, z1)
4146
	if rainbowmode == true then
4147
		rng.Color = Color3.new(r / 255, g / 255, b / 255)
4148
	end
4149
	local scaler2 = 1
4150
	local speeder = FastSpeed
4151
	if type == "Add" then
4152
		scaler2 = 1 * value
4153
	elseif type == "Divide" then
4154
		scaler2 = 1 / value
4155
	end
4156
	coroutine.resume(coroutine.create(function()
4157
		for i = 0, 10 / bonuspeed, 0.1 do
4158
			swait()
4159
			if rainbowmode == true then
4160
				rng.Color = Color3.new(r / 255, g / 255, b / 255)
4161
			end
4162
			if type == "Add" then
4163
				scaler2 = scaler2 - 0.01 * value / bonuspeed
4164
			elseif type == "Divide" then
4165
				scaler2 = scaler2 - 0.01 / value * bonuspeed
4166
			end
4167
			if chaosmode == true then
4168
				rng.BrickColor = BrickColor.random()
4169
			end
4170
			speeder = speeder - 0.01 * FastSpeed * bonuspeed
4171
			rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
4172
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
4173
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
4174
		end
4175
		rng:Destroy()
4176
	end))
4177
end
4178
function sphereMKCharge(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos)
4179
	local type = type
4180
	local rng = Instance.new("Part", char)
4181
	rng.Anchored = true
4182
	rng.BrickColor = color
4183
	rng.CanCollide = false
4184
	rng.FormFactor = 3
4185
	rng.Name = "Ring"
4186
	rng.Material = "Neon"
4187
	rng.Size = Vector3.new(1, 1, 1)
4188
	rng.Transparency = 1
4189
	rng.TopSurface = 0
4190
	rng.BottomSurface = 0
4191
	rng.CFrame = pos
4192
	rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
4193
	local rngm = Instance.new("SpecialMesh", rng)
4194
	rngm.MeshType = "Sphere"
4195
	rngm.Scale = vt(x1, y1, z1)
4196
	if rainbowmode == true then
4197
		rng.Color = Color3.new(r / 255, g / 255, b / 255)
4198
	end
4199
	local scaler2 = 1
4200
	local speeder = FastSpeed
4201
	if type == "Add" then
4202
		scaler2 = 1 * value
4203
	elseif type == "Divide" then
4204
		scaler2 = 1 / value
4205
	end
4206
	coroutine.resume(coroutine.create(function()
4207
		for i = 0, 10 / bonuspeed, 0.1 do
4208
			swait()
4209
			if rainbowmode == true then
4210
				rng.Color = Color3.new(r / 255, g / 255, b / 255)
4211
			end
4212
			if type == "Add" then
4213
				scaler2 = scaler2 - 0.01 * value / bonuspeed
4214
			elseif type == "Divide" then
4215
				scaler2 = scaler2 - 0.01 / value * bonuspeed
4216
			end
4217
			if chaosmode == true then
4218
				rng.BrickColor = BrickColor.random()
4219
			end
4220
			speeder = speeder - 0.01 * FastSpeed * bonuspeed
4221
			rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
4222
			rng.Transparency = rng.Transparency - 0.01 * bonuspeed
4223
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
4224
		end
4225
		rng:Destroy()
4226
	end))
4227
end
4228
function dmg(dude)
4229
	if dude.Name ~= Character then
4230
		local bgf = Instance.new("BodyGyro", dude.Head)
4231
		bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, 0)
4232
		local val = Instance.new("BoolValue", dude)
4233
		val.Name = "IsHit"
4234
		local ds = coroutine.wrap(function()
4235
			dude:WaitForChild("Head"):BreakJoints()
4236
			wait(0.5)
4237
			targetted = nil
4238
			CFuncs.Sound.Create("rbxassetid://62339698", char, 0.5, 0.3)
4239
			coroutine.resume(coroutine.create(function()
4240
				for i, v in pairs(dude:GetChildren()) do
4241
					if v:IsA("Accessory") then
4242
						v:Destroy()
4243
					end
4244
					if v:IsA("Humanoid") then
4245
						v:Destroy()
4246
					end
4247
					if v:IsA("CharacterMesh") then
4248
						v:Destroy()
4249
					end
4250
					if v:IsA("Model") then
4251
						v:Destroy()
4252
					end
4253
					if v:IsA("Part") or v:IsA("MeshPart") then
4254
						for x, o in pairs(v:GetChildren()) do
4255
							if o:IsA("Decal") then
4256
								o:Destroy()
4257
							end
4258
						end
4259
						coroutine.resume(coroutine.create(function()
4260
							v.Material = "Neon"
4261
							v.CanCollide = false
4262
							local bld = Instance.new("ParticleEmitter", v)
4263
							bld.LightEmission = 1
4264
							bld.Texture = "rbxassetid://284205403"
4265
							bld.Color = ColorSequence.new(Color3.new(1, 1, 1))
4266
							bld.Rate = 50
4267
							bld.Lifetime = NumberRange.new(1)
4268
							bld.Size = NumberSequence.new({
4269
								NumberSequenceKeypoint.new(0, 0.75, 0),
4270
								NumberSequenceKeypoint.new(1, 0, 0)
4271
							})
4272
							bld.Transparency = NumberSequence.new({
4273
								NumberSequenceKeypoint.new(0, 0, 0),
4274
								NumberSequenceKeypoint.new(1, 1, 0)
4275
							})
4276
							bld.Speed = NumberRange.new(0, 0)
4277
							bld.VelocitySpread = 50000
4278
							bld.Rotation = NumberRange.new(-500, 500)
4279
							bld.RotSpeed = NumberRange.new(-500, 500)
4280
							local sbs = Instance.new("BodyPosition", v)
4281
							sbs.P = 3000
4282
							sbs.D = 1000
4283
							sbs.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
4284
							sbs.position = v.Position + Vector3.new(math.random(-5, 5), math.random(-5, 5), math.random(-5, 5))
4285
							v.Color = Color3.new(1, 1, 1)
4286
							coroutine.resume(coroutine.create(function()
4287
								for i = 0, 49 do
4288
									swait(1)
4289
									v.Transparency = v.Transparency + 0.02
4290
								end
4291
								CFuncs.Sound.Create("rbxassetid://1192402877", v, 0.25, 1)
4292
								bld.Speed = NumberRange.new(1, 5)
4293
								bld.Acceleration = vt(0, 10, 0)
4294
								wait(0.5)
4295
								bld.Enabled = false
4296
								wait(3)
4297
								v:Destroy()
4298
								dude:Destroy()
4299
							end))
4300
						end))
4301
					end
4302
				end
4303
			end))
4304
		end)
4305
		ds()
4306
	end
4307
end
4308
function FindNearestHead(Position, Distance, SinglePlayer)
4309
	if SinglePlayer then
4310
		return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
4311
	end
4312
	local List = {}
4313
	for i, v in pairs(workspace:GetChildren()) do
4314
		if v:IsA("Model") and v:findFirstChild("Head") and v ~= Character and Distance >= (v.Head.Position - Position).magnitude then
4315
			table.insert(List, v)
4316
		end
4317
	end
4318
	return List
4319
end
4320
function FaceMouse()
4321
	Cam = workspace.CurrentCamera
4322
	return {
4323
		CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
4324
		Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
4325
	}
4326
end
4327
function FaceMouse2()
4328
	Cam = workspace.CurrentCamera
4329
	return {
4330
		CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)),
4331
		Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
4332
	}
4333
end
4334
local ModeOfGlitch = 1
4335
local storehumanoidWS = 16
4336
function ExtinctiveHeartbreak()
4337
	local targetted
4338
	if mouse.Target.Parent ~= Character and mouse.Target.Parent.Parent ~= Character and mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
4339
		targetted = mouse.Target.Parent
4340
	end
4341
	if targetted ~= nil then
4342
		attack = true
4343
		CFuncs.Sound.Create("rbxassetid://847061203", root, 2.5, 1)
4344
		for i = 0, 9 do
4345
			sphereMK(3, 0.25, "Add", root.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 1, 1, 10, -0.01, BrickColor.new("Really black"), 0)
4346
		end
4347
		sphere(3, "Add", root.CFrame, vt(0, 0, 0), 0.25, BrickColor.new("Really black"))
4348
		local originalpos = root.CFrame
4349
		RootPart.CFrame = targetted.Head.CFrame * CFrame.new(0, -2, 2)
4350
		for i = 0, 9 do
4351
			sphereMK(3, 0.25, "Add", root.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 1, 1, 10, -0.01, BrickColor.new("Really black"), 0)
4352
		end
4353
		hum.WalkSpeed = 0
4354
		targetted.Head.Anchored = true
4355
		sphere(3, "Add", root.CFrame, vt(0, 0, 0), 0.25, BrickColor.new("Really black"))
4356
		for i = 0, 1 do
4357
			swait()
4358
			RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 28), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.4)
4359
			LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 28), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.4)
4360
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.05 * math.cos(sine / 28)) * angles(math.rad(0), math.rad(0), math.rad(80)), 0.4)
4361
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(10)), 0.8)
4362
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5 + 0.1 * math.cos(sine / 28), 0) * angles(math.rad(20), math.rad(0), math.rad(10)), 0.4)
4363
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5 + 0.1 * math.cos(sine / 28), 0) * angles(math.rad(90), math.rad(0), math.rad(60)), 0.4)
4364
		end
4365
		coroutine.resume(coroutine.create(function()
4366
			bld = Instance.new("ParticleEmitter", targetted:WaitForChild("Torso"))
4367
			bld.LightEmission = 0.1
4368
			bld.Texture = "rbxassetid://284205403"
4369
			bld.Color = ColorSequence.new(Color3.new(0.5, 0, 0))
4370
			bld.Rate = 500
4371
			bld.Lifetime = NumberRange.new(1)
4372
			bld.Size = NumberSequence.new({
4373
				NumberSequenceKeypoint.new(0, 2, 0),
4374
				NumberSequenceKeypoint.new(1, 0, 0)
4375
			})
4376
			bld.Acceleration = vt(0, -25, 0)
4377
			bld.Transparency = NumberSequence.new({
4378
				NumberSequenceKeypoint.new(0, 0, 0),
4379
				NumberSequenceKeypoint.new(1, 0, 0)
4380
			})
4381
			bld.Speed = NumberRange.new(10, 50)
4382
			bld.EmissionDirection = "Front"
4383
			bld.VelocitySpread = 25
4384
			bld.Rotation = NumberRange.new(-500, 500)
4385
			bld.RotSpeed = NumberRange.new(-500, 500)
4386
		end))
4387
		coroutine.resume(coroutine.create(function()
4388
			bld = Instance.new("ParticleEmitter", targetted:WaitForChild("UpperTorso"))
4389
			bld.LightEmission = 0.1
4390
			bld.Texture = "rbxassetid://284205403"
4391
			bld.Color = ColorSequence.new(Color3.new(0.5, 0, 0))
4392
			bld.Rate = 500
4393
			bld.Lifetime = NumberRange.new(1)
4394
			bld.Size = NumberSequence.new({
4395
				NumberSequenceKeypoint.new(0, 2, 0),
4396
				NumberSequenceKeypoint.new(1, 0, 0)
4397
			})
4398
			bld.Acceleration = vt(0, -25, 0)
4399
			bld.Transparency = NumberSequence.new({
4400
				NumberSequenceKeypoint.new(0, 0, 0),
4401
				NumberSequenceKeypoint.new(1, 0, 0)
4402
			})
4403
			bld.Speed = NumberRange.new(10, 50)
4404
			bld.EmissionDirection = "Front"
4405
			bld.VelocitySpread = 25
4406
			bld.Rotation = NumberRange.new(-500, 500)
4407
			bld.RotSpeed = NumberRange.new(-500, 500)
4408
		end))
4409
		CameraEnshaking(5, 5)
4410
		game:GetService("Debris"):AddItem(bld, 3)
4411
		dmg(targetted)
4412
		CFuncs.Sound.Create("rbxassetid://429400881", targetted.Head, 1, 1)
4413
		for i = 0, 1, 1 do
4414
			swait()
4415
			RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 28), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.8)
4416
			LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 28), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.8)
4417
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0.25, 0 + 0.05 * math.cos(sine / 28)) * angles(math.rad(0), math.rad(0), math.rad(-80)), 0.8)
4418
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(80)), 0.8)
4419
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5 + 0.1 * math.cos(sine / 28), 0) * angles(math.rad(20), math.rad(0), math.rad(10)), 0.8)
4420
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5 + 0.1 * math.cos(sine / 28), 0) * angles(math.rad(90), math.rad(0), math.rad(-80)), 0.8)
4421
		end
4422
		CFuncs.Sound.Create("rbxassetid://847061203", root, 2.5, 1)
4423
		for i = 0, 9 do
4424
			sphereMK(3, 0.25, "Add", root.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 1, 1, 10, -0.01, BrickColor.new("Really black"), 0)
4425
		end
4426
		sphere(3, "Add", root.CFrame, vt(0, 0, 0), 0.25, BrickColor.new("Really black"))
4427
		root.CFrame = originalpos
4428
		for i = 0, 9 do
4429
			sphereMK(3, 0.25, "Add", root.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 1, 1, 10, -0.01, BrickColor.new("Really black"), 0)
4430
		end
4431
		sphere(3, "Add", root.CFrame, vt(0, 0, 0), 0.25, BrickColor.new("Really black"))
4432
		bld.Enabled = false
4433
		attack = false
4434
		hum.WalkSpeed = storehumanoidWS
4435
	end
4436
end
4437
function PureBomb()
4438
	attack = true
4439
	local orb = Instance.new("Part", char)
4440
	orb.Anchored = true
4441
	orb.BrickColor = BrickColor.new("Toothpaste")
4442
	orb.CanCollide = false
4443
	orb.FormFactor = 3
4444
	orb.Name = "Ring"
4445
	orb.Material = "Neon"
4446
	orb.Size = Vector3.new(1, 1, 1)
4447
	orb.Transparency = 0
4448
	orb.TopSurface = 0
4449
	orb.BottomSurface = 0
4450
	local orbm = Instance.new("SpecialMesh", orb)
4451
	orbm.MeshType = "Sphere"
4452
	orbm.Name = "SizeMesh"
4453
	orbm.Scale = vt(0, 0, 0)
4454
	local scaled = 0.1
4455
	local posid = 0
4456
	CFuncs.Sound.Create("rbxassetid://136007472", orb, 1, 1)
4457
	for i = 0, 5, 0.1 do
4458
		swait()
4459
		scaled = scaled - 0.001
4460
		posid = posid - scaled
4461
		orb.CFrame = rarm.CFrame * CFrame.new(0, -0.1 + posid / 1.05, 0)
4462
		orbm.Scale = orbm.Scale + vt(scaled, scaled, scaled)
4463
		sphereMKCharge(5, -0.25, "Add", orb.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 0.5, 0.5, 5, -0.005, BrickColor.new("Toothpaste"), 10)
4464
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(-2 - 1 * math.cos(sine / 32))), 0.1)
4465
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-3 + 1 * math.cos(sine / 32)), math.rad(0), math.rad(-10)), 0.1)
4466
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.1 * math.cos(sine / 32)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
4467
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
4468
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(180), math.rad(20), math.rad(0)), 0.1)
4469
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(-30 + 5 * math.cos(sine / 30)), math.rad(-20)), 0.1)
4470
	end
4471
	for i = 0, 2, 0.1 do
4472
		swait()
4473
		orb.CFrame = rarm.CFrame * CFrame.new(0, -0.1 + posid / 1.05, 0)
4474
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(-2 - 1 * math.cos(sine / 32))), 0.4)
4475
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-3 + 1 * math.cos(sine / 32)), math.rad(0), math.rad(-10)), 0.4)
4476
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.1 * math.cos(sine / 32)) * angles(math.rad(0), math.rad(0), math.rad(-50)), 0.4)
4477
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(20)), 0.4)
4478
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(220), math.rad(20), math.rad(0)), 0.4)
4479
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(-30 + 5 * math.cos(sine / 30)), math.rad(-20)), 0.4)
4480
	end
4481
	coroutine.resume(coroutine.create(function()
4482
		orb.Anchored = false
4483
		CFuncs.Sound.Create("rbxassetid://260433768", root, 1.25, 1)
4484
		local a = Instance.new("Part", workspace)
4485
		a.Name = "Direction"
4486
		a.Anchored = true
4487
		a.BrickColor = bc("Bright red")
4488
		a.Material = "Neon"
4489
		a.Transparency = 1
4490
		a.CanCollide = false
4491
		local ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 500)
4492
		local ignore = orb
4493
		local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
4494
		a.BottomSurface = 10
4495
		a.TopSurface = 10
4496
		local distance = (orb.CFrame.p - position).magnitude
4497
		a.Size = Vector3.new(0.1, 0.1, 0.1)
4498
		a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, 0)
4499
		orb.CFrame = a.CFrame
4500
		a:Destroy()
4501
		local bv = Instance.new("BodyVelocity")
4502
		bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
4503
		bv.velocity = orb.CFrame.lookVector * 125
4504
		bv.Parent = orb
4505
		local hitted = false
4506
		game:GetService("Debris"):AddItem(orb, 15)
4507
		wait()
4508
		local hit = orb.Touched:connect(function(hit)
4509
			if hitted == false then
4510
				hitted = true
4511
				CameraEnshaking(10, 2.5)
4512
				CFuncs.Sound.Create("rbxassetid://151304356", orb, 5, 1)
4513
				MagniDamage(orb, 65, 65, 90, 0, "Normal")
4514
				sphere(1, "Add", orb.CFrame, vt(orbm.Scale.x, orbm.Scale.y, orbm.Scale.z), 1, BrickColor.new("Toothpaste"))
4515
				sphere(2, "Add", orb.CFrame, vt(orbm.Scale.x, orbm.Scale.y, orbm.Scale.z), 2, BrickColor.new("Toothpaste"))
4516
				for i = 0, 9 do
4517
					sphereMK(1, 2.5, "Add", orb.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 5, 5, 50, -0.05, BrickColor.new("Toothpaste"), 0)
4518
					sphereMK(2, 5, "Add", orb.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 5, 5, 50, -0.05, BrickColor.new("Toothpaste"), 0)
4519
				end
4520
				orb.Anchored = true
4521
				orb.Transparency = 1
4522
				wait(8)
4523
				orb:Destroy()
4524
			end
4525
		end)
4526
	end))
4527
	for i = 0, 1, 0.1 do
4528
		swait()
4529
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(-2 - 1 * math.cos(sine / 32))), 0.4)
4530
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.1 * math.cos(sine / 32), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-3 + 1 * math.cos(sine / 32)), math.rad(0), math.rad(-10)), 0.4)
4531
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.1 * math.cos(sine / 32)) * angles(math.rad(0), math.rad(0), math.rad(50)), 0.4)
4532
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(-50)), 0.4)
4533
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(60), math.rad(20), math.rad(50)), 0.4)
4534
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(-30 + 5 * math.cos(sine / 30)), math.rad(-20)), 0.4)
4535
	end
4536
	attack = false
4537
end
4538
function ChaosGroundStrike()
4539
	attack = true
4540
	for i = 0, 2, 0.1 do
4541
		swait()
4542
		RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(20)), 0.2)
4543
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(20)), 0.2)
4544
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
4545
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
4546
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(140), math.rad(0), math.rad(-20)), 0.2)
4547
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(140), math.rad(0), math.rad(20)), 0.2)
4548
	end
4549
	CFuncs.Sound.Create("rbxassetid://438666141", root, 7.5, 1)
4550
	CFuncs.Sound.Create("rbxassetid://1208650519", root, 7.5, 1)
4551
	CameraEnshaking(4, 12)
4552
	for i, v in pairs(FindNearestHead(Torso.CFrame.p, 52.5)) do
4553
		if v:FindFirstChild("Head") then
4554
			dmg(v)
4555
		end
4556
	end
4557
	sphere(5, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(0, 0, 0), 1, BrickColor.random())
4558
	sphere(10, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(0, 0, 0), 2, BrickColor.random())
4559
	sphere(1, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(100, 0.1, 100), 0.01, BrickColor.random())
4560
	for i = 0, 2, 0.1 do
4561
		swait()
4562
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-52.5, 52.5), -5, math.random(-52.5, 52.5)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4563
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-52.5, 52.5), -5, math.random(-52.5, 52.5)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4564
		RH.C0 = clerp(RH.C0, cf(1, -1, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(10)), 0.4)
4565
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(10)), 0.4)
4566
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.4)
4567
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), 0.4)
4568
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(30)), 0.4)
4569
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(-30)), 0.4)
4570
	end
4571
	attack = false
4572
end
4573
function ChaosBegone()
4574
	attack = true
4575
	chatfunc("WHY WONT YOU PEOPLE...", BrickColor.random().Color)
4576
	for i = 0, 10, 0.1 do
4577
		swait()
4578
		RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(20)), 0.2)
4579
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(20)), 0.2)
4580
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
4581
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
4582
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(140), math.rad(0), math.rad(-20)), 0.2)
4583
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(140), math.rad(0), math.rad(20)), 0.2)
4584
	end
4585
	chatfunc("DIE!!", BrickColor.random().Color)
4586
	CFuncs.Sound.Create("rbxassetid://438666141", char, 7.5, 1)
4587
	CFuncs.Sound.Create("rbxassetid://1208650519", char, 7.5, 1)
4588
	CameraEnshaking(5, 25)
4589
	for i, v in pairs(FindNearestHead(Torso.CFrame.p, 1234567890)) do
4590
		if v:FindFirstChild("Head") then
4591
			dmg(v)
4592
		end
4593
	end
4594
	sphere(5, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(0, 0, 0), 1000, BrickColor.random())
4595
	sphere(10, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(0, 0, 0), 2000, BrickColor.random())
4596
	sphere(1, "Add", root.CFrame * CFrame.new(0, -2.9, 0), vt(100000, 0.1, 100000), 0.01, BrickColor.random())
4597
	for i = 0, 3, 0.1 do
4598
		swait()
4599
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-525, 525), -5, math.random(-525, 525)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4600
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-525, 525), -5, math.random(-525, 525)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4601
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-525, 525), -5, math.random(-525, 525)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4602
		sphereMK(2.5, 0.75, "Add", root.CFrame * CFrame.new(math.random(-525, 525), -5, math.random(-525, 525)) * CFrame.Angles(math.rad(90 + math.rad(math.random(-45, 45))), math.rad(math.random(-45, 45)), math.rad(math.random(-45, 45))), 2.5, 2.5, 25, -0.025, BrickColor.random(), 0)
4603
		RH.C0 = clerp(RH.C0, cf(1, -1, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(10)), 0.4)
4604
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(0), math.rad(0), math.rad(10)), 0.4)
4605
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(10), math.rad(0), math.rad(0)), 0.4)
4606
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(10), math.rad(0), math.rad(0)), 0.4)
4607
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(30)), 0.4)
4608
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(-50), math.rad(0), math.rad(-30)), 0.4)
4609
	end
4610
	attack = false
4611
end
4612
function orb_spawn_norm(positted, timer, color, MagniBoost, min, max, volEx, ShakePower, volSummon)
4613
	local orb = Instance.new("Part", char)
4614
	orb.Anchored = true
4615
	orb.BrickColor = color
4616
	orb.CanCollide = false
4617
	orb.FormFactor = 3
4618
	orb.Name = "Ring"
4619
	orb.Material = "Neon"
4620
	orb.Size = Vector3.new(1, 1, 1)
4621
	orb.Transparency = 0
4622
	orb.TopSurface = 0
4623
	orb.BottomSurface = 0
4624
	local orbm = Instance.new("SpecialMesh", orb)
4625
	orbm.MeshType = "Sphere"
4626
	orb.CFrame = positted
4627
	orbm.Name = "SizeMesh"
4628
	orbm.Scale = vt(1, 1, 1)
4629
	CFuncs.Sound.Create("rbxassetid://183763506", orb, volSummon, 1)
4630
	sphere(2.5, "Add", orb.CFrame, vt(1, 1, 1), 0.05, orb.BrickColor)
4631
	coroutine.resume(coroutine.create(function()
4632
		wait(timer)
4633
		CameraEnshaking(3, ShakePower)
4634
		orb.Transparency = 1
4635
		MagniDamage(orb, 3.5 * MagniBoost, min, max, 0, "Normal")
4636
		sphere(5, "Add", orb.CFrame, vt(1, 1, 1), 0.1 * MagniBoost, orb.BrickColor)
4637
		CFuncs.Sound.Create("rbxassetid://192410089", orb, volEx, 0.7)
4638
		wait(3)
4639
		orb:Destroy()
4640
	end))
4641
end
4642
function orb_spawn(positted, timer)
4643
	local randomcol = math.random(1, 2)
4644
	local orb = Instance.new("Part", char)
4645
	orb.Anchored = true
4646
	if randomcol == 1 then
4647
		orb.BrickColor = BrickColor.new("White")
4648
	elseif randomcol == 2 then
4649
		orb.BrickColor = BrickColor.new("Really black")
4650
	end
4651
	orb.CanCollide = false
4652
	orb.FormFactor = 3
4653
	orb.Name = "Ring"
4654
	orb.Material = "Neon"
4655
	orb.Size = Vector3.new(1, 1, 1)
4656
	orb.Transparency = 0
4657
	orb.TopSurface = 0
4658
	orb.BottomSurface = 0
4659
	local orbm = Instance.new("SpecialMesh", orb)
4660
	orbm.MeshType = "Sphere"
4661
	orb.CFrame = positted
4662
	orbm.Name = "SizeMesh"
4663
	orbm.Scale = vt(1, 1, 1)
4664
	CFuncs.Sound.Create("rbxassetid://183763506", orb, 1.5, 1)
4665
	sphere(2.5, "Add", orb.CFrame, vt(1, 1, 1), 0.025, orb.BrickColor)
4666
	for i = 0, 2 do
4667
		sphereMK(5, 0.15, "Add", orb.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 1.5, 1.5, 7.5, -0.015, orb.BrickColor, 0)
4668
	end
4669
	coroutine.resume(coroutine.create(function()
4670
		wait(timer)
4671
		CameraEnshaking(3, 2)
4672
		orb.Transparency = 1
4673
		MagniDamage(orb, 17.5, 10, 50, 0, "Normal")
4674
		sphere(5, "Add", orb.CFrame, vt(1, 1, 1), 0.5, orb.BrickColor)
4675
		for i = 0, 4 do
4676
			sphereMK(5, 0.65, "Add", orb.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 2.5, 2.5, 15, -0.025, orb.BrickColor, 0)
4677
		end
4678
		CFuncs.Sound.Create("rbxassetid://192410089", orb, 2, 0.7)
4679
		wait(3)
4680
		orb:Destroy()
4681
	end))
4682
end
4683
function scattercorrupt()
4684
	attack = true
4685
	local rot = 0
4686
	local randomrotations = math.random(1, 2)
4687
	local lookv = 2.5
4688
	local power = 5
4689
	sphere(1, "Add", root.CFrame, vt(1, 100000, 1), 0.5, BrickColor.new("Royal purple"))
4690
	sphere(1, "Add", root.CFrame, vt(1, 1, 1), 0.75, BrickColor.new("Royal purple"))
4691
	for i = 0, 9 do
4692
		sphereMK(1, 1.5, "Add", root.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 10, 10, 45, -0.1, BrickColor.new("Royal purple"), 0)
4693
	end
4694
	CFuncs.Sound.Create("rbxassetid://180204650", char, 2.5, 0.6)
4695
	CFuncs.Sound.Create("rbxassetid://233856079", char, 1, 0.5)
4696
	CFuncs.Sound.Create("rbxassetid://1208650519", char, 2.5, 1)
4697
	CFuncs.Sound.Create("rbxassetid://239000203", char, 0.5, 0.75)
4698
	CFuncs.Sound.Create("rbxassetid://579687077", char, 0.5, 0.5)
4699
	local hite = Instance.new("Part", char)
4700
	hite.Anchored = true
4701
	hite.CanCollide = false
4702
	hite.FormFactor = 3
4703
	hite.Name = "Ring"
4704
	hite.Material = "Neon"
4705
	hite.Size = Vector3.new(1, 1, 1)
4706
	hite.Transparency = 1
4707
	hite.TopSurface = 0
4708
	hite.BottomSurface = 0
4709
	hite.CFrame = root.CFrame * CFrame.new(0, -2.5, 0)
4710
	local rem = Instance.new("Part", char)
4711
	rem.Anchored = true
4712
	rem.CanCollide = false
4713
	rem.FormFactor = 3
4714
	rem.Name = "Ring"
4715
	rem.Material = "Neon"
4716
	rem.Size = Vector3.new(1, 1, 1)
4717
	rem.Transparency = 1
4718
	rem.TopSurface = 0
4719
	rem.BottomSurface = 0
4720
	rem.CFrame = hite.CFrame
4721
	local rem2 = rem:Clone()
4722
	rem2.Parent = char
4723
	rem2.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(90), 0)
4724
	local rem3 = rem:Clone()
4725
	rem3.Parent = char
4726
	rem3.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(180), 0)
4727
	local rem4 = rem:Clone()
4728
	rem4.Parent = char
4729
	rem4.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(270), 0)
4730
	hite:Destroy()
4731
	coroutine.resume(coroutine.create(function()
4732
		for i = 0, 24 do
4733
			swait(1)
4734
			if randomrotations == 1 then
4735
				rot = rot + 1
4736
			elseif randomrotations == 2 then
4737
				rot = rot - 1
4738
			end
4739
			power = power + 0.5
4740
			lookv = lookv + 7.5
4741
			rem.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(rot), 0)
4742
			rem2.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(90), 0)
4743
			rem3.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(180), 0)
4744
			rem4.CFrame = rem.CFrame * CFrame.Angles(0, math.rad(270), 0)
4745
			orb_spawn_norm(rem.CFrame + rem.CFrame.lookVector * lookv, 3, BrickColor.new("Royal purple"), power, 25, 75, 10, power / 5, 7.5)
4746
			orb_spawn_norm(rem2.CFrame + rem2.CFrame.lookVector * lookv, 3, BrickColor.new("Royal purple"), power, 25, 75, 10, power / 5, 7.5)
4747
			orb_spawn_norm(rem3.CFrame + rem3.CFrame.lookVector * lookv, 3, BrickColor.new("Royal purple"), power, 25, 75, 10, power / 5, 7.5)
4748
			orb_spawn_norm(rem4.CFrame + rem4.CFrame.lookVector * lookv, 3, BrickColor.new("Royal purple"), power, 25, 75, 10, power / 5, 7.5)
4749
		end
4750
	end))
4751
	attack = false
4752
end
4753
function yinyangi()
4754
	attack = true
4755
	for i = 0, 2, 0.1 do
4756
		swait()
4757
		RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(-20)), 0.2)
4758
		LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(20)), 0.2)
4759
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, -0.5, 0.5 + 0.1 * math.cos(sine / 28)) * angles(math.rad(75), math.rad(0), math.rad(0)), 0.2)
4760
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.2)
4761
		RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.2)
4762
		LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.2)
4763
	end
4764
	local bv = Instance.new("BodyVelocity")
4765
	bv.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
4766
	bv.velocity = root.CFrame.lookVector * 175
4767
	bv.Parent = root
4768
	for Rotations = 0, 9 do
4769
		for i = 0, 1, 0.5 do
4770
			swait()
4771
			bv.velocity = root.CFrame.lookVector * 175
4772
			RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(-20)), 0.5)
4773
			LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(20)), 0.5)
4774
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, -0.5, 0.5 + 0.1 * math.cos(sine / 28)) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.5)
4775
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.5)
4776
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.5)
4777
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
4778
		end
4779
		orb_spawn(rarm.CFrame * CFrame.new(0, -1, 0), 2.5)
4780
		for i = 0, 1, 0.5 do
4781
			swait()
4782
			bv.velocity = root.CFrame.lookVector * 175
4783
			RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(-20)), 0.5)
4784
			LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(20)), 0.5)
4785
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, -0.5, 0.5 + 0.1 * math.cos(sine / 28)) * angles(math.rad(90), math.rad(0), math.rad(180)), 0.5)
4786
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.5)
4787
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.5)
4788
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
4789
		end
4790
		orb_spawn(rarm.CFrame * CFrame.new(0, -1, 0), 2.5)
4791
		for i = 0, 1, 0.5 do
4792
			swait()
4793
			bv.velocity = root.CFrame.lookVector * 175
4794
			RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(-20)), 0.5)
4795
			LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(20)), 0.5)
4796
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, -0.5, 0.5 + 0.1 * math.cos(sine / 28)) * angles(math.rad(90), math.rad(0), math.rad(270)), 0.5)
4797
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.5)
4798
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.5)
4799
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
4800
		end
4801
		orb_spawn(rarm.CFrame * CFrame.new(0, -1, 0), 2.5)
4802
		for i = 0, 1, 0.5 do
4803
			swait()
4804
			bv.velocity = root.CFrame.lookVector * 175
4805
			RH.C0 = clerp(RH.C0, cf(1, -0.25, -0.5) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(-20)), 0.5)
4806
			LH.C0 = clerp(LH.C0, cf(-1, -1, 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(0), math.rad(20)), 0.5)
4807
			RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, -0.5, 0.5 + 0.1 * math.cos(sine / 28)) * angles(math.rad(90), math.rad(0), math.rad(360)), 0.5)
4808
			Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.5)
4809
			RW.C0 = clerp(RW.C0, cf(1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.5)
4810
			LW.C0 = clerp(LW.C0, cf(-1.5, 0.5, 0) * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.5)
4811
		end
4812
		orb_spawn(rarm.CFrame * CFrame.new(0, -1, 0), 2.5)
4813
	end
4814
	bv:Destroy()
4815
	attack = false
4816
end
4817
function Wip()
4818
	attack = true
4819
	local rngb = Instance.new("Part", char)
4820
	rngb.Anchored = true
4821
	rngb.BrickColor = origcolor
4822
	rngb.CanCollide = false
4823
	rngb.FormFactor = 3
4824
	rngb.Name = "Ring"
4825
	rngb.Material = "Neon"
4826
	rngb.Size = Vector3.new(1, 0.05, 1)
4827
	rngb.Transparency = 1
4828
	rngb.TopSurface = 0
4829
	rngb.BottomSurface = 0
4830
	local rngmb = Instance.new("SpecialMesh", rngb)
4831
	rngmb.MeshType = "Brick"
4832
	rngmb.Name = "SizeMesh"
4833
	rngmb.Scale = vt(0, 1, 0)
4834
	local orb = rngb:Clone()
4835
	orb.Parent = char
4836
	orb.Transparency = 0
4837
	orb.BrickColor = BrickColor.new("Really black")
4838
	orb.Size = vt(1, 1, 1)
4839
	local orbmish = orb.SizeMesh
4840
	orbmish.Scale = vt(0, 0, 0)
4841
	orbmish.MeshType = "Sphere"
4842
	local orbe = rngb:Clone()
4843
	orbe.Parent = char
4844
	orbe.Transparency = 0.5
4845
	orbe.BrickColor = BrickColor.new("Really black")
4846
	orbe.Size = vt(1, 1, 1)
4847
	local orbmish2 = orbe.SizeMesh
4848
	orbmish2.Scale = vt(0, 0, 0)
4849
	orbmish2.MeshType = "Sphere"
4850
	orbe.Color = Color3.new("Really black")
4851
	rngb:Destroy()
4852
	for i = 0, 5, 0.1 do
4853
		swait()
4854
		if rainbowmode == true then
4855
			orbe.Color = Color3.new("Really black")
4856
		end
4857
		orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 11.5
4858
		orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 11.5
4859
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.3)
4860
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.3)
4861
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.3)
4862
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(10), math.rad(0), math.rad(-20)), 0.3)
4863
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-0.5), math.rad(0), math.rad(0)), 0.3)
4864
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(10), math.rad(0)), 0.3)
4865
		RootPart.CFrame = FaceMouse()[1]
4866
	end
4867
	orbe.Transparency = 1
4868
	orb.Transparency = 1
4869
	orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 5
4870
	CFuncs.Sound.Create("rbxassetid://294188875", char, 1, 1)
4871
	local a = Instance.new("Part", Character)
4872
	a.Name = "Direction"
4873
	a.Anchored = true
4874
	a.BrickColor = bc("Really black")
4875
	a.Material = "Neon"
4876
	a.Transparency = 0
4877
	a.Shape = "Cylinder"
4878
	a.CanCollide = false
4879
	local a2 = Instance.new("Part", Character)
4880
	a2.Name = "Direction"
4881
	a2.Anchored = true
4882
	a2.BrickColor = bc("Really black")
4883
	a2.Color = Color3.new("Really black")
4884
	a2.Material = "Neon"
4885
	a2.Transparency = 0.5
4886
	a2.Shape = "Cylinder"
4887
	a2.CanCollide = false
4888
	local ba = Instance.new("Part", Character)
4889
	ba.Name = "HitDirect"
4890
	ba.Anchored = true
4891
	ba.BrickColor = bc("Really black")
4892
	ba.Material = "Neon"
4893
	ba.Transparency = 1
4894
	ba.CanCollide = false
4895
	local ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
4896
	local ignore = Character
4897
	local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
4898
	a.BottomSurface = 10
4899
	a.TopSurface = 10
4900
	a2.BottomSurface = 10
4901
	a2.TopSurface = 10
4902
	local distance = (orb.CFrame.p - position).magnitude
4903
	a.Size = Vector3.new(distance, 1, 1)
4904
	a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
4905
	a2.Size = Vector3.new(distance, 1, 1)
4906
	a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
4907
	ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
4908
	a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
4909
	a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
4910
	game:GetService("Debris"):AddItem(a, 20)
4911
	game:GetService("Debris"):AddItem(a2, 20)
4912
	game:GetService("Debris"):AddItem(ba, 20)
4913
	local msh = Instance.new("SpecialMesh", a)
4914
	msh.MeshType = "Cylinder"
4915
	msh.Scale = vt(1, 25, 25)
4916
	local msh2 = Instance.new("SpecialMesh", a2)
4917
	msh2.MeshType = "Cylinder"
4918
	msh2.Scale = vt(1, 30, 30)
4919
	for i = 0, 10, 0.1 do
4920
		swait()
4921
		CameraEnshaking(1, 5)
4922
		a2.Color = Color3.new("Really black")
4923
		orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
4924
		orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
4925
		ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
4926
		hit, position, normal = workspace:FindPartOnRay(ray, ignore)
4927
		distance = (orb.CFrame.p - position).magnitude
4928
		if typrot == 1 then
4929
			rotation = rotation + 2.5
4930
		elseif typrot == 2 then
4931
			rotation = rotation - 2.5
4932
		end
4933
		RootPart.CFrame = FaceMouse()[1]
4934
		a.Size = Vector3.new(distance, 1, 1)
4935
		a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
4936
		a2.Size = Vector3.new(distance, 1, 1)
4937
		a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
4938
		ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
4939
		a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
4940
		a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
4941
		msh.Scale = msh.Scale - vt(0, 0.25, 0.25)
4942
		msh2.Scale = msh2.Scale - vt(0, 0.3, 0.3)
4943
		sphereMK(5, 1.5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 15, 15, 25, -0.15, MAINRUINCOLOR, 0)
4944
		sphereMK(5, 1.5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 15, 15, 25, -0.15, MAINRUINCOLOR, 0)
4945
		MagniDamage(ba, 30, 500, 60000, 0, "Normal")
4946
	end
4947
	a:Destroy()
4948
	a2:Destroy()
4949
	ba:Destroy()
4950
	orb:Destroy()
4951
	orbe:Destroy()
4952
	attack = false
4953
end
4954
function UniversalSpark()
4955
	attack = true
4956
	local rngb = Instance.new("Part", char)
4957
	rngb.Anchored = true
4958
	rngb.BrickColor = origcolor
4959
	rngb.CanCollide = false
4960
	rngb.FormFactor = 3
4961
	rngb.Name = "Ring"
4962
	rngb.Material = "Neon"
4963
	rngb.Size = Vector3.new(1, 0.05, 1)
4964
	rngb.Transparency = 1
4965
	rngb.TopSurface = 0
4966
	rngb.BottomSurface = 0
4967
	local rngmb = Instance.new("SpecialMesh", rngb)
4968
	rngmb.MeshType = "Brick"
4969
	rngmb.Name = "SizeMesh"
4970
	rngmb.Scale = vt(0, 1, 0)
4971
	local orb = rngb:Clone()
4972
	orb.Parent = char
4973
	orb.Transparency = 0
4974
	orb.BrickColor = BrickColor.new("White")
4975
	orb.Size = vt(1, 1, 1)
4976
	local orbmish = orb.SizeMesh
4977
	orbmish.Scale = vt(0, 0, 0)
4978
	orbmish.MeshType = "Sphere"
4979
	local orbe = rngb:Clone()
4980
	orbe.Parent = char
4981
	orbe.Transparency = 0.5
4982
	orbe.BrickColor = BrickColor.new("New Yeller")
4983
	orbe.Size = vt(1, 1, 1)
4984
	local orbmish2 = orbe.SizeMesh
4985
	orbmish2.Scale = vt(0, 0, 0)
4986
	orbmish2.MeshType = "Sphere"
4987
	orbe.Color = Color3.new(r / 255, g / 255, b / 255)
4988
	rngb:Destroy()
4989
	for i = 0, 5, 0.1 do
4990
		swait()
4991
		if rainbowmode == true then
4992
			orbe.Color = Color3.new(r / 255, g / 255, b / 255)
4993
		end
4994
		orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 11.5
4995
		orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 11.5
4996
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(90)), 0.3)
4997
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-90)), 0.3)
4998
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(90)), 0.3)
4999
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(10), math.rad(0), math.rad(-20)), 0.3)
5000
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-0.5), math.rad(0), math.rad(0)), 0.3)
5001
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(10), math.rad(0)), 0.3)
5002
		RootPart.CFrame = FaceMouse()[1]
5003
	end
5004
	orbe.Transparency = 1
5005
	orb.Transparency = 1
5006
	orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 5
5007
	CFuncs.Sound.Create("rbxassetid://294188875", char, 1, 1)
5008
	CFuncs.Sound.Create("rbxassetid://741272936", char, 0.75, 1)
5009
	CFuncs.Sound.Create("rbxassetid://1192402877", char, 1, 1)
5010
	CFuncs.Sound.Create("rbxassetid://1208650519", char, 0.75, 1)
5011
	CFuncs.Sound.Create("rbxassetid://164881112", char, 0.75, 1)
5012
	CFuncs.Sound.Create("rbxassetid://429123896", char, 1, 0.85)
5013
	CFuncs.Sound.Create("rbxassetid://164178927", char, 1, 1)
5014
	local xd = Instance.new("Sound", char)
5015
	xd.SoundId = "rbxassetid://445796828"
5016
	xd.Pitch = 0.75
5017
	xd.Looped = true
5018
	xd.Volume = 1.25
5019
	xd:Play()
5020
	local a = Instance.new("Part", Character)
5021
	a.Name = "Direction"
5022
	a.Anchored = true
5023
	a.BrickColor = bc("Alder")
5024
	a.Color = MAINRUINCOLOR.Color
5025
	a.Material = "Neon"
5026
	a.Transparency = 0.5
5027
	a.Shape = "Cylinder"
5028
	a.CanCollide = false
5029
	local a2 = Instance.new("Part", Character)
5030
	a2.Name = "Direction"
5031
	a2.Anchored = true
5032
	a2.BrickColor = bc("New Yeller")
5033
	a2.Color = MAINRUINCOLOR.Color
5034
	a2.Material = "Neon"
5035
	a2.Transparency = 0.5
5036
	a2.Shape = "Cylinder"
5037
	a2.CanCollide = false
5038
	local ba = Instance.new("Part", Character)
5039
	ba.Name = "HitDirect"
5040
	ba.Anchored = true
5041
	ba.BrickColor = bc("Really black")
5042
	ba.Material = "Neon"
5043
	ba.Transparency = 1
5044
	ba.CanCollide = false
5045
	local ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
5046
	local ignore = Character
5047
	local hit, position, normal = workspace:FindPartOnRay(ray, ignore)
5048
	a.BottomSurface = 10
5049
	a.TopSurface = 10
5050
	a2.BottomSurface = 10
5051
	a2.TopSurface = 10
5052
	local distance = (orb.CFrame.p - position).magnitude
5053
	a.Size = Vector3.new(distance, 1, 1)
5054
	a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5055
	a2.Size = Vector3.new(distance, 1, 1)
5056
	a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5057
	ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
5058
	a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
5059
	a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
5060
	game:GetService("Debris"):AddItem(a, 60)
5061
	game:GetService("Debris"):AddItem(a2, 60)
5062
	game:GetService("Debris"):AddItem(ba, 60)
5063
	local outerscale = 0
5064
	local msh = Instance.new("SpecialMesh", a)
5065
	msh.MeshType = "Cylinder"
5066
	msh.Scale = vt(1, 0, 0)
5067
	local msh2 = Instance.new("SpecialMesh", a2)
5068
	msh2.MeshType = "Cylinder"
5069
	msh2.Scale = vt(1, 0, 0)
5070
	for i = 0, 2, 0.1 do
5071
		swait()
5072
		CameraEnshaking(1, 1)
5073
		msh2.Scale = msh2.Scale + vt(0, outerscale * 20, outerscale * 20)
5074
		msh.Scale = msh.Scale + vt(0, outerscale * 15, outerscale * 15)
5075
		outerscale = outerscale - 0.015
5076
		orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5077
		orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5078
		ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
5079
		hit, position, normal = workspace:FindPartOnRay(ray, ignore)
5080
		distance = (orb.CFrame.p - position).magnitude
5081
		if typrot == 1 then
5082
			rotation = rotation + 2.5
5083
		elseif typrot == 2 then
5084
			rotation = rotation - 2.5
5085
		end
5086
		RootPart.CFrame = FaceMouse()[1]
5087
		a.Size = Vector3.new(distance, 1, 1)
5088
		a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5089
		a2.Size = Vector3.new(distance, 1, 1)
5090
		a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5091
		ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
5092
		a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
5093
		a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
5094
		sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5095
		sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5096
		MagniDamage(ba, 100, 500, 60000, 0, "Normal")
5097
	end
5098
	for z = 0, 2 do
5099
		for i = 0, 4, 0.1 do
5100
			swait()
5101
			CameraEnshaking(1, 1)
5102
			msh2.Scale = msh2.Scale + vt(0, outerscale, outerscale)
5103
			msh.Scale = msh.Scale - vt(0, outerscale, outerscale)
5104
			outerscale = outerscale + 0.015
5105
			orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5106
			orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5107
			ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
5108
			hit, position, normal = workspace:FindPartOnRay(ray, ignore)
5109
			distance = (orb.CFrame.p - position).magnitude
5110
			if typrot == 1 then
5111
				rotation = rotation + 2.5
5112
			elseif typrot == 2 then
5113
				rotation = rotation - 2.5
5114
			end
5115
			RootPart.CFrame = FaceMouse()[1]
5116
			a.Size = Vector3.new(distance, 1, 1)
5117
			a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5118
			a2.Size = Vector3.new(distance, 1, 1)
5119
			a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5120
			ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
5121
			a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
5122
			a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
5123
			sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5124
			sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5125
			MagniDamage(ba, 100, 500, 60000, 0, "Normal")
5126
		end
5127
		for i = 0, 4, 0.1 do
5128
			swait()
5129
			CameraEnshaking(1, 1)
5130
			msh2.Scale = msh2.Scale + vt(0, outerscale, outerscale)
5131
			msh.Scale = msh.Scale - vt(0, outerscale, outerscale)
5132
			outerscale = outerscale - 0.015
5133
			orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5134
			orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5135
			ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
5136
			hit, position, normal = workspace:FindPartOnRay(ray, ignore)
5137
			distance = (orb.CFrame.p - position).magnitude
5138
			if typrot == 1 then
5139
				rotation = rotation + 2.5
5140
			elseif typrot == 2 then
5141
				rotation = rotation - 2.5
5142
			end
5143
			RootPart.CFrame = FaceMouse()[1]
5144
			a.Size = Vector3.new(distance, 1, 1)
5145
			a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5146
			a2.Size = Vector3.new(distance, 1, 1)
5147
			a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5148
			ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
5149
			a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
5150
			a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
5151
			sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5152
			sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5153
			MagniDamage(ba, 100, 500, 60000, 0, "Normal")
5154
		end
5155
	end
5156
	for i = 0, 4, 0.1 do
5157
		swait()
5158
		CameraEnshaking(1, 1)
5159
		msh2.Scale = msh2.Scale + vt(0, outerscale, outerscale)
5160
		msh.Scale = msh.Scale - vt(0, outerscale, outerscale)
5161
		xd.Volume = xd.Volume - 0.025
5162
		a.Transparency = a.Transparency + 0.025
5163
		a2.Transparency = a2.Transparency + 0.025
5164
		outerscale = outerscale - 0.015
5165
		orb.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5166
		orbe.CFrame = root.CFrame * CFrame.new(0, 0.5, 0) + root.CFrame.lookVector * 4
5167
		ray = Ray.new(orb.CFrame.p, (mouse.Hit.p - orb.CFrame.p).unit * 1000)
5168
		hit, position, normal = workspace:FindPartOnRay(ray, ignore)
5169
		distance = (orb.CFrame.p - position).magnitude
5170
		if typrot == 1 then
5171
			rotation = rotation + 2.5
5172
		elseif typrot == 2 then
5173
			rotation = rotation - 2.5
5174
		end
5175
		RootPart.CFrame = FaceMouse()[1]
5176
		a.Size = Vector3.new(distance, 1, 1)
5177
		a.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5178
		a2.Size = Vector3.new(distance, 1, 1)
5179
		a2.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance / 2)
5180
		ba.CFrame = CFrame.new(orb.CFrame.p, position) * CFrame.new(0, 0, -distance)
5181
		a.CFrame = a.CFrame * CFrame.Angles(0, math.rad(90), 0)
5182
		a2.CFrame = a2.CFrame * CFrame.Angles(0, math.rad(90), 0)
5183
		sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5184
		sphereMK(5, 5, "Add", ba.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 75, 75, 225, -0.75, MAINRUINCOLOR, 0)
5185
		MagniDamage(ba, 100, 500, 60000, 0, "Normal")
5186
	end
5187
	xd:Destroy()
5188
	a:Destroy()
5189
	a2:Destroy()
5190
	ba:Destroy()
5191
	orb:Destroy()
5192
	orbe:Destroy()
5193
	attack = false
5194
end
5195
function resetmode()
5196
	rainbowmode = false
5197
	chaosmode = false
5198
	RecolorTextAndRename("Black", Color3.new(0, 0, 0), Color3.new(0, 0, 0))
5199
	ModeOfGlitch = 1
5200
	storehumanoidWS = 100
5201
	MAINRUINCOLOR = BrickColor.new("Really black")
5202
	hum.WalkSpeed = 100
5203
	newTheme("rbxassetid://798163149", 0, 1, 10)
5204
for i, v in pairs(m:GetChildren()) do
5205
	if v:IsA("Part") then
5206
		v.BrickColor = BrickColor.new("Really black")
5207
		v.Material = "Neon"
5208
		v.Transparency = 1
5209
	end
5210
end
5211
for i, v in pairs(m2:GetChildren()) do
5212
	if v:IsA("Part") then
5213
		v.BrickColor = BrickColor.new("Really black")
5214
		v.Material = "Neon"
5215
		v.Transparency = 1
5216
	end
5217
end
5218
for i, v in pairs(m3:GetChildren()) do
5219
	if v:IsA("Part") then
5220
		v.BrickColor = BrickColor.new("Really black")
5221
		v.Material = "Neon"
5222
		v.Transparency = 1
5223
	end
5224
end
5225
for i, v in pairs(mw2:GetChildren()) do
5226
	if v:IsA("Part") then
5227
		v.Transparency = 0
5228
		v.BrickColor = BrickColor.new("Really black")
5229
		v.Material = "Neon"
5230
	end
5231
end
5232
for i, v in pairs(mw1:GetChildren()) do
5233
	if v:IsA("Part") then
5234
		v.Transparency = 0
5235
		v.BrickColor = BrickColor.new("Really black")
5236
		v.Material = "Neon"
5237
	end
5238
end
5239
for i, v in pairs(extrawingmod1:GetChildren()) do
5240
	if v:IsA("Part") then
5241
		v.Transparency = 0
5242
		v.BrickColor = BrickColor.new("Really black")
5243
		v.Material = "Neon"
5244
	end
5245
end
5246
for i, v in pairs(extrawingmod2:GetChildren()) do
5247
	if v:IsA("Part") then
5248
		v.Transparency = 0
5249
		v.BrickColor = BrickColor.new("Really black")
5250
		v.Material = "Neon"
5251
	end
5252
end
5253
end
5254
function attackone()
5255
	attack = true
5256
	for i = 0, 1, 0.1 do
5257
		swait()
5258
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(-40)), 0.2)
5259
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(40)), 0.2)
5260
		RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-40)), 0.2)
5261
		LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-40)), 0.2)
5262
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), -0.75) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.2)
5263
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(10)), 0.2)
5264
	end
5265
	CFuncs.Sound.Create("rbxassetid://200632136", root, 1, 1.1)
5266
	local hitb = Instance.new("Part", char)
5267
	hitb.Anchored = true
5268
	hitb.CanCollide = false
5269
	hitb.FormFactor = 3
5270
	hitb.Name = "Ring"
5271
	hitb.Material = "Neon"
5272
	hitb.Size = Vector3.new(1, 1, 1)
5273
	hitb.Transparency = 1
5274
	hitb.TopSurface = 0
5275
	hitb.BottomSurface = 0
5276
	hitb.CFrame = root.CFrame + root.CFrame.lookVector * 2
5277
	MagniDamage(hitb, 3, 10, 30, 0, "Normal")
5278
	hitb:Destroy()
5279
	for i = 0, 1, 0.1 do
5280
		swait()
5281
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(70)), 0.4)
5282
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(-70)), 0.4)
5283
		RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(70)), 0.4)
5284
		LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(40)), 0.4)
5285
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), -0.75) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-40)), 0.4)
5286
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-10)), 0.4)
5287
	end
5288
	attack = false
5289
end
5290
function attacktwo()
5291
	attack = true
5292
	for i = 0, 1, 0.1 do
5293
		swait()
5294
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(20), math.rad(0), math.rad(40)), 0.2)
5295
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(-40)), 0.2)
5296
		RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(40)), 0.2)
5297
		LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(40)), 0.2)
5298
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), -0.75) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.2)
5299
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(10)), 0.2)
5300
	end
5301
	CFuncs.Sound.Create("rbxassetid://200632136", root, 1, 1)
5302
	local hitb = Instance.new("Part", char)
5303
	hitb.Anchored = true
5304
	hitb.CanCollide = false
5305
	hitb.FormFactor = 3
5306
	hitb.Name = "Ring"
5307
	hitb.Material = "Neon"
5308
	hitb.Size = Vector3.new(1, 1, 1)
5309
	hitb.Transparency = 1
5310
	hitb.TopSurface = 0
5311
	hitb.BottomSurface = 0
5312
	hitb.CFrame = root.CFrame + root.CFrame.lookVector * 2
5313
	MagniDamage(hitb, 3, 10, 30, 0, "Normal")
5314
	hitb:Destroy()
5315
	for i = 0, 1, 0.1 do
5316
		swait()
5317
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(-5), math.rad(0), math.rad(-70)), 0.4)
5318
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(70)), 0.4)
5319
		RW.C0 = clerp(RW.C0, CFrame.new(1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-40)), 0.4)
5320
		LW.C0 = clerp(LW.C0, CFrame.new(-1.45, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(-70)), 0.4)
5321
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-40)), 0.4)
5322
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-10)), 0.4)
5323
	end
5324
	attack = false
5325
end
5326
function attackthree()
5327
	attack = true
5328
	for i = 0, 1, 0.1 do
5329
		swait()
5330
		RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(80)), 0.3)
5331
		Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(20), math.rad(0), math.rad(-80)), 0.3)
5332
		RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(math.rad(90), math.rad(0), math.rad(80)), 0.3)
5333
		LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5, 0) * angles(math.rad(10), math.rad(0), math.rad(-20)), 0.3)
5334
		RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-0.5), math.rad(0), math.rad(0)), 0.3)
5335
		LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-2.5), math.rad(10), math.rad(0)), 0.3)
5336
	end
5337
	local distlook = 5
5338
	for i = 0, 4 do
5339
		swait(2)
5340
		CameraEnshaking(2, 3)
5341
		local hite = Instance.new("Part", char)
5342
		hite.Anchored = true
5343
		hite.CanCollide = false
5344
		hite.FormFactor = 3
5345
		hite.Name = "Ring"
5346
		hite.Material = "Neon"
5347
		hite.Size = Vector3.new(1, 1, 1)
5348
		hite.Transparency = 1
5349
		hite.TopSurface = 0
5350
		hite.BottomSurface = 0
5351
		hite.CFrame = root.CFrame + root.CFrame.lookVector * distlook
5352
		sphere(3, "Add", hite.CFrame, vt(0, 0, 0), 0.15, MAINRUINCOLOR)
5353
		sphere(6, "Add", hite.CFrame, vt(0, 0, 0), 0.3, MAINRUINCOLOR)
5354
		MagniDamage(hite, 10, 15, 35, 0, "Normal")
5355
		for i = 0, 2 do
5356
			sphereMK(2, 0.2, "Add", rarm.CFrame * CFrame.Angles(math.rad(-90 + math.random(-20, 20)), math.rad(math.random(-20, 20)), math.rad(math.random(-20, 20))), 0.5, 0.5, 5, -0.005, MAINRUINCOLOR, 0)
5357
			sphereMK(3, 0.2, "Add", hite.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 0.5, 0.5, 5, -0.005, MAINRUINCOLOR, 0)
5358
			sphereMK(6, 0.35, "Add", hite.CFrame * CFrame.Angles(math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360)), math.rad(math.random(-360, 360))), 0.5, 0.5, 5, -0.005, MAINRUINCOLOR, 0)
5359
		end
5360
		CFuncs.Sound.Create("rbxassetid://183763506", hite, 2.5, 1)
5361
		CFuncs.Sound.Create("rbxassetid://178452221", hite, 0.25, 0.6)
5362
		game:GetService("Debris"):AddItem(hite, 5)
5363
		distlook = distlook + 10
5364
	end
5365
	attack = false
5366
end
5367
5368
function sphere2(bonuspeed,type,pos,scale,value,value2,value3,color,color3)
5369
local type = type
5370
local rng = Instance.new("Part", char)
5371
        rng.Anchored = true
5372
        rng.BrickColor = color
5373
        rng.Color = color3
5374
        rng.CanCollide = false
5375
        rng.FormFactor = 3
5376
        rng.Name = "Ring"
5377
        rng.Material = "Neon"
5378
        rng.Size = Vector3.new(1, 1, 1)
5379
        rng.Transparency = 0
5380
        rng.TopSurface = 0
5381
        rng.BottomSurface = 0
5382
        rng.CFrame = pos
5383
        local rngm = Instance.new("SpecialMesh", rng)
5384
        rngm.MeshType = "Sphere"
5385
rngm.Scale = scale
5386
local scaler2 = 1
5387
local scaler2b = 1
5388
local scaler2c = 1
5389
if type == "Add" then
5390
scaler2 = 1*value
5391
scaler2b = 1*value2
5392
scaler2c = 1*value3
5393
elseif type == "Divide" then
5394
scaler2 = 1/value
5395
scaler2b = 1/value2
5396
scaler2c = 1/value3
5397
end
5398
coroutine.resume(coroutine.create(function()
5399
for i = 0,10/bonuspeed,0.1 do
5400
swait()
5401
if type == "Add" then
5402
scaler2 = scaler2 - 0.01*value/bonuspeed
5403
scaler2b = scaler2b - 0.01*value/bonuspeed
5404
scaler2c = scaler2c - 0.01*value/bonuspeed
5405
elseif type == "Divide" then
5406
scaler2 = scaler2 - 0.01/value*bonuspeed
5407
scaler2b = scaler2b - 0.01/value*bonuspeed
5408
scaler2c = scaler2c - 0.01/value*bonuspeed
5409
end
5410
rng.Transparency = rng.Transparency + 0.01*bonuspeed
5411
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed, scaler2b*bonuspeed, scaler2c*bonuspeed)
5412
end
5413
rng:Destroy()
5414
end))
5415
end
5416
5417
function slash(bonuspeed,rotspeed,rotatingop,typeofshape,type,typeoftrans,pos,scale,value,color)
5418
local type = type
5419
local rotenable = rotatingop
5420
local rng = Instance.new("Part", char)
5421
        rng.Anchored = true
5422
        rng.BrickColor = color
5423
        rng.CanCollide = false
5424
        rng.FormFactor = 3
5425
        rng.Name = "Ring"
5426
        rng.Material = "Neon"
5427
        rng.Size = Vector3.new(1, 1, 1)
5428
        rng.Transparency = 0
5429
if typeoftrans == "In" then
5430
rng.Transparency = 1
5431
end
5432
        rng.TopSurface = 0
5433
        rng.BottomSurface = 0
5434
        rng.CFrame = pos
5435
        local rngm = Instance.new("SpecialMesh", rng)
5436
        rngm.MeshType = "FileMesh"
5437
if typeofshape == "Normal" then
5438
rngm.MeshId = "rbxassetid://662586858"
5439
elseif typeofshape == "Round" then
5440
rngm.MeshId = "rbxassetid://662585058"
5441
end
5442
rngm.Scale = scale
5443
local scaler2 = 1/10
5444
if type == "Add" then
5445
scaler2 = 1*value/10
5446
elseif type == "Divide" then
5447
scaler2 = 1/value/10
5448
end
5449
local randomrot = math.random(1,2)
5450
coroutine.resume(coroutine.create(function()
5451
for i = 0,10/bonuspeed,0.1 do
5452
swait()
5453
if type == "Add" then
5454
scaler2 = scaler2 - 0.01*value/bonuspeed/10
5455
elseif type == "Divide" then
5456
scaler2 = scaler2 - 0.01/value*bonuspeed/10
5457
end
5458
if rotenable == true then
5459
if randomrot == 1 then
5460
rng.CFrame = rng.CFrame*CFrame.Angles(0,math.rad(rotspeed*bonuspeed/2),0)
5461
elseif randomrot == 2 then
5462
rng.CFrame = rng.CFrame*CFrame.Angles(0,math.rad(-rotspeed*bonuspeed/2),0)
5463
end
5464
end
5465
if typeoftrans == "Out" then
5466
rng.Transparency = rng.Transparency + 0.01*bonuspeed
5467
elseif typeoftrans == "In" then
5468
rng.Transparency = rng.Transparency - 0.01*bonuspeed
5469
end
5470
rngm.Scale = rngm.Scale + Vector3.new(scaler2*bonuspeed/10, 0, scaler2*bonuspeed/10)
5471
end
5472
rng:Destroy()
5473
end))
5474
end
5475
5476
function superjump()
5477
attack = true
5478
hum.WalkSpeed = 0
5479
hum.JumpPower = 0
5480
CFuncs["Sound"].Create("rbxassetid://1368637781", root, 7.5, 1)
5481
for i = 0, 2, 0.1 do
5482
		swait()
5483
slash(math.random(10,50)/10,3,true,"Round","Add","Out",root.CFrame*CFrame.new(0,-3,0)*CFrame.Angles(math.rad(math.random(-10,10)),math.rad(math.random(-360,360)),math.rad(math.random(-10,10))),vt(0.05,0.01,0.05),math.random(25,50)/250,BrickColor.new("White"))
5484
hum.CameraOffset = vt(math.random(-10,10)/100,math.random(-10,10)/100,math.random(-10,10)/100)
5485
root.Velocity = vt(0,0,0)
5486
RH.C0=clerp(RH.C0,cf(1,-0.45,-0.45)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-3),math.rad(0),math.rad(20)),.4)
5487
LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-3),math.rad(0),math.rad(40)),.4)
5488
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-0.5,-1)*angles(math.rad(20),math.rad(0),math.rad(0)),.4)
5489
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(4),math.rad(0),math.rad(0)),.4)
5490
RW.C0=clerp(RW.C0,cf(1.45,0.5,0.1)*angles(math.rad(10),math.rad(0),math.rad(40)),.4)
5491
LW.C0=clerp(LW.C0,cf(-1.45,0.5,0.1)*angles(math.rad(10),math.rad(0),math.rad(-40)),.4)
5492
end
5493
5494
hum.JumpPower = 50
5495
hum.Jump = true
5496
swait()
5497
hum.JumpPower = 0
5498
root.Velocity = vt(0,250,0) + root.CFrame.lookVector*250
5499
CFuncs["Sound"].Create("rbxassetid://1295446488", root, 10, 1)
5500
for i = 0, 3, 0.1 do
5501
		swait()
5502
RH.C0=clerp(RH.C0,cf(1,-0.45,-0.45)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-3),math.rad(0),math.rad(-20)),.4)
5503
LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-3),math.rad(0),math.rad(30)),.4)
5504
RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,-0.75,0)*angles(math.rad(40),math.rad(0),math.rad(0)),.4)
5505
Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-20),math.rad(0),math.rad(0)),.4)
5506
RW.C0=clerp(RW.C0,cf(1.45,0.5,0.1)*angles(math.rad(-30),math.rad(0),math.rad(20)),.4)
5507
LW.C0=clerp(LW.C0,cf(-1.45,0.5,0.1)*angles(math.rad(-30),math.rad(0),math.rad(-20)),.4)
5508
end
5509
attack = false
5510
if equipped == false then
5511
hum.WalkSpeed = 16
5512
else
5513
hum.WalkSpeed = 24
5514
end
5515
hum.JumpPower = 50
5516
end
5517
5518
local attacktype = 1
5519
mouse.Button1Down:connect(function()
5520
	if attack == false and attacktype == 1 then
5521
		attacktype = 2
5522
		attackone()
5523
	elseif attack == false and attacktype == 2 then
5524
		attacktype = 3
5525
		attacktwo()
5526
	elseif attack == false and attacktype == 3 then
5527
		attacktype = 1
5528
		attackthree()
5529
	elseif attack == false and attacktype == 4 then
5530
		attacktype = 1
5531
	end
5532
end)
5533
mouse.KeyDown:connect(function(k)
5534
	if k == "q" and attack == false and ModeOfGlitch == 1 then
5535
		ExtinctiveHeartbreak()
5536
	elseif k == "e" and attack == false and ModeOfGlitch == 1 then
5537
		ChaosGroundStrike()
5538
	elseif k == "f" and attack == false and ModeOfGlitch == 1 then
5539
		superjump()
5540
	elseif k == "r" and attack == false and ModeOfGlitch == 1 then
5541
		Wip()
5542
	end
5543
	if k == "g" and attack == false and ModeOfGlitch == 1 then
5544
		ChaosBegone()
5545
	end
5546
end)
5547
coroutine.resume(coroutine.create(function()
5548
	while true do
5549
		swait(2)
5550
		if rainbowmode == true or ModeOfGlitch == 6 then
5551
			sphereMK(5, 0.15, "Add", root.CFrame * CFrame.new(math.random(-5, 5), -6, math.random(-5, 5)) * CFrame.Angles(math.rad(90), 0, 0), 1.5, 1.5, 10, -0.015, MAINRUINCOLOR, 0)
5552
		end
5553
	end
5554
end))
5555
coroutine.resume(coroutine.create(function()
5556
	while true do
5557
		swait(0.5)
5558
		if ModeOfGlitch == 6 then
5559
			sphereMK(5, 0.5, "Add", root.CFrame * CFrame.new(math.random(-25, 25), -10, math.random(-25, 25)) * CFrame.Angles(math.rad(90 + math.random(-15, 15)), math.rad(math.random(-15, 15)), 0), 1, 1, 15, -0.01, MAINRUINCOLOR, 0)
5560
			sphereMK(5, 0.5, "Add", root.CFrame * CFrame.new(math.random(-26, 26), -10, math.random(-26, 26)) * CFrame.Angles(math.rad(90 + math.random(-16, 16)), math.rad(math.random(-16, 16)), 0), 1, 1, 16, -0.01, MAINRUINCOLOR, 0)
5561
		end
5562
	end
5563
end))
5564
coroutine.resume(coroutine.create(function()
5565
	while true do
5566
		swait(2)
5567
		if chaosmode == true then
5568
			RecolorTextAndRename("Fetty Edit", Color3.new(0, 0, 0), BrickColor.random().Color)
5569
			for i, v in pairs(mw1:GetChildren()) do
5570
				if v:IsA("Part") then
5571
					v.Transparency = 0.75
5572
					v.BrickColor = BrickColor.random()
5573
					v.Material = "Neon"
5574
				end
5575
			end
5576
			for i, v in pairs(m2:GetChildren()) do
5577
				if v:IsA("Part") then
5578
					v.BrickColor = BrickColor.random()
5579
					v.Material = "Neon"
5580
				end
5581
			end
5582
		end
5583
	end
5584
end))
5585
Humanoid.Name = "STARGLITCHER"
5586
Humanoid.MaxHealth = math.huge
5587
Humanoid.Health = math.huge
5588
Instance.new("ForceField", char).Visible = false
5589
Humanoid.Animator.Parent = nil
5590
idleanim = 0.4
5591
while true do
5592
	if rainbowmode == true then
5593
		RecolorTextAndRename("Fetty Edit", Color3.new(r / 255, g / 255, b / 255), Color3.new(r / 500, g / 500, b / 500))
5594
		MAINRUINCOLOR = BrickColor.new("White")
5595
		for i, v in pairs(m:GetChildren()) do
5596
			if v:IsA("Part") then
5597
				v.Color = Color3.new(r / 255, g / 255, b / 255)
5598
			end
5599
		end
5600
		for i, v in pairs(m2:GetChildren()) do
5601
			if v:IsA("Part") then
5602
				v.Color = Color3.new(r / 255, g / 255, b / 255)
5603
			end
5604
		end
5605
		for i, v in pairs(m3:GetChildren()) do
5606
			if v:IsA("Part") then
5607
				v.Color = Color3.new(r / 255, g / 255, b / 255)
5608
			end
5609
		end
5610
		for i, v in pairs(mw1:GetChildren()) do
5611
			if v:IsA("Part") then
5612
				v.Color = Color3.new(r / 255, g / 255, b / 255)
5613
				v.Material = "Neon"
5614
			end
5615
		end
5616
		for i, v in pairs(mw2:GetChildren()) do
5617
			if v:IsA("Part") then
5618
				v.Color = Color3.new(r / 255, g / 255, b / 255)
5619
				v.Material = "Neon"
5620
			end
5621
		end
5622
	end
5623
	CameraManager()
5624
	swait()
5625
	handleweld.C0=clerp(handleweld.C0,cf(0,-1.5,-1.5)*angles(math.rad(90),math.rad(0),math.rad(0)),.3)
5626
	lwing1weld.C1=clerp(lwing1weld.C1,cf(0 + 2.5 * math.cos(sine / 180),0.5 + 0.75 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 50)),math.rad(0 - 2 * math.cos(sine / 36)),math.rad(0 + 3600 * math.cos(sine / 360))),.3)
5627
	lwing2weld.C1=clerp(lwing2weld.C1,cf(0 + 2.5 * math.cos(sine / 180),0.5 + 0.75 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 70)),math.rad(0 - 2 * math.cos(sine / 37)),math.rad(120 + 3600 * math.cos(sine / 360))),.3)
5628
	lwing3weld.C1=clerp(lwing3weld.C1,cf(0 + 2.5 * math.cos(sine / 180),0.5 + 0.75 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 60)),math.rad(0 - 2 * math.cos(sine / 51)),math.rad(-120 + 3600 * math.cos(sine / 360))),.3)
5629
	rwing1weld.C1=clerp(rwing1weld.C1,cf(0 + 1.5 * math.cos(sine / 360),-0.25 - 0.5 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 50)),math.rad(0 - 2 * math.cos(sine / 36)),math.rad(0 - 3600 * math.cos(sine / 720))),.3)
5630
	rwing2weld.C1=clerp(rwing2weld.C1,cf(0 + 1.5 * math.cos(sine / 360),-0.25 - 0.5 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 70)),math.rad(0 - 2 * math.cos(sine / 37)),math.rad(120 - 3600 * math.cos(sine / 720))),.3)
5631
	rwing3weld.C1=clerp(rwing3weld.C1,cf(0 + 1.5 * math.cos(sine / 360),-0.25 - 0.5 * math.cos(sine / 25),1.5)*angles(math.rad(90 + 1 * math.cos(sine / 60)),math.rad(0 - 2 * math.cos(sine / 51)),math.rad(-120 - 3600 * math.cos(sine / 720))),.3)
5632
	lwing4weld.C1=clerp(lwing4weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 50)),math.rad(0 - 2 * math.cos(sine / 36)),math.rad(90 - 3600 * math.cos(sine / 360))),.3)
5633
	lwing5weld.C1=clerp(lwing5weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 70)),math.rad(0 - 2 * math.cos(sine / 37)),math.rad(147.5 - 3600 * math.cos(sine / 360))),.3)
5634
	lwing6weld.C1=clerp(lwing6weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 60)),math.rad(0 - 2 * math.cos(sine / 51)),math.rad(32.5 - 3600 * math.cos(sine / 360))),.3)
5635
	rwing4weld.C1=clerp(rwing4weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 50)),math.rad(0 - 2 * math.cos(sine / 36)),math.rad(-90 - 3600 * math.cos(sine / 360))),.3)
5636
	rwing5weld.C1=clerp(rwing5weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 70)),math.rad(0 - 2 * math.cos(sine / 37)),math.rad(-147.5 - 3600 * math.cos(sine / 360))),.3)
5637
	rwing6weld.C1=clerp(rwing6weld.C1,cf(0 - 7.5 * math.cos(sine / 180),1.5 + 0.75 * math.cos(sine / 25),-1)*angles(math.rad(0 + 1 * math.cos(sine / 60)),math.rad(0 - 2 * math.cos(sine / 51)),math.rad(-32.5 - 3600 * math.cos(sine / 360))),.3)
5638
	sine = sine + change
5639
	local torvel = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
5640
	local velderp = RootPart.Velocity.y
5641
	hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character)
5642
	storehumanoidWS = 100
5643
	hum.WalkSpeed = 100
5644
	if equipped == true or equipped == false then
5645
		if attack == false then
5646
			idle = idle + 1
5647
		else
5648
			idle = 0
5649
		end
5650
		if not (idle >= 500) or attack == false then
5651
		end
5652
		if RootPart.Velocity.y > 1 and hitfloor == nil then
5653
			Anim = "Jump"
5654
			if attack == false then
5655
				RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-20)), 0.1)
5656
				LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.1)
5657
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.05 * math.cos(sine / 25)) * angles(math.rad(-10), math.rad(0), math.rad(0)), 0.1)
5658
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(-2.5), math.rad(0), math.rad(0)), 0.1)
5659
				RW.C0 = clerp(RW.C0, cf(1.45, 0.5 + 0.1 * math.cos(sine / 25), 0) * angles(math.rad(-5), math.rad(0), math.rad(25)), 0.1)
5660
				LW.C0 = clerp(LW.C0, cf(-1.45, 0.5 + 0.1 * math.cos(sine / 25), 0) * angles(math.rad(-5), math.rad(0), math.rad(-25)), 0.1)
5661
			end
5662
		elseif RootPart.Velocity.y < -1 and hitfloor == nil then
5663
			Anim = "Fall"
5664
			if attack == false then
5665
				RH.C0 = clerp(RH.C0, cf(1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(-20)), 0.1)
5666
				LH.C0 = clerp(LH.C0, cf(-1, -1 - 0.05 * math.cos(sine / 25), 0) * angles(math.rad(0), math.rad(-90), math.rad(0)) * angles(math.rad(-5), math.rad(0), math.rad(20)), 0.1)
5667
				RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 + 0.05 * math.cos(sine / 25)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
5668
				Torso.Neck.C0 = clerp(Torso.Neck.C0, necko * angles(math.rad(0), math.rad(0), math.rad(0)), 0.1)
5669
				RW.C0 = clerp(RW.C0, cf(1.45, 0.5 + 0.1 * math.cos(sine / 25), 0) * angles(math.rad(-20), math.rad(0), math.rad(50)), 0.1)
5670
				LW.C0 = clerp(LW.C0, cf(-1.45, 0.5 + 0.1 * math.cos(sine / 25), 0) * angles(math.rad(-20), math.rad(0), math.rad(-50)), 0.1)
5671
			end
5672
		elseif torvel < 1 and hitfloor ~= nil then
5673
			Anim = "Idle"
5674
			if attack == false then
5675
					RH.C0=clerp(RH.C0,cf(1,-0.4,-0.5)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(-3),math.rad(0 - 1 * math.cos(sine / 56)),math.rad(-10 - 2 * math.cos(sine / 39))),.1)
5676
					LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(-3),math.rad(0 - 1 * math.cos(sine / 56)),math.rad(10 + 6 * math.cos(sine / 31))),.1)
5677
					RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0 + 0.02 * math.cos(sine / 32),5 + 0.15 * math.cos(sine / 32))*angles(math.rad(0 - 2 * math.cos(sine / 32)),math.rad(0),math.rad(-20)),.1)
5678
					Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(13 - 2 * math.cos(sine / 37)),math.rad(0 + 1 * math.cos(sine / 58)),math.rad(20 + 2 * math.cos(sine / 53))),.1)
5679
					RW.C0=clerp(RW.C0,cf(1.5,0.5 + 0.025 * math.cos(sine / 45),0)*angles(math.rad(5 + 3 * math.cos(sine / 43)),math.rad(-16 - 5 * math.cos(sine / 52)),math.rad(13 + 9 * math.cos(sine / 45))),.1)
5680
					LW.C0=clerp(LW.C0,cf(-1,0.5 + 0.025 * math.cos(sine / 45),-0.5)*angles(math.rad(90 - 7 * math.cos(sine / 66)),math.rad(4 - 3 * math.cos(sine / 59)),math.rad(90 - 4 * math.cos(sine / 45))),.1)
5681
			end
5682
		elseif torvel > 2 and torvel < 22 and hitfloor ~= nil then
5683
			Anim = "Walk"
5684
			if attack == false then
5685
					RH.C0=clerp(RH.C0,cf(1,-0.5,-0.6)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(1.5),math.rad(0),math.rad(-20 - 5 * math.cos(sine / 34))),.2)
5686
					LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(1),math.rad(0),math.rad(20 + 2 * math.cos(sine / 38))),.2)
5687
					RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0 - 0.15 * math.cos(sine / 47),-0.5,4 + 0.1 * math.cos(sine / 28))*angles(math.rad(70),math.rad(0 - root.RotVelocity.Y),math.rad(0 - root.RotVelocity.Y *4.5 + 3 * math.cos(sine / 47))),.2)
5688
					Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-17 - 5 * math.cos(sine / 52)),math.rad(0 - 3 * math.cos(sine / 37)),math.rad(0 + 2 * math.cos(sine / 78))),.2)
5689
					RW.C0=clerp(RW.C0,cf(1.5,0.5 + 0.05 * math.cos(sine / 28),0)*angles(math.rad(-8 - 4 * math.cos(sine / 59)),math.rad(-20 + 7 * math.cos(sine / 62)),math.rad(20 + 5 * math.cos(sine / 50))),.2)
5690
					LW.C0=clerp(LW.C0,cf(-1.5,0.5 + 0.1 * math.cos(sine / 28),0)*angles(math.rad(-8 - 3 * math.cos(sine / 55)),math.rad(20 + 8 * math.cos(sine / 67)),math.rad(-20 - 4 * math.cos(sine / 29))),.2)
5691
			end
5692
		elseif torvel >= 22 and hitfloor ~= nil then
5693
			Anim = "Run"
5694
			if attack == false then
5695
					RH.C0=clerp(RH.C0,cf(1,-0.5,-0.6)*angles(math.rad(0),math.rad(90),math.rad(0))*angles(math.rad(1.5),math.rad(0),math.rad(-20 - 5 * math.cos(sine / 34))),.2)
5696
					LH.C0=clerp(LH.C0,cf(-1,-1,0)*angles(math.rad(0),math.rad(-90),math.rad(0))*angles(math.rad(1),math.rad(0),math.rad(20 + 2 * math.cos(sine / 38))),.2)
5697
					RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0 - 0.15 * math.cos(sine / 47),-0.5,4 + 0.1 * math.cos(sine / 28))*angles(math.rad(70),math.rad(0 - root.RotVelocity.Y),math.rad(0 - root.RotVelocity.Y *4.5 + 3 * math.cos(sine / 47))),.2)
5698
					Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-17 - 5 * math.cos(sine / 52)),math.rad(0 - 3 * math.cos(sine / 37)),math.rad(0 + 2 * math.cos(sine / 78))),.2)
5699
					RW.C0=clerp(RW.C0,cf(1.5,0.5 + 0.05 * math.cos(sine / 28),0)*angles(math.rad(-8 - 4 * math.cos(sine / 59)),math.rad(-20 + 7 * math.cos(sine / 62)),math.rad(20 + 5 * math.cos(sine / 50))),.2)
5700
					LW.C0=clerp(LW.C0,cf(-1.5,0.5 + 0.1 * math.cos(sine / 28),0)*angles(math.rad(-8 - 3 * math.cos(sine / 55)),math.rad(20 + 8 * math.cos(sine / 67)),math.rad(-20 - 4 * math.cos(sine / 29))),.2)
5701
			end
5702
		end
5703
	if Head:FindFirstChild("face") then
5704
		Head.face.Texture = "rbxassetid://403870689"
5705
	end
5706
	for _, c in pairs(Character:GetChildren()) do
5707
		if c.ClassName == "Part" and c.Name ~= "Eye" then
5708
			c.Material = "Neon"
5709
			if c:FindFirstChildOfClass("ParticleEmitter") then
5710
				c:FindFirstChildOfClass("ParticleEmitter"):remove()
5711
			end
5712
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
5713
			c:remove()
5714
		end
5715
	end
5716
	end
5717
end