View difference between Paste ID: MfjjVZdh and ZYux0bPY
SHOW: | | - or go back to the newest paste.
1
-----------//KRYSTAL DANCE V2\\-----------
2
--[[Movelist
3
Q = The Swoosher
4
E = The nutty
5
R = Spin me right round!
6
T = Plum juice dance
7
Y = Moonwalk
8
U = Slav dance
9
P = Barrel roll
10
F = The Jerky
11
G = The Shuffle
12
H = The Spongebob
13
J = Here comes the money!
14
K = Runnin' in the 90's
15
---------]]
16
17
--Alright so before i start rambling on about absolute nonsense, please subscribe to Pewdiepie on youtube! Help him defeat T-Series!--
18
--Also subscribe to Vengefulprogram--
19
--Krystal dance! The old famous script that sadly has been broken(sorta), i've decided to rework this thing because... nostalgia.--
20
--This is one of the first scripts i've ever ran on SB, seeing this back again really reminds me of how much of a noob i was.--
21
--Credits to Krystalteam, they made the original krystal dance! Be sure to respect them or else...--
22
--#makeoldscriptsgreatagain--
23
24-
if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
24+
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
25
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
26-
	script.Parent = owner.Character
26+
local Mouse,mouse,UserInputService,ContextActionService = owner
27-
	local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
27+
28-
	local function NewFakeEvent()
28+
    print("FE Compatibility code by Mokiros Edited by basstracker1970")
29-
		local Bind = Instance.new("BindableEvent")
29+
    script.Parent = Player.Character
30-
		local Fake;Fake = {Connections = {},
30+
31-
		fakeEvent=true;
31+
    --RemoteEvent for communicating
32-
		Connect=function(self,Func)
32+
    local Event = Instance.new("RemoteEvent")
33-
			Bind.Event:connect(Func)
33+
    Event.Name = "UserInput_Event"
34-
			self.Connections[Bind] = true
34+
35-
			return setmetatable({Connected = true},{
35+
    --Fake event to make stuff like Mouse.KeyDown work
36-
			__index = function (self,Index)
36+
    local function fakeEvent()
37-
				if Index:lower() == "disconnect" then
37+
        local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
38-
					return function() Fake.Connections[Bind] = false;self.Connected = false end
38+
        t.connect = t.Connect
39
        return t
40-
				return Fake[Index]
40+
    end
41-
			end;
41+
42-
			__tostring = function() return "Connection" end;
42+
    --Creating fake input objects with fake variables
43-
		})
43+
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
44-
		end}
44+
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
45-
		Fake.connect = Fake.Connect;return Fake;
45+
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
46
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
47-
	local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
47+
    end}
48-
	local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
48+
    --Merged 2 functions into one by checking amount of arguments
49-
	local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
49+
    CAS.UnbindAction = CAS.BindAction
50-
		self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
50+
51-
	end};ContextActionService.UnBindAction = ContextActionService.BindAction
51+
    --This function will trigger the events that have been :Connect()'ed
52-
	local function TriggerEvent(self,Event,...)
52+
    local function te(self,ev,...)
53-
		local Trigger = Mouse[Event]
53+
        local t = m[ev]
54-
		if Trigger and Trigger.fakeEvent and Trigger.Connections then
54+
        if t and t._fakeEvent and t.Function then
55-
			for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
55+
            t.Function(...)
56
        end
57
    end
58-
	Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
58+
    m.TrigEvent = te
