View difference between Paste ID: LNUDgvHV and 97pkrS3w
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 FinalInboxLink = "rbxassetid://195916147"
32
local NormalMusicLink = "rbxassetid://596220347"
33
local sick = Instance.new("Sound",Character)
34
sick.SoundId = "rbxassetid://596220347"
35
sick.Looped = true
36
sick.Pitch = 1
37
sick.Volume = 0.6
38
sick:Play()
39
40
IT = Instance.new
41
CF = CFrame.new
42
VT = Vector3.new
43
RAD = math.rad
44
C3 = Color3.new
45
UD2 = UDim2.new
46
BRICKC = BrickColor.new
47
ANGLES = CFrame.Angles
48
EULER = CFrame.fromEulerAnglesXYZ
49
COS = math.cos
50
ACOS = math.acos
51
SIN = math.sin
52
ASIN = math.asin
53
ABS = math.abs
54
MRANDOM = math.random
55
FLOOR = math.floor
56
57
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
58
	local NEWMESH = IT(MESH)
59
	if MESH == "SpecialMesh" then
60
		NEWMESH.MeshType = MESHTYPE
61
		if MESHID ~= "nil" and MESHID ~= "" then
62
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
63
		end
64
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
65
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
66
		end
67
	end
68
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
69
	NEWMESH.Scale = SCALE
70
	NEWMESH.Parent = PARENT
71
	return NEWMESH
72
end
73
74
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
75
	local NEWPART = IT("Part")
76
	NEWPART.formFactor = FORMFACTOR
77
	NEWPART.Reflectance = REFLECTANCE
78
	NEWPART.Transparency = TRANSPARENCY
79
	NEWPART.CanCollide = false
80
	NEWPART.Locked = true
81
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
82
	NEWPART.Name = NAME
83
	NEWPART.Size = SIZE
84
	NEWPART.Position = Torso.Position
85
	NEWPART.Material = MATERIAL
86
	NEWPART:BreakJoints()
87
	NEWPART.Parent = PARENT
88
	return NEWPART
89
end
90
91
92
--//=================================\\
93
--||		  CUSTOMIZATION
94
--\\=================================//
95
96
Class_Name = "Template"
97
Weapon_Name = "Add-ons"
98
99
Custom_Colors = {
100
	Custom_Color_1 = BRICKC("Really red"); --1st color for the weapon.
101
	Custom_Color_2 = BRICKC("Really blue"); --2nd color for the weapon.
102
103
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
104
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
105
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
106
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
107
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
108
109
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
110
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
111
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
112
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
113
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
114
}
115
116
117
Player_Size = 1 --Size of the player.
118
Animation_Speed = 3
119
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
120
121-
local Speed = 16
121+
local Speed = 100
122
local Effects2 = {}
123
124
--//=================================\\
125
--|| 	  END OF CUSTOMIZATION
126
--\\=================================//
127
128
	local function weldBetween(a, b)
129
	    local weldd = Instance.new("ManualWeld")
130
	    weldd.Part0 = a
131
	    weldd.Part1 = b
132
	    weldd.C0 = CFrame.new()
133
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
134
	    weldd.Parent = a
135
	    return weldd
136
	end
137
138
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
139
local acs = Instance.new("Part")
140
acs.CanCollide = false
141
acs.Anchored = false
142
acs.Size = Vector3.new(0,0,0)
143
acs.CFrame = attachmentpart.CFrame
144
acs.Parent = Character
145
acs.BrickColor = color
146
    local meshs = Instance.new("SpecialMesh")
147
    meshs.MeshId = mesh
148
    meshs.TextureId = texture
149
    meshs.Parent = acs
150
    meshs.Scale = scale
151
    meshs.Offset = offset
152
weldBetween(attachmentpart,acs)
153
end
154
155
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
156
if TYPE == "Gem" then
157
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
158
	acs.Anchored = false
159
    acs.CanCollide = false
160
	acs.CFrame = PART.CFrame
161
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
162
weldBetween(PART,acs)
163
elseif TYPE == "Skull" then
164
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
165
	acs.Anchored = false
166
    acs.CanCollide = false
167
	acs.CFrame = PART.CFrame
168
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
169
weldBetween(PART,acs)
170
elseif TYPE == "Eye" then
171
	local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
172
	acs.Anchored = false
173
    acs.CanCollide = false
174
	acs.CFrame = PART.CFrame
