View difference between Paste ID: WD8Davb0 and 2D8BA0MD
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
 
87
    local h,t
88
    --Give the server mouse data every second frame, but only if the values changed
89
    --If player is not moving their mouse, client won't fire events
90
    local HB = game:GetService("RunService").Heartbeat
91
    while true do
92
        if h~=Mouse.Hit or t~=Mouse.Target then
93
            h,t=Mouse.Hit,Mouse.Target
94
            Event:FireServer({isMouse=true,Target=t,Hit=h})
95
        end
96
        --Wait 2 frames
97
        for i=1,2 do
98
            HB:Wait()
99
        end
100
    end]==],script)
101
 
102
    ----Sandboxed game object that allows the usage of client-side methods and services
103
    --Real game object
104
    local RealGame = game
105
 
106
    --Metatable for fake service
107
    local FakeService_Metatable = {
108
        __index = function(self,k)
109
            local s = rawget(self,"_RealService")
110
            if s then
111
                return typeof(s[k])=="function"
112
                and function(_,...)return s[k](s,...)end or s[k]
113
            end
114
        end,
115
        __newindex = function(self,k,v)
116
            local s = rawget(self,"_RealService")
117
            if s then s[k]=v end
118
        end
119
    }
120
    local function FakeService(t,RealService)
121
        t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
122
        return setmetatable(t,FakeService_Metatable)
123
    end
124
 
125
    --Fake game object
126
    local FakeGame = {
127
        GetService = function(self,s)
128
            return rawget(self,s) or RealGame:GetService(s)
129
        end,
130
        Players = FakeService({
131
            LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
132
        },"Players"),
133
        UserInputService = FakeService(UIS,"UserInputService"),
134
        ContextActionService = FakeService(CAS,"ContextActionService"),
135
        RunService = FakeService({
136
            _btrs = {},
137
            RenderStepped = RealGame:GetService("RunService").Heartbeat,
138
            BindToRenderStep = function(self,name,_,fun)
139
                self._btrs[name] = self.Heartbeat:Connect(fun)
140
            end,
141
            UnbindFromRenderStep = function(self,name)
142
                self._btrs[name]:Disconnect()
143
            end,
144
        },"RunService")
145
    }
146
    rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
147
    FakeGame.service = FakeGame.GetService
148
    FakeService(FakeGame,game)
149
    --Changing owner to fake player object to support owner:GetMouse()
150
    game,owner = FakeGame,FakeGame.Players.LocalPlayer
151
end
152
-----------------------
153
--[[ Name : Inked Monster ]]--
154
-------------------------------------------------------
155
--A script By makhail07
156
157
--Discord Creterisk#2958 
158
159
--NOTE THIS SCRIPT WAS PURELY MADE FROM MY FUCKING IMAGINATION
160
--IF IT HAPPENS TO LOOK LIKE ANOTHER SCRIPT
161
--DONT CALL IT A FUCKING BOOTLEG THANK YOU AND ENJOY THE SCRIPT
162
--YOU FUCKING SKIDS,
163
--For Those who log/decompile this, If you sell or trade this,
164
--and I find out who you are, i will take massive action.
165
166
-------------------------------------------------------
167
168
local FavIDs = {
169
	340106355, --Nefl Crystals
170
	927529620, --Dimension
171
	876981900, --Fantasy
172
	398987889, --Ordinary Days
173
	1117396305, --Oh wait, it's you.
174
	885996042, --Action Winter Journey
175
	919231299, --Sprawling Idiot Effigy
176
	743466274, --Good Day Sunshine
177
	727411183, --Knife Fight
178
	1402748531, --The Earth Is Counting On You!
179
	595230126 --Robot Language
180
	}
181
182
183
184
--The reality of my life isn't real but a Universe -makhail07
185
wait(0.2)
186
local plr = game:service'Players'.LocalPlayer
187
print('Local User is '..plr.Name)
188
print('Inked Monster Loaded')
189
print('Wat')
190
local char = plr.Character
191
local hum = char.Humanoid
192
local hed = char.Head
193
local root = char.HumanoidRootPart
194
local rootj = root.RootJoint
195
local tors = char.Torso
196
local ra = char["Right Arm"]
197
local la = char["Left Arm"]
198
local rl = char["Right Leg"]
199
local ll = char["Left Leg"]
200
local neck = tors["Neck"]
201
local mouse = plr:GetMouse()
202
local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
203
local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
204
local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
205
local maincolor = BrickColor.new("Institutional white")
206
-------------------------------------------------------
207
--Start Whitelist and Invincibility--
208
-------------------------------------------------------	
209
ff = Instance.new("ForceField",char)
210
ff.Visible = false
211
hum.Name = "Base"
212
hum.MaxHealth = 1.0E298
213
hum.Health = 1.0E298
214
game:GetService("RunService"):BindToRenderStep("Bbae", 0, function()
215
  if hum.Health > 0.1 and hum.Health < 1.0E298 then
216
    hum.MaxHealth = 1.0E298
217
    hum.Health = 1.0E298
218
  end
219
end)
220
-------------------------------------------------------
221
--End Whitelist and Invincibility--
222
-------------------------------------------------------	
223
224
-------------------------------------------------------
225
--Start Good Stuff--
226
-------------------------------------------------------
227
cam = game.Workspace.CurrentCamera
228
CF = CFrame.new
229
angles = CFrame.Angles
230
attack = false
231
Euler = CFrame.fromEulerAnglesXYZ
232
Rad = math.rad
233
IT = Instance.new
234
BrickC = BrickColor.new
235
Cos = math.cos
236
Acos = math.acos
237
Sin = math.sin
238
Asin = math.asin
239
Abs = math.abs
240
Mrandom = math.random
241
Floor = math.floor
242
-------------------------------------------------------
243
--End Good Stuff--
244
-------------------------------------------------------
245
necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
246
RSH, LSH = nil, nil 
247
RW = Instance.new("Weld") 
248
LW = Instance.new("Weld")
249
RH = tors["Right Hip"]
250
LH = tors["Left Hip"]
251
RSH = tors["Right Shoulder"] 
252
LSH = tors["Left Shoulder"] 
253
RSH.Parent = nil 
254
LSH.Parent = nil 
255
RW.Name = "RW"
256
RW.Part0 = tors 
257
RW.C0 = CF(1.5, 0.5, 0)
258
RW.C1 = CF(0, 0.5, 0) 
259
RW.Part1 = ra
260
RW.Parent = tors 
261
LW.Name = "LW"
262
LW.Part0 = tors 
263
LW.C0 = CF(-1.5, 0.5, 0)
264
LW.C1 = CF(0, 0.5, 0) 
265
LW.Part1 = la
266
LW.Parent = tors
267
Effects = {}
268
-------------------------------------------------------
269
--Start HeartBeat--
270
-------------------------------------------------------
271
ArtificialHB = Instance.new("BindableEvent", script)
272
ArtificialHB.Name = "Heartbeat"
273
script:WaitForChild("Heartbeat")
274
275
frame = 1 / 60
276
tf = 0
277
allowframeloss = false
278
tossremainder = false
279
280
281
lastframe = tick()
282
script.Heartbeat:Fire()
283
284
285
game:GetService("RunService").Heartbeat:connect(function(s, p)
286
	tf = tf + s
287
	if tf >= frame then
288
		if allowframeloss then
289
			script.Heartbeat:Fire()
290
			lastframe = tick()
291
		else
292
			for i = 1, math.floor(tf / frame) do
293
				script.Heartbeat:Fire()
294
			end
295
			lastframe = tick()
296
		end
297
		if tossremainder then
298
			tf = 0
299
		else
300
			tf = tf - frame * math.floor(tf / frame)
301
		end
302
	end
303
end)
304
-------------------------------------------------------
305
--End HeartBeat--
306
-------------------------------------------------------
307
308
-------------------------------------------------------
309
--Start Important Functions--
310
-------------------------------------------------------
311
function swait(num)
312
	if num == 0 or num == nil then
313
		game:service("RunService").Stepped:wait(0)
314
	else
