View difference between Paste ID: 5PYnzVEd and db2HmW53
SHOW: | | - or go back to the newest paste.
1-
--[[ World eater Script ]]--
1+
if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
2-
--[[ Declarations ]]--
2+
print("FE Compatibility: by WaverlyCole & Mokiros")
3
InternalData = {}
4
do
5
    script.Parent = owner.Character
6
    local Event = Instance.new("RemoteEvent")
7
    Event.Name = "UserInput"
8
    local function NewFakeEvent()
9
        local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
10
        return Fake
11
    end
12
    local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
13
    local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
14
    local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
15
        self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
16
    end};ContextActionService.UnBindAction = ContextActionService.BindAction
17
    local function TriggerEvent(self,Event,...)
18
        local Trigger = Mouse[Event]
19
        if Trigger and Trigger.fakeEvent and Trigger.Function then
20
            Trigger.Function(...)
21
        end
22
    end
23
    Mouse.TrigEvent = TriggerEvent
24
    UserInputService.TrigEvent = TriggerEvent
25
    Event.OnServerEvent:Connect(function(FiredBy,Input)
26
        if FiredBy.Name ~= owner.Name then end
27
        if Input.MouseEvent then
28
            Mouse.Target = Input.Target
29
            Mouse.Hit = Input.Hit
30
        else
31
            local Begin = Input.UserInputState == Enum.UserInputState.Begin
32
            if Input.UserInputType == Enum.UserInputType.MouseButton1 then
33
                return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
34
            end
35
            for _,Action in pairs(ContextActionService.Actions) do
36
                for _,Key in pairs(Action.Keys) do
37
                    if Key==Input.KeyCode then
38
                        Action.Function(Action.Name,Input.UserInputState,Input)
39
                    end
40
                end
41
            end
42
            Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
43
            UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
44
        end
45
    end)
46
    InternalData["Mouse"] = Mouse
47
    InternalData["ContextActionService"] = ContextActionService
48
    InternalData["UserInputService"] = UserInputService
49
    Event.Parent = NLS([[
50
        local Player = owner
51
        local Event = script:WaitForChild("UserInput")
52
        local UserInputService = game:GetService("UserInputService")
53
        local Mouse = Player:GetMouse()
54
        local Input = function(Input,gameProcessedEvent)
55
            if gameProcessedEvent then return end
56
            Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
57
        end
58
        UserInputService.InputBegan:Connect(Input)
59
        UserInputService.InputEnded:Connect(Input)
60
        local Hit,Target
61
        while wait(1/30) do
62
            if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
63
                Hit,Target = Mouse.Hit,Mouse.Target
64
                Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
65
            end
66
        end
67
    ]],owner.Character)