175
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
176
weldBetween(PART,acs)
177
end
178
end
179
180
--//=================================\\
181
--|| 	      USEFUL VALUES
182
--\\=================================//
183
184
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
185
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
186
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
187
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
188
local CO1 = 0
189
local CO2 = 0
190
local CO3 = 0
191
local CO4 = 0
192
local CHANGEDEFENSE = 0
193
local CHANGEDAMAGE = 0
194
local CHANGEMOVEMENT = 0
195
local ANIM = "Idle"
196
local ATTACK = false
197
local EQUIPPED = false
198
local HOLD = false
199
local COMBO = 999
200
local LASTPOINT = nil
201
local BLCF = nil
202
local SCFR = nil
203
local STAGGERHITANIM = false
204
local STAGGERANIM = false
205
local STUNANIM = false
206
local CRITCHANCENUMBER = 0
207
local IDLENUMBER = 0
208
local DONUMBER = 0
209
local HANDIDLE = false
210
local SINE = 0
211
local CHANGE = 2 / Animation_Speed
212
local WALKINGANIM = false
213
local WALK = 0
214
local DISABLEJUMPING = false
215
local HASBEENBLOCKED = false
216
local STUNDELAYNUMBER = 0
217
local MANADELAYNUMBER = 0
218
local SECONDARYMANADELAYNUMBER = 0
219
local ROBLOXIDLEANIMATION = IT("Animation")
220
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
221
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
222
--ROBLOXIDLEANIMATION.Parent = Humanoid
223
local WEAPONGUI = IT("ScreenGui", nil)
224
WEAPONGUI.Name = "Weapon GUI"
225
local WEAPONTOOL = IT("HopperBin", nil)
226
WEAPONTOOL.Name = Weapon_Name
227
local Weapon = IT("Model")
228
Weapon.Name = Weapon_Name
229
local Effects = IT("Folder", Weapon)
230
Effects.Name = "Effects"
231
local ANIMATOR = Humanoid.Animator
232
local ANIMATE = Character.Animate
233
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
234
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
235
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
236
local HITBLOCKSOUNDS = {"199148933", "199148947"}
237
local UNANCHOR = true
238
239
--//=================================\\
240
--\\=================================//
241
242
--//=================================\\
243
--||			  STATS
244
--\\=================================//
245
246
if Character:FindFirstChild("Stats") ~= nil then
247
Character:FindFirstChild("Stats").Parent = nil
248
end
249
250
local Stats = IT("Folder", nil)
251
Stats.Name = "Stats"
252
local ChangeStat = IT("Folder", Stats)
253
ChangeStat.Name = "ChangeStat"
254
local Defense = IT("NumberValue", Stats)
255
Defense.Name = "Defense"
256
Defense.Value = 1
257
local Movement = IT("NumberValue", Stats)
258
Movement.Name = "Movement"
259
Movement.Value = 1
260
local Damage = IT("NumberValue", Stats)
261
Damage.Name = "Damage"
262
Damage.Value = math.huge
263
local Mana = IT("NumberValue", Stats)
264
Mana.Name = "Mana"
265
Mana.Value = 0
266
local SecondaryMana = IT("NumberValue", Stats)
267
SecondaryMana.Name = "SecondaryMana"
268
SecondaryMana.Value = 0
269
local CanCrit = IT("BoolValue", Stats)
270
CanCrit.Name = "CanCrit"
271
CanCrit.Value = false
272
local CritChance = IT("NumberValue", Stats)
273
CritChance.Name = "CritChance"
274
CritChance.Value = 20
275
local CanPenetrateArmor = IT("BoolValue", Stats)
276
CanPenetrateArmor.Name = "CanPenetrateArmor"
277
CanPenetrateArmor.Value = false
278
local AntiTeamKill = IT("BoolValue", Stats)
279
AntiTeamKill.Name = "AntiTeamKill"
280
AntiTeamKill.Value = false
281
local Rooted = IT("BoolValue", Stats)
282
Rooted.Name = "Rooted"
283
Rooted.Value = false
284
local Block = IT("BoolValue", Stats)
285
Block.Name = "Block"
286
Block.Value = false
287
local RecentEnemy = IT("ObjectValue", Stats)
288
RecentEnemy.Name = "RecentEnemy"
289
RecentEnemy.Value = nil
290
local StaggerHit = IT("BoolValue", Stats)
291
StaggerHit.Name = "StaggerHit"
292
StaggerHit.Value = false
293
local Stagger = IT("BoolValue", Stats)
294
Stagger.Name = "Stagger"
295
Stagger.Value = false
296
local Stun = IT("BoolValue", Stats)
297
Stun.Name = "Stun"
298
Stun.Value = false
299
local StunValue = IT("NumberValue", Stats)
300
StunValue.Name = "StunValue"
301
StunValue.Value = 0
302
303
304
--//=================================\\
305
--\\=================================//
306
307
308
309
310
311
--//=================================\\
312
--|| 	     DEBUFFS / BUFFS
313
--\\=================================//
314
315
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
316
DEFENSECHANGE1.Name = "ChangeDefense"
317
DEFENSECHANGE1.Value = 0
318
319
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
320
MOVEMENTCHANGE1.Name = "ChangeMovement"
321
MOVEMENTCHANGE1.Value = 0
322
323
--//=================================\\
324
--\\=================================//
325
326
327
328
329
330
--//=================================\\
331
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
332
--\\=================================//
333
334
ArtificialHB = Instance.new("BindableEvent", script)
335
ArtificialHB.Name = "ArtificialHB"
336
337
script:WaitForChild("ArtificialHB")
338
339
frame = Frame_Speed
340
tf = 0
341
allowframeloss = false
342
tossremainder = false
343
lastframe = tick()
344
script.ArtificialHB:Fire()
345
346
game:GetService("RunService").Heartbeat:connect(function(s, p)
347
	tf = tf + s
348
	if tf >= frame then
349
		if allowframeloss then
350
			script.ArtificialHB:Fire()
351
			lastframe = tick()
352
		else
353
			for i = 1, math.floor(tf / frame) do
354
				script.ArtificialHB:Fire()
355
			end
356
		lastframe = tick()
357
		end
358
		if tossremainder then
359
			tf = 0
360
		else
361
			tf = tf - frame * math.floor(tf / frame)
362
		end
363
	end
364
end)
365
366
--//=================================\\
367
--\\=================================//
368
369
370
371
372
373
--//=================================\\
374
--|| 	      SOME FUNCTIONS
375
--\\=================================//
376
377
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
378
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
379
end
380
381
function PositiveAngle(NUMBER)
382
	if NUMBER >= 0 then
