View difference between Paste ID: tCppqgnq and wDEt1z95
SHOW: | | - or go back to the newest paste.
1
--https://github.com/Mokiros/roblox-FE-compatibility
2
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
3
local Player,game,owner = owner,game
4
local RealPlayer = Player
5
do
6
	print("FE Compatibility code V2 by Mokiros")
7
	local RealPlayer = RealPlayer
8
	script.Parent = RealPlayer.Character
9
10
	--Fake event to make stuff like Mouse.KeyDown work
11
	local Disconnect_Function = function(this)
12
		this[1].Functions[this[2]] = nil
13
	end
14
	local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
15
	local FakeEvent_Metatable = {__index={
16
		Connect = function(this,f)
17
			local i = tostring(math.random(0,10000))
18
			while this.Functions[i] do
19
				i = tostring(math.random(0,10000))
20
			end
21
			this.Functions[i] = f
22
			return setmetatable({this,i},Disconnect_Metatable)
23
		end
24
	}}
25
	FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
26
	local function fakeEvent()
27
		return setmetatable({Functions={}},FakeEvent_Metatable)
28
	end
29
30
	--Creating fake input objects with fake variables
31
    local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
32
    FakeMouse.keyUp = FakeMouse.KeyUp
33
    FakeMouse.keyDown = FakeMouse.KeyDown
34
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
35
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
36
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
37
	end}
38
	--Merged 2 functions into one by checking amount of arguments
39
	CAS.UnbindAction = CAS.BindAction
40
41
	--This function will trigger the events that have been :Connect()'ed
42
	local function TriggerEvent(self,ev,...)
43
		for _,f in pairs(self[ev].Functions) do
44
			f(...)
45
		end
46
	end
47
	FakeMouse.TriggerEvent = TriggerEvent
48
	UIS.TriggerEvent = TriggerEvent
49
50
	--Client communication
51
	local Event = Instance.new("RemoteEvent")
52
	Event.Name = "UserInput_Event"
53
	Event.OnServerEvent:Connect(function(plr,io)
54
	    if plr~=RealPlayer then return end
55
		FakeMouse.Target = io.Target
56
		FakeMouse.Hit = io.Hit
57
		if not io.isMouse then
58
			local b = io.UserInputState == Enum.UserInputState.Begin
59
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
60
				return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
61
			end
62
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
63
				return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
64
			end
65
			for _,t in pairs(CAS.Actions) do
66
				for _,k in pairs(t.Keys) do
67
					if k==io.KeyCode then
68
						t.Function(t.Name,io.UserInputState,io)
69
					end
70
				end
71
			end
72
			FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
73
			UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
74
	    end
75
	end)
76
	Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
77
	local Mouse = owner:GetMouse()
78
	local UIS = game:GetService("UserInputService")
79
	local input = function(io,RobloxHandled)
80
		if RobloxHandled then return end
81
		--Since InputObject is a client-side instance, we create and pass table instead
82
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
83
	end
84
	UIS.InputBegan:Connect(input)
85
	UIS.InputEnded:Connect(input)
86
	local h,t
87
	--Give the server mouse data every second frame, but only if the values changed
88
	--If player is not moving their mouse, client won't fire events
89
	local HB = game:GetService("RunService").Heartbeat
90
	while true do
91
		if h~=Mouse.Hit or t~=Mouse.Target then
92
			h,t=Mouse.Hit,Mouse.Target
93
			Event:FireServer({isMouse=true,Target=t,Hit=h})
94
		end
95
		--Wait 2 frames
96
		for i=1,2 do
97
			HB:Wait()
98
		end
99
	end]==],script)
100
101
	----Sandboxed game object that allows the usage of client-side methods and services
102
	--Real game object
103
	local RealGame = game
104
105
	--Metatable for fake service
106
	local FakeService_Metatable = {
107
		__index = function(self,k)
108
			local s = rawget(self,"_RealService")
109
			if s then
110
				return typeof(s[k])=="function"
111
				and function(_,...)return s[k](s,...)end or s[k]
112
			end
113
		end,
114
		__newindex = function(self,k,v)
115
			local s = rawget(self,"_RealService")
116
			if s then s[k]=v end
117
		end
118
	}
119
	local function FakeService(t,RealService)
120
		t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
121
		return setmetatable(t,FakeService_Metatable)
122
	end
123
124
	--Fake game object
125
	local FakeGame = {
126
		GetService = function(self,s)
127
			return rawget(self,s) or RealGame:GetService(s)
128
		end,
129
		Players = FakeService({
130
			LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
131
		},"Players"),
132
		UserInputService = FakeService(UIS,"UserInputService"),
133
		ContextActionService = FakeService(CAS,"ContextActionService"),
134
		RunService = FakeService({
135
			_btrs = {},
136
			RenderStepped = RealGame:GetService("RunService").Heartbeat,
137
			BindToRenderStep = function(self,name,_,fun)
138
				self._btrs[name] = self.Heartbeat:Connect(fun)
139
			end,
140
			UnbindFromRenderStep = function(self,name)
141
				self._btrs[name]:Disconnect()
142
			end,
143
		},"RunService")
144
	}
145
	rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
146
	FakeGame.service = FakeGame.GetService
147
	FakeService(FakeGame,game)
148
	--Changing owner to fake player object to support owner:GetMouse()
149
	game,owner = FakeGame,FakeGame.Players.LocalPlayer