68
end
69
RealGame = game;game = setmetatable({},{
70
    __index = function (self,Index)
71
        local Sandbox = function (Thing)
72
            if Thing:IsA("Player") then
73
                local RealPlayer = Thing
74
                return setmetatable({},{
75
                    __index = function (self,Index)
76
                        local Type = type(RealPlayer[Index])
77
                        if Type == "function" then
78
                            if Index:lower() == "getmouse" or Index:lower() == "mouse" then
79
                                return function (self)
80
                                    return InternalData["Mouse"]
81
                                end
82
                            end
83
                            return function (self,...)
84
                                return RealPlayer[Index](RealPlayer,...)
85
                            end
86
                        else
87
                            return RealPlayer[Index]
88
                        end
89
                    end;
90
                    __tostring = function(self)
91
                        return RealPlayer.Name
92
                    end
93
                })
94
            end
95
        end
96
        if RealGame[Index] then
97
            local Type = type(RealGame[Index])
98
            if Type == "function" then
99
                if Index:lower() == "getservice" or Index:lower() == "service" then
100
                    return function (self,Service)
101
                        if Service:lower() == "players" then
102
                            return setmetatable({},{
103
                                __index = function (self2,Index2)
104
                                    local RealService = RealGame:GetService(Service)
105
                                    local Type2 = type(Index2)
106
                                    if Type2 == "function" then
107
                                        return function (self,...)
108
                                            return RealService[Index2](RealService,...)
109
                                        end
110
                                    else
111
                                        if Index2:lower() == "localplayer" then
112
                                            return Sandbox(owner)
113
                                        end
114
                                        return RealService[Index2]
115
                                    end
116
                                end;
117
                                __tostring = function(self)
118
                                    return RealGame:GetService(Service).Name
119
                                end
120
                            })
121
                        elseif Service:lower() == "contextactionservice" then
122
                            return InternalData["ContextActionService"]
123
                        elseif Service:lower() == "contextactionservice" then
124
                            return InternalData["UserInputService"]
125
                        elseif Service:lower() == "runservice" then
126
                            return setmetatable({},{
127
                                __index = function(self2,Index2)
128
                                    local RealService = RealGame:GetService(Service)
129
                                    local Type2 = type(Index2)
130
                                    if Type2 == "function" then
131
                                        return function (self,...)
132
                                            return RealService[Index2](RealService,...)
133
                                        end
134
                                    else
135
                                        if Index2:lower() == "bindtorenderstep" then
136
                                            return function (self,Name,Priority,Function)
137
                                                return RealGame:GetService("RunService").Stepped:Connect(Function)
138
                                            end
139
                                        end
140
                                        if Index2:lower() == "renderstepped" then
141
                                            return RealService["Stepped"]
142
                                        end
143
                                        return RealService[Index2]
144
                                    end
145
                                end
146
                            })
147
                        else
148
                            return RealGame:GetService(Service)
149
                        end
150
                    end
151
                end
152
                return function (self,...)
153
                    return RealGame[Index](RealGame,...)
154
                end
155
            else
156
                if game:GetService(Index) then
157
                    return game:GetService(Index)
158
                end
159
                return RealGame[Index]
160
            end
161
        else
162
            return nil
163
        end
164
    end
165
});Game = game;owner = game:GetService("Players").LocalPlayer
166
print("Complete! Running... Created by ??? ( i dont know )")
167
168
169
170
wait(.0000000000000000000001)
171
local Player = game:GetService("Players").LocalPlayer
172
local Character = Player.Character
173
local Head = Character.Head
174
local Torso = Character.Torso
175
local Right_Arm = Character["Right Arm"]
176
local Right_Leg = Character["Right Leg"]
177
local Left_Arm = Character["Left Arm"]
178
local Left_Leg = Character["Left Leg"]
179
local Humanoid = Character.Humanoid
180
local Animation = "Idle"
181
local Mouse = Player:GetMouse()
182
local LeftShoulder = Torso["Left Shoulder"] 
183
local Left_Hip = Torso["Left Hip"] 
184
local RightShoulder = Torso["Right Shoulder"] 
185
local Right_Hip = Torso["Right Hip"] 
186
local Root = Character.HumanoidRootPart
187
local RootJoint = Root.RootJoint
188
local Attacking = false
189
local CanAttack = true
190
local Anim = "Idle"
191
local Combo = 1 
192
local Blocking = false
193
local MaxDestruction = 1000
194
local Destruction = 0
195
local MaxBlock = 100
196
local Effects = {}
197
local Color = "Bright yellow"
198
local Invert = false
199
local Idle = 0
200
local Equipped = false
201
local Running = false
202
local Unseathed = false
203
local Shard = "None"
204
205
Humanoid.MaxHealth = 3000
206
Humanoid.Health = 3000
207
208
local WorldEaterTheme = Instance.new("Sound",Character)
209
WorldEaterTheme.Name = "WorldEaterTheme"
210
WorldEaterTheme.Looped = true
211
WorldEaterTheme.SoundId = "http://www.roblox.com/asset?id=149981769"
212
WorldEaterTheme:Play()
213
214
Left_Shoulder = Instance.new("Weld", Torso)
215
Left_Shoulder.Part0 = Torso
216
Left_Shoulder.Part1 = Left_Arm
217
Left_Shoulder.Name = "Left Shoulder"
218
Left_Shoulder.C0 = CFrame.new(-1.5,0,0)
219
220
Right_Shoulder = Instance.new("Weld", Torso)
221
Right_Shoulder.Part0 = Torso
222
Right_Shoulder.Part1 = Right_Arm
223
Right_Shoulder.Name = "Right Shoulder"
224
Right_Shoulder.C0 = CFrame.new(1.5,0,0)
225
226
LeftShoulder.Parent = nil
227
RightShoulder.Parent = nil
228
Humanoid.WalkSpeed = 10
229
230
local RootCFrame = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)
231
Necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
232
Necko2 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
233
Right_Hip_C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
234
Left_Hip_C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
235
236
237
Movemment = 1
238
Walk = 0
239
240
Animator = Humanoid.Animator
241
--Animate = Character.Animate
242
243
Animator.Parent = nil
244
--Animate.Parent = nil
245
246
local Services = {
247
248
SoundService = game:GetService("SoundService");
249
Players = game:GetService("Players");
250
Debris = game:GetService("Debris");
251
Workspace = game:GetService("Workspace");
252
Lighting = game:GetService("Lighting");
253
HttpService = game:GetService("HttpService");
254
InsertService = game:GetService("InsertService");
255
	
256
}
257
258
local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
259
ManaBarGUI.Name = "ManaBarGUI"
260
261
local ManaBarP1 = Instance.new("Frame", ManaBarGUI)
262
ManaBarP1.Name = "ManaBarPart1"
263
ManaBarP1.Size = UDim2.new(0,300,0,20)
264
ManaBarP1.Position = UDim2.new(0,350,0.1,0)
265
ManaBarP1.BackgroundColor3 = BrickColor.Black().Color
266
267
local ManaBarP2 = Instance.new("Frame", ManaBarP1)
268
ManaBarP2.Name = "ManaBarPart2"
269
ManaBarP2.Size = UDim2.new(0,300,0,20)
270
ManaBarP2.Position = UDim2.new(0,0,0,0)
271
ManaBarP2.BackgroundColor3 = BrickColor.new("Black").Color
272
273
local ManaBarText = Instance.new("TextLabel", ManaBarP1)
274
ManaBarText.Name = "ManaBarText"
275
ManaBarText.Size = UDim2.new(0,300,0,20)
276
ManaBarText.Position = UDim2.new(0,0,-1.5,0)	
277
ManaBarText.TextScaled = true
278
ManaBarText.Text = "<{[ Destruction ]}> 0 <{[ Destruction ]}>"
279
ManaBarText.BackgroundTransparency = 1
280
ManaBarText.TextStrokeTransparency = 0
281
ManaBarText.TextStrokeColor3 = Color3.new(1,1,1)
282
ManaBarText.TextColor3 = Color3.new(0,0,0)
283
ManaBarText.Font = "Garamond"
284
285
local WorldEaterGui = Instance.new("BillboardGui", Head)
286
WorldEaterGui.ExtentsOffset = Vector3.new(0,5,0)
287
WorldEaterGui.Adornee = Head
288
WorldEaterGui.AlwaysOnTop = true
289
WorldEaterGui.Enabled = true
290
WorldEaterGui.Size = UDim2.new(0, 200,0, 50)
291
292
local WorldEaterText = Instance.new("TextLabel", WorldEaterGui)
293
WorldEaterText.BackgroundTransparency = 1
294
WorldEaterText.Font = "Garamond"
295
WorldEaterText.Size = UDim2.new(0, 200,0, 50)
296
WorldEaterText.TextStrokeColor3 = BrickColor.Red().Color
297
WorldEaterText.TextStrokeTransparency = 0
298
WorldEaterText.TextColor3 = BrickColor.Black().Color
299
WorldEaterText.TextScaled = true
300
WorldEaterText.Text = "World Eater"
301
302
--------[[ Mesh Ids ]]--------
303
304
SpikeMeshId = 1033714
305
SpikeBallId = 9982590
306
StarMeshId = 45428961
307
CrystalMeshId = 9756362
308
309
--[[ Essential Functions ]]--
310
function NoOutlines(Part)
311
		Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