315
		for i = 0, num do
316
			game:service("RunService").Stepped:wait(0)
317
		end
318
	end
319
end
320
function thread(f)
321
	coroutine.resume(coroutine.create(f))
322
end
323
function clerp(a, b, t)
324
	local qa = {
325
		QuaternionFromCFrame(a)
326
	}
327
	local qb = {
328
		QuaternionFromCFrame(b)
329
	}
330
	local ax, ay, az = a.x, a.y, a.z
331
	local bx, by, bz = b.x, b.y, b.z
332
	local _t = 1 - t
333
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
334
end
335
function QuaternionFromCFrame(cf)
336
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
337
	local trace = m00 + m11 + m22
338
	if trace > 0 then
339
		local s = math.sqrt(1 + trace)
340
		local recip = 0.5 / s
341
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
342
	else
343
		local i = 0
344
		if m00 < m11 then
345
			i = 1
346
		end
347
		if m22 > (i == 0 and m00 or m11) then
348
			i = 2
349
		end
350
		if i == 0 then
351
			local s = math.sqrt(m00 - m11 - m22 + 1)
352
			local recip = 0.5 / s
353
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
354
		elseif i == 1 then
355
			local s = math.sqrt(m11 - m22 - m00 + 1)
356
			local recip = 0.5 / s
357
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
358
		elseif i == 2 then
359
			local s = math.sqrt(m22 - m00 - m11 + 1)
360
			local recip = 0.5 / s
361
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
362
		end
363
	end
364
end
365
function QuaternionToCFrame(px, py, pz, x, y, z, w)
366
	local xs, ys, zs = x + x, y + y, z + z
367
	local wx, wy, wz = w * xs, w * ys, w * zs
368
	local xx = x * xs
369
	local xy = x * ys
370
	local xz = x * zs
371
	local yy = y * ys
372
	local yz = y * zs
373
	local zz = z * zs
374
	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))
375
end
376
function QuaternionSlerp(a, b, t)
377
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
378
	local startInterp, finishInterp
379
	if cosTheta >= 1.0E-4 then
380
		if 1 - cosTheta > 1.0E-4 then
381
			local theta = math.acos(cosTheta)
382
			local invSinTheta = 1 / Sin(theta)
383
			startInterp = Sin((1 - t) * theta) * invSinTheta
384
			finishInterp = Sin(t * theta) * invSinTheta
385
		else
386
			startInterp = 1 - t
387
			finishInterp = t
388
		end
389
	elseif 1 + cosTheta > 1.0E-4 then
390
		local theta = math.acos(-cosTheta)
391
		local invSinTheta = 1 / Sin(theta)
392
		startInterp = Sin((t - 1) * theta) * invSinTheta
393
		finishInterp = Sin(t * theta) * invSinTheta
394
	else
395
		startInterp = t - 1
396
		finishInterp = t
397
	end
398
	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
399
end
400
function rayCast(Position, Direction, Range, Ignore)
401
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
402
end
403
local RbxUtility = LoadLibrary("RbxUtility")
404
local Create = RbxUtility.Create
405
406
-------------------------------------------------------
407
--Start Damage Function--
408
-------------------------------------------------------
409
function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
410
	if hit.Parent == nil then
411
		return
412
	end
413
	local h = hit.Parent:FindFirstChildOfClass("Humanoid")
414
	for _, v in pairs(hit.Parent:children()) do
415
		if v:IsA("Humanoid") then
416
			h = v
417
		end
418
	end
419
         if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
420
	
421
         hit.Parent:FindFirstChild("Head"):BreakJoints()
422
         end
423
424
	if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
425
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
426
			if hit.Parent.DebounceHit.Value == true then
427
				return
428
			end
429
		end
430
         if insta == true then
431
         hit.Parent:FindFirstChild("Head"):BreakJoints()
432
         end
433
		local c = Create("ObjectValue"){
434
			Name = "creator",
435
			Value = game:service("Players").LocalPlayer,
436
			Parent = h,
437
		}
438
		game:GetService("Debris"):AddItem(c, .5)
439
		if HitSound ~= nil and HitPitch ~= nil then
440
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch) 
441
		end
442
		local Damage = math.random(minim, maxim)
443
		local blocked = false
444
		local block = hit.Parent:findFirstChild("Block")
445
		if block ~= nil then
446
			if block.className == "IntValue" then
447
				if block.Value > 0 then
448
					blocked = true
449
					block.Value = block.Value - 1
450
					print(block.Value)
451
				end
452
			end
453
		end
454
		if blocked == false then
455
			h.Health = h.Health - Damage
456
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
457
		else
458
			h.Health = h.Health - (Damage / 2)
459
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
460
		end
461
		if Type == "Knockdown" then
462
			local hum = hit.Parent.Humanoid
463
			hum.PlatformStand = true
464
			coroutine.resume(coroutine.create(function(HHumanoid)
465
				swait(1)
466
				HHumanoid.PlatformStand = false
467
			end), hum)
468
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
469
			local bodvol = Create("BodyVelocity"){
470
				velocity = angle * knockback,
471
				P = 5000,
472
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
473
				Parent = hit,
474
			}
475
			local rl = Create("BodyAngularVelocity"){
476
				P = 3000,
477
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
478
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
479
				Parent = hit,
480
			}
481
			game:GetService("Debris"):AddItem(bodvol, .5)
482
			game:GetService("Debris"):AddItem(rl, .5)
483
		elseif Type == "Normal" then
484
			local vp = Create("BodyVelocity"){
485
				P = 500,
486
				maxForce = Vector3.new(math.huge, 0, math.huge),
487
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
488
			}
489
			if knockback > 0 then
490
				vp.Parent = hit.Parent.Torso
491
			end
492
			game:GetService("Debris"):AddItem(vp, .5)
493
		elseif Type == "Up" then
494
			local bodyVelocity = Create("BodyVelocity"){
495
				velocity = Vector3.new(0, 20, 0),
496
				P = 5000,
497
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
498
				Parent = hit,
499
			}
500
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
501
		elseif Type == "DarkUp" then
502
			coroutine.resume(coroutine.create(function()
503
				for i = 0, 1, 0.1 do
504
					swait()
505
					Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
506
				end
507
			end))
508
			local bodyVelocity = Create("BodyVelocity"){
509
				velocity = Vector3.new(0, 20, 0),
510
				P = 5000,
511
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
512
				Parent = hit,
513
			}
514
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
515
		elseif Type == "Snare" then
516
			local bp = Create("BodyPosition"){
517
				P = 2000,
518
				D = 100,
519
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
520
				position = hit.Parent.Torso.Position,
521
				Parent = hit.Parent.Torso,
522
			}
523
			game:GetService("Debris"):AddItem(bp, 1)
524
		elseif Type == "Freeze" then
525
			local BodPos = Create("BodyPosition"){
526
				P = 50000,
527
				D = 1000,
528
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
529
				position = hit.Parent.Torso.Position,
530
				Parent = hit.Parent.Torso,
531
			}
532
			local BodGy = Create("BodyGyro") {
533
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
534
				P = 20e+003,
535
				Parent = hit.Parent.Torso,
536
				cframe = hit.Parent.Torso.CFrame,
537
			}
538
			hit.Parent.Torso.Anchored = true
539
			coroutine.resume(coroutine.create(function(Part) 
540
				swait(1.5)
541
				Part.Anchored = false
542
			end), hit.Parent.Torso)
543
			game:GetService("Debris"):AddItem(BodPos, 3)
544
			game:GetService("Debris"):AddItem(BodGy, 3)
545
		end
546
		local debounce = Create("BoolValue"){
547
			Name = "DebounceHit",
548
			Parent = hit.Parent,
549
			Value = true,
550
		}
551
		game:GetService("Debris"):AddItem(debounce, Delay)
552
		c = Create("ObjectValue"){
553
			Name = "creator",
554
			Value = Player,
555
			Parent = h,
556
		}
557
		game:GetService("Debris"):AddItem(c, .5)
558
	end
