View difference between Paste ID: XTG4ePtE and NZJAiw7n
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2-
--||			   CREATED BY SHACKLUSTER
2+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3-
--\\====================================================//--
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
87
	local h,t
88
	--Give the server mouse data every second frame, but only if the values changed
89
	--If player is not moving their mouse, client won't fire events
90
	local HB = game:GetService("RunService").Heartbeat
91
	while true do
92
		if h~=Mouse.Hit or t~=Mouse.Target then
93
			h,t=Mouse.Hit,Mouse.Target
94
			Event:FireServer({isMouse=true,Target=t,Hit=h})
95
		end
96
		--Wait 2 frames
97
		for i=1,2 do
98
			HB:Wait()
99
		end
100
	end]==],script)
101
102
	----Sandboxed game object that allows the usage of client-side methods and services
103
	--Real game object
104
	local RealGame = game
105
106
	--Metatable for fake service
107
	local FakeService_Metatable = {
108
		__index = function(self,k)
109
			local s = rawget(self,"_RealService")
110
			if s then
111
				return typeof(s[k])=="function"
112
				and function(_,...)return s[k](s,...)end or s[k]
113
			end
114
		end,
115
		__newindex = function(self,k,v)
116
			local s = rawget(self,"_RealService")
117
			if s then s[k]=v end
118
		end
119
	}
120
	local function FakeService(t,RealService)
121
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
		return setmetatable(t,FakeService_Metatable)
123
	end
124
125
	--Fake game object
126
	local FakeGame = {
127
		GetService = function(self,s)
128
			return rawget(self,s) or RealGame:GetService(s)
129
		end,
130
		Players = FakeService({
131
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
		},"Players"),
133
		UserInputService = FakeService(UIS,"UserInputService"),
134
		ContextActionService = FakeService(CAS,"ContextActionService"),
135
		RunService = FakeService({
136
			_btrs = {},
137
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
			BindToRenderStep = function(self,name,_,fun)
139
				self._btrs[name] = self.Heartbeat:Connect(fun)
140
			end,
141
			UnbindFromRenderStep = function(self,name)
142
				self._btrs[name]:Disconnect()
143
			end,
144
		},"RunService")
145
	}
146
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
	FakeGame.service = FakeGame.GetService
148
	FakeService(FakeGame,game)
149
	--Changing owner to fake player object to support owner:GetMouse()
150
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
153
wait(0.2)
154
155
156
Player = game:GetService("Players").LocalPlayer
157
PlayerGui = Player.PlayerGui
158
Cam = workspace.CurrentCamera
159
Backpack = Player.Backpack
160
Character = Player.Character
161
Humanoid = Character.Humanoid
162
Mouse = Player:GetMouse()
163
RootPart = Character["HumanoidRootPart"]
164
Torso = Character["Torso"]
165
Head = Character["Head"]
166
RightArm = Character["Right Arm"]
167
LeftArm = Character["Left Arm"]
168
RightLeg = Character["Right Leg"]
169
LeftLeg = Character["Left Leg"]
170
RootJoint = RootPart["RootJoint"]
171
Neck = Torso["Neck"]
172
RightShoulder = Torso["Right Shoulder"]
173
LeftShoulder = Torso["Left Shoulder"]
174
RightHip = Torso["Right Hip"]
175
LeftHip = Torso["Left Hip"]
176
local sick = Instance.new("Sound",Character)
177
178
IT = Instance.new
179
CF = CFrame.new
180
VT = Vector3.new
181
RAD = math.rad
182
C3 = Color3.new
183
UD2 = UDim2.new
184
BRICKC = BrickColor.new
185
ANGLES = CFrame.Angles
186
EULER = CFrame.fromEulerAnglesXYZ
187
COS = math.cos
188
ACOS = math.acos
189
SIN = math.sin
190
ASIN = math.asin
191
ABS = math.abs
192
MRANDOM = math.random
193
FLOOR = math.floor
194
195
--//=================================\\
196
--|| 	      USEFUL VALUES
197
--\\=================================//
198
199
Animation_Speed = 3
200
local Walkspeed = 16
201
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
202
local Speed = 16
203
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
204
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
205
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
206
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
207
local DAMAGEMULTIPLIER = 1
208
local ANIM = "Idle"
209
local ATTACK = false
210
local EQUIPPED = false
211
local HOLD = false
212
local COMBO = 1
213
local Rooted = false
214
local SINE = 0
215
local KEYHOLD = false
216
local CHANGE = 2 / Animation_Speed
217
local WALKINGANIM = false
218
local VALUE1 = false
219
local VALUE2 = false
220
local ROBLOXIDLEANIMATION = IT("Animation")
221
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
222
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
223
--ROBLOXIDLEANIMATION.Parent = Humanoid
224
local WEAPONGUI = IT("ScreenGui", PlayerGui)
225
WEAPONGUI.Name = "Weapon GUI"
226
local Effects = IT("Folder", Character)
227
Effects.Name = "Effects"
228
local ANIMATOR = Humanoid.Animator
229
local ANIMATE = Character.Animate
230
local UNANCHOR = true
231
local SHOCKSOUND = 1544280726
232
local RINGSOUND = 340505360
233
local ULTHIT = 412831137
234
235
--//=================================\\
236
--\\=================================//
237
238
239
--//=================================\\
240
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
241
--\\=================================//
242
243
ArtificialHB = Instance.new("BindableEvent", script)
244
ArtificialHB.Name = "ArtificialHB"
245
246
script:WaitForChild("ArtificialHB")
247
248
frame = Frame_Speed
249
tf = 0
250
allowframeloss = false
251
tossremainder = false
252
lastframe = tick()
253
script.ArtificialHB:Fire()
254
255
game:GetService("RunService").Heartbeat:connect(function(s, p)
256
	tf = tf + s
257
	if tf >= frame then
258
		if allowframeloss then
259
			script.ArtificialHB:Fire()
260
			lastframe = tick()
261
		else
262
			for i = 1, math.floor(tf / frame) do
263
				script.ArtificialHB:Fire()
264
			end
265
		lastframe = tick()
266
		end
267
		if tossremainder then
268
			tf = 0
269
		else
270
			tf = tf - frame * math.floor(tf / frame)
271
		end
272
	end
273
end)
274
275
--//=================================\\
276
--\\=================================//
277
278
--//=================================\\
279
--|| 	      SOME FUNCTIONS
280
--\\=================================//
281
282
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
283
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
284
end
285
286
function PositiveAngle(NUMBER)
287
	if NUMBER >= 0 then
288
		NUMBER = 0
289
	end
290
	return NUMBER