312
end
313
	
314
315
local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
316
317
local Part = Instance.new("Part", Parent)
318
Part.Name = Name
319
Part.BrickColor = BrickColor.new(Color)
320
Part.Size = Size
321
Part.Material = Material
322
Part.Transparency = Transparency
323
Part.Shape = Shape
324
Part.CanCollide = false
325
NoOutlines(Part)
326
327
return Part
328
329
end
330
331
local CreateMesh = function(Parent, Scale, Shape)
332
333
334
local Mesh = Instance.new("BlockMesh", Parent)
335
Mesh.Scale = Scale
336
337
return Mesh
338
339
end
340
341
local CreateWedge = function(Parent, Name, Color, Size, Material, Transparency)
342
343
local WedgePart = Instance.new("WedgePart", Parent)
344
WedgePart.Name = Name
345
WedgePart.BrickColor = BrickColor.new(Color)
346
WedgePart.Size = Size
347
WedgePart.Material = Material
348
WedgePart.Transparency = Transparency
349
WedgePart.CanCollide = false
350
NoOutlines(WedgePart)
351
352
return WedgePart
353
354
end
355
356
local CreateWeld = function(Parent, Cframe, P1 , P0)
357
	
358
local Weld = Instance.new("Weld", Parent)
359
Weld.Part0 = P0
360
Weld.Part1 = P1
361
Weld.Name = P0.Name .. "To" .. P1.Name
362
Weld.C0 = Cframe
363
364
return Weld	
365
	