559
end
560
-------------------------------------------------------
561
--End Damage Function--
562
-------------------------------------------------------
563
564
-------------------------------------------------------
565
--Start Damage Function Customization--
566
-------------------------------------------------------
567
function ShowDamage(Pos, Text, Time, Color)
568
	local Rate = (1 / 30)
569
	local Pos = (Pos or Vector3.new(0, 0, 0))
570
	local Text = (Text or "")
571
	local Time = (Time or 2)
572
	local Color = (Color or Color3.new(1, 0, 1))
573
	local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
574
	EffectPart.Anchored = true
575
	local BillboardGui = Create("BillboardGui"){
576
		Size = UDim2.new(3, 0, 3, 0),
577
		Adornee = EffectPart,
578
		Parent = EffectPart,
579
	}
580
	local TextLabel = Create("TextLabel"){
581
		BackgroundTransparency = 1,
582
		Size = UDim2.new(1, 0, 1, 0),
583
		Text = Text,
584
		Font = "Bodoni",
585
		TextColor3 = Color,
586
		TextScaled = true,
587
		TextStrokeColor3 = Color3.fromRGB(0,0,0),
588
		Parent = BillboardGui,
589
	}
590
	game.Debris:AddItem(EffectPart, (Time))
591
	EffectPart.Parent = game:GetService("Workspace")
592
	delay(0, function()
593
		local Frames = (Time / Rate)
594
		for Frame = 1, Frames do
595
			wait(Rate)
596
			local Percent = (Frame / Frames)
597
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
598
			TextLabel.TextTransparency = Percent
599
		end
600
		if EffectPart and EffectPart.Parent then
601
			EffectPart:Destroy()
602
		end
603
	end)
604
end
605
-------------------------------------------------------
606
--End Damage Function Customization--
607
-------------------------------------------------------
608
609
function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
610
  for _, c in pairs(workspace:children()) do
611
    local hum = c:findFirstChild("Humanoid")
612
    if hum ~= nil then
613
      local head = c:findFirstChild("Head")
614
      if head ~= nil then
615
        local targ = head.Position - Part.Position
616
        local mag = targ.magnitude
617
        if magni >= mag and c.Name ~= plr.Name then
618
          Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
619
        end
620
      end
621
    end
622
  end