291
end
292
293
function NegativeAngle(NUMBER)
294
	if NUMBER <= 0 then
295
		NUMBER = 0
296
	end
297
	return NUMBER
298
end
299
300
function Swait(NUMBER)
301
	if NUMBER == 0 or NUMBER == nil then
302
		ArtificialHB.Event:wait()
303
	else
304
		for i = 1, NUMBER do
305
			ArtificialHB.Event:wait()
306
		end
307
	end
308
end
309
310
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
311
	local NEWMESH = IT(MESH)
312
	if MESH == "SpecialMesh" then
313
		NEWMESH.MeshType = MESHTYPE
314
		if MESHID ~= "nil" and MESHID ~= "" then
315
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
316
		end
317
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
318
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
319
		end
320
	end
321
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
322
	NEWMESH.Scale = SCALE
323
	NEWMESH.Parent = PARENT
324
	return NEWMESH
325
end
326
327
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
328
	local NEWPART = IT("Part")
329
	NEWPART.formFactor = FORMFACTOR
330
	NEWPART.Reflectance = REFLECTANCE
331
	NEWPART.Transparency = TRANSPARENCY
332
	NEWPART.CanCollide = false
333
	NEWPART.Locked = true
334
	NEWPART.Anchored = true
335
	if ANCHOR == false then
336
		NEWPART.Anchored = false
337
	end
338
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
339
	NEWPART.Name = NAME
340
	NEWPART.Size = SIZE
341
	NEWPART.Position = Torso.Position
342
	NEWPART.Material = MATERIAL
343
	NEWPART:BreakJoints()
344
	NEWPART.Parent = PARENT
345
	return NEWPART
346
end
347
348
	local function weldBetween(a, b)
349
	    local weldd = Instance.new("ManualWeld")
350
	    weldd.Part0 = a
351
	    weldd.Part1 = b
352
	    weldd.C0 = CFrame.new()
353
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
354
	    weldd.Parent = a
355
	    return weldd
356
	end
357
358
359
function QuaternionFromCFrame(cf)
360
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
361
	local trace = m00 + m11 + m22
362
	if trace > 0 then 
363
		local s = math.sqrt(1 + trace)
364
		local recip = 0.5 / s
365
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
366
	else
367
		local i = 0
368
		if m11 > m00 then
369
			i = 1
370
		end
371
		if m22 > (i == 0 and m00 or m11) then
372
			i = 2
373
		end
374
		if i == 0 then
375
			local s = math.sqrt(m00 - m11 - m22 + 1)
376
			local recip = 0.5 / s
377
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
378
		elseif i == 1 then
379
			local s = math.sqrt(m11 - m22 - m00 + 1)
380
			local recip = 0.5 / s
381
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
382
		elseif i == 2 then
383
			local s = math.sqrt(m22 - m00 - m11 + 1)
384
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
385
		end
386
	end
387
end
388
 
389
function QuaternionToCFrame(px, py, pz, x, y, z, w)
390
	local xs, ys, zs = x + x, y + y, z + z
391
	local wx, wy, wz = w * xs, w * ys, w * zs
392
	local xx = x * xs
393
	local xy = x * ys
394
	local xz = x * zs
395
	local yy = y * ys
396
	local yz = y * zs
397
	local zz = z * zs
398
	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))
399
end
400
 
401
function QuaternionSlerp(a, b, t)
402
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
403
	local startInterp, finishInterp;
404
	if cosTheta >= 0.0001 then
405
		if (1 - cosTheta) > 0.0001 then
406
			local theta = ACOS(cosTheta)
407
			local invSinTheta = 1 / SIN(theta)
408
			startInterp = SIN((1 - t) * theta) * invSinTheta
409
			finishInterp = SIN(t * theta) * invSinTheta
410
		else
411
			startInterp = 1 - t
412
			finishInterp = t
413
		end
414
	else
415
		if (1 + cosTheta) > 0.0001 then
416
			local theta = ACOS(-cosTheta)
417
			local invSinTheta = 1 / SIN(theta)
418
			startInterp = SIN((t - 1) * theta) * invSinTheta
419
			finishInterp = SIN(t * theta) * invSinTheta
420
		else
421
			startInterp = t - 1
422
			finishInterp = t
423
		end
424
	end
425
	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
426
end
427
428
function Clerp(a, b, t)
429
	local qa = {QuaternionFromCFrame(a)}
430
	local qb = {QuaternionFromCFrame(b)}
431
	local ax, ay, az = a.x, a.y, a.z
432
	local bx, by, bz = b.x, b.y, b.z
433
	local _t = 1 - t
434
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
435
end
436
437
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
438
	local frame = IT("Frame")
439
	frame.BackgroundTransparency = TRANSPARENCY
440
	frame.BorderSizePixel = BORDERSIZEPIXEL
441
	frame.Position = POSITION
442
	frame.Size = SIZE
443
	frame.BackgroundColor3 = COLOR
444
	frame.BorderColor3 = BORDERCOLOR
445
	frame.Name = NAME
446
	frame.Parent = PARENT
447
	return frame
448
end
449
450
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
451
	local label = IT("TextLabel")
452
	label.BackgroundTransparency = 1
453
	label.Size = UD2(1, 0, 1, 0)
454
	label.Position = UD2(0, 0, 0, 0)
455
	label.TextColor3 = TEXTCOLOR
456
	label.TextStrokeTransparency = STROKETRANSPARENCY
457
	label.TextTransparency = TRANSPARENCY
458
	label.FontSize = TEXTFONTSIZE
459
	label.Font = TEXTFONT
460
	label.BorderSizePixel = BORDERSIZEPIXEL
461
	label.TextScaled = false
462
	label.Text = TEXT
463
	label.Name = NAME
464
	label.Parent = PARENT
465
	return label
466
end
467
468
function NoOutlines(PART)
469
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
470
end
471
472
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
473
	local NEWWELD = IT(TYPE)
474
	NEWWELD.Part0 = PART0
475
	NEWWELD.Part1 = PART1
476
	NEWWELD.C0 = C0
477
	NEWWELD.C1 = C1
478
	NEWWELD.Parent = PARENT
479
	return NEWWELD
480
end
481
482
local S = IT("Sound")
483
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
484
	local NEWSOUND = nil
485
	coroutine.resume(coroutine.create(function()
486
		NEWSOUND = S:Clone()
487
		NEWSOUND.Parent = PARENT
488
		NEWSOUND.Volume = VOLUME
489
		NEWSOUND.Pitch = PITCH
490
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
491
		NEWSOUND:play()
492
		if DOESLOOP == true then
493
			NEWSOUND.Looped = true
494
		else
495
			repeat wait(1) until NEWSOUND.Playing == false
496
			NEWSOUND:remove()
497
		end
498
	end))