366
end
367
368
local CreateVelocity = function(Parent,Velocity,Force)
369
	
370
local BodyVelocity = Instance.new("BodyVelocity", Parent)
371
BodyVelocity.Velocity = Velocity
372
BodyVelocity.MaxForce = Force	
373
374
	
375
	
376
return BodyVelocity	
377
	
378
end
379
380
381
local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale)
382
383
384
local Part = Instance.new("Part", Parent)
385
Part.Name = Name
386
Part.BrickColor = BrickColor.new(Color)
387
Part.Size = Size
388
Part.Material = Material
389
Part.Transparency = Transparency
390
Part.CanCollide = false
391
NoOutlines(Part)
392
393
local Mesh = Instance.new("SpecialMesh", Part)
394
Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId
395
Mesh.Scale = Scale
396
397
return Mesh and Part
398
399
end
400
401
local MakeSFX = function(Parent, Id, Volume, Pitch, Type)
402
	
403
local SFX = Instance.new("Sound", Parent)
404
SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id
405
SFX.Name = "SFX"
406
SFX:Play()
407
SFX.Volume = Volume
408
SFX.Pitch = Pitch
409
SFX.PlayOnRemove = true
410
SFX:Remove()
411
	
412
if Type == "Echo" then
413
	
414
Instance.new("EchoSoundEffect", SFX)	
415
	
416
end	
417
	
418
end
419
420
local CreateSpike = function(Parent, Name, Color, Size, Material, Transparency, Scale)
421
422
423
local Part = Instance.new("Part", Parent)
424
Part.Name = Name
425
Part.BrickColor = BrickColor.new(Color)
426
Part.Size = Size
427
Part.Material = Material
428
Part.Transparency = Transparency
429
Part.CanCollide = false
430
NoOutlines(Part)
431
432
local Mesh = Instance.new("SpecialMesh", Part)
433
Mesh.MeshId = "http://www.roblox.com/asset?id=" .. SpikeMeshId
434
Mesh.Scale = Scale
435
436
return Mesh and Part
437
438
end
439
440
CircleEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
441
	
442
local Part = Instance.new("Part", Parent)
443
Part.Transparency = Transparency
444
Part.Name = "CircleEffect"
445
Part.Size = Vector3.new()
446
Part.Anchored = true
447
Part.CanCollide = false
448
Part.Position = Position
449
Part.BrickColor = BrickColor.new(Brickcolor)
450
Part.Material = Material
451
NoOutlines(Part)
452
453
local Mesh = Instance.new("SpecialMesh", Part)
454
Mesh.MeshType = "Sphere"
455
Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
456
457
Services.Debris:AddItem(Part, Time)
458
459
460
table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ})
461
462
463
end
464
465
BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
466
	
467
local Part = Instance.new("Part", Parent)
468
Part.Transparency = Transparency
469
Part.Name = "BlockEffect"
470
Part.Size = Vector3.new()
471
Part.Anchored = true
472
Part.Position = Position
473
Part.CanCollide = false
474
Part.BrickColor = BrickColor.new(Brickcolor)
475
Part.Material = Material
476
NoOutlines(Part)
477
478
local Mesh = Instance.new("BlockMesh", Part)
479
Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
480
481
Services.Debris:AddItem(Part, Time)
482
483
table.insert(Effects, {Part, "Block", Time, SX, SY, SZ})
484
485
486
end
487
488
--[[ Damage function ]]--
489
490
491
function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
492
	
493
local HitHumanoid = Hit.Parent.Humanoid
494
495
496
local Damage = math.random(Min, Max)
497
498
499
coroutine.resume(coroutine.create(function()
500
HitHumanoid:TakeDamage(Damage)
501
end))
502
	
503
if Type == "Shrink" then
504
MakeSFX(Hit.Parent.Torso, 209527235, 1, 1)	
505
for i,v in pairs(Hit.Parent:children()) do
506
if v:IsA("Part") then
507
coroutine.resume(coroutine.create(function()		
508
for i = 1,100 do
509
wait()	
510
v.Size = v.Size - Vector3.new(0.05,0.05,0.05)
511
v.Transparency = v.Transparency + 0.05
512
	
513
end		
514
end))
515
end	
516
end
517
	
518
end	
519
	
520
	
521
	
522
if Type == "Normal" then
523
	
