View difference between Paste ID: BkskH751 and TxgfXfeE
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2-
local Player,game,owner = owner,game
2+
3
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
4-
do
4+
5-
	print("FE Compatibility code by Mokiros")
5+
do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
6-
	local rp = RealPlayer
6+
7-
	script.Parent = rp.Character
7+
8
--\\====================================================//--
9-
	--RemoteEvent for communicating
9+
10-
	local Event = Instance.new("RemoteEvent")
10+
11-
	Event.Name = "UserInput_Event"
11+
12
wait(0.3)
13-
	--Fake event to make stuff like Mouse.KeyDown work
13+
14-
	local function fakeEvent()
14+
15-
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
15+
16-
		t.connect = t.Connect
16+
17-
		return t
17+
18
Cam = workspace.CurrentCamera
19
Backpack = Player.Backpack
20-
	--Creating fake input objects with fake variables
20+
21-
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
21+
22-
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
22+
23-
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
23+
24-
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
24+
25-
	end}
25+
26-
	--Merged 2 functions into one by checking amount of arguments
26+
27-
	CAS.UnbindAction = CAS.BindAction
27+
28
RightLeg = Character["Right Leg"]
29-
	--This function will trigger the events that have been :Connect()'ed
29+
30-
	local function te(self,ev,...)
30+
31-
		local t = m[ev]
31+
32-
		if t and t._fakeEvent then
32+
33-
			for _,f in pairs(t.Functions) do
33+
34-
				f(...)
34+
35
LeftHip = Torso["Left Hip"]
36
hasdied = false
37
demon = false
38-
	m.TrigEvent = te
38+
39-
	UIS.TrigEvent = te
