View difference between Paste ID: S1aLFLMW and qFiW99QM
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
6
7
wait(0.2)
8
9
10
11
Player = game:GetService("Players").LocalPlayer
12
PlayerGui = Player.PlayerGui
13
Cam = workspace.CurrentCamera
14
Backpack = Player.Backpack
15
Character = Player.Character
16
Humanoid = Character.Humanoid
17
Mouse = Player:GetMouse()
18
RootPart = Character["HumanoidRootPart"]
19
Torso = Character["Torso"]
20
Head = Character["Head"]
21
RightArm = Character["Right Arm"]
22
LeftArm = Character["Left Arm"]
23
RightLeg = Character["Right Leg"]
24
LeftLeg = Character["Left Leg"]
25
RootJoint = RootPart["RootJoint"]
26
Neck = Torso["Neck"]
27
RightShoulder = Torso["Right Shoulder"]
28
LeftShoulder = Torso["Left Shoulder"]
29
RightHip = Torso["Right Hip"]
30
LeftHip = Torso["Left Hip"]
31
local NormalMusicLink = "rbxassetid://596220347"
32
local sick = Instance.new("Sound",Character)
33
sick.SoundId = "rbxassetid://596220347"
34
sick.Looped = true
35
sick.Pitch = 1
36
sick.Volume = 0.6
37
sick:Play()
38
39
IT = Instance.new
40
CF = CFrame.new
41
VT = Vector3.new
42
RAD = math.rad
43
C3 = Color3.new
44
UD2 = UDim2.new
45
BRICKC = BrickColor.new
46
ANGLES = CFrame.Angles
47
EULER = CFrame.fromEulerAnglesXYZ
48
COS = math.cos
49
ACOS = math.acos
50
SIN = math.sin
51
ASIN = math.asin
52
ABS = math.abs
53
MRANDOM = math.random
54
FLOOR = math.floor
55
56
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
57
	local NEWMESH = IT(MESH)
58
	if MESH == "SpecialMesh" then
59
		NEWMESH.MeshType = MESHTYPE
60
		if MESHID ~= "nil" and MESHID ~= "" then
61
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
62
		end
63
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
64
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
65
		end
66
	end
67
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
68
	NEWMESH.Scale = SCALE
69
	NEWMESH.Parent = PARENT
70
	return NEWMESH
71
end
72
73
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
74
	local NEWPART = IT("Part")
75
	NEWPART.formFactor = FORMFACTOR
76
	NEWPART.Reflectance = REFLECTANCE
77
	NEWPART.Transparency = TRANSPARENCY
78
	NEWPART.CanCollide = false
79
	NEWPART.Locked = true
80
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
81
	NEWPART.Name = NAME
82
	NEWPART.Size = SIZE
83
	NEWPART.Position = Torso.Position
84
	NEWPART.Material = MATERIAL
85
	NEWPART:BreakJoints()
86
	NEWPART.Parent = PARENT
87
	return NEWPART
88
end
89
90
91
--//=================================\\
92
--||		  CUSTOMIZATION
93
--\\=================================//
94
95
Class_Name = "Template"
96
Weapon_Name = "Add-ons"
97
98
Custom_Colors = {
99
	Custom_Color_1 = BRICKC("Really red"); --1st color for the weapon.
100
	Custom_Color_2 = BRICKC("Really blue"); --2nd color for the weapon.
101
102
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
103
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
104
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
105
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
106
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
107
108
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
109
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
110
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
111
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
112
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
113
}
114
115
116
Player_Size = 1 --Size of the player.
117
Animation_Speed = 3
118
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
119
120
local Speed = 100
121
local Effects2 = {}
122
123
--//=================================\\
124
--|| 	  END OF CUSTOMIZATION
125
--\\=================================//
126
127
	local function weldBetween(a, b)
128
	    local weldd = Instance.new("ManualWeld")
129
	    weldd.Part0 = a
130
	    weldd.Part1 = b
131
	    weldd.C0 = CFrame.new()
132
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
133
	    weldd.Parent = a
134
	    return weldd
135
	end
136
137
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
138
local acs = Instance.new("Part")
139
acs.CanCollide = false
140
acs.Anchored = false
141
acs.Size = Vector3.new(0,0,0)
142
acs.CFrame = attachmentpart.CFrame
143
acs.Parent = Character
144
acs.BrickColor = color
145
    local meshs = Instance.new("SpecialMesh")
146
    meshs.MeshId = mesh
147
    meshs.TextureId = texture
148
    meshs.Parent = acs
149
    meshs.Scale = scale
150
    meshs.Offset = offset
151
weldBetween(attachmentpart,acs)
152
end
153
154
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
155
if TYPE == "Gem" then
156
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
157
	acs.Anchored = false
158
    acs.CanCollide = false
159
	acs.CFrame = PART.CFrame
160
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
161
weldBetween(PART,acs)
162
elseif TYPE == "Skull" then
163
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
164
	acs.Anchored = false
165
    acs.CanCollide = false
166
	acs.CFrame = PART.CFrame
167
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
168
weldBetween(PART,acs)
169
elseif TYPE == "Eye" then
170
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
171
	acs.Anchored = false
172
    acs.CanCollide = false
173
	acs.CFrame = PART.CFrame
