View difference between Paste ID: Bff5xtxv and Ln7wdGWr
SHOW: | | - or go back to the newest paste.
1-
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
1+
2-
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
2+
3-
local RealPlayer = Player
3+
4-
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer end
4+
5
6
7
8
Player = game:GetService("Players").LocalPlayer
9
PlayerGui = Player.PlayerGui
10
Cam = workspace.CurrentCamera
11
Backpack = Player.Backpack
12
Character = Player.Character
13
Humanoid = Character.Humanoid
14
Mouse = Player:GetMouse()
15
RootPart = Character["HumanoidRootPart"]
16
Torso = Character["Torso"]
17
Head = Character["Head"]
18
RightArm = Character["Right Arm"]
19
LeftArm = Character["Left Arm"]
20
RightLeg = Character["Right Leg"]
21
LeftLeg = Character["Left Leg"]
22
RootJoint = RootPart["RootJoint"]
23
Neck = Torso["Neck"]
24
RightShoulder = Torso["Right Shoulder"]
25
LeftShoulder = Torso["Left Shoulder"]
26
RightHip = Torso["Right Hip"]
27
LeftHip = Torso["Left Hip"]
28
local sick = Instance.new("Sound",Character)
29
sick.SoundId = "rbxassetid://1110421128"
30
sick.Looped = true
31
sick.Pitch = 1
32
sick.Volume = 3
33
sick:Play()
34
local target = nil
35
36
IT = Instance.new
37
CF = CFrame.new
38
VT = Vector3.new
39
RAD = math.rad
40
C3 = Color3.new
41
UD2 = UDim2.new
42
BRICKC = BrickColor.new
43
ANGLES = CFrame.Angles
44
EULER = CFrame.fromEulerAnglesXYZ
45
COS = math.cos
46
ACOS = math.acos
47
SIN = math.sin
48
ASIN = math.asin
49
ABS = math.abs
50
MRANDOM = math.random
51
FLOOR = math.floor
52
53
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
54
	local NEWMESH = IT(MESH)
55
	if MESH == "SpecialMesh" then
56
		NEWMESH.MeshType = MESHTYPE
57
		if MESHID ~= "nil" and MESHID ~= "" then
58
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
59
		end
60
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
61
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
62
		end
63
	end
64
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
65
	NEWMESH.Scale = SCALE
66
	NEWMESH.Parent = PARENT
67
	return NEWMESH
68
end
69
70
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
71
	local NEWPART = IT("Part")
72
	NEWPART.formFactor = FORMFACTOR
73
	NEWPART.Reflectance = REFLECTANCE
74
	NEWPART.Transparency = TRANSPARENCY
75
	NEWPART.CanCollide = false
76
	NEWPART.Locked = true
77
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
78
	NEWPART.Name = NAME
79
	NEWPART.Size = SIZE
80
	NEWPART.Position = Torso.Position
81
	NEWPART.Material = MATERIAL
82
	NEWPART:BreakJoints()
83
	NEWPART.Parent = PARENT
84
	return NEWPART
85
end
86
87
88
--//=================================\\
89
--||		  CUSTOMIZATION
90
--\\=================================//
91
92
Class_Name = "Template"
93
Weapon_Name = "Add-ons"
94
95
Custom_Colors = {
96
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
97
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
98
99
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
100
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
101
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
102
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
103
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
104
105
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
106
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
107
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
108
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
109
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
110
}
111
112
113
Player_Size = 1 --Size of the player.
114
Animation_Speed = 1
115
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
116
117
local Speed = 75
118
local Effects2 = {}
119
120
--//=================================\\
121
--|| 	  END OF CUSTOMIZATION
122
--\\=================================//
123
124
	local function weldBetween(a, b)
125
	    local weldd = Instance.new("ManualWeld")
126
	    weldd.Part0 = a
127
	    weldd.Part1 = b
128
	    weldd.C0 = CFrame.new()
129
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
130
	    weldd.Parent = a
131
	    return weldd
132
	end
133
134
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
135
local acs = Instance.new("Part")
136
acs.CanCollide = false
137
acs.Anchored = false
138
acs.Size = Vector3.new(0,0,0)
139
acs.CFrame = attachmentpart.CFrame
140
acs.Parent = Character
141
acs.BrickColor = color
142
    local meshs = Instance.new("SpecialMesh")
143
    meshs.MeshId = mesh
144
    meshs.TextureId = texture
145
    meshs.Parent = acs
146
    meshs.Scale = scale
147
    meshs.Offset = offset
148
weldBetween(attachmentpart,acs)
149
end
150
151
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
152
if TYPE == "Gem" then
153
	local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
154
	acs.Anchored = false
155
    acs.CanCollide = false
156
	acs.CFrame = PART.CFrame
157
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
158
weldBetween(PART,acs)
159
elseif TYPE == "Skull" 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", "4770583", "", SIZE, OFFSET)
165
weldBetween(PART,acs)
166
elseif TYPE == "Eye" then
167
	local acs = CreatePart(3, Character, "Neon", 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, "Sphere", "", "", SIZE, OFFSET)