150
end
151
152
-- Script Made By Huge_Nazo
153
-- Converted By Huge_Nazo
154
-- Help from, turbozester55, GeoMaster, and Vediiz
155
-- If you stole or logged me or plan to use this without hugenazo's consent, please just say that hugenazo at least made this so they can know that im cool guy
156
157
--[[
158
 __      __                     .__              
159
/  \    /  \_____ ______________|__| ___________ 
160
\   \/\/   /\__  \\_  __ \_  __ \  |/  _ \_  __ \
161
 \        /  / __ \|  | \/|  | \/  (  <_> )  | \/
162
  \__/\  /  (____  /__|   |__|  |__|\____/|__|   
163
       \/        \/                              
164
165
___.           .__                                                    
166
\_ |__ ___.__. |  |__  __ __  ____   ____   ____ _____  ____________  
167
 | __ <   |  | |  |  \|  |  \/ ___\_/ __ \ /    \\__  \ \___   /  _ \ 
168
 | \_\ \___  | |   Y  \  |  / /_/  >  ___/|   |  \/ __ \_/    (  <_> )
169
 |___  / ____| |___|  /____/\___  / \___  >___|  (____  /_____ \____/ 
170
     \/\/           \/     /_____/      \/     \/     \/      \/      
171
172
--]]
173
-- this script is also pretty edibale and stuff and pretty simple but
174
-- still though just rember its made by hugenazo
175
local plr = game.Players.LocalPlayer; repeat wait() until plr.Character
176
local char = plr.Character
177
local hume = char:WaitForChild("Humanoid")
178
local animS = char:WaitForChild("Animate")
179
local mouse = plr:GetMouse()
180
--
181
local head = char:WaitForChild("Head")
182
local tors = char:WaitForChild("Torso")
183
local rarm = char:WaitForChild("Right Arm")
184
local larm = char:WaitForChild("Left Arm")
185
local rleg = char:WaitForChild("Right Leg")
186
local lleg = char:WaitForChild("Left Leg")
187
local hrp = char:WaitForChild("HumanoidRootPart")
188
--
189
local hw = tors:WaitForChild("Neck")
190
local tw = hrp:WaitForChild("RootJoint")
191
local raw = tors:WaitForChild("Right Shoulder")
192
local law = tors:WaitForChild("Left Shoulder")
193
local rlw = tors:WaitForChild("Right Hip")
194
local llw = tors:WaitForChild("Left Hip")
195
196
-- Globals --
197
198
local i_n = Instance.new
199
local v3 = Vector3.new
200
local cfn = CFrame.new
201
local cfa = CFrame.Angles
202
local cfe = CFrame.fromEulerAnglesXYZ
203
local bcn = BrickColor.new
204
local c3 = Color3.new
205
local ud2 = UDim2.new
206
207
function newC3(r, g, b)
208
return c3(r/255, g/255, b/255)
209
end
210
211
function newPart(p, name, x, y, z, col, trans, ref, anc, cc, prnt)
212
local part = i_n("Part", p)
213
part.Name = name
214
part.Size = v3(x, y, z)
215
part.BrickColor = col
216
part.Transparency = trans
217
part.Reflectance = ref
218
part.Anchored = anc
219
part.CanCollide = cc
220
part.Parent = prnt
221
return part
222
end
223
224
function newWeld(a, b, c0, c1)
225
local w = i_n("ManualWeld", a)
226
w.Part0 = a; w.Part1 = b
227
if c0 then w.C0 = c0 end
228
if c1 then w.C1 = c1 end
229
return w
230
end
231
232
function newAnim(id)
233
local anim = i_n("Animation")
234
anim.AnimationId = "http://www.roblox.com/asset/?id="..id
235
anim = hume:LoadAnimation(anim)
236
return anim
237
end
238
239
function newSound(id, p, vol, pit, loop, por)
240
local s = i_n("Sound", p)
241
s.SoundId = "rbxassetid://"..id
242
s.Volume = vol; s.Pitch = pit
243
s.Looped = loop; s.PlayOnRemove = por
244
return s
245
end
246
247
-- Global Variables --
248
local ogdefWS = 16
249
local defWS = 16
250
local bdmg = 20
251
local combostep = 1
252
local combowait = 2
253
local combotime = tick()
254
255
local equipped = false
256
local active = false
257
local running = false
258
local jumping = false
259
local lwoverride = false
260
local softoverride = false
261
local wsoverride = false
262
263
local pausedanims = {}
264
local bAttacks = {}
265
local bAbilities = {}
266
local abilities = {
267
	{["name"] = "Guard",
268
	 ["cd"] = 6,
269
	 ["ccd"] = 0,
270
	 ["key"] = "E",
271
	 ["ready"] = true,
272
	},
273
	{["name"] = "Upper-cutter",
274
	 ["cd"] = 12,
275
	 ["ccd"] = 0,
276
	 ["key"] = "Z",
277
	 ["ready"] = true,
278
	},
279
	{["name"] = "Bash",
280
	 ["cd"] = 7,
281
	 ["ccd"] = 0,
282
	 ["key"] = "X",
283
	 ["ready"] = true,
284
	},
285
	{["name"] = "Enrage",
286
	 ["cd"] = 17,
287
	 ["ccd"] = 0,
288
	 ["key"] = "C",
289
	 ["ready"] = true,
290
	},
291
	{["name"] = "Piercing Lunge",
292
	 ["cd"] = 35,
293
	 ["ccd"] = 0,
294
	 ["key"] = "V",
295
	 ["ready"] = true,
296
	}
297
}
298
299
----- Instances ------
300
local bdmg = i_n("NumberValue", script);bdmg.Value = 10
301
local atkspd = i_n("NumberValue", script);atkspd.Value = 1
302
local atkrange = i_n("NumberValue", script);atkrange.Value = 3
303
local critc = i_n("NumberValue", script);critc.Value = 25
304
local cancastab = i_n("BoolValue", script);cancastab.Name = "CanCastAbilities";cancastab.Value = true
305
local rage = Instance.new("ParticleEmitter", script)
306
rage.Name = "rage"
307
rage.Rate = (60)
308
rage.Speed = NumberRange.new(0,0)
309
rage.VelocitySpread = (0)
310
rage.Transparency = NumberSequence.new(1,.2)
311
rage.LightEmission = (1)
312
rage.Acceleration = v3(0,50,0)
313
rage.Lifetime = NumberRange.new(.145,.145)
314
rage.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,4),NumberSequenceKeypoint.new(1,5)})
315
rage.Texture = "rbxassetid://347730682"
316
rage.Rotation = NumberRange.new(-15,15)
317
rage.RotSpeed = NumberRange.new(-25,25)
318
local color1 = Color3.new(1,0.3,0.015)
319
local color2 = Color3.new(1,0,0)
320
rage.Color = ColorSequence.new(color1,color2)
321
rage.Enabled = false
322
323
local ragelight = i_n("PointLight", script)
324
ragelight.Name = "ragelight"
325
ragelight.Color = c3(1,.02,0)
326
ragelight.Brightness = 2
327
ragelight.Range = 8
328
ragelight.Shadows = true
329
ragelight.Enabled = false
330
331
local Electricity = Instance.new("ParticleEmitter", script)
332
Electricity.Name = "Electricity"
333
Electricity.Rate = (80)
334
Electricity.Speed = NumberRange.new(0,0)
335
Electricity.VelocitySpread = (0)
336
Electricity.Transparency = NumberSequence.new(0,0)
337
Electricity.LightEmission = (1)
338
Electricity.Lifetime = NumberRange.new(0.075,0.075)
339
Electricity.Size = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,1.15)})
340
Electricity.Texture = "rbxassetid://347730682"
341
Electricity.Rotation = NumberRange.new(-360,360)
342
Electricity.RotSpeed = NumberRange.new(-25,25)
343
local color1 = Color3.new(1,.8,0.1)
344
local color2 = Color3.new(1,.8,0.1)
345
Electricity.Color = ColorSequence.new(color1,color2)
346
Electricity.Enabled = false
347
348
local dfunc = {	
349
function(hitHumanoid, damage, owner, crit)
350
if hitHumanoid == owner then return end
351
local debris = game:GetService("Debris")
352
local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=hitHumanoid.Parent.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
353
local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
354
local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
355
356
-- ========================================================================================
357
if damage <= -1 then -- player is being healed
358
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
359
t.Text = "+"..( math.abs( math.floor((damage))).."")
360
t.TextColor3=BrickColor.new("Lime green").Color
361
t.TextStrokeColor3=BrickColor.new("Really black").Color	
362
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
363
s.SoundId="rbxassetid://535405197"
364
s.Volume = 1
365
s.Pitch = 1.15
366
s:Play()
367
hitHumanoid:TakeDamage(damage)
368
debris:AddItem(s,1)
369
debris:AddItem(p,1.45)
370
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
371
-- ========================================================================================
372
373
-- ========================================================================================
374
elseif hitHumanoid.Parent:FindFirstChild("ForceField") ~= nil or hitHumanoid.Parent:FindFirstChild("Blocking") then -- player is blocking attack or has forcefield
375
t:TweenPosition(UDim2.new(0,0,-0.1,0),'Out','Sine',2)
376
t.Text = "Blocked!"
377
t.TextColor3=BrickColor.new("Really blue").Color
378
t.TextStrokeColor3=BrickColor.new("Really black").Color
379
g.Size=UDim2.new(25,0,25,0)	
380
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
381
s.SoundId="rbxassetid://135436314"
382
s.Volume = 0.25
383
s.Pitch = 0.825
384
s:Play()
385
debris:AddItem(s,1)
386
debris:AddItem(p,.95)
387
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
388
-- ========================================================================================
389
390
-- ========================================================================================
391
elseif damage <= 0 or hitHumanoid.Parent:FindFirstChild("Dodging") then -- player takes 0 damage therefore dodging the attack
392
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
393
t.Text = "Dodge!"
394
t.TextColor3=BrickColor.new("Ghost grey").Color
395
t.TextStrokeColor3=BrickColor.new("Really black").Color	
396
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
397
s.SoundId="rbxasset://sounds/swoosh.wav"
398
s.Volume = 1
399
s.Pitch = 2
400
s:Play()
401
debris:AddItem(s,1)
402
debris:AddItem(p,.85)
403
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
404
-- ========================================================================================
405
406
-- ========================================================================================
407
elseif crit then -- player dealt critical strike
408
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
409
t.Text = "-"..( math.abs( math.floor((damage))).."!")
410
t.TextColor3=BrickColor.new("Deep orange").Color
411
t.TextStrokeColor3=BrickColor.new("Maroon").Color
412
t.ZIndex=3
413
local a=Instance.new("ImageLabel", t)
414
a.Size = UDim2.new(1,0,1,0)
415
a.BackgroundTransparency = 1
416
a.Image = "rbxassetid://649624738"
417
a.ImageColor3 = BrickColor.new("Deep orange").Color
418
a.ZIndex=2
419
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
420
s.SoundId="rbxassetid://488886309"
421
s.Volume = 1
422
s.Pitch = 2.35
423
s:Play()
424
hitHumanoid:TakeDamage(damage)
425
debris:AddItem(s,1)
426
debris:AddItem(p,.85)
427
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;a.ImageTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
428
-- ========================================================================================
429
430
-- ========================================================================================
431
elseif hitHumanoid.Parent:FindFirstChild("ArmorBroken") then -- player dealt more damage to this unit (double damage)
432
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
433
t.Text = "-"..( math.abs( math.floor((damage*2))).."!")
434
t.TextColor3=BrickColor.new("Royal purple").Color
435
t.TextStrokeColor3=BrickColor.new("Really black").Color
436
t.ZIndex=2
437
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
438
s.SoundId="rbxassetid://488886309"
439
s.Volume = 1
440
s.Pitch = 2
441
s:Play()
442
hitHumanoid:TakeDamage(damage*2)
443
debris:AddItem(s,1)
444
debris:AddItem(p,.85)
445
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
446
-- ========================================================================================
447
448
-- ========================================================================================
449
elseif hitHumanoid.Parent:FindFirstChild("GuardUp") then -- player is taking less damage (gets dealt less)
450
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
451
t.Text = "-"..( math.abs( math.floor((damage/2))).."")
452
t.TextColor3=BrickColor.new("Bright blue").Color
453
t.TextStrokeColor3=BrickColor.new("Really black").Color
454
t.ZIndex=2
455
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
456
s.SoundId="rbxassetid://199149338"
457
s.Volume = 1
458
s.Pitch = 1.1
459
s:Play()
460
hitHumanoid:TakeDamage(damage/2)
461
debris:AddItem(s,1)
462
debris:AddItem(p,.85)
463
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
464
-- ========================================================================================
465
466
-- ========================================================================================
467
elseif damage >= (hitHumanoid.MaxHealth * .25) then -- player dealt high amount of damage
468
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1)
469
t.Text = "-"..( math.abs( math.floor((damage))).." !")
470
t.TextColor3=BrickColor.new("Really red").Color
471
t.TextStrokeColor3=BrickColor.new("Really black").Color
472
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
473
s.SoundId="rbxassetid://199149137"
474
s.Volume = 0.5
475
s.Pitch = 1.25
476
s:Play()
477
hitHumanoid:TakeDamage(damage)
478
debris:AddItem(s,1)
479
debris:AddItem(p,1)
480
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
481
-- ========================================================================================
482
483
-- ========================================================================================
484
else -- player takes normal damage
485
t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',.9)
486
t.Text = "-"..( math.abs( math.floor((damage))))
487
t.TextColor3=BrickColor.new("Bright yellow").Color
488
t.TextStrokeColor3=BrickColor.new("Really black").Color
489
local s=Instance.new("Sound", hitHumanoid.Parent.Torso)
490
s.SoundId="rbxassetid://199149137"
491
s.Volume = 0.5
492
s.Pitch = 1
493
s:Play()	
494
hitHumanoid:TakeDamage(damage)
495
debris:AddItem(s,1)
496
debris:AddItem(p,.95)
497
spawn(function()for i = 0,1,.2 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
498
end
499
end
500
}
501
502
local weapon = i_n("Model", char);weapon.Name = "Weapon"
503
504
local handl = newPart(i_n("Part"),"Handle",0.51, 1.36, 0.51,BrickColor.new("Brown"), 0, 0, false, false, weapon)
505
local newmesh = i_n("CylinderMesh",handl)
506
handl.CFrame = cfn(-4.4, 1.02, 4.4)
507
508
local pommel = newPart(i_n("Part"),"Pommel",0.34, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
509
local newmesh = i_n("SpecialMesh",pommel);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
510
pommel.CFrame = cfn(-4.4, 0.17, 4.4)
511
pommel.Rotation = v3(180, 90, 0)
512
513
local bladetip = newPart(i_n("Part"),"BladeTip",0.2, 0.2, 0.85,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
514
local newmesh = i_n("SpecialMesh",bladetip);newmesh.MeshType = "FileMesh";newmesh.MeshId = "http://www.roblox.com/Asset/?id=9756362" ;newmesh.Scale = v3(0.235, 1.7, 0.604)
515
bladetip.CFrame = cfn(-4.4, 5.44, 4.4)
516
517
local grip = newPart(i_n("Part"),"Grip",0.51, 1.19, 0.51,BrickColor.new("Dirt brown"), 0, 0, false, false, weapon)
518
local newmesh = i_n("SpecialMesh",grip);newmesh.MeshType = "Head"; newmesh.Scale = v3(1.2,1,1.2)
519
grip.CFrame = cfn(-4.4, 1.02, 4.4)
520
521
local frontblade = newPart(i_n("Part"),"Blade",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
522
local newmesh = i_n("SpecialMesh",frontblade);newmesh.MeshType = "Torso"
523
frontblade.CFrame = cfn(-4.315, 3.74, 4.4)
524
frontblade.Rotation = v3(-90, 0, -90)
525
526
local backblade = newPart(i_n("Part"),"Part",0.85, 0.17, 3.4,BrickColor.new("Pearl"), 0, .3, false, false, weapon)
527
local newmesh = i_n("SpecialMesh",backblade);newmesh.MeshType = "Torso"
528
backblade.CFrame = cfn(-4.485, 3.74, 4.4)
529
backblade.Rotation = v3(-90, 0, 90)
530
531
local hilt1 = newPart(i_n("Part"),"Part",0.68, 0.34, 0.51,BrickColor.new("Gold"), 0, 0, false, false, weapon)
532
local newmesh = i_n("SpecialMesh",hilt1);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
533
hilt1.CFrame = cfn(-4.4, 1.87, 4.4)
534
hilt1.Rotation = v3(180,90, 0)
535
536
local hilt2 = newPart(i_n("Part"),"Part",1.02, 0.2, 0.37,BrickColor.new("Gold"), 0, 0, false, false, weapon)
537
local newmesh = i_n("SpecialMesh",hilt2);newmesh.MeshType = "Torso"; newmesh.Scale = v3(2,1,1)
538
hilt2.CFrame = cfn(-4.4, 1.87, 4.4)
539
hilt2.Rotation = v3(180, 90, 0)
540
541
function weld(x, y)
542
	if x == y then return end
543
	local CJ = CFrame.new(x.Position)
544
	local w = Instance.new("ManualWeld")
545
	w.Part0 = x
546
	w.Part1 = y
547
	w.C0 = x.CFrame:inverse() * CJ
548
	w.C1 = y.CFrame:inverse() * CJ
549
	w.Parent = x
550
	return w
551
end
552
553
local model = weapon
554
555
for _,v in pairs(model:GetChildren()) do
556
if v:IsA("BasePart") then
557
weld(model.Handle, v)
558
end end
559
560
local handle = weapon:WaitForChild("Handle")
561
local idletrack = newAnim(180435571)
562
563
----- New Instances ------
564
565
local backweld = newWeld(tors, handle)
566
backweld.C0 = cfn(1.5, 1.5, .5) * cfa(0, math.rad(90), 0) * cfa(math.rad(-135), 0, 0)
567
568
local grip = newWeld(rarm, nil, cfn(0, -.7, 0) * cfa(math.rad(-90), 0, 0))
569
570
local equipS = newSound(211059653, handle, 1, 1, false, false)
571
local uneqS = newSound(166196557, handle, 1, 1, false, false)
572
573
local slash1 = newSound(199145841, handle, 1, 1, false, false)
574
local slash2 = newSound(199145841, handle, 1, 1.2, false, false)
575
local slash3 = newSound(356422588, handle, 1, 1, false, false)
576
local slash3 = newSound(356422588, handle, 1, 1.2, false, false)
577
578
local skill1 = newSound(231917758, handle, 1, .85, false, false)
579
local skill2 = newSound(2767090, handle, 1, .85, false, false)
580
local skill3 = newSound(662614920,handle,1,1,false,false)
581
local skill4 = newSound(2101137,handle,1,.45,false,false)
582
local skill42 = newSound(540358153,handle,1,.7,false,false)
583
584
----- Animation Defaults ------
585
586
local stand = {
587
["head"] = hw.C0,
588
["tors"] = tw.C1,
589
["rarm"] = raw.C0,
590
["larm"] = law.C0,
591
["rleg"] = rlw.C0,
592
["lleg"] = llw.C0,
593
["grip0"] = grip.C0,
594
["grip1"] = grip.C1
595
}
596
597
local neutral = {
598
["head"] = stand.head * cfa(0, 0, math.rad(-10)),
599
["tors"] = stand.tors * cfa(0, 0, math.rad(-10)),
600
["rarm"] = stand.rarm * cfa(math.rad(-15), math.rad(-25), math.rad(-5)),
601
["larm"] = stand.larm * cfa(math.rad(-10), 0, 0),
602
["rleg"] = stand.rleg * cfa(0, math.rad(-24), 0),
603
["lleg"] = stand.lleg * cfa(0, math.rad(8), 0),
604
["grip0"] = stand.grip0,
605
["grip1"] = stand.grip1
606
}
607
608
local run = {
609
["head"] = stand.head * cfa(math.rad(8), 0, 0),
610
["tors"] = stand.tors,
611
["rarm"] = stand.rarm * cfa(math.rad(-20), math.rad(-15), math.rad(-5)),
612
["larm"] = stand.larm * cfa(math.rad(-15), math.rad(-10), math.rad(-5)),
613
["rleg"] = stand.rleg,
614
["lleg"] = stand.lleg,
615
["grip0"] = stand.grip0,
616
["grip1"] = stand.grip1 * cfa(math.rad(15), 0, 0)
617
}
618
619
local jump = {
620
["head"] = stand.head * cfa(math.rad(-15), 0, 0),
621
["tors"] = stand.tors,
622
["rarm"] = stand.rarm * cfa(0, 0, math.rad(60)),
623
["larm"] = stand.larm * cfa(math.rad(-24), 0, 0),
624
["rleg"] = stand.rleg * cfn(.5, 0, 0) * cfa(0, 0, math.rad(-15)),
625
["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
626
["grip0"] = stand.grip0,
627
["grip1"] = stand.grip1
628
}
629
630
local fall = {
631
["head"] = stand.head * cfa(math.rad(15), 0, 0),
632
["tors"] = stand.tors,
633
["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
634
["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-70), 0, 0),
635
["rleg"] = stand.rleg * cfa(0, 0, math.rad(9)),
636
["lleg"] = stand.lleg * cfn(-1, 1, 0) * cfa(0, 0, math.rad(15)),
637
["grip0"] = stand.grip0,
638
["grip1"] = stand.grip1
639
}
640
641
local stunned = {
642
["head"] = stand.head,
643
["tors"] = stand.tors * cfn(0, -2.25, 0) *cfa(math.rad(90),0,0),
644
["rarm"] = stand.rarm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
645
["larm"] = stand.larm * cfn(0, -.5, .2) * cfa(math.rad(-40), 0, 0),
646
["rleg"] = stand.rleg * cfa(math.rad(-15), 0, 0),
647
["lleg"] = stand.lleg * cfa( math.rad(-15), 0, 0),
648
["grip0"] = stand.grip0,
649
["grip1"] = stand.grip1 * cfa(math.rad(90),0,0)
650
}
651
------ Primary Functions ------
652
653
654
ArtificialHB = Instance.new("BindableEvent", script)
655
ArtificialHB.Name = "Heartbeat"
656
657
script:WaitForChild("Heartbeat")
658
659
660
--credit to saz/nym for this pacemaker
661
frame = 1 / 60
662
tf = 0
663
allowframeloss = false
664
tossremainder = false
665
lastframe = tick()
666
script.Heartbeat:Fire()
667
668
game:GetService("RunService").Heartbeat:connect(function(s, p)
669
    tf = tf + s
670
    if tf >= frame then
671
        if allowframeloss then
672
            script.Heartbeat:Fire()
673
            lastframe = tick()
674
        else
675
            for i = 1, math.floor(tf / frame) do
676
                script.Heartbeat:Fire()
677
            end
678
            lastframe = tick()
679
        end
680
        if tossremainder then
681
            tf = 0
682
        else
683
            tf = tf - frame * math.floor(tf / frame)
684
        end
685
    end
686
end)
687
688
function swait(num)
689
    if num == 0 or num == nil then
690
        ArtificialHB.Event:wait()
691
    else
692
        for i = 0, num do
693
            ArtificialHB.Event:wait()
694
        end
695
    end
696
end
697
698
function stopAnims()
699
pausedanims = {}
700
701
for _,v in pairs(hume:GetPlayingAnimationTracks()) do v:Stop()
702
table.insert(pausedanims, v)
703
end end
704
705
function resumeAnims()
706
for _,v in pairs(pausedanims) do v:Play()
707
end end
708
709
function resetJoints()
710
hw.C0 = stand.head; tw.C1 = stand.tors
711
raw.C0 = stand.rarm; law.C0 = stand.larm
712
rlw.C0 = stand.rleg; llw.C0 = stand.lleg
713
grip.C0 = stand.grip0; grip.C1 = stand.grip1
714
end
715
716
function equip()
717
local t = 15
718
animS.Disabled = true; stopAnims()
719
resetJoints()
720
721
for i = 1, t do swait()
722
raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
723
law.C0 = law.C0:lerp(neutral.larm, i/t)
724
hw.C0 = hw.C0:lerp(neutral.head, i/t)
725
tw.C1 = tw.C1:lerp(neutral.tors, i/t)
726
end
727
728
backweld.Part1 = nil; grip.Part1 = handle
729
idletrack:Play(); equipS:Play()
730
end
731
732
function unequip()
733
local t = 15
734
735
lwoverride = true
736
737
for i = 1, t do swait()
738
raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, 0, math.rad(172)), (i/t)/2)
739
law.C0 = law.C0:lerp(stand.larm, i/t)
740
hw.C0 = hw.C0:lerp(stand.head, i/t)
741
tw.C1 = tw.C1:lerp(stand.tors, i/t)
742
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
743
llw.C0 = llw.C0:lerp(stand.lleg, i/t)
744
end
745
746
uneqS:Play()
747
grip.Part1 = nil; backweld.Part1 = handle
748
idletrack:Stop(); animS.Disabled = false
749
resetJoints(); resumeAnims()
750
lwoverride = false
751
end
752
753
function checkPartMag(list, range)
754
local targets = {}
755
756
for _,v in pairs(list) do
757
for _,x in pairs(workspace:GetChildren()) do
758
local vhume = x:FindFirstChild("Humanoid")
759
if vhume and vhume:IsA("Humanoid") then
760
for _,y in pairs(x:GetChildren()) do
761
if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range 
762
then table.insert(targets, x); break end
763
end end end end
764
765
return targets
766
end
767
768
769
function checkPartMag2(list, range)
770
local targets = {}
771
772
for _,v in pairs(list) do
773
for _,x in pairs(workspace:GetChildren()) do
774
local vhume = x:FindFirstChild("Humanoid")
775
if vhume and vhume:IsA("Humanoid") then
776
for _,y in pairs(x:GetChildren()) do
777
if y:IsA("BasePart") and (v.Position - y.Position).magnitude <= range 
778
then table.insert(targets, x); break end
779
end end end end
780
781
return targets
782
end
783
784
function checkPosMag(pos, range)
785
local targets = {}
786
787
for _,x in pairs(workspace:GetChildren()) do
788
local vhume = x:FindFirstChild("Humanoid")
789
if vhume and vhume:IsA("Humanoid") then
790
for _,y in pairs(x:GetChildren()) do
791
if y:IsA("BasePart") and (pos - y.Position).magnitude <= range 
792
then table.insert(targets, x) 
793
print(x.Name) end
794
end end end
795
796
return targets
797
end
798
799
function rollTheDice(chance, min, max)
800
local gen = math.random(min, max)
801
return gen <= chance
802
end
803
804
function strike(targ, dmg, critchance)
805
local moddmg = math.floor(dmg)
806
local crit = false
807
808
if targ == char then return end
809
810
local vhume = targ:FindFirstChild("Humanoid")
811
if vhume and vhume:IsA("Humanoid") then
812
moddmg = math.ceil(moddmg * (math.random(75, 150)/100))
813
814
if rollTheDice(critchance, 1, 100) then
815
moddmg = moddmg * 2; crit = true
816
end
817
818
dfunc[1](vhume, moddmg, hume, crit)
819
end end
820
821
function cooldown(num)
822
local ab = abilities[num]
823
local now = tick()
824
825
spawn(function()
826
ab.ready = false
827
ab.ccd = ab.cd
828
829
while ab.ccd > 0 do swait()
830
831
repeat swait() until (tick()-now) >= 1
832
or ab.ccd <= 0
833
834
if ab.ccd > 0 then ab.ccd = ab.ccd - 1; now = tick()
835
else break
836
end end
837
838
ab.ready = true
839
end)
840
end
841
842
function attack()
843
if combostep >= #bAttacks then combostep = 1
844
else combostep = combostep + 1 end
845
	
846
combotime = tick(); bAttacks[combostep]()
847
848
softoverride = false; lwoverride = false
849
wsoverride = false; hume.WalkSpeed = defWS
850
end
851
852
function cast(num)
853
local ab = abilities[num]
854
local func = bAbilities[num]
855
856
if ab.ready and func then 
857
cooldown(num); func()
858
end end
859
860
function knockback(targ, power, time)
861
local vtors = targ:FindFirstChild("Torso")
862
if vtors and vtors.Parent then
863
local bv = i_n("BodyVelocity", vtors)
864
bv.MaxForce = v3(math.huge,math.huge,math.huge)
865
bv.Velocity = vtors.CFrame.lookVector * power
866
game:GetService("Debris"):AddItem(bv, time)
867
end end
868
869
function checkStatus(targ, status)
870
local val = targ:FindFirstChild(status)
871
if val and val:IsA("BoolValue") then
872
return true
873
else return false
874
end end
875
876
function canMove()
877
if checkStatus(char, "Stun")
878
or checkStatus(char, "Knockback")
879
then return true
880
else return false
881
end end
882
883
-- Basic Attacks --
884
885
bAttacks = {
886
------------------
887
function()
888
local t = math.ceil(15/atkspd.Value)
889
local hitdb = {}
890
891
for i = 1, t do swait()
892
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(12)), i/t)
893
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(24)), i/t)
894
raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(math.rad(15), 0, math.rad(172)), i/t)
895
law.C0 = law.C0:lerp(stand.larm * cfa(0, math.rad(-30), math.rad(-70)), i/t)
896
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
897
898
if not running then softoverride = true
899
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
900
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
901
end 
902
903
if not active or checkStatus(char, "Stun") then break end
904
905
end
906
907
if active then t = math.ceil(10/atkspd.Value); slash1:Play()
908
909
for i = 1, t do swait()
910
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-12)), i/t)
911
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-24)), i/t)
912
raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1) * cfa(math.rad(30), 0, math.rad(45)), i/t)
913
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45), 0, math.rad(30)), i/t)
914
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(80), 0, 0), i/t)
915
916
if not running then softoverride = true
917
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0) * cfa(0, math.rad(-24), 0), i/t)
918
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(15)), i/t)
919
end
920
921
for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
922
if not hitdb[v] then hitdb[v] = true
923
strike(v, bdmg.Value, critc.Value)
924
end end
925
926
if not active or checkStatus(char, "Stun") then break end
927
928
end end
929
end,
930
------------------
931
function()
932
local t = math.ceil(15/atkspd.Value)
933
local hitdb = {}
934
935
for i = 1, t do swait()
936
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
937
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
938
raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
939
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
940
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
941
942
if not running then softoverride = true
943
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
944
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
945
end 
946
947
if not active  then break end
948
end
949
950
if active then t = math.ceil(10/atkspd.Value); slash2:Play()
951
952
for i = 1, t do swait()
953
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
954
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(30)), i/t)
955
raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
956
law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
957
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
958
959
if not running then softoverride = true
960
rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, math.rad(-30), 0), i/t)
961
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(30), 0), i/t)
962
end
963
964
for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
965
if not hitdb[v] then hitdb[v] = true
966
strike(v, bdmg.Value, critc.Value)
967
end end
968
969
if not active  then break end
970
end end
971
end,
972
------------------
973
function()
974
local t = math.ceil(15/atkspd.Value)
975
local hitdb = {}
976
977
for i = 1, t do swait()
978
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(60)), i/t)
979
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(70)), i/t)
980
raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-30), math.rad(50), math.rad(-30)), i/t)
981
law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, -1.5) * cfa(math.rad(80), 0, math.rad(-30)), i/t)
982
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
983
984
if not running then softoverride = true
985
rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-30)), i/t)
986
llw.C0 = llw.C0:lerp(stand.lleg * cfn(-.8, 0, 0), i/t)
987
end 
988
989
if not active  then break end
990
end
991
992
if active then t = math.ceil(10/atkspd.Value); slash2:Play()
993
994
for i = 1, t do swait()
995
hw.C0 = hw.C0:lerp(stand.head, i/t)
996
tw.C1 = tw.C1:lerp(stand.tors, i/t)
997
raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
998
law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
999
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
1000
1001
if not running then softoverride = true
1002
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
1003
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
1004
end
1005
1006
for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
1007
if not hitdb[v] then hitdb[v] = true
1008
strike(v, bdmg.Value, critc.Value)
1009
end end
1010
1011
if not active  then break end
1012
end end
1013
end,
1014
------------------
1015
function()
1016
local t = math.ceil(10/atkspd.Value)
1017
local hitdb = {}
1018
1019
lwoverride = true
1020
wsoverride = true
1021
hume.WalkSpeed = 0
1022
1023
for i = 1, t do swait()
1024
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(-22)), i/t)
1025
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-45)), i/t)
1026
raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -1.8) * cfa(math.rad(-90), 0, math.rad(135)), i/t)
1027
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), 0, math.rad(-30)), i/t)
1028
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-30), 0, 0), i/t)
1029
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
1030
llw.C0 = llw.C0:lerp(stand.lleg, i/t)
1031
1032
if not active or checkStatus(char, "Stun") then break end
1033
1034
end
1035
1036
if active then t = math.ceil(40/atkspd.Value); slash3:Play()
1037
local angle = 0
1038
1039
for i = 1, t do swait()
1040
hw.C0 = hw.C0:lerp(stand.head * cfa(0, 0, math.rad(15)), i/t)
1041
tw.C1 = stand.tors * cfa(0, 0, math.rad(750 * (i/t)))
1042
raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, -.5, .5) * cfa(math.rad(-90), 0, 0), i/t)
1043
law.C0 = law.C0:lerp(stand.larm * cfn(0, 0, .2) * cfa(math.rad(-80), 0, math.rad(-15)), i/t)
1044
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
1045
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(1, 1, 0), i/t)
1046
llw.C0 = llw.C0:lerp(stand.lleg, i/t)
1047
hrp.Velocity = hrp.CFrame.lookVector * 30
1048
angle = angle + (750/t)
1049
1050
if angle >= 330 and i~=t then slash3:Play(); angle = 0
1051
end
1052
1053
for _,v in pairs(checkPartMag({weapon.Blade}, atkrange.Value)) do
1054
if not hitdb[v] then hitdb[v] = true; strike(v, bdmg.Value, critc.Value)
1055
spawn(function() wait(.15); hitdb[v] = false end)
1056
end end
1057
1058
if not active  then break end
1059
end end
1060
end,
1061
------------------
1062
}
1063
1064
-- Abilities --
1065
1066
bAbilities = {
1067
	
1068
function(E)
1069
1070
local t = 90
1071
1072
local b= i_n("BoolValue",char);b.Name="Blocking";game:GetService("Debris"):AddItem(b,1.65)
1073
defWS = 8
1074
1075
for i = 1, t do swait()
1076
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(17),0,0), i/t)
1077
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
1078
raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-15),0,math.rad(90)), i/t)
1079
law.C0 = law.C0:lerp(stand.larm * cfn(-.3,-0.25,-1.95) * cfa(math.rad(45),math.rad(-40), math.rad(-80)), i/t)
1080
grip.C1 = grip.C1:lerp(stand.grip1 * cfn(0.25,0,0)* cfa(0,math.rad(90), math.rad(-110)), i/t)
1081
1082
if not running then softoverride = true
1083
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1084
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1085
end 
1086
1087
if not active or checkStatus(char, "Stun") then break end
1088
1089
end
1090
defWS = ogdefWS
1091
1092
end,
1093
1094
function(Z)
1095
1096
local t = 10
1097
local hitdb = {}
1098
local exp = coroutine.wrap(function()
1099
			local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Daisy orange"), 0.4, 0, true, false, workspace)
1100
			local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(4,0.75,4);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
1101
			Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(math.rad(-180),0,0)
1102
			repeat
1103
				Mesh.Scale = Mesh.Scale + v3(.75,.175,.75)
1104
				Explosion.Transparency = Explosion.Transparency + .05
1105
				swait()
1106
			until Explosion.Transparency >= 1
1107
			Explosion:Destroy()
1108
end)
1109
1110
for i = 1, t do swait()
1111
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-15),0,0), i/t)
1112
tw.C1 = tw.C1:lerp(stand.tors * cfn(0,-.1,0) * cfa(math.rad(-25),0,0), i/t)
1113
raw.C0 = raw.C0:lerp(stand.rarm * cfa(0, math.rad(21), math.rad(64)), i/t)
1114
law.C0 = law.C0:lerp(stand.larm * cfn(0,-.3,-1.45)* cfa(0, math.rad(-53), math.rad(-70)), i/t)
1115
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
1116
1117
if not running then softoverride = true
1118
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1119
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1120
end 
1121
1122
if not active or checkStatus(char, "Stun") then break end
1123
 