39+
40
CF = CFrame.new
41-
	Event.OnServerEvent:Connect(function(plr,io)
41+
42-
	    if plr~=rp then return end
42+
43-
		m.Target = io.Target
43+
44-
		m.Hit = io.Hit
44+
45-
		if not io.isMouse then
45+
46-
			local b = io.UserInputState == Enum.UserInputState.Begin
46+
47-
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
47+
48-
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
48+
49
ACOS = math.acos
50-
			for _,t in pairs(CAS.Actions) do
50+
51-
				for _,k in pairs(t.Keys) do
51+
52-
					if k==io.KeyCode then
52+
53-
						t.Function(t.Name,io.UserInputState,io)
53+
54
FLOOR = math.floor
55
56
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
57-
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
57+
58-
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
58+
59
		NEWMESH.MeshType = MESHTYPE
60
		if MESHID ~= "nil" and MESHID ~= "" then
61-
	Event.Parent = NLS([==[
61+
62-
	local Player = game:GetService("Players").LocalPlayer
62+
63-
	local Event = script:WaitForChild("UserInput_Event")
63+
64
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
65-
	local Mouse = Player:GetMouse()
65+
66-
	local UIS = game:GetService("UserInputService")
66+
67-
	local input = function(io,a)
67+
68-
		if a then return end
68+
69-
		--Since InputObject is a client-side instance, we create and pass table instead
69+
70-
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
70+
71
end
72-
	UIS.InputBegan:Connect(input)
72+
73-
	UIS.InputEnded:Connect(input)
73+
74
	local NEWPART = IT("Part")
75-
	local h,t
75+
76-
	--Give the server mouse data 30 times every second, but only if the values changed
76+
77-
	--If player is not moving their mouse, client won't fire events
77+
78-
	while wait(1/30) do
78+
79-
		if h~=Mouse.Hit or t~=Mouse.Target then
79+
80-
			h,t=Mouse.Hit,Mouse.Target
80+
81-
			Event:FireServer({isMouse=true,Target=t,Hit=h})
81+
82
	NEWPART.Size = SIZE
83-
	end]==],Player.Character)
83+
84
	NEWPART.Material = MATERIAL
85-
	----Sandboxed game object that allows the usage of client-side methods and services
85+
86-
	--Real game object
86+
87-
	local _rg = game
87+
88
end
89-
	--Metatable for fake service
89+
90-
	local fsmt = {
90+
91-
		__index = function(self,k)
91+
92-
			local s = rawget(self,"_RealService")
92+
93-
			if s then return s[k] end
93+
94-
		end,
94+
95-
		__newindex = function(self,k,v)
95+
96-
			local s = rawget(self,"_RealService")
96+
97-
			if s then s[k]=v end
97+
98-
		end,
98+
99-
		__call = function(self,...)
99+
100-
			local s = rawget(self,"_RealService")
100+
101-
			if s then return s(...) end
101+
102
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
103-
	}
103+
104-
	local function FakeService(t,RealService)
104+
105-
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
105+
106-
		return setmetatable(t,fsmt)
106+
107
108
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
109-
	--Fake game object
109+
110-
	local g = {
110+
111-
		GetService = function(self,s)
111+
112-
			return self[s]
112+
113-
		end,
113+
114-
		Players = FakeService({
114+
115-
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
115+
116-
		},"Players"),
116+
117-
		UserInputService = FakeService(UIS,"UserInputService"),
117+
118-
		ContextActionService = FakeService(CAS,"ContextActionService"),
118+
119-
	}
119+
120-
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
120+
121-
	g.service = g.GetService
121+
122
Player_Size = 1 --Size of the player.
123-
	g.RunService = FakeService({
123+
124-
		RenderStepped = _rg:GetService("RunService").Heartbeat,
124+
125-
		BindToRenderStep = function(self,name,_,fun)
125+
126
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
127-
		end,
127+
128-
		UnbindFromRenderStep = function(self,name)
128+
129-
			self._btrs[name]:Disconnect()
129+
130-
		end,
130+
131-
	},"RunService")
131+
132
Enable_Stun = false --Enables or disables the stun mechanic.
133-
	setmetatable(g,{
133+
134-
		__index=function(self,s)
134+
135-
			return _rg:GetService(s) or typeof(_rg[s])=="function"
135+
136-
			and function(_,...)return _rg[s](_rg,...)end or _rg[s]
136+
137-
		end,
137+
138-
		__newindex = fsmt.__newindex,
138+
139-
		__call = fsmt.__call
139+
140-
	})
140+
141-
	--Changing owner to fake player object to support owner:GetMouse()
141+
142-
	game,owner = g,g.Players.LocalPlayer
142+
143
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
144
Disable_Jump = false --Disables jumping.
145
Use_HopperBin = false --Uses a hopperbin to do things.
146
147
Cooldown_1 = 0 --Cooldowns for abilites.
148
Cooldown_2 = 0
149
Cooldown_3 = 0
150
Cooldown_4 = 0
151
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
152
Skill_2_Mana_Cost = 0
153
Skill_3_Mana_Cost = 0
154
Skill_4_Mana_Cost = 0
155
Max_Mana = 0 --Maximum amount of mana you can have.
156
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
157
Mana_Name = "Mana" --Name for the mana bar.
158
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
159
Max_Stun = 1 --Maximum amount of stun you can have.
160
Recover_Mana = 0 --How much mana you gain.
161
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
162
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
163
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
164
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
165
Lose_Stun = 0 --How much stun you lose.
166
Stun_Wait = 0 --Delay between losing stun.
167
Mana_Wait = 0 --Delay between gaining mana.
168
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
169
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
170
Constant_Update = false --Removes the delay between updating the Weapon GUI.
171
Show_Stats = false --Hides or shows stats.
172
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
173
174
--//=================================\\
175
--|| 	  END OF CUSTOMIZATION
176
--\\=================================//
177
178
	local function weldBetween(a, b)
179
	    local weldd = Instance.new("ManualWeld")
180
	    weldd.Part0 = a
181
	    weldd.Part1 = b
182
	    weldd.C0 = CFrame.new()
183
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
184
	    weldd.Parent = a
185
	    return weldd
186
	end
187
188
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
189
local acs = Instance.new("Part")
190
acs.CanCollide = false
191
acs.Anchored = false
192
acs.Size = Vector3.new(0,0,0)
193
acs.CFrame = attachmentpart.CFrame
194
acs.Parent = Character
195
acs.BrickColor = color
196
    local meshs = Instance.new("SpecialMesh")
197
    meshs.MeshId = mesh
198
    meshs.TextureId = texture
199
    meshs.Parent = acs
200
    meshs.Scale = scale
201
    meshs.Offset = offset
202
weldBetween(attachmentpart,acs)
203
end
204
205
local accessories = Instance.new("Folder",Character)
206
accessories.Name = "Add-ons"
207
208
function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
209
if TYPE == "Gem" then
210
	local acs = CreatePart(3, accessories, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
211
	acs.Anchored = false
212
    acs.CanCollide = false
213
	acs.CFrame = PART.CFrame
214
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
215
weldBetween(PART,acs)
216
elseif TYPE == "Skull" then
217
	local acs = CreatePart(3, accessories, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
218
	acs.Anchored = false
219
    acs.CanCollide = false
220
	acs.CFrame = PART.CFrame
221
	local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
222
weldBetween(PART,acs)
223
elseif TYPE == "Eye" then
224
	local acs = CreatePart(3, accessories, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
225
	acs.Anchored = false
226
    acs.CanCollide = false
227
	acs.CFrame = PART.CFrame
228
	local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
229
weldBetween(PART,acs)
230
end
231
end
232
233
--//=================================\\
234
--|| 	      USEFUL VALUES
235
--\\=================================//
236
237
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
238
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
239
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
240
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
241
local CO1 = 0
242
local CO2 = 0
243
local CO3 = 0
244
local CO4 = 0
245
local KEYHOLD = false
246
local CHANGEDEFENSE = 0
247
local CHANGEDAMAGE = 0
248
local CHANGEMOVEMENT = 0
249
local ANIM = "Idle"
250
local ATTACK = false
251
local EQUIPPED = false
252
local HOLD = false
253
local COMBO = 1
254
local LASTPOINT = nil
255
local BLCF = nil
256
local SCFR = nil
257
local STAGGERHITANIM = false
258
local STAGGERANIM = false
259
local STUNANIM = false
260
local CRITCHANCENUMBER = 0
261
local IDLENUMBER = 0
262
local DONUMBER = 0
263
local HANDIDLE = false
264
local SINE = 0
265
local CHANGE = 2 / Animation_Speed
266
local WALKINGANIM = false
267
local WALK = 0
268
local DISABLEJUMPING = false
269
local HASBEENBLOCKED = false
270
local INTRODONE = false
271
local STUNDELAYNUMBER = 0
272
local MANADELAYNUMBER = 0
273
local SECONDARYMANADELAYNUMBER = 0
274
local ROBLOXIDLEANIMATION = IT("Animation")
275
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
276
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
277
--ROBLOXIDLEANIMATION.Parent = Humanoid
278
local WEAPONGUI = IT("ScreenGui", nil)
279
WEAPONGUI.Name = "Weapon GUI"
280
local WEAPONTOOL = IT("HopperBin", nil)
281
WEAPONTOOL.Name = Weapon_Name
282
local Weapon = IT("Model")
283
Weapon.Name = Weapon_Name
284
local Effects = IT("Folder", Weapon)
285
Effects.Name = "Effects"
286
local ANIMATOR = Humanoid.Animator
287
local ANIMATE = Character.Animate
288
local HITPLAYERSOUNDS = {"703633905","264486467","356551938"}
289
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
290
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
291
local HITBLOCKSOUNDS = {"199148933", "199148947"}
292
local CHAINSAWIDLE = Instance.new("Sound",Torso)
293
CHAINSAWIDLE.SoundId = "rbxassetid://1165167610"
294
CHAINSAWIDLE.Volume = 3
295
CHAINSAWIDLE.Looped = true
296
local REV = Instance.new("Sound",Torso)
297
REV.SoundId = "rbxassetid://1165167936"
298
REV.Looped = true
299
REV.Volume = 1.6
300
local CHAINSAWSTRIKE = Instance.new("Sound",Torso)
301
CHAINSAWSTRIKE.Playing = false
302
CHAINSAWSTRIKE.SoundId = "rbxassetid://862701802"
303
local Taunt1 = Instance.new("Sound",Torso)
304
Taunt1.Volume = 3
305
Taunt1.SoundId = "rbxassetid://834001699"
306
local Taunt2 = Instance.new("Sound",Torso)
307
Taunt2.Volume = 3
308
Taunt2.SoundId = "rbxassetid://834001752"
309
local Taunt3 = Instance.new("Sound",Torso)
310
Taunt3.Volume = 3
311
Taunt3.SoundId = "rbxassetid://834001797"
312
local Taunt4 = Instance.new("Sound",Torso)
313
Taunt4.Volume = 3
314
Taunt4.SoundId = "rbxassetid://834001828"
315
local TAUNTS = {Taunt1,Taunt2,Taunt3,Taunt4}
316
local FRESHMEAT = Instance.new("Sound",Torso)
317
FRESHMEAT.Playing = false
318
FRESHMEAT.Volume = 5
319
FRESHMEAT.SoundId = "rbxassetid://2767085"
320
local sick = Instance.new("Sound",Character)
321
sick.SoundId = "rbxassetid://1120185600"
322
sick.Looped = true
323
sick.Pitch = 0.6
324
sick.Volume = 1
325
--//=================================\\
326
--\\=================================//
327
328
--//=================================\\
329
--||			  STATS
330
--\\=================================//
331
332
if Character:FindFirstChild("Stats") ~= nil then
333
Character:FindFirstChild("Stats").Parent = nil
334
end
335
336
local Stats = IT("Folder", nil)
337
Stats.Name = "Stats"
338
local ChangeStat = IT("Folder", Stats)
339
ChangeStat.Name = "ChangeStat"
340
local Defense = IT("NumberValue", Stats)
341
Defense.Name = "Defense"
342
Defense.Value = 1
343
local Movement = IT("NumberValue", Stats)
344
Movement.Name = "Movement"
345
Movement.Value = 1
346
local Damage = IT("NumberValue", Stats)
347
Damage.Name = "Damage"
348
Damage.Value = 1
349
local Mana = IT("NumberValue", Stats)
350
Mana.Name = "Mana"
351
Mana.Value = 0
352
local SecondaryMana = IT("NumberValue", Stats)
353
SecondaryMana.Name = "SecondaryMana"
354
SecondaryMana.Value = 0
355
local CanCrit = IT("BoolValue", Stats)
356
CanCrit.Name = "CanCrit"
357
CanCrit.Value = false
358
local CritChance = IT("NumberValue", Stats)
359
CritChance.Name = "CritChance"
360
CritChance.Value = 20
361
local CanPenetrateArmor = IT("BoolValue", Stats)
362
CanPenetrateArmor.Name = "CanPenetrateArmor"
363
CanPenetrateArmor.Value = false
364
local AntiTeamKill = IT("BoolValue", Stats)
365
AntiTeamKill.Name = "AntiTeamKill"
366
AntiTeamKill.Value = false
367
local Rooted = IT("BoolValue", Stats)
368
Rooted.Name = "Rooted"
369
Rooted.Value = false
370
local Block = IT("BoolValue", Stats)
371
Block.Name = "Block"
372
Block.Value = false
373
local RecentEnemy = IT("ObjectValue", Stats)
374
RecentEnemy.Name = "RecentEnemy"
375
RecentEnemy.Value = nil
376
local StaggerHit = IT("BoolValue", Stats)
377
StaggerHit.Name = "StaggerHit"
378
StaggerHit.Value = false
379
local Stagger = IT("BoolValue", Stats)
380
Stagger.Name = "Stagger"
381
Stagger.Value = false
382
local Stun = IT("BoolValue", Stats)
383
Stun.Name = "Stun"
384
Stun.Value = false
385
local StunValue = IT("NumberValue", Stats)
386
StunValue.Name = "StunValue"
387
StunValue.Value = 0
388
389
if Enable_Stats == true and Put_Stats_In_Character == true then
390
	Stats.Parent = Character
391
end
392
393
--//=================================\\
394
--\\=================================//
395
396
397
398
399
400
--//=================================\\
401
--|| 	     DEBUFFS / BUFFS
402
--\\=================================//
403
404
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
405
DEFENSECHANGE1.Name = "ChangeDefense"
406
DEFENSECHANGE1.Value = 0
407
408
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
409
MOVEMENTCHANGE1.Name = "ChangeMovement"
410
MOVEMENTCHANGE1.Value = 0
411
412
--//=================================\\
413
--\\=================================//
414
415
416
417
418
419
--//=================================\\
420
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
421
--\\=================================//
422
423
ArtificialHB = Instance.new("BindableEvent", script)
424
ArtificialHB.Name = "ArtificialHB"
425
426
script:WaitForChild("ArtificialHB")
427
428
frame = Frame_Speed
429
tf = 0
430
allowframeloss = false
431
tossremainder = false
432
lastframe = tick()
433
script.ArtificialHB:Fire()
434
435
game:GetService("RunService").Heartbeat:connect(function(s, p)
436
	tf = tf + s
437
	if tf >= frame then
438
		if allowframeloss then
439
			script.ArtificialHB:Fire()
440
			lastframe = tick()
441
		else
442
			for i = 1, math.floor(tf / frame) do
443
				script.ArtificialHB:Fire()
444
			end
445
		lastframe = tick()
446
		end
447
		if tossremainder then
448
			tf = 0
449
		else
450
			tf = tf - frame * math.floor(tf / frame)
451
		end
452
	end
453
end)
454
455
--//=================================\\
456
--\\=================================//
457
458
459
460
461
462
--//=================================\\
463
--|| 	      SOME FUNCTIONS
464
--\\=================================//
465
466
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
467
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
468
end
469
470
function PositiveAngle(NUMBER)
471
	if NUMBER >= 0 then
472
		NUMBER = 0
473
	end
474
	return NUMBER
475
end
476
477
function NegativeAngle(NUMBER)
478
	if NUMBER <= 0 then
479
		NUMBER = 0
480
	end
481
	return NUMBER
482
end
483
484
function Swait(NUMBER)
485
	if NUMBER == 0 or NUMBER == nil then
486
		ArtificialHB.Event:wait()
487
	else
488
		for i = 1, NUMBER do
489
			ArtificialHB.Event:wait()
490
		end
491
	end
492
end
493
494
function QuaternionFromCFrame(cf)
495
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
496
	local trace = m00 + m11 + m22
497
	if trace > 0 then 
498
		local s = math.sqrt(1 + trace)
499
		local recip = 0.5 / s
500
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
501
	else
502
		local i = 0
503
		if m11 > m00 then
504
			i = 1
505
		end
506
		if m22 > (i == 0 and m00 or m11) then
507
			i = 2
508
		end
509
		if i == 0 then
510
			local s = math.sqrt(m00 - m11 - m22 + 1)
511
			local recip = 0.5 / s
512
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
513
		elseif i == 1 then
514
			local s = math.sqrt(m11 - m22 - m00 + 1)
515
			local recip = 0.5 / s
516
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
517
		elseif i == 2 then
518
			local s = math.sqrt(m22 - m00 - m11 + 1)
519
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
520
		end
521
	end
522
end
523
 
524
function QuaternionToCFrame(px, py, pz, x, y, z, w)
525
	local xs, ys, zs = x + x, y + y, z + z
526
	local wx, wy, wz = w * xs, w * ys, w * zs
527
	local xx = x * xs
528
	local xy = x * ys
529
	local xz = x * zs
530
	local yy = y * ys
531
	local yz = y * zs
532
	local zz = z * zs
533
	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))
534
end
535
 
536
function QuaternionSlerp(a, b, t)
537
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
538
	local startInterp, finishInterp;
539
	if cosTheta >= 0.0001 then
540
		if (1 - cosTheta) > 0.0001 then
541
			local theta = ACOS(cosTheta)
542
			local invSinTheta = 1 / SIN(theta)
543
			startInterp = SIN((1 - t) * theta) * invSinTheta
544
			finishInterp = SIN(t * theta) * invSinTheta
545
		else
546
			startInterp = 1 - t
547
			finishInterp = t
548
		end
549
	else
550
		if (1 + cosTheta) > 0.0001 then
551
			local theta = ACOS(-cosTheta)
552
			local invSinTheta = 1 / SIN(theta)
553
			startInterp = SIN((t - 1) * theta) * invSinTheta
554
			finishInterp = SIN(t * theta) * invSinTheta
555
		else
556
			startInterp = t - 1
557
			finishInterp = t
558
		end
559
	end
560
	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
561
end
562
563
function Clerp(a, b, t)
564
	local qa = {QuaternionFromCFrame(a)}
565
	local qb = {QuaternionFromCFrame(b)}
566
	local ax, ay, az = a.x, a.y, a.z
567
	local bx, by, bz = b.x, b.y, b.z
568
	local _t = 1 - t
569
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
570
end
571
572
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
573
	local frame = IT("Frame")
574
	frame.BackgroundTransparency = TRANSPARENCY
575
	frame.BorderSizePixel = BORDERSIZEPIXEL
576
	frame.Position = POSITION
577
	frame.Size = SIZE
578
	frame.BackgroundColor3 = COLOR
579
	frame.BorderColor3 = BORDERCOLOR
580
	frame.Name = NAME
581
	frame.Parent = PARENT
582
	return frame
583
end
584
585
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
586
	local label = IT("TextLabel")
587
	label.BackgroundTransparency = 1
588
	label.Size = UD2(1, 0, 1, 0)
589
	label.Position = UD2(0, 0, 0, 0)
590
	label.TextColor3 = C3(255, 255, 255)
591
	label.TextStrokeTransparency = STROKETRANSPARENCY
592
	label.TextTransparency = TRANSPARENCY
593
	label.FontSize = TEXTFONTSIZE
594
	label.Font = TEXTFONT
595
	label.BorderSizePixel = BORDERSIZEPIXEL
596
	label.TextScaled = true
597
	label.Text = TEXT
598
	label.Name = NAME
599
	label.Parent = PARENT
600
	return label
601
end
602
603
function NoOutlines(PART)
604
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
605
end
606
607
608
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
609
	local NEWWELD = IT(TYPE)
610
	NEWWELD.Part0 = PART0
611
	NEWWELD.Part1 = PART1
612
	NEWWELD.C0 = C0
613
	NEWWELD.C1 = C1
614
	NEWWELD.Parent = PARENT
615
	return NEWWELD
616
end
617
618
function CreateSound(ID, PARENT, VOLUME, PITCH)
619
	coroutine.resume(coroutine.create(function()
620
		local NEWSOUND = IT("Sound", PARENT)
621
		NEWSOUND.Volume = VOLUME
622
		NEWSOUND.Pitch = PITCH
623
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
624
		Swait()
625
		NEWSOUND:play()
626
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
627
	end))
628
end
629
630
function CFrameFromTopBack(at, top, back)
631
	local right = top:Cross(back)
632
	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)
633
end
634
635
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
636
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
637
	local CURRENTPOSITION = POSITION1
638
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
639
	coroutine.resume(coroutine.create(function()
640
		for i = 1, MULTIPLIERTIME do 
641
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
642
			LIGHTNINGPART.Anchored = true
643
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
644
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
645
			if MULTIPLIERTIME == i then 
646
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
647
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
648
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
649
			else
650
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
651
			end
652
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
653
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
654
			coroutine.resume(coroutine.create(function()
655
				while LIGHTNINGPART.Transparency ~= 1 do
656
					--local StartTransparency = tra
657
					for i=0, 1, LASTINGTIME do
658
						Swait()
659
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
660
					end
661
				end
662
			end))
663
		Swait(LIGHTNINGDELAY / Animation_Speed)
664
		end
665
	end))
666
end
667
668
--[[Usage:
669
	local Pos = Part
670
	local Offset = Part.CFrame * CF(0, 0, 0)
671
	local Color = "Institutional white"
672
	local Material = "Neon"
673
	local TheDelay = 0.01
674
	local Height = 4
675
	BLCF = Offset
676
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
677
		local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
678
		if a then game:GetService("Debris"):AddItem(a, 1) end
679
		if b then game:GetService("Debris"):AddItem(b, 1) end
680
		local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
681
		if a then game:GetService("Debris"):AddItem(a, 1) end
682
		if b then game:GetService("Debris"):AddItem(b, 1) end
683
		SCFR = BLCF
684
	elseif not SCFR then
685
		SCFR = BLCF
686
	end
687
--
688
BLCF = nil
689
SCFR = nil
690
--]]
691
692
--//=================================\\
693
--\\=================================//
694
695
696
697
698
699
--//=================================\\
700
--||	      RESIZE PLAYER
701
--\\=================================//
702
703
if Player_Size ~= 1 then
704
RootPart.Size = RootPart.Size * Player_Size
705
Torso.Size = Torso.Size * Player_Size
706
Head.Size = Head.Size * Player_Size
707
RightArm.Size = RightArm.Size * Player_Size
708
LeftArm.Size = LeftArm.Size * Player_Size
709
RightLeg.Size = RightLeg.Size * Player_Size
710
LeftLeg.Size = LeftLeg.Size * Player_Size
711
RootJoint.Parent = RootPart
712
Neck.Parent = Torso
713
RightShoulder.Parent = Torso
714
LeftShoulder.Parent = Torso
715
RightHip.Parent = Torso
716
LeftHip.Parent = Torso
717
	
718
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
719
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
720
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
721
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
722
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
723
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
724
	if Disable_Moving_Arms == false then
725
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
726
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
727
	else
728
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
729
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
730
	end
731
	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))
