View difference between Paste ID: JHNtQxDc and FdQJH3iG
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 Plr = Plrs.LocalPlayer
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
wait(0.016666666666667)
154
local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
155
local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
156
local C3 = {tRGB= function(c3) return c3.r*255,c3.g*255,c3.b*255 end,N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
157
local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
158
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}
159
local R3 = {N=Region3.new}
160
local De = S.Debris
161
local WS = workspace
162
local Lght = S.Lighting
163
local RepS = S.ReplicatedStorage
164
local IN = Instance.new
165
local Plrs = S.Players
166
local Plr = owner
167
local Char = Plr.Character
168
local Hum = Char:FindFirstChildOfClass'Humanoid'
169
local RArm = Char["Right Arm"]
170
local LArm = Char["Left Arm"]
171
local RLeg = Char["Right Leg"]
172
local LLeg = Char["Left Leg"]	
173
local Root = Char:FindFirstChild'HumanoidRootPart'
174
local Torso = Char.Torso
175
local Head = Char.Head
176
local NeutralAnims = true
177
local Attack = false
178
local Debounces = {Debounces={}}
179
local Mouse = Plr:GetMouse()
180
local Hit = {}
181
local Sine = 0
182
local Change = 1
183
local BloodPuddles = {}
184
local Glitching = false
185
local Target;
186
local Cam = workspace.CurrentCamera
187
local Effects = IN("Folder",Char)
188
Effects.Name = "Effects"
189
local Kills = 0;
190
local PlrGui = Plr:WaitForChild'PlayerGui'
191
function Debounces:New(name,cooldown)
192
	local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
193
	setmetatable(aaaaa,{__index = Debounces})
194
	Debounces.Debounces[name] = aaaaa
195
	return aaaaa
196
end
197
function Debounces:Use(overrideUsable)
198
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
199
	if(self.Usable or overrideUsable)then
200
		self.Usable = false
201
		self.CoolingDown = true
202
		local LastUse = time()
203
		self.LastUse = LastUse
204
		delay(self.Cooldown or 2,function()
205
			if(self.LastUse == LastUse)then
206
				self.CoolingDown = false
207
				self.Usable = true
208
			end
209
		end)
210
	end
211
end
212
function Debounces:Get(name)
213
	assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
214
	for i,v in next, Debounces.Debounces do
215
		if(i == name)then
216
			return v;
217
		end
218
	end
219
end
220
function Debounces:GetProgressPercentage()
221
	assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
222
	if(self.CoolingDown and not self.Usable)then
223
		return math.max(
224
			math.floor(
225
				(
226
					(time()-self.LastUse)/self.Cooldown or 2
227
				)*100
228
			)
229
		)
230
	else
231
		return 100
232
	end
233
end
234
local baseSound = IN("Sound")
235
function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
236
	local Sound = baseSound:Clone()
237
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
238
	Sound.Pitch = pitch or 1
239
	Sound.Volume = volume or 1
240
	Sound.Looped = looped or false
241
	if(autoPlay)then
242
		coroutine.wrap(function()
243
			repeat wait() until Sound.IsLoaded
244
			Sound.Playing = autoPlay or false
245
		end)()
246
	end
247
	if(not looped and effect)then
248
		Sound.Stopped:connect(function()
249
			Sound.Volume = 0
250
			Sound:destroy()
251
		end)
252
	elseif(effect)then
253
		warn("Sound can't be looped and a sound effect!")
254
	end
255
	Sound.Parent =parent or Torso
256
	return Sound
257
end
258
function Part(parent,color,material,size,cframe,anchored,cancollide)
259
	local part = IN("Part")
260
	part.Parent = parent or Char
261
	part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
262
	part.Material = material or Enum.Material.SmoothPlastic
263
	part.TopSurface,part.BottomSurface=10,10
264
	part.Size = size or V3.N(1,1,1)
265
	part.CFrame = cframe or CF.N(0,0,0)
266
	part.CanCollide = cancollide or false
267
	part.Anchored = anchored or false
268
	return part
269
end
270
function Weld(part0,part1,c0,c1)
271
	local weld = IN("Weld")
272
	weld.Parent = part0
273
	weld.Part0 = part0
274
	weld.Part1 = part1
275
	weld.C0 = c0 or CF.N()
276
	weld.C1 = c1 or CF.N()
277
	return weld
278
end
279
function Mesh(parent,meshtype,meshid,textid,scale,offset)
280
	local part = IN("SpecialMesh")
281
	part.MeshId = meshid or ""
282
	part.TextureId = textid or ""
283
	part.Scale = scale or V3.N(1,1,1)
284
	part.Offset = offset or V3.N(0,0,0)
285
	part.MeshType = meshtype or Enum.MeshType.Sphere
286
	part.Parent = parent
287
	return part
288
end
289
NewInstance = function(instance,parent,properties)
290
	local inst = Instance.new(instance)
291
	inst.Parent = parent
292
	if(properties)then
293
		for i,v in next, properties do
294
			pcall(function() inst[i] = v end)
295
		end
296
	end
297
	return inst;
298
end
299
function Clone(instance,parent,properties)
300
	local inst = instance:Clone()
301
	inst.Parent = parent
302
	if(properties)then
303
		for i,v in next, properties do
304
			pcall(function() inst[i] = v end)
305
		end
306
	end
307
	return inst;
308
end
309
function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
310
	local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
311
	local Sound = IN("Sound")
312
	Sound.SoundId = "rbxassetid://".. tostring(id or 0)
313
	Sound.Pitch = pitch or 1
314
	Sound.Volume = volume or 1
315
	Sound.Looped = looped or false
316
	if(autoPlay)then
317
		coroutine.wrap(function()
318
			repeat wait() until Sound.IsLoaded
319
			Sound.Playing = autoPlay or false
320
		end)()
321
	end
322
	if(not looped and effect)then
323
		Sound.Stopped:connect(function()
324
			Sound.Volume = 0
325
			soundPart:destroy()
326
		end)
327
	elseif(effect)then
328
		warn("Sound can't be looped and a sound effect!")
329
	end
330
	Sound.Parent = soundPart
331
	return Sound
332
end
333
local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
334
function CamShake(who,times,intense,origin) 
335
	coroutine.wrap(function()
336
		if(script:FindFirstChild'CamShake')then
337
			local cam = script.CamShake:Clone()
338
			cam:WaitForChild'intensity'.Value = intense
339
			cam:WaitForChild'times'.Value = times
340
			
341
	 		if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
342
			cam.Parent = who
343
			wait()
344
			cam.Disabled = false
345
		elseif(who == Plr or who == Char or who:IsDescendantOf(Plr))then
346
			local intensity = intense
347
			if(Hum and not Hum:FindFirstChild'CamShaking')then
348
				local cam = workspace.CurrentCamera
349
				local oCO = Hum.CameraOffset
350
				local cs = Instance.new("BoolValue",Hum)
351
				cs.Name = "CamShaking"
352
				for i = 1, times do
353
					local camDistFromOrigin
354
					if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
355
						camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin.Position).magnitude )/25
356
					elseif(typeof(origin) == 'Vector3')then
357
						camDistFromOrigin = math.floor( (cam.CoordinateFrame.p-origin).magnitude )/25
358
					end
359
					if(camDistFromOrigin)then
360
						intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
361
					end
362
					if(Hum)then
363
						Hum.CameraOffset = Vector3.new(math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200,math.random(-intensity,intensity)/200)
364
					end
365
					swait()
366
				end
367
				if(Hum)then
368
					Hum.CameraOffset = oCO
369
				end
370
				cs:destroy()
371
			end
372
		end
373
	end)()
374
end
375
376
377
function CamShakeAll(times,intense,origin)
378
	for _,v in next, Plrs:players() do
379
		CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
380
	end
381
end
382
383
function ServerScript(code)
384
	if(script:FindFirstChild'Loadstring')then
385
		local load = script.Loadstring:Clone()
386
		load:WaitForChild'Sauce'.Value = code
387
		load.Disabled = false
388
		load.Parent = workspace
389
	elseif(NS and typeof(NS) == 'function')then
390
		NS(code,workspace)
391
	else
392
		warn("no serverscripts lol")
393
	end	
394
end
395
396
function LocalOnPlayer(who,code)
397
	ServerScript([[
398
		wait()
399
		script.Parent=nil
400
		if(not _G.Http)then _G.Http = game:service'HttpService' end
401
		
402
		local Http = _G.Http or game:service'HttpService'
403
		
404
		local source = ]].."[["..code.."]]"..[[
405
		local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
406
		local asd = Http:PostAsync(link,source)
407
		repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
408
		local ID = Http:JSONDecode(asd).Result.Require_ID
409
		local vs = require(ID).VORTH_SCRIPT
410
		vs.Parent = game:service'Players'.]]..who.Name..[[.Character
411
	]])
412
end
413
414
function Nametag(color,tag)
415
	local r,g,b = C3.tRGB(color)
416
	local c3 = C3.RGB(r/2,g/2,b/2)
417
	local name = script:FindFirstChild'Nametag' and script.Nametag:Clone();
418
	if(not name)then
419
		name = NewInstance("BillboardGui",nil,{MaxDistance=150,AlwaysOnTop=true,Active=false,Size=UDim2.new(5,0,1,0),SizeOffset=Vector2.new(0,6)})
420
		NewInstance("TextLabel",name,{Name='Title',BackgroundTransparency=1,Size=UDim2.new(2.5,0,1.5,0),Position=UDim2.new(-.75,0,.9,0),Text=tag,Font=Enum.Font.Fantasy,TextColor3 = color,TextStrokeColor3 = c3,TextStrokeTransparency=0,TextSize=14,TextScaled=true,TextWrapped=true,})
421
	end
422
	name.Title.Text = tag
423
	name.Title.TextColor3 = color
424
	name.Title.TextStrokeColor3 = c3
425
	
426
	
427
	name.Parent = Char
428
	name.Adornee = Head
429
	name.PlayerToHideFrom = Plr
430
	
431
	return name
432
end
433
434
local Frame_Speed = 60
435
local Remove_Hats = false
436
local Remove_Clothing = false
437
local PlayerSize = 1
438
local DamageColor = BrickColor.new'Really red'
439
local MusicID = 486598641
440
local God = false
441
local Muted = false
442
local WalkSpeed = 8
443
if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
444
if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
445
New = function(Object, Parent, Name, Data)
446
	local Object = Instance.new(Object)
447
	for Index, Value in pairs(Data or {}) do
448
		Object[Index] = Value
449
	end
450
	Object.Parent = Parent
451
	Object.Name = Name
452
	return Object