59-
	Event.OnServerEvent:Connect(function(FiredBy,Input)
59+
    UIS.TrigEvent = te
60-
		if FiredBy.Name ~= owner.Name then return end
60+
61-
		if Input.MouseEvent then
61+
   Event.OnServerEvent:Connect(function(plr,io)
62-
			Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
62+
        if plr~=Player then return end
63
        if io.isMouse then
64-
			local Begin = Input.UserInputState == Enum.UserInputState.Begin
64+
            m.Target = io.Target
65-
			if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
65+
            m.Hit = io.Hit
66-
			for _,Action in pairs(ContextActionService.Actions) do
66+
        elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
67-
				for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
67+
            if io.UserInputState == Enum.UserInputState.Begin then
68
                m:TrigEvent("Button1Down")
69-
			Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
69+
            else
70-
			UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
70+
                m:TrigEvent("Button1Up")
71
            end
72
        else
73-
	InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
73+
            for n,t in pairs(CAS.Actions) do
74-
	Event.Parent = NLS([[
74+
                for _,k in pairs(t.Keys) do
75-
		local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
75+
                    if k==io.KeyCode then
76-
		local Input = function(Input,gameProcessedEvent)
76+
                        t.Function(t.Name,io.UserInputState,io)
77-
			if gameProcessedEvent then return end
77+
                    end
78-
			Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
78+
                end
79
            end
80-
		UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
80+
            if io.UserInputState == Enum.UserInputState.Begin then
81-
		local Hit,Target
81+
                m:TrigEvent("KeyDown",io.KeyCode.Name:lower())
82-
		while wait(1/30) do
82+
                UIS:TrigEvent("InputBegan",io,false)
83-
			if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
83+
            else
84-
				Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
84+
                m:TrigEvent("KeyUp",io.KeyCode.Name:lower())
85
                UIS:TrigEvent("InputEnded",io,false)
86
            end
87-
	]],owner.Character)
87+
        end
88
    end)
89-
RealGame = game;game = setmetatable({},{
89+
    Event.Parent = NLS([==[
90-
	__index = function (self,Index)
90+
    local Player = game:GetService("Players").LocalPlayer
91-
		local Sandbox = function (Thing)
91+
    local Event = script:WaitForChild("UserInput_Event")
92-
			if Thing:IsA("Player") then
92+
93-
				local RealPlayer = Thing
93+
    local UIS = game:GetService("UserInputService")
94-
				return setmetatable({},{
94+
    local input = function(io,a)
95-
					__index = function (self,Index)
95+
        if a then return end
96-
						local Type = type(RealPlayer[Index])
96+
        --Since InputObject is a client-side instance, we create and pass table instead
97-
						if Type == "function" then
97+
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
98-
							if Index:lower() == "getmouse" or Index:lower() == "mouse" then
98+
    end
99-
								return function (self)return InternalData["Mouse"] end
99+
    UIS.InputBegan:Connect(input)
100
    UIS.InputEnded:Connect(input)
101-
							return function (self,...)return RealPlayer[Index](RealPlayer,...) end
101+
102
    local Mouse = Player:GetMouse()
103-
						return RealPlayer[Index]
103+
    local h,t
104-
					end;
104+
    --Give the server mouse data 30 times every second, but only if the values changed
105-
					__tostring = function(self) return RealPlayer.Name end
105+
    --If player is not moving their mouse, client won't fire events
106-
				})
106+
    while wait(1/30) do
107
        if h~=Mouse.Hit or t~=Mouse.Target then
108
            h,t=Mouse.Hit,Mouse.Target
109-
		if RealGame[Index] then
109+
            Event:FireServer({isMouse=true,Target=t,Hit=h})
110-
			local Type = type(RealGame[Index])
110+
        end
111-
			if Type == "function" then
111+
    end]==],Player.Character)
112-
				if Index:lower() == "getservice" or Index:lower() == "service" then
112+
    Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
113-
					return function (self,Service)
113+
114-
						local FakeServices = {
114+
115-
							["players"] = function()
115+
116-
								return setmetatable({},{
116+
--Paste This Above Any Script
117-
									__index = function (self2,Index2)
117+
118-
										local RealService = RealGame:GetService(Service)
118+
119-
										local Type2 = type(Index2)
119+
120-
										if Type2 == "function" then
120+
121-
											return function (self,...) return RealService[Index2](RealService,...)end
121+
122-
										else
122+
123-
											if Index2:lower() == "localplayer" then return Sandbox(owner) end
123+
124-
											return RealService[Index2]
124+
125-
										end
125+
126-
									end;
126+
127-
									__tostring = function(self) return RealGame:GetService(Service).Name end
127+
128-
								})
128+
Player = owner
129-
							end;
129+
130-
							["contextactionservice"] = function() return InternalData["ContextActionService"] end;
130+
131-
							["userinputservice"] = function() return InternalData["UserInputService"] end;
131+
132-
							["runservice"] = function()
132+
133-
								return setmetatable({},{
133+
134-
									__index = function(self2,Index2)
134+
135-
										local RealService = RealGame:GetService(Service)
135+
136-
										local Type2 = type(Index2)
136+
137-
										if Type2 == "function" then
137+
138-
											return function (self,...) return RealService[Index2](RealService,...) end
138+
139-
										else
139+
140-
											local RunServices = {
140+
141-
												["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
141+
142-
												["renderstepped"] = function() return RealService["Stepped"] end
142+
143-
											}
143+
144-
											if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
144+
145-
											return RealService[Index2]
145+
146-
										end
146+
147-
									end
147+
148-
								})
148+
149
sick.SoundId = "rbxassetid://815335430"
150-
						}
150+
151-
						if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
151+
152-
						return RealGame:GetService(Service)
152+
153
sick:Play()
154
Humanoid.DisplayDistanceType = "None"
155-
				return function (self,...) return RealGame[Index](RealGame,...) end
155+
156
157-
				if game:GetService(Index) then return game:GetService(Index) end
157+
158-
				return RealGame[Index]
158+
159
VT = Vector3.new
160
RAD = math.rad
161-
		return nil
161+
162
UD2 = UDim2.new
163-
});Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
163+
164
ANGLES = CFrame.Angles
165
EULER = CFrame.fromEulerAnglesXYZ
166
COS = math.cos
167
ACOS = math.acos
168
SIN = math.sin
169
ASIN = math.asin
170
ABS = math.abs
171
MRANDOM = math.random
172
FLOOR = math.floor
173
174
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
175-
Player = game:GetService("Players").LocalPlayer
175+
176
	if MESH == "SpecialMesh" then
177
		NEWMESH.MeshType = MESHTYPE
178
		if MESHID ~= "nil" and MESHID ~= "" then
179
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
180
		end
181-
Mouse = Player:GetMouse()
181+
182
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
183
		end
184
	end
185
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
186
	NEWMESH.Scale = SCALE
187
	NEWMESH.Parent = PARENT
188
	return NEWMESH
189
end
190
191
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
192
	local NEWPART = IT("Part")
193
	NEWPART.formFactor = FORMFACTOR
194
	NEWPART.Reflectance = REFLECTANCE
195
	NEWPART.Transparency = TRANSPARENCY
196
	NEWPART.CanCollide = false
197
	NEWPART.Locked = true
198
	NEWPART.Anchored = true
199
	if ANCHOR == false then
200
		NEWPART.Anchored = false
201
	end
202
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
203
	NEWPART.Name = NAME
204
	NEWPART.Size = SIZE
205
	NEWPART.Position = Torso.Position
206
	NEWPART.Material = MATERIAL
207
	NEWPART:BreakJoints()
208
	NEWPART.Parent = PARENT
209
	return NEWPART
210
end
211
212
--//=================================\\
213
--||		  CUSTOMIZATION
214
--\\=================================//
215
216
Player_Size = 2 --Size of the player.
217
Animation_Speed = 3
218
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
219
220
local Speed = 16
221
local Effects2 = {}
222
223
--//=================================\\
224
--|| 	  END OF CUSTOMIZATION
225
--\\=================================//
226
227
	local function weldBetween(a, b)
228
	    local weldd = Instance.new("ManualWeld")
229
	    weldd.Part0 = a
230
	    weldd.Part1 = b
231
	    weldd.C0 = CFrame.new()
232
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
233
	    weldd.Parent = a
234
	    return weldd
235
	end
236
237
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
238
if TYPE == "Gem" then
239
	local acs = CreatePart(3, PART, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
240
	acs.Anchored = false
241
    acs.CanCollide = false
242
	acs.CFrame = PART.CFrame
243
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
244
weldBetween(PART,acs)
245
elseif TYPE == "Skull" then
246
	local acs = CreatePart(3, PART, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
247
	acs.Anchored = false
248
    acs.CanCollide = false
249
	acs.CFrame = PART.CFrame
250
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
251
weldBetween(PART,acs)
252
elseif TYPE == "Eye" then
253
	local acs = CreatePart(3, PART, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
254
	acs.Anchored = false
255
    acs.CanCollide = false
256
	acs.CFrame = PART.CFrame
257
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
258
weldBetween(PART,acs)
259
end
260
end
261
262
--//=================================\\
263
--|| 	      USEFUL VALUES
264
--\\=================================//
265
266
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
267
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
268
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
269
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
270
local CHANGEDEFENSE = 0
271
local CHANGEDAMAGE = 0
272
local CHANGEMOVEMENT = 0
273
local ANIM = "Idle"
274
local ATTACK = false
275
local EQUIPPED = false
276
local HOLD = false
277
local COMBO = 1
278
local Rooted = false
279
local SINE = 0
280
local KEYHOLD = false
281
local CHANGE = 2 / Animation_Speed
282
local WALKINGANIM = false
283
local WALK = 0
284
local VALUE1 = false
285
local VALUE2 = false
286
local ROBLOXIDLEANIMATION = IT("Animation")
287
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
288
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
289
--ROBLOXIDLEANIMATION.Parent = Humanoid
290
local WEAPONGUI = IT("ScreenGui", PlayerGui)
291
WEAPONGUI.Name = "Weapon GUI"
292
local Weapon = IT("Model")
293
Weapon.Name = "Adds"
294
local Effects = IT("Folder", Weapon)
295
Effects.Name = "Effects"
296
local ANIMATOR = Humanoid.Animator
297
local ANIMATE = Character.Animate
298
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
299
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
300
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
301
local HITBLOCKSOUNDS = {"199148933", "199148947"}
302
local UNANCHOR = true
303
local TAUNTS = {"368794227","368794903","368794985"}
304
305
local SKILLTEXTCOLOR = C3(0,0,0)
306
307
--//=================================\\
308
--\\=================================//
309
310
311
--//=================================\\
312
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
313
--\\=================================//
314
315
ArtificialHB = Instance.new("BindableEvent", script)
316
ArtificialHB.Name = "ArtificialHB"
317
318
script:WaitForChild("ArtificialHB")
319
320
frame = Frame_Speed
321
tf = 0
322
allowframeloss = false
323
tossremainder = false
324
lastframe = tick()
325
script.ArtificialHB:Fire()
326
327
game:GetService("RunService").Heartbeat:connect(function(s, p)
328
	tf = tf + s
329
	if tf >= frame then
330
		if allowframeloss then
331
			script.ArtificialHB:Fire()
332
			lastframe = tick()
333
		else
334
			for i = 1, math.floor(tf / frame) do
335
				script.ArtificialHB:Fire()
336
			end
337
		lastframe = tick()
338
		end
339
		if tossremainder then
340
			tf = 0
341
		else
342
			tf = tf - frame * math.floor(tf / frame)
343
		end
344
	end
345
end)
346
347
--//=================================\\
348
--\\=================================//
349
350
351
352
353
354
--//=================================\\
355
--|| 	      SOME FUNCTIONS
356
--\\=================================//
357
358
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
359
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
360
end
361
362
function PositiveAngle(NUMBER)
363
	if NUMBER >= 0 then
364
		NUMBER = 0
365
	end
366
	return NUMBER
367
end
368
369
function NegativeAngle(NUMBER)
370
	if NUMBER <= 0 then
371
		NUMBER = 0
372
	end
373
	return NUMBER
374
end
375
376
function Swait(NUMBER)
377
	if NUMBER == 0 or NUMBER == nil then
378
		ArtificialHB.Event:wait()
379
	else
380
		for i = 1, NUMBER do
381
			ArtificialHB.Event:wait()
382
		end
383
	end
384
end
385
386
function QuaternionFromCFrame(cf)
387
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
388
	local trace = m00 + m11 + m22
389
	if trace > 0 then 
390
		local s = math.sqrt(1 + trace)
391
		local recip = 0.5 / s
392
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
393
	else
394
		local i = 0
395
		if m11 > m00 then
396
			i = 1
397
		end
398
		if m22 > (i == 0 and m00 or m11) then
399
			i = 2
400
		end
401
		if i == 0 then
402
			local s = math.sqrt(m00 - m11 - m22 + 1)
403
			local recip = 0.5 / s
404
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
405
		elseif i == 1 then
406
			local s = math.sqrt(m11 - m22 - m00 + 1)
407
			local recip = 0.5 / s
408
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
409
		elseif i == 2 then
410
			local s = math.sqrt(m22 - m00 - m11 + 1)
411
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
412
		end
413
	end
414
end
415
 
416
function QuaternionToCFrame(px, py, pz, x, y, z, w)
417
	local xs, ys, zs = x + x, y + y, z + z
418
	local wx, wy, wz = w * xs, w * ys, w * zs
419
	local xx = x * xs
420
	local xy = x * ys
421
	local xz = x * zs
422
	local yy = y * ys
423
	local yz = y * zs
424
	local zz = z * zs
425
	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))
426
end
427
 
428
function QuaternionSlerp(a, b, t)
429
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
430
	local startInterp, finishInterp;
431
	if cosTheta >= 0.0001 then
432
		if (1 - cosTheta) > 0.0001 then
433
			local theta = ACOS(cosTheta)
434
			local invSinTheta = 1 / SIN(theta)
435
			startInterp = SIN((1 - t) * theta) * invSinTheta
436
			finishInterp = SIN(t * theta) * invSinTheta
437
		else
438
			startInterp = 1 - t
439
			finishInterp = t
440
		end
441
	else
442
		if (1 + cosTheta) > 0.0001 then
443
			local theta = ACOS(-cosTheta)
444
			local invSinTheta = 1 / SIN(theta)
445
			startInterp = SIN((t - 1) * theta) * invSinTheta
446
			finishInterp = SIN(t * theta) * invSinTheta
447
		else
448
			startInterp = t - 1
449
			finishInterp = t
450
		end
451
	end
452
	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
453
end
454
455
function Clerp(a, b, t)
456
	local qa = {QuaternionFromCFrame(a)}
457
	local qb = {QuaternionFromCFrame(b)}
458
	local ax, ay, az = a.x, a.y, a.z
459
	local bx, by, bz = b.x, b.y, b.z
460
	local _t = 1 - t
461
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
462
end
463
464
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
465
	local frame = IT("Frame")
466
	frame.BackgroundTransparency = TRANSPARENCY
467
	frame.BorderSizePixel = BORDERSIZEPIXEL
468
	frame.Position = POSITION
469
	frame.Size = SIZE
470
	frame.BackgroundColor3 = COLOR
471
	frame.BorderColor3 = BORDERCOLOR
472
	frame.Name = NAME
473
	frame.Parent = PARENT
474
	return frame
475
end
476
477
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
478
	local label = IT("TextLabel")
479
	label.BackgroundTransparency = 1
480
	label.Size = UD2(1, 0, 1, 0)
481
	label.Position = UD2(0, 0, 0, 0)
482
	label.TextColor3 = TEXTCOLOR
483
	label.TextStrokeTransparency = STROKETRANSPARENCY
484
	label.TextTransparency = TRANSPARENCY
485
	label.FontSize = TEXTFONTSIZE
486
	label.Font = TEXTFONT
487
	label.BorderSizePixel = BORDERSIZEPIXEL
488
	label.TextScaled = false
489
	label.Text = TEXT
490
	label.Name = NAME
491
	label.Parent = PARENT
492
	return label
493
end
494
495
function NoOutlines(PART)
496
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
497
end
498
499
500
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
501
	local NEWWELD = IT(TYPE)
502
	NEWWELD.Part0 = PART0
503
	NEWWELD.Part1 = PART1
504
	NEWWELD.C0 = C0
505
	NEWWELD.C1 = C1
506
	NEWWELD.Parent = PARENT
507
	return NEWWELD
508
end
509
510
function CreateSound(ID, PARENT, VOLUME, PITCH)
511
	local NEWSOUND = nil
512
	coroutine.resume(coroutine.create(function()
513
		NEWSOUND = IT("Sound", PARENT)
514
		NEWSOUND.Volume = VOLUME
515
		NEWSOUND.Pitch = PITCH
516
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
517
		Swait()
518
		NEWSOUND:play()
519
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
520
	end))
521
	return NEWSOUND
522
end
523
524
function CFrameFromTopBack(at, top, back)
525
	local right = top:Cross(back)
526
	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)
527
end
528
529
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
530
	local wave = CreatePart(3, Effects, "Neon", 0, 0.9, BRICKC(COLOR), "Effect", VT(1,1,1), true)
531
	local mesh = IT("SpecialMesh",wave)
532
	mesh.MeshType = "Sphere"
533
	mesh.Scale = SIZE
534
	mesh.Offset = VT(0,0,0)
535
	wave.CFrame = CFRAME
536
	coroutine.resume(coroutine.create(function(PART)
537
		for i = 1, WAIT do
538
			Swait()
539
			mesh.Scale = mesh.Scale + GROW
540
			wave.Transparency = wave.Transparency + (0.1/WAIT)
541
			if wave.Transparency > 0.99 then
542
				wave:remove()
543
			end
544
		end
545
	end))
546
end
547
548
function MakeForm(PART,TYPE)
549
	if TYPE == "Cyl" then
550
		local MSH = IT("CylinderMesh",PART)
551
	elseif TYPE == "Ball" then
552
		local MSH = IT("SpecialMesh",PART)
553
		MSH.MeshType = "Sphere"
554
	elseif TYPE == "Wedge" then
555
		local MSH = IT("SpecialMesh",PART)
556
		MSH.MeshType = "Wedge"
557
	end
558
end
559
560
function CheckTableForString(Table, String)
561
	for i, v in pairs(Table) do
562
		if string.find(string.lower(String), string.lower(v)) then
563
			return true
564
		end
565
	end
566
	return false
567
end
568
569
function CheckIntangible(Hit)
570
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
571
	if Hit and Hit.Parent then
572
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
573
			return true
574
		end
575
	end
576
	return false
577
end
578
579
Debris = game:GetService("Debris")
580
581
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
582
	local Direction = CFrame.new(StartPos, Vec).lookVector
583
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
584
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
585
	if RayHit and CheckIntangible(RayHit) then
586
		if DelayIfHit then
587
			wait()
588
		end
589
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
590
	end
591
	return RayHit, RayPos, RayNormal
592
end
593
594
function turnto(position)
595
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
596
end
597
598
--//=================================\\
599
--|| 			SPEECH
600
--\\=================================//
601
602
function chatfunc(text,waitt)
603
local chat = coroutine.wrap(function()
604
if Character:FindFirstChild("TalkingBillBoard")~= nil then
605
Character:FindFirstChild("TalkingBillBoard"):destroy()
606
end
607
local naeeym2 = Instance.new("BillboardGui",Character)
608
naeeym2.Size = UDim2.new(0,100,0,40)
609
naeeym2.StudsOffset = Vector3.new(0,5,0)
610
naeeym2.Adornee = Character.Head
611
naeeym2.Name = "TalkingBillBoard"
612
naeeym2.AlwaysOnTop = true
613
local tecks2 = Instance.new("TextLabel",naeeym2)
614
tecks2.BackgroundTransparency = 1
615
tecks2.BorderSizePixel = 0
616
tecks2.Text = ""
617
tecks2.Font = "SciFi"
618
tecks2.TextSize = 30
619
tecks2.TextStrokeTransparency = 1
620
tecks2.TextColor3 = SKILLTEXTCOLOR
621
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
622
tecks2.Size = UDim2.new(1,0,0.5,0)
623
for i = 1,string.len(text),1 do
624
tecks2.Text = string.sub(text,1,i)
625
Swait()
626
end
627
wait(waitt)
628
coroutine.resume(coroutine.create(function()
629
	for i = 1, 10 do
630
		tecks2.TextTransparency = tecks2.TextTransparency + 0.1
631
		Swait()
632
	end
633
	naeeym2:Destroy()
634
end))
635
end)
636
chat()
637
end
638
639
--//=================================\\
640
--||	     WEAPON CREATION
641
--\\=================================//
642
643
if Player_Size ~= 1 then
644
RootPart.Size = RootPart.Size * Player_Size
645
Torso.Size = Torso.Size * Player_Size
646
Head.Size = Head.Size * Player_Size
647
RightArm.Size = RightArm.Size * Player_Size
648
LeftArm.Size = LeftArm.Size * Player_Size
649
RightLeg.Size = RightLeg.Size * Player_Size
650
LeftLeg.Size = LeftLeg.Size * Player_Size
651
RootJoint.Parent = RootPart
652
Neck.Parent = Torso
653
RightShoulder.Parent = Torso
654
LeftShoulder.Parent = Torso
655
RightHip.Parent = Torso
656
LeftHip.Parent = Torso
657
	
658
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
659
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
660
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
661
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
662
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
663
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
664
	--if Disable_Moving_Arms == false then
665
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
666
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
667
	--else
668
		--RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
669
		--LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
670
	--end
671
	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))