732
	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))
733
	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))
734
	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))
735
--------------------
736
end
737
738
739
--//=================================\\
740
--\\=================================//
741
742
743
744
745
--//=================================\\
746
--||	     WEAPON CREATION
747
--\\=================================//
748
749
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Really black", "Handle", VT(0.25*Player_Size,0.25*Player_Size,1.5*Player_Size))
750
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, RightArm, HandlePart, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
751
local chainsaw = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Reddish brown", "Handle", VT(1.2*Player_Size,1.2*Player_Size,5*Player_Size))
752
local axeweld = CreateWeldOrSnapOrMotor("Weld", HandlePart, chainsaw, HandlePart, CF(0 * Player_Size, 0 * Player_Size, 1.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
753
local HandleMesh = CreateMesh("SpecialMesh", chainsaw, "FileMesh", "2766469", "184182370", VT(1.3, 1.3, 1.3), VT(0, 0 * Player_Size, 0))
754
local chainsawoverlay = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really red", "Handle", VT(1.2*Player_Size,1.2*Player_Size,5*Player_Size))
755
local axeweld = CreateWeldOrSnapOrMotor("Weld", HandlePart, chainsawoverlay, HandlePart, CF(0 * Player_Size, 0 * Player_Size, 1.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
756
local HandleMesh = CreateMesh("SpecialMesh", chainsawoverlay, "FileMesh", "2766469", "", VT(1.4, 1.6, 1.35), VT(0, 0 * Player_Size, 0))
757
758
if Player_Size ~= 1 then
759
	for _, v in pairs (Weapon:GetChildren()) do
760
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
761
			local p1 = v.Part1
762
			v.Part1 = nil
763
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
764
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
765
			v.Part1 = p1
766
		elseif v.ClassName == "Part" then
767
			for _, b in pairs (v:GetChildren()) do
768
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
769
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
770
				end
771
			end
772
		end
773
	end
774
end
775
776
for _, c in pairs(Weapon:GetChildren()) do
777
	if c.ClassName == "Part" then
778
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
779
	end
780
end
781
782
Weapon.Parent = Character
783
784
Humanoid.Died:connect(function()
785
	ATTACK = true
786
end)
787
788
print(Class_Name.." loaded.")
789
790
--//=================================\\
791
--\\=================================//
792
793
794
--//=================================\\
795
--||			WEAPON GUI
796
--\\=================================//
797
798
local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0),"Mana Bar") 
799
local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Mana Cover")
800
local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
801
802
local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Health Bar")
803
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0), "Health Cover")
804
local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
805
806
local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0), "Stun Frame")
807
local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Stun Bar")
808
local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
809
810
local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Secondary Mana Bar") 
811
local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0),"Secondary Mana Cover")
812
local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
813
814
local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
815
local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
816
817
local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.456, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
818
local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
819
820
local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
821
local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
822
823
local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 1 Frame")
824
local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 2 Frame")
825
local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 3 Frame")
826
local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 4 Frame")
827
828
local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 1 Bar")
829
local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 2 Bar")
830
local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 3 Bar")
831
local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 4 Bar")
832
833
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
834
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
835
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
836
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
837
838
if Enable_Gui == true then
839
	WEAPONGUI.Parent = PlayerGui