174
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
175
weldBetween(PART,acs)
176
end
177
end
178
179
--//=================================\\
180
--|| 	      USEFUL VALUES
181
--\\=================================//
182
183
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
184
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
185
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
186
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
187
local CO1 = 0
188
local CO2 = 0
189
local CO3 = 0
190
local CO4 = 0
191
local CHANGEDEFENSE = 0
192
local CHANGEDAMAGE = 0
193
local CHANGEMOVEMENT = 0
194
local ANIM = "Idle"
195
local ATTACK = false
196
local EQUIPPED = false
197
local HOLD = false
198
local COMBO = 999
199
local LASTPOINT = nil
200
local BLCF = nil
201
local SCFR = nil
202
local STAGGERHITANIM = false
203
local STAGGERANIM = false
204
local STUNANIM = false
205
local CRITCHANCENUMBER = 0
206
local IDLENUMBER = 0
207
local DONUMBER = 0
208
local HANDIDLE = false
209
local SINE = 0
210
local CHANGE = 2 / Animation_Speed
211
local WALKINGANIM = false
212
local WALK = 0
213
local DISABLEJUMPING = false
214
local HASBEENBLOCKED = false
215
local STUNDELAYNUMBER = 0
216
local MANADELAYNUMBER = 0
217
local SECONDARYMANADELAYNUMBER = 0
218
local ROBLOXIDLEANIMATION = IT("Animation")
219
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
220
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
221
--ROBLOXIDLEANIMATION.Parent = Humanoid
222
local WEAPONGUI = IT("ScreenGui", nil)
223
WEAPONGUI.Name = "Weapon GUI"
224
local WEAPONTOOL = IT("HopperBin", nil)
225
WEAPONTOOL.Name = Weapon_Name
226
local Weapon = IT("Model")
227
Weapon.Name = Weapon_Name
228
local Effects = IT("Folder", Weapon)
229
Effects.Name = "Effects"
230
local ANIMATOR = Humanoid.Animator
231
local ANIMATE = Character.Animate
232
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
233
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
234
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
235
local HITBLOCKSOUNDS = {"199148933", "199148947"}
236
local UNANCHOR = true
237
238
--//=================================\\
239
--\\=================================//
240
241
--//=================================\\
242
--||			  STATS
243
--\\=================================//
244
245
if Character:FindFirstChild("Stats") ~= nil then
246
Character:FindFirstChild("Stats").Parent = nil
247
end
248
249
local Stats = IT("Folder", nil)
250
Stats.Name = "Stats"
251
local ChangeStat = IT("Folder", Stats)
252
ChangeStat.Name = "ChangeStat"
253
local Defense = IT("NumberValue", Stats)
254
Defense.Name = "Defense"
255
Defense.Value = 1
256
local Movement = IT("NumberValue", Stats)
257
Movement.Name = "Movement"
258
Movement.Value = 1
259
local Damage = IT("NumberValue", Stats)
260
Damage.Name = "Damage"
261
Damage.Value = math.huge
262
local Mana = IT("NumberValue", Stats)
263
Mana.Name = "Mana"
264
Mana.Value = 0
265
local SecondaryMana = IT("NumberValue", Stats)
266
SecondaryMana.Name = "SecondaryMana"
267
SecondaryMana.Value = 0
268
local CanCrit = IT("BoolValue", Stats)
269
CanCrit.Name = "CanCrit"
270
CanCrit.Value = false
271
local CritChance = IT("NumberValue", Stats)
272
CritChance.Name = "CritChance"
273
CritChance.Value = 20
274
local CanPenetrateArmor = IT("BoolValue", Stats)
275
CanPenetrateArmor.Name = "CanPenetrateArmor"
276
CanPenetrateArmor.Value = false
277
local AntiTeamKill = IT("BoolValue", Stats)
278
AntiTeamKill.Name = "AntiTeamKill"
279
AntiTeamKill.Value = false
280
local Rooted = IT("BoolValue", Stats)
281
Rooted.Name = "Rooted"
282
Rooted.Value = false
283
local Block = IT("BoolValue", Stats)
284
Block.Name = "Block"
285
Block.Value = false
286
local RecentEnemy = IT("ObjectValue", Stats)
287
RecentEnemy.Name = "RecentEnemy"
288
RecentEnemy.Value = nil
289
local StaggerHit = IT("BoolValue", Stats)
290
StaggerHit.Name = "StaggerHit"
291
StaggerHit.Value = false
292
local Stagger = IT("BoolValue", Stats)
293
Stagger.Name = "Stagger"
294
Stagger.Value = false
295
local Stun = IT("BoolValue", Stats)
296
Stun.Name = "Stun"
297
Stun.Value = false
298
local StunValue = IT("NumberValue", Stats)
299
StunValue.Name = "StunValue"
300
StunValue.Value = 0
301
302
303
--//=================================\\
304
--\\=================================//
305
306
307
308
309
310
--//=================================\\
311
--|| 	     DEBUFFS / BUFFS
312
--\\=================================//
313
314
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
315
DEFENSECHANGE1.Name = "ChangeDefense"
316
DEFENSECHANGE1.Value = 0
317
318
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
319
MOVEMENTCHANGE1.Name = "ChangeMovement"
320
MOVEMENTCHANGE1.Value = 0
321
322
--//=================================\\
323
--\\=================================//
324
325
326
327
328
329
--//=================================\\
330
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
331
--\\=================================//
332
333
ArtificialHB = Instance.new("BindableEvent", script)
334
ArtificialHB.Name = "ArtificialHB"
335
336
script:WaitForChild("ArtificialHB")
337
338
frame = Frame_Speed
339
tf = 0
340
allowframeloss = false
341
tossremainder = false
342
lastframe = tick()
343
script.ArtificialHB:Fire()
344
345
game:GetService("RunService").Heartbeat:connect(function(s, p)
346
	tf = tf + s
347
	if tf >= frame then
348
		if allowframeloss then
349
			script.ArtificialHB:Fire()
350
			lastframe = tick()
351
		else
352
			for i = 1, math.floor(tf / frame) do
353
				script.ArtificialHB:Fire()
354
			end
355
		lastframe = tick()
356
		end
357
		if tossremainder then
358
			tf = 0
359
		else
360
			tf = tf - frame * math.floor(tf / frame)
361
		end
362
	end
363
end)
364
365
--//=================================\\
366
--\\=================================//
367
368
369
370
371
372
--//=================================\\
373
--|| 	      SOME FUNCTIONS
374
--\\=================================//
375
376
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
377
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
378
end
379
380
function PositiveAngle(NUMBER)
381
	if NUMBER >= 0 then
382
		NUMBER = 0
383
	end
384
	return NUMBER
385
end
386
387
function NegativeAngle(NUMBER)
388
	if NUMBER <= 0 then
389
		NUMBER = 0
390
	end
391
	return NUMBER
392
end
393
394
function Swait(NUMBER)
395
	if NUMBER == 0 or NUMBER == nil then
396
		ArtificialHB.Event:wait()
397
	else
398
		for i = 1, NUMBER do
399
			ArtificialHB.Event:wait()
400
		end
401
	end
402
end
403
404
function QuaternionFromCFrame(cf)
405
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
406
	local trace = m00 + m11 + m22
407
	if trace > 0 then 
408
		local s = math.sqrt(1 + trace)
409
		local recip = 0.5 / s
410
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
411
	else
412
		local i = 0
413
		if m11 > m00 then
414
			i = 1
415
		end
416
		if m22 > (i == 0 and m00 or m11) then
417
			i = 2
418
		end
419
		if i == 0 then
420
			local s = math.sqrt(m00 - m11 - m22 + 1)
421
			local recip = 0.5 / s
422
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
423
		elseif i == 1 then
424
			local s = math.sqrt(m11 - m22 - m00 + 1)
425
			local recip = 0.5 / s
426
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
427
		elseif i == 2 then
428
			local s = math.sqrt(m22 - m00 - m11 + 1)
429
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
430
		end
431
	end
432
end
433
 
434
function QuaternionToCFrame(px, py, pz, x, y, z, w)
435
	local xs, ys, zs = x + x, y + y, z + z
436
	local wx, wy, wz = w * xs, w * ys, w * zs
437
	local xx = x * xs
438
	local xy = x * ys
439
	local xz = x * zs
440
	local yy = y * ys
441
	local yz = y * zs
442
	local zz = z * zs
443
	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))
444
end
445
 
446
function QuaternionSlerp(a, b, t)
447
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
448
	local startInterp, finishInterp;
449
	if cosTheta >= 0.0001 then
450
		if (1 - cosTheta) > 0.0001 then
451
			local theta = ACOS(cosTheta)
452
			local invSinTheta = 1 / SIN(theta)
453
			startInterp = SIN((1 - t) * theta) * invSinTheta
454
			finishInterp = SIN(t * theta) * invSinTheta
455
		else
456
			startInterp = 1 - t
457
			finishInterp = t
458
		end
459
	else
460
		if (1 + cosTheta) > 0.0001 then
461
			local theta = ACOS(-cosTheta)
462
			local invSinTheta = 1 / SIN(theta)
463
			startInterp = SIN((t - 1) * theta) * invSinTheta
464
			finishInterp = SIN(t * theta) * invSinTheta
465
		else
466
			startInterp = t - 1
467
			finishInterp = t
468
		end
469
	end
470
	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