672
	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))
673
	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))
674
	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))
675
end
676
677
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
678
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.7,-2,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
679
MakeForm(part,"Ball")
680
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
681
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.7,-2,0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
682
MakeForm(part,"Ball")
683
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
684
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.7,-2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
685
MakeForm(part,"Ball")
686
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
687
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.44,-3.2,0) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
688
MakeForm(part,"Ball")
689
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
690
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.44,-3.2,0.6) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
691
MakeForm(part,"Ball")
692
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
693
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.44,-3.2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
694
MakeForm(part,"Ball")
695
local CLAW1 = part
696
CLAW1.CanCollide = true
697
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
698
local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.50,-2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
699
MakeForm(part,"Ball")
700
701
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
702
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.7,-2,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
703
MakeForm(part,"Ball")
704
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
705
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.7,-2,0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
706
MakeForm(part,"Ball")
707
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
708
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.7,-2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
709
MakeForm(part,"Ball")
710
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
711
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.44,-3.2,0) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
712
MakeForm(part,"Ball")
713
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
714
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.44,-3.2,0.6) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
715
MakeForm(part,"Ball")
716
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.2,1,0.2)*2,false)
717
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(-0.44,-3.2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
718
MakeForm(part,"Ball")
719
local CLAW2 = part
720
CLAW2.CanCollide = true
721
local part = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Claw part", VT(0.3,1,0.3)*2,false)
722
local weld = CreateWeldOrSnapOrMotor("Weld", part, LeftArm, part, CF(0.50,-2,-0.6) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
723
MakeForm(part,"Ball")
724
725
for _, c in pairs(Weapon:GetChildren()) do
726
	if c.ClassName == "Part" then
727
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
728
	end
729
end
730
731
Weapon.Parent = Character
732
733
Humanoid.Died:connect(function()
734
	ATTACK = true
735
end)
736
737
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
738
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
739
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.8, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
740
741
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Shriek", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 1")
742
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Devour", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 2")
743
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Neck snap", SKILLTEXTCOLOR, 8, "Antique", 0, 2, 1, "Text 2")
744
745
--//=================================\\
746
--||	     DAMAGE FUNCTIONS
747
--\\=================================//
748
749
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
750
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
751
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
752
	local BODYGYRO = IT("BodyGyro", STATPART)