499
	return NEWSOUND
500
end
501
502
function CFrameFromTopBack(at, top, back)
503
	local right = top:Cross(back)
504
	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)
505
end
506
507
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
508
function WACKYEFFECT(Table)
509
	local TYPE = (Table.EffectType or "Sphere")
510
	local SIZE = (Table.Size or VT(1,1,1))
511
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
512
	local TRANSPARENCY = (Table.Transparency or 0)
513
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
514
	local CFRAME = (Table.CFrame or Torso.CFrame)
515
	local MOVEDIRECTION = (Table.MoveToPos or nil)
516
	local ROTATION1 = (Table.RotationX or 0)
517
	local ROTATION2 = (Table.RotationY or 0)
518
	local ROTATION3 = (Table.RotationZ or 0)
519
	local MATERIAL = (Table.Material or "Neon")
520
	local COLOR = (Table.Color or C3(1,1,1))
521
	local TIME = (Table.Time or 45)
522
	local SOUNDID = (Table.SoundID or nil)
523
	local SOUNDPITCH = (Table.SoundPitch or nil)
524
	local SOUNDVOLUME = (Table.SoundVolume or nil)
525
	coroutine.resume(coroutine.create(function()
526
		local PLAYSSOUND = false
527
		local SOUND = nil
528
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
529
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
530
			PLAYSSOUND = true
531
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
532
		end
533
		EFFECT.Color = COLOR
534
		local MSH = nil
535
		if TYPE == "Sphere" then
536
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
537
		elseif TYPE == "Block" then
538
			MSH = IT("BlockMesh",EFFECT)
539
			MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
540
		elseif TYPE == "Wave" then
541
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
542
		elseif TYPE == "Ring" then
543
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
544
		elseif TYPE == "Slash" then
545
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
546
		elseif TYPE == "Round Slash" then
547
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
548
		elseif TYPE == "Swirl" then
549
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
550
		elseif TYPE == "Skull" then
551
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
552
		elseif TYPE == "Crystal" then
553
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
554
		elseif TYPE == "Cloud" then
555
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1290033", "", SIZE, VT(0,0,0))
556
		end
557
		if MSH ~= nil then
558
			local MOVESPEED = nil
559
			if MOVEDIRECTION ~= nil then
560
				MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
561
			end
562
			local GROWTH = SIZE - ENDSIZE
563
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
564
			if TYPE == "Block" then
565
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
566
			else
567
				EFFECT.CFrame = CFRAME
568
			end
569
			for LOOP = 1, TIME+1 do
570
				Swait()
571
				MSH.Scale = MSH.Scale - GROWTH/TIME
572
				if TYPE == "Wave" then
573
					MSH.Offset = VT(0,0,-MSH.Scale.X/8)
574
				end
575
				EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
576
				if TYPE == "Block" then
577
					EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
578
				else
579
					EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
580
				end
581
				if MOVEDIRECTION ~= nil then
582
					local ORI = EFFECT.Orientation
583
					EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
584
					EFFECT.Orientation = ORI
585
				end
586
			end
587
			if PLAYSSOUND == false then
588
				EFFECT:remove()
589
			else
590
				repeat Swait() until SOUND.Playing == false
591
				EFFECT:remove()
592
			end
593
		else
594
			if PLAYSSOUND == false then
595
				EFFECT:remove()
596
			else
597
				repeat Swait() until SOUND.Playing == false
598
				EFFECT:remove()
599
			end
600
		end
601
	end))
602
end
603
604
function MakeForm(PART,TYPE)
605
	if TYPE == "Cyl" then
606
		local MSH = IT("CylinderMesh",PART)
607
	elseif TYPE == "Ball" then
608
		local MSH = IT("SpecialMesh",PART)
609
		MSH.MeshType = "Sphere"
610
	elseif TYPE == "Wedge" then
611
		local MSH = IT("SpecialMesh",PART)
612
		MSH.MeshType = "Wedge"
613
	end
614
end
615
616
Debris = game:GetService("Debris")
617
618
function CastProperRay(StartPos, EndPos, Distance, Ignore)
619
	local DIRECTION = CF(StartPos,EndPos).lookVector
620
	return Raycast(StartPos, DIRECTION, Distance, Ignore)
621
end
622
623
function turnto(position)
624
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
625
end
626
627
--Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
628
function Lightning(Table)
629
	local Color = Table.Color or C3(1,1,1)
630
	local StartPos = Table.Start or Torso.Position
631
	local EndPos = Table.End or Mouse.Hit.p
632
	local SegmentLength = Table.SegmentL or 2
633
	local Thickness = Table.Thickness or 0.1
634
	local Dissapear = Table.DoesFade or false
635
	local Parent = Table.Ignore or Character
636
	local MaxDist = Table.MaxDist or 400
637
	local Branches = Table.Branches or false
638
	local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
639
	local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
640
	local LIGHTNINGMODEL = IT("Model",Effects)
641
	LIGHTNINGMODEL.Name = "Lightning"
642
	local LastBolt = nil
643
	for E = 1, DISTANCE do
644
		local ExtraSize = (DISTANCE-E)/25
645
		local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
646
		PART.Color = Color
647
		MakeForm(PART,"Cyl")
648
		if LastBolt == nil then
649
			PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
650
		else
651
			PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
652
		end
653
		LastBolt = PART
654
		if Branches == true then
655
			local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
656
			if CHOICE == 1 then
657
				local LASTBRANCH = nil
658
				for i = 1, MRANDOM(2,5) do
659
					local ExtraSize2 = ((DISTANCE-E)/35)/i
660
					local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Pearl"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
661
					PART.Color = Color
662
					MakeForm(PART,"Cyl")
663
					if LASTBRANCH == nil then
664
						PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
665
					else
666
						PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
667
					end
668
					LASTBRANCH = PART
669
				end
670
			end
671
		end
672
	end
673
	if Dissapear == true then
674
		coroutine.resume(coroutine.create(function()
675
			for i = 1, 30 do
676
				Swait()
677
				for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
678
					if c.ClassName == "Part" then
679
						c.Transparency = i/30
680
					end
681
				end
682
			end
683
			LIGHTNINGMODEL:remove()
684
		end))
685
	elseif Dissapear == false then
686
		Debris:AddItem(LIGHTNINGMODEL,0.1)
687
	end
688
	return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