840
end
841
842
if Enable_Stats == true and Show_Stats == true then
843
	DEFENSEFRAME.Parent = WEAPONGUI
844
	DAMAGEFRAME.Parent = WEAPONGUI
845
	MOVEMENTFRAME.Parent = WEAPONGUI
846
end
847
848
if Enable_Secondary_Bar == true then
849
	SECONDARYMANABAR.Parent = WEAPONGUI
850
end
851
852
if Enable_Abilities == true then
853
	SKILL1FRAME.Parent = WEAPONGUI
854
	SKILL2FRAME.Parent = WEAPONGUI
855
	SKILL3FRAME.Parent = WEAPONGUI
856
	SKILL4FRAME.Parent = WEAPONGUI
857
end
858
859
if Enable_Stun == true then
860
	STUNFRAME.Parent = WEAPONGUI
861
end
862
863
function UpdateGUI()
864
	MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
865
	MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
866
	MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
867
	HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
868
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
869
	HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
870
	if Enable_Abilities == true then
871
		SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
872
		SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
873
		SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
874
		SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
875
		SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
876
		SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
877
		SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
878
		SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
879
	end
880
	if Enable_Stats == true and Show_Stats == true then
881
		DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
882
		DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
883
		DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
884
		DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
885
		MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
886
		MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