623
end
624
625
626
CFuncs = {
627
	Part = {
628
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
629
			local Part = Create("Part")({
630
				Parent = Parent,
631
				Reflectance = Reflectance,
632
				Transparency = Transparency,
633
				CanCollide = false,
634
				Locked = true,
635
				BrickColor = BrickColor.new(tostring(BColor)),
636
				Name = Name,
637
				Size = Size,
638
				Material = Material
639
			})
640
			RemoveOutlines(Part)
641
			return Part
642
		end
643
	},
644
	Mesh = {
645
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
646
			local Msh = Create(Mesh)({
647
				Parent = Part,
648
				Offset = OffSet,
649
				Scale = Scale
650
			})
651
			if Mesh == "SpecialMesh" then
652
				Msh.MeshType = MeshType
653
				Msh.MeshId = MeshId
654
			end
655
			return Msh
656
		end
657
	},
658
	Mesh = {
659
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
660
			local Msh = Create(Mesh)({
661
				Parent = Part,
662
				Offset = OffSet,
663
				Scale = Scale
664
			})
665
			if Mesh == "SpecialMesh" then
666
				Msh.MeshType = MeshType
667
				Msh.MeshId = MeshId
668
			end
669
			return Msh
670
		end
671
	},
672
	Weld = {
673
		Create = function(Parent, Part0, Part1, C0, C1)
674
			local Weld = Create("Weld")({
675
				Parent = Parent,
676
				Part0 = Part0,
677
				Part1 = Part1,
678
				C0 = C0,
679
				C1 = C1
680
			})
681
			return Weld
682
		end
683
	},
684
	Sound = {
685
		Create = function(id, par, vol, pit)
686
			coroutine.resume(coroutine.create(function()
687
				local S = Create("Sound")({
688
					Volume = vol,
689
					Pitch = pit or 1,
690
					SoundId = id,
691
					Parent = par or workspace
692
				})
693
				wait()
694
				S:play()
695
				game:GetService("Debris"):AddItem(S, 6)
696
			end))
697
		end
698
	},
699
	ParticleEmitter = {
700
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
701
			local fp = Create("ParticleEmitter")({
702
				Parent = Parent,
703
				Color = ColorSequence.new(Color1, Color2),
704
				LightEmission = LightEmission,
705
				Size = Size,
706
				Texture = Texture,
707
				Transparency = Transparency,
708
				ZOffset = ZOffset,
709
				Acceleration = Accel,
710
				Drag = Drag,
711
				LockedToPart = LockedToPart,
712
				VelocityInheritance = VelocityInheritance,
713
				EmissionDirection = EmissionDirection,
714
				Enabled = Enabled,
715
				Lifetime = LifeTime,
716
				Rate = Rate,
717
				Rotation = Rotation,
718
				RotSpeed = RotSpeed,
719
				Speed = Speed,
720
				VelocitySpread = VelocitySpread
721
			})
722
			return fp
723
		end
724
	}
725
}
726
function RemoveOutlines(part)
727
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
728
end
729
function CreatePart1(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
730
	local Part = Create("Part")({
731
		formFactor = FormFactor,
732
		Parent = Parent,
733
		Reflectance = Reflectance,
734
		Transparency = Transparency,
735
		CanCollide = false,
736
		Locked = true,
737
		BrickColor = BrickColor.new(tostring(BColor)),
738
		Name = Name,
739
		Size = Size,
740
		Material = Material
741
	})
742
	RemoveOutlines(Part)
743
	return Part
744
end
745
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
746
	local NEWPART = IT("Part")
747
	NEWPART.formFactor = FORMFACTOR
748
	NEWPART.Reflectance = REFLECTANCE
749
	NEWPART.Transparency = TRANSPARENCY
750
	NEWPART.CanCollide = false
751
	NEWPART.Locked = true
752
	NEWPART.Anchored = true
753
	if ANCHOR == false then
754
		NEWPART.Anchored = false
755
	end
756
	NEWPART.BrickColor = BrickC(tostring(BRICKCOLOR))
757
	NEWPART.Name = NAME
758
	NEWPART.Size = SIZE
759
	NEWPART.Position = tors.Position
760
	NEWPART.Material = MATERIAL
761
	NEWPART:BreakJoints()
762
	NEWPART.Parent = PARENT
763
	return NEWPART
764
end
765
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
766
	local Msh = Create(Mesh)({
767
		Parent = Part,
768
		Offset = OffSet,
769
		Scale = Scale
770
	})
771
	if Mesh == "SpecialMesh" then
772
		Msh.MeshType = MeshType
773
		Msh.MeshId = MeshId
774
	end
775
	return Msh
776
end
777
function CreateWeld(Parent, Part0, Part1, C0, C1)
778
	local Weld = Create("Weld")({
779
		Parent = Parent,
780
		Part0 = Part0,
781
		Part1 = Part1,
782
		C0 = C0,
783
		C1 = C1
784
	})
785
	return Weld
786
end
787
788
789
-------------------------------------------------------
790
--Start Effect Function--
791
-------------------------------------------------------
792
EffectModel = Instance.new("Model", char)
793
Effects = {
794
  Block = {
795
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
796
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
797
      prt.Anchored = true
798
      prt.CFrame = cframe
799
      local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
800
      game:GetService("Debris"):AddItem(prt, 10)
801
      if Type == 1 or Type == nil then
802
        table.insert(Effects, {
803
          prt,
804
          "Block1",
805
          delay,
806
          x3,
807
          y3,
808
          z3,
809
          msh
810
        })
811
      elseif Type == 2 then
812
        table.insert(Effects, {
813
          prt,
814
          "Block2",
815
          delay,
816
          x3,
817
          y3,
818
          z3,
819
          msh
820
        })
821
      else
822
        table.insert(Effects, {
823
          prt,
824
          "Block3",
825
          delay,
826
          x3,
827
          y3,
828
          z3,
829
          msh
830
        })
831
      end
832
    end
833
  },
834
  Sphere = {
835
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
836
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
837
      prt.Anchored = true
838
      prt.CFrame = cframe
839
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
840
      game:GetService("Debris"):AddItem(prt, 10)
841
      table.insert(Effects, {
842
        prt,
843
        "Cylinder",
844
        delay,
845
        x3,
846
        y3,
847
        z3,
848
        msh
849
      })
850
    end
851
  },
852
  Cylinder = {
853
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
854
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
855
      prt.Anchored = true
856
      prt.CFrame = cframe
857
      local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
858
      game:GetService("Debris"):AddItem(prt, 10)
859
      table.insert(Effects, {
860
        prt,
861
        "Cylinder",
862
        delay,
863
        x3,
864
        y3,
865
        z3,
866
        msh
867
      })
868
    end
869
  },
870
  Wave = {
871
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
872
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
873
      prt.Anchored = true
874
      prt.CFrame = cframe
875
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
876
      game:GetService("Debris"):AddItem(prt, 10)
877
      table.insert(Effects, {
878
        prt,
879
        "Cylinder",
880
        delay,
881
        x3 / 60,
882
        y3 / 60,
883
        z3 / 60,
884
        msh
885
      })
886
    end
887
  },
888
  Ring = {
889
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
890
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
891
      prt.Anchored = true
892
      prt.CFrame = cframe
893
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
894
      game:GetService("Debris"):AddItem(prt, 10)
895
      table.insert(Effects, {
896
        prt,
897
        "Cylinder",
898
        delay,
899
        x3,
900
        y3,
901
        z3,
902
        msh
903
      })
904
    end
905
  },
906
  Break = {
907
    Create = function(brickcolor, cframe, x1, y1, z1)
908
      local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
909
      prt.Anchored = true
910
      prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
911
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
912
      local num = math.random(10, 50) / 1000
913
      game:GetService("Debris"):AddItem(prt, 10)
914
      table.insert(Effects, {
915
        prt,
916
        "Shatter",
917
        num,
918
        prt.CFrame,
919
        math.random() - math.random(),
920
        0,
921
        math.random(50, 100) / 100
922
      })
923
    end
924
  },
925
Spiral = {
926
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
927
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
928
      prt.Anchored = true
929
      prt.CFrame = cframe
930
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
931
      game:GetService("Debris"):AddItem(prt, 10)
932
      table.insert(Effects, {
933
        prt,
934
        "Cylinder",
935
        delay,
936
        x3,
937
        y3,
938
        z3,
939
        msh
940
      })
941
    end
942
  },
943
Push = {
944
    Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
945
      local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
946
      prt.Anchored = true
947
      prt.CFrame = cframe
948
      local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
949
      game:GetService("Debris"):AddItem(prt, 10)
950
      table.insert(Effects, {
951
        prt,
952
        "Cylinder",
953
        delay,
954
        x3,
955
        y3,
956
        z3,
957
        msh
958
      })
959
    end
960
  }
961
}
962
function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
963
	local fp = IT("Part")
964
	fp.formFactor = formfactor 
965
	fp.Parent = parent
966
	fp.Reflectance = reflectance
967
	fp.Transparency = transparency
968
	fp.CanCollide = false 
969
	fp.Locked = true
970
	fp.BrickColor = brickcolor
971
	fp.Name = name
972
	fp.Size = size
973
	fp.Position = tors.Position 
974
	RemoveOutlines(fp)
975
	fp.Material = "SmoothPlastic"
976
	fp:BreakJoints()
977
	return fp 
978
end 
979
 
980
function mesh(Mesh,part,meshtype,meshid,offset,scale)
981
	local mesh = IT(Mesh) 
982
	mesh.Parent = part
983
	if Mesh == "SpecialMesh" then
984
		mesh.MeshType = meshtype
985
	if meshid ~= "nil" then
986
		mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
987
		end
988
	end
989
	mesh.Offset = offset
990
	mesh.Scale = scale
991
	return mesh
992
end
993
994
function Magic(bonuspeed, type, pos, scale, value, color, MType)
995
	local type = type
996
	local rng = Instance.new("Part", char)
997
	rng.Anchored = true
998
	rng.BrickColor = color
999
	rng.CanCollide = false
1000
	rng.FormFactor = 3
1001
	rng.Name = "Ring"
1002
	rng.Material = "Neon"
1003
	rng.Size = Vector3.new(1, 1, 1)
1004
	rng.Transparency = 0
1005
	rng.TopSurface = 0
1006
	rng.BottomSurface = 0
1007
	rng.CFrame = pos
1008
	local rngm = Instance.new("SpecialMesh", rng)
1009
	rngm.MeshType = MType
1010
	rngm.Scale = scale
1011
	local scaler2 = 1
1012
	if type == "Add" then
1013
		scaler2 = 1 * value
1014
	elseif type == "Divide" then
1015
		scaler2 = 1 / value
1016
	end
1017
	coroutine.resume(coroutine.create(function()
1018
		for i = 0, 10 / bonuspeed, 0.1 do
1019
			swait()
1020
			if type == "Add" then
1021
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1022
			elseif type == "Divide" then
1023
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1024
			end
1025
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1026
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
1027
		end
1028
		rng:Destroy()
1029
	end))
1030
end
1031
1032
function Eviscerate(dude)
1033
	if dude.Name ~= char then
1034
		local bgf = IT("BodyGyro", dude.Head)
1035
		bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1036
		local val = IT("BoolValue", dude)
1037
		val.Name = "IsHit"
1038
		local ds = coroutine.wrap(function()
1039
			dude:WaitForChild("Head"):BreakJoints()
1040
			wait(0.5)
1041
			target = nil
1042
			coroutine.resume(coroutine.create(function()
1043
				for i, v in pairs(dude:GetChildren()) do
1044
					if v:IsA("Accessory") then
1045
						v:Destroy()
1046
					end
1047
					if v:IsA("Humanoid") then
1048
						v:Destroy()
1049
					end
1050
					if v:IsA("CharacterMesh") then
1051
						v:Destroy()
1052
					end
1053
					if v:IsA("Model") then
1054
						v:Destroy()
1055
					end
1056
					if v:IsA("Part") or v:IsA("MeshPart") then
1057
						for x, o in pairs(v:GetChildren()) do
1058
							if o:IsA("Decal") then
1059
								o:Destroy()
1060
							end
1061
						end
1062
						coroutine.resume(coroutine.create(function()
1063
							v.Material = "Neon"
1064
							v.CanCollide = false
1065
							local PartEmmit1 = IT("ParticleEmitter", v)
1066
							PartEmmit1.LightEmission = 1
1067
							PartEmmit1.Texture = "rbxassetid://284205403"
1068
							PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1069
							PartEmmit1.Rate = 150
1070
							PartEmmit1.Lifetime = NumberRange.new(1)
1071
							PartEmmit1.Size = NumberSequence.new({
1072
								NumberSequenceKeypoint.new(0, 0.75, 0),
1073
								NumberSequenceKeypoint.new(1, 0, 0)
1074
							})
1075
							PartEmmit1.Transparency = NumberSequence.new({
1076
								NumberSequenceKeypoint.new(0, 0, 0),
1077
								NumberSequenceKeypoint.new(1, 1, 0)
1078
							})
1079
							PartEmmit1.Speed = NumberRange.new(0, 0)
1080
							PartEmmit1.VelocitySpread = 30000
1081
							PartEmmit1.Rotation = NumberRange.new(-500, 500)
1082
							PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
1083
							local BodPoss = IT("BodyPosition", v)
1084
							BodPoss.P = 3000
1085
							BodPoss.D = 1000
1086
							BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1087
							BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1088
							v.Color = maincolor.Color
1089
							coroutine.resume(coroutine.create(function()
1090
								for i = 0, 49 do
1091
									swait(1)
1092
									v.Transparency = v.Transparency + 0.08
1093
								end
1094
								wait(0.5)
1095
								PartEmmit1.Enabled = false
1096
								wait(3)
1097
								v:Destroy()
1098
								dude:Destroy()
1099
							end))
1100
						end))
1101
					end
1102
				end
1103
			end))
1104
		end)
1105
		ds()
1106
	end
1107
end
1108
1109
function FindNearestHead(Position, Distance, SinglePlayer)
1110
	if SinglePlayer then
1111
		return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
1112
	end
1113
	local List = {}
1114
	for i, v in pairs(workspace:GetChildren()) do
1115
		if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
1116
			table.insert(List, v)
1117
		end
1118
	end
1119
	return List
1120
end
1121
1122
function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
1123
	local type = type
1124
	local rng = Instance.new("Part", char)
1125
	rng.Anchored = true
1126
	rng.BrickColor = color
1127
	rng.CanCollide = false
1128
	rng.FormFactor = 3
1129
	rng.Name = "Ring"
1130
	rng.Material = "Neon"
1131
	rng.Size = Vector3.new(1, 1, 1)
1132
	rng.Transparency = 0
1133
	rng.TopSurface = 0
1134
	rng.BottomSurface = 0
1135
	rng.CFrame = pos
1136
	rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
1137
	local rngm = Instance.new("SpecialMesh", rng)
1138
	rngm.MeshType = MType
1139
	rngm.Scale = Vector3.new(x1, y1, z1)
1140
	local scaler2 = 1
1141
	local speeder = FastSpeed
1142
	if type == "Add" then
1143
		scaler2 = 1 * value
1144
	elseif type == "Divide" then
1145
		scaler2 = 1 / value
1146
	end
1147
	coroutine.resume(coroutine.create(function()
1148
		for i = 0, 10 / bonuspeed, 0.1 do
1149
			swait()
1150
			if type == "Add" then
1151
				scaler2 = scaler2 - 0.01 * value / bonuspeed
1152
			elseif type == "Divide" then
1153
				scaler2 = scaler2 - 0.01 / value * bonuspeed
1154
			end
1155
			speeder = speeder - 0.01 * FastSpeed * bonuspeed
1156
			rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
1157
			rng.Transparency = rng.Transparency + 0.01 * bonuspeed
1158
			rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
1159
		end
1160
		rng:Destroy()
1161
	end))
1162
end
1163
1164
function SoulSteal(dude)
1165
if dude.Name ~= char then
1166
local bgf = IT("BodyGyro", dude.Head)
1167
bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
1168
local val = IT("BoolValue", dude)
1169
val.Name = "IsHit"
1170
local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
1171
local soulst = coroutine.wrap(function()
1172
local soul = Instance.new("Part",dude)
1173
soul.Size = Vector3.new(1,1,1)
1174
soul.CanCollide = false
1175
soul.Anchored = false
1176
soul.Position = torso.Position
1177
soul.Transparency = 1
1178
local PartEmmit1 = IT("ParticleEmitter", soul)
1179
PartEmmit1.LightEmission = 1
1180
PartEmmit1.Texture = "rbxassetid://569507414"
1181
PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1182
PartEmmit1.Rate = 250
1183
PartEmmit1.Lifetime = NumberRange.new(1.6)
1184
PartEmmit1.Size = NumberSequence.new({
1185
	NumberSequenceKeypoint.new(0, 1, 0),
1186
	NumberSequenceKeypoint.new(1, 0, 0)
1187
})
1188
PartEmmit1.Transparency = NumberSequence.new({
1189
	NumberSequenceKeypoint.new(0, 0, 0),
1190
	NumberSequenceKeypoint.new(1, 1, 0)
1191
})
1192
PartEmmit1.Speed = NumberRange.new(0, 0)
1193
PartEmmit1.VelocitySpread = 30000
1194
PartEmmit1.Rotation = NumberRange.new(-360, 360)
1195
PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
1196
local BodPoss = IT("BodyPosition", soul)
1197
BodPoss.P = 3000
1198
BodPoss.D = 1000
1199
BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
1200
BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
1201
wait(1.6)
1202
soul.Touched:connect(function(hit)
1203
	if hit.Parent == char then
1204
	soul:Destroy()
1205
	end
1206
end)
1207
wait(1.2)
1208
while soul do
1209
	swait()
1210
	PartEmmit1.Color = ColorSequence.new(maincolor.Color)
1211
	BodPoss.Position = tors.Position
1212
end
1213
end)
1214
	soulst()
1215
	end
1216
end
1217
function FaceMouse()
1218
local	Cam = workspace.CurrentCamera
1219
	return {
1220
		CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
1221
		Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
1222
	}
1223
end
1224
-------------------------------------------------------
1225
--End Effect Function--
1226
-------------------------------------------------------
1227
function Cso(ID, PARENT, VOLUME, PITCH)
1228
	local NSound = nil
1229
	coroutine.resume(coroutine.create(function()
1230
		NSound = IT("Sound", PARENT)
1231
		NSound.Volume = VOLUME
1232
		NSound.Pitch = PITCH
1233
		NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
1234
		swait()
1235
		NSound:play()
1236
		game:GetService("Debris"):AddItem(NSound, 10)
1237
	end))
1238
	return NSound
1239
end
1240
function CameraEnshaking(Length, Intensity)
1241
	coroutine.resume(coroutine.create(function()
1242
		local intensity = 1 * Intensity
1243
		local rotM = 0.01 * Intensity
1244
		for i = 0, Length, 0.1 do
1245
			swait()
1246
			intensity = intensity - 0.05 * Intensity / Length
1247
			rotM = rotM - 5.0E-4 * Intensity / Length
1248
			hum.CameraOffset = Vector3.new(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)))
1249
			cam.CFrame = cam.CFrame * CF(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity))) * Euler(Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM)