383
		NUMBER = 0
384
	end
385
	return NUMBER
386
end
387
388
function NegativeAngle(NUMBER)
389
	if NUMBER <= 0 then
390
		NUMBER = 0
391
	end
392
	return NUMBER
393
end
394
395
function Swait(NUMBER)
396
	if NUMBER == 0 or NUMBER == nil then
397
		ArtificialHB.Event:wait()
398
	else
399
		for i = 1, NUMBER do
400
			ArtificialHB.Event:wait()
401
		end
402
	end
403
end
404
405
function QuaternionFromCFrame(cf)
406
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
407
	local trace = m00 + m11 + m22
408
	if trace > 0 then 
409
		local s = math.sqrt(1 + trace)
410
		local recip = 0.5 / s
411
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
412
	else
413
		local i = 0
414
		if m11 > m00 then
415
			i = 1
416
		end
417
		if m22 > (i == 0 and m00 or m11) then
418
			i = 2
419
		end
420
		if i == 0 then
421
			local s = math.sqrt(m00 - m11 - m22 + 1)
422
			local recip = 0.5 / s
423
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
424
		elseif i == 1 then
425
			local s = math.sqrt(m11 - m22 - m00 + 1)
426
			local recip = 0.5 / s
427
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
428
		elseif i == 2 then
429
			local s = math.sqrt(m22 - m00 - m11 + 1)
430
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
431
		end
432
	end
433
end
434
 
435
function QuaternionToCFrame(px, py, pz, x, y, z, w)
436
	local xs, ys, zs = x + x, y + y, z + z
437
	local wx, wy, wz = w * xs, w * ys, w * zs
438
	local xx = x * xs
439
	local xy = x * ys
440
	local xz = x * zs
441
	local yy = y * ys
442
	local yz = y * zs
443
	local zz = z * zs
444
	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))
445
end
446
 
447
function QuaternionSlerp(a, b, t)
448
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
449
	local startInterp, finishInterp;
450
	if cosTheta >= 0.0001 then
451
		if (1 - cosTheta) > 0.0001 then
452
			local theta = ACOS(cosTheta)
453
			local invSinTheta = 1 / SIN(theta)
454
			startInterp = SIN((1 - t) * theta) * invSinTheta
455
			finishInterp = SIN(t * theta) * invSinTheta
456
		else
457
			startInterp = 1 - t
458
			finishInterp = t
459
		end
460
	else
461
		if (1 + cosTheta) > 0.0001 then
462
			local theta = ACOS(-cosTheta)
463
			local invSinTheta = 1 / SIN(theta)
464
			startInterp = SIN((t - 1) * theta) * invSinTheta
465
			finishInterp = SIN(t * theta) * invSinTheta
466
		else
467
			startInterp = t - 1
468
			finishInterp = t
469
		end
470
	end
471
	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
472
end
473
474
function Clerp(a, b, t)
475
	local qa = {QuaternionFromCFrame(a)}
476
	local qb = {QuaternionFromCFrame(b)}
477
	local ax, ay, az = a.x, a.y, a.z
478
	local bx, by, bz = b.x, b.y, b.z
479
	local _t = 1 - t
480
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
481
end
482
483
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
484
	local frame = IT("Frame")
485
	frame.BackgroundTransparency = TRANSPARENCY
486
	frame.BorderSizePixel = BORDERSIZEPIXEL
487
	frame.Position = POSITION
488
	frame.Size = SIZE
489
	frame.BackgroundColor3 = COLOR
490
	frame.BorderColor3 = BORDERCOLOR
491
	frame.Name = NAME
492
	frame.Parent = PARENT
493
	return frame
494
end
495
496
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
497
	local label = IT("TextLabel")
498
	label.BackgroundTransparency = 1
499
	label.Size = UD2(1, 0, 1, 0)
500
	label.Position = UD2(0, 0, 0, 0)
501
	label.TextColor3 = C3(255, 255, 255)
502
	label.TextStrokeTransparency = STROKETRANSPARENCY
503
	label.TextTransparency = TRANSPARENCY
504
	label.FontSize = TEXTFONTSIZE
505
	label.Font = TEXTFONT
506
	label.BorderSizePixel = BORDERSIZEPIXEL
507
	label.TextScaled = true
508
	label.Text = TEXT
509
	label.Name = NAME
510
	label.Parent = PARENT
511
	return label
512
end
513
514
function NoOutlines(PART)
515
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
516
end
517
518
519
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
520
	local NEWWELD = IT(TYPE)
521
	NEWWELD.Part0 = PART0
522
	NEWWELD.Part1 = PART1
523
	NEWWELD.C0 = C0
524
	NEWWELD.C1 = C1