172
weldBetween(PART,acs)
173
end
174
end
175
176
--//=================================\\
177
--|| 	      USEFUL VALUES
178
--\\=================================//
179
180
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
181
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
182
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
183
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
184
local CO1 = 0
185
local CO2 = 0
186
local CO3 = 0
187
local CO4 = 0
188
local CHANGEDEFENSE = 0
189
local CHANGEDAMAGE = 0
190
local CHANGEMOVEMENT = 0
191
local ANIM = "Idle"
192
local ATTACK = false
193
local EQUIPPED = false
194
local HOLD = false
195
local COMBO = 1
196
local LASTPOINT = nil
197
local BLCF = nil
198
local SCFR = nil
199
local STAGGERHITANIM = false
200
local STAGGERANIM = false
201
local STUNANIM = false
202
local CRITCHANCENUMBER = 0
203
local IDLENUMBER = 0
204
local DONUMBER = 0
205
local HANDIDLE = false
206
local SINE = 0
207
local CHANGE = 2 / Animation_Speed
208
local WALKINGANIM = false
209
local WALK = 0
210
local DISABLEJUMPING = false
211
local HASBEENBLOCKED = false
212
local STUNDELAYNUMBER = 0
213
local MANADELAYNUMBER = 0
214
local SECONDARYMANADELAYNUMBER = 0
215
local ROBLOXIDLEANIMATION = IT("Animation")
216
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
217
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
218
--ROBLOXIDLEANIMATION.Parent = Humanoid
219
local WEAPONGUI = IT("ScreenGui", nil)
220
WEAPONGUI.Name = "Weapon GUI"
221
local WEAPONTOOL = IT("HopperBin", nil)
222
WEAPONTOOL.Name = Weapon_Name
223
local Weapon = IT("Model")
224
Weapon.Name = Weapon_Name
225
local Effects = IT("Folder", Weapon)
226
Effects.Name = "Effects"
227
local ANIMATOR = Humanoid.Animator
228
local ANIMATE = Character.Animate
229
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
230
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
231
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
232
local HITBLOCKSOUNDS = {"199148933", "199148947"}
233
local UNANCHOR = true
234
235
--//=================================\\
236
--\\=================================//
237
238
--//=================================\\
239
--||			  STATS
240
--\\=================================//
241
242
if Character:FindFirstChild("Stats") ~= nil then
243
Character:FindFirstChild("Stats").Parent = nil
244
end
245
246
local Stats = IT("Folder", nil)
247
Stats.Name = "Stats"
248
local ChangeStat = IT("Folder", Stats)
249
ChangeStat.Name = "ChangeStat"
250
local Defense = IT("NumberValue", Stats)
251
Defense.Name = "Defense"
252
Defense.Value = 1
253
local Movement = IT("NumberValue", Stats)
254
Movement.Name = "Movement"
255
Movement.Value = 1
256
local Damage = IT("NumberValue", Stats)
257
Damage.Name = "Damage"
258
Damage.Value = 1
259
local Mana = IT("NumberValue", Stats)
260
Mana.Name = "Mana"
261
Mana.Value = 0
262
local SecondaryMana = IT("NumberValue", Stats)
263
SecondaryMana.Name = "SecondaryMana"
264
SecondaryMana.Value = 0
265
local CanCrit = IT("BoolValue", Stats)
266
CanCrit.Name = "CanCrit"
267
CanCrit.Value = false
268
local CritChance = IT("NumberValue", Stats)
269
CritChance.Name = "CritChance"
270
CritChance.Value = 20
271
local CanPenetrateArmor = IT("BoolValue", Stats)
272
CanPenetrateArmor.Name = "CanPenetrateArmor"
273
CanPenetrateArmor.Value = false
274
local AntiTeamKill = IT("BoolValue", Stats)
275
AntiTeamKill.Name = "AntiTeamKill"
276
AntiTeamKill.Value = false
277
local Rooted = IT("BoolValue", Stats)
278
Rooted.Name = "Rooted"
279
Rooted.Value = false
280
local Block = IT("BoolValue", Stats)
281
Block.Name = "Block"
282
Block.Value = false
283
local RecentEnemy = IT("ObjectValue", Stats)
284
RecentEnemy.Name = "RecentEnemy"
285
RecentEnemy.Value = nil
286
local StaggerHit = IT("BoolValue", Stats)
287
StaggerHit.Name = "StaggerHit"
288
StaggerHit.Value = false
289
local Stagger = IT("BoolValue", Stats)
290
Stagger.Name = "Stagger"
291
Stagger.Value = false
292
local Stun = IT("BoolValue", Stats)
293
Stun.Name = "Stun"
294
Stun.Value = false
295
local StunValue = IT("NumberValue", Stats)
296
StunValue.Name = "StunValue"
297
StunValue.Value = 0
298
299
300
--//=================================\\
301
--\\=================================//
302
303
304
abss = Instance.new("BillboardGui")
305
abss.Size = UDim2.new(10,0,10,0)
306
abss.Enabled = false
307
abss.AlwaysOnTop = true
308
img2 = Instance.new("ImageLabel",abss)
309
img2.Position = UDim2.new(0.35,0,0.35,0)
310
img2.Size = UDim2.new(0.3,0,0.3,0)
311
img2.Image = "rbxassetid://108413215"
312
img2.BackgroundTransparency = 1
313
img2.ImageColor3 = Color3.new(1,1,1)
314
315
local boop = nil
316
317
318
--//=================================\\
319
--|| 	     DEBUFFS / BUFFS
320
--\\=================================//
321
322
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
323
DEFENSECHANGE1.Name = "ChangeDefense"
324
DEFENSECHANGE1.Value = 0
325
326
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
327
MOVEMENTCHANGE1.Name = "ChangeMovement"
328
MOVEMENTCHANGE1.Value = 0
329
330
--//=================================\\
331
--\\=================================//
332
333
334
335
336
337
--//=================================\\
338
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
339
--\\=================================//
340
341
ArtificialHB = Instance.new("BindableEvent", script)
342
ArtificialHB.Name = "ArtificialHB"
343
344
script:WaitForChild("ArtificialHB")
345
346
frame = Frame_Speed
347
tf = 0
348
allowframeloss = false
349
tossremainder = false
350
lastframe = tick()
351
script.ArtificialHB:Fire()
352
353
game:GetService("RunService").Heartbeat:connect(function(s, p)
354
	tf = tf + s
355
	if tf >= frame then
356
		if allowframeloss then
357
			script.ArtificialHB:Fire()
358
			lastframe = tick()
359
		else
360
			for i = 1, math.floor(tf / frame) do
361
				script.ArtificialHB:Fire()
362
			end
363
		lastframe = tick()
364
		end
365
		if tossremainder then
366
			tf = 0
367
		else
368
			tf = tf - frame * math.floor(tf / frame)
369
		end
370
	end
371
end)
372
373
--//=================================\\
374
--\\=================================//
375
376
377
378
379
380
--//=================================\\
381
--|| 	      SOME FUNCTIONS
382
--\\=================================//
383
384
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
385
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
386
end
387
388
function PositiveAngle(NUMBER)
389
	if NUMBER >= 0 then