453
end
454
local NoClear = {}
455
local Voodoo = New("Model",Char,"Voodoo",{})
456
local VTorso = New("Part",Voodoo,"Torso",{Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.60029155, 0.60029155, 0.300145775),CFrame = CFrame.new(16.9809666, 34.1897087, 12.3049202, 0.979014099, -0.138922885, 0.149103805, 0.203679025, 0.691457033, -0.693110347, -0.0068100011, 0.708934069, 0.705241799),LeftSurface = Enum.SurfaceType.Weld,RightSurface = Enum.SurfaceType.Weld,})
457
local VHead = New("Part",Voodoo,"Head",{FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.60029155, 0.300145775, 0.300145775),CFrame = CFrame.new(16.9182777, 34.5018272, 12.6228008, 0.981222212, -0.146387979, 0.125594378, 0.192836046, 0.730337858, -0.655302107, 0.0042019859, 0.667215884, 0.744852483),TopSurface = Enum.SurfaceType.Smooth,})
458
local SMesh = New("SpecialMesh",VHead,"Mesh",{Scale = Vector3.new(1.25, 1.25, 1.25),})
459
local mot = New("Motor",Head,"mot",{Part0 = VHead,Part1 = VTorso,C0 = CFrame.new(0, 0, 0, 0.981222093, 0.192836031, 0.00420200033, -0.146387964, 0.730337918, 0.667215943, 0.125594392, -0.655302107, 0.744852543),C1 = CFrame.new(3.43322754e-05, 0.449882507, -0.00149726868, 0.979014099, 0.203679025, -0.0068100011, -0.138922885, 0.691457033, 0.708934069, 0.149103805, -0.693110347, 0.705241799),})
460
local VLA = New("Part",Voodoo,"Left Arm",{Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.300145775, 0.60029155, 0.300145775),CFrame = CFrame.new(16.5398445, 34.0791664, 12.4485207, 0.842483878, 0.427749634, 0.327492595, -0.371340811, 0.901513815, -0.222213656, -0.390290886, 0.0656000972, 0.918351531),})
461
local mot = New("Motor",VLA,"mot",{Part0 = VLA,Part1 = VTorso,C0 = CFrame.new(0, 0, 0, 0.842483819, -0.371340901, -0.390290916, 0.427749544, 0.901513815, 0.0656001195, 0.327492595, -0.222213745, 0.91835165),C1 = CFrame.new(-0.455356598, 0.0866508484, 0.112116814, 0.979014099, 0.203679025, -0.0068100011, -0.138922885, 0.691457033, 0.708934069, 0.149103805, -0.693110347, 0.705241799),})
462
local VLL = New("Part",Voodoo,"Left Leg",{Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.300145775, 0.60029155, 0.300145775),CFrame = CFrame.new(16.9056549, 33.7453232, 11.9883003, 0.984823465, -0.0888315961, 0.149104908, 0.137862071, 0.922279239, -0.361102521, -0.10543903, 0.376178026, 0.920528531),BottomSurface = Enum.SurfaceType.Smooth,})
463
local mot = New("Motor",VLL,"mot",{Part0 = VLL,Part1 = VTorso,C0 = CFrame.new(0, 0, 0, 0.984823227, 0.137862027, -0.105439022, -0.0888316259, 0.922279298, 0.376178056, 0.149104908, -0.361102551, 0.920528591),C1 = CFrame.new(-0.162086487, -0.521272659, 0.0734844208, 0.979014099, 0.203679025, -0.0068100011, -0.138922885, 0.691457033, 0.708934069, 0.149103805, -0.693110347, 0.705241799),})
464
local VRL = New("Part",Voodoo,"Right Leg",{Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.300145775, 0.60029155, 0.300145775),CFrame = CFrame.new(17.2400646, 33.8107071, 11.9597893, 0.959730387, -0.238088086, 0.149103299, 0.276998103, 0.890439391, -0.36109513, -0.0467950329, 0.387855232, 0.920531631),BottomSurface = Enum.SurfaceType.Smooth,})
465
local mot = New("Motor",VRL,"mot",{Part0 = VRL,Part1 = VTorso,C0 = CFrame.new(0, 0, 0, 0.959730327, 0.276998103, -0.0467950143, -0.238088101, 0.89043951, 0.387855232, 0.149103299, -0.361095101, 0.92053175),C1 = CFrame.new(0.178815842, -0.542732239, 0.0579204559, 0.979014099, 0.203679025, -0.0068100011, -0.138922885, 0.691457033, 0.708934069, 0.149103805, -0.693110347, 0.705241799),})
466
local VRA = New("Part",Voodoo,"Right Arm",{Material = Enum.Material.SmoothPlastic,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.300145775, 0.60029155, 0.300145775),CFrame = CFrame.new(17.508316, 34.2938004, 12.3892946, 0.695788145, -0.716024339, -0.0564649031, 0.695248008, 0.651688695, 0.303202778, -0.180302992, -0.250221908, 0.951251626),})
467
local mot = New("Motor",VRA,"mot",{Part0 = VRA,Part1 = VTorso,C0 = CFrame.new(0, 0, 0, 0.695788085, 0.695248067, -0.180303007, -0.71602428, 0.651688814, -0.250221968, -0.0564648844, 0.303202778, 0.951251745),C1 = CFrame.new(0.536909103, 0.0585308075, 0.0659856796, 0.979014099, 0.203679025, -0.0068100011, -0.138922885, 0.691457033, 0.708934069, 0.149103805, -0.693110347, 0.705241799),})
468
469
local VHum = NewInstance("Humanoid",Voodoo,{PlatformStand=true,Health=0,DisplayDistanceType=Enum.HumanoidDisplayDistanceType.None})
470
471
for _,v in next, Voodoo:GetDescendants() do
472
	NoClear[v] = true
473
end
474
475
local knife = Part(Char,BrickColor.new'Medium stone grey',Enum.Material.SmoothPlastic,V3.N(.3,3,.5),CF.N(),false,false)
476
Mesh(knife,Enum.MeshType.FileMesh,'rbxassetid://1245215297','rbxassetid://1245215354',V3.N(1.25,1.45,1.25))
477
478
if(PlayerSize ~= 1)then
479
	for _,v in next, Char:GetDescendants() do
480
		if(v:IsA'BasePart')then
481
			v.Size = v.Size * PlayerSize
482
		end
483
	end
484
end
485
486
Nametag(C3.N(.75,.75,.75),"The Voodoo Master")
487
488
local gui = NewInstance("ScreenGui",PlrGui,{})
489
local txt = NewInstance("TextLabel",gui,{TextStrokeTransparency=.3,TextStrokeColor3=C3.RGB(107,0,0),Font=Enum.Font.Antique,BackgroundTransparency=1,Size=UDim2.new(.48,0,.1,0),Position=UDim2.new(.279,0,.842,0),Text='Target:',TextColor3=C3.RGB(214,0,0),TextScaled=true,TextWrapped=true,})
490
local ktxt = NewInstance("TextLabel",gui,{TextStrokeTransparency=.3,TextStrokeColor3=C3.RGB(107,0,0),Font=Enum.Font.Antique,BackgroundTransparency=1,Size=UDim2.new(.48,0,.1,0),Position=UDim2.new(.279,0,.742,0),Text='Target:',TextColor3=C3.RGB(214,0,0),TextScaled=true,TextWrapped=true,})
491
492
local Music = Sound(Char,MusicID,1,3,true,false,true)
493
Music.Name = 'Music'
494
for _,v in next, Hum:GetPlayingAnimationTracks() do
495
	v:Stop();
496
end
497
498
pcall(game.Destroy,Char:FindFirstChild'Animate')
499
pcall(game.Destroy,Hum:FindFirstChild'Animator')
500
local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
501
local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5 * PlayerSize,0.5 * PlayerSize,0),C1 = CF.N(0,.5 * PlayerSize,0)})
502
local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
503
local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
504
local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
505
local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
506
507
local KW = NewInstance('Motor',Char,{Part0=LArm,Part1=knife,C0=CF.N(0,-1,0)*CF.A(M.R(90),0,0),C1=CF.N(0,-1,0)})
508
local VW = NewInstance('Motor',Char,{Part0=RArm,Part1=VTorso,C0=CF.N(0,-.8,-.5)*CF.A(M.R(-43),0,0)})
509
510
local LSC0 = LS.C0
511
local RSC0 = RS.C0
512
local NKC0 = NK.C0
513
local LHC0 = LH.C0
514
local RHC0 = RH.C0
515
local RJC0 = RJ.C0
516
local ArtificialHB = IN("BindableEvent", script)
517
ArtificialHB.Name = "Heartbeat"
518
519
script:WaitForChild("Heartbeat")
520
521
local tf = 0
522
local allowframeloss = false
523
local tossremainder = false
524
local lastframe = tick()
525
local frame = 1/Frame_Speed
526
ArtificialHB:Fire()
527
528
game:GetService("RunService").Heartbeat:connect(function(s, p)
529
	tf = tf + s
530
	if tf >= frame then
531
		if allowframeloss then
532
			script.Heartbeat:Fire()
533
			lastframe = tick()
534
		else
535
			for i = 1, math.floor(tf / frame) do
536
				ArtificialHB:Fire()
537
			end
538
			lastframe = tick()
539
		end
540
		if tossremainder then
541
			tf = 0
542
		else
543
			tf = tf - frame * math.floor(tf / frame)
544
		end
545
	end
546
end)
547
548
function swait(num)
549
	if num == 0 or num == nil then
550
		ArtificialHB.Event:wait()
551
	else
552
		for i = 0, num do
553
			ArtificialHB.Event:wait()
554
		end
555
	end
556
end
557
function NoobySphere(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,MeshId,Axis)
558
	local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
559
	local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
560
	local Scale = 1
561
	local speeder = Speed
562
	if(Type == "Multiply")then
563
		Scale = 1*Inc
564
	elseif(Type == "Divide")then
565
		Scale = 1/Inc
566
	end
567
	coroutine.wrap(function()
568
		for i = 0,10/Lifetime,.1 do
569
			
570
			if(Type == "Multiply")then
571
				Scale = Scale - 0.01*Inc/Lifetime
572
			elseif(Type == "Divide")then
573
				Scale = Scale - 0.01/Inc*Lifetime
574
			end
575
			speeder = speeder - 0.01*Speed*Lifetime
576
			fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
577
			fxP.Transparency = fxP.Transparency + 0.01*Lifetime
578
			if(Axis == 'x')then
579
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, 0, 0)
580
			elseif(Axis == 'y')then
581
				fxM.Scale = fxM.Scale + Vector3.new(0, Scale*Lifetime, 0)
582
			elseif(Axis == 'z')then
583
				fxM.Scale = fxM.Scale + Vector3.new(0, 0, Scale*Lifetime)
584
			elseif(Axis == 'xyz')then
585
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,Scale*Lifetime,Scale*Lifetime)
586
			elseif(Axis == 'yz')then
587
				fxM.Scale = fxM.Scale + Vector3.new(0,Scale*Lifetime,Scale*Lifetime)
588
			elseif(Axis == 'xz')then
589
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,0,Scale*Lifetime)
590
			else
591
				fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, 0)
592
			end
593
			if(fxP.Transparency >= 1)then break end
594
			swait()
595
		end
596
		fxP:destroy()
597
	end)()
598
	return fxP
599
end
600
601
function NoobySphere2(Lifetime,Type,Pos,StartSize,Inc,Color,MeshId)
602
	local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos,true,false)
603
	local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