689
end
690
691
local Particle = IT("ParticleEmitter",nil)
692
Particle.Enabled = false
693
Particle.LightEmission = 1
694
Particle.Rate = 150
695
Particle.ZOffset = 1
696
Particle.Rotation = NumberRange.new(-180, 180)
697
698
--ParticleEmitter({Speed = 5, RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false, Color1 = C3(1,1,1), Color2 = C3(1,1,1), Texture = ""})
699
function ParticleEmitter(Table)
700
	local PRTCL = Particle:Clone()
701
	local Color1 = Table.Color1 or C3(1,1,1)
702
	local Color2 = Table.Color2 or C3(1,1,1)
703
	local Speed = Table.Speed or 5
704
	local Drag = Table.Drag or 0
705
	local Size1 = Table.Size1 or 1
706
	local Size2 = Table.Size2 or 5
707
	local Lifetime1 = Table.Lifetime1 or 1
708
	local Lifetime2 = Table.Lifetime2 or 1.5
709
	local Parent = Table.Parent or Torso
710
	local Emit = Table.Emit or 100
711
	local Offset = Table.Offset or 360
712
	local Acel = Table.Acel or VT(0,0,0)
713
	local Enabled = Table.Enabled or false
714
	local Texture = Table.Texture or "281983280"
715
	local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
716
	local Trans1 = Table.Transparency1 or 0
717
	local Trans2 = Table.Transparency2 or 0
718
	PRTCL.Parent = Parent
719
	PRTCL.RotSpeed = RotS
720
	PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
721
	PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
722
	PRTCL.Color = ColorSequence.new(Color1,Color2)
723
	PRTCL.Size = NumberSequence.new(Size1,Size2)
724
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
725
	PRTCL.Speed = NumberRange.new(Speed)
726
	PRTCL.VelocitySpread = Offset
727
	PRTCL.Drag = Drag
728
	PRTCL.Acceleration = Acel
729
	if Enabled == false then
730
		PRTCL:Emit(Emit)
731
		Debris:AddItem(PRTCL,Lifetime2)
732
	else
733
		PRTCL.Enabled = true
734
	end
735
	return PRTCL