753
	local BODYPOSITION = IT("BodyPosition", STATPART)
754
	BODYPOSITION.P = 2000
755
	BODYPOSITION.D = 100
756
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
757
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
758
	game:GetService("Debris"):AddItem(STATPART ,5)
759
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
760
	BILLBOARDGUI.Adornee = STATPART
761
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
762
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
763
	BILLBOARDGUI.AlwaysOnTop = false
764
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
765
	TEXTLABEL.BackgroundTransparency = 1
766
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
767
	TEXTLABEL.Text = TEXT
768
	TEXTLABEL.Font = "SciFi"
769
	TEXTLABEL.FontSize="Size42"
770
	TEXTLABEL.TextColor3 = COLOR
771
	TEXTLABEL.TextStrokeTransparency = 1
772
	TEXTLABEL.TextScaled = true
773
	TEXTLABEL.TextWrapped = true
774
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
775
		if LABELTYPE == "Normal" then
776
			for i = 1, 30 do
777
				Swait()
778
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
779
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
780
			end
781
		elseif LABELTYPE == "Debuff" then
782
			for i = 1, 30 do
783
				Swait()
784
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
785
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
786
			end
787
		elseif LABELTYPE == "Shock" then
788
			local ORIGIN = STATPART.Position
789
			for i = 1, 30 do