524
local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
525
Services.Debris:AddItem(Push, 0)	
526
DamageLabel(Hit.Parent, Damage, Hit)
527
528
elseif Type == "Ranged" then
529
local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
530
Services.Debris:AddItem(Push, 0)	
531
DamageLabel(Hit.Parent, Damage, Hit)
532
533
elseif Type == "Impale" then
534
535
local Spike = CreateSpike(Services.Workspace, "D e a t h", "Black", Vector3.new(), "SmoothPlastic", 0, Vector3.new(1,20,1))	
536
Spike.Anchored = true
537
Spike.Rotation = Vector3.new(math.random(-50,50), 0 , math.random(-50,50))
538
Spike.Position = Hit.Parent.Torso.Position
539
540
541
Services.Debris:AddItem(Spike, 30)
542
543
Hit.Parent:BreakJoints()
544
Hit.Parent.Torso.Position = Spike.Position + Vector3.new(0,5,0)
545
Hit.Parent.Torso.Anchored = true
546
	
547
MakeSFX(Spike, 306247724, 1,1)	
548
MakeSFX(Hit.Parent.Torso, 209527175, 10,1)
549
elseif Type == "Knockdown" then
550
	
551
		
552
local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
553
DamageLabel(Hit.Parent, Damage, Hit)
554
Services.Debris:AddItem(Push, 0.3)
555
556
coroutine.resume(coroutine.create(function()
557
	
558
HitHumanoid.PlatformStand = true
559
wait(1)
560
HitHumanoid.PlatformStand = false	
561
	
562
	
563
end))	
564
end
565
566
if HitSFX == "Penetration" then
567
	
568
MakeSFX(Hit, 199149269, 1 , 1)
569
570
elseif HitSFX == "Punch" then
571
	
572
MakeSFX(Hit, 278062209, 1 , 1)
573
	
574
	
575
	
576
	
577
end
578
end
579
580
function DamageLabel(HitCharacter, DamageDealt, Hit)
581
	
582
local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Bright yellow", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block")
583
DamageShowingPart.Position = HitCharacter.Head.Position
584
585
local DamageGui = Instance.new("BillboardGui", DamageShowingPart)
586
DamageGui.Name = "Damage"
587
DamageGui.AlwaysOnTop = true
588
DamageGui.Size = UDim2.new(5, 0, 5, 0)
589
590
local DamageNumber = Instance.new("TextLabel", DamageGui)
591
DamageNumber.Size = UDim2.new(1,0,1,0)
592
if Hit.Parent:FindFirstChild("Head") then
593
DamageNumber.TextStrokeColor3 = Hit.Parent.Head.BrickColor.Color
594
DamageNumber.TextColor3 = Hit.BrickColor.Color
595
end
596
DamageNumber.TextStrokeTransparency = 0
597
DamageNumber.BackgroundTransparency = 1
598
DamageNumber.Font = "SourceSansBold"
599
DamageNumber.TextScaled = true
600
DamageNumber.Text = DamageDealt
601
	
602
local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
603
BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
604
BodyVelocity.Velocity = Vector3.new(0,2,0)	
605
	
606
Services.Debris:AddItem(DamageShowingPart, 3)
607
	
608
	
609
end 
610
611
function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback)
612
for _,WorkspaceChildren in pairs(workspace:children()) do
613
	
614
local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
615
616
if HitHumanoid ~= nil then
617
local Hit = WorkspaceChildren:findFirstChild("Torso")
618
619
if Hit ~= nil then
620
	
621
local Target = Hit.Position - Part.Position
622
623
local Magnitude = Target.magnitude
624
625
if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then
626
	
627
local HitBlock = Hit.Parent:FindFirstChild("Block")	
628
	
629
if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then
630
631
local HitBlock2 = Hit.Parent.Block.BlockDurability	
632
	
633
if HitBlock2.Value > 15 then
634
	
635
local HitN = math.random(1,5)
636
	
637
HitBlock2.Value = HitBlock2.Value - 15	
638
	
639
	
640
if HitN == 1 then
641
MakeSFX(Hit ,199148971, 0.5, 1)	
642
end
643
644
if HitN == 2 then
645
MakeSFX(Hit ,199149025, 0.5, 1)	
646
end
647
648
if HitN == 3 then
649
MakeSFX(Hit ,199149072, 0.5, 1)	
650
end
651
652
if HitN == 4 then
653
MakeSFX(Hit ,199149109, 0.5, 1)	
654
end
655
656
if HitN == 5 then
657
MakeSFX(Hit ,199149119, 0.5, 1)	
658
end
659
return
660
end	
661
end
662
663
DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
664
665
	
666
667
end
668
end
669
end
670
end
671
end
672
 