390
		NUMBER = 0
391
	end
392
	return NUMBER
393
end
394
395
function NegativeAngle(NUMBER)
396
	if NUMBER <= 0 then
397
		NUMBER = 0
398
	end
399
	return NUMBER
400
end
401
402
function Swait(NUMBER)
403
	if NUMBER == 0 or NUMBER == nil then
404
		ArtificialHB.Event:wait()
405
	else
406
		for i = 1, NUMBER do
407
			ArtificialHB.Event:wait()
408
		end
409
	end
410
end
411
412
function QuaternionFromCFrame(cf)
413
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
414
	local trace = m00 + m11 + m22
415
	if trace > 0 then 
416
		local s = math.sqrt(1 + trace)
417
		local recip = 0.5 / s
418
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
419
	else
420
		local i = 0
421
		if m11 > m00 then
422
			i = 1
423
		end
424
		if m22 > (i == 0 and m00 or m11) then
425
			i = 2
426
		end
427
		if i == 0 then
428
			local s = math.sqrt(m00 - m11 - m22 + 1)
429
			local recip = 0.5 / s
430
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
431
		elseif i == 1 then
432
			local s = math.sqrt(m11 - m22 - m00 + 1)
433
			local recip = 0.5 / s
434
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
435
		elseif i == 2 then
436
			local s = math.sqrt(m22 - m00 - m11 + 1)
437
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
438
		end
439
	end
440
end
441
 
442
function QuaternionToCFrame(px, py, pz, x, y, z, w)
443
	local xs, ys, zs = x + x, y + y, z + z
444
	local wx, wy, wz = w * xs, w * ys, w * zs
445
	local xx = x * xs
446
	local xy = x * ys
447
	local xz = x * zs
448
	local yy = y * ys
449
	local yz = y * zs
450
	local zz = z * zs
451
	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))
452
end
453
 
454
function QuaternionSlerp(a, b, t)
455
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
456
	local startInterp, finishInterp;
457
	if cosTheta >= 0.0001 then
458
		if (1 - cosTheta) > 0.0001 then
459
			local theta = ACOS(cosTheta)
460
			local invSinTheta = 1 / SIN(theta)
461
			startInterp = SIN((1 - t) * theta) * invSinTheta
462
			finishInterp = SIN(t * theta) * invSinTheta
463
		else
464
			startInterp = 1 - t
465
			finishInterp = t
466
		end
467
	else
468
		if (1 + cosTheta) > 0.0001 then
469
			local theta = ACOS(-cosTheta)
470
			local invSinTheta = 1 / SIN(theta)
471
			startInterp = SIN((t - 1) * theta) * invSinTheta
472
			finishInterp = SIN(t * theta) * invSinTheta
473
		else
474
			startInterp = t - 1
475
			finishInterp = t
476
		end
477
	end
478
	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
479
end
480
481
function Clerp(a, b, t)
482
	local qa = {QuaternionFromCFrame(a)}
483
	local qb = {QuaternionFromCFrame(b)}
484
	local ax, ay, az = a.x, a.y, a.z
485
	local bx, by, bz = b.x, b.y, b.z
486
	local _t = 1 - t
487
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
488
end
489
490
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
491
	local frame = IT("Frame")
492
	frame.BackgroundTransparency = TRANSPARENCY
493
	frame.BorderSizePixel = BORDERSIZEPIXEL
494
	frame.Position = POSITION
495
	frame.Size = SIZE
496
	frame.BackgroundColor3 = COLOR
497
	frame.BorderColor3 = BORDERCOLOR
498
	frame.Name = NAME
499
	frame.Parent = PARENT
500
	return frame
501
end
502
503
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
504
	local label = IT("TextLabel")
505
	label.BackgroundTransparency = 1
506
	label.Size = UD2(1, 0, 1, 0)
507
	label.Position = UD2(0, 0, 0, 0)
508
	label.TextColor3 = C3(255, 255, 255)
509
	label.TextStrokeTransparency = STROKETRANSPARENCY
510
	label.TextTransparency = TRANSPARENCY
511
	label.FontSize = TEXTFONTSIZE
512
	label.Font = TEXTFONT
513
	label.BorderSizePixel = BORDERSIZEPIXEL
514
	label.TextScaled = true
515
	label.Text = TEXT
516
	label.Name = NAME
517
	label.Parent = PARENT
518
	return label
519
end
520
521
function NoOutlines(PART)
522
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
523
end
524
525
526
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
527
	local NEWWELD = IT(TYPE)
528
	NEWWELD.Part0 = PART0
529
	NEWWELD.Part1 = PART1
530
	NEWWELD.C0 = C0
531
	NEWWELD.C1 = C1
532
	NEWWELD.Parent = PARENT
533
	return NEWWELD