736
end
737
738
--//=================================\\
739
--||	     WEAPON CREATION
740
--\\=================================//
741
742
local SKILLTEXTCOLOR = C3(1,1,1)
743
local SKILLFONT = "Fantasy"
744
local SKILLTEXTSIZE = 5
745
local POWER = 250
746
local MAXPOWER = 500
747
748
Humanoid.Died:connect(function()
749
	ATTACK = true
750
end)
751
752
local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.01, 0, 0.83, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
753
local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.012, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
754
local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.03, 0, 0.73, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
755
local SHIFTFR = CreateFrame(WEAPONGUI, 1, 2, UD2(0.30, 0, 0.87, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Charging")
756
757
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Q] Poison Bolt", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
758
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[R] Toxic Stomp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
759
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Toxic Devastation", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
760
local SHIFTX = CreateLabel(SHIFTFR, "[SHIFT] Charge", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "How2Shift")
761
762
local MANABAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Mana Bar") 
763
local MANACOVER = CreateFrame(MANABAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), BRICKC"Dark indigo".Color, C3(0, 0, 0),"Mana Cover")
764
local MANATEXT = CreateLabel(MANABAR, POWER.."/"..MAXPOWER, SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "MP")
765
766
local A = IT("Attachment",Torso)
767
local TORSOTHUNDER = ParticleEmitter({Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
768
TORSOTHUNDER.Enabled = false
769
TORSOTHUNDER.Rate = 5
770
local TORSOTHUNDER2 = ParticleEmitter({Texture = 281983242, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
771
TORSOTHUNDER2.Enabled = false
772
TORSOTHUNDER2.Rate = 5
773
local B = IT("Attachment",RootPart)
774
B.Position = VT(0,-3,0)
775
local CHARGE = ParticleEmitter({Transparency1 = 1, Transparency2 = 0.5, Acel = VT(0,15,0), Texture = 301261210, Speed = 3, RotSpeed = NumberRange.new(-150, 150), Drag = -0.5, Size1 = 2, Size2 = 0, Lifetime1 = 1, Lifetime2 = 1.2, Parent = B, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
776
CHARGE.ZOffset = 1.5
777
CHARGE.Enabled = false
778
CHARGE.Rate = 999
779
780
local FF = IT("ForceField",Character)
781
FF.Visible = false
782
Humanoid.MaxHealth = 1200
783
Humanoid.Health = 1200
784
local HEALTHBAR = CreateFrame(WEAPONGUI, 0.5, 1, UD2(0.1, 0, 0.93, 0), UD2(0.26, 0, 0.02, 0), C3(0,0,0), C3(0, 0, 0),"Health Bar") 
785
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 0, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), BRICKC"Shamrock".Color, C3(0, 0, 0),"Health Cover")
786
local HEALTHTEXT = CreateLabel(HEALTHBAR, Humanoid.Health.."/"..Humanoid.MaxHealth, SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "HP")
787
Character.Health:remove()
788
789
--//=================================\\
790
--||			DAMAGING
791
--\\=================================//
792
793
function ApplyDamage(Humanoid,Damage,TorsoPart)
794
	local defence = Instance.new("BoolValue",Humanoid.Parent)
795
	defence.Name = ("HitBy"..Player.Name)
796
	game:GetService("Debris"):AddItem(defence, 0.001)
797
	Damage = Damage * DAMAGEMULTIPLIER
798
	if Humanoid.Health ~= 0 then
799
		local CritChance = MRANDOM(1,100)
800
		if Damage > Humanoid.Health then
801
			Damage = math.ceil(Humanoid.Health)
802
			if Damage == 0 then
803
				Damage = 0.1
804
			end
805
		end
806
		Humanoid.Health = Humanoid.Health - Damage
807
	end
808
end
809
810
function AfterZap(Humanoid,Times,Dmg)
811
	coroutine.resume(coroutine.create(function()
812
		if Humanoid ~= nil then
813
			local ZAP = ParticleEmitter({Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 2, Size2 = 3, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = Humanoid.Torso, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
814
			ZAP.Rate = 75
815
			for i = 1, Times do
816
				wait(1)
817
				if Humanoid ~= nil and Humanoid.Health > 0 then
818
					Humanoid.Health = Humanoid.Health - Dmg
819
					CreateSound(SHOCKSOUND,Humanoid.Torso,1,MRANDOM(13,16)/10,false)
820
				else
821
					break
822
				end
823
			end
824
			ZAP.Enabled = false
825
			Debris:AddItem(ZAP,3)
826
		end
827
	end))
828
end
829
830
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,DOESAFTERZAP,ZAPCOUNTER)
831
	local CHILDREN = workspace:GetDescendants()
832
	for index, CHILD in pairs(CHILDREN) do
833
		if CHILD.ClassName == "Model" and CHILD ~= Character then
834
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
835
			if HUM then
836
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
837
				if TORSO then
838
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
839
						if DOESAFTERZAP == true then
840
							AfterZap(HUM,ZAPCOUNTER,math.ceil(MINDMG/7))
841
						end
842
						local DMG = MRANDOM(MINDMG,MAXDMG)
843
						ApplyDamage(HUM,DMG,TORSO)
844
						if FLING > 0 then
845
							for _, c in pairs(CHILD:GetChildren()) do
846
								if c:IsA("BasePart") then
847
									local bv = Instance.new("BodyVelocity") 
848
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
849
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
850
									bv.Parent = c
851
									Debris:AddItem(bv,0.05)
852
								end
853
							end
854
						end
855
					end
856
				end
857
			end
858
		end
859
	end
860
end
861
862
--//=================================\\
863
--||	ATTACK FUNCTIONS AND STUFF
864
--\\=================================//
865
866
local DECAL = IT("Decal",nil)
867
868
function MagicRing(PART,CFRAME)
869
	local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),false)
870
	local WELD = CreateWeldOrSnapOrMotor("Weld", PART, PART, RING, CFRAME, CF(0, 0, 0))
871
	local MESH = IT("BlockMesh",RING)
872
	local BOTTOMTEXTURE = DECAL:Clone()
873
	BOTTOMTEXTURE.Parent = RING
874
	BOTTOMTEXTURE.Face = "Bottom"
875
	BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1563007449"
876
	BOTTOMTEXTURE.Name = "BottomTexture"
877
	local TOPTEXTURE = DECAL:Clone()
878
	TOPTEXTURE.Parent = RING
879
	TOPTEXTURE.Face = "Top"
880
	TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1563008191"
881
	TOPTEXTURE.Name = "TopTexture"
882
	local T = ParticleEmitter({Transparency1 = 0.2, Transparency2 = 1, Texture = 1084975295, Speed = 0, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 0, Size2 = 10, Lifetime1 = 1, Lifetime2 = 1, Parent = RING, Emit = 25, Offset = 360, Enabled = false, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
883
	T.LockedToPart = true
884
	return RING,WELD,MESH
885
end
886
887
function Charge()
888
	ATTACK = true
889
	Rooted = true
890
	TORSOTHUNDER.Enabled = true
891
	TORSOTHUNDER2.Enabled = true
892
	CHARGE.Enabled = true
893
	local LOOP = CreateSound(516142778,Torso,0,1,true)
894
	local LOOP2 = CreateSound(1393698948,Torso,0,2,true)
895
	repeat
896
		Swait()
897
		if POWER < MAXPOWER then
898
			POWER = POWER + 1
899
		elseif POWER > MAXPOWER then
900
			POWER = MAXPOWER
901
		end
902
		if LOOP.Volume < 5 then
903
			LOOP.Volume = LOOP.Volume + 0.2
904
		end
905
		if LOOP2.Volume < 5 then
906
			LOOP2.Volume = LOOP2.Volume + 0.2
907
		end
908
		TORSOTHUNDER.Rate = MRANDOM(15,45)
909
		TORSOTHUNDER2.Rate = MRANDOM(15,45)
910
		Humanoid.Health = Humanoid.Health + 1
911
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
912
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
913
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
914
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
915
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
916
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 1 / Animation_Speed)
917
	until KEYHOLD == false or POWER == MAXPOWER and Humanoid.Health == Humanoid.MaxHealth
918
	CHARGE.Enabled = false
919
	TORSOTHUNDER.Enabled = false
920
	TORSOTHUNDER2.Enabled = false
921
	coroutine.resume(coroutine.create(function()
922
		repeat
923
			Swait()
924
			LOOP.Volume = LOOP.Volume - 0.2
925
			LOOP2.Volume = LOOP2.Volume - 0.2
926
		until LOOP.Volume <= 0
927
		LOOP:remove()
928
	end))
929
	ATTACK = false
930
	Rooted = false
931
end
932
933
function PoisonBolt()
934
	ATTACK = true
935
	Rooted = true
936
	local STRENGTH = 100
937
	local TIER = 1
938
	local GRAV = IT("BodyPosition",RootPart)
939
	GRAV.D = 250
940
	GRAV.P = 20000
941
	GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
942
	GRAV.Position = RootPart.Position
943
	local G = IT("BodyGyro",RootPart)
944
	G.D = 250
945
	G.P = 200000
946
	G.MaxTorque = VT(math.huge,math.huge,math.huge)
947
	local RING,WELD,MESH = MagicRing(RightArm,CF(0,-1.2,0))
948
	CreateSound(RINGSOUND,RING,5,1,false)
949
	repeat
950
		Swait()
951
		STRENGTH = STRENGTH + 0.3
952
		if STRENGTH > 200 then
953
			STRENGTH = 200
954
		end
955
		if MESH.Scale.X < 120 then
956
			MESH.Scale = MESH.Scale + VT(3,0,3)
957
		elseif MESH.Scale.X < 200 then
958
			MESH.Scale = MESH.Scale + VT(0.3,0,0.3)
959
		end
960
		G.cframe = CF(RootPart.Position,Mouse.Hit.p)
961
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
962
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
963
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.2) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
964
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
965
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
966
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
967
	until KEYHOLD == false and MESH.Scale.X >= 120
968
	if STRENGTH >= 150 and STRENGTH ~= 200 and POWER >= 35 then
969
		POWER = POWER - 35
970
		TIER = 2
971
	elseif STRENGTH == 200 and POWER >= 75  then
972
		POWER = POWER - 75
973
		TIER = 3
974
	end
975
	--print("STRENGTH:"..STRENGTH.."/TIER:"..TIER)
976
	if TIER == 1 then
977
		local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 100, Branches = false})
978
		if ZAP.End ~= nil then
979
			ApplyAoE(ZAP.End,10,5,15,35,true,6)
980
			WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 6})
981
			WACKYEFFECT({Time = 65, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
982
		end
983
	elseif TIER == 2 then
984
		local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 2.5, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 200, Branches = false})
985
		if ZAP.End ~= nil then
986
			ApplyAoE(ZAP.End,15,15,25,35,true,8)
987
			WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*4, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(7,10)/10, SoundVolume = 6})