790
				Swait()
791
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
792
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
793
			end
794
		end
795
		THEPART.Parent = nil
796
	end),STATPART, BODYPOSITION, TEXTLABEL)
797
end
798
799
--//=================================\\
800
--||			DAMAGING
801
--\\=================================//
802
803
function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
804
	if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
805
		local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
806
		local dmg = math.random(min,max)
807
		if humanoid.Health > 0 then
808
			if beserk == true then
809
				humanoid.Health = 0
810
			else
811
				CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], hit, 3, MRANDOM(7, 12) / 10)
812
				hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
813
				if math.random(1,100) < critrate+1 then
814
					humanoid.Health = humanoid.Health - dmg*critmultiplier
815
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
816
				else
817
					humanoid.Health = humanoid.Health - dmg
818
					StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
819
				end
820
				local defence = Instance.new("BoolValue",hit.Parent)
821
				defence.Name = ("HitBy"..Player.Name)
822
				game:GetService("Debris"):AddItem(defence, 0.5)
823
			end
824
		end
825
	end
826
end
827
828
function AoEStun(POS,RANGE,LAST)
829
	for i,v in ipairs(workspace:GetChildren()) do
830
	if v:FindFirstChild("StunnedBy"..Player.Name) == nil then
831
		local body = v:GetChildren()
832
			for part = 1, #body do
833
				if(v:FindFirstChild("StunnedBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
834
					if(body[part].Position - POS).Magnitude < RANGE then
835
						if v.ClassName == "Model" then
836
							if v:FindFirstChild("Humanoid") then
837
								if v.Humanoid.Health ~= 0 then
838
									Stun(v.Humanoid,LAST)
839
									local defence = Instance.new("BoolValue",v)
840
									defence.Name = ("StunnedBy"..Player.Name)
841
									game:GetService("Debris"):AddItem(defence, 0.1)
842
								end
843
							end
844
						end
845
					end
846
				end
847
			end
848
		end
849
	end
850
end
851
852
function Stun(HUMANOID,LAST)
853
	if HUMANOID.Parent:FindFirstChild("StunnedBy"..Player.Name) == nil then
854
		HUMANOID.PlatformStand = true
855
		local defence = Instance.new("BoolValue",HUMANOID.Parent)
856
		defence.Name = ("StunnedBy"..Player.Name)
857
		game:GetService("Debris"):AddItem(defence, LAST)
858
		if HUMANOID.Parent:FindFirstChild("Head") then
859
			StatLabel("Normal", HUMANOID.Parent.Head.CFrame * CF(0, 0 + (HUMANOID.Parent.Head.Size.z - 1), 0), "Stunned!", C3(0.3, 0.3, 0.3))
860
		end
861
		coroutine.resume(coroutine.create(function()
862
			Swait(LAST*50)
863
			HUMANOID.PlatformStand = false
864
		end))
865
	end
866
end
867
868
--//=================================\\
869
--||	ATTACK FUNCTIONS AND STUFF
870
--\\=================================//
871
872
function AttackTemplate()
873
	ATTACK = true
874
	Rooted = false
875
	for i=0, 1, 0.1 / Animation_Speed do
876
		Swait()
877
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
878
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
879
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
880
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
881
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
882
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
883
	end
884
	ATTACK = false
885
	Rooted = false
886
end
887
888
function Strike()
889
	ATTACK = true
890
	Rooted = false
891
	CreateSound(TAUNTS[MRANDOM(1,#TAUNTS)], Head, 3, 2)
892
	for i=0, 0.5, 0.1 / Animation_Speed do
893
		Swait()
894
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)*2) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
895
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.5 / Animation_Speed)
896
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
897
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(-45), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
898
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12*2), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.5 / Animation_Speed)
899
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12*2), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.5 / Animation_Speed)
900
	end
901
	local HIT1 = CLAW1.Touched:Connect(function(hit)
902
		dealdamage(hit,25,65,6,false,5,2)
903
	end)
904
	local HIT2 = CLAW2.Touched:Connect(function(hit)
905
		dealdamage(hit,25,65,6,false,5,2)
906
	end)
907
	for i=0, 0.5, 0.1 / Animation_Speed do
908
		Swait()
909
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.1, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.75 / Animation_Speed)
910
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.75 / Animation_Speed)
911
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*2, 0.5*2, -1) * ANGLES(RAD(55), RAD(75), RAD(-22)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
912
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*2, 0.5*2, -1) * ANGLES(RAD(55), RAD(-75), RAD(22)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
913
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12*2), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-5)), 0.75 / Animation_Speed)
914
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12*2), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-25)), 0.75 / Animation_Speed)
915
	end
916
	HIT1:disconnect()
917
	HIT2:disconnect()
918
	ATTACK = false
919
	Rooted = false
920
end
921
922
function Shriek()
923
	ATTACK = true