1250
		end
1251
		hum.CameraOffset = Vector3.new(0, 0, 0)
1252
	end))
1253
end
1254
1255
local Particle = IT("ParticleEmitter",nil)
1256
Particle.Enabled = false
1257
--Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
1258
Particle.LightEmission = 0.5
1259
Particle.Rate = 150
1260
Particle.ZOffset = 1
1261
Particle.Rotation = NumberRange.new(-180, 180)
1262
Particle.RotSpeed = NumberRange.new(-180, 180)
1263
Particle.Texture = "http://www.roblox.com/asset/?id=284205403"
1264
Particle.Color = ColorSequence.new(Color3.new(0,0,0),Color3.new(0,0,0))
1265
1266
function ParticleEmitter(Table)
1267
	local PRTCL = Particle:Clone()
1268
	local Speed = Table.Speed or 5
1269
	local Drag = Table.Drag or 0
1270
	local Size1 = Table.Size1 or 1
1271
	local Size2 = Table.Size2 or 5
1272
	local Lifetime1 = Table.Lifetime1 or 1
1273
	local Lifetime2 = Table.Lifetime2 or 1.5
1274
	local Parent = Table.Parent or tors
1275
	local Emit = Table.Emit or 100
1276
	local Offset = Table.Offset or 360
1277
	local Acel = Table.Acel or Vector3.new(0,-50,0)
1278
	local Enabled = Table.Enabled or false
1279
	PRTCL.Parent = Parent
1280
	PRTCL.Size = NumberSequence.new(Size1,Size2)
1281
	PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
1282
	PRTCL.Speed = NumberRange.new(Speed)
1283
	PRTCL.VelocitySpread = Offset
1284
	PRTCL.Drag = Drag
1285
	PRTCL.Acceleration = Acel
1286
	if Enabled == false then
1287
		PRTCL:Emit(Emit)
1288
		game:GetService("Debris"):AddItem(PRTCL,Lifetime2)
1289
	else
1290
		PRTCL.Enabled = true
1291
	end
1292
	return PRTCL