988
			WACKYEFFECT({Time = 75, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5)*2, Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
989
		end
990
	elseif TIER == 3 then
991
		local ZAP = Lightning({Color = BRICKC"Dark indigo".Color, Start = RING.Position, End = Mouse.Hit.p, SegmentL = 3, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 300, Branches = true})
992
		if ZAP.End ~= nil then
993
			ApplyAoE(ZAP.End,20,15,25,35,true,12)
994
			WACKYEFFECT({EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(8,8,8)*8, Transparency = 0, Transparency2 = 1, CFrame = CF(ZAP.End), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = SHOCKSOUND, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
995
			WACKYEFFECT({Time = 125, EffectType = "Cloud", Size = VT(1,1,1), Size2 = VT(5,5,5)*4, Transparency = 0.5, Transparency2 = 1, CFrame = CF(ZAP.End) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = MRANDOM(-100,100)/150, RotationY = MRANDOM(-100,100)/150, RotationZ = MRANDOM(-100,100)/150, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 3})
996
			for i = 1, 4 do
997
				Lightning({Color = BRICKC"Dark indigo".Color, Start = ZAP.End, End = ZAP.End+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 3, Thickness = 0.1, DoesFade = true, Ignore = Character, MaxDist = 15, Branches = false})
998
			end
999
		end
1000
	end
1001
	wait(0.5)
1002
	RING.Anchored = true
1003
	WELD:remove()
1004
	coroutine.resume(coroutine.create(function()
1005
		for i = 1, 25 do
1006
			Swait()
1007
			RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
1008
			RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
1009
			MESH.Scale = MESH.Scale - VT(3,0,3)
1010
		end
1011
		RING:remove()
1012
	end))
1013
	ATTACK = false
1014
	Rooted = false
1015
	G:remove()
1016
	GRAV:remove()
1017
end
1018
1019
function ToxicStomp()
1020
	ATTACK = true
1021
	Rooted = false
1022
	local GRAV = IT("BodyPosition",RootPart)
1023
	GRAV.D = 250
1024
	GRAV.P = 20000
1025
	GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
1026
	GRAV.Position = RootPart.Position
1027
	local RING,WELD,MESH = MagicRing(RightLeg,CF(0,-1.2,0))
1028
	CreateSound(RINGSOUND,RING,5,1,false)
1029
	local STRENGTH = 100
1030
	local TIER = 1
1031
	repeat
1032
		Swait()
1033
		STRENGTH = STRENGTH + 0.3
1034
		if STRENGTH > 200 then
1035
			STRENGTH = 200
1036
		end
1037
		if MESH.Scale.X < 120 then
1038
			MESH.Scale = MESH.Scale + VT(3,0,3)
1039
		elseif MESH.Scale.X < 200 then
1040
			MESH.Scale = MESH.Scale + VT(0.3,0,0.3)
1041
		end
1042
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1043
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1044
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1045
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1046
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.65) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1047
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1048
	until KEYHOLD == false and MESH.Scale.X >= 120
1049
	if STRENGTH >= 150 and STRENGTH ~= 200 and POWER >= 45 then
1050
		POWER = POWER - 45
1051
		TIER = 2
1052
	elseif STRENGTH == 200 and POWER >= 100 then
1053
		POWER = POWER - 100
1054
		TIER = 3
1055
	end
1056
	for i=0, 0.2, 0.1 / Animation_Speed do
1057
		Swait()
1058
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1059
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1060
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1061
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1062
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.65) * ANGLES(RAD(10), RAD(90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1063
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-15), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1064
	end
1065
	for i=0, 0.2, 0.1 / Animation_Speed do
1066
		Swait()
1067
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.6) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1068
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1069
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1070
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1071
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(20), RAD(90), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
1072
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1073
	end
1074
	coroutine.resume(coroutine.create(function()
1075
		if TIER == 1 then
1076
			local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(30,0,30))
1077
			AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
1078
			local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
1079
			PARTCL.Rate = 999
1080
			CreateSound(304999618,AOE,5,1,false)
1081
			CreateSound(130972023,AOE,4,1,false)
1082
			ApplyAoE(AOE.Position,15,15,25,35,true,5)
1083
			WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(45,3,45), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
1084
			wait(2)
1085
			PARTCL.Enabled = false
1086
			Debris:AddItem(AOE,2)
1087
		elseif TIER == 2 then
1088
			local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(40,0,40))
1089
			AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
1090
			local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
1091
			PARTCL.Rate = 999
1092
			CreateSound(304999618,AOE,5,1,false)
1093
			CreateSound(130972023,AOE,4,1,false)
1094
			ApplyAoE(AOE.Position,20,25,35,35,true,6)
1095
			WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(55,3,55), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
1096
			wait(2)
1097
			PARTCL.Enabled = false
1098
			Debris:AddItem(AOE,2)
1099
		elseif TIER == 3 then
1100
			local AOE = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "Stomp", VT(50,0,50))
1101
			AOE.CFrame = CF(RightLeg.Position-VT(0,1,0))
1102
			local PARTCL = ParticleEmitter({Texture = 281983280, Speed = 0.2, RotSpeed = NumberRange.new(-15, 15), Drag = 2, Size1 = 4, Size2 = 6, Lifetime1 = 0.01, Lifetime2 = 0.1, Parent = AOE, Emit = 100, Offset = 360, Enabled = true, Color1 = BRICKC"Dark indigo".Color, Color2 = BRICKC"Royal purple".Color})
1103
			PARTCL.Rate = 999
1104
			CreateSound(304999618,AOE,5,1,false)
1105
			CreateSound(130972023,AOE,4,1,false)
1106
			for i = 1, 3 do
1107
				ApplyAoE(AOE.Position,30,5,15,5,true,7)WACKYEFFECT({EffectType = "Wave", Size = VT(11,1,11), Size2 = VT(55,3,55), Transparency = 0, Transparency2 = 1, CFrame = CF(AOE.Position), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = BRICKC"Dark indigo".Color, SoundID = nil, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
1108
				wait(0.5)
1109
			end
1110
			wait(1.5)
1111
			PARTCL.Enabled = false
1112
			Debris:AddItem(AOE,2)
1113
		end
1114
	end))
1115
	for i=0, 2, 0.1 / Animation_Speed do
1116
		Swait()