471
end
472
473
function Clerp(a, b, t)
474
	local qa = {QuaternionFromCFrame(a)}
475
	local qb = {QuaternionFromCFrame(b)}
476
	local ax, ay, az = a.x, a.y, a.z
477
	local bx, by, bz = b.x, b.y, b.z
478
	local _t = 1 - t
479
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
480
end
481
482
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
483
	local frame = IT("Frame")
484
	frame.BackgroundTransparency = TRANSPARENCY
485
	frame.BorderSizePixel = BORDERSIZEPIXEL
486
	frame.Position = POSITION
487
	frame.Size = SIZE
488
	frame.BackgroundColor3 = COLOR
489
	frame.BorderColor3 = BORDERCOLOR
490
	frame.Name = NAME
491
	frame.Parent = PARENT
492
	return frame
493
end
494
495
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
496
	local label = IT("TextLabel")
497
	label.BackgroundTransparency = 1
498
	label.Size = UD2(1, 0, 1, 0)
499
	label.Position = UD2(0, 0, 0, 0)
500
	label.TextColor3 = C3(255, 255, 255)
501
	label.TextStrokeTransparency = STROKETRANSPARENCY
502
	label.TextTransparency = TRANSPARENCY
503
	label.FontSize = TEXTFONTSIZE
504
	label.Font = TEXTFONT
505
	label.BorderSizePixel = BORDERSIZEPIXEL
506
	label.TextScaled = true
507
	label.Text = TEXT
508
	label.Name = NAME
509
	label.Parent = PARENT
510
	return label
511
end
512
513
function NoOutlines(PART)
514
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
515
end
516
517
518
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
519
	local NEWWELD = IT(TYPE)
520
	NEWWELD.Part0 = PART0
521
	NEWWELD.Part1 = PART1
522
	NEWWELD.C0 = C0
523
	NEWWELD.C1 = C1
524
	NEWWELD.Parent = PARENT
525
	return NEWWELD
526
end
527
528
function CreateSound(ID, PARENT, VOLUME, PITCH)
529
	coroutine.resume(coroutine.create(function()
530
		local NEWSOUND = IT("Sound", PARENT)
531
		NEWSOUND.Volume = VOLUME
532
		NEWSOUND.Pitch = PITCH
533
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
534
		Swait()
535
		NEWSOUND:play()
536
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
537
	end))
538
end
539
540
541
--//=================================\\
542
--\\=================================//
543
544
545
--//=================================\\
546
--||	     WEAPON CREATION
547
--\\=================================//
548
549
local Handle = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(1.8,3.5,1.8))
550
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0 * Player_Size, -1.5 * Player_Size, 1 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
551
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2.2,1,2.2))
552
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Handle, HandlePart, CF(0 * Player_Size, 2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
553
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2,0.3,2))
554
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Handle, HandlePart, CF(0 * Player_Size, -0.2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
555
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2,0.3,2))
556
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Handle, HandlePart, CF(0 * Player_Size, -1.2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
557
local Opening = CreatePart(3, Weapon, "Plastic", 0, 0, "Really black", "Handle", VT(1.2,0.6,0.1))
558
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", Opening, Handle, Opening, CF(0 * Player_Size, -0.8 * Player_Size, 0.9 * Player_Size) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
559
local HandlePart = CreatePart(3, Weapon, "Metal", 0, 0, "Stone grey", "Handle", VT(1,1,0.1))
560
local decal = Instance.new("Decal",HandlePart)
561
decal.Texture = "http://www.roblox.com/asset/?id=140490792"
562
decal.Face = "Back"
563
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Handle, HandlePart, CF(0 * Player_Size, 0.6 * Player_Size, 0.9 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
564
565
for _, c in pairs(Weapon:GetChildren()) do
566
	if c.ClassName == "Part" then
567
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
568
	end
569
end
570
571
local chuck = Instance.new("Sound",Effects)
572
chuck.SoundId = "rbxassetid://11900833"
573
chuck.Pitch = 2
574
chuck.Volume = 1
575
576
Weapon.Parent = Character
577
578
Humanoid.Died:connect(function()
579
	ATTACK = true
580
end)
581
582
print(Class_Name.." loaded.")
583
584
--//=================================\\
585
--\\=================================//
586
587
function dealdamage(hit,min,max,maxstrength,beserk)
588
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
589
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
590
		local dmg = math.random(min,max)
591
		if humanoid.Health > 0 then
592
			if beserk == true then
593
				humanoid.Health = 0
594
			else
595
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
596
				--hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
597
				humanoid.Health = humanoid.Health - dmg
598
				--StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(255/255, 0, 0))
599
				local defence = Instance.new("BoolValue",hit.Parent)
600
				defence.Name = ("HitBy"..Player.Name)
601
				game:GetService("Debris"):AddItem(defence, 0.05)
602
			end
603
		end
604
	end
605
end
606
607
--//=================================\\
608
--\\=================================//
609
610
function chatfunc(text)
611
local chat = coroutine.wrap(function()
612
if Character:FindFirstChild("TalkingBillBoard")~= nil then
613
Character:FindFirstChild("TalkingBillBoard"):destroy()
614
end
615
local naeeym2 = Instance.new("BillboardGui",Character)
616
naeeym2.Size = UDim2.new(0,100,0,40)
617
naeeym2.StudsOffset = Vector3.new(0,3,0)
618
naeeym2.Adornee = Character.Head
619
naeeym2.Name = "TalkingBillBoard"
620
local tecks2 = Instance.new("TextLabel",naeeym2)
621
tecks2.BackgroundTransparency = 1
622
tecks2.BorderSizePixel = 0
623
tecks2.Text = ""
624
tecks2.Font = "SciFi"
625
tecks2.TextSize = 30
626
tecks2.TextStrokeTransparency = 1
627
tecks2.TextColor3 = Color3.new(0,0,0)
628
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
629
tecks2.Size = UDim2.new(1,0,0.5,0)
630
local tecks3 = Instance.new("TextLabel",naeeym2)
631
tecks3.BackgroundTransparency = 1
632
tecks3.BorderSizePixel = 0
633
tecks3.Text = ""
634
tecks3.Font = "SciFi"
635
tecks3.TextSize = 30
636
tecks3.TextStrokeTransparency = 1
637
tecks3.TextColor3 = Color3.new(0,0,0)
638
tecks3.TextStrokeColor3 = Color3.new(0,0,0)
639
tecks3.Size = UDim2.new(1,0,0.5,0)
640
for i = 1,string.len(text),1 do
641
tecks2.Text = string.sub(text,1,i)
642
tecks3.Text = string.sub(text,1,i)
643
wait(0.01)
644
end
645
wait(2)
646
for i = 1, 50 do
647
Swait()
648
tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
649
tecks2.Rotation = tecks2.Rotation - .8
650
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
651
tecks2.TextTransparency = tecks2.TextTransparency + .04
652
tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
653
tecks3.Rotation = tecks2.Rotation + .8
654
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
655
tecks3.TextTransparency = tecks2.TextTransparency + .04
656
end
657
naeeym2:Destroy()
658
end)
659
chat()
660
end
661
662
function onChatted(msg)
663
	if msg == "1" then
664
		chatfunc("Spell card! Mailman's Wrath!")
665
		StartPosition()
666
		Swait(70)
667
		MailmansWrath()
668
	elseif msg == "2" then
669
		StartPosition()
670
		chatfunc("Spell card! Papercut Chaos!")
671
		Swait(70)
672
		PapercutChaos()
673
	elseif msg == "3" then
674
		StartPosition()
675
		chatfunc("Spell card! Mailbox Madness!")
676
		MailboxMadness()
677
	elseif msg == "4" then
678
		StartPosition()
679
		chatfunc("SUPER SPELL CARD! MAIL FRENZY!!")
680
        FinalInbox()
681
		Swait(80)
682
    elseif msg == "5" then
683
        StartPosition()
684
        chatfunc("SUPER SPELL CARD! SONIC MAIL FRENZY!!")
685
        Swait(80)
686
        SonicMail()
687
    elseif msg == "6" then
688
        StartPosition()
689
        chatfunc("HASTA LA VISTA,BABY!")
690
        Swait(100)
691
        chatfunc("SKRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRAAAAAAAA")
692
        MailmansWrath2()
693
        MailmansWrath2()
694
        MailboxMadness2()
695
        MailboxMadness2()
696
        SonicMail() 
697
        SonicMail()
698
        MailmansWrath2()
699
	end
700
end
701
Player.Chatted:connect(onChatted)
702
703
--//=================================\\
704
--||	 	DANMAKU MADNESS
705
--\\=================================//
706
707
local Mail = Instance.new("Part")
708
	Mail.Size = Vector3.new(2, 0.05, 1)
709
	Mail.Color = Color3.new(1,1,1)
710
	Mail.CanCollide = false
711
	local maildecal = Instance.new("Decal",Mail)
712
	maildecal.Face = "Top"
713
	maildecal.Texture = "http://www.roblox.com/asset/?id=8052441"
714
	Mail.BottomSurface = "Smooth"
715
	Mail.Name = "Mail"
716
717
function ShootMail(part,strength,debris)
718
	local mail = Mail:Clone()
719
	mail.CFrame = part.CFrame
720
	mail.Parent = Effects
721
	game:GetService("Debris"):AddItem(mail ,debris)
722
	local bv = Instance.new("BodyVelocity") 
723
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
724
	bv.velocity = part.CFrame.lookVector*strength
725
	bv.Parent = mail
726
	bv.Name = "DASH"
727
	local hit = mail.Touched:connect(function(hit) 
728
		if hit.Parent ~= Character and hit.Parent.ClassName ~= "Accessory" and hit.Name ~= "Mail" then
729
			dealdamage(hit,15,45,40)
730
		end
731
	end)
732
	return mail
733
end
734
735
function MagicSphere(BRICKCOLOR, MATERIAL, PART, CFRAME, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
736
end
737
738
739
function StartPosition()
740
	ATTACK = true
741
	Rooted = true
742
	for i=0, 1, 0.1 / Animation_Speed/1.2 do
743
		Swait()
744
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -0 * Player_Size, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.15 / Animation_Speed)
745
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), 0.15 / Animation_Speed)
746
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
747
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
748
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size -0.25, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
749
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.25, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
750
	end