1293
end
1294
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 1.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = rl, Emit = 900, Offset = 360, Enabled = true})
1295
--PRT.LockedToPart = true
1296
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 1.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = ll, Emit = 900, Offset = 360, Enabled = true})
1297
--PRT.LockedToPart = true
1298
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 1.1, Size2 = 0.3, Lifetime1 = 0.3, Lifetime2 = 1.5, Parent = tors, Emit = 900, Offset = 360, Enabled = true})
1299
--PRT.LockedToPart = true
1300
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 1.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = ra, Emit = 900, Offset = 360, Enabled = true})
1301
--PRT.LockedToPart = true
1302
local PRT = ParticleEmitter({Speed = 0.3, Drag = 3, Size1 = 1.1, Size2 = 0.3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = la, Emit = 900, Offset = 360, Enabled = true})
1303
--PRT.LockedToPart = true
1304
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1305
	local NEWWELD = IT(TYPE)
1306
	NEWWELD.Part0 = PART0
1307
	NEWWELD.Part1 = PART1
1308
	NEWWELD.C0 = C0
1309
	NEWWELD.C1 = C1
1310
	NEWWELD.Parent = PARENT
1311
	return NEWWELD
1312
end
1313
1314
function MakeForm(PART,TYPE)
1315
	local MSH = nil
1316
	if TYPE == "Cyl" then
1317
		MSH = IT("CylinderMesh",PART)
1318
	elseif TYPE == "Ball" then
1319
		MSH = IT("SpecialMesh",PART)
1320
		MSH.MeshType = "Sphere"
1321
	elseif TYPE == "Wedge" then
1322
		MSH = IT("SpecialMesh",PART)
1323
		MSH.MeshType = "Wedge"
1324
	elseif TYPE == "Block" then
1325
		MSH = IT("SpecialMesh",PART)
1326
		MSH.MeshType = "Brick"
1327
	end
1328
	return MSH
1329
end
1330
1331
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1332
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1333
end
1334
1335
function Sink(position,radius)
1336
	for i,v in ipairs(workspace:GetChildren()) do
1337
	if v:FindFirstChild("Hit2By"..plr.Name) == nil then
1338
		local body = v:GetChildren()
1339
			for part = 1, #body do
1340
				if(v:FindFirstChild("Hit2By"..plr.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= char) then
1341
					if(body[part].Position - position).Magnitude < radius then
1342
						if v.ClassName == "Model" then
1343
							v:FindFirstChildOfClass("Humanoid").Name = "Humanoid"
1344
							if v:FindFirstChild("Humanoid") then
1345
								local defence = Instance.new("BoolValue",v)
1346
								defence.Name = ("Hit2By"..plr.Name)
1347
								if v.Humanoid.Health ~= 0 then
1348
									local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
1349
									if TORS ~= nil then
1350
										local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + Vector3.new(0, -1, 0))).lookVector, 25 * TORS.Size.Y/2, v)
1351
										coroutine.resume(coroutine.create(function()
1352
											if HITFLOOR2 ~= nil then
1353
												TORS.Anchored = true
1354
												local Hole2 = CreatePart(3, EffectModel, "Neon", 0, 0, "Really black", "Hole", Vector3.new(TORS.Size.X*4,0,TORS.Size.X*4))
1355
												Hole2.Color = Color3.new(0,0,0)
1356
												local MESH = MakeForm(Hole2,"Cyl")
1357
												MESH.Scale = Vector3.new(0,1,0)
1358
												Hole2.CFrame = CF(HITPOS2)
1359
												for i = 1, 10 do
1360
													swait()
1361
													MESH.Scale = MESH.Scale + Vector3.new(0.1,0,0.1)
1362
												end
1363
												--Cso("160440683", v:FindFirstChild("Head"), 10, .8)
1364
												Cso("154955269", v:FindFirstChild("Head"), 10, 1)
1365
												repeat
1366
													swait()
1367
													TORS.CFrame = TORS.CFrame * CF(0,-0.1,0)
1368
													--MESH.Scale = MESH.Scale + Vector3.new(0,1.6,0)
1369
												until TORS.Position.Y<position.Y-4
1370
												v:remove()
1371
												for i = 1, 10 do
1372
													swait()
1373
													MESH.Scale = MESH.Scale - Vector3.new(0.1,0,0.1)
1374
												end
1375
												Hole2:remove()
1376
											end
1377
										end))
1378
									end
1379
								end
1380
							end
1381
						end
1382
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
1383
					end
1384
				end
1385
			end
1386
		end	
1387
	end
1388
end
1389
function Trail(Part)
1390
	local TRAIL = Part:Clone()
1391
	TRAIL.CanCollide = false
1392
	TRAIL.Anchored = true
1393
	TRAIL.Parent = EffectModel
1394
	TRAIL.Name = "Trail"
1395
	local TRANS = Part.Transparency
1396
	coroutine.resume(coroutine.create(function()
1397
		for i = 1, 20 do
1398
			swait()
1399
			TRAIL.Transparency = TRAIL.Transparency + ((1-TRANS)/20)
1400
		end
1401
		TRAIL:remove()
1402
	end))
1403
end
1404
function getRegion(point,range,ignore)
1405
    return workspace:FindPartsInRegion3WithIgnoreList(Region3.new(point-Vector3.new(1,1,1)*range/2,point+Vector3.new(1,1,1)*range/2),ignore,100)
1406
end
1407
1408
function GetTorso(char)
1409
	return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
1410
end
1411
1412
local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
1413
1414
NewInstance = function(instance,parent,properties)
1415
	local inst = Instance.new(instance)
1416
	inst.Parent = parent
1417
	if(properties)then
1418
		for i,v in next, properties do
1419
			pcall(function() inst[i] = v end)
1420
		end
1421
	end
1422
	return inst;
1423
end
1424
1425
function Part(parent,color,material,size,cframe,anchored,cancollide)
1426
	local part = Instance.new("Part")
1427
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or Color3.new(0,0,0)
1428
	part.Material = material or Enum.Material.SmoothPlastic
1429
	part.TopSurface,part.BottomSurface=10,10
1430
	part.Size = size or Vector3.new(1,1,1)
1431
	part.CFrame = cframe or CF(0,0,0)
1432
	part.Anchored = anchored or true
1433
	part.CanCollide = cancollide or false
1434
	part.Parent = parent or char
1435
	return part
1436
end
1437
-------------------------------------------------------
1438
--End Important Functions--
1439
-------------------------------------------------------
1440
1441
1442
-------------------------------------------------------
1443
--Start Customization--
1444
-------------------------------------------------------
1445
local Player_Size = 1
1446
if Player_Size ~= 1 then
1447
root.Size = root.Size * Player_Size
1448
tors.Size = tors.Size * Player_Size
1449
hed.Size = hed.Size * Player_Size
1450
ra.Size = ra.Size * Player_Size
1451
la.Size = la.Size * Player_Size
1452
rl.Size = rl.Size * Player_Size
1453
ll.Size = ll.Size * Player_Size
1454
----------------------------------------------------------------------------------
1455
rootj.Parent = root
1456
neck.Parent = tors
1457
RW.Parent = tors
1458
LW.Parent = tors
1459
RH.Parent = tors
1460
LH.Parent = tors
1461
----------------------------------------------------------------------------------
1462
rootj.C0 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
1463
rootj.C1 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
1464
neck.C0 = necko * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(0))
1465
neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * angles(Rad(-90), Rad(0), Rad(180))
1466
RW.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* RIGHTSHOULDERC0
1467
LW.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* LEFTSHOULDERC0
1468
----------------------------------------------------------------------------------
1469
RH.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
1470
LH.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
1471
RH.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
1472
LH.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
1473
--hat.Parent = Character
1474
end
1475
----------------------------------------------------------------------------------
1476
local SONG = 660140936
1477
local SONG2 = 0
1478
local Music = Instance.new("Sound",tors)
1479
Music.Volume = 2.5
1480
Music.Looped = true
1481
Music.Pitch = 1 --Pitcher
1482
----------------------------------------------------------------------------------
1483
local equipped = false
1484
local idle = 0
1485
local change = 1
1486
local val = 0
1487
local toim = 0
1488
local idleanim = 0.4
1489
local sine = 0
1490
local Sit = 1
1491
local Mode = "Normal"
1492
----------------------------------------------------------------------------------
1493
hum.WalkSpeed = 16
1494
hum.JumpPower = 57
1495
--hum.Animator.Parent = nil
1496
----------------------------------------------------------------------------------
1497
local Hole = CreatePart(3, EffectModel, "Neon", 0, 0, "Really black", "Hole", Vector3.new(5,0,5))
1498
local MESH = MakeForm(Hole,"Cyl")
1499
local ROBLOXIDLEANIMATION = IT("Animation")
1500
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
1501
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
1502
local ANIMATOR = hum.Animator
1503
local ANIMATE = char.Animate
1504
-------------------------------------------------------
1505
--End Customization--
1506
-------------------------------------------------------
1507
1508
1509
-------------------------------------------------------
1510
--Start Attacks N Stuff--
1511
-------------------------------------------------------
1512
function InkyWarp()
1513
	attack = true