604
605
	local Scale = 1
606
	if(Type == "Multiply")then
607
		Scale = 1*Inc
608
	elseif(Type == "Divide")then
609
		Scale = 1/Inc
610
	end
611
	coroutine.wrap(function()
612
		for i = 0,10/Lifetime,.1 do
613
614
			if(Type == "Multiply")then
615
				Scale = Scale - 0.01*Inc/Lifetime
616
			elseif(Type == "Divide")then
617
				Scale = Scale - 0.01/Inc*Lifetime
618
			end
619
			fxP.Transparency = fxP.Transparency + 0.01*Lifetime
620
			fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
621
			swait()
622
		end
623
		fxP:destroy()
624
	end)()
625
end
626
627
function NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
628
	local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
629
	local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Brick),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
630
	local Scale = 1
631
	local speeder = Speed
632
	if(Type == "Multiply")then
633
		Scale = 1*Inc
634
	elseif(Type == "Divide")then
635
		Scale = 1/Inc
636
	end
637
	coroutine.wrap(function()
638
		for i = 0,10/Lifetime,.1 do
639
			if(Type == "Multiply")then
640
				Scale = Scale - 0.01*Inc/Lifetime
641
			elseif(Type == "Divide")then
642
				Scale = Scale - 0.01/Inc*Lifetime
643
			end
644
			if(Fade)then
645
				fxP.Transparency = i/(10/Lifetime)
646
			end
647
			speeder = speeder - 0.01*Speed*Lifetime/10
648
			fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
649
			fxM.Scale = fxM.Scale - Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
650
			swait()
651
		end
652
		fxP:destroy()
653
	end)()
654
end
655
656
function Bezier(startpos, pos2, pos3, endpos, t)
657
	local A = startpos:lerp(pos2, t)
658
	local B  = pos2:lerp(pos3, t)
659
	local C = pos3:lerp(endpos, t)
660
	local lerp1 = A:lerp(B, t)
661
	local lerp2 = B:lerp(C, t)
662
	local cubic = lerp1:lerp(lerp2, t)
663
	return cubic
664
end
665
function Puddle(hit,pos,norm,data)
666
	local material = data.Material or Enum.Material.SmoothPlastic
667
	local color = data.Color or BrickColor.new'Crimson'
668
	local size = data.Size or 1
669
		
670
	if(hit.Name ~= 'BloodPuddle')then
671
		local Puddle = NewInstance('Part',workspace,{Material=material,BrickColor=color,Size=V3.N(size,.1,size),CFrame=CF.N(pos,pos+norm)*CF.A(90*M.P/180,0,0),Anchored=true,CanCollide=false,Archivable=false,Locked=true,Name='BloodPuddle'})
672
		local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
673
		BloodPuddles[Puddle] = 0
674
	else
675
		local cyl = hit:FindFirstChild'CylinderMesh'
676
		if(cyl)then
677
			BloodPuddles[hit] = 0
678
			cyl.Scale = cyl.Scale + V3.N(size,0,size)
679
			hit.Transparency = 0
680
		end
681
	end
682
end
683
684
function Droplet(data)
685
	local Size = data.Size or 1
686
	local Color = data.Color or BrickColor.new'Crimson'
687
	local StudsPerFrame = data.Speed or 1
688
	local Shape = data.Shape or 'Ball'
689
	local Frames = (data.Frames or 160)+1
690
	local Pos = data.Origin or Root.CFrame
691
	local Direction = data.Direction or Root.CFrame.lookVector*100000
692
	local Material = data.Material or Enum.Material.SmoothPlastic
693
	local Drop = data.Drop or .05
694
	local Ignorelist = data.Ignorelist or nil
695
	
696
	local Bullet = Part(Effects,Color,Material,V3.N(Size,Size,Size),Pos,true,false)
697
	local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
698
	if(Shape == 'Ball')then
699
		BMesh.MeshType = Enum.MeshType.Sphere
700
	elseif(Shape == 'Head')then
701
		BMesh.MeshType = Enum.MeshType.Head
702
	elseif(Shape == 'Cylinder')then
703
		BMesh.MeshType = Enum.MeshType.Cylinder
704
	end
705
	
706
	coroutine.wrap(function()
707
		for i = 1, Frames do
708
			Pos = Pos * CF.N(0,-(Drop*i),0)
709
			local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i)).p,StudsPerFrame)
710
			if(hit and (not hit.Parent or not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent:IsA'Accessory'))then
711
				Puddle(hit,pos,norm,data)
712
				break;
713
			else
714
				Bullet.CFrame = CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i))
715
			end
716
			swait()
717
		end
718
		Bullet:destroy()
719
	end)()
720
end
721
722
function SphereFX(duration,color,scale,pos,endScale,increment)
723
	return Effect{
724
		Effect='ResizeAndFade',
725
		Color=color,
726
		Size=scale,
727
		Mesh={MeshType=Enum.MeshType.Sphere},
728
		CFrame=pos,
729
		FXSettings={
730
			EndSize=endScale,
731
			EndIsIncrement=increment
732
		}
733
	}
734
end
735
736
function BlastFX(duration,color,scale,pos,endScale,increment)
737
	return Effect{
738
		Effect='ResizeAndFade',
739
		Color=color,
740
		Size=scale,
741
		Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
742
		CFrame=pos,
743
		FXSettings={
744
			EndSize=endScale,
745
			EndIsIncrement=increment
746
		}
747
	}
748
end
749
750
function BlockFX(duration,color,scale,pos,endScale,increment)
751
	return Effect{
752
		Effect='ResizeAndFade',
753
		Color=color,
754
		Size=scale,
755
		CFrame=pos,
756
		FXSettings={
757
			EndSize=endScale,
758
			EndIsIncrement=increment
759
		}
760
	}
761
end
762
763
function ShootBullet(data)
764
	local Size = data.Size or V3.N(2,2,2)
765
	local Color = data.Color or BrickColor.new'Crimson'
766
	local StudsPerFrame = data.Speed or 10
767
	local Shape = data.Shape or 'Ball'
768
	local Frames = data.Frames or 160
769
	local Pos = data.Origin or Torso.CFrame
770
	local Direction = data.Direction or Mouse.Hit
771
	local Material = data.Material or Enum.Material.Neon
772
	local OnHit = data.HitFunction or function(hit,pos)
773
		Effect{
774
			Effect='ResizeAndFade',
775
			Color=Color,
776
			Size=V3.N(10,10,10),
777
			Mesh={MeshType=Enum.MeshType.Sphere},
778
			CFrame=CF.N(pos),
779
			FXSettings={
780
				EndSize=V3.N(.05,.05,.05),
781
				EndIsIncrement=true
782
			}
783
		}
784
		for i = 1, 5 do
785
			local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
786
			Effect{
787
				Effect='Fade',
788
				Frames=65,
789
				Size=V3.N(5,5,10),
790
				CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
791
				Mesh = {MeshType=Enum.MeshType.Sphere},
792
				Material=Enum.Material.Neon,
793
				Color=Color,
794
				MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
795
			}	
796
		end
797
	end	
798
	
799
	local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
800
	local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
801
	if(Shape == 'Ball')then
802
		BMesh.MeshType = Enum.MeshType.Sphere
803
	elseif(Shape == 'Head')then
804
		BMesh.MeshType = Enum.MeshType.Head
805
	elseif(Shape == 'Cylinder')then
806
		BMesh.MeshType = Enum.MeshType.Cylinder
807
	end
808
	
809
	coroutine.wrap(function()
810
		for i = 1, Frames+1 do
811
			local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
812
			if(hit)then
813
				OnHit(hit,pos,norm,dist)
814
				break;
815
			else
816
				Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
817
			end
818
			swait()
819
		end
820
		Bullet:destroy()
821
	end)()
822
	
823
end
824
825
826
function Zap(data)
827
	local sCF,eCF = data.StartCFrame,data.EndCFrame
828
	assert(sCF,"You need a start CFrame!")
829
	assert(eCF,"You need an end CFrame!")
830
	local parts = data.PartCount or 15
831
	local zapRot = data.ZapRotation or {-5,5}
832
	local startThick = data.StartSize or 3;
833
	local endThick = data.EndSize or startThick/2;
834
	local color = data.Color or BrickColor.new'Electric blue'
835
	local delay = data.Delay or 35
836
	local delayInc = data.DelayInc or 0
837
	local lastLightning;
838
	local MagZ = (sCF.p - eCF.p).magnitude
839
	local thick = startThick
840
	local inc = (startThick/parts)-(endThick/parts)
841
	
842
	for i = 1, parts do
843
		local pos = sCF.p
844
		if(lastLightning)then
845
			pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
846
		end
847
		delay = delay + delayInc
848
		local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
849
		local posie = CF.N(pos,eCF.p)*CF.N(0,0,MagZ/parts).p+V3.N(M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)))
850
		if(parts == i)then
851
			local MagZ = (pos-eCF.p).magnitude
852
			zapPart.Size = V3.N(endThick,endThick,MagZ)
853
			zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
854
			Effect{Effect='ResizeAndFade',Size=V3.N(thick,thick,thick),CFrame=eCF*CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180)),Color=color,Frames=delay*2,FXSettings={EndSize=V3.N(thick*8,thick*8,thick*8)}}
855
		else
856
			zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
857
		end
858
		
859
		lastLightning = zapPart
860
		Effect{Effect='Fade',Manual=zapPart,Frames=delay}
861
		
862
		thick=thick-inc
863
		
864
	end
865
end
866
867
function Zap2(data)
868
	local Color = data.Color or BrickColor.new'Electric blue'
869
	local StartPos = data.Start or Torso.Position
870
	local EndPos = data.End or Mouse.Hit.p
871
	local SegLength = data.SegL or 2
872
	local Thicc = data.Thickness or 0.5
873
	local Fades = data.Fade or 45
874
	local Parent = data.Parent or Effects
875
	local MaxD = data.MaxDist or 200
876
	local Branch = data.Branches or false
877
	local Material = data.Material or Enum.Material.Neon
878
	local Raycasts = data.Raycasts or false
879
	local Offset = data.Offset or {0,360}
880
	local AddMesh = (data.Mesh == nil and true or data.Mesh)
881
	if((StartPos-EndPos).magnitude > MaxD)then
882
		EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
883
	end
884
	local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
885
	if(Raycasts)then
886
		hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)	
887
	end
888
	local segments = dist/SegLength
889
	local model = IN("Model",Parent)
890
	model.Name = 'Lightning'
891
	local Last;
892
	for i = 1, segments do
893
		local size = (segments-i)/25
894
		local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
895
		if(AddMesh)then IN("CylinderMesh",prt) end
896
		if(Last and math.floor(segments) == i)then
897
			local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
898
			prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
899
			prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,EndPos)*CF.A(M.R(90),0,0)*CF.N(0,-MagZ/2,0)	
900
		elseif(not Last)then
901
			prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)	
902
		else
903
			prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,CF.N(pos)*CF.A(M.R(M.RNG(0,360)),M.R(M.RNG(0,360)),M.R(M.RNG(0,360)))*CF.N(0,0,SegLength/3+(segments-i)).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