751
end
752
753
function MailmansWrath2()
754
	local twist = 0
755
	local twist2 = false
756
	local twist3 = 1
757
	local spinpart = Instance.new("Part",Weapon)
758
	spinpart.Anchored = true
759
	spinpart.CanCollide = false
760
	spinpart.Transparency = 1
761
	spinpart.CFrame = Opening.CFrame
762
	local spinpart2 = Instance.new("Part",Weapon)
763
	spinpart2.Anchored = true
764
	spinpart2.CanCollide = false
765
	spinpart2.Transparency = 1
766
	spinpart2.CFrame = Opening.CFrame
767
	for i = 1, 30 do
768
		chuck:Play()
769
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
770
		twist = twist + 1
771
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
772
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
773
		if twist == 10 then
774
			spinpart.CFrame = Opening.CFrame
775
			spinpart2.CFrame = Opening.CFrame
776
			twist = 0
777
		end
778
		ShootMail(spinpart,65,2)
779
		ShootMail(spinpart2,65,2)
780
		Swait(1.5)
781
	end
782
	spinpart.CFrame = Opening.CFrame
783
	spinpart2.CFrame = Opening.CFrame
784
	twist = 10
785
	for i = 1, 40 do
786
		chuck:Play()
787
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
788
		twist = twist + 1
789
		if twist2 == true then
790
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
791
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
792
		elseif twist2 == false then
793
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
794
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
795
		end
796
		if twist == 20 then
797
			if twist2 == false then
798
				twist2 = true
799
			elseif twist2 == true then
800
				twist2 = false
801
			end
802
			twist = 0
803
		end
804
		ShootMail(spinpart,65,2)
805
		ShootMail(spinpart2,65,2)
806
		Swait(1.5)
807
	end
808
	spinpart.CFrame = Opening.CFrame
809
	spinpart2.CFrame = Opening.CFrame
810
	twist = 0
811
	for i = 1, 30 do
812
		chuck:Play()
813
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
814
		twist = twist + 1
815
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.15, 0)
816
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.15, 0)
817
		if twist == 10 then
818
			spinpart.CFrame = Opening.CFrame
819
			spinpart2.CFrame = Opening.CFrame
820
			twist = 0
821
		end
822
		ShootMail(spinpart,75,2)
823
		ShootMail(spinpart2,75,2)
824
		Swait(1.5)
825
	end
826
	spinpart:remove()
827
	spinpart2:remove()
828
	ATTACK = false
829
	Rooted = false
830
end
831
function MailmansWrath()
832
	local twist = 0
833
	local twist2 = false
834
	local twist3 = 1
835
	local spinpart = Instance.new("Part",Weapon)
836
	spinpart.Anchored = true
837
	spinpart.CanCollide = false
838
	spinpart.Transparency = 1
839
	spinpart.CFrame = Opening.CFrame
840
	local spinpart2 = Instance.new("Part",Weapon)
841
	spinpart2.Anchored = true
842
	spinpart2.CanCollide = false
843
	spinpart2.Transparency = 1
844
	spinpart2.CFrame = Opening.CFrame
845
	for i = 1, 30 do
846
		chuck:Play()
847
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
848
		twist = twist + 1
849
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
850
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
851
		if twist == 10 then
852
			spinpart.CFrame = Opening.CFrame
853
			spinpart2.CFrame = Opening.CFrame
854
			twist = 0
855
		end
856
		ShootMail(spinpart,65,2)
857
		ShootMail(spinpart2,65,2)
858
		Swait(5)
859
	end
860
	spinpart.CFrame = Opening.CFrame
861
	spinpart2.CFrame = Opening.CFrame
862
	twist = 10
863
	for i = 1, 40 do
864
		chuck:Play()
865
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
866
		twist = twist + 1
867
		if twist2 == true then
868
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
869
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
870
		elseif twist2 == false then
871
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
872
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
873
		end
874
		if twist == 20 then
875
			if twist2 == false then
876
				twist2 = true
877
			elseif twist2 == true then
878
				twist2 = false
879
			end
880
			twist = 0
881
		end
882
		ShootMail(spinpart,65,2)
883
		ShootMail(spinpart2,65,2)
884
		Swait(5)
885
	end
886
	spinpart.CFrame = Opening.CFrame
887
	spinpart2.CFrame = Opening.CFrame
888
	twist = 0
889
	for i = 1, 30 do