924
	Rooted = false
925
	for i=0, 2.5, 0.1 / Animation_Speed do
926
		Swait()
927
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)*2) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
928
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
929
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
930
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(-45), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
931
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
932
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
933
	end
934
	Rooted = true
935
	CreateSound(TAUNTS[MRANDOM(1,#TAUNTS)], Effects, 10, 1)
936
	for i=0, 4, 0.1 / Animation_Speed do
937
		Swait()
938
		AoEStun(Head.Position,40,12)
939
		MagicSphere(VT(0,0,0),5,Head.CFrame,"Pearl",VT(15,15,15))
940
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.4*2, -0.65*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(55), RAD(0), RAD(0)), 0.7 / Animation_Speed)
941
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-35+MRANDOM(-5,5)), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,1))), 1)
942
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(-15), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
943
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(-15), RAD(-45), RAD(-12)) * LEFTSHOULDERC0, 0.75 / Animation_Speed)
944
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(15)), 0.75 / Animation_Speed)
945
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-55)), 0.75 / Animation_Speed)
946
	end
947
	ATTACK = false
948
	Rooted = false
949
end
950
951
local asd = Instance.new("ParticleEmitter")
952
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
953
asd.LightEmission = .1
954
asd.Size = NumberSequence.new(0.2)
955
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
956
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
957
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
958
asd.Transparency = bbb
959
asd.Size = aaa
960
asd.ZOffset = .9
961
asd.Acceleration = Vector3.new(0, -15, 0)
962
asd.LockedToPart = false
963
asd.EmissionDirection = "Back"
964
asd.Lifetime = NumberRange.new(1, 2)
965
asd.Rotation = NumberRange.new(-100, 100)
966
asd.RotSpeed = NumberRange.new(-100, 100)
967
asd.Speed = NumberRange.new(2,6)
968
asd.Enabled = false
969
asd.VelocitySpread = 5
970
971
function getbloody(victim,amount)
972
local PART = IT("Part",Effects)
973
PART.Transparency = 1
974
PART.Size = victim.Size
975
PART.Anchored = true
976
PART.CanCollide = false
977
PART.CFrame = CF(victim.Position,victim.CFrame*CF(0,1,0).p)
978
local HITPLAYERSOUNDS = {"356551938","264486467"}
979
Debris:AddItem(PART,5)
980
local prtcl = asd:Clone()
981
prtcl.Parent = PART
982
prtcl:Emit(amount*10)
983
end
984
985
function Devour()
986
	ATTACK = true
987
	Rooted = false
988
	local TORS = nil
989
	local WELD = nil
990
	local HIT1 = CLAW1.Touched:Connect(function(hit)
991
		if hit.Parent:FindFirstChildOfClass("Humanoid") then
992
			TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
993
			if TORS ~= nil then
994
				UNANCHOR = false
995
				Rooted = true
996
				RootPart.Anchored = true
997
				WELD = CreateWeldOrSnapOrMotor("Weld", TORS, RightArm, TORS, CF(0,-2.5,-0.5) * ANGLES(RAD(-90), RAD(90), RAD(0)), CF(0, 0, 0))
998
			end
999
		end
1000
	end)
1001
	for i=1, 45 do
1002
		Swait()
1003
		if TORS ~= nil then
1004
			break
1005
		end
1006
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1007
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1008
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1009
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1010
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1011
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1012
	end
1013
	HIT1:disconnect()
1014
	if TORS ~= nil then
1015
		for i=0, 2, 0.1 / Animation_Speed do
1016
			Swait()
1017
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1018
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1019
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1020
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1021
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1022
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1023
		end
1024
		for i=0, 0.3, 0.1 / Animation_Speed do
1025
			Swait()
1026
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 1.5 / Animation_Speed)
1027
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1.15 / Animation_Speed)
1028
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, -1, -1.5) * ANGLES(RAD(170), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1029
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*2, -1, -1.2) * ANGLES(RAD(160), RAD(0), RAD(30)) * LEFTSHOULDERC0, 1.15 / Animation_Speed)
1030
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 1.15 / Animation_Speed)
1031
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 1.15 / Animation_Speed)
1032
		end
1033
		local HITPLAYERSOUNDS2 = {"356551938","264486467"}
1034
		if TORS ~= nil then
1035
			if TORS.Parent:FindFirstChild("Head") then
1036
				CreateSound(HITPLAYERSOUNDS2[MRANDOM(1, #HITPLAYERSOUNDS2)], Head, 1, (math.random(8,12)/10))
1037
				CreateSound("230346233", Head, 10, (math.random(5,7)/10))
1038
				getbloody(TORS,4)
1039
				TORS.Parent.Head:remove()
1040
				TORS.Parent:remove()
1041
				for i=0, 1, 0.1 / Animation_Speed do
1042
					Swait()
1043
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 1.5 / Animation_Speed)
1044
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1.15 / Animation_Speed)
1045
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, -1, -1.2) * ANGLES(RAD(170), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1046
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*2, -1, -1.2) * ANGLES(RAD(160), RAD(0), RAD(30)) * LEFTSHOULDERC0, 1.15 / Animation_Speed)
1047
					RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 1.15 / Animation_Speed)
1048
					LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 1.15 / Animation_Speed)
1049
				end
1050
			end
1051
		end
1052
		UNANCHOR = true
1053
	end
1054
	ATTACK = false
1055
	Rooted = false
1056
end
1057
1058
function Snap()
1059
	ATTACK = true
1060
	Rooted = false
1061
	local TORS = nil
1062
	local WELD = nil
1063
	local HIT1 = CLAW1.Touched:Connect(function(hit)
1064
		if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent.Parent ~= Effects then
1065
			TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
1066
			if TORS ~= nil then
1067
				UNANCHOR = false
1068
				Rooted = true
1069
				RootPart.Anchored = true
1070
				WELD = CreateWeldOrSnapOrMotor("Weld", TORS, RightArm, TORS, CF(0,-2.5,-0.5) * ANGLES(RAD(-90), RAD(90), RAD(0)), CF(0, 0, 0))
1071
			end
1072
		end
1073
	end)
1074
	for i=1, 45 do
1075
		Swait()
1076
		if TORS ~= nil then
1077
			break
1078
		end
1079
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1080
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1081
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
1082
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1083
		RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1084
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1085
	end
1086
	HIT1:disconnect()
1087
	if TORS ~= nil then
1088
		local CLONE = IT("Model",Weapon)
1089
		CLONE.Name = "Corpse"
1090
		for i=0, 2, 0.1 / Animation_Speed do
1091
			Swait()
1092
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1093
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1094
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1095
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1096
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1097
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1098
		end
1099
		for i=0, 2, 0.1 / Animation_Speed do
1100
			Swait()
