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