887
	end
888
	if Enable_Stun == true then
889
		STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
890
		STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
891
		STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
892
	end
893
	if Enable_Secondary_Bar == true then
894
		SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
895
		SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
896
		SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
897
	end
898
end
899
900
if Enable_Gui == true then
901
	UpdateGUI()
902
	for _, v in pairs (WEAPONGUI:GetChildren()) do
903
		if v.ClassName == "Frame" then
904
			for _, b in pairs (v:GetChildren()) do
905
				if b.ClassName == "TextLabel" then
906
					coroutine.resume(coroutine.create(function(THETEXTLABEL)
907
						wait(Menu_Update_Speed)
908
						for i = 1, 0, -0.1 do
909
							Swait()
910
							THETEXTLABEL.TextTransparency = i
911
							THETEXTLABEL.TextStrokeTransparency = i
912
							end
913
						THETEXTLABEL.TextTransparency = 0
914
						THETEXTLABEL.TextStrokeTransparency = 0
915
					end), b)
916
				end
917
			end
918
		end
919
	end
920
end
921
922
--//=================================\\
923
--\\=================================//
924
925
926
927
928
929
--//=================================\\
930
--||	     SKILL FUNCTIONS
931
--\\=================================//
932
933
function UpdateSkillsAndStuff()
934
	if Mana_Regen_Mode == "1" then
935
		if Mana.Value >= Max_Mana then
936
			Mana.Value = Max_Mana
937
		elseif Mana.Value < 0 then
938
			Mana.Value = 0
939
		else
940
			if MANADELAYNUMBER <= Mana_Wait then
941
				MANADELAYNUMBER = MANADELAYNUMBER + 1
942
			else
943
				MANADELAYNUMBER = 0
944
				Mana.Value = Mana.Value + Recover_Mana
945
			end
946
		end
947
	elseif Mana_Regen_Mode == "2" then
948
		if Mana.Value <= Max_Mana then
949
			Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
950
		elseif Mana.Value >= Max_Mana then
951
			Mana.Value = Max_Mana
952
		elseif Mana.Value < 0 then
953
			Mana.Value = 0
954
		end
955
	end
956
	if Enable_Secondary_Bar == true then
957
		if Secondary_Mana_Regen_Mode == "1" then
958
			if SecondaryMana.Value >= Max_Secondary_Mana then
959
				SecondaryMana.Value = Max_Secondary_Mana
960
			elseif SecondaryMana.Value < 0 then
961
				SecondaryMana.Value = 0
962
			else
963
				if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
964
					SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
965
				else
966
					SECONDARYMANADELAYNUMBER = 0
967
					SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
968
				end
969
			end
970
		elseif Secondary_Mana_Regen_Mode == "2" then
971
			if SecondaryMana.Value <= Max_Secondary_Mana then
972
				SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
973
			elseif SecondaryMana.Value >= Max_Secondary_Mana then
974
				SecondaryMana.Value = Max_Secondary_Mana
975
			elseif SecondaryMana.Value < 0 then
976
				SecondaryMana.Value = 0