1124
end
1125
1126
local t = 25
1127
1128
defWS = 0
1129
lwoverride = true
1130
wsoverride = true
1131
skill1:Play()
1132
exp()
1133
local bv = i_n("BodyVelocity", char.HumanoidRootPart);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,95,0);game:GetService("Debris"):AddItem(bv,.075)
1134
for i = 1, t do swait()
1135
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-17),0,0), i/t)
1136
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
1137
raw.C0 = raw.C0:lerp(stand.rarm * cfn(0, .5, 0) * cfa(0, math.rad(23), math.rad(172)), i/t)
1138
law.C0 = law.C0:lerp(stand.larm * cfn(0,0,-1.45)* cfa(0, math.rad(-53), math.rad(-143)), i/t)
1139
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-180), 0, 0), i/t)
1140
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1141
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1142
1143
for _,v in pairs(checkPartMag({weapon.Blade}, 6)) do
1144
if not hitdb[v] then hitdb[v] = true
1145
strike(v, bdmg.Value + 5, 0)
1146
if v.Name~=plr.Name then
1147
local bv = i_n("BodyVelocity", v.Torso);bv.MaxForce=v3(math.huge,math.huge,math.huge);bv.Velocity=v3(0,85,0);game:GetService("Debris"):AddItem(bv,.1)
1148
end end end
1149
1150
if not active or checkStatus(char, "Stun") then break end
1151
1152
end
1153
1154
defWS = ogdefWS	
1155
end,
1156
1157
function(X)
1158
	