1101
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1102
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
1103
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(25), RAD(-35)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1104
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.5) * ANGLES(RAD(80), RAD(0), RAD(25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1105
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1106
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1107
		end
1108
		for i=0, 3, 0.1 / Animation_Speed do
1109
			Swait()
1110
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1111
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(10 - 2.5 * SIN(SINE / 12)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
1112
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(25), RAD(-35)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1113
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(70), RAD(0), RAD(20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1114
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1115
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1116
		end
1117
		local HITPLAYERSOUNDS = {"356551938","264486467"}
1118
		local DummyHead = nil
1119
		local q = TORS.Parent:GetChildren()
1120
		for i = 1,#q do
1121
			if q[i].ClassName ~= "LocalScript" and q[i].ClassName ~= "Script" and q[i].ClassName ~= "Accessory" and q[i].ClassName ~= "Hat" and q[i].ClassName ~= "Gear" then
1122
				q[i].Parent = CLONE
1123
				if q[i].ClassName == "Humanoid" then
1124
					q[i].PlatformStand = true
1125
				end
1126
				if q[i].Name == "Head" then
1127
					DummyHead = CLONE.Head:Clone()
1128
					q[i]:ClearAllChildren()
1129
					q[i].Transparency = 1
1130
				end
1131
			else
1132
				q[i]:remove()
1133
			end
1134
		end
1135
		local TORS2 = CLONE:FindFirstChild("Torso") or CLONE:FindFirstChild("UpperTorso")
1136
		DummyHead.Parent = Effects
1137
		local WELD1 = CreateWeldOrSnapOrMotor("Weld", DummyHead, LeftArm, DummyHead, CF(0,-2.5,0) * ANGLES(RAD(-90), RAD(90), RAD(0)), CF(0, 0, 0))
1138
		local WELD2 = CreateWeldOrSnapOrMotor("Weld", TORS2, RightArm, TORS2, CF(0,-2.5,-0.5) * ANGLES(RAD(-90), RAD(90), RAD(0)), CF(0, 0, 0))
1139
		local HITPLAYERSOUNDS2 = {"356551938","264486467"}
1140
		CreateSound(HITPLAYERSOUNDS2[MRANDOM(1, #HITPLAYERSOUNDS2)], TORS2, 1, (math.random(8,12)/10))
1141
		getbloody(DummyHead,5)
1142
		for i=0, 3, 0.1 / Animation_Speed do
1143
			Swait()
1144
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1145
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(20 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
1146
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(25), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1147
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(120), RAD(0), RAD(20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1148
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1149
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1150
		end
1151
		for i=0, 1, 0.1 / Animation_Speed do
1152
			Swait()
1153
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1154
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(20 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1155
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(25), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1156
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(35), RAD(0), RAD(-75)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1157
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1158
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1159
		end
1160
		WELD1:remove()
1161
		for i=0, 0.5, 0.1 / Animation_Speed do
1162
			Swait()
1163
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1164
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(20 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1165
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(55), RAD(25), RAD(-25)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1166
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(35), RAD(0), RAD(-75)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1167
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1168
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1169
		end
1170
		local GROWLS = {"368795088","368795352","368795492","368795580"}
1171
		CreateSound(GROWLS[MRANDOM(1, #GROWLS)], Head, 4, (math.random(15,20)/10))
1172
		repeat
1173
			Swait()
1174
			turnto(Mouse.Hit.p)
1175
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 0.15 / Animation_Speed)
1176
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1177
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, -1.5) * ANGLES(RAD(170), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1178
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
1179
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1180
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1181
		until HOLD == true
1182
		WELD2:remove()
1183
		local bv = Instance.new("BodyVelocity") 
1184
		bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
1185
		bv.velocity = CF(TORS2.Position,Mouse.Hit.p).lookVector*300
1186
		bv.Parent = TORS2
1187
		bv.Name = "MOVE"
1188
		coroutine.resume(coroutine.create(function()
1189
			local HIT1 = TORS2.Touched:Connect(function(hit)
1190
				dealdamage(hit,25,65,3,false,5,2)
1191
			end)
1192
			Swait(2)
1193
			HIT1:disconnect()
1194
		end))
1195
		Debris:AddItem(bv,0.2)
1196
		TORS2.Velocity = CF(TORS2.Position,Mouse.Hit.p).lookVector*300
1197
		for i=0, 1, 0.1 / Animation_Speed do
1198
			Swait()
1199
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(15)), 1)
1200
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1)
1201
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1*2, 0.35*2, 0) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1)
1202
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35*2, 0.5*2, -0.6) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1)
1203
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 1)
1204
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 1)
1205
		end
1206
	end
1207
	UNANCHOR = true
1208
	ATTACK = false
1209
	Rooted = false
1210
end
1211
1212
--//=================================\\
1213
--||	  ASSIGN THINGS TO KEYS
1214
--\\=================================//
1215
1216
function MouseDown(Mouse)
1217
	HOLD = true
1218
	if ATTACK == false then
1219
		Strike()
1220
	end
1221
end
1222
1223
function MouseUp(Mouse)
1224
HOLD = false
1225
end
1226
1227
function KeyDown(Key)
1228
	KEYHOLD = true
1229
	if Key == "z" and ATTACK == false then
1230
		Shriek()
1231
	end
1232
1233
	if Key == "b" and ATTACK == false then
1234
		Devour()
1235
	end
1236
1237
	if Key == "c" and ATTACK == false then
1238
		Snap()
1239
	end
1240
1241
	if Key == "q" and ATTACK == false then
1242
		if VALUE1 == false then
1243
			VALUE1 = true
1244
			Speed = 75
1245
			CreateSound(TAUNTS[MRANDOM(1,#TAUNTS)], Effects, 10, 2)
1246
		elseif VALUE1 == true then
1247
			VALUE1 = false
1248
			Speed = 20
1249
			local GROWLS = {"368795088","368795352","368795492","368795580"}
1250
			CreateSound(GROWLS[MRANDOM(1, #GROWLS)], Head, 4, (math.random(15,20)/10))
1251
		end
1252
	end
1253
1254
	if Key == "t" and ATTACK == false then
1255
		local GROWLS = {"368795088","368795352","368795492","368795580"}
1256
		CreateSound(GROWLS[MRANDOM(1, #GROWLS)], Head, 4, (math.random(15,20)/10))
1257
	end
1258
end
1259
1260
function KeyUp(Key)
1261
	KEYHOLD = false
1262
end
1263
1264
	Mouse.Button1Down:connect(function(NEWKEY)
1265
		MouseDown(NEWKEY)
1266
	end)
1267
	Mouse.Button1Up:connect(function(NEWKEY)
1268
		MouseUp(NEWKEY)
1269
	end)
1270
	Mouse.KeyDown:connect(function(NEWKEY)
1271
		KeyDown(NEWKEY)
1272
	end)
1273
	Mouse.KeyUp:connect(function(NEWKEY)
1274
		KeyUp(NEWKEY)
1275
	end)
1276
1277
--//=================================\\
1278
--\\=================================//
1279
1280
1281
function unanchor()
1282
	if UNANCHOR == true then
1283
		g = Character:GetChildren()
1284
		for i = 1, #g do
1285
			if g[i].ClassName == "Part" then
1286
				g[i].Anchored = false
1287
			end
1288
		end
1289
	end
1290
end
1291
1292
1293
--//=================================\\
1294
--||	WRAP THE WHOLE SCRIPT UP
1295
--\\=================================//
1296
1297
Humanoid.Changed:connect(function(Jump)
1298
	if Jump == "Jump" and (Disable_Jump == true) then
1299
		Humanoid.Jump = false
1300
	end
1301
end)
1302
1303
createbodypart("Eye","Really red",Head,VT(0, 0.6, -1.2),VT(12,10,4))
1304
createbodypart("Eye","Really black",Head,VT(0, 0.6, -1.2),VT(7,9,5))
1305
1306
Speed = 20
1307
1308
while true do
1309
	Swait()
1310
	ANIMATE.Parent = nil
1311
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1312
	IDLEANIMATION:Play()
1313
	SINE = SINE + CHANGE
1314
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1315
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1316
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1317
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1318
	local WALKSPEEDVALUE = 5
1319
	if ANIM == "Walk" and TORSOVELOCITY > 1 then
1320
		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)
1321
		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)
1322
		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)
1323
		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)
1324
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
1325
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1326
		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)
1327
		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)
1328
		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)
1329
	end
1330
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1331
		ANIM = "Jump"
1332
			if ATTACK == false then
1333
				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)
1334
				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)
1335
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(130), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
1336
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(130), RAD(-45), RAD(-12)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1337
				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)
1338
				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)
1339
	        end
1340
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil and ATTACK == false then
1341
			ANIM = "Fall"
1342
			if ATTACK == false then
1343
				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)
1344
				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)