1117
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.6) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1118
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1119
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1120
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(120), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1121
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.5) * ANGLES(RAD(20), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1122
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1123
	end
1124
	RING.Anchored = true
1125
	WELD:remove()
1126
	coroutine.resume(coroutine.create(function()
1127
		for i = 1, 25 do
1128
			Swait()
1129
			RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
1130
			RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
1131
			MESH.Scale = MESH.Scale - VT(3,0,3)
1132
		end
1133
		RING:remove()
1134
	end))
1135
	GRAV:remove()
1136
	ATTACK = false
1137
	Rooted = false
1138
end
1139
1140
function ToxicDevastation()
1141
	ATTACK = true
1142
	Rooted = false
1143
	Speed = 5
1144
	local STRENGTH = 50
1145
	local TIER = 1
1146
	for i=0, 1, 0.1 / Animation_Speed do
1147
		Swait()
1148
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1149
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1150
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1151
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1152
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.15, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1153
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(-90), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1154
	end
1155
	local POS = RootPart.Position
1156
	Rooted = true
1157
	Speed = Walkspeed
1158
	local TIMER = 0
1159
	local bv = Instance.new("BodyVelocity") 
1160
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1161
	bv.velocity = CF(RootPart.Position,RootPart.Position+VT(0,5,0)).lookVector*150
1162
	bv.Parent = RootPart
1163
	WACKYEFFECT({EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position+VT(0,-3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BRICKC"Pearl".Color, SoundID = 1112042117, SoundPitch = MRANDOM(5,8)/10, SoundVolume = 6})
1164
	repeat
1165
		Swait()
1166
		TIMER = TIMER + 1
1167
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1168
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1169
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1170
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1171
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1172
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1173
	until RootPart.Position.Y > POS.Y+80 or TIMER > 100
1174
	local GRAV = IT("BodyPosition",RootPart)
1175
	GRAV.D = 250
1176
	GRAV.P = 20000
1177
	GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
1178
	GRAV.Position = RootPart.Position
1179
	bv:remove()
1180
	local G = IT("BodyGyro",RootPart)
1181
	G.D = 250
1182
	G.P = 200000
1183
	G.MaxTorque = VT(math.huge,math.huge,math.huge)
1184
	local RING,WELD,MESH = MagicRing(Torso,CF(0,3,0))
1185
	CreateSound(RINGSOUND,RING,5,1,false)
1186
	local ORB = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Ball", VT(3,3,3))
1187
	MakeForm(ORB,"Ball")
1188
	local LOOP = 0
1189
	repeat
1190
		Swait()
1191
		LOOP = LOOP + 1
1192
		ORB.CFrame = Torso.CFrame*CF(0,4+ORB.Size.X/2,0)
1193
		STRENGTH = STRENGTH + 0.3
1194
		if STRENGTH > 200 then
1195
			STRENGTH = 200
1196
		else
1197
			ORB.Size = ORB.Size + VT(0.02,0.02,0.02)
1198
		end
1199
		if MESH.Scale.X < 120 then
1200
			MESH.Scale = MESH.Scale + VT(5,0,5)
1201
		elseif MESH.Scale.X < 200 then
1202
			MESH.Scale = MESH.Scale + VT(0.6,0,0.6)
1203
		end
1204
		if LOOP == 4 then
1205
			LOOP = 0
1206
			POWER = POWER - 1
1207
		end
1208
		if MRANDOM(1,25) == 1 then
1209
			Lightning({Color = ORB.Color, Start = ORB.Position, End = ORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = ORB.Size.X, Branches = false})
1210
		end
1211
		G.cframe = CF(RootPart.Position,Mouse.Hit.p)
1212
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1213
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1214
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1215
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1216
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1217
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1218
	until (KEYHOLD == false and MESH.Scale.X >= 170) or POWER == 0
1219
	if STRENGTH >= 150 and STRENGTH ~= 200 then
1220
		TIER = 2
1221
	elseif STRENGTH == 200  then
1222
		TIER = 3
1223
	end
1224
	coroutine.resume(coroutine.create(function()
1225
		ORB.CFrame = CF(ORB.Position,Mouse.Hit.p)
1226
		CreateSound(1112042117,ORB,5,0.8,false)
1227
		for i = 1, 200 do
1228
			Swait()
1229
			ORB.CFrame = ORB.CFrame*CF(0,0,-2)
1230
			if MRANDOM(1,5) == 1 then
1231
				Lightning({Color = ORB.Color, Start = ORB.Position, End = ORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = ORB.Size.X, Branches = false})
1232
			end
1233
			local HIT = Raycast(ORB.Position, ORB.CFrame.lookVector, ORB.Size.X/2, Character)
1234
			if HIT ~= nil then
1235
				ORB.Transparency = 1
1236
				coroutine.resume(coroutine.create(function()
1237
					local COLOR = ORB.Color
1238
					local POS = ORB.Position
1239
					local SIZE = ORB.Size
1240
					local TIMES = 12 + TIER*3
1241
					local FAKEORB = CreatePart(3, Effects, "Neon", 0, 0, "Royal purple", "Ball", ORB.Size)
1242
					FAKEORB.CFrame = CF(POS)
1243
					MakeForm(FAKEORB,"Ball")
1244
					local TIME = 0
1245
					ApplyAoE(FAKEORB.Position,30+(25*TIER),15,25,0,true,10)
1246
					WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = FAKEORB.Size, Size2 = VT(35+(25*TIER),35+(25*TIER),35+(25*TIER)), Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = 178452241, SoundPitch = 1, SoundVolume = 6})
1247
					for i = 1, 5 do
1248
						WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35+(25*TIER),3,35+(25*TIER)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
1249
					end
1250
					for i = 1, TIMES*20 do
1251
						TIME = TIME + 1
1252
						wait()
1253
						if MRANDOM(1,math.ceil(5+(i/15))) == 1 then
1254
							Lightning({Color = ORB.Color, Start = FAKEORB.Position, End = FAKEORB.Position+VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)), SegmentL = 1, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = i/5, Branches = false})
1255
						end
1256
						FAKEORB.Size = FAKEORB.Size - SIZE/(TIMES*20)
1257
						if TIME >= 20 then
1258
							TIME = 0
1259
							ApplyAoE(FAKEORB.Position,30+(25*TIER),15,25,0,true,10)
1260
							WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = FAKEORB.Size, Size2 = VT(35+(25*TIER),35+(25*TIER),35+(25*TIER)), Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = 178452241, SoundPitch = 1, SoundVolume = 6})
1261
							for i = 1, 5 do
1262
								WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(35+(25*TIER),3,35+(25*TIER)), Transparency = 0.5, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = COLOR, SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
1263
							end
1264
						end
1265
					end
1266
					FAKEORB:remove()
1267
				end))
1268
				break
1269
			end
1270
		end
1271
		ORB:remove()
1272
	end))
1273
	for i=0, 1, 0.1 / Animation_Speed do
1274
		Swait()
1275
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
1276
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1277
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1278
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1279
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1280
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
1281
	end