890
		chuck:Play()
891
		MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
892
		twist = twist + 1
893
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.15, 0)
894
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.15, 0)
895
		if twist == 10 then
896
			spinpart.CFrame = Opening.CFrame
897
			spinpart2.CFrame = Opening.CFrame
898
			twist = 0
899
		end
900
		ShootMail(spinpart,75,2)
901
		ShootMail(spinpart2,75,2)
902
		Swait(5)
903
	end
904
	spinpart:remove()
905
	spinpart2:remove()
906
	ATTACK = false
907
	Rooted = false
908
end
909
910
911
function PapercutChaos()
912
	local twist = 0
913
	for i = 1, 5 do
914
	chuck:Play()
915
	MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
916
	local mail = ShootMail(Opening,25,20)
917
		for i = 1, 15 do
918
			chuck:Play()
919
			local spinpart = Instance.new("Part",Weapon)
920
			spinpart.Anchored = true
921
			spinpart.CanCollide = false
922
			spinpart.Transparency = 1
923
			spinpart.CFrame = mail.CFrame
924
			local spinpart2 = Instance.new("Part",Weapon)
925
			spinpart2.Anchored = true
926
			spinpart2.CanCollide = false
927
			spinpart2.Transparency = 1
928
			spinpart2.CFrame = mail.CFrame
929
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 70, 0)
930
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -70, 0)
931
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
932
			ShootMail(spinpart,35,2)
933
			ShootMail(spinpart2,35,2)
934
			spinpart:remove()
935
			spinpart2:remove()
936
			Swait(5)
937
		end
938
		mail:remove()
939
	end
940
	for i = 1, 2 do
941
	chuck:Play()
942
	MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
943
	local mail = ShootMail(Opening,45,20)
944
		for i = 1, 20 do
945
			twist = twist + 1
946
			chuck:Play()
947
			local spinpart = Instance.new("Part",Weapon)
948
			spinpart.Anchored = true
949
			spinpart.CanCollide = false
950
			spinpart.Transparency = 1
951
			spinpart.CFrame = mail.CFrame
952
			local spinpart2 = Instance.new("Part",Weapon)
953
			spinpart2.Anchored = true
954
			spinpart2.CanCollide = false
955
			spinpart2.Transparency = 1
956
			spinpart2.CFrame = mail.CFrame
957
			spinpart.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
958
			spinpart2.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
959
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
960
			ShootMail(spinpart,35,2)
961
			ShootMail(spinpart2,35,2)
962
			spinpart:remove()
963
			spinpart2:remove()
964
			Swait(5)
965
		end
966
		twist = 0
967
		mail:remove()
968
	end
969
	ATTACK = false
970
	Rooted = false
971
end
972
973
function MailboxMadness()
974
	for i = 1, 15 do
975
		chuck:Play()
976
		local part = Instance.new("Part")
977
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
978
		part.Orientation = RootPart.Orientation
979
		part.CanCollide = false
980
		part.Anchored = true
981
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
982
		local spinpart = Instance.new("Part",Weapon)
983
		spinpart.Anchored = true
984
		spinpart.CanCollide = false
985
		spinpart.Transparency = 1
986
		spinpart.CFrame = part.CFrame
987
		local spinpart2 = Instance.new("Part",Weapon)
988
		spinpart2.Anchored = true
989
		spinpart2.CanCollide = false
990
		spinpart2.Transparency = 1
991
		spinpart2.CFrame = part.CFrame
992
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
993
		part:remove()
994
		for i = 1, 15 do
995
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
996
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
997
        coroutine.resume(coroutine.create(function()
998
			ShootMail(spinpart,50,2)
999
			ShootMail(spinpart2,50,2)
1000
            wait(.05)
1001
            ShootMail(spinpart,50,2)
1002
			ShootMail(spinpart2,50,2)
1003
            wait(.05)
1004
            ShootMail(spinpart,50,2)
1005
			ShootMail(spinpart2,50,2)
1006
            wait(.05)
1007
            ShootMail(spinpart,50,2)
1008
			ShootMail(spinpart2,50,2)
1009
            wait(.05)
1010
			ShootMail(spinpart,50,2)
1011
			ShootMail(spinpart2,50,2)
1012
            wait(.05)
1013
            ShootMail(spinpart,50,2)
1014
			ShootMail(spinpart2,50,2)
1015
            wait(.05)
1016
            ShootMail(spinpart,50,2)
1017
			ShootMail(spinpart2,50,2)
1018
            wait(.05)
1019
            ShootMail(spinpart,50,2)
1020
			ShootMail(spinpart2,50,2)
1021
            wait(.05)
1022
			ShootMail(spinpart,50,2)
1023
			ShootMail(spinpart2,50,2)
1024
            wait(.05)
1025
            ShootMail(spinpart,50,2)
1026
			ShootMail(spinpart2,50,2)
1027
            wait(.05)
1028
            ShootMail(spinpart,50,2)
1029
			ShootMail(spinpart2,50,2)
1030
            wait(.05)
1031
            ShootMail(spinpart,50,2)
1032
			ShootMail(spinpart2,50,2)
1033
            wait(.05)
1034
			ShootMail(spinpart,50,2)
1035
			ShootMail(spinpart2,50,2)
1036
            wait(.05)
1037
            ShootMail(spinpart,50,2)
1038
			ShootMail(spinpart2,50,2)
1039
            wait(.05)
1040
            ShootMail(spinpart,50,2)
1041
			ShootMail(spinpart2,50,2)
1042
            wait(.05)
1043
            ShootMail(spinpart,50,2)
1044
			ShootMail(spinpart2,50,2)
1045
            wait(.05)
1046
			ShootMail(spinpart,50,2)
1047
			ShootMail(spinpart2,50,2)
1048
            wait(.05)
1049
            ShootMail(spinpart,50,2)
1050
			ShootMail(spinpart2,50,2)
1051
            wait(.05)
1052
            ShootMail(spinpart,50,2)
1053
			ShootMail(spinpart2,50,2)
1054
            wait(.05)
1055
            ShootMail(spinpart,50,2)
1056
			ShootMail(spinpart2,50,2)
1057
            wait(.05)
1058
			ShootMail(spinpart,50,2)
1059
			ShootMail(spinpart2,50,2)
1060
            wait(.05)
1061
            ShootMail(spinpart,50,2)
1062
			ShootMail(spinpart2,50,2)
1063
            wait(.05)
1064
            ShootMail(spinpart,50,2)
1065
			ShootMail(spinpart2,50,2)
1066
            wait(.05)
1067
            ShootMail(spinpart,50,2)
1068
			ShootMail(spinpart2,50,2)
1069
            wait(.05)
1070
       end))
1071
    end
1072
		spinpart:remove()
1073
		spinpart2:remove()
1074
        wait(.05)
1075
		spinpart:remove()
1076
		spinpart2:remove()
1077
        wait(.05)
1078
		spinpart:remove()
1079
		spinpart2:remove()
1080
        wait(.05)
1081
		spinpart:remove()
1082
		spinpart2:remove()
1083
        wait(.05)
1084
		spinpart:remove()
1085
		spinpart2:remove()
1086
        wait(.05)
1087
		spinpart:remove()
1088
		spinpart2:remove()
1089
        wait(.05)
1090
		spinpart:remove()
1091
		spinpart2:remove()