977
			end
978
		end
979
	else
980
		SecondaryMana.Value = 0
981
	end
982
	if Enable_Stun == true then
983
		if Stun_Lose_Mode == "1" then
984
			if StunValue.Value > Max_Stun then
985
				StunValue.Value = Max_Stun
986
			elseif StunValue.Value <= 0 then
987
				StunValue.Value = 0
988
			else
989
				if STUNDELAYNUMBER <= Stun_Wait then
990
					STUNDELAYNUMBER = STUNDELAYNUMBER + 1
991
				else
992
					STUNDELAYNUMBER = 0
993
					StunValue.Value = StunValue.Value - Lose_Stun
994
				end
995
			end
996
		elseif Stun_Lose_Mode == "2" then
997
			if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
998
				StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
999
			elseif StunValue.Value > Max_Stun then
1000
				StunValue.Value = Max_Stun
1001
			elseif StunValue.Value <= 0 then
1002
				StunValue.Value = 0
1003
			end
1004
		end
1005
	else
1006
		StunValue.Value = 0
1007
	end
1008
	if Enable_Abilities == true then
1009
		if CO1 <= Cooldown_1 then
1010
			CO1 = CO1 + (1 / 30) / Animation_Speed
1011
		elseif CO1 >= Cooldown_1 then
1012
			CO1 = Cooldown_1
1013
		end
1014
		if CO2 <= Cooldown_2 then
1015
			CO2 = CO2 + (1 / 30) / Animation_Speed
1016
		elseif CO2 >= Cooldown_2 then
1017
			CO2 = Cooldown_2
1018
		end
1019
		if CO3 <= Cooldown_3 then
1020
			CO3 = CO3 + (1 / 30) / Animation_Speed
1021
		elseif CO3 >= Cooldown_3 then
1022
			CO3 = Cooldown_3
1023
		end
1024
		if CO4 <= Cooldown_4 then
1025
			CO4 = CO4 + (1 / 30) / Animation_Speed
1026
		elseif CO4 >= Cooldown_4 then
1027
			CO4 = Cooldown_4
1028
		end
1029
	end
1030
end
1031
1032
--//=================================\\
1033
--\\=================================//
1034
1035
1036
1037
1038
1039
--//=================================\\
1040
--||	ATTACK FUNCTIONS AND STUFF
1041
--\\=================================//
1042
1043
local asd = Instance.new("ParticleEmitter")
1044
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
1045
asd.LightEmission = .1
1046
asd.Size = NumberSequence.new(0.2)
1047
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
1048
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
1049
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
1050
asd.Transparency = bbb
1051
asd.Size = aaa
1052
asd.ZOffset = .9
1053
asd.Acceleration = Vector3.new(0, -5, 0)
1054
asd.LockedToPart = false
1055
asd.EmissionDirection = "Back"
1056
asd.Lifetime = NumberRange.new(1, 2)
1057
asd.Rotation = NumberRange.new(-100, 100)
1058
asd.RotSpeed = NumberRange.new(-100, 100)
1059
asd.Speed = NumberRange.new(2)
1060
asd.Enabled = false
1061
asd.VelocitySpread = 10000
1062
1063
function getbloody(victim,amount)
1064
local prtcl = asd:Clone()
1065
prtcl.Parent = victim
1066
prtcl:Emit(amount)
1067
end
1068
1069
function enablechainsaw()
1070
	CHAINSAWIDLE:Stop()
1071
	REV:Play()
1072
	chainsawoverlay.Transparency = 0.5
1073
end
1074
1075
function disablechainsaw()
1076
	CHAINSAWIDLE:Play()
1077
	REV:Stop()
1078
	chainsawoverlay.Transparency = 1
1079
end
1080
1081
function chop(victim)
1082
	if victim.Parent:FindFirstChild("Humanoid") then
1083
		getbloody(victim,1)
1084
		local human = victim.Parent.Humanoid
1085
		CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], victim, 1, (math.random(8,12)/10))
1086
		if victim.Parent:FindFirstChild("Torso") and human.Health ~= 0 or victim.Parent:FindFirstChild("UpperTorso") and human.Health ~= 0 then
1087
			local torso = victim.Parent:FindFirstChild("Torso") or victim.Parent:FindFirstChild("UpperTorso")
1088
			getbloody(torso,1)
1089
			human.Health = 0
1090
		end
1091
		if human.Health == 0 then
1092
			if FRESHMEAT.Playing == false then
1093
				FRESHMEAT:Play()
1094
			end
1095
		end
1096
	end
1097
end
1098
1099
function BackFromTheDead()
1100
	Humanoid.WalkSpeed = 0
1101
	RootPart.Anchored = true
1102
	disablechainsaw()
1103
	CHAINSAWIDLE:Stop()
1104
	EQUIPPED = false
1105
	sick:Pause()
1106
	getbloody(Torso,35)
1107
	for i = 1, 3 do
1108
		CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], Torso, 1, (math.random(8,12)/10))
1109
	end
1110
	local Animation_Speed2 = 4
1111
	for i = 0, 1, 0.3 / Animation_Speed do
1112
		Swait()
1113
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
1114
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1115
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1116
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1117
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
1118
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
1119
	end
1120
	for i = 0, 1, 0.3 / Animation_Speed do
1121
		Swait()
1122
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
1123
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1124
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1125
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1126
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
1127
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
1128
	end
1129
	for i = 0, 1, 0.3 / Animation_Speed do
1130
		Swait()
1131
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
1132
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
1133
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1134
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1135
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
1136
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
1137
	end
1138
	for i = 1, 50 * Animation_Speed do
1139
		Swait()
1140
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
1141
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.3 / Animation_Speed)
1142
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1143
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1144
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1145
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1146
	end
1147
	local bloodpit = Instance.new("Part",Effects)
1148
	bloodpit.Size = Vector3.new(14,0.2,14)
1149
	bloodpit.CFrame = CFrame.new(RootPart.Position.X,RootPart.Position.Y-3,RootPart.Position.Z)
1150
	bloodpit.Anchored = true
1151
	bloodpit.CanCollide = false
1152
	bloodpit.Material = "Neon"
1153
	bloodpit.BrickColor = BrickColor.new("Really red")
1154
	local cyl = Instance.new("CylinderMesh",bloodpit)
1155
	local Animation_Speed2 = 15
1156
	bloodpit.Transparency = 1
1157
	CHAINSAWSTRIKE:Play()
1158
	for i = 1, 10 do
1159
		Swait(5)
1160
		bloodpit.Transparency = bloodpit.Transparency - 0.1
1161
	end
1162
	for i = 1, 20 * Animation_Speed do
1163
		Swait()