534
end
535
536
function CreateSound(ID, PARENT, VOLUME, PITCH)
537
	coroutine.resume(coroutine.create(function()
538
		local NEWSOUND = IT("Sound", PARENT)
539
		NEWSOUND.Volume = VOLUME
540
		NEWSOUND.Pitch = PITCH
541
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
542
		Swait()
543
		NEWSOUND:play()
544
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
545
	end))
546
end
547
548
function CFrameFromTopBack(at, top, back)
549
	local right = top:Cross(back)
550
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
551
end
552
553
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
554
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
555
	local CURRENTPOSITION = POSITION1
556
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
557
	coroutine.resume(coroutine.create(function()
558
		for i = 1, MULTIPLIERTIME do 
559
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
560
			LIGHTNINGPART.Anchored = true
561
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
562
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
563
			if MULTIPLIERTIME == i then 
564
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
565
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
566
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
567
			else
568
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
569
			end
570
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
571
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
572
			coroutine.resume(coroutine.create(function()
573
				while LIGHTNINGPART.Transparency ~= 1 do
574
					--local StartTransparency = tra
575
					for i=0, 1, LASTINGTIME do
576
						Swait()
577
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
578
					end
579
				end
580
			end))
581
		Swait(LIGHTNINGDELAY / Animation_Speed)
582
		end
583
	end))
584
end
585
586
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
587
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
588
	EFFECTPART.Anchored = true
589
	EFFECTPART.CFrame = CFRAME
590
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
591
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
592
	coroutine.resume(coroutine.create(function(PART, MESH)
593
		for i = 0, 1, delay do
594
			Swait()
595
			PART.CFrame = PART.CFrame * ROTATION
596
			PART.Transparency = i
597
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
598
		end
599
		PART.Parent = nil
600
	end), EFFECTPART, EFFECTMESH)
601
end
602
603
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
604
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
605
	EFFECTPART.Anchored = true
606
	EFFECTPART.CFrame = CFRAME
607
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
608
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
609
	coroutine.resume(coroutine.create(function(PART, MESH)
610
		for i = 0, 1, delay do
611
			Swait()
612
			PART.CFrame = PART.CFrame * ROTATION
613
			PART.Transparency = i
614
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
615
		end
616
		PART.Parent = nil
617
	end), EFFECTPART, EFFECTMESH)
618
end
619
620
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
621
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
622
	EFFECTPART.Anchored = true
623
	EFFECTPART.CFrame = CFRAME
624
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
625
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
626
	coroutine.resume(coroutine.create(function(PART, MESH)
627
		for i = 0, 1, delay do
628
			Swait()
629
			PART.CFrame = PART.CFrame * ROTATION
630
			PART.Transparency = i
631
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
632
		end
633
		PART.Parent = nil
634
	end), EFFECTPART, EFFECTMESH)
635
end
636
637
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
638
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
639
	EFFECTPART.Anchored = true
640
	EFFECTPART.CFrame = CFRAME
641
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
642
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
643
	coroutine.resume(coroutine.create(function(PART, MESH)
644
		for i = 0, 1, delay do
645
			Swait()
646
			PART.CFrame = PART.CFrame * ROTATION
647
			PART.Transparency = i
648
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
649
		end
650
		PART.Parent = nil
651
	end), EFFECTPART, EFFECTMESH)
652
end
653
654
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
655
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
656
	EFFECTPART.Anchored = true
657
	EFFECTPART.CFrame = CFRAME
658
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
659
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
660
	coroutine.resume(coroutine.create(function(PART, MESH)
661
		for i = 0, 1, delay do
662
			Swait()
663
			PART.CFrame = PART.CFrame * ROTATION
664
			PART.Transparency = i
665
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
666
		end
667
		PART.Parent = nil
668
	end), EFFECTPART, EFFECTMESH)
669
end
670
671
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
672
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
673
	EFFECTPART.Anchored = true
674
	EFFECTPART.CFrame = CFRAME
675
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
676
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
677
	coroutine.resume(coroutine.create(function(PART, MESH)
678
		for i = 0, 1, delay do
679
			Swait()
680
			PART.CFrame = PART.CFrame * ROTATION
681
			PART.Transparency = i
682
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
683
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
684
		end
685
		PART.Parent = nil
686
	end), EFFECTPART, EFFECTMESH)
687
end
688
689
function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
690
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
691
	EFFECTPART.Anchored = true
692
	EFFECTPART.CFrame = CFRAME
693
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
694
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
695
	coroutine.resume(coroutine.create(function(PART, MESH)
696
		for i = 0, 1, delay do
697
			Swait()
698
			PART.CFrame = PART.CFrame * ROTATION
699
			PART.Transparency = i
700
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
701
		end
702
		PART.Parent = nil
703
	end), EFFECTPART, EFFECTMESH)
704
end
705
706
function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
707
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
708
	EFFECTPART.Anchored = true
709
	EFFECTPART.CFrame = CFRAME
710
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
711
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
712
	coroutine.resume(coroutine.create(function(PART, MESH)
713
		for i = 0, 1, delay do
714
			Swait()
715
			PART.CFrame = PART.CFrame * ROTATION
716
			PART.Transparency = i
717
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
718
		end
719
		PART.Parent = nil
720
	end), EFFECTPART, EFFECTMESH)
721
end
722
723
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
724
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
725
	EFFECTPART.Anchored = true
726
	EFFECTPART.CFrame = CFRAME
727
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
728
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
729
	coroutine.resume(coroutine.create(function(PART, MESH)
730
		for i = 0, 1, delay do
731
			Swait()
732
			PART.CFrame = PART.CFrame * ROTATION
733
			PART.Transparency = i
734
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
735
		end
736
		PART.Parent = nil
737
	end), EFFECTPART, EFFECTMESH)