525
	NEWWELD.Parent = PARENT
526
	return NEWWELD
527
end
528
529
function CreateSound(ID, PARENT, VOLUME, PITCH)
530
	coroutine.resume(coroutine.create(function()
531
		local NEWSOUND = IT("Sound", PARENT)
532
		NEWSOUND.Volume = VOLUME
533
		NEWSOUND.Pitch = PITCH
534
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
535
		Swait()
536
		NEWSOUND:play()
537
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
538
	end))
539
end
540
541
542
--//=================================\\
543
--\\=================================//
544
545
546
--//=================================\\
547
--||	     WEAPON CREATION
548
--\\=================================//
549
550
local Handle = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(1.8,3.5,1.8))
551
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))
552
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2.2,1,2.2))
553
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))
554
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2,0.3,2))
555
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))
556
local HandlePart = CreatePart(3, Weapon, "Brick", 0, 0, "Tawny", "Handle", VT(2,0.3,2))
557
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))
558
local Opening = CreatePart(3, Weapon, "Plastic", 0, 0, "Really black", "Handle", VT(1.2,0.6,0.1))
559
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))
560
local HandlePart = CreatePart(3, Weapon, "Metal", 0, 0, "Stone grey", "Handle", VT(1,1,0.1))
561
local decal = Instance.new("Decal",HandlePart)
562
decal.Texture = "http://www.roblox.com/asset/?id=140490792"
563
decal.Face = "Back"
564
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))
565
566
for _, c in pairs(Weapon:GetChildren()) do
567
	if c.ClassName == "Part" then
568
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
569
	end
570
end
571
572
local chuck = Instance.new("Sound",Effects)
573
chuck.SoundId = "rbxassetid://11900833"
574
chuck.Pitch = 2
575
chuck.Volume = 1
576
577
Weapon.Parent = Character
578
579
Humanoid.Died:connect(function()
580
	ATTACK = true
581
end)
582
583
print(Class_Name.." loaded.")
584
585
--//=================================\\
586
--\\=================================//
587
588
function dealdamage(hit,min,max,maxstrength,beserk)
589
	if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
590
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
591
		local dmg = math.random(min,max)
592
		if humanoid.Health > 0 then
593
			if beserk == true then
594
				humanoid.Health = 0
595
			else
596
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
597
				--hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
598
				humanoid.Health = humanoid.Health - dmg
599
				--StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(255/255, 0, 0))
600
				local defence = Instance.new("BoolValue",hit.Parent)
601
				defence.Name = ("HitBy"..Player.Name)
602
				game:GetService("Debris"):AddItem(defence, 0.05)
603
			end
604
		end
605
	end
606
end
607
608
--//=================================\\
609
--\\=================================//
610
611
function chatfunc(text)
612
local chat = coroutine.wrap(function()
613
if Character:FindFirstChild("TalkingBillBoard")~= nil then
614
Character:FindFirstChild("TalkingBillBoard"):destroy()
615
end
616
local naeeym2 = Instance.new("BillboardGui",Character)
617
naeeym2.Size = UDim2.new(0,100,0,40)
618
naeeym2.StudsOffset = Vector3.new(0,3,0)
619
naeeym2.Adornee = Character.Head
620
naeeym2.Name = "TalkingBillBoard"
621
local tecks2 = Instance.new("TextLabel",naeeym2)
622
tecks2.BackgroundTransparency = 1
623
tecks2.BorderSizePixel = 0
624
tecks2.Text = ""
625
tecks2.Font = "SciFi"
626
tecks2.TextSize = 30
627
tecks2.TextStrokeTransparency = 1
628
tecks2.TextColor3 = Color3.new(0,0,0)
629
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
630
tecks2.Size = UDim2.new(1,0,0.5,0)
631
local tecks3 = Instance.new("TextLabel",naeeym2)
632
tecks3.BackgroundTransparency = 1
633
tecks3.BorderSizePixel = 0
634
tecks3.Text = ""
635
tecks3.Font = "SciFi"
636
tecks3.TextSize = 30
637
tecks3.TextStrokeTransparency = 1
638
tecks3.TextColor3 = Color3.new(0,0,0)
639
tecks3.TextStrokeColor3 = Color3.new(0,0,0)
640
tecks3.Size = UDim2.new(1,0,0.5,0)
641
for i = 1,string.len(text),1 do
642
tecks2.Text = string.sub(text,1,i)
643
tecks3.Text = string.sub(text,1,i)
644
wait(0.01)
645
end
646
wait(2)
647
for i = 1, 50 do
648
Swait()
649
tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
650
tecks2.Rotation = tecks2.Rotation - .8
651
tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
652
tecks2.TextTransparency = tecks2.TextTransparency + .04
653
tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
654
tecks3.Rotation = tecks2.Rotation + .8
655
tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
656
tecks3.TextTransparency = tecks2.TextTransparency + .04
657
end
658
naeeym2:Destroy()
659
end)
660
chat()
661
end
662
663
function onChatted(msg)
664-
	if msg == "Mailman's Wrath" then
664+
	if msg == "1" then
665-
		chatfunc("Spell card! "..msg.."!")
665+
		chatfunc("Spell card! Mailman's Wrath!")
666
		StartPosition()
667
		Swait(70)