1514
	attack = true
1515
	hum.WalkSpeed = 0
1516
	root.Anchored = true
1517
	for i = 0, 4, 0.1 do
1518
		swait()
1519
		rootj.C0 = clerp(rootj.C0, RootCF * CF(0 - 0.04 * Sin(sine / 24) * Player_Size, 0 + 0.04 * Sin(sine / 12) * Player_Size, 0 + 0.05 * Player_Size * Cos(sine / 12)) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(0 - 2.5 * Sin(sine / 24)), Rad(0)), 0.15)
1520
		tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(25 - 6.5 * Cos(sine / 12)), Rad(0), Rad(20 * Cos(sine / 12))), 0.3)
1521
		RH.C0 = clerp(RH.C0, CF(1 * Player_Size, -1 * Player_Size + 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(84), Rad(0)) * angles(Rad(-6 - 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1522
		LH.C0 = clerp(LH.C0, CF(-1 * Player_Size, -1 * Player_Size - 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(-84), Rad(0)) * angles(Rad(-6 + 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1523
		RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(-6 + 4.5 * Sin(sine / 12)), Rad(25 + 2.5 * Sin(sine / 12)), Rad(25 + 4.5 * Sin(sine / 12))), 0.1)
1524
		LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(7 + 4.5 * Sin(sine / 12)), Rad(0 + 2.5 * Sin(sine / 12)), Rad(-13 - 4.5 * Sin(sine / 12))), 0.1)
1525
	end
1526
	for i = 0, 2, 0.1 do
1527
		swait()
1528
		rootj.C0 = clerp(rootj.C0, RootCF * CF(0 - 0.04 * Sin(sine / 24) * Player_Size, 0 + 0.04 * Sin(sine / 12) * Player_Size, -15 + 0.05 * Player_Size * Cos(sine / 12)) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(0 - 2.5 * Sin(sine / 24)), Rad(0)), 0.15)
1529
		tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(25 - 6.5 * Cos(sine / 12)), Rad(0), Rad(20 * Cos(sine / 12))), 0.3)
1530
		RH.C0 = clerp(RH.C0, CF(1 * Player_Size, -1 * Player_Size + 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(84), Rad(0)) * angles(Rad(-6 - 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1531
		LH.C0 = clerp(LH.C0, CF(-1 * Player_Size, -1 * Player_Size - 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(-84), Rad(0)) * angles(Rad(-6 + 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1532
		RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(-6 + 4.5 * Sin(sine / 12)), Rad(25 + 2.5 * Sin(sine / 12)), Rad(25 + 4.5 * Sin(sine / 12))), 0.1)
1533
		LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(7 + 4.5 * Sin(sine / 12)), Rad(0 + 2.5 * Sin(sine / 12)), Rad(-13 - 4.5 * Sin(sine / 12))), 0.1)
1534
	end
1535
	for i = 1, 50 do
1536
		swait()
1537
		Trail(Hole)
1538
		MESH.Scale = MESH.Scale - Vector3.new(0.02,0,0.02)
1539
	end
1540
	local ORIGINPOS = root.Position
1541
	root.CFrame = CF(Vector3.new(mouse.Hit.p.X,root.Position.Y,mouse.Hit.p.Z),ORIGINPOS)
1542
	Cso("154955269", tors, 10, .8)
1543
	for i = 1, 50 do
1544
		swait()
1545
		MESH.Scale = MESH.Scale + Vector3.new(0.02,0,0.02)
1546
	end
1547
	for i = 0, 4, 0.1 do
1548
		swait()
1549
		rootj.C0 = clerp(rootj.C0, RootCF * CF(0 - 0.04 * Sin(sine / 24) * Player_Size, 0 + 0.04 * Sin(sine / 12) * Player_Size, 0 + 0.05 * Player_Size * Cos(sine / 12)) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(0 - 2.5 * Sin(sine / 24)), Rad(0)), 0.15)
1550
		tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(25 - 6.5 * Cos(sine / 12)), Rad(0), Rad(20 * Cos(sine / 12))), 0.3)
1551
		RH.C0 = clerp(RH.C0, CF(1 * Player_Size, -1 * Player_Size + 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(84), Rad(0)) * angles(Rad(-6 - 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1552
		LH.C0 = clerp(LH.C0, CF(-1 * Player_Size, -1 * Player_Size - 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(-84), Rad(0)) * angles(Rad(-6 + 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1553
		RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(-6 + 4.5 * Sin(sine / 12)), Rad(25 + 2.5 * Sin(sine / 12)), Rad(25 + 4.5 * Sin(sine / 12))), 0.1)
1554
		LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(7 + 4.5 * Sin(sine / 12)), Rad(0 + 2.5 * Sin(sine / 12)), Rad(-13 - 4.5 * Sin(sine / 12))), 0.1)
1555
	end
1556
	attack = false
1557
	hum.WalkSpeed = 16
1558
	root.Anchored = false
1559
end
1560
1561
-------------------------------------------------------
1562
--End Attacks N Stuff--
1563
-------------------------------------------------------
1564
mouse.KeyDown:connect(function(key)
1565
	if attack == false then
1566
		if key == 'z' then
1567
			InkyWarp()
1568
		elseif key == 'p' and Mode == "Normal" then
1569
			Mode = "Chase"
1570
			SONG = 1634663187
1571
			hum.WalkSpeed = 28
1572
		elseif key == 'p' and Mode == "Chase" then
1573
			Mode = "Normal"
1574
			SONG = 660140936
1575
			hum.WalkSpeed = 16
1576
		end
1577
	end
1578
end)
1579
1580
 
1581
1582
1583
1584
1585
1586
1587
-------------------------------------------------------
1588
--Start Animations--
1589
-------------------------------------------------------
1590
print("By Makhail07")
1591
coroutine.resume(coroutine.create(function()
1592
	while wait() do
1593
	if hitfloor ~= nil then
1594
		Hole.CFrame = CF(posfloor)
1595
	end
1596
	Sink(Hole.Position, Hole.Size.X/2.2 * MESH.Scale.X)
1597
	Hole.Color = Color3.new(0,0,0)
1598
	Trail(Hole)
1599
	end
1600
end))
1601
while true do
1602
	swait()
1603
	sine = sine + change
1604
	ANIMATE.Parent = nil
1605
	local IDLEANIMATION = hum:LoadAnimation(ROBLOXIDLEANIMATION)
1606
	IDLEANIMATION:Play()
1607
	local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
1608
	local velderp = root.Velocity.y
1609
	hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4 * Player_Size, char)
1610
	if equipped == true or equipped == false then
1611
		if attack == false then
1612
			idle = idle + 1
1613
		else
1614
			idle = 0
1615
		end
1616
		if 1 < root.Velocity.y and hitfloor == nil then
1617
			Anim = "Jump"
1618
			if attack == false then
1619
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(-16), Rad(0), Rad(0)), 0.15)
1620
				neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(0 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
1621
				RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * RHCF * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
1622
				LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.9 - 0.1 * Cos(sine / 20), -.5* Player_Size) * LHCF * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
1623
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(13 + 4.5 * Sin(sine / 20))), 0.1)
1624
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
1625
			end
1626
		elseif -1 > root.Velocity.y and hitfloor == nil then
1627
			Anim = "Fall"
1628
			if attack == false then
1629
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(15), Rad(0), Rad(0)), 0.15)
1630
				neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