738
end
739
740
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
741
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
742
	EFFECTPART.Anchored = true
743
	EFFECTPART.CFrame = CFRAME
744
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
745
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
746
	coroutine.resume(coroutine.create(function(PART, MESH)
747
		for i = 0, 1, delay do
748
			Swait()
749
			PART.CFrame = PART.CFrame * ROTATION
750
			PART.Transparency = i
751
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
752
		end
753
		PART.Parent = nil
754
	end), EFFECTPART, EFFECTMESH)
755
end
756
757
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
758
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
759
	EFFECTPART.Anchored = true
760
	EFFECTPART.CFrame = CFRAME
761
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
762
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
763
	coroutine.resume(coroutine.create(function(PART, MESH)
764
		for i = 0, 1, delay do
765
			Swait()
766
			PART.CFrame = PART.CFrame * ROTATION
767
			PART.Transparency = i
768
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
769
		end
770
		PART.Parent = nil
771
	end), EFFECTPART, EFFECTMESH)
772
end
773
774
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
775
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
776
	EFFECTPART.Anchored = true
777
	EFFECTPART.CFrame = CFRAME
778
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
779
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
780
	coroutine.resume(coroutine.create(function(PART, MESH)
781
		for i = 0, 1, delay do
782
			Swait()
783
			PART.CFrame = PART.CFrame * ROTATION
784
			PART.Transparency = i
785
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
786
		end
787
		PART.Parent = nil
788
	end), EFFECTPART, EFFECTMESH)
789
end
790
791
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
792
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
793
	EFFECTPART.Anchored = true
794
	EFFECTPART.CFrame = CFRAME
795
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
796
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
797
	coroutine.resume(coroutine.create(function(PART, MESH)
798
		for i = 0, 1, delay do
799
			Swait()
800
			PART.CFrame = PART.CFrame * ROTATION
801
			PART.Transparency = i
802
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
803
		end
804
		PART.Parent = nil
805
	end), EFFECTPART, EFFECTMESH)
806
end
807
808
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
809
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
810
	EFFECTPART.Anchored = true
811
	EFFECTPART.CFrame = CFRAME
812
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
813
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
814
	local XVALUE = MRANDOM()
815
	local YVALUE = MRANDOM()
816
	local ZVALUE = MRANDOM()
817
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
818
		for i = 0, 1, delay do
819
			Swait()
820
			PART.CFrame = PART.CFrame * ROTATION
821
			PART.Transparency = i
822
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
823
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
824
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
825
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
826
		end
827
		PART.Parent = nil
828
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
829
end
830
831
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
832
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
833
	if MAGNITUDECFRAME > (1 / 100) then
834
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
835
		EFFECTPART.Anchored = true
836
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
837
		local THEMESHTYPE = "BlockMesh"
838
		if MESHTYPE == "Cylinder" then
839
			THEMESHTYPE = "CylinderMesh"
840
		end
841
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
842
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
843
		coroutine.resume(coroutine.create(function(PART, MESH)
844
			for i = 0, 1, delay do
845
				Swait()
846
				PART.CFrame = PART.CFrame * ROTATION
847
				PART.Transparency = i
848
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
849
			end
850
			PART.Parent = nil
851
		end), EFFECTPART, EFFECTMESH)
852
	end
853
end
854
855
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
856
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
857
	EFFECTPART.Anchored = true
858
	EFFECTPART.CFrame = CFRAME
859
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
860
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
861
	local THELASTPOINT = CFRAME
862
	coroutine.resume(coroutine.create(function(PART)
863
		for i = 1, DURATION do
864
			Swait()
865
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
866
			TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
867
			THELASTPOINT = PART.CFrame
868
		end
869
		PART.Parent = nil
870
	end), EFFECTPART)
871
end
872
873
--local list={}
874
function Triangle(Color, Material, a, b, c, delay)
875
	local edge1 = (c - a):Dot((b - a).unit)
876
	local edge2 = (a - b):Dot((c - b).unit)
877
	local edge3 = (b - c):Dot((a - c).unit)
878
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
879
		a, b, c=a, b, c
880
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
881
		a, b, c=b, c, a
882
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
883
		a, b, c=c, a, b
884
	else
885
		assert(false, "unreachable")
886
	end
887
	local len1 = (c - a):Dot((b - a).unit)
888
	local len2 = (b - a).magnitude - len1
889
	local width = (a + (b - a).unit * len1 - c).magnitude
890
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
891
	if len1 > 1 / 100 then
892
		local sz = VT(0.2, width, len1)
893
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
894
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
895
		w1.Anchored = true
896
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
897
		coroutine.resume(coroutine.create(function()
898
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
899
				Swait()
900
				w1.Transparency = i
901
			end
902
			w1.Parent = nil
903
		end))
904
		game:GetService("Debris"):AddItem(w1, 10)
905
		--table.insert(list, w1)
906
	end
907
	if len2 > 1 / 100 then
908
		local sz = VT(0.2, width, len2)
909
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
910
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
911
		w2.Anchored = true
912
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
913
		coroutine.resume(coroutine.create(function()
914
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
915
				Swait()
916
				w2.Transparency = i
917
			end
918
			w2.Parent = nil
919
		end))
920
		game:GetService("Debris"):AddItem(w2, 10)
921
		--table.insert(list, w2)
922
	end
923
	--return unpack(list)