668
		MailmansWrath()
669-
	elseif msg == "Papercut Chaos" then
669+
	elseif msg == "2" then
670
		StartPosition()
671-
		chatfunc("Spell card! "..msg.."!")
671+
		chatfunc("Spell card! Papercut Chaos!")
672
		Swait(70)
673
		PapercutChaos()
674-
	elseif msg == "Mailbox Madness" then
674+
	elseif msg == "3" then
675
		StartPosition()
676-
		chatfunc("Spell card! "..msg.."!")
676+
		chatfunc("Spell card! Mailbox Madness!")
677
		MailboxMadness()
678-
	elseif msg == "Final Inbox" then
678+
	elseif msg == "4" then
679
		StartPosition()
680-
		chatfunc("SPELL CARD! FINAL INBOX!")
680+
		chatfunc("SUPER SPELL CARD! MAIL FRENZY!!")
681
		Swait(80)	
682
		sick.SoundId = FinalInboxLink
683
        sick.Volume = 3
684
		sick:Play()
685-
		chatfunc("DIE!")
685+
		chatfunc("TASTE THE MAIL RUSH!")
686
		FinalInbox()
687
		sick.SoundId = NormalMusicLink
688
        sick.Volume = 0.6
689
		sick:Play()
690
	end
691
end
692
Player.Chatted:connect(onChatted)
693
694
--//=================================\\
695
--||	 	DANMAKU MADNESS
696
--\\=================================//
697
698
local Mail = Instance.new("Part")
699
	Mail.Size = Vector3.new(2, 0.05, 1)
700
	Mail.Color = Color3.new(1,1,1)
701
	Mail.CanCollide = false
702
	local maildecal = Instance.new("Decal",Mail)
703
	maildecal.Face = "Top"
704
	maildecal.Texture = "http://www.roblox.com/asset/?id=8052441"
705
	Mail.BottomSurface = "Smooth"
706
	Mail.Name = "Mail"
707
708
function ShootMail(part,strength,debris)
709
	local mail = Mail:Clone()
710
	mail.CFrame = part.CFrame
711
	mail.Parent = Effects
712
	game:GetService("Debris"):AddItem(mail ,debris)
713
	local bv = Instance.new("BodyVelocity") 
714
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
715
	bv.velocity = part.CFrame.lookVector*strength
716
	bv.Parent = mail
717
	bv.Name = "DASH"
718
	local hit = mail.Touched:connect(function(hit) 
719
		if hit.Parent ~= Character and hit.Parent.ClassName ~= "Accessory" and hit.Name ~= "Mail" then
720
			dealdamage(hit,15,45,40)
721
		end
722
	end)
723
	return mail
724
end
725
726
function MagicSphere(BRICKCOLOR, MATERIAL, PART, CFRAME, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
727
end
728
729
730
function StartPosition()
731
	ATTACK = true
732
	Rooted = true
733
	for i=0, 1, 0.1 / Animation_Speed/1.2 do
734
		Swait()
735
		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)
736
		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)
737
		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)
738
		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)
739
		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)
740
		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)
741
	end
742
end
743
744
function MailmansWrath()
745
	local twist = 0
746
	local twist2 = false
747
	local twist3 = 1
748
	local spinpart = Instance.new("Part",Weapon)
749
	spinpart.Anchored = true
750
	spinpart.CanCollide = false
751
	spinpart.Transparency = 1
752
	spinpart.CFrame = Opening.CFrame
753
	local spinpart2 = Instance.new("Part",Weapon)
754
	spinpart2.Anchored = true
755
	spinpart2.CanCollide = false
756
	spinpart2.Transparency = 1
757
	spinpart2.CFrame = Opening.CFrame
758
	for i = 1, 30 do
759
		chuck:Play()
760
		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)
761
		twist = twist + 1
762
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
763
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
764
		if twist == 10 then
765
			spinpart.CFrame = Opening.CFrame
766
			spinpart2.CFrame = Opening.CFrame
767
			twist = 0
768
		end
769
		ShootMail(spinpart,65,2)
770
		ShootMail(spinpart2,65,2)
771
		Swait(5)
772
	end
773
	spinpart.CFrame = Opening.CFrame
774
	spinpart2.CFrame = Opening.CFrame
775
	twist = 10
776
	for i = 1, 40 do
777
		chuck:Play()
778
		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)
779
		twist = twist + 1
780
		if twist2 == true then
781
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
782
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
783
		elseif twist2 == false then
784
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
785
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
786
		end
787
		if twist == 20 then
788
			if twist2 == false then
789
				twist2 = true
790
			elseif twist2 == true then
791
				twist2 = false
792
			end
793
			twist = 0
794
		end
795
		ShootMail(spinpart,65,2)
796
		ShootMail(spinpart2,65,2)
797
		Swait(5)
798
	end
799
	spinpart.CFrame = Opening.CFrame
800
	spinpart2.CFrame = Opening.CFrame
801
	twist = 0
802
	for i = 1, 30 do
803
		chuck:Play()
804
		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)
805
		twist = twist + 1
806
		spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.15, 0)
807
		spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.15, 0)
808
		if twist == 10 then
809
			spinpart.CFrame = Opening.CFrame
810
			spinpart2.CFrame = Opening.CFrame