1092
        wait(.05)
1093
		spinpart:remove()
1094
		spinpart2:remove()
1095
        wait(.05)
1096
		spinpart:remove()
1097
		spinpart2:remove()
1098
        wait(.05)
1099
		spinpart:remove()
1100
		spinpart2:remove()
1101
        wait(.05)
1102
		spinpart:remove()
1103
		spinpart2:remove()
1104
        wait(.05)
1105
		spinpart:remove()
1106
		spinpart2:remove()
1107
        wait(.05)
1108
		spinpart:remove()
1109
		spinpart2:remove()
1110
        wait(.05)
1111
		spinpart:remove()
1112
		spinpart2:remove()
1113
        wait(.05)
1114
		spinpart:remove()
1115
		spinpart2:remove()
1116
        wait(.05)
1117
		spinpart:remove()
1118
		spinpart2:remove()
1119
        wait(.05)
1120
		spinpart:remove()
1121
		spinpart2:remove()
1122
        wait(.05)
1123
		spinpart:remove()
1124
		spinpart2:remove()
1125
        wait(.05)
1126
		spinpart:remove()
1127
		spinpart2:remove()
1128
        wait(.05)
1129
		spinpart:remove()
1130
		spinpart2:remove()
1131
        wait(.05)
1132
		spinpart:remove()
1133
		spinpart2:remove()
1134
        wait(.05)
1135
		spinpart:remove()
1136
		spinpart2:remove()
1137
        wait(.05)
1138
		spinpart:remove()
1139
		spinpart2:remove()
1140
        wait(.05)
1141
		spinpart:remove()
1142
		spinpart2:remove()
1143
        wait(.05)
1144
		spinpart:remove()
1145
		spinpart2:remove()
1146
		Swait(35)
1147
	end
1148
	ATTACK = false
1149
	Rooted = false
1150
end
1151
1152
function MailboxMadness2()
1153
	for i = 1, 15 do
1154
		chuck:Play()
1155
		local part = Instance.new("Part")
1156
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
1157
		part.Orientation = RootPart.Orientation
1158
		part.CanCollide = false
1159
		part.Anchored = true
1160
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1161
		local spinpart = Instance.new("Part",Weapon)
1162
		spinpart.Anchored = true
1163
		spinpart.CanCollide = false
1164
		spinpart.Transparency = 1
1165
		spinpart.CFrame = part.CFrame
1166
		local spinpart2 = Instance.new("Part",Weapon)
1167
		spinpart2.Anchored = true
1168
		spinpart2.CanCollide = false
1169
		spinpart2.Transparency = 1
1170
		spinpart2.CFrame = part.CFrame
1171
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1172
		part:remove()
1173
		for i = 1, 15 do
1174
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1175
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1176
			ShootMail(spinpart,50,2)
1177
			ShootMail(spinpart2,50,2)
1178
		end
1179
		spinpart:remove()
1180
		spinpart2:remove()
1181
		Swait(17)
1182
	end
1183
	ATTACK = false
1184
	Rooted = false
1185
end
1186
1187
function FinalInbox()
1188
1189
	local twist = 0
1190
	local twist2 = false
1191
	for i = 1, 5 do
1192
		local part = Instance.new("Part")
1193
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
1194
		part.Orientation = RootPart.Orientation
1195
		part.CanCollide = false
1196
		part.Anchored = true
1197
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1198
		local spinpart = Instance.new("Part",Weapon)
1199
		spinpart.Anchored = true
1200
		spinpart.CanCollide = false
1201
		spinpart.Transparency = 1
1202
		spinpart.CFrame = part.CFrame
1203
		local spinpart2 = Instance.new("Part",Weapon)
1204
		spinpart2.Anchored = true
1205
		spinpart2.CanCollide = false
1206
		spinpart2.Transparency = 1
1207
		spinpart2.CFrame = part.CFrame
1208
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1209
		part:remove()
1210
		local spinpart3 = Instance.new("Part",Weapon)
1211
		spinpart3.Anchored = true
1212
		spinpart3.CanCollide = false
1213
		spinpart3.Transparency = 1
1214
		spinpart3.CFrame = RootPart.CFrame * CF(0,0,-50)
1215
		local spinpart4 = Instance.new("Part",Weapon)
1216
		spinpart4.Anchored = true
1217
		spinpart4.CanCollide = false
1218
		spinpart4.Transparency = 1
1219
		spinpart4.CFrame = RootPart.CFrame * CF(0,0,-50)
1220
		for i = 1, 30 do
1221
			chuck:Play()
1222
			spinpart3.CFrame = spinpart3.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1223
			spinpart4.CFrame = spinpart4.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1224
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1225
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1226
			ShootMail(spinpart,50,2)
1227
			ShootMail(spinpart2,-50,2)
1228
			ShootMail(spinpart3,100,1)
1229
			ShootMail(spinpart4,-100,1)
1230
			Swait(10)
1231
		end
1232
		spinpart:remove()
1233
		spinpart2:remove()
1234
		spinpart3:remove()
1235
		spinpart4:remove()
1236
	end
1237
	chuck:Play()
1238
	MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1239
	for i = 1, 2 do
1240
		twist = 10
1241
		local spinpart = Instance.new("Part",Weapon)
1242
		spinpart.Anchored = true
1243
		spinpart.CanCollide = false
1244
		spinpart.Transparency = 1
1245
		spinpart.CFrame = Opening.CFrame
1246
		local spinpart2 = Instance.new("Part",Weapon)
1247
		spinpart2.Anchored = true
1248
		spinpart2.CanCollide = false
1249
		spinpart2.Transparency = 1
1250
		spinpart2.CFrame = Opening.CFrame
1251
		local mail = ShootMail(Opening,25,20)
1252
		for i = 1, 50 do
1253
			chuck:Play()
1254
			MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1255
			twist = twist + 1
1256
			if twist2 == true then
1257
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1258
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
1259
			elseif twist2 == false then
1260
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1261
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
1262
			end
1263
			if twist == 20 then
1264
				if twist2 == false then
1265
					twist2 = true
1266
				elseif twist2 == true then
1267
					twist2 = false
1268
				end
1269
				twist = 0
1270
			end
1271
			ShootMail(spinpart,125,1)
1272
			ShootMail(spinpart2,125,1)
1273
			local spinpart3 = Instance.new("Part",Weapon)
1274
			spinpart3.Anchored = true
1275
			spinpart3.CanCollide = false
1276
			spinpart3.Transparency = 1
1277
			spinpart3.CFrame = mail.CFrame
1278
			local spinpart4 = Instance.new("Part",Weapon)
1279
			spinpart4.Anchored = true
1280
			spinpart4.CanCollide = false
1281
			spinpart4.Transparency = 1
1282
			spinpart4.CFrame = mail.CFrame
1283
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1284
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1285
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1286
			ShootMail(spinpart3,85,1)
1287
			ShootMail(spinpart4,85,1)
1288
			spinpart3:remove()
1289
			spinpart4:remove()
1290
			Swait(10)
1291
		end
1292
		spinpart:remove()
1293
		spinpart2:remove()
1294
		twist = 0
1295
		mail:remove()
1296
	end
1297
	for i = 1, 4 do
1298
		twist = 10
1299
		local spinpart = Instance.new("Part",Weapon)
1300
		spinpart.Anchored = true