673
674
675
local Cloak = Instance.new("Part", Character)
676
Cloak.Name = "Cloak"
677
Cloak.CanCollide = false
678
Cloak.BrickColor = BrickColor.new("Institutional white")
679
680
local CloakMesh = Instance.new("SpecialMesh", Cloak)
681
CloakMesh.MeshId = "http://www.roblox.com/asset?id=16150814"
682
CloakMesh.TextureId = "http://www.roblox.com/asset?id=16150799"
683
684
local CloakWeld = CreateWeld(Cloak, CFrame.new(0,0,0) * CFrame.Angles(0,0,0), Head , Cloak, "ArkusToCharacter")
685
686
for i,v in pairs(Character:children()) do
687
if v:IsA("Accessory") then
688
	v:Remove()
689
elseif v:IsA("Shirt") then
690
	v:Remove()
691
elseif v:IsA("Pants") then
692
	v:Remove()	
693
elseif v:IsA("BodyColors") then
694
695
Head.BrickColor =BrickColor.new("Really black")
696
Torso.BrickColor = BrickColor.new("Really black")
697
Right_Arm.BrickColor = BrickColor.new("Really black")
698
Right_Leg.BrickColor = BrickColor.new("Really black")
699
Left_Arm.BrickColor = BrickColor.new("Really black")
700
Left_Leg.BrickColor = BrickColor.new("Really black")
701
702
v.HeadColor = BrickColor.new("Really black")
703
v.TorsoColor = BrickColor.new("Really black")
704
v.RightArmColor = BrickColor.new("Really black")
705
v.LeftArmColor = BrickColor.new("Really black")
706
v.RightLegColor = BrickColor.new("Really black")
707
v.LeftLegColor = BrickColor.new("Really black")
708
	
709
end	
710
end
711
712
713
714
--[[ CLerp Declarations ]]--
715
716
function clerp(a,b,t)
717
	local qa = {QuaternionFromCFrame(a)}
718
	local qb = {QuaternionFromCFrame(b)} 
719
	local ax, ay, az = a.x, a.y, a.z 
720
	local bx, by, bz = b.x, b.y, b.z
721
	local _t = 1-t
722
	return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) 
723
end 
724
 
725
function QuaternionFromCFrame(cf) -- dis one
726
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() 
727
	local trace = m00 + m11 + m22 
728
	if trace > 0 then 
729
		local s = math.sqrt(1 + trace) 
730
		local recip = 0.5/s 
731
		return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 
732
	else 
733
		local i = 0 
734
		if m11 > m00 then
735
			i = 1
736
		end
737
		if m22 > (i == 0 and m00 or m11) then 
738
			i = 2 
739
		end 
740
		if i == 0 then 
741
			local s = math.sqrt(m00-m11-m22+1) 
742
			local recip = 0.5/s 
743
			return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip 
744
		elseif i == 1 then 
745
			local s = math.sqrt(m11-m22-m00+1) 
746
			local recip = 0.5/s 
747
			return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip 
748
		elseif i == 2 then 
749
			local s = math.sqrt(m22-m00-m11+1) 
750
			local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip 
751
		end 
752
	end 
753
end
754
 
755
function QuaternionToCFrame(px, py, pz, x, y, z, w) 
756
	local xs, ys, zs = x + x, y + y, z + z 
757
	local wx, wy, wz = w*xs, w*ys, w*zs 
758
	local xx = x*xs 
759
	local xy = x*ys 
760
	local xz = x*zs 
761
	local yy = y*ys 
762
	local yz = y*zs 
763
	local zz = z*zs 
764
	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)) 
765
end
766
 
767
function QuaternionSlerp(a, b, t) 
768
	local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] 
769
	local startInterp, finishInterp; 
770
	if cosTheta >= 0.0001 then 
771
		if (1 - cosTheta) > 0.0001 then 
772
			local theta = math.acos(cosTheta) 
773
			local invSinTheta = 1/math.sin(theta) 
774
			startInterp = math.sin((1-t)*theta)*invSinTheta 
775
			finishInterp = math.sin(t*theta)*invSinTheta  
776
		else 
777
			startInterp = 1-t 
778
			finishInterp = t 
779
		end 
780
	else 
781
		if (1+cosTheta) > 0.0001 then 
782
			local theta = math.acos(-cosTheta) 
783
			local invSinTheta = 1/math.sin(theta) 
784
			startInterp = math.sin((t-1)*theta)*invSinTheta 
785
			finishInterp = math.sin(t*theta)*invSinTheta 