1345
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.35 / Animation_Speed)
1346
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(160), RAD(-45), RAD(-12)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
1347
				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)
1348
				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)
1349
			end
1350
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1351
		ANIM = "Idle"
1352
		if ATTACK == false then
1353
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)*2) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1354
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1355
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1356
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1357
			RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-15), RAD(-15)), 0.15 / Animation_Speed)
1358
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12), -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(-15)), 0.15 / Animation_Speed)
1359
			if MRANDOM(1,35) == 1 then
1360
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(-15,15)), RAD(MRANDOM(-15,15))), 1)
1361
			end
1362
		end
1363
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1364
		ANIM = "Walk"
1365
		WALK = WALK + 1 / Animation_Speed
1366
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1367
			WALK = 0
1368
			if WALKINGANIM == true then
1369
				WALKINGANIM = false
1370
			elseif WALKINGANIM == false then
1371
				WALKINGANIM = true
1372
			end
1373
		end
1374
		--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)
1375
		--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)
1376
		if ATTACK == false then
1377
			if VALUE1 == false then
1378
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)*2) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1379
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1380
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(15+60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1381
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(15-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1382
				RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-3), RAD(-15), RAD(25)), 0.15 / Animation_Speed)
1383
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-3), RAD(15), RAD(-25)), 0.15 / Animation_Speed)
1384
			elseif VALUE1 == true then
1385
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.5*2 + 0.05 * COS(SINE / 12)*2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1386
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*2) - 1)) * ANGLES(RAD(-55 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1387
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*2, 0.5*2, 0) * ANGLES(RAD(35), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1388
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*2, 0.5*2, 0) * ANGLES(RAD(35), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1389
				RightHip.C0 = Clerp(RightHip.C0, CF(1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-3), RAD(-15), RAD(65)), 0.15 / Animation_Speed)
1390
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1*2, -0.5*2 - 0.05 * COS(SINE / 12)*2, -0.4*2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-3), RAD(15), RAD(-65)), 0.15 / Animation_Speed)
1391
			end
1392
		end
1393
	end
1394
if #Effects2>0 then
1395
for e=1,#Effects2 do
1396
if Effects2[e]~=nil then
1397
local Thing=Effects2[e]
1398
if Thing~=nil then
1399
local Part=Thing[1]
1400
local Mode=Thing[2]
1401
local Delay=Thing[3]
1402
local IncX=Thing[4]
1403
local IncY=Thing[5]
1404
local IncZ=Thing[6]
1405
local Part2=Thing[8]
1406
if Thing[1].Transparency<=1 then
1407
if Thing[2]=="Block1" then
1408
Thing[1].CFrame=Thing[1].CFrame
1409
Mesh=Thing[1].Mesh
1410
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1411
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1412
elseif Thing[2]=="Cylinder" then
1413
Mesh=Thing[1].Mesh
1414
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1415
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1416
elseif Thing[2]=="Blood" then
1417
Mesh=Thing[7]
1418
Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
1419
Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
1420
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1421
elseif Thing[2]=="Elec" then
1422
Mesh=Thing[1].Mesh
1423
Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
1424
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1425
elseif Thing[2]=="Disappear" then
1426
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
1427
end
1428
else
1429
Part.Parent=nil
1430
table.remove(Effects2,e)
1431
end
1432
end
1433
end
1434
end
1435
end
1436
unanchor()
1437
Humanoid.MaxHealth = "inf"
1438
Humanoid.Health = "inf"
1439
if Rooted == false then
1440
	Disable_Jump = false
1441
	Humanoid.WalkSpeed = Speed
1442
elseif Rooted == true then
1443
	Disable_Jump = true
1444
	Humanoid.WalkSpeed = 0
1445
end
1446
q = Character:GetChildren()
1447
for u = 1, #q do
1448
	if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
1449
		q[u]:remove()
1450
	elseif q[u].ClassName == "Shirt" then
1451
		q[u]:Destroy()
1452
	elseif q[u].ClassName == "Pants" then
1453
		q[u]:Destroy()
1454
	elseif q[u].ClassName == "CharacterMesh" then
1455
		q[u]:remove()
1456
	elseif q[u].ClassName == "ShirtGraphic" then
1457
		q[u]:remove()
1458
	elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
1459
		q[u].Color = Color3.new(0,0,0)
1460
	end
1461
end
1462
if Head:FindFirstChild("face") then
1463
	Head.face:remove()
1464
end
1465
Humanoid.Name = "REEE"
1466
end
1467
1468
--//=================================\\
1469
--\\=================================//
1470
1471
1472
1473
1474
1475
--//====================================================\\--
1476
--||			  		 END OF SCRIPT
1477
--\\====================================================//--