1282
	coroutine.resume(coroutine.create(function()
1283
		for i = 1, 25 do
1284
			Swait()
1285
			RING.TopTexture.Transparency = RING.TopTexture.Transparency + 1/25
1286
			RING.BottomTexture.Transparency = RING.BottomTexture.Transparency + 1/25
1287
			MESH.Scale = MESH.Scale - VT(3,0,3)
1288
		end
1289
		RING:remove()
1290
	end))
1291
	GRAV:remove()
1292
	G:remove()
1293
	ATTACK = false
1294
	Rooted = false
1295
end
1296
1297
--//=================================\\
1298
--||	  ASSIGN THINGS TO KEYS
1299
--\\=================================//
1300
1301
function MouseDown(Mouse)
1302
	if ATTACK == false then
1303
	end
1304
end
1305
1306
function MouseUp(Mouse)
1307
HOLD = false
1308
end
1309
1310
function KeyDown(Key)
1311
	KEYHOLD = true
1312
	if Key == "q" and ATTACK == false and POWER >= 50 then
1313
		POWER = POWER - 50
1314
		PoisonBolt()
1315
	end
1316
1317
	if Key == "r" and ATTACK == false and POWER >= 125 then
1318
		POWER = POWER - 125
1319
		ToxicStomp()
1320
	end
1321
1322
	if Key == "x" and ATTACK == false and POWER >= 250 then
1323
		POWER = POWER - 250
1324
		ToxicDevastation()
1325
	end
1326
1327
	if string.byte(Key) == 48 and ATTACK == false and (POWER ~= MAXPOWER or Humanoid.Health ~= Humanoid.MaxHealth) then
1328
		Charge()
1329
	end
1330
1331
	if string.byte(Key) == 50 and ATTACK == false then
1332
		if Walkspeed == 16 then
1333
			Walkspeed = 30
1334
			Speed = 30
1335
		elseif Walkspeed == 30 then
1336
			Walkspeed = 16
1337
			Speed = 16
1338
		end
1339
	end
1340
end
1341
1342
function KeyUp(Key)
1343
	KEYHOLD = false
1344
end
1345
1346
	Mouse.Button1Down:connect(function(NEWKEY)
1347
		MouseDown(NEWKEY)
1348
	end)
1349
	Mouse.Button1Up:connect(function(NEWKEY)
1350
		MouseUp(NEWKEY)
1351
	end)
1352
	Mouse.KeyDown:connect(function(NEWKEY)
1353
		KeyDown(NEWKEY)
1354
	end)
1355
	Mouse.KeyUp:connect(function(NEWKEY)
1356
		KeyUp(NEWKEY)
1357
	end)
1358
1359
--//=================================\\
1360
--\\=================================//
1361
1362
1363
function unanchor()
1364
	if UNANCHOR == true then
1365
		g = Character:GetChildren()
1366
		for i = 1, #g do
1367
			if g[i].ClassName == "Part" then
1368
				g[i].Anchored = false
1369
			end
1370
		end
1371
	end
1372
end
1373
1374
1375
--//=================================\\
1376
--||	WRAP THE WHOLE SCRIPT UP
1377
--\\=================================//
1378
1379
Humanoid.Changed:connect(function(Jump)
1380
	if Jump == "Jump" and (Disable_Jump == true) then
1381
		Humanoid.Jump = false
1382
	end
1383
end)
1384
1385
while true do
1386
	Swait()
1387
	script.Parent = WEAPONGUI
1388
	ANIMATE.Parent = nil
1389
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1390
	    v:Stop();
1391
	end
1392
	SINE = SINE + CHANGE
1393
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1394
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1395
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
1396
	local WALKSPEEDVALUE = 5
1397
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1398
		if Humanoid.WalkSpeed <= 20 then
1399
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
1400
			Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * 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)
1401
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1402
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.05 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 0.5 / Animation_Speed)
1403
		else
1404
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / (2*1.3)))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * 1 / Animation_Speed)
1405
			Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / (2*1.3)))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1406
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), -0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
1407
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE*1.3) - 0.15 * COS(SINE / WALKSPEEDVALUE*(2*1.3)), 0.125 * COS(SINE / WALKSPEEDVALUE*1.3) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE*1.3)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(75 * COS(SINE / WALKSPEEDVALUE*1.3))), 0.5 / Animation_Speed)
1408
		end
1409
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1410
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1411
		Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1412
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1413
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1414
	end
1415
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1416
		ANIM = "Jump"
1417
		if ATTACK == false then
1418
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1419
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1420
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1421
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1422
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1423
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1424
	    end
1425
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1426
		ANIM = "Fall"
1427
		if ATTACK == false then
1428
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1429
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1430
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1431
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1432
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1433
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1434
		end
1435
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1436
		ANIM = "Idle"
1437
		if ATTACK == false then
1438
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1439
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1440
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1441
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1442
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1443
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1444
		end
1445
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1446
		ANIM = "Walk"
1447
		if ATTACK == false then
1448
			if Humanoid.WalkSpeed <= 20 then
1449
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1450
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1451
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.85 / Animation_Speed)
1452
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.85 / Animation_Speed)
1453
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1454
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1455
			elseif Humanoid.WalkSpeed > 20 then
1456
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1457
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1458
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(35), RAD(0)) * ANGLES(RAD(60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(2)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
1459
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35), RAD(-35), RAD(0)) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE*1.3)), RAD(0), RAD(-2)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1460
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(6)), 2 / Animation_Speed)
1461
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-6)), 2 / Animation_Speed)
1462
			end
1463
		end
1464
	end
1465
	unanchor()
1466
	if Rooted == false then
1467
		Disable_Jump = false
1468
		Humanoid.WalkSpeed = Speed
1469
	elseif Rooted == true then
1470
		Disable_Jump = true
1471
		Humanoid.WalkSpeed = 0
1472
	end
1473
	sick.SoundId = "rbxassetid://598848368"
1474
	sick.Looped = true
1475
	sick.Pitch = 1
1476
	sick.Volume = 3
1477
	sick.Parent = Torso
1478
	sick.Playing = true
1479
	MANACOVER:TweenSize(UD2(1 * (POWER / MAXPOWER), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
1480
	MANATEXT.Text = POWER.."/"..MAXPOWER
1481
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", 0.1, 0.1)
1482
	HEALTHTEXT.Text = math.ceil(Humanoid.Health).."/"..Humanoid.MaxHealth
1483
	Humanoid.Health = Humanoid.Health + 0.05
1484
end
1485
1486
--//=================================\\
1487
--\\=================================//
1488
1489
1490
1491
1492
1493
--//====================================================\\--
1494
--||			  		 END OF SCRIPT
1495
--\\====================================================//--