786
		else 
787
			startInterp = t-1 
788
			finishInterp = t 
789
		end 
790
	end 
791
	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 
792
end
793
794
function RayCast(Pos, Dir, Max, Ignore)
795
	return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) 
796
end 
797
798
799
function Bars()
800
	
801
--[[ Mana Bar ]]--	
802
if Destruction ~= MaxDestruction then
803
	
804
Destruction = Destruction + 1
805
806
end
807
808
if Destruction >= MaxDestruction then
809
	
810
Destruction = Destruction
811
	
812
end
813
814
815
ManaBarText.Text = "<{[ Destruction ]}> <|"..Destruction.."|> <{[ Destruction ]}>"
816
817
ManaBarP2.Size = UDim2.new(Destruction / Destruction,0,0,20)	
818
	
819
end
820
local EyeReference = CreatePart(Character, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
821
local EyeReferenceWeld = CreateWeld(EyeReference,  CFrame.new(0.15,-0.1,-0.7), EyeReference, Head)
822
823
coroutine.resume(coroutine.create(function()
824
	
825
while wait(3) do
826
827
	
828
CircleEffect(EyeReference.Position, Services.Workspace,  1, 1, 1, 1, 1, 1, 0.5, "Bright red", "Neon", 0.5)
829
	
830
	
831
end
832
	
833
end))
834
--[[ Attacks ]]--
835
836
function Attack1()
837
Attacking = true
838
MakeSFX(EyeReference, 341336274, 1,1)
839
wait(0.3)
840
local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
841
local ReferenceWeld = CreateWeld(Reference,  CFrame.new(0,0.5,-5), Reference, Root)
842
843
local Reference2 = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
844
local Reference2Weld = CreateWeld(Reference2,  CFrame.new(0,0.5,-2), Reference2, Root)
845
846
847
for i = 1,10 do
848
849
wait()
850
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.5)
851
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1.3),0.2)
852
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
853
Left_Shoulder.C0 = clerp(Left_Shoulder.C0,  CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0,0,-1.6), 0.4)
854
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0) * CFrame.Angles(0,1.6,0),0.3)
855
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0) * CFrame.Angles(0,-1.6,0),0.3) 
856
857
end
858
859
CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
860
wait(0.5)
861
CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
862
wait(0.5)
863
CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
864
wait(0.5)
865
CircleEffect(Reference2.Position, Services.Workspace,  50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
866
wait(0.5)
867
MakeSFX(Reference, 306247724, 1,1)	
868
CircleEffect(Reference.Position, Services.Workspace,  1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
869
ValidateDamage(Reference, 10 ,10 , 14, "Shrink", "Penetration", 5)
870
Attacking = false
871
end
872
873
function Attack2()
874
	
875
Attacking = true
876
Humanoid.WalkSpeed = 0
877
Humanoid.JumpPower = 0
878
879
880
for i = 1,25 do
881
wait()
882
883
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(-0.5,0,0),0.2)
884
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
885
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1, 1, 0) * CFrame.Angles(3.2,0,-0.6), 0.3)
886
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1, 1, 0) * CFrame.Angles(3.2,0,0.6), 0.3)
887
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
888
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
889
	
890
end
891
892
MakeSFX(Torso, 142070127, 1, 1)
893
ValidateDamage(Torso, 60 ,23, 26, "Knockdown", "Penetration", 15)
894
local Hit, Position = RayCast(Torso.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,100,Character)
895
if Hit ~= nil then
896
local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
897
Reference.Anchored = true
898
Reference.CFrame = CFrame.new(Position)
899
900
CircleEffect(Reference.Position, Services.Workspace,  1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
901
902
game:GetService("Debris"):AddItem(Reference,0.1)
903
for i=1,50 do
904
	
905
local Ground = CreatePart(Services.Workspace, "Ground", Hit.BrickColor.Color, Vector3.new(math.random(1,3), math.random(1,3), math.random(1,3)), Hit.Material, 0, "Block")
906
Ground.Anchored = true
907
Ground.CanCollide = true
908
Ground.CFrame = CFrame.new(Position) * CFrame.new(math.random(-30,30), 0, math.random(-30,30)) * CFrame.Angles(math.random(-50,50),math.random(-50,50), math.random(-50,50))
909
910
game:GetService("Debris"):AddItem(Ground,10)
911
912
end
913
end
914
	
915
for i = 1,25 do
916
wait()
917
918
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.5)
919
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
920
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
921
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
922
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
923
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
924
	