904
		end
905
		Last = prt
906
		if(Branch)then
907
			local choice = M.RNG(1,7+((segments-i)*2))
908
			if(choice == 1)then
909
				local LastB;
910
				for i2 = 1,M.RNG(2,5) do
911
					local size2 = ((segments-i)/35)/i2
912
					local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
913
					if(AddMesh)then IN("CylinderMesh",prt) end
914
					if(not LastB)then
915
						prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,Last.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
916
					else
917
						prt.CFrame = CF.N(LastB.CFrame*CF.N(0,-SegLength/2,0).p,LastB.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
918
					end
919
					LastB = prt
920
				end
921
			end
922
		end
923
	end
924
	if(Fades > 0)then
925
		coroutine.wrap(function()
926
			for i = 1, Fades do
927
				for _,v in next, model:children() do
928
					if(v:IsA'BasePart')then
929
						v.Transparency = (i/Fades)
930
					end
931
				end
932
				swait()
933
			end
934
			model:destroy()
935
		end)()
936
	else
937
		S.Debris:AddItem(model,.01)
938
	end
939
	return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
940
end
941
942
function Tween(obj,props,time,easing,direction,repeats,backwards)
943
	local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
944
	local tween = S.TweenService:Create(obj, info, props)
945
	
946
	tween:Play()
947
end
948
949
function Effect(data)
950
	local FX = data.Effect or 'ResizeAndFade'
951
	local Parent = data.Parent or Effects
952
	local Color = data.Color or C3.N(0,0,0)
953
	local Size = data.Size or V3.N(1,1,1)
954
	local MoveDir = data.MoveDirection or nil
955
	local MeshData = data.Mesh or nil
956
	local SndData = data.Sound or nil
957
	local Frames = data.Frames or 45
958
	local Manual = data.Manual or nil
959
	local Material = data.Material or nil
960
	local CFra = data.CFrame or Torso.CFrame
961
	local Settings = data.FXSettings or {}
962
	local Shape = data.Shape or Enum.PartType.Block
963
	local Snd,Prt,Msh;
964
	local RotInc = data.RotInc or {0,0,0}
965
	if(typeof(RotInc) == 'number')then
966
		RotInc = {RotInc,RotInc,RotInc}
967
	end
968
	coroutine.wrap(function()
969
		if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
970
			Prt = Manual
971
		else
972
			Prt = Part(Parent,Color,Material,Size,CFra,true,false)
973
			Prt.Shape = Shape
974
		end
975
		if(typeof(MeshData) == 'table')then
976
			Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
977
		elseif(typeof(MeshData) == 'Instance')then
978
			Msh = MeshData:Clone()
979
			Msh.Parent = Prt
980
		elseif(Shape == Enum.PartType.Block)then
981
			Msh = Mesh(Prt,Enum.MeshType.Brick)
982
		end
983
		if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
984
			Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
985
		end
986
		if(Snd)then
987
			repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
988
			Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
989
		end
990
		Size = (Msh and Msh.Scale or Size)
991
		local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
992
		
993
		local MoveSpeed = nil;
994
		if(MoveDir)then
995
			MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
996
		end
997
		if(FX ~= 'Arc')then
998
			for Frame = 1, Frames do
999
				if(FX == "Fade")then
1000
					Prt.Transparency  = (Frame/Frames)
1001
				elseif(FX == "Resize")then
1002
					if(not Settings.EndSize)then
1003
						Settings.EndSize = V3.N(0,0,0)
1004
					end
1005
					if(Settings.EndIsIncrement)then
1006
						if(Msh)then
1007
							Msh.Scale = Msh.Scale + Settings.EndSize
1008
						else
1009
							Prt.Size = Prt.Size + Settings.EndSize
1010
						end					
1011
					else
1012
						if(Msh)then
1013
							Msh.Scale = Msh.Scale - grow/Frames
1014
						else
1015
							Prt.Size = Prt.Size - grow/Frames
1016
						end
1017
					end 
1018
				elseif(FX == "ResizeAndFade")then
1019
					if(not Settings.EndSize)then
1020
						Settings.EndSize = V3.N(0,0,0)
1021
					end
1022
					if(Settings.EndIsIncrement)then
1023
						if(Msh)then
1024
							Msh.Scale = Msh.Scale + Settings.EndSize
1025
						else
1026
							Prt.Size = Prt.Size + Settings.EndSize
1027
						end					
1028
					else
1029
						if(Msh)then
1030
							Msh.Scale = Msh.Scale - grow/Frames
1031
						else
1032
							Prt.Size = Prt.Size - grow/Frames
1033
						end
1034
					end 
1035
					Prt.Transparency = (Frame/Frames)
1036
				end
1037
				if(Settings.RandomizeCFrame)then
1038
					Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
1039
				else
1040
					Prt.CFrame = Prt.CFrame * CF.A(unpack(RotInc))
1041
				end
1042
				if(MoveDir and MoveSpeed)then
1043
					local Orientation = Prt.Orientation
1044
					Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
1045
					Prt.Orientation = Orientation
1046
				end
1047
				swait()
1048
			end
1049
			Prt:destroy()
1050
		else
1051
			local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
1052
			if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
1053
			if(start and endP)then
1054
				local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
1055
				local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
1056
				for Frame = 0, 1, (Settings.Speed or 0.01) do
1057
					if(Settings.Home)then
1058
						endP = Settings.Home.CFrame
1059
					end
1060
					Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
1061
				end
1062
				if(Settings.RemoveOnGoal)then
1063
					Prt:destroy()
1064
				end
1065
			else
1066
				Prt:destroy()
1067
				assert(start,"You need a start position!")
1068
				assert(endP,"You need a start position!")
1069
			end
1070
		end
1071
	end)()
1072
	return Prt,Msh,Snd
1073
end
1074
function SoulSteal(whom)
1075
	local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
1076
	print(torso)
1077
	if(torso and torso:IsA'BasePart')then
1078
		local Model = Instance.new("Model",Effects)
1079
		Model.Name = whom.Name.."'s Soul"
1080
		whom:BreakJoints()
1081
		local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
1082
		Soul.Name = 'Head'
1083
		NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
1084
		Effect{
1085
			Effect="Arc",
1086
			Manual = Soul,
1087
			FXSettings={
1088
				Start=torso.CFrame,
1089
				Home = Torso,
1090
				RemoveOnGoal = true,
1091
			}
1092
		}
1093
		local lastPoint = Soul.CFrame.p
1094
	
1095
		for i = 0, 1, 0.01 do 
1096
				local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
1097
				local mag = (lastPoint - Soul.Position).magnitude
1098
				Effect{
1099
					Effect = "Fade",
1100
					CFrame = point * CF.N(0, mag/2, 0),
1101
					Size = V3.N(.5,mag+.5,.5),
1102
					Color = Soul.BrickColor
1103
				}
1104
				lastPoint = Soul.CFrame.p
1105
			swait()
1106
		end
1107
		for i = 1, 5 do
1108
			Effect{
1109
				Effect="Fade",
1110
				Color = BrickColor.new'Really red',
1111
				MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
1112
			}	
1113
		end
1114
	end
1115
end
1116
1117
function MultiplyCF(cf,mult)
1118
	local a,b,c,d,e,f,g,h,i,j,k,l = cf:components()
1119
	return CF.N(a*mult,b*mult,c*mult,d*mult,e*mult,f*mult,g*mult,h*mult,i*mult,j*mult,k*mult,l*mult)
1120
end
1121
1122
function ResetVoodoo()
1123
	for _,v in next, Voodoo:GetDescendants() do
1124
		if(not NoClear[v])then
1125
			v:destroy()
1126
		end
1127
	end
1128
	VRA.Color = C3.RGB(163,162,165)
1129
	VLA.Color = C3.RGB(163,162,165)
1130
	VRL.Color = C3.RGB(163,162,165)
1131
	VLL.Color = C3.RGB(163,162,165)
1132
	VTorso.Color = C3.RGB(163,162,165)
1133
	VHead.Color = C3.RGB(163,162,165)
1134
end
1135
1136
function ChangeTarget(who)
1137
	local h = who:FindFirstChildOfClass'Humanoid'
1138
	ResetVoodoo()
1139
	if(h and h.Health <= 0)then return end
1140
	Target = who
1141
	for _,v in next, who:children() do
1142
		if(v:IsA'Clothing' or v:IsA'CharacterMesh')then
1143
			v:Clone().Parent = Voodoo
1144
		elseif(v:FindFirstChild'face' and v.Name == 'Head')then
1145
			v.face:Clone().Parent = VHead
1146
		elseif(v:IsA'BodyColors')then
1147
			VTorso.BrickColor = v.TorsoColor
1148
			VHead.BrickColor = v.HeadColor
1149
			VLA.BrickColor = v.LeftArmColor
1150
			VRA.BrickColor = v.RightArmColor
1151
			VLL.BrickColor = v.LeftLegColor
1152
			VRL.BrickColor = v.RightLegColor
1153
		elseif(Voodoo:FindFirstChild(v.Name) and Voodoo[v.Name]:IsA'BasePart' and v:IsA'BasePart')then
1154
			Voodoo[v.Name].Color = v.Color
1155
		end
1156
	end
1157
end
1158
1159
function CastRay(startPos,endPos,range,ignoreList)
1160
	local ray = Ray.new(startPos,(endPos-startPos).unit*range)
1161
	local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
1162
	return part,pos,norm,(pos and (startPos-pos).magnitude)
1163
end
1164
1165
function getRegion(point,range,ignore)
1166
    return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
1167
end
1168
1169
function clerp(startCF,endCF,alpha)
1170
	return startCF:lerp(endCF, alpha)
1171
end
1172
1173
function GetTorso(char)
1174
	return char and (char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart')
1175
end
1176
1177
function ShowDamage(Pos, Text, Time, Color)
1178
	coroutine.wrap(function()
1179
	local Rate = (1 / Frame_Speed)
1180
	local Pos = (Pos or Vector3.new(0, 0, 0))
1181
	local Text = (Text or "")
1182
	local Time = (Time or 2)
1183
	local Color = (Color or Color3.new(1, 0, 1))
1184
	local EffectPart = NewInstance("Part",Effects,{
1185
		Material=Enum.Material.SmoothPlastic,
1186
		Reflectance = 0,
1187
		Transparency = 1,
1188
		BrickColor = BrickColor.new(Color),
1189
		Name = "Effect",
1190
		Size = Vector3.new(0,0,0),
1191
		Anchored = true,
1192
		CFrame = CF.N(Pos)
1193
	})
1194
	local BillboardGui = NewInstance("BillboardGui",EffectPart,{
1195
		Size = UDim2.new(1.25, 0, 1.25, 0),
1196
		Adornee = EffectPart,
1197
	})
1198
	local TextLabel = NewInstance("TextLabel",BillboardGui,{
1199
		BackgroundTransparency = 1,
1200
		Size = UDim2.new(1, 0, 1, 0),
1201
		Text = Text,
1202
		Font = "Bodoni",
1203
		TextColor3 = Color,
1204
		TextStrokeColor3 = Color3.new(0,0,0),
1205
		TextStrokeTransparency=0,
1206
		TextScaled = true,
1207
	})
1208
	S.Debris:AddItem(EffectPart, (Time))
1209
	EffectPart.Parent = workspace
1210
	delay(0, function()
1211
		Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
1212
		local Frames = (Time / Rate)
1213
		for Frame = 1, Frames do
1214
			swait()
1215
			local Percent = (Frame / Frames)
1216
			TextLabel.TextTransparency = Percent
1217
			TextLabel.TextStrokeTransparency = Percent
1218
		end
1219
		if EffectPart and EffectPart.Parent then
1220
			EffectPart:Destroy()
1221
		end
1222
	end) end)()
1223
end
1224
1225
function DealDamage(data)
1226
	local Who = data.Who;
1227
	local MinDam = data.MinimumDamage or 15;
1228
	local MaxDam = data.MaximumDamage or 30;
1229
	local MaxHP = data.MaxHP or 1e5; 
1230
	
1231
	local DB = data.Debounce or .2;
1232
	
1233
	local CritData = data.Crit or {}
1234
	local CritChance = CritData.Chance or 0;
1235
	local CritMultiplier = CritData.Multiplier or 1;
1236
	
1237
	local DamageEffects = data.DamageFX or {}
1238
	local DamageType = DamageEffects.Type or "Normal"
1239
	local DeathFunction = DamageEffects.DeathFunction
1240
	
1241
	assert(Who,"Specify someone to damage!")	
1242
	
1243
	local Humanoid = Who:FindFirstChildOfClass'Humanoid'
1244
	local DoneDamage = M.RNG(MinDam,MaxDam) * (M.RNG(1,100) <= CritChance and CritMultiplier or 1)
1245
	
1246
	local canHit = true
1247
	if(Humanoid)then
1248
		for _, p in pairs(Hit) do
1249
			if p[1] == Humanoid then
1250
				if(time() - p[2] <= DB) then
1251
					canHit = false
1252
				else
1253
					Hit[_] = nil
1254
				end
1255
			end
1256
		end
1257
		if(canHit)then
1258
			table.insert(Hit,{Humanoid,time()})
1259
			local HitTorso = GetTorso(Who)
1260
			local player = S.Players:GetPlayerFromCharacter(Who)
1261
			if(not player or player.UserId ~= 5719877 and player.UserId ~= 61573184 and player.UserId ~= 19081129)then
1262
				if(Humanoid.MaxHealth >= MaxHP and Humanoid.Health > 0)then
1263
					print'Got kill'
1264
					Humanoid.Health = 0;
1265
					Who:BreakJoints();
1266
					if(DeathFunction)then DeathFunction(Who,Humanoid) end
1267
				else
1268
					local  c = Instance.new("ObjectValue",Hum)
1269
					c.Name = "creator"
1270
					c.Value = Plr
1271
					S.Debris:AddItem(c,0.35)	
1272
					if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
1273
						ShowDamage((Who.Head.CFrame * CF.N(0, 0, (Who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), DoneDamage, 1.5, DamageColor.Color)
1274
					end
1275
					if(Humanoid.Health > 0 and Humanoid.Health-DoneDamage <= 0)then print'Got kill' if(DeathFunction)then DeathFunction(Who,Humanoid) end end
1276
					Humanoid.Health = Humanoid.Health - DoneDamage
1277
					
1278
					if(DamageType == 'Knockback' and HitTorso)then
1279
						local up = DamageEffects.KnockUp or 25
1280
						local back = DamageEffects.KnockBack or 25
1281
						local origin = DamageEffects.Origin or Root
1282
						local decay = DamageEffects.Decay or .5;
1283
						
1284
						local bfos = Instance.new("BodyVelocity",HitTorso)
1285
						bfos.P = 20000	
1286
						bfos.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
1287
						bfos.Velocity = Vector3.new(0,up,0) + (origin.CFrame.lookVector * back)
1288
						S.Debris:AddItem(bfos,decay)
1289
					end
1290
				end
1291
			end
1292
		end
1293
	end		
1294
end
1295
1296
function Kill(dude)
1297
	Kills = Kills + 1
1298
	local t = GetTorso(dude)
1299
	local h = dude:FindFirstChildOfClass'Humanoid'
1300
	if(dude == Target)then
1301
		Target = nil
1302
		ResetVoodoo()
1303
	end
1304
	if(h)then Instance.new("BoolValue",h).Name = 'Killed' end
1305
	if(t)then
1306
		Sound(t,429400881,.7,3,false,true,true)
1307
		local pe = NewInstance("ParticleEmitter",t,{Size=NumberSequence.new(.2,5),Enabled=false,Texture='rbxassetid://771221224',Speed=NumberRange.new(15),VelocitySpread=90,Color=ColorSequence.new(C3.N(1,0,0)),Transparency=NumberSequence.new(0,1),ZOffset=.8,Acceleration=V3.N(0,-25,0),EmissionDirection=Enum.NormalId.Top,Lifetime=NumberRange.new(1),Rate=2500,Rotation=NumberRange.new(-100,100),RotSpeed=NumberRange.new(-100,100),})
1308
		pe:Emit(250)
1309
		NoobySphere(1,0,'Multiply',t.CFrame,V3.N(1,1,1),.1,C3.N(.4,0,0),0,nil,'xyz')
1310
		ResetVoodoo()
1311
		coroutine.wrap(function()
1312
			swait(60)
1313
			for i = 0, 1, .025 do
1314
				for _,v in next, dude:children() do
1315
					if(v:IsA'BasePart' and v.Name ~= 'HumanoidRootPart')then
1316
						v.Transparency = i
1317
					end
1318
				end
1319
				swait()
1320
			end
1321
			for _,v in next, dude:children() do
1322
				if(v:IsA'BasePart')then
1323
					v:destroy()
1324
				end
1325
			end
1326
		end)()
1327
	end
1328
	dude:breakJoints()
1329
end
1330
1331
function Burn(dude)
1332
	local t = GetTorso(dude)
1333
	local h = dude:FindFirstChildOfClass'Humanoid'
1334
	if(t and h)then
1335
		local pe = NewInstance("ParticleEmitter",t,{Color=ColorSequence.new(C3.RGB(255,105,19),C3.RGB(255,255,127)),LightEmission=.8,Size=NumberSequence.new(1,0),Transparency=NumberSequence.new(0,1),Texture='rbxassetid://242102147',ZOffset=.3,EmissionDirection=Enum.NormalId.Top,Rate=1000,Lifetime=NumberRange.new(1),Speed=NumberRange.new(5)})
1336
		Sound(t,192104941,.8,5,false,true,true)
1337
		Sound(t,147758746,1,5,false,true,true)
1338
		coroutine.wrap(function()
1339
			repeat h.Health = h.Health - (h.MaxHealth/200) swait() until h.Health <= 0
1340
			dude:breakJoints()
1341
			if(not h:FindFirstChild'Killed')then Kills = Kills + 1 end
1342
			h:destroy()
1343
			if(dude == Target)then
1344
				Target = nil
1345
				ResetVoodoo()
1346
			end
1347
			NoobySphere(1,0,'Multiply',t.CFrame,V3.N(1,1,1),.1,C3.N(.4,0,0),0,nil,'xyz')
1348
			swait(60)
1349
			for i = 0, 1, .025 do
1350
				for _,v in next, dude:children() do
1351
					if(v:IsA'BasePart' and v.Name ~= 'HumanoidRootPart')then
1352
						v.Transparency = i
1353
						v.Color = C3.N(0,0,0)
1354
						v.Material = Enum.Material.Slate
1355
					end
1356
				end
1357
				swait()
1358
			end
1359
			for _,v in next, dude:children() do
1360
				if(v:IsA'BasePart')then
1361
					v:destroy()
1362
				end
1363
			end
1364
		end)()
1365
	end
1366
end
1367
1368
function AOEDamage(where,range,options)
1369
	local hit = {}
1370
	for _,v in next, getRegion(where,range,{Char}) do
1371
		if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent])then
1372
			local callTable = {Who=v.Parent}
1373
			hit[v.Parent] = true
1374
			for _,v in next, options do callTable[_] = v end
1375
			DealDamage(callTable)
1376
		end
1377
	end
1378
	return hit
1379
end
1380
1381
function AOEHeal(where,range,amount)
1382
	local healed = {}
1383
	for _,v in next, getRegion(where,range,{Char}) do
1384
		local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
1385
		if(hum and not healed[hum])then
1386
			hum.Health = hum.Health + amount
1387
			if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
1388
				ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
1389
			end
1390
		end
1391
	end
1392
end
1393
1394
function BurnANigga()
1395
	Attack = true
1396
	NeutralAnims = false
1397
	local Target = Target
1398
	for i = 0, 3, 0.1 do
1399
		swait()
1400
		local Alpha = .2
1401
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1402
		LH.C0 = LH.C0:lerp(CFrame.new(-0.499999344, -1.02113664, -2.92062759e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1403
		RH.C0 = RH.C0:lerp(CFrame.new(0.499997526, -1.0211345, -1.49011612e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1404
		LS.C0 = LS.C0:lerp(CFrame.new(-1.48020887, 0.396520793, -0.0840251297, 0.125036538, -0.110845402, 0.985939026, -0.0894355327, 0.988434374, 0.122468963, -0.988111138, -0.103490412, 0.113677412),Alpha)
1405
		RS.C0 = RS.C0:lerp(CFrame.new(1.49998105, 0.499911726, 1.90734863e-06, 0.902840197, -0.0815670565, 0.422160357, 0.389566094, -0.260352403, -0.883433402, 0.18197079, 0.962058306, -0.20328176),Alpha)
1406
		NK.C0 = NK.C0:lerp(CFrame.new(2.08616257e-06, 1.50000572, 1.21630728e-06, 0.102758601, -0.164331287, 0.981036484, -0.0197002441, 0.985729218, 0.167181715, -0.994509459, -0.0365053862, 0.098055318),Alpha)
1407
	end
1408
	knife.Transparency = 1
1409
	local Match = New("Model",Char,"Match",{})
1410
	local Handle = New("Part",Match,"Handle",{BrickColor = BrickColor.new("Brick yellow"),Material = Enum.Material.Wood,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.200000003, 1.2069068, 0.200000003),CFrame = CFrame.new(22.6316547, 30.6187859, 20.0125217, 0.836512625, -0.224143878, -0.499997824, 0.258817941, 0.965925753, 2.13843787e-08, 0.482960761, -0.129409477, 0.866021514),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.843137, 0.772549, 0.603922),})
1411
1412
	local FXHead = New("Part",Match,"FXHead",{BrickColor = BrickColor.new("Dusty Rose"),Material = Enum.Material.Concrete,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.144828811, 0.225289285, 0.144828811),CFrame = CFrame.new(22.4783554, 31.2793884, 19.9240131, 0.836508334, -0.224146977, -0.499995291, 0.258818597, 0.965925217, -3.05112985e-06, 0.482958704, -0.129407614, 0.866017997),BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.639216, 0.294118, 0.294118),})
1413
	local Mesh = New("SpecialMesh",FXHead,"Mesh",{MeshType = Enum.MeshType.Sphere,})
1414
	local mot = New("Motor",FXHead,"mot",{Part0 = FXHead,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0.836515725, 0.258820862, 0.482963055, -0.224147007, 0.965925395, -0.129407734, -0.499999642, -3.10509813e-06, 0.866025686),C1 = CFrame.new(-7.62939453e-06, 0.683908463, -9.53674316e-07, 0.836512625, 0.258817941, 0.482960761, -0.224143878, 0.965925753, -0.129409477, -0.499997824, 2.13843787e-08, 0.866021514),})
1415
	local MHead = New("Part",Match,"MHead",{BrickColor = BrickColor.new("Dusty Rose"),Material = Enum.Material.Concrete,FormFactor = Enum.FormFactor.Custom,Size = Vector3.new(0.0804604515, 0.0482763015, 0.0804604515),CFrame = CFrame.new(22.4945812, 31.209444, 19.9333839, 0.836508274, -0.224147394, -0.499995291, 0.258818835, 0.965925217, -3.39144185e-06, 0.482958704, -0.12940748, 0.866017878),BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.639216, 0.294118, 0.294118),})