1159
local t = 15
1160
local hitdb = {}
1161
lwoverride = true
1162
wsoverride = true
1163
defWS = 0
1164
1165
local exp = coroutine.wrap(function()
1166
			local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Ghost grey"), .4, 0, true, false, workspace)
1167
			local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
1168
			Explosion.CFrame = char.HumanoidRootPart.CFrame * cfa(math.rad(45),0,0)
1169
			local bv = i_n("BodyVelocity", hrp); bv.MaxForce = v3(math.huge,math.huge,math.huge);bv.Velocity = hrp.CFrame.lookVector * 60
1170
			game:GetService("Debris"):AddItem(bv,.15)
1171
			repeat
1172
				Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
1173
				Explosion.Transparency = Explosion.Transparency + .05
1174
				swait()
1175
			until Explosion.Transparency >= 1
1176
			Explosion:Destroy()
1177
end)
1178
1179
exp()
1180
skill2:Play()
1181
for i = 1, t do swait()
1182
hw.C0 = hw.C0:lerp(stand.head * cfa(0, math.rad(-10), math.rad(-90)), i/t)
1183
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, math.rad(-90)), i/t)
1184
raw.C0 = raw.C0:lerp(stand.rarm * cfn(0,-0.35,0.45)* cfa(math.rad(-90),0,math.rad(90)), i/t)
1185
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-45),0,0), i/t)
1186
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(-12),0,0), i/t)
1187
rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(math.rad(12),0,0), i/t)
1188
llw.C0 = llw.C0:lerp(stand.lleg * cfa(math.rad(-18),0,0), i/t)
1189
1190
--[[if not running then softoverride = true
1191
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1192
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1193
end 
1194
--]]
1195
for _,v in pairs(checkPartMag({weapon.Pommel}, 3)) do
1196
if not hitdb[v] then hitdb[v] = true
1197
strike(v, bdmg.Value + 1.5, 0)
1198
if v.Name~=plr.Name then
1199
local bv =i_n("BoolValue", v);bv.Name = "ArmorBroken";game:GetService("Debris"):AddItem(bv,2)
1200
end
1201
end end
1202
1203
if not active or checkStatus(char, "Stun") then break end
1204
1205
end
1206
defWS = ogdefWS	
1207
end,
1208
1209
function(C)
1210
1211
local t = 20
1212
local hitdb = {}
1213
local exp = coroutine.wrap(function()
1214
			local Explosion = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Bright red"), 0, 0, true, false, workspace)
1215
			local Mesh = i_n("SpecialMesh",Explosion);Mesh.Scale=v3(3,4,3);Mesh.MeshId="http://www.roblox.com/asset/?id=20329976"
1216
			Explosion.CFrame = char.HumanoidRootPart.CFrame * cfn(0,-1.25,0)* cfa(0,0,0)
1217
			repeat
1218
				Mesh.Scale = Mesh.Scale + v3(.75,.25,.75)
1219
				Explosion.Transparency = Explosion.Transparency + .05
1220
				swait()
1221
			until Explosion.Transparency >= 1
1222
			Explosion:Destroy()
1223
end)
1224
1225
local atkspdbuf =  coroutine.wrap(function()
1226
atkspd.Value = atkspd.Value * 1.65
1227
critc.Value = critc.Value + 7.5
1228
local cln = script.rage:Clone()
1229
cln.Parent = char.Torso
1230
cln.Enabled = true
1231
local cln2 = script.ragelight:Clone()
1232
cln2.Parent = char.Torso
1233
cln2.Enabled = true
1234
defWS = defWS * 1.45
1235
wait(5.85)
1236
cln.Enabled = false
1237
wait(.15)
1238
cln:Destroy()
1239
cln2:Destroy()
1240
defWS = ogdefWS
1241
atkspd.Value = atkspd.Value / 1.65
1242
critc.Value = critc.Value - 7.5
1243
end)
1244
1245
for i = 1, t do swait()
1246
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(12), 0, 0), i/t)
1247
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
1248
raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(30),math.rad(45),math.rad(90)), i/t)
1249
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(30),math.rad(-45),math.rad(-90)), i/t)
1250
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
1251
1252
if not running then softoverride = true
1253
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1254
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1255
end 
1256
1257
if not active or checkStatus(char, "Stun") then break end
1258
1259
end
1260
1261
if active then skill3:Play();exp();atkspdbuf()
1262
1263
for i = 1, t do swait()
1264
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-2), 0, 0), i/t)
1265
tw.C1 = tw.C1:lerp(stand.tors * cfa(0, 0, 0), i/t)
1266
raw.C0 = raw.C0:lerp(stand.rarm * cfn(-0.5,-0.5,0) * cfa(math.rad(30),math.rad(45),math.rad(120)), i/t)
1267
law.C0 = law.C0:lerp(stand.larm * cfn(0.5,-0.5,0) * cfa(math.rad(30),math.rad(-45),math.rad(-120)), i/t)
1268
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(0,0,0), i/t)
1269
1270
if not running then softoverride = true
1271
rlw.C0 = rlw.C0:lerp(stand.rleg, i/t)
1272
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, math.rad(24), 0), i/t)
1273
end 
1274
1275
if not active or checkStatus(char, "Stun") then break end
1276
1277
end
1278
1279
	