1631
				RH.C0 = clerp(RH.C0, CF(1* Player_Size, -1 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * RHCF * angles(Rad(-9.5), Rad(0), Rad(20)), 0.15)
1632
				LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.4 - 0.1 * Cos(sine / 20)* Player_Size, -.5* Player_Size) * LHCF * angles(Rad(-9.5), Rad(0), Rad(20)), 0.15)
1633
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(65), Rad(-.6), Rad(75 + 4.5 * Sin(sine / 20))), 0.1)
1634
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(55), Rad(-.6), Rad(-75 - 4.5 * Sin(sine / 20))), 0.1)
1635
			end
1636
		elseif torvel < 1 and hitfloor ~= nil then
1637
			Anim = "Idle"
1638
			change = 1
1639
			if attack == false then
1640
				if Mode == "Normal" then
1641
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0 - 0.04 * Sin(sine / 24) * Player_Size, 0 + 0.04 * Sin(sine / 12) * Player_Size, 0 + 0.05 * Player_Size * Cos(sine / 12)) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(0 - 2.5 * Sin(sine / 24)), Rad(0)), 0.15)
1642
				tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(25 - 6.5 * Cos(sine / 12)), Rad(0), Rad(20 * Cos(sine / 12))), 0.3)
1643
				RH.C0 = clerp(RH.C0, CF(1 * Player_Size, -1 * Player_Size + 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(84), Rad(0)) * angles(Rad(-6 - 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1644
				LH.C0 = clerp(LH.C0, CF(-1 * Player_Size, -1 * Player_Size - 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(-84), Rad(0)) * angles(Rad(-6 + 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1645
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(-6 + 4.5 * Sin(sine / 12)), Rad(25 + 2.5 * Sin(sine / 12)), Rad(25 + 4.5 * Sin(sine / 12))), 0.1)
1646
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(7 + 4.5 * Sin(sine / 12)), Rad(0 + 2.5 * Sin(sine / 12)), Rad(-13 - 4.5 * Sin(sine / 12))), 0.1)
1647
			elseif Mode == "Chase" then
1648
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0 - 0.04 * Sin(sine / 24) * Player_Size, 0 + 0.04 * Sin(sine / 12) * Player_Size, 0 + 0.05 * Player_Size * Cos(sine / 12)) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(0 - 2.5 * Sin(sine / 24)), Rad(0)), 0.15)
1649
				tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-6.5 * Cos(sine / 12)), Rad(10), Rad(0)), 0.3)
1650
				RH.C0 = clerp(RH.C0, CF(1 * Player_Size, -1 * Player_Size + 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(84), Rad(0)) * angles(Rad(-6 - 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1651
				LH.C0 = clerp(LH.C0, CF(-1 * Player_Size, -1 * Player_Size - 0.06 * Sin(sine / 24) - 0.05 * Player_Size * Cos(sine / 12), -0.01 * Player_Size) * angles(Rad(0 - 2.5 * Sin(sine / 12)), Rad(-84), Rad(0)) * angles(Rad(-6 + 2.5 * Sin(sine / 24)), Rad(0), Rad(0)), 0.15)
1652
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(-6 + 4.5 * Sin(sine / 12)), Rad(25 + 2.5 * Sin(sine / 12)), Rad(5)), 0.1)
1653
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.35 + 0.15 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(7 + 4.5 * Sin(sine / 12)), Rad(0 + 2.5 * Sin(sine / 12)), Rad(-5)), 0.1)
1654
				end
1655
			end
1656
		elseif (tors.Velocity).magnitude < 200 and hitfloor ~= nil then
1657
			Anim = "Walk"
1658
			change = 1.1
1659
			if attack == false then
1660
				if Mode == "Normal" then
1661
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.13 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(3 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(10 * Cos(sine / 7))), 0.15)
1662
				tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
1663
				RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.8 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.6 * Cos(sine / 7) / 2* Player_Size)  * angles(Rad(-10 - 25 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 15 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1664
         		LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.8 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-10 + 25 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 15 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1665
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(57)  * Cos(sine / 7) , Rad(10 * Cos(sine / 7)), Rad(10) - ra.RotVelocity.Y / 75), 0.1)
1666
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(-57)  * Cos(sine / 7) , Rad(10 * Cos(sine / 7)) ,	Rad(-10) + la.RotVelocity.Y / 75), 0.1)
1667
			elseif Mode == "Chase" then
1668
				rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.13 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(3 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(17 + 8 * Cos(sine / 7))), 0.15)
1669
				tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(-17) - hed.RotVelocity.Y / 15), 0.3)
1670
				RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.8 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.6 * Cos(sine / 7) / 2* Player_Size)  * angles(Rad(-15 - 5 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 15 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1671
         		LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.8 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 + 5 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 15 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
1672
				RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(90)  , Rad(10 * Cos(sine / 7)), Rad(28) - ra.RotVelocity.Y / 75), 0.1)
1673
				LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(-57)  * Cos(sine / 7) , Rad(10 * Cos(sine / 7)) ,	Rad(-10) + la.RotVelocity.Y / 75), 0.1)
1674
				end
1675
			end
1676
		end
1677
	end
1678
	for _, c in pairs(char:GetDescendants()) do
1679
		if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
1680
			c.Material = "Neon"
1681
			c.Color = Color3.new(0,0,0)
1682
			if c:FindFirstChildOfClass("SpecialMesh") then
1683
				c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
1684
			end
1685
			if c == hed then
1686
				if c:FindFirstChild("face") then
1687
					c.face:remove()
1688
				end
1689
			end
1690
		elseif c.ClassName == "Part" and c.Name == "Eye" then
1691
			c.Color = Color3.new(1,0,0)
1692
			c.Material = "Neon"
1693
		elseif c.ClassName == "CharacterMesh" or c.Name == "Body Colors" then
1694
			c:remove()
1695
		elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
1696
			c:remove()
1697
		end
1698
	end
1699
	Music.SoundId = "rbxassetid://"..SONG
1700
	Music.Looped = true
1701
	Music.Pitch = 1
1702
	Music.Volume = 5
1703
	Music.Parent = tors
1704
	Music:Resume()
1705
	if 0 < #Effects then
1706
		for e = 1, #Effects do
1707
			if Effects[e] ~= nil then
1708
				local Thing = Effects[e]
1709
				if Thing ~= nil then
1710
					local Part = Thing[1]
1711
					local Mode = Thing[2]
1712
					local Delay = Thing[3]
1713
					local IncX = Thing[4]
1714
					local IncY = Thing[5]
1715
					local IncZ = Thing[6]
1716
					if 1 >= Thing[1].Transparency then
1717
						if Thing[2] == "Block1" then
1718
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
1719
							local Mesh = Thing[1].Mesh
1720
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1721
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1722
						elseif Thing[2] == "Block2" then
1723
							Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
1724
							local Mesh = Thing[7]
1725
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1726
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1727
						elseif Thing[2] == "Block3" then
1728
							Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) + Vector3.new(0, 0.15, 0)
1729
							local Mesh = Thing[7]
1730
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1731
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1732
						elseif Thing[2] == "Cylinder" then
1733
							local Mesh = Thing[1].Mesh
1734
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1735
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1736
						elseif Thing[2] == "Blood" then
1737
							local Mesh = Thing[7]
1738
							Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
1739
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
1740
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1741
						elseif Thing[2] == "Elec" then
1742
							local Mesh = Thing[1].Mesh
1743
							Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
1744
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1745
						elseif Thing[2] == "Disappear" then
1746
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1747
						elseif Thing[2] == "Shatter" then
1748
							Thing[1].Transparency = Thing[1].Transparency + Thing[3]
1749
							Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
1750
							Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
1751
							Thing[6] = Thing[6] + Thing[5]
1752
						end
1753
					else
1754
						Part.Parent = nil
1755
						table.remove(Effects, e)
1756
					end
1757
				end
1758
			end
1759
		end
1760
	end
1761
end
1762
-------------------------------------------------------
1763
--End Animations And Script--
1764
-------------------------------------------------------