925
end
926
927
Attacking = false
928
Humanoid.WalkSpeed = 16
929
Humanoid.JumpPower = 50
930
	
931
	
932
	
933
end
934
935
936
function Attack3()
937
Humanoid.WalkSpeed = 0
938
Humanoid.JumpPower = 0
939
Attacking = true
940
wait(1)
941
MakeSFX(Torso, 341336274, 1, 1.2)
942
CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
943
wait(1)
944
MakeSFX(Torso, 341336274, 1, 1.2)
945
CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
946
wait(1)
947
MakeSFX(Torso, 341336274, 1, 1.2)
948
CircleEffect(Torso.Position, Services.Workspace,  1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
949
ValidateDamage(Torso, 60 ,0, 0, "Impale", "Penetration", 15)
950
Humanoid.WalkSpeed = 16
951
Humanoid.JumpPower = 50
952
Attacking = false
953
end
954
955
Mouse.Button1Down:connect(function()
956
if not Attacking then
957
if Combo == 1 then
958
959
Combo = 2
960
Attack1()
961
962
963
elseif Combo == 2 then
964
965
Attack2()
966
Combo = 3
967
968
elseif Combo == 3 then
969
	
970
Attack3()
971
Combo = 1
972
973
end	
974
end
975
end)
976
977
--[[ CLerp Animations ]]--
978
Change1 = 0
979
Change2 = 0
980
Change3 = 0
981
Change4 = 0
982
983
while true do
984
wait()
985
986
local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude 
987
local Velderp = Root.Velocity.y
988
HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character)	
989
990
Bars()
991
992
993
if Torvel < 1 and HitFloor ~= nil and Attacking == false then
994
Anim = "Idle"
995
	
996
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
997
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
998
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
999
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
1000
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
1001
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
1002
1003
end
1004
1005
1006
if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then
1007
Anim = "Walking"
1008
1009
if Invert == false then
1010
Change1 = Change1 + 0.1
1011
1012
elseif Invert == true then
1013
	
1014
Change1 = Change1 - 0.1
1015
1016
end
1017
1018
if Change1 > 0.5 then
1019
	
1020
Invert = true
1021
1022
elseif Change1 < -0.5 then
1023
1024
Invert  = false
1025
1026
end
1027
1028
if Attacking == false then
1029
1030
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
1031
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
1032
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -Change1) * CFrame.Angles(Change1,0,0), 0.3)
1033
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, Change1) * CFrame.Angles(-Change1,0,0), 0.3)
1034
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-Change1 / 4)*CFrame.Angles(Change1,1.6,0),0.2)
1035
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,Change1 / 4)*CFrame.Angles(-Change1,-1.6,0),0.2)
1036
1037
end
1038
end
1039
1040
if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then 
1041
Anim = "Jump"
1042
	
1043
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
1044
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
1045
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.2) * CFrame.Angles(-0.4,0,0.2), 0.3)
1046
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.2) * CFrame.Angles(-0.4,0,-0.2), 0.3)
1047
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
1048
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
1049
1050
end
1051
1052
if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then 
1053
Anim = "Fall"
1054
	
1055
RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
1056
Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
1057
Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -0.2) * CFrame.Angles(0.4,0,0.2), 0.3)
1058
Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, -0.2) * CFrame.Angles(0.4,0,-0.2), 0.3)
1059
Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
1060
Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
1061
1062
end
1063
1064
1065
if #Effects > 0 then
1066
for E = 1, #Effects do
1067
if Effects[E]~=nil then
1068
local Effect = Effects[E]
1069
1070
if Effect ~= nil then
1071
	
1072
local Part = Effect[1]
1073
local Mode = Effect[2]
1074
local Time = Effect[3]
1075
local SizeX = Effect[4]
1076
local SizeY = Effect[5]
1077
local SizeZ = Effect[6]
1078
1079
if Effect[1].Transparency <= 1 then
1080
if Effect[2] == "Block" then
1081
Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
1082
1083
Mesh = Effect[1]:FindFirstChild("Mesh")
1084
if Mesh ~= nil then
1085
Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
1086
end
1087
1088
elseif Effect[2] == "Circle" then
1089
	
1090
if Effect[1]:FindFirstChild("Mesh") ~= nil then
1091
Mesh=Effect[1].Mesh
1092
Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
1093
end
1094
1095
Effect[1].Transparency = Effect[1].Transparency + 0.05
1096
1097
else
1098
	
1099
Part.Parent=nil
1100
1101
table.remove(Effects, E)
1102
1103
end
1104
end
1105
end
1106
end
1107
end
1108
end
1109
end