1280
end	
1281
end,
1282
1283
function(V)
1284
1285
lwoverride = true
1286
wsoverride = true
1287
defWS = 0
1288
local t = 120
1289
local hitdb = {}
1290
1291
local Trail = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(Trail,3)
1292
1293
local emitr = script.Electricity:Clone();emitr.Parent = weapon.Blade; emitr.Enabled = true; game:GetService("Debris"):AddItem(emitr,1.95)
1294
local bladtrail = coroutine.wrap(function()
1295
			Trail.Material = "Neon"
1296
			Trail.Size = v3(25, 0.5, 0.5)
1297
			Trail.Transparency = 0
1298
			local Mesh = i_n("SpecialMesh",Trail);Mesh.Scale=v3(1,1,1);Mesh.MeshType = "Sphere"
1299
			Trail.CFrame = char.HumanoidRootPart.CFrame * cfn(0,0,0)* cfa(0,math.rad(90),0)
1300
			local dumbtp = newPart(i_n("Part"), "Effect", .2,.2,.2,BrickColor.new("Institutional white"), 1, 0, true, false, workspace);game:GetService("Debris"):AddItem(dumbtp,.1)
1301
			dumbtp.CFrame = char.HumanoidRootPart.CFrame *cfn(0,0,-15)
1302
			char.HumanoidRootPart.CFrame = dumbtp.CFrame
1303
			repeat
1304
				Trail.Size = Trail.Size + v3(.125,.025,.025)
1305
				Trail.Transparency = Trail.Transparency + .025
1306
				swait()
1307
			until Trail.Transparency >= 1
1308
			Trail:Destroy()
1309
end)
1310
skill4:Play()
1311
for i = 1, t do swait()
1312
hw.C0 = hw.C0:lerp(stand.head * cfa(math.rad(-22), 0, 0), i/t)
1313
tw.C1 = tw.C1:lerp(stand.tors * cfn(0,0,0.65) *cfa(math.rad(-25), 0, 0), i/t)
1314
raw.C0 = raw.C0:lerp(stand.rarm * cfa(math.rad(-85),0,math.rad(36)), i/t)
1315
law.C0 = law.C0:lerp(stand.larm * cfn(-0.25,0.5,-1.85) *cfa(math.rad(90), 0, math.rad(-30)), i/t)
1316
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(30), 0, math.rad(20)), i/t)
1317
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.85, 1, 0) * cfa(0,0,math.rad(30)), i/t)
1318
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0,0,math.rad(15)), i/t)
1319
1320
if not active or checkStatus(char, "Stun") then break end
1321
1322
end
1323
1324
local t = 15
1325
bladtrail()
1326
skill42:Play()
1327
1328
for i = 1, t do swait()
1329
hw.C0 = hw.C0:lerp(stand.head, i/t)
1330
tw.C1 = tw.C1:lerp(stand.tors, i/t)
1331
raw.C0 = raw.C0:lerp(stand.rarm * cfn(.8, 0, -.5) * cfa(0, 0, math.rad(90)), i/t)
1332
law.C0 = law.C0:lerp(stand.larm * cfn(-.8, 0, -1.6) * cfa(0, math.rad(-30), math.rad(-90)), i/t)
1333
grip.C1 = grip.C1:lerp(stand.grip1 * cfa(math.rad(90), 0, 0), i/t)
1334
1335
if not running then softoverride = true
1336
rlw.C0 = rlw.C0:lerp(stand.rleg * cfn(.5, 0, 0), i/t)
1337
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(30)), i/t)
1338
end
1339
1340
for _,v in pairs(checkPartMag({Trail}, 20)) do
1341
if not hitdb[v] then hitdb[v] = true
1342
strike(v, bdmg.Value + 10, 0)
1343
end end
1344
1345
1346
if not active or checkStatus(char, "Stun") then break end
1347
1348
end
1349
1350
defWS = ogdefWS
1351
end
1352
1353
}
1354
1355
-- coroutines
1356
----------------------------------------------
1357
1358
----------------------------------------------
1359
local runmanage = spawn(function()
1360
while true do swait()
1361
1362
local tvel = (hrp.Velocity * v3(1, 0, 1)).magnitude
1363
local groundcheck = Ray.new(hrp.Position, ((hrp.CFrame.p - Vector3.new(0, 1, 0)) - hrp.CFrame.p).unit * 4)
1364
local hit = workspace:FindPartOnRay(groundcheck, char)
1365
1366
if hit then
1367
if jumping then jumping = false; end
1368
else jumping = true
1369
end
1370
	
1371
if tvel > 2 then
1372
	
1373
if not running then running = true; softoverride = false end
1374
elseif running then running = false
1375
end
1376
1377
if (wsoverride or lwoverride) and not active then
1378
wsoverride = false; lwoverride = false
1379
end
1380
1381
if not wsoverride then 
1382
hume.WalkSpeed = defWS
1383
end end end)
1384
----------------------------------------------
1385
local runanim = spawn(function()
1386
while true do swait()
1387
local vtvel = math.abs(hrp.Velocity.Y)
1388
local t = 20
1389
1390
if equipped and not active then
1391
1392
if jumping then 
1393
1394
if hrp.Velocity.Y > 1 then for i = 1, t do swait()
1395
raw.C0 = raw.C0:lerp(jump.rarm, (i/t)/2)
1396
law.C0 = law.C0:lerp(jump.larm, (i/t)/2)
1397
hw.C0 = hw.C0:lerp(jump.head, (i/t)/2)
1398
tw.C1 = tw.C1:lerp(jump.tors, (i/t)/2)
1399
grip.C1 = grip.C1:lerp(jump.grip1, (i/t)/2)
1400
grip.C0 = grip.C0:lerp(jump.grip0, (i/t)/2)
1401
if not jumping or active  or hrp.Velocity.Y < 1 then 
1402
break end end
1403
1404
else for i = 1, t do swait()
1405
raw.C0 = raw.C0:lerp(fall.rarm, (i/t)/2)
1406
law.C0 = law.C0:lerp(fall.larm, (i/t)/2)
1407
hw.C0 = hw.C0:lerp(fall.head, (i/t)/2)
1408
tw.C1 = tw.C1:lerp(fall.tors, (i/t)/2)
1409
grip.C1 = grip.C1:lerp(fall.grip1, (i/t)/2)
1410
grip.C0 = grip.C0:lerp(fall.grip0, (i/t)/2)
1411
if not jumping or active  or hrp.Velocity.Y > 1 then 
1412
break end end end
1413
1414
elseif running then for i = 1, t do swait()
1415
raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
1416
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10), 0), (i/t)/2)
1417
hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
1418
tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
1419
grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
1420
grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
1421
if not running or jumping or active  then break end
1422
end
1423
1424
for i = 1, t do swait()
1425
raw.C0 = raw.C0:lerp(run.rarm, (i/t)/2)
1426
law.C0 = law.C0:lerp(stand.larm * cfa(math.rad(-15), math.rad(10),0), (i/t)/2)
1427
hw.C0 = hw.C0:lerp(run.head, (i/t)/2)
1428
tw.C1 = tw.C1:lerp(run.tors, (i/t)/2)
1429
grip.C1 = grip.C1:lerp(run.grip1, (i/t)/2)
1430
grip.C0 = grip.C0:lerp(run.grip0, (i/t)/2)
1431
if not running or jumping or active  then break end
1432
end
1433
1434
else t = 60
1435
for i = 1, t do swait()
1436
raw.C0 = raw.C0:lerp(neutral.rarm, i/t)
1437
law.C0 = law.C0:lerp(neutral.larm, i/t)
1438
hw.C0 = hw.C0:lerp(neutral.head, i/t)
1439
tw.C1 = tw.C1:lerp(neutral.tors, i/t)
1440
grip.C1 = grip.C1:lerp(neutral.grip1, (i/t)/2)
1441
grip.C0 = grip.C0:lerp(neutral.grip0, (i/t)/2)
1442
if running or jumping or active  then break end
1443
end end end end end)
1444
----------------------------------------------
1445
local legwalk = spawn(function()
1446
while true do swait()
1447
local t = math.ceil(300/hume.WalkSpeed)
1448
local t2 = 20
1449
	
1450
if equipped and not (lwoverride or softoverride) then
1451
	
1452
if jumping then 
1453
1454
if hrp.Velocity.Y > 1 then for i = 1, t2 do swait()
1455
rlw.C0 = rlw.C0:lerp(jump.rleg, i/t2)
1456
llw.C0 = llw.C0:lerp(jump.lleg, i/t2)
1457
if not jumping or lwoverride or softoverride 
1458
or hrp.Velocity.Y < 1 then break end
1459
end
1460
1461
else for i = 1, t2 do swait()
1462
rlw.C0 = rlw.C0:lerp(fall.rleg, i/t2)
1463
llw.C0 = llw.C0:lerp(fall.lleg, i/t2)
1464
if not jumping or lwoverride or softoverride 
1465
or hrp.Velocity.Y > 1 then break end
1466
end end
1467
1468
elseif running then for i = 1, t do swait()
1469
rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
1470
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(-40)), (i/t)/2)
1471
if not running or jumping or lwoverride or softoverride then break end
1472
end
1473
1474
if running and not jumping then for i = 1, t do swait()
1475
rlw.C0 = rlw.C0:lerp(stand.rleg * cfa(0, 0, math.rad(40)), (i/t)/2)
1476
llw.C0 = llw.C0:lerp(stand.lleg * cfa(0, 0, math.rad(40)), (i/t)/2)
1477
if not running or lwoverride or softoverride then break end
1478
end end
1479
1480
else for i = 1, t do swait()
1481
rlw.C0 = rlw.C0:lerp(neutral.rleg, i/t)
1482
llw.C0 = llw.C0:lerp(neutral.lleg, i/t)
1483
if running or jumping or lwoverride or softoverride then break end
1484
end end
1485
1486
elseif not equipped then
1487
rlw.C0 = stand.rleg; llw.C0 = stand.lleg
1488
end end end)
1489
----------------------------------------------
1490
local combomanage = spawn(function()
1491
while true do swait()
1492
if (tick()-combotime)>=combowait 
1493
and not active then combostep = 0
1494
end end
1495
end)
1496
----------------------------------------------
1497
-- Input Events
1498
1499
mouse.Button1Down:connect(function()
1500
if equipped and not active then active = true
1501
attack(); active = false
1502
end end)
1503
1504
mouse.KeyDown:connect(function(key)
1505
key = key:lower()
1506
1507
for i,v in ipairs(abilities) do
1508
if key == v.key:lower() then
1509
if equipped and script.CanCastAbilities.Value == true and not active then 
1510
active = true; cast(i); active = false
1511
end end end
1512
1513
if key == "q" then
1514
if not equipped then equipped = true; active = true
1515
equip(); active = false
1516
1517
else if not active then active = true
1518
unequip(); active = false; equipped = false
1519
end end end end)
1520
1521
-- Arbitrary End Code --
1522
weapon.Parent = char
1523
1524
while char:FindFirstChild("Silenced") ~= nil do
1525
script.CanCastAbilities.Value = false
1526
wait(2)
1527
script.CanCastAbilities.Value = true	
1528
end
1529
1530
while true do -- stun
1531
if char:FindFirstChild("Stunned") ~= nil then do
1532
defWS = 0; hume.JumpPower = 0 ;active = true
1533
local stuntext = coroutine.wrap(function()
1534
			local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
1535
			local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
1536
			local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
1537
			t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
1538
t.Text = "Stunned!"
1539
t.TextColor3=c3(255,255,0)
1540
t.TextStrokeColor3=BrickColor.new("Really black").Color	
1541
local s=Instance.new("Sound", char.Torso)
1542
s.SoundId="rbxassetid://2801263"
1543
s.Volume = 1
1544
s.Pitch = 1.15
1545
s:Play()
1546
game:GetService("Debris"):AddItem(s,1)
1547
game:GetService("Debris"):AddItem(p,1.45)
1548
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
1549
end)
1550
stuntext()
1551
local t = 110
1552
for i = 1, t do swait()
1553
hw.C0 = hw.C0:lerp(stunned.head, i/t)
1554
tw.C1 = tw.C1:lerp(stunned.tors , i/t)
1555
raw.C0 = raw.C0:lerp(stunned.rarm , i/t)
1556
law.C0 = law.C0:lerp(stunned.larm , i/t)
1557
grip.C1 = grip.C1:lerp(stunned.grip1 , i/t)
1558
1559
if not running then softoverride = true
1560
rlw.C0 = rlw.C0:lerp(stunned.rleg, i/t)
1561
llw.C0 = llw.C0:lerp(stunned.lleg, i/t)
1562
if not active then break end
1563
end 
1564
	