924
end
925
926
--[[Usage:
927
	local Pos = Part
928
	local Offset = Part.CFrame * CF(0, 0, 0)
929
	local Color = "Institutional white"
930
	local Material = "Neon"
931
	local TheDelay = 0.01
932
	local Height = 4
933
	BLCF = Offset
934
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
935
		local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
936
		if a then game:GetService("Debris"):AddItem(a, 1) end
937
		if b then game:GetService("Debris"):AddItem(b, 1) end
938
		local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
939
		if a then game:GetService("Debris"):AddItem(a, 1) end
940
		if b then game:GetService("Debris"):AddItem(b, 1) end
941
		SCFR = BLCF
942
	elseif not SCFR then
943
		SCFR = BLCF
944
	end
945
--
946
BLCF = nil
947
SCFR = nil
948
--]]
949
950
--//=================================\\
951
--\\=================================//
952
953
954
--//=================================\\
955
--||	     WEAPON CREATION
956
--\\=================================//
957
958
if Player_Size ~= 1 then
959
	for _, v in pairs (Weapon:GetChildren()) do
960
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
961
			local p1 = v.Part1
962
			v.Part1 = nil
963
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
964
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
965
			v.Part1 = p1
966
		elseif v.ClassName == "Part" then
967
			for _, b in pairs (v:GetChildren()) do
968
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
969
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
970
				end
971
			end
972
		end
973
	end
974
end
975
976
for _, c in pairs(Weapon:GetChildren()) do
977
	if c.ClassName == "Part" then
978
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
979
	end
980
end
981
982
Weapon.Parent = Character
983
984
Humanoid.Died:connect(function()
985
	ATTACK = true
986
end)
987
988
print(Class_Name.." loaded.")
989
990
--//=================================\\
991
--\\=================================//
992
993
994
995
996
997
--//=================================\\
998
--||	     DAMAGE FUNCTIONS
999
--\\=================================//
1000
1001
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1002
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1003
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1004
	local BODYGYRO = IT("BodyGyro", STATPART)
1005
	local BODYPOSITION = IT("BodyPosition", STATPART)
1006
	BODYPOSITION.P = 2000
1007
	BODYPOSITION.D = 100
1008
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1009
	if LABELTYPE == "Normal" then
1010
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1011
	elseif LABELTYPE == "Debuff" then
1012
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1013
	elseif LABELTYPE == "Interruption" then
1014
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1015
	end
1016
	game:GetService("Debris"):AddItem(STATPART ,5)
1017
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1018
	BILLBOARDGUI.Adornee = STATPART
1019
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1020
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1021
	BILLBOARDGUI.AlwaysOnTop = false
1022
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1023
	TEXTLABEL.BackgroundTransparency = 1
1024
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1025
	TEXTLABEL.Text = TEXT
1026
	TEXTLABEL.Font = "SciFi"
1027
	TEXTLABEL.FontSize="Size42"
1028
	TEXTLABEL.TextColor3 = COLOR
1029
	TEXTLABEL.TextStrokeTransparency = 1
1030
	TEXTLABEL.TextScaled = true
1031
	TEXTLABEL.TextWrapped = true
1032
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1033
		wait(0.2)
1034
		for i=1, 5 do
1035
			wait()
1036
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1037
		end
1038
		wait(1.2)
1039
		for i=1, 5 do
1040
			wait()
1041
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1042
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1043
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1044
		end
1045
		THEPART.Parent = nil
1046
	end),STATPART, BODYPOSITION, TEXTLABEL)
1047
end
1048
1049
1050
--//=================================\\
1051
--||			DAMAGING
1052
--\\=================================//
1053
1054
1055
1056
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
1057
	if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
1058
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
1059
		local dmg = math.random(min,max)
1060
		if humanoid.Health > 0 then
1061
			if beserk == true then
1062
				humanoid.Health = 0
1063
			else
1064
				CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
1065
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
1066
				if math.random(1,100) < critrate+1 then
1067
					humanoid.Health = humanoid.Health - dmg*critmultiplier
1068
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
1069
				else
1070
					humanoid.Health = humanoid.Health - dmg
1071
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(255/255, 0, 0))
1072
				end
1073
				local defence = Instance.new("BoolValue",hit.Parent)
1074
				defence.Name = ("HitBy"..Player.Name)
1075
				game:GetService("Debris"):AddItem(defence, 0.5)
1076
			end
1077
		end
1078
	end
1079
end
1080
1081
function killnearest(position,range,maxstrength)
1082
	for i,v in ipairs(workspace:GetChildren()) do
1083
	local body = v:GetChildren()
1084
		for part = 1, #body do
1085
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
1086
				if(body[part].Position - position).Magnitude < range then
1087
					if v.ClassName == "Model" then
1088
						v:BreakJoints()
1089
					end
1090
					--table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
1091
					body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1092
				end
1093
			end
1094
		end
1095
		if v.ClassName == "Part" then
1096
			if v.Anchored == false and (v.Position - position).Magnitude < range then
1097
				--table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
1098
				v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
1099
			end
1100
		end
1101
	end
1102
end
1103
1104
--//=================================\\
1105
--||	ATTACK FUNCTIONS AND STUFF
1106
--\\=================================//
1107
1108
function choosetarget()
1109
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChild("Humanoid") ~= nil then
1110
		target = Mouse.Target.Parent
1111
		if boop ~= nil then
1112
			boop:remove()
1113
		end
1114
		local targettorso = target:FindFirstChild("Torso") or target:FindFirstChild("UpperTorso")
1115
			if targettorso ~= nil then
1116
			boop = IT("Part",Effects)
1117
			boop.Size = VT(0,0,0)
1118
			boop.CanCollide = false
1119
			boop.Transparency = 1
1120
			boop.CFrame = targettorso.CFrame * CF(0,-0.75,0.8)
1121
			weldBetween(targettorso,boop)
1122
			local gui = abss:Clone()
1123
			gui.Parent = boop