1301
		spinpart.CanCollide = false
1302
		spinpart.Transparency = 1
1303
		spinpart.CFrame = Opening.CFrame
1304
		local spinpart2 = Instance.new("Part",Weapon)
1305
		spinpart2.Anchored = true
1306
		spinpart2.CanCollide = false
1307
		spinpart2.Transparency = 1
1308
		spinpart2.CFrame = Opening.CFrame
1309
		local spinpart5 = Instance.new("Part",Weapon)
1310
		spinpart5.Anchored = true
1311
		spinpart5.CanCollide = false
1312
		spinpart5.Transparency = 1
1313
		spinpart5.CFrame = RootPart.CFrame * CF(0,0,-50)
1314
		local spinpart6 = Instance.new("Part",Weapon)
1315
		spinpart6.Anchored = true
1316
		spinpart6.CanCollide = false
1317
		spinpart6.Transparency = 1
1318
		spinpart6.CFrame = RootPart.CFrame * CF(0,0,-50)
1319
		local mail = ShootMail(Opening,25,20)
1320
		for i = 1, 50 do
1321
			chuck:Play()
1322
			MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1323
			twist = twist + 1
1324
			spinpart5.CFrame = spinpart5.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1325
			spinpart6.CFrame = spinpart6.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1326
			if twist2 == true then
1327
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1328
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
1329
			elseif twist2 == false then
1330
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1331
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
1332
			end
1333
			if twist == 20 then
1334
				if twist2 == false then
1335
					twist2 = true
1336
				elseif twist2 == true then
1337
					twist2 = false
1338
				end
1339
				twist = 0
1340
			end
1341
			ShootMail(spinpart,125,1)
1342
			ShootMail(spinpart2,125,1)
1343
			ShootMail(spinpart5,100,1)
1344
			ShootMail(spinpart6,-100,1)
1345
			local spinpart3 = Instance.new("Part",Weapon)
1346
			spinpart3.Anchored = true
1347
			spinpart3.CanCollide = false
1348
			spinpart3.Transparency = 1
1349
			spinpart3.CFrame = mail.CFrame
1350
			local spinpart4 = Instance.new("Part",Weapon)
1351
			spinpart4.Anchored = true
1352
			spinpart4.CanCollide = false
1353
			spinpart4.Transparency = 1
1354
			spinpart4.CFrame = mail.CFrame
1355
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1356
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1357
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1358
			ShootMail(spinpart3,85,1)
1359
			ShootMail(spinpart4,85,1)
1360
			spinpart3:remove()
1361
			spinpart4:remove()
1362
			Swait(10)
1363
		end
1364
		spinpart:remove()
1365
		spinpart2:remove()
1366
		spinpart5:remove()
1367
		spinpart6:remove()
1368
		twist = 0
1369
		mail:remove()
1370
	end
1371
	ATTACK = false
1372
	Rooted = false
1373
end
1374
1375
function SonicMail()
1376
	local twist = 0
1377
	local twist2 = false
1378
for i = 1, 5 do
1379
		local part = Instance.new("Part")
1380
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
1381
		part.Orientation = RootPart.Orientation
1382
		part.CanCollide = false
1383
		part.Anchored = true
1384
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1385
		local spinpart = Instance.new("Part",Weapon)
1386
		spinpart.Anchored = true
1387
		spinpart.CanCollide = false
1388
		spinpart.Transparency = 1
1389
		spinpart.CFrame = part.CFrame
1390
		local spinpart2 = Instance.new("Part",Weapon)
1391
		spinpart2.Anchored = true
1392
		spinpart2.CanCollide = false
1393
		spinpart2.Transparency = 1
1394
		spinpart2.CFrame = part.CFrame