1565
end
1566
defWS = ogdefWS; hume.JumpPower = 50 ;active = false
1567
end
1568
end
1569
if char:FindFirstChild("Silenced") ~= nil then do
1570
script.CanCastAbilities.Value = false
1571
local siltext = coroutine.wrap(function()
1572
			local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
1573
			local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
1574
			local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
1575
			t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
1576
t.Text = "Silenced"
1577
t.TextColor3=BrickColor.new("Eggplant").Color
1578
t.TextStrokeColor3=BrickColor.new("Really black").Color	
1579
local s=Instance.new("Sound", char.Torso)
1580
s.SoundId="rbxassetid://2785493"
1581
s.Volume = 1
1582
s.Pitch = 1.2
1583
s:Play()
1584
game:GetService("Debris"):AddItem(s,1)
1585
game:GetService("Debris"):AddItem(p,1.45)
1586
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
1587
end)
1588
siltext()
1589
wait(2.15)
1590
script.CanCastAbilities.Value = true	
1591
end end
1592
if char:FindFirstChild("Slowed") ~= nil then do
1593
defWS = defWS - 7
1594
local siltext = coroutine.wrap(function()
1595
			local p=Instance.new("Part",workspace);p.CanCollide=false;p.Transparency=1;p.Size=Vector3.new(.2,.2,.2);p.CFrame=char.Torso.CFrame+Vector3.new(math.random(-1,1),math.random(1,2),math.random(-1,1));p.Anchored = true
1596
			local g=Instance.new("BillboardGui",p);g.Size=UDim2.new(2.5,0,2.5,0);g.Adornee=p;g.AlwaysOnTop=true
1597
			local t=Instance.new("TextLabel",g);t.BackgroundTransparency=1;t.TextStrokeTransparency=0;t.Size=UDim2.new(1,0,1,0);t.TextScaled=true;t.Font= Enum.Font.Fantasy
1598
			t:TweenPosition(UDim2.new(0,0,-1,0),'Out','Sine',1.25)
1599
t.Text = "Slowed"
1600
t.TextColor3=BrickColor.new("Ghost grey").Color
1601
t.TextStrokeColor3=BrickColor.new("Really black").Color	
1602
local s=Instance.new("Sound", char.Torso)
1603
s.SoundId="rbxassetid://2785493"
1604
s.Volume = 1
1605
s.Pitch = .8
1606
s:Play()
1607
game:GetService("Debris"):AddItem(s,1)
1608
game:GetService("Debris"):AddItem(p,1.45)
1609
spawn(function() for i = 0,1,.1 do t.TextTransparency=i;t.TextStrokeTransparency=i;wait(.1);end end)
1610
end)
1611
siltext()
1612
wait(2.15)
1613
defWS = defWS + 7
1614
end end
1615
swait()
1616
end
1617
1618
1619
-- script made by Huge_Nazo
1620
-- gime credit if u use this idc if u do just at least when u go to show say someone cool made it