1124
			gui.AlwaysOnTop = false
1125
			gui.Enabled = true
1126
		else
1127
			target = nil
1128
		end
1129
	end
1130
end
1131
1132
function assgrab()
1133
	if target ~= nil then
1134
		local targettorso = target:FindFirstChild("Torso") or target:FindFirstChild("UpperTorso")
1135
		if targettorso ~= nil then
1136
			ATTACK = true
1137
			targettorso.Anchored = true
1138
			Rooted = true
1139
			CreateSound("889222890", Head, 10, 1)
1140
			RootPart.CFrame = targettorso.CFrame * CF(0,0,3)
1141
			Swait(100)
1142
			if target ~= nil and targettorso ~= nil then
1143
				for i = 1, 3 do
1144
				CreateSound("948494432", targettorso, 10, 1)
1145
				Swait(5)
1146
				end
1147
				if target ~= nil and targettorso ~= nil then
1148
					Swait(15)
1149
					RootPart.CFrame = targettorso.CFrame * CF(0,0,1.5)
1150
					Swait(20)
1151
					RootPart.CFrame = targettorso.CFrame * CF(0,0,3)
1152
					ATTACK = false
1153
					Rooted = false
1154
					targettorso.Anchored = false
1155
					local bomb = IT("Part",target)
1156
					bomb.Size = VT(0,0,0)
1157
					bomb.CFrame = boop.CFrame
1158
					bomb.CanCollide = false
1159
					local mesh = IT("SpecialMesh",bomb)
1160
					mesh.MeshType = "FileMesh"
1161
					mesh.MeshId = "rbxasset://fonts/timebomb.mesh"
1162
					mesh.TextureId = "rbxasset://textures/bombtex.png"
1163
					weldBetween(targettorso,bomb)
1164
					CreateSound("138931042", targettorso, 10, 4)
1165
					Swait(150)
1166
					target:BreakJoints()
1167
					local boom = Instance.new("Explosion",workspace)
1168
					boom.Position = targettorso.Position
1169
			 		CreateSound("691216625", targettorso, 50, 1)
1170
					target = nil
1171
				else
1172
					Rooted = false
1173
					ATTACK = false
1174
				end
1175
			else
1176
				Rooted = false
1177
				ATTACK = false
1178
			end
1179
		end
1180
	end
1181
end
1182
1183
function slash()
1184
	ATTACK = true
1185
	Rooted = true
1186
	for i=0, 0.5, 0.1 / Animation_Speed do
1187
		--Swait()
1188
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1189
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1190
		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)
1191
		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)
1192
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1193
		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)
1194
		--HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1195
	end
1196
	local bomb = IT("Part",Effects)
1197
	bomb.Size = VT(0,0,0)
1198
	bomb.CFrame = RightArm.CFrame * CF(1.6,-1.2,0) * ANGLES(RAD(-90),RAD(0),RAD(-90))
1199
	bomb.CanCollide = false
1200
	bomb.Color = C3(123/255, 0, 123/255)
1201
	local mesh = IT("SpecialMesh",bomb)
1202
	mesh.MeshType = "FileMesh"
1203
	mesh.Scale = VT(2,2,2)
1204
	mesh.MeshId = "http://www.roblox.com/asset?id=156092238"
1205
	weldBetween(RightArm,bomb)
1206
	Swait(10)
1207
	CreateSound("615910787", Torso, 5, MRANDOM(7, 12) / 10)
1208
	Swait(5)
1209
	for i = 1, 15 do
1210
		killnearest(bomb.Position,6,150)
1211
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-3)
1212
	end
1213
	killnearest(bomb.Position,6,150)
1214
	for i=0, 1, 0.1 / Animation_Speed do
1215
		--Swait()
1216
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(25)), 0.4 / Animation_Speed)
1217
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.2 / Animation_Speed)
1218
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1219
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1220
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1221
		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)
1222
		--HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
1223
	end
1224
	Swait(25)
1225
	bomb:remove()
1226
	ATTACK = false
1227
	Rooted = false
1228
end
1229
1230
function hurr()
1231
	if target ~= nil then
1232
		local targettorso = target:FindFirstChild("Torso") or target:FindFirstChild("UpperTorso")
1233
		if targettorso ~= nil then
1234
			Rooted = true
1235
			ATTACK = true
1236
			RootPart.CFrame = targettorso.CFrame * CF(0,0,3)
1237
			for i = 1, 15 do
1238
				Swait(3)
1239
				RootPart.CFrame = targettorso.CFrame * CF(0,0,1)
1240
				Swait(3)
1241
				RootPart.CFrame = targettorso.CFrame * CF(0,0,3)
1242
			end
1243
			CreateSound("173137001", Head, 5, 1)
1244
			target:BreakJoints()
1245
			target = nil
1246
			Rooted = false
1247
			ATTACK = false
1248
		end
1249
	end
1250
end
1251
1252
function beam(from,size)
1253
	local sphere = Instance.new("Part",Effects)
1254
	sphere.Size = VT(size*2,size*2,size*2)
1255
	sphere.Material = "Neon"
1256
	sphere.Shape = "Ball"
1257
	sphere.Name = "Waft"
1258
	sphere.Anchored = true
1259
	sphere.Color = C3(80/255, 109/255, 84/255)
1260
	sphere.CFrame = RootPart.CFrame * CF(0,0.5,-from)
1261
	sphere.CanCollide = false
1262
	local hit = sphere.Touched:connect(function(hit) 
1263
		dealdamage(hit,0,0,0,true,0,0)
1264
	end)
1265
	--table.insert(Effects2,{Lazor,"Disappear",0.01,0.03,0,0.03,1})
