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