1164
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -5.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
1165
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.3 / Animation_Speed)
1166
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1167
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1168
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1169
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1170
	end
1171
	Character.Part:remove()
1172
	demon = true
1173
	createaccessory(Head,"http://www.roblox.com/asset/?id=1271547","rbxassetid://99174105",VT(1.05, 1.05, 1.05),VT(0, 1, 0),BrickColor.new"Really black")
1174
	for i=0, 1, 0.1 / Animation_Speed2 do
1175
		Swait()
1176
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -15 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1177
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1178
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed2)
1179
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed2)
1180
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1181
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1182
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1183
			break
1184
		end
1185
	end
1186
	Taunt()
1187
	for i=0, 2, 0.1 / Animation_Speed do
1188
		Swait()
1189
			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)
1190
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1191
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1192
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1193
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1194
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1195
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1196
			break
1197
		end
1198
	end
1199
	for i = 1, 10 do
1200
		Swait(5)
1201
		bloodpit.Transparency = bloodpit.Transparency + 0.1
1202
	end
1203
	BLCF = nil
1204
	SCFR = nil
1205
	sick:Play()
1206
	Humanoid.WalkSpeed = 35
1207
	RootPart.Anchored = false
1208
	CHAINSAWIDLE:Play()
1209
	EQUIPPED = true
1210
	ATTACK = false
1211
end
1212
1213
function Attack1()
1214
	ATTACK = true
1215
	enablechainsaw()
1216
	if demon == false then
1217
		Humanoid.WalkSpeed = 15
1218
	elseif demon == true then
1219
		Humanoid.WalkSpeed = 25
1220
	end
1221
	local Animation_Speed2 = 0.5
1222
	for i=0, 1, 0.1 / Animation_Speed2 do
1223
		Swait()
1224
			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)
1225
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1226
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.35 * Player_Size, -0.9 * Player_Size) * ANGLES(RAD(17), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed2)
1227
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.35 * Player_Size, -0.8 * Player_Size) * ANGLES(RAD(32), RAD(0), RAD(35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed2)
1228
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1229
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1230
	end
1231
	local hit = chainsaw.Touched:connect(function(hit)
1232
		chop(hit)
1233
	end)
1234
	repeat Swait() until HOLD == false
1235
	if demon == false then
1236
		Humanoid.WalkSpeed = 20
1237
	elseif demon == true then
1238
		Humanoid.WalkSpeed = 35
1239
	end
1240
	hit:disconnect()
1241
	disablechainsaw()
1242
	BLCF = nil
1243
	SCFR = nil
1244
	ATTACK = false
1245
end
1246
1247
Humanoid.HealthChanged:connect(function()
1248
	if Humanoid.Health == 0 and INTRODONE == true then
1249
		Humanoid.MaxHealth = "inf"
1250
		Humanoid.Health = "inf"
1251
		if EQUIPPED == true and hasdied == false then
1252
			hasdied = true
1253
			BackFromTheDead()
1254
		end
1255
	end
1256
end)
1257
1258
1259
function Intro()
1260
	ANIMATE.Parent = nil
1261
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1262
		IDLEANIMATION:Play()
1263
	ATTACK = true
1264
	RootPart.Anchored = true
1265
	Humanoid.WalkSpeed = 0
1266
	for i=0, 1, 0.1 / Animation_Speed do
1267
		Swait()
1268
			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)
1269
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1270
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1271
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1272
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1273
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1274
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1275
			break
1276
		end
1277
	end
1278
	local bloodpit = Instance.new("Part",Effects)
1279
	bloodpit.Size = Vector3.new(8,0.2,8)
1280
	bloodpit.CFrame = CFrame.new(RootPart.Position.X,RootPart.Position.Y-3,RootPart.Position.Z)
1281
	bloodpit.Anchored = true
1282
	bloodpit.CanCollide = false
1283
	bloodpit.Material = "Neon"
1284
	bloodpit.BrickColor = BrickColor.new("Really red")
1285
	local cyl = Instance.new("CylinderMesh",bloodpit)
1286
	local Animation_Speed2 = 15
1287
	bloodpit.Transparency = 1
1288
	CHAINSAWSTRIKE:Play()
1289
	for i = 1, 10 do
1290
		Swait(5)
1291
		bloodpit.Transparency = bloodpit.Transparency - 0.1
1292
	end
1293
	for i=0, 1, 0.1 / Animation_Speed2 do
1294
		Swait()
1295
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -15 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1296
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1297
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed2)
1298
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed2)
1299
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1300
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed2)
1301
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1302
			break
1303
		end
1304
	end
1305
	Taunt()
1306
	Swait(15)
1307
	Head.face:remove()
1308
	createaccessory(Head,"http://www.roblox.com/asset/?id=62146989","rbxassetid://145633085",VT(1.05, 1.05, 1.05),VT(0, 0.1, -0.05),BrickColor.new"Really black")
1309
	local blood = Instance.new("Decal",Torso)
1310
	blood.Texture = "http://www.roblox.com/asset/?id=116830967"
1311
	createbodypart("Eye","Maroon",Head,VT(0.2, 0.15, -0.55),VT(5,3,3))
1312
	createbodypart("Eye","Maroon",Head,VT(-0.2, 0.15, -0.55),VT(5,3,3))
1313
	EQUIPPED = true
1314
	chainsaw.CanCollide = true
1315
	CHAINSAWIDLE:Play()
1316
	for i = 1, 2 do
1317
	for i=0, 1, 0.1 / Animation_Speed do
1318
		Swait()
1319
			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)
1320
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1321
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1322
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1323
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1324
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1325
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
1326
			break
1327
		end
1328
	end
1329
	end
1330
	sick:play()
1331
	for i = 1, 10 do
1332
		Swait(5)
1333
		bloodpit.Transparency = bloodpit.Transparency + 0.1
1334
	end
1335
	RootPart.Anchored = false
1336
	bloodpit:remove()
1337
	Humanoid.WalkSpeed = 20
1338
	BLCF = nil
1339
	SCFR = nil
1340
	INTRODONE = true
1341
	ATTACK = false
1342
end
1343
1344
--//=================================\\
1345
--\\=================================//
1346
1347
1348
1349
--//=================================\\
1350
--||	  ASSIGN THINGS TO KEYS
1351
--\\=================================//
1352
1353
Humanoid.Changed:connect(function(Jump)
1354
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
1355
		Humanoid.Jump = false
1356
	end
1357
end)
1358
1359
function MouseDown(Mouse)
1360
	if ATTACK == true or EQUIPPED == false then
1361
		return
1362
	end
1363
	HOLD = true
1364
		Attack1()