1266
	table.insert(Effects2,{sphere,"Disappear",0.01,0.03,0,0.03,1})
1267
end
1268
1269
function turnto(position)
1270
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1271
end
1272
1273
function FARTLAZOR()
1274
	Rooted = true
1275
	ATTACK = true
1276
	for i=0, 2, 0.1 / Animation_Speed do
1277
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size + 0) * ANGLES(RAD(0), RAD(0), RAD(180)), 0.15 / Animation_Speed)
1278
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1279
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1280
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1281
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0 * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1282
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0 * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1283
	end
1284
	for i = 1, 25 do
1285
		Swait()
1286
		turnto(Mouse.Hit.p)
1287
	end
1288
	CreateSound("131314452", Effects, 10, 1)
1289
	beam(50,50)
1290
	Swait(50)
1291
	ATTACK = false
1292
	Rooted = false
1293
end
1294
1295
--//=================================\\
1296
--||	  ASSIGN THINGS TO KEYS
1297
--\\=================================//
1298
1299
Humanoid.Changed:connect(function(Jump)
1300
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1301
		Humanoid.Jump = false
1302
	end
1303
end)
1304
1305
function MouseDown(Mouse)
1306
	if ATTACK == false then
1307
		choosetarget()
1308
	end
1309
end
1310
1311
function MouseUp(Mouse)
1312
HOLD = false
1313
end
1314
1315
function KeyDown(Key)
1316
	if Key == "e" and ATTACK == false then
1317
		assgrab()
1318
	end
1319
	if Key == "g" and ATTACK == false then
1320
		slash()
1321
	end
1322
	if Key == "x" and ATTACK == false then
1323
		FARTLAZOR()
1324
	end
1325
	if Key == "f" and ATTACK == false then
1326
		hurr()
1327
	end
1328
end
1329
1330
function KeyUp(Key)
1331
end
1332
1333
	Mouse.Button1Down:connect(function(NEWKEY)
1334
		MouseDown(NEWKEY)
1335
	end)
1336
	Mouse.Button1Up:connect(function(NEWKEY)
1337
		MouseUp(NEWKEY)
1338
	end)
1339
	Mouse.KeyDown:connect(function(NEWKEY)
1340
		KeyDown(NEWKEY)
1341
	end)
1342
	Mouse.KeyUp:connect(function(NEWKEY)
1343
		KeyUp(NEWKEY)
1344
	end)
1345
1346
--//=================================\\
1347
--\\=================================//
1348
1349
1350
function unanchor()
1351
	if UNANCHOR == true then
1352
		g = Character:GetChildren()
1353
		for i = 1, #g do
1354
			if g[i].ClassName == "Part" then
1355
				g[i].Anchored = false
1356
			end
1357
		end
1358
	end
1359
end
1360
1361
1362
--//=================================\\
1363
--||	WRAP THE WHOLE SCRIPT UP
1364
--\\=================================//
1365
1366
Humanoid.Changed:connect(function(Jump)
1367
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1368
		Humanoid.Jump = false
1369
	end
1370
end)
1371
		Rooted = true
1372
		ANIMATE.Parent = nil
1373
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1374
		IDLEANIMATION:Play()
1375
		Swait()
1376
		Rooted = false
1377
1378
local loop = 0
1379
1380
while true do
1381
	Swait()
1382
	SINE = SINE + CHANGE
1383
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1384
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1385
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1386
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1387
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1388
		if ATTACK == false then
1389
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size + 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1390
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1391
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1392
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1393
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0 * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1394
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0 * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1395
		end
1396
if #Effects2>0 then
1397
for e=1,#Effects2 do
1398
if Effects2[e]~=nil then
1399
local Thing=Effects2[e]
1400
if Thing~=nil then
1401
local Part=Thing[1]
1402
local Mode=Thing[2]
1403
local Delay=Thing[3]
1404
local IncX=Thing[4]
1405
local IncY=Thing[5]
1406
local IncZ=Thing[6]
1407
local Part2=Thing[8]
1408
if Thing[1].Transparency<=1 then
1409
if Thing[2]=="Block1" then
1410
Thing[1].CFrame=Part2.CFrame
1411
Mesh=Thing[1].Mesh
1412
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1413
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1414
elseif Thing[2]=="Cylinder" then
1415
Mesh=Thing[1].Mesh
1416
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1417
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1418
elseif Thing[2]=="Blood" then
1419
Mesh=Thing[7]
1420
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1421
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1422
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1423
elseif Thing[2]=="Elec" then
1424
Mesh=Thing[1].Mesh
1425
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1426
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1427
elseif Thing[2]=="Disappear" then
1428
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1429
end
1430
else
1431
Part.Parent=nil
1432
table.remove(Effects2,e)
1433
end
1434
end
1435
end
1436
end
1437
end
1438
unanchor()
1439
Humanoid.MaxHealth = "inf"
1440
Humanoid.Health = "inf"
1441
if Rooted == false then
1442
	Disable_Jump = false
1443
	Humanoid.WalkSpeed = Speed
1444
elseif Rooted == true then
1445
	Disable_Jump = true
1446
	Humanoid.WalkSpeed = 0
1447
end
1448
if target ~= nil then
1449
	loop = loop + 1
1450
	if loop == 35 then
1451
		if target:FindFirstChild("HumanoidRootPart") then
1452
			CreateSound("161164363", target.HumanoidRootPart, 10, 1.1)
1453
		end
1454
		loop = 0
1455
	end
1456
end
1457
end
1458
1459
--//=================================\\
1460
--\\=================================//
1461
1462
1463
1464
1465
1466
--//====================================================\\--
1467
--||			  		 END OF SCRIPT
1468
--\\====================================================//--