811
			twist = 0
812
		end
813
		ShootMail(spinpart,75,2)
814
		ShootMail(spinpart2,75,2)
815
		Swait(5)
816
	end
817
	spinpart:remove()
818
	spinpart2:remove()
819
	ATTACK = false
820
	Rooted = false
821
end
822
823
function PapercutChaos()
824
	local twist = 0
825
	for i = 1, 5 do
826
	chuck:Play()
827
	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)
828
	local mail = ShootMail(Opening,25,20)
829
		for i = 1, 15 do
830
			chuck:Play()
831
			local spinpart = Instance.new("Part",Weapon)
832
			spinpart.Anchored = true
833
			spinpart.CanCollide = false
834
			spinpart.Transparency = 1
835
			spinpart.CFrame = mail.CFrame
836
			local spinpart2 = Instance.new("Part",Weapon)
837
			spinpart2.Anchored = true
838
			spinpart2.CanCollide = false
839
			spinpart2.Transparency = 1
840
			spinpart2.CFrame = mail.CFrame
841
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 70, 0)
842
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -70, 0)
843
			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)
844
			ShootMail(spinpart,35,2)
845
			ShootMail(spinpart2,35,2)
846
			spinpart:remove()
847
			spinpart2:remove()
848
			Swait(5)
849
		end
850
		mail:remove()
851
	end
852
	for i = 1, 2 do
853
	chuck:Play()
854
	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)
855
	local mail = ShootMail(Opening,45,20)
856
		for i = 1, 20 do
857
			twist = twist + 1
858
			chuck:Play()
859
			local spinpart = Instance.new("Part",Weapon)
860
			spinpart.Anchored = true
861
			spinpart.CanCollide = false
862
			spinpart.Transparency = 1
863
			spinpart.CFrame = mail.CFrame
864
			local spinpart2 = Instance.new("Part",Weapon)
865
			spinpart2.Anchored = true
866
			spinpart2.CanCollide = false
867
			spinpart2.Transparency = 1
868
			spinpart2.CFrame = mail.CFrame
869
			spinpart.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
870
			spinpart2.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
871
			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)
872
			ShootMail(spinpart,35,2)
873
			ShootMail(spinpart2,35,2)
874
			spinpart:remove()
875
			spinpart2:remove()
876
			Swait(5)
877
		end
878
		twist = 0
879
		mail:remove()
880
	end
881
	ATTACK = false
882
	Rooted = false
883
end
884
885
function MailboxMadness()
886
	for i = 1, 15 do
887
		chuck:Play()
888
		local part = Instance.new("Part")
889
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
890
		part.Orientation = RootPart.Orientation
891
		part.CanCollide = false
892
		part.Anchored = true
893
		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)
894
		local spinpart = Instance.new("Part",Weapon)
895
		spinpart.Anchored = true
896
		spinpart.CanCollide = false
897
		spinpart.Transparency = 1
898
		spinpart.CFrame = part.CFrame
899
		local spinpart2 = Instance.new("Part",Weapon)
900
		spinpart2.Anchored = true
901
		spinpart2.CanCollide = false
902
		spinpart2.Transparency = 1
903
		spinpart2.CFrame = part.CFrame
904
		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)
905
		part:remove()
906
		for i = 1, 15 do
907
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
908
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
909
			ShootMail(spinpart,50,2)
910
			ShootMail(spinpart2,50,2)
911
		end
912
		spinpart:remove()
913
		spinpart2:remove()
914
		Swait(35)
915
	end
916
	ATTACK = false
917
	Rooted = false
918
end
919
920
function FinalInbox()
921
	local twist = 0
922
	local twist2 = false
923
	for i = 1, 5 do
924
		local part = Instance.new("Part")
925
		part.CFrame = RootPart.CFrame * CF(math.random(-35,35),0,math.random(-70,-35))
926
		part.Orientation = RootPart.Orientation
927
		part.CanCollide = false
928
		part.Anchored = true
929
		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)
930
		local spinpart = Instance.new("Part",Weapon)
931
		spinpart.Anchored = true
932
		spinpart.CanCollide = false
933
		spinpart.Transparency = 1
934
		spinpart.CFrame = part.CFrame
935
		local spinpart2 = Instance.new("Part",Weapon)
936
		spinpart2.Anchored = true
937
		spinpart2.CanCollide = false
938
		spinpart2.Transparency = 1
939
		spinpart2.CFrame = part.CFrame
940
		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)
941
		part:remove()
942
		local spinpart3 = Instance.new("Part",Weapon)
943
		spinpart3.Anchored = true
944
		spinpart3.CanCollide = false
945
		spinpart3.Transparency = 1
946
		spinpart3.CFrame = RootPart.CFrame * CF(0,0,-50)
947
		local spinpart4 = Instance.new("Part",Weapon)
948
		spinpart4.Anchored = true
949
		spinpart4.CanCollide = false
950
		spinpart4.Transparency = 1
951
		spinpart4.CFrame = RootPart.CFrame * CF(0,0,-50)
952
		for i = 1, 30 do
953
			chuck:Play()
954
			spinpart3.CFrame = spinpart3.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
955
			spinpart4.CFrame = spinpart4.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
956
			spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
957
			spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
