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