1416
	local mot = New("Motor",MHead,"mot",{Part0 = MHead,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0.836515665, 0.2588211, 0.482963055, -0.224147394, 0.965925276, -0.12940757, -0.499999642, -3.44821296e-06, 0.866025627),C1 = CFrame.new(-1.14440918e-05, 0.611497879, 1.90734863e-06, 0.836512625, 0.258817941, 0.482960761, -0.224143878, 0.965925753, -0.129409477, -0.499997824, 2.13843787e-08, 0.866021514),})	local Mesh = New("BlockMesh",Handle,"Mesh",{Scale = Vector3.new(0.400000006, 1, 0.400000006),})
1417
	
1418
	local fire = NewInstance("ParticleEmitter",FXHead,{
1419
		Color = ColorSequence.new(C3.RGB(255,237,210),C3.RGB(255,170,0)),
1420
		LightEmission=1,
1421
		LightInfluence=0,
1422
		Size=NumberSequence.new{NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(.3,.25),NumberSequenceKeypoint.new(.597,.312),NumberSequenceKeypoint.new(1,0)},	
1423
		Texture='rbxassetid://242461088',
1424
		Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(.199,.825),NumberSequenceKeypoint.new(.6,1),NumberSequenceKeypoint.new(1,1)},
1425
		ZOffset=.2,
1426
		Acceleration=V3.N(0,.75,0),
1427
		LockedToPart=true,
1428
		EmissionDirection=Enum.NormalId.Top,
1429
		Lifetime=NumberRange.new(.75),
1430
		Rate=50,
1431
		Speed=NumberRange.new(0)
1432
	})