1395
		MagicSphere("Really black", "Neon", part.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1396
		part:remove()
1397
		local spinpart3 = Instance.new("Part",Weapon)
1398
		spinpart3.Anchored = true
1399
		spinpart3.CanCollide = false
1400
		spinpart3.Transparency = 1
1401
		spinpart3.CFrame = RootPart.CFrame * CF(0,0,-50)
1402
		local spinpart4 = Instance.new("Part",Weapon)
1403
		spinpart4.Anchored = true
1404
		spinpart4.CanCollide = false
1405
		spinpart4.Transparency = 1
1406
		spinpart4.CFrame = RootPart.CFrame * CF(0,0,-50)
1407
		for i = 1, 30 do
1408
			chuck:Play()
1409
			spinpart3.CFrame = spinpart3.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1410
			spinpart4.CFrame = spinpart4.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1411
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1412
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1413
			ShootMail(spinpart,50,2)
1414
			ShootMail(spinpart2,-50,2)
1415
			ShootMail(spinpart3,100,1)
1416
			ShootMail(spinpart4,-100,1)
1417
			Swait(2)
1418
		end
1419
		spinpart:remove()
1420
		spinpart2:remove()
1421
		spinpart3:remove()
1422
		spinpart4:remove()
1423
	end
1424
	chuck:Play()
1425
	MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1426
	for i = 1, 2 do
1427
		twist = 10
1428
		local spinpart = Instance.new("Part",Weapon)
1429
		spinpart.Anchored = true
1430
		spinpart.CanCollide = false
1431
		spinpart.Transparency = 1
1432
		spinpart.CFrame = Opening.CFrame
1433
		local spinpart2 = Instance.new("Part",Weapon)
1434
		spinpart2.Anchored = true
1435
		spinpart2.CanCollide = false
1436
		spinpart2.Transparency = 1
1437
		spinpart2.CFrame = Opening.CFrame
1438
		local mail = ShootMail(Opening,25,20)
1439
		for i = 1, 50 do
1440
			chuck:Play()
1441
			MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1442
			twist = twist + 1
1443
			if twist2 == true then
1444
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1445
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
1446
			elseif twist2 == false then
1447
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1448
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
1449
			end
1450
			if twist == 20 then
1451
				if twist2 == false then
1452
					twist2 = true
1453
				elseif twist2 == true then
1454
					twist2 = false
1455
				end
1456
				twist = 0
1457
			end
1458
			ShootMail(spinpart,125,1)
1459
			ShootMail(spinpart2,125,1)
1460
			local spinpart3 = Instance.new("Part",Weapon)
1461
			spinpart3.Anchored = true
1462
			spinpart3.CanCollide = false
1463
			spinpart3.Transparency = 1
1464
			spinpart3.CFrame = mail.CFrame
1465
			local spinpart4 = Instance.new("Part",Weapon)
1466
			spinpart4.Anchored = true
1467
			spinpart4.CanCollide = false
1468
			spinpart4.Transparency = 1
1469
			spinpart4.CFrame = mail.CFrame
1470
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1471
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1472
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1473
			ShootMail(spinpart3,85,1)
1474
			ShootMail(spinpart4,85,1)
1475
			spinpart3:remove()
1476
			spinpart4:remove()
1477
			Swait(2)
1478
		end
1479
		spinpart:remove()
1480
		spinpart2:remove()
1481
		twist = 0
1482
		mail:remove()
1483
	end
1484
	for i = 1, 4 do
1485
		twist = 10
1486
		local spinpart = Instance.new("Part",Weapon)
1487
		spinpart.Anchored = true
1488
		spinpart.CanCollide = false
1489
		spinpart.Transparency = 1
1490
		spinpart.CFrame = Opening.CFrame
1491
		local spinpart2 = Instance.new("Part",Weapon)
1492
		spinpart2.Anchored = true
1493
		spinpart2.CanCollide = false
1494
		spinpart2.Transparency = 1
1495
		spinpart2.CFrame = Opening.CFrame
1496
		local spinpart5 = Instance.new("Part",Weapon)
1497
		spinpart5.Anchored = true
1498
		spinpart5.CanCollide = false
1499
		spinpart5.Transparency = 1
1500
		spinpart5.CFrame = RootPart.CFrame * CF(0,0,-50)
1501
		local spinpart6 = Instance.new("Part",Weapon)
1502
		spinpart6.Anchored = true
1503
		spinpart6.CanCollide = false
1504
		spinpart6.Transparency = 1
1505
		spinpart6.CFrame = RootPart.CFrame * CF(0,0,-50)
1506
		local mail = ShootMail(Opening,25,20)
1507
		for i = 1, 50 do
1508
			chuck:Play()
1509
			MagicSphere("Really black", "Neon", Opening.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1510
			twist = twist + 1
1511
			spinpart5.CFrame = spinpart5.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1512
			spinpart6.CFrame = spinpart6.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1513
			if twist2 == true then
1514
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1515
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
1516
			elseif twist2 == false then
1517
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1518
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
1519
			end
1520
			if twist == 20 then
1521
				if twist2 == false then
1522
					twist2 = true
1523
				elseif twist2 == true then
1524
					twist2 = false
1525
				end
1526
				twist = 0
1527
			end
1528
			ShootMail(spinpart,125,1)
1529
			ShootMail(spinpart2,125,1)
1530
			ShootMail(spinpart5,100,1)
1531
			ShootMail(spinpart6,-100,1)
1532
			local spinpart3 = Instance.new("Part",Weapon)
1533
			spinpart3.Anchored = true
1534
			spinpart3.CanCollide = false
1535
			spinpart3.Transparency = 1
1536
			spinpart3.CFrame = mail.CFrame
1537
			local spinpart4 = Instance.new("Part",Weapon)
1538
			spinpart4.Anchored = true
1539
			spinpart4.CanCollide = false
1540
			spinpart4.Transparency = 1
1541
			spinpart4.CFrame = mail.CFrame
1542
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1543
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1544
			MagicSphere("Really black", "Neon", mail.CFrame, CF(0,0,0), VT(0,0,0), 50, 50, 50, -0.1, -0.1, -0.1, 0.02)
1545
			ShootMail(spinpart3,85,1)
1546
			ShootMail(spinpart4,85,1)
1547
			spinpart3:remove()
1548
			spinpart4:remove()
1549
			Swait(2)
1550
		end
1551
		spinpart:remove()
1552
		spinpart2:remove()
1553
		spinpart5:remove()
1554
		spinpart6:remove()
1555
		twist = 0
1556
		mail:remove()
1557
	end
1558
	ATTACK = false
1559
	Rooted = false
1560
end
1561
--//=================================\\
1562
--||	  ASSIGN THINGS TO KEYS
1563
--\\=================================//
1564
1565
Humanoid.Changed:connect(function(Jump)
1566
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1567
		Humanoid.Jump = false
1568
	end
1569
end)
1570
1571
--//=================================\\
1572
--\\=================================//
1573
1574
1575
function unanchor()
1576
	if UNANCHOR == true then
1577
		g = Character:GetChildren()
1578
		for i = 1, #g do
1579
			if g[i].ClassName == "Part" then
1580
				g[i].Anchored = false
1581
			end
1582
		end
1583
	end
1584
end
1585
1586
1587
--//=================================\\
1588
--||	WRAP THE WHOLE SCRIPT UP
1589
--\\=================================//
1590
1591
Humanoid.Changed:connect(function(Jump)
1592
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1593
		Humanoid.Jump = false
1594
	end
1595
end)
1596
1597
		ANIMATE.Parent = nil
1598
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1599
		IDLEANIMATION:Play()
1600
		Swait()
1601
		ANIMATOR.Parent = nil
1602
		Disable_Jump = true
1603
1604
while true do
1605
	Swait()
1606
	SINE = SINE + CHANGE
1607
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1608
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1609
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1610
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1611
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1612
		if ANIM == "Walk" and TORSOVELOCITY > 1 then
1613
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1614
			Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1615
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1616
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1617
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1618
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1619
			Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1620
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1621
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1622
		end
1623
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1624
			ANIM = "Jump"
1625
			if ATTACK == false then
1626
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1627
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1628
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1629
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1630
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1631
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1632
	        end
1633
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1634
			ANIM = "Fall"
1635
			if ATTACK == false then
1636
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1637
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1638
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1639
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1640
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1641
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1642
			end
1643
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1644
			ANIM = "Idle"
1645
			if ATTACK == false then
1646
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, -0 * Player_Size, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1647
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1648
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1649
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1650
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size -0.25, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1651
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.25, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1652
			end
1653
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1654
			ANIM = "Walk"
1655
			WALK = WALK + 1 / Animation_Speed
1656
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1657
				WALK = 0
1658
				if WALKINGANIM == true then
1659
					WALKINGANIM = false
1660
				elseif WALKINGANIM == false then
1661
					WALKINGANIM = true
1662
				end
1663
			end
1664
			--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1665
			--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1666
			if ATTACK == false then
1667
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1668
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1669
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1670
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1671
				RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1672
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1673
			end
1674
		end
1675
if #Effects2>0 then
1676
for e=1,#Effects2 do
1677
if Effects2[e]~=nil then
1678
local Thing=Effects2[e]
1679
if Thing~=nil then
1680
local Part=Thing[1]
1681
local Mode=Thing[2]
1682
local Delay=Thing[3]
1683
local IncX=Thing[4]
1684
local IncY=Thing[5]
1685
local IncZ=Thing[6]
1686
local Part2=Thing[8]
1687
if Thing[1].Transparency<=1 then
1688
if Thing[2]=="Block1" then
1689
Thing[1].CFrame=Part2.CFrame
1690
Mesh=Thing[1].Mesh
1691
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1692
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1693
elseif Thing[2]=="Cylinder" then
1694
Mesh=Thing[1].Mesh
1695
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1696
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1697
elseif Thing[2]=="Blood" then
1698
Mesh=Thing[7]
1699
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1700
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1701
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1702
elseif Thing[2]=="Elec" then
1703
Mesh=Thing[1].Mesh
1704
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1705
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1706
elseif Thing[2]=="Disappear" then
1707
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1708
end
1709
else
1710
Part.Parent=nil
1711
table.remove(Effects2,e)
1712
end
1713
end
1714
end
1715
end
1716
end
1717
unanchor()
1718
Humanoid.MaxHealth = "inf"
1719
Humanoid.Health = "inf"
1720
if Rooted == false then
1721
	--Disable_Jump = false
1722
	Humanoid.WalkSpeed = Speed
1723
elseif Rooted == true then
1724
	Disable_Jump = true
1725
	Humanoid.WalkSpeed = 0
1726
end
1727
--print(TORSOVELOCITY)
1728
end
1729
1730
--//=================================\\
1731
--\\=================================//
1732
1733
1734
1735
1736
1737
--//====================================================\\--
1738
--||			  		 END OF SCRIPT
1739
--\\====================================================//--