1365
	coroutine.resume(coroutine.create(function()
1366
		for i=1, 50 do
1367
			if ATTACK == false then
1368
				Swait()
1369
			end
1370
		end
1371
		if ATTACK == false then
1372
			COMBO = 1
1373
		end
1374
	end))
1375
end
1376
1377
function MouseUp(Mouse)
1378
HOLD = false
1379
end
1380
1381
function Taunt()
1382
	if Taunt1.Playing == false and Taunt2.Playing == false and Taunt3.Playing == false and Taunt4.Playing == false then
1383
		local udied = TAUNTS[math.random(1, #TAUNTS)]
1384
		udied:Play()
1385
	end
1386
end
1387
1388
function KeyDown(Key)
1389
	KEYHOLD = true
1390
	if Key == "e" and EQUIPPED == true and ATTACK == false then
1391
	end
1392
	if Key == "f" and EQUIPPED == false and ATTACK == false then
1393
		Intro()
1394
	end
1395
	if Key == "t" and EQUIPPED == true and ATTACK == false then
1396
		Taunt()
1397
	end
1398
	if Player.UserId == game.CreatorId or Player.Name == "LocalPlayer" or Player.Name == "LocalPlayer" or Player.Name == "LocalPlayer" then
1399
		if Key == "q" then
1400
			Mana.Value = Max_Mana
1401
			SecondaryMana.Value = Max_Secondary_Mana
1402
			CO1 = Cooldown_1
1403
			CO2 = Cooldown_2
1404
			CO3 = Cooldown_3
1405
			CO4 = Cooldown_4
1406
		end
1407
		if Key == "p" then
1408
			StaggerHit.Value = true
1409
		end
1410
		if Key == "[" then
1411
			Stagger.Value = true
1412
		end
1413
		if Key == "]" then
1414
			Stun.Value = true
1415
		end
1416
	end
1417
end
1418
1419
function KeyUp(Key)
1420
	KEYHOLD = false
1421
end
1422
1423
	Mouse.Button1Down:connect(function(NEWKEY)
1424
		MouseDown(NEWKEY)
1425
	end)
1426
	Mouse.Button1Up:connect(function(NEWKEY)
1427
		MouseUp(NEWKEY)
1428
	end)
1429
	Mouse.KeyDown:connect(function(NEWKEY)
1430
		KeyDown(NEWKEY)
1431
	end)
1432
	Mouse.KeyUp:connect(function(NEWKEY)
1433
		KeyUp(NEWKEY)
1434
	end)
1435
1436
1437
--//=================================\\
1438
--\\=================================//
1439
1440
1441
1442
1443
1444
--//=================================\\
1445
--||	WRAP THE WHOLE SCRIPT UP
1446
--\\=================================//
1447
1448
while true do
1449
	Swait()
1450
	SINE = SINE + CHANGE
1451
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1452
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1453
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1454
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1455
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
1456
	if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
1457
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.05 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.1 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1458
		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)
1459
		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)
1460
		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)
1461
	elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
1462
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1463
		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)
1464
		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)
1465
		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)
1466
	end
1467
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1468
		ANIM = "Jump"
1469
		if EQUIPPED == true and ATTACK == false then
1470
			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)
1471
			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)
1472
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1473
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1474
			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)
1475
			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)
1476
        end
1477
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1478
		ANIM = "Fall"
1479
		if EQUIPPED == true and ATTACK == false then
1480
			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)
1481
			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)
1482
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1483
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1484
			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)
1485
			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)
1486
		end
1487
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1488
		ANIM = "Idle"
1489
		if EQUIPPED == true and ATTACK == false then
1490
			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)
1491
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1492
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.35 * Player_Size, -0.9 * Player_Size) * ANGLES(RAD(17), RAD(35), RAD(-35)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1493
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35 * Player_Size, 0.35 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(32), RAD(-12), RAD(35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1494
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1495
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1496
		end
1497
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1498
		ANIM = "Walk"
1499
		WALK = WALK + 1 / Animation_Speed
1500
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1501
			WALK = 0
1502
			if WALKINGANIM == true then
1503
				WALKINGANIM = false
1504
			elseif WALKINGANIM == false then
1505
				WALKINGANIM = true
1506
			end
1507
		end
1508
		if EQUIPPED == true and ATTACK == false then
1509
			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)
1510
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1511
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.35 * Player_Size, -0.9 * Player_Size) * ANGLES(RAD(17), RAD(35), RAD(-35)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1512
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.35 * Player_Size, 0.35 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(32), RAD(-12), RAD(35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1513
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1514
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1515
	    end
1516
    end
1517
q = Character:GetChildren()
1518
if EQUIPPED == true or demon == true then
1519
chainsaw.Transparency = 0
1520
for u = 1, #q do
1521
	if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
1522
		q[u]:remove()
1523
	elseif q[u].ClassName == "Shirt" and q[u].Name ~= "ChaniacClothes1" then
1524
		q[u]:Destroy()
1525
	elseif q[u].ClassName == "Pants" and q[u].Name ~= "ChaniacClothes2" then
1526
		q[u]:Destroy()
1527
	elseif q[u].ClassName == "CharacterMesh" then
1528
		q[u].OverlayTextureId = "99174105"
1529
	elseif q[u].ClassName == "ShirtGraphic" then
1530
		q[u]:remove()
1531
	elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
1532
		if demon == true then
1533
			q[u].Color = Color3.new(0/255, 0/255, 0/255)
1534
		else
1535
			q[u].Color = Color3.new(255/255, 230/255, 194/255)
1536
		end
1537
	end
1538
end
1539
if Character:FindFirstChild("ChaniacClothes1") == nil then
1540
	local top = Instance.new("Shirt")
1541
	top.ShirtTemplate = "rbxassetid://1164958918"
1542
	top.Parent = Character
1543
	top.Name = "ChaniacClothes1"
1544
end
1545
if Character:FindFirstChild("ChaniacClothes2") == nil then
1546
	local bottom = Instance.new("Pants")
1547
	bottom.PantsTemplate = "rbxassetid://143808031"
1548
	bottom.Parent = Character
1549
	bottom.Name = "ChaniacClothes2"
1550
end
1551
end
1552
if Humanoid.MaxHealth ~= 15000 and hasdied == false then
1553
	Humanoid.MaxHealth = 15000
1554
	Humanoid.Health = 15000
1555
elseif hasdied == true then
1556
	Humanoid.MaxHealth = "inf"
1557
	Humanoid.Health = "inf"
1558
end
1559
end
1560
1561
--//=================================\\
1562
--\\=================================//
1563
1564
1565
1566
1567
1568
--//====================================================\\--
1569
--||			  		 END OF SCRIPT
1570
--\\====================================================//--