1433
	local HW = NewInstance('Weld',Char,{Part0=LArm,Part1=Handle,C0=CF.N(0,-1,0)*CF.A(M.R(-90),0,0)})
1434
	for i = 0, 7, 0.1 do
1435
		swait()
1436
		local Alpha = .1
1437
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21805193e-08, -0.0789600536, 1.08964741e-06, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1438
		LH.C0 = LH.C0:lerp(CFrame.new(-0.499998987, -1.02113318, -1.04308128e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1439
		RH.C0 = RH.C0:lerp(CFrame.new(0.499997348, -1.02113235, -5.96046448e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1440
		LS.C0 = LS.C0:lerp(CFrame.new(-1.28626728, 0.457301795, 0.0561587811, 0.779788852, 0.617777467, -0.101375088, -0.0164614469, -0.141639799, -0.98978132, -0.625823021, 0.773489416, -0.100280359),Alpha)
1441
		RS.C0 = RS.C0:lerp(CFrame.new(1.49997759, 0.499910235, 1.22189522e-06, 0.902840197, -0.0815670565, 0.422160357, 0.389566094, -0.260352403, -0.883433402, 0.18197079, 0.962058306, -0.20328176),Alpha)
1442
		NK.C0 = NK.C0:lerp(CFrame.new(3.81376594e-06, 1.5000037, 3.7914142e-06, 0.561061919, 0.0163413882, 0.827610493, -0.0240478665, 0.999704778, -0.00343565643, -0.827422142, -0.0179739445, 0.561289608),Alpha)
1443
	end
1444
	for i = 0, 1, 0.1 do
1445
		swait()
1446
		local Alpha = .15
1447
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1448
		LH.C0 = LH.C0:lerp(CFrame.new(-0.499998987, -1.02113295, -1.96695328e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1449
		RH.C0 = RH.C0:lerp(CFrame.new(0.499997348, -1.02113235, -5.96046448e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1450
		LS.C0 = LS.C0:lerp(CFrame.new(-0.56364888, 0.845062912, -0.882486701, 0.556871235, -0.829850614, 0.0351991951, -0.0293087214, -0.0619851053, -0.99764663, 0.830079675, 0.554528773, -0.0588402748),Alpha)
1451
		RS.C0 = RS.C0:lerp(CFrame.new(1.49997818, 0.499908328, 1.7285347e-06, 0.902840197, -0.0815670565, 0.422160357, 0.389566094, -0.260352403, -0.883433402, 0.18197079, 0.962058306, -0.20328176),Alpha)
1452
		NK.C0 = NK.C0:lerp(CFrame.new(-2.10106373e-06, 1.50000787, -1.17905438e-06, 0.744260013, 0.016378643, -0.667686522, -0.000203326344, 0.999704778, 0.0242953151, 0.667887568, -0.0179455429, 0.74404341),Alpha)
1453
	end
1454
	Burn(Target)
1455
	for i = 0, 6, 0.1 do
1456
		swait()
1457
		local Alpha = .15
1458
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1459
		LH.C0 = LH.C0:lerp(CFrame.new(-0.499998987, -1.02113318, -1.04308128e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1460
		RH.C0 = RH.C0:lerp(CFrame.new(0.499997348, -1.02113235, -5.96046448e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1461
		LS.C0 = LS.C0:lerp(CFrame.new(-0.431874216, 0.854955196, -0.97056669, 0.117097467, -0.829880476, -0.545511901, -0.991014123, -0.0618889406, -0.118577883, 0.064643696, 0.554494739, -0.829670548),Alpha)
1462
		RS.C0 = RS.C0:lerp(CFrame.new(1.55841696, 0.530878901, -0.013287276, 0.846236467, 0.325094491, 0.422130316, 0.464434087, -0.0617963374, -0.883448958, -0.261117637, 0.943658531, -0.203279719),Alpha)
1463
		NK.C0 = NK.C0:lerp(CFrame.new(-3.43844295e-06, 1.50000417, 3.09199095e-07, 0.744260013, 0.016378643, -0.667686522, -0.000203326344, 0.999704778, 0.0242953151, 0.667887568, -0.0179455429, 0.74404341),Alpha)
1464
	end
1465
	for i = 0, 3, 0.1 do
1466
		swait()
1467
		local Alpha = .1
1468
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1469
		LH.C0 = LH.C0:lerp(CFrame.new(-0.499999344, -1.02113664, -2.92062759e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1470
		RH.C0 = RH.C0:lerp(CFrame.new(0.499997526, -1.0211345, -1.49011612e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1471
		LS.C0 = LS.C0:lerp(CFrame.new(-1.48020887, 0.396520793, -0.0840251297, 0.125036538, -0.110845402, 0.985939026, -0.0894355327, 0.988434374, 0.122468963, -0.988111138, -0.103490412, 0.113677412),Alpha)
1472
		RS.C0 = RS.C0:lerp(CFrame.new(1.49998105, 0.499911726, 1.90734863e-06, 0.902840197, -0.0815670565, 0.422160357, 0.389566094, -0.260352403, -0.883433402, 0.18197079, 0.962058306, -0.20328176),Alpha)
1473
		NK.C0 = NK.C0:lerp(CFrame.new(2.08616257e-06, 1.50000572, 1.21630728e-06, 0.102758601, -0.164331287, 0.981036484, -0.0197002441, 0.985729218, 0.167181715, -0.994509459, -0.0365053862, 0.098055318),Alpha)
1474
	end
1475
	knife.Transparency = 0
1476
	Match:destroy()
1477
	Attack = false
1478
	NeutralAnims = true
1479
	
1480
end
1481
1482
function KillVoodoo()
1483
	Attack = true
1484
	NeutralAnims = false
1485
	WalkSpeed = 0
1486
	local Target = Target
1487
	for i = 0, 1.9, 0.1 do
1488
		swait()
1489
		local Alpha = .1
1490
		RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1491
		LH.C0 = LH.C0:lerp(CFrame.new(-0.500003159, -1.02113652, -1.87754631e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1492
		RH.C0 = RH.C0:lerp(CFrame.new(0.500005007, -1.02113163, -4.17232513e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1493
		LS.C0 = LS.C0:lerp(CFrame.new(-1.30809402, 0.707052946, -0.212298125, 0.324948817, 0.857990444, 0.397815555, 0.638829648, -0.509305477, 0.576632023, 0.697354972, 0.0667604953, -0.71360743),Alpha)
1494
		RS.C0 = RS.C0:lerp(CFrame.new(1.17349327, 0.596340418, -0.226585925, 0.880390525, 0.216107711, 0.422145128, 0.452990264, -0.119689628, -0.883444428, -0.140392065, 0.969003797, -0.203268766),Alpha)
1495
		NK.C0 = NK.C0:lerp(CFrame.new(4.42750752e-06, 1.50000238, 4.23006713e-06, 0.827343702, 0.0163316131, -0.561455429, -0.00340057909, 0.99970448, 0.024066925, 0.56168288, -0.0180016756, 0.827154636),Alpha)	
1496
	end
1497
	local gay = Plrs:GetPlayerFromCharacter(Target)
1498
	if(not gay or Plr.UserId == 5719877 or gay.UserId ~= 5719877 and gay.UserId ~= 19909695 and gay.UserId ~= 33104243)then
1499
		Kill(Target)
1500
		for i = 0, 1.2, 0.1 do
1501
			swait()
1502
			local Alpha = .2
1503
			RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1504
			LH.C0 = LH.C0:lerp(CFrame.new(-0.500003159, -1.02113652, -1.87754631e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1505
			RH.C0 = RH.C0:lerp(CFrame.new(0.500005007, -1.02113163, -4.17232513e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1506
			LS.C0 = LS.C0:lerp(CFrame.new(-0.765871823, 0.875704765, -0.619495153, 0.324934751, -0.587293684, 0.74128288, 0.638849139, -0.441647798, -0.629935622, 0.697343588, 0.678255379, 0.231685296),Alpha)
1507
			RS.C0 = RS.C0:lerp(CFrame.new(1.17349327, 0.596340418, -0.226585925, 0.880390525, 0.216107711, 0.422145128, 0.452990264, -0.119689628, -0.883444428, -0.140392065, 0.969003797, -0.203268766),Alpha)
1508
			NK.C0 = NK.C0:lerp(CFrame.new(4.42750752e-06, 1.50000238, 4.23006713e-06, 0.827343702, 0.0163316131, -0.561455429, -0.00340057909, 0.99970448, 0.024066925, 0.56168288, -0.0180016756, 0.827154636),Alpha)
1509
		end
1510
		for i = 0, .9, 0.1 do
1511
			swait()
1512
			local Alpha = .2
1513
			RJ.C0 = RJ.C0:lerp(CFrame.new(-2.16149999e-07, -0.0789605081, -7.11530447e-07, 0.999989629, 2.49221875e-06, 1.27442513e-06, 2.73494675e-06, 0.965795875, 0.259301215, 5.88124067e-07, -0.259299994, 0.965785265),Alpha)
1514
			LH.C0 = LH.C0:lerp(CFrame.new(-0.500001371, -1.02113628, -5.54323196e-06, 0.996183932, 0.0871576071, 5.81604752e-07, -0.0841722414, 0.96212101, -0.259300053, -0.0225983392, 0.258314729, 0.965785265),Alpha)
1515
			RH.C0 = RH.C0:lerp(CFrame.new(0.49999243, -1.02113175, -5.66244125e-06, 0.996184528, -0.0871521831, 5.94584947e-07, 0.0841772109, 0.962120533, -0.259300053, 0.0226008799, 0.25831449, 0.965785265),Alpha)
1516
			LS.C0 = LS.C0:lerp(CFrame.new(-1.34198368, 0.383808315, 0.099660337, 0.324967146, 0.259882778, 0.90930742, 0.638826787, -0.76930356, -0.00842937827, 0.697345734, 0.583627462, -0.416016668),Alpha)
1517
			RS.C0 = RS.C0:lerp(CFrame.new(1.1734798, 0.596339762, -0.226573557, 0.880385041, 0.216106832, 0.422140598, 0.452991217, -0.1196879, -0.883443415, -0.140389711, 0.968996823, -0.203268081),Alpha)
1518
			NK.C0 = NK.C0:lerp(CFrame.new(4.42750752e-06, 1.50000238, 4.23006713e-06, 0.827343702, 0.0163316131, -0.561455429, -0.00340057909, 0.99970448, 0.024066925, 0.56168288, -0.0180016756, 0.827154636),Alpha)	
1519
		end
1520
	else
1521
		for i = 0, 1.2, 0.1 do
1522
			swait()
1523
			local Alpha = .2
1524
			RJ.C0 = RJ.C0:lerp(CFrame.new(-7.21813294e-08, -0.0789605454, -7.5250864e-07, 0.999996543, 8.32955209e-07, 4.22970459e-07, 9.11652307e-07, 0.965796173, 0.259301841, 1.96043004e-07, -0.259301394, 0.965792596),Alpha)
1525
			LH.C0 = LH.C0:lerp(CFrame.new(-0.500003159, -1.02113652, -1.87754631e-06, 0.996191025, 0.0871564001, 1.89523718e-07, -0.0841739103, 0.962121129, -0.259301454, -0.0225992389, 0.258315265, 0.965792596),Alpha)
1526
			RH.C0 = RH.C0:lerp(CFrame.new(0.500005007, -1.02113163, -4.17232513e-07, 0.996191263, -0.087154597, 2.02503998e-07, 0.0841755792, 0.96212101, -0.259301454, 0.0226000845, 0.258315176, 0.965792596),Alpha)
1527
			LS.C0 = LS.C0:lerp(CFrame.new(-0.765871823, 0.875704765, -0.619495153, 0.324934751, -0.587293684, 0.74128288, 0.638849139, -0.441647798, -0.629935622, 0.697343588, 0.678255379, 0.231685296),Alpha)
1528
			RS.C0 = RS.C0:lerp(CFrame.new(1.34997082, 0.691436887, -0.00414918363, 0.308846682, -0.493054748, -0.813330948, -0.13198103, 0.824647903, -0.550033391, 0.94190836, 0.277220637, 0.18961516),Alpha)
1529
			NK.C0 = NK.C0:lerp(CFrame.new(4.42750752e-06, 1.50000238, 4.23006713e-06, 0.827343702, 0.0163316131, -0.561455429, -0.00340057909, 0.99970448, 0.024066925, 0.56168288, -0.0180016756, 0.827154636),Alpha)
1530
		end
1531
		for i = 0, .9, 0.1 do
1532
			swait()
1533
			local Alpha = .2
1534
			RJ.C0 = RJ.C0:lerp(CFrame.new(-2.16149999e-07, -0.0789605081, -7.11530447e-07, 0.999989629, 2.49221875e-06, 1.27442513e-06, 2.73494675e-06, 0.965795875, 0.259301215, 5.88124067e-07, -0.259299994, 0.965785265),Alpha)
1535
			LH.C0 = LH.C0:lerp(CFrame.new(-0.500001371, -1.02113628, -5.54323196e-06, 0.996183932, 0.0871576071, 5.81604752e-07, -0.0841722414, 0.96212101, -0.259300053, -0.0225983392, 0.258314729, 0.965785265),Alpha)
1536
			RH.C0 = RH.C0:lerp(CFrame.new(0.49999243, -1.02113175, -5.66244125e-06, 0.996184528, -0.0871521831, 5.94584947e-07, 0.0841772109, 0.962120533, -0.259300053, 0.0226008799, 0.25831449, 0.965785265),Alpha)
1537
			LS.C0 = LS.C0:lerp(CFrame.new(-1.34198368, 0.383808315, 0.099660337, 0.324967146, 0.259882778, 0.90930742, 0.638826787, -0.76930356, -0.00842937827, 0.697345734, 0.583627462, -0.416016668),Alpha)
1538
			RS.C0 = RS.C0:lerp(CFrame.new(1.34997082, 0.691436887, -0.00414918363, 0.308846682, -0.493054748, -0.813330948, -0.13198103, 0.824647903, -0.550033391, 0.94190836, 0.277220637, 0.18961516),Alpha)
1539
			NK.C0 = NK.C0:lerp(CFrame.new(4.42750752e-06, 1.50000238, 4.23006713e-06, 0.827343702, 0.0163316131, -0.561455429, -0.00340057909, 0.99970448, 0.024066925, 0.56168288, -0.0180016756, 0.827154636),Alpha)	
1540
		end
1541
	end
1542
	WalkSpeed = 8
1543
	Attack = false
1544
	NeutralAnims = true
1545
end
1546
1547
Mouse.KeyDown:connect(function(k)
1548
	if(Attack)then return end
1549
	if(k == 'q')then
1550
		local targ = (Mouse.Target and Mouse.Target.Parent)
1551
		if(targ and GetTorso(targ) and targ:FindFirstChildOfClass'Humanoid')then
1552
			ChangeTarget(targ)
1553
		end
1554
	elseif(k == 'z' and Target)then
1555
		BurnANigga()
1556
	end
1557
end)
1558
1559
Mouse.Button1Down:connect(function()
1560
	if(Attack)then return end
1561
	if(Target)then
1562
		KillVoodoo()
1563
	else
1564
	end
1565
end)
1566
1567
coroutine.wrap(function()
1568
	while true do
1569
		if(M.RNG(1,350) == 1 and not Glitching)then
1570
			for i = 1, M.RNG(100,300)/100 do
1571
				local TP = Music.TimePosition
1572
				Glitching = true
1573
				swait(M.RNG(15,30))
1574
				Glitching = false
1575
				Music.TimePosition = TP
1576
			end
1577
		end
1578
		swait()
1579
	end	
1580
end)()
1581
1582
local Texts = {"INSANITY","BURN","DIE","CRY","VOODOO","NO STRINGS ATTACHED"}
1583
coroutine.wrap(function()
1584
	while true do
1585
		if(M.RNG(1,65) >= (Glitching and 5 or 40))then
1586
			local frame = NewInstance("Frame",gui,{Size=UDim2.new(.26,0,.07,0),BackgroundTransparency=1,Position=UDim2.new(M.RNG(0,100)/100,0,M.RNG(0,100)/100,0)})
1587
			local fat = Texts[M.RNG(1,#Texts)]
1588
			local toxt = "";
1589
			for i = 1, #fat do
1590
				if(M.RNG(1,2) == 1)then
1591
					toxt = toxt..fat:sub(i,i):lower()
1592
				else
1593
					toxt = toxt..fat:sub(i,i)
1594
				end
1595
			end
1596
			local rot = M.RNG(-15,15)
1597
			local txt = NewInstance('TextLabel',frame,{Rotation=rot,TextTransparency=1,Text=toxt,TextColor3=C3.N(M.RNG(50,100)/100,0,0),FontSize=M.RNG(8,14),Font=Enum.Font.Antique})	
1598
			coroutine.wrap(function()
1599
				for i = 1, 30 do
1600
					swait()
1601
					txt.Rotation = rot+M.RNG(-15,15)
1602
					txt.TextTransparency = txt.TextTransparency - 1/30
1603
				end
1604
				for i = 1, 30 do
1605
					swait()
1606
					txt.Rotation = rot+M.RNG(-15,15)
1607
					txt.TextTransparency = txt.TextTransparency + 1/30
1608
				end
1609
				txt:destroy()
1610
			end)()
1611
		end
1612
		swait()
1613
	end
1614
end)()
1615
1616
local FT,RA,LA,RL,LL = Instance.new("BlockMesh"),Instance.new("BlockMesh"),Instance.new("BlockMesh"),Instance.new("BlockMesh"),Instance.new("BlockMesh")
1617
1618
local Meshes = {FT,RA,LA,RL,LL}
1619
1620
for _,v in next, Char:GetDescendants() do
1621
	if(v:IsA'DataModelMesh')then
1622
		table.insert(Meshes,v)
1623
	end
1624
end
1625
1626
while true do
1627
	swait()
1628
	
1629
	if(Target and (not Target.Parent or not Target:FindFirstChildOfClass'Humanoid' or Target:FindFirstChildOfClass'Humanoid'.Health <= 0))then
1630
		Target = nil
1631
		ResetVoodoo()
1632
	end
1633
	txt.Rotation = M.RNG(-150,150)/150
1634
	txt.Text = 'Target: '..(Target and Target.Name or '')
1635
	
1636
	ktxt.Rotation = M.RNG(-150,150)/150
1637
	ktxt.Text = 'Kills: '..Kills
1638
	
1639
	Hum.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
1640
	
1641
	VHum.PlatformStand = true
1642
	VHum:ChangeState(Enum.HumanoidStateType.Physics)
1643
	VHum:SetStateEnabled(Enum.HumanoidStateType.Dead,false)
1644
	
1645
	Sine = Sine + Change
1646
	if(not Music or not Music.Parent)then
1647
		local tp = (Music and Music.TimePosition)
1648
		Music = Sound(Char,MusicID,1,10,true,false,true)
1649
		Music.Name = 'Music'
1650
		Music.TimePosition = tp
1651
	end
1652
	Music.SoundId = "rbxassetid://"..MusicID
1653
	Music.Parent = Torso
1654
	Music.Pitch = (Glitching and M.RNG(55,175)/100 or 1)
1655
	Music.Volume = 3
1656
	if(not Muted)then
1657
		Music:Resume()
1658
	else
1659
		Music:Pause()
1660
	end
1661
	
1662
	if(God)then
1663
		Hum.MaxHealth = 1e100
1664
		Hum.Health = 1e100
1665
		if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
1666
		Hum.Name = M.RNG()*100
1667
	end
1668
	
1669
	local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4*PlayerSize)), Char)
1670
	
1671
	local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
1672
	local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and (Hum.WalkSpeed < 24 and "Walk" or "Run") or hitfloor and "Idle")
1673
	if(not Effects or not Effects.Parent)then
1674
		Effects = IN("Model",Char)
1675
		Effects.Name = "Effects"
1676
	end																																																																																																				
1677
	if(State == 'Run')then
1678
		local wsVal = 16 / (Hum.WalkSpeed/16)
1679
		local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
1680
		Change = 1
1681
		RH.C1 = RH.C1:lerp(CF.N(0,1-.5*M.C(Sine/wsVal)/2,.5*M.C(Sine/wsVal)/2)*CF.A(M.R(25-15*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/2,0,0),Alpha)
1682
		LH.C1 = LH.C1:lerp(CF.N(0,1+.5*M.C(Sine/wsVal)/2,-.5*M.C(Sine/wsVal)/2)*CF.A(M.R(25+15*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2,0,0),Alpha)
1683
	elseif(State == 'Walk')then
1684
		local wsVal = 7 / (Hum.WalkSpeed/16)
1685
		local Alpha = math.min(.15 * (Hum.WalkSpeed/16),1)
1686
		Change = 1
1687
		RH.C1 = RH.C1:lerp(CF.N(0,1-.5*M.C(Sine/wsVal)/2,.5*M.C(Sine/wsVal)/2)*CF.A(M.R(15-5*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/2,0,0),Alpha)
1688
		LH.C1 = LH.C1:lerp(CF.N(0,1+.5*M.C(Sine/wsVal)/2,-.5*M.C(Sine/wsVal)/2)*CF.A(M.R(15+5*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2,0,0),Alpha)
1689
	else
1690
		RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
1691
		LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
1692
	end
1693
	Hum.WalkSpeed = WalkSpeed
1694
	if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
1695
	if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
1696
	
1697
	if(Glitching)then
1698
		Hum.CameraOffset = V3.N(M.RNG(-25,25)/100,M.RNG(-25,25)/100,M.RNG(-25,25)/100)
1699
	elseif(not Hum:FindFirstChild'CamShaking')then
1700
		Hum.CameraOffset = V3.N(0,0,0)
1701
	end
1702
	
1703
	if(Glitching)then
1704
		RA.Parent = RArm
1705
		LA.Parent = LArm
1706
		FT.Parent = Torso
1707
		RL.Parent = RLeg
1708
		LL.Parent = LLeg
1709
		for _,v in next, Meshes do
1710
			v.Offset = V3.N(M.RNG(-25,25)/100,M.RNG(-25,25)/100,M.RNG(-25,25)/100)
1711
		end	
1712
1713
		RLeg.Material = Enum.Material.Neon
1714
		LLeg.Material = Enum.Material.Neon
1715
		RArm.Material = Enum.Material.Neon
1716
		LArm.Material = Enum.Material.Neon
1717
		Torso.Material = Enum.Material.Neon	
1718
		Head.Material = Enum.Material.Neon	
1719
	else
1720
		for _,v in next, Meshes do
1721
			v.Offset = V3.N(0,0,0)
1722
		end
1723
		RA.Parent = nil
1724
		LA.Parent = nil
1725
		FT.Parent = nil
1726
		RL.Parent = nil
1727
		LL.Parent = nil
1728
		RLeg.Material = Enum.Material.SmoothPlastic
1729
		LLeg.Material = Enum.Material.SmoothPlastic
1730
		RArm.Material = Enum.Material.SmoothPlastic
1731
		LArm.Material = Enum.Material.SmoothPlastic
1732
		Torso.Material = Enum.Material.SmoothPlastic
1733
		Head.Material = Enum.Material.SmoothPlastic
1734
	end
1735
	
1736
	if(NeutralAnims)then	
1737
		if(State == 'Idle')then
1738
			local Alpha = .1
1739
			Change = 1
1740
			NK.C0 = NK.C0:lerp(NKC0*CF.A(M.RRNG(-5,5),M.RRNG(-5,5),M.RRNG(-5,5)),.3)
1741
			if(M.RNG(1,45) == 45)then
1742
				NK.C0 = NK.C0:lerp(NKC0*CF.N(0,0,0)*CF.A(M.RRNG(15,65),M.RRNG(-35,35),0),1)
1743
			end
1744
			if(not Glitching)then
1745
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.1+.05*M.C(Sine/24),0)*CF.A(M.R(-15),0,0),Alpha)
1746
				LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(15),0,M.R(-5-5*M.C(Sine/24))),Alpha)
1747
				RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(105-5*M.C(Sine/24)),M.R(25),M.R(5+5*M.C(Sine/16))),Alpha)
1748
				LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/24),0)*CF.A(M.R(15),0,M.R(-5)),Alpha)
1749
				RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/24),0)*CF.A(M.R(15),0,M.R(5)),Alpha)
1750
			else
1751
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.2+.1*M.C(Sine/24),0)*CF.A(M.R(-45),0,0),1)
1752
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,.1*M.C(Sine/24),0)*CF.A(M.R(180),0,M.R(25)+M.RRNG(-3,3)),1)
1753
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,.1*M.C(Sine/24),0)*CF.A(M.R(180),0,M.R(-25)+M.RRNG(-3,3)),1)
1754
				LH.C0 = LH.C0:lerp(LHC0*CF.N(0,-.1*M.C(Sine/24),0)*CF.A(M.R(45),0,M.R(-5)),1)
1755
				RH.C0 = RH.C0:lerp(RHC0*CF.N(0,-.1*M.C(Sine/24),0)*CF.A(M.R(45),0,M.R(5)),1)
1756
				NK.C0 = NK.C0:lerp(NKC0*CF.N(0,0,-.2)*CF.A(M.R(-25),0,0)*CF.A(M.RRNG(-5,5),M.RRNG(-3,3),0),.1)
1757
			end
1758
			
1759
		elseif(State == 'Run')then
1760
			local wsVal = 7 / (Hum.WalkSpeed/16)
1761
			local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
1762
			RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-15+2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
1763
			NK.C0 = NK.C0:lerp(NKC0,Alpha)
1764
			LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+45*M.S(Sine/wsVal)),0,M.R(-5)),Alpha)
1765
			RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-45*M.S(Sine/wsVal)),0,M.R(5)),Alpha)
1766
			LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
1767
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
1768
		elseif(State == 'Walk')then
1769
			local wsVal = 7 / (Hum.WalkSpeed/16)
1770
			local Alpha = math.min(.15 * (Hum.WalkSpeed/16),1)			
1771
			NK.C0 = NK.C0:lerp(NKC0*CF.A(0,-Head.RotVelocity.y/75,0)*CF.A(M.RRNG(-5,5),M.RRNG(-5,5),M.RRNG(-5,5)),.3)
1772
			if(M.RNG(1,45) == 45)then
1773
				NK.C0 = NK.C0:lerp(NKC0*CF.N(0,0,0)*CF.A(M.RRNG(15,65),M.RRNG(-35,35),0),1)
1774
			end
1775
			if(not Glitching)then
1776
				RJ.C0 = RJ.C0:lerp(CF.N(0,-.075+.1*M.C(Sine/(wsVal/2)+-M.S(Sine/(wsVal/2))/7),0)*CF.A(M.R(-15-2.5*M.C(Sine/(wsVal/2))),M.R(4*M.C(Sine/wsVal)),Root.RotVelocity.y/75),Alpha)
1777
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,-.27*M.C(Sine/wsVal))*CF.A(M.R(28*M.C(Sine/wsVal)),0,M.R(-5-7*M.S(Sine/wsVal))+LArm.RotVelocity.y/35),Alpha)
1778
				RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(105-5*M.C(Sine/24)),M.R(25),M.R(5+5*M.C(Sine/16))),Alpha)
1779
				LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15+2.5*M.C(Sine/(wsVal/2))),M.R(-4*M.C(Sine/wsVal)),0),Alpha)
1780
				RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15+2.5*M.C(Sine/(wsVal/2))),M.R(-4*M.C(Sine/wsVal)),0),Alpha)
1781
			else
1782
				RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0,-.2+.1*M.C(Sine/24),0)*CF.A(M.R(-45),0,0),1)
1783
				LS.C0 = LS.C0:lerp(LSC0*CF.N(0,.1*M.C(Sine/24),0)*CF.A(M.R(180),0,M.R(25)+M.RRNG(-3,3)),1)
1784
				RS.C0 = RS.C0:lerp(RSC0*CF.N(0,.1*M.C(Sine/24),0)*CF.A(M.R(180),0,M.R(-25)+M.RRNG(-3,3)),1)
1785
				LH.C0 = LH.C0:lerp(LHC0*CF.N(0,-.1*M.C(Sine/24),0)*CF.A(M.R(45),0,M.R(-5)),1)
1786
				RH.C0 = RH.C0:lerp(RHC0*CF.N(0,-.1*M.C(Sine/24),0)*CF.A(M.R(45),0,M.R(5)),1)
1787
				NK.C0 = NK.C0:lerp(NKC0*CF.N(0,0,-.2)*CF.A(M.R(-25),0,0)*CF.A(M.RRNG(-5,5),M.RRNG(-3,3),0),.1)
1788
			end
1789
			
1790
		elseif(State == 'Jump')then
1791
			local Alpha = .1
1792
			local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
1793
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
1794
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
1795
			RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
1796
			NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
1797
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
1798
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
1799
		elseif(State == 'Fall')then
1800
			local Alpha = .1
1801
			local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
1802
			LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
1803
			RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
1804
			RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
1805
			NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
1806
			LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
1807
			RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
1808
		elseif(State == 'Paralyzed')then
1809
		elseif(State == 'Sit')then
1810
		end
1811
	end
1812
	
1813
	for i,v in next, BloodPuddles do
1814
		local mesh = i:FindFirstChild'CylinderMesh'
1815
		BloodPuddles[i] = v + 1
1816
		if(not mesh or i.Transparency >= 1)then
1817
			i:destroy() 
1818
			BloodPuddles[i] = nil
1819
		elseif(v >= Frame_Speed*4)then
1820
			local trans = (v-Frame_Speed*4)/(Frame_Speed*2)
1821
			i.Transparency = trans
1822
	            if(mesh.Scale.Z > 0)then
1823
	                mesh.Scale = mesh.Scale-V3.N(.05,0,.05)
1824
	            end
1825
		else
1826
			i.Transparency = 0
1827
		end
1828
	end
1829
end