958
			ShootMail(spinpart,50,2)
959
			ShootMail(spinpart2,-50,2)
960
			ShootMail(spinpart3,100,1)
961
			ShootMail(spinpart4,-100,1)
962
			Swait(10)
963
		end
964
		spinpart:remove()
965
		spinpart2:remove()
966
		spinpart3:remove()
967
		spinpart4:remove()
968
	end
969
	chuck:Play()
970
	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)
971
	for i = 1, 2 do
972
		twist = 10
973
		local spinpart = Instance.new("Part",Weapon)
974
		spinpart.Anchored = true
975
		spinpart.CanCollide = false
976
		spinpart.Transparency = 1
977
		spinpart.CFrame = Opening.CFrame
978
		local spinpart2 = Instance.new("Part",Weapon)
979
		spinpart2.Anchored = true
980
		spinpart2.CanCollide = false
981
		spinpart2.Transparency = 1
982
		spinpart2.CFrame = Opening.CFrame
983
		local mail = ShootMail(Opening,25,20)
984
		for i = 1, 50 do
985
			chuck:Play()
986
			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)
987
			twist = twist + 1
988
			if twist2 == true then
989
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
990
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
991
			elseif twist2 == false then
992
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
993
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
994
			end
995
			if twist == 20 then
996
				if twist2 == false then
997
					twist2 = true
998
				elseif twist2 == true then
999
					twist2 = false
1000
				end
1001
				twist = 0
1002
			end
1003
			ShootMail(spinpart,125,1)
1004
			ShootMail(spinpart2,125,1)
1005
			local spinpart3 = Instance.new("Part",Weapon)
1006
			spinpart3.Anchored = true
1007
			spinpart3.CanCollide = false
1008
			spinpart3.Transparency = 1
1009
			spinpart3.CFrame = mail.CFrame
1010
			local spinpart4 = Instance.new("Part",Weapon)
1011
			spinpart4.Anchored = true
1012
			spinpart4.CanCollide = false
1013
			spinpart4.Transparency = 1
1014
			spinpart4.CFrame = mail.CFrame
1015
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1016
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1017
			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)
1018
			ShootMail(spinpart3,85,1)
1019
			ShootMail(spinpart4,85,1)
1020
			spinpart3:remove()
1021
			spinpart4:remove()
1022
			Swait(10)
1023
		end
1024
		spinpart:remove()
1025
		spinpart2:remove()
1026
		twist = 0
1027
		mail:remove()
1028
	end
1029
	for i = 1, 4 do
1030
		twist = 10
1031
		local spinpart = Instance.new("Part",Weapon)
1032
		spinpart.Anchored = true
1033
		spinpart.CanCollide = false
1034
		spinpart.Transparency = 1
1035
		spinpart.CFrame = Opening.CFrame
1036
		local spinpart2 = Instance.new("Part",Weapon)
1037
		spinpart2.Anchored = true
1038
		spinpart2.CanCollide = false
1039
		spinpart2.Transparency = 1
1040
		spinpart2.CFrame = Opening.CFrame
1041
		local spinpart5 = Instance.new("Part",Weapon)
1042
		spinpart5.Anchored = true
1043
		spinpart5.CanCollide = false
1044
		spinpart5.Transparency = 1
1045
		spinpart5.CFrame = RootPart.CFrame * CF(0,0,-50)
1046
		local spinpart6 = Instance.new("Part",Weapon)
1047
		spinpart6.Anchored = true
1048
		spinpart6.CanCollide = false
1049
		spinpart6.Transparency = 1
1050
		spinpart6.CFrame = RootPart.CFrame * CF(0,0,-50)
1051
		local mail = ShootMail(Opening,25,20)
1052
		for i = 1, 50 do
1053
			chuck:Play()
1054
			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)
1055
			twist = twist + 1
1056
			spinpart5.CFrame = spinpart5.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1057
			spinpart6.CFrame = spinpart6.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.4, 0)
1058
			if twist2 == true then
1059
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.2, 0)
1060
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, 0.1, 0)
1061
			elseif twist2 == false then
1062
				spinpart.CFrame = spinpart.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.2, 0)
1063
				spinpart2.CFrame = spinpart2.CFrame * CFrame.fromEulerAnglesXYZ(0, -0.1, 0)
1064
			end
1065
			if twist == 20 then
1066
				if twist2 == false then
1067
					twist2 = true
1068
				elseif twist2 == true then
1069
					twist2 = false
1070
				end
1071
				twist = 0
1072
			end
1073
			ShootMail(spinpart,125,1)
1074
			ShootMail(spinpart2,125,1)
1075
			ShootMail(spinpart5,100,1)
1076
			ShootMail(spinpart6,-100,1)
1077
			local spinpart3 = Instance.new("Part",Weapon)
1078
			spinpart3.Anchored = true
1079
			spinpart3.CanCollide = false
1080
			spinpart3.Transparency = 1
1081
			spinpart3.CFrame = mail.CFrame
1082
			local spinpart4 = Instance.new("Part",Weapon)
1083
			spinpart4.Anchored = true
1084
			spinpart4.CanCollide = false
1085
			spinpart4.Transparency = 1
1086
			spinpart4.CFrame = mail.CFrame
1087
			spinpart3.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, twist, 0)
1088
			spinpart4.CFrame = mail.CFrame * CFrame.fromEulerAnglesXYZ(0, -twist, 0)
1089
			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)
1090
			ShootMail(spinpart3,85,1)
1091
			ShootMail(spinpart4,85,1)
1092
			spinpart3:remove()
1093
			spinpart4:remove()
1094
			Swait(10)
1095
		end
1096
		spinpart:remove()
1097
		spinpart2:remove()
1098
		spinpart5:remove()
1099
		spinpart6:remove()
1100
		twist = 0
1101
		mail:remove()
1102
	end
1103
	ATTACK = false
1104
	Rooted = false
1105
end
1106
1107
--//=================================\\
1108
--||	  ASSIGN THINGS TO KEYS
1109
--\\=================================//
1110
1111
Humanoid.Changed:connect(function(Jump)
1112
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1113
		Humanoid.Jump = false
1114
	end
1115
end)
1116
1117
--//=================================\\
1118
--\\=================================//
1119
1120
1121
function unanchor()
1122
	if UNANCHOR == true then
1123
		g = Character:GetChildren()
1124
		for i = 1, #g do
1125
			if g[i].ClassName == "Part" then
1126
				g[i].Anchored = false
1127
			end
1128
		end
1129
	end
1130
end
1131
1132
1133
--//=================================\\
1134
--||	WRAP THE WHOLE SCRIPT UP
1135
--\\=================================//
1136
1137
Humanoid.Changed:connect(function(Jump)
1138
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1139
		Humanoid.Jump = false
1140
	end
1141
end)
1142
1143
		ANIMATE.Parent = nil
1144
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1145
		IDLEANIMATION:Play()
1146
		Swait()
1147
		ANIMATOR.Parent = nil
1148
		Disable_Jump = true
1149
1150
while true do
1151
	Swait()
1152
	SINE = SINE + CHANGE
1153
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1154
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1155
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1156
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1157
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1158
		if ANIM == "Walk" and TORSOVELOCITY > 1 then
1159
			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)
1160
			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)
1161
			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)
1162
			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)
1163
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1164
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1165
			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)
1166
			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)
1167
			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)
1168
		end
1169
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1170
			ANIM = "Jump"
1171
			if ATTACK == false then
1172
				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)
1173
				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)
1174
				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)
1175
				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)
1176
				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)
1177
				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)
1178
	        end
1179
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1180
			ANIM = "Fall"
1181
			if ATTACK == false then
1182
				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)
1183
				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)
1184
				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)
1185
				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)
1186
				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)
1187
				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)
1188
			end
1189
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1190
			ANIM = "Idle"
1191
			if ATTACK == false then
1192
				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)
1193
				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)
1194
				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)
1195
				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)
1196
				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)
1197
				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)
1198
			end
1199
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1200
			ANIM = "Walk"
1201
			WALK = WALK + 1 / Animation_Speed
1202
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1203
				WALK = 0
1204
				if WALKINGANIM == true then
1205
					WALKINGANIM = false
1206
				elseif WALKINGANIM == false then
1207
					WALKINGANIM = true
1208
				end
1209
			end
1210
			--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)
1211
			--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)
1212
			if ATTACK == false then
1213
				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)
1214
				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)
1215
				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)
1216
				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)
1217
				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)
1218
				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)
1219
			end
1220
		end
1221
if #Effects2>0 then
1222
for e=1,#Effects2 do
1223
if Effects2[e]~=nil then
1224
local Thing=Effects2[e]
1225
if Thing~=nil then
1226
local Part=Thing[1]
1227
local Mode=Thing[2]
1228
local Delay=Thing[3]
1229
local IncX=Thing[4]
1230
local IncY=Thing[5]
1231
local IncZ=Thing[6]
1232
local Part2=Thing[8]
1233
if Thing[1].Transparency<=1 then
1234
if Thing[2]=="Block1" then
1235
Thing[1].CFrame=Part2.CFrame
1236
Mesh=Thing[1].Mesh
1237
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1238
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1239
elseif Thing[2]=="Cylinder" then
1240
Mesh=Thing[1].Mesh
1241
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1242
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1243
elseif Thing[2]=="Blood" then
1244
Mesh=Thing[7]
1245
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1246
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1247
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1248
elseif Thing[2]=="Elec" then
1249
Mesh=Thing[1].Mesh
1250
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1251
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1252
elseif Thing[2]=="Disappear" then
1253
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1254
end
1255
else
1256
Part.Parent=nil
1257
table.remove(Effects2,e)
1258
end
1259
end
1260
end
1261
end
1262
end
1263
unanchor()
1264
Humanoid.MaxHealth = "inf"
1265
Humanoid.Health = "inf"
1266
if Rooted == false then
1267
	--Disable_Jump = false
1268
	Humanoid.WalkSpeed = Speed
1269
elseif Rooted == true then
1270
	Disable_Jump = true
1271
	Humanoid.WalkSpeed = 0
1272
end
1273
--print(TORSOVELOCITY)
1274
end
1275
1276
--//=================================\\
1277
--\\=================================//
1278
1279
1280
1281
1282
1283
--//====================================================\\--
1284
--||			  		 END OF SCRIPT
1285
--\\====================================================//--