SHARE
TWEET

Untitled

a guest Jan 20th, 2020 93 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Created by Nebula_Zorua --
  2. -- Your DeTERMINATION --
  3. -- Y o u  a c t  l i k e  y o u  h a v e  a  c h o i c e. =) --
  4. -- Discord: Nebula the Zorua#6969
  5. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  6.  
  7.  
  8. --// Initializing \\--
  9. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  10. local Plrs = S.Players
  11. local Plr = owner
  12. local Char = Plr.Character
  13. local Hum = Char:FindFirstChildOfClass'Humanoid'
  14. local RArm = Char["Right Arm"]
  15. local LArm = Char["Left Arm"]
  16. local RLeg = Char["Right Leg"]
  17. local LLeg = Char["Left Leg"]  
  18. local Root = Char:FindFirstChild'HumanoidRootPart'
  19. local Torso = Char.Torso
  20. local Head = Char.Head
  21. local NeutralAnims = true
  22. local Attack = false
  23. local BloodPuddles = {}
  24. local Effects = {}
  25. local Debounces = {Debounces={}}
  26. local Hit = {}
  27. local Sine = 0
  28. local Change = 1
  29. local Souls = 100
  30. --// Debounce System \\--
  31.  
  32.  
  33. function Debounces:New(name,cooldown)
  34.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  35.     setmetatable(aaaaa,{__index = Debounces})
  36.     Debounces.Debounces[name] = aaaaa
  37.     return aaaaa
  38. end
  39.  
  40. function Debounces:Use(overrideUsable)
  41.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  42.     if(self.Usable or overrideUsable)then
  43.         self.Usable = false
  44.         self.CoolingDown = true
  45.         local LastUse = time()
  46.         self.LastUse = LastUse
  47.         delay(self.Cooldown or 2,function()
  48.             if(self.LastUse == LastUse)then
  49.                 self.CoolingDown = false
  50.                 self.Usable = true
  51.             end
  52.         end)
  53.     end
  54. end
  55.  
  56. function Debounces:Get(name)
  57.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  58.     for i,v in next, Debounces.Debounces do
  59.         if(i == name)then
  60.             return v;
  61.         end
  62.     end
  63. end
  64.  
  65. function Debounces:GetProgressPercentage()
  66.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  67.     if(self.CoolingDown and not self.Usable)then
  68.         return math.max(
  69.             math.floor(
  70.                 (
  71.                     (time()-self.LastUse)/self.Cooldown or 2
  72.                 )*100
  73.             )
  74.         )
  75.     else
  76.         return 100
  77.     end
  78. end
  79.  
  80. --// Shortcut Variables \\--
  81. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  82. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  83. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  84. 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}
  85. local R3 = {N=Region3.new}
  86. local De = S.Debris
  87. local WS = workspace
  88. local Lght = S.Lighting
  89. local RepS = S.ReplicatedStorage
  90. local IN = Instance.new
  91. local CSK = ColorSequenceKeypoint.new
  92. local CS = ColorSequence.new
  93. --// Instance Creation Functions \\--
  94.  
  95. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  96.     local Sound = IN("Sound")
  97.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  98.     Sound.Pitch = pitch or 1
  99.     Sound.Volume = volume or 1
  100.     Sound.Looped = looped or false
  101.     if(autoPlay)then
  102.         coroutine.wrap(function()
  103.             repeat wait() until Sound.IsLoaded
  104.             Sound.Playing = autoPlay or false
  105.         end)()
  106.     end
  107.     if(not looped and effect)then
  108.         Sound.Stopped:connect(function()
  109.             Sound.Volume = 0
  110.             Sound:destroy()
  111.         end)
  112.     elseif(effect)then
  113.         warn("Sound can't be looped and a sound effect!")
  114.     end
  115.     Sound.Parent =parent or Torso
  116.     return Sound
  117. end
  118. function Part(parent,color,material,size,cframe,anchored,cancollide)
  119.     local part = IN("Part")
  120.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  121.     part.Material = (material or Enum.Material.SmoothPlastic)
  122.     part.TopSurface,part.BottomSurface=10,10
  123.     part.Size = (size or V3.N(1,1,1))
  124.     part.CFrame = (cframe or CF.N(0,0,0))
  125.     part.Anchored = (anchored or false)
  126.     part.CanCollide = (cancollide or false)
  127.     part.Parent = (parent or Char)
  128.     return part
  129. end
  130. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  131.     local part = IN("SpecialMesh")
  132.     part.MeshId = meshid or ""
  133.     part.TextureId = textid or ""
  134.     part.Scale = scale or V3.N(1,1,1)
  135.     part.Offset = offset or V3.N(0,0,0)
  136.     part.MeshType = meshtype or Enum.MeshType.Sphere
  137.     part.Parent = parent
  138.     return part
  139. end
  140.  
  141. NewInstance = function(instance,parent,properties)
  142.     local inst = Instance.new(instance,parent)
  143.     if(properties)then
  144.         for i,v in next, properties do
  145.             pcall(function() inst[i] = v end)
  146.         end
  147.     end
  148.     return inst;
  149. end
  150.  
  151.  
  152.  
  153. --// Extended ROBLOX tables \\--
  154. 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})
  155. --// Customization \\--
  156.  
  157. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  158. local Remove_Hats = false
  159. local Remove_Clothing = true
  160. local PlayerSize = 1
  161. local DamageColor = BrickColor.new'Really red'
  162. local MusicID = 935501955
  163. local WalkSpeed = 8
  164. local MaxSouls = 100
  165. local MaxHealth = 9999
  166.  
  167.  
  168. if(_G.RefusedAnimation == nil) then _G.RefusedAnimation = false end
  169.  
  170. --// Weapon and GUI creation, and Character Customization \\--
  171.  
  172. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  173. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  174. local Effects = IN("Folder",Char)
  175. Effects.Name = "Effects"
  176.  
  177. Hum.MaxHealth = MaxHealth
  178. Hum.Health = MaxHealth
  179.  
  180. local Knife = NewInstance("Part",Char,{Name='Knife',Size=V3.N(.4,3,.7),Anchored=false,CanCollide=false,Locked=true,Archivable=false,Reflectance=.01,Color=C3.N(0,0,0)})
  181. local KnifeMesh = Mesh(Knife,Enum.MeshType.FileMesh,"rbxassetid://121944778","rbxassetid://362719969",V3.N(1,1,1),V3.N())
  182. local AuraEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS{CSK(0,C3.N(1,0,0)),CSK(0.5,C3.N(1,1,0)),CSK(1,C3.RGB(255,191,0))},LightEmission=.5,LightInfluence=0,Size=NumberSequence.new(0.3),Texture="rbxassetid://141116476",Transparency=NumberSequence.new(0,1),LockedToPart=true,Lifetime=NumberRange.new(1),Rate=150,Speed=NumberRange.new(0)})
  183. local FireEmitter = NewInstance("ParticleEmitter",Knife,{EmissionDirection='Back',Color=CS(C3.N(1,0,0),C3.N(1,0,0)),LightEmission=.5,LightInfluence=0,Size=NumberSequence.new{NumberSequenceKeypoint.new(0,.5,0),NumberSequenceKeypoint.new(0.755,0,0),NumberSequenceKeypoint.new(1,0,0)},Texture="rbxassetid://141116476",Transparency=NumberSequence.new(0.35,1),Lifetime=NumberRange.new(1,2),Rate=150,Speed=NumberRange.new(3)})
  184.  
  185. local KTrail = NewInstance("Trail",Knife,{
  186.     Attachment0=NewInstance("Attachment",Knife,{Position=V3.N(0,-.4,0)}),
  187.     Attachment1=NewInstance("Attachment",Knife,{Position=V3.N(0,1.2,0)}),
  188.     Color=CS(C3.N(1,0,0)),
  189.     Enabled=false,
  190.     Transparency=NumberSequence.new(0,1),
  191.     Lifetime=1.25,
  192. })
  193. local Hair = Part(Char,C3.N(0,0,0),Enum.Material.SmoothPlastic,V3.N(1,1,1),CF.N(),false,false)
  194. local HairMesh = Mesh(Hair,Enum.MeshType.FileMesh,"rbxassetid://250264520","rbxassetid://75975464",V3.N(1.05,1.05,1.05),V3.N())
  195.  
  196. NewInstance("PointLight",Knife,{Color=C3.N(1,0,0),Range=10,Brightness=3})
  197.  
  198.  
  199. Hum.DisplayDistanceType = 'None'
  200.  
  201. local naeeym2 = IN("BillboardGui",Char)
  202. naeeym2.AlwaysOnTop = true
  203. naeeym2.Size = UDim2.new(5,35,2,15)
  204. naeeym2.StudsOffset = V3.N(0,2.5,0)
  205. naeeym2.Adornee = Char.Head
  206. naeeym2.Name = "Name"
  207. naeeym2.PlayerToHideFrom = Plr
  208. local tecks2 = IN("TextLabel",naeeym2)
  209. tecks2.BackgroundTransparency = 1
  210. tecks2.TextScaled = true
  211. tecks2.BorderSizePixel = 0
  212. tecks2.Text = "Chara"
  213. tecks2.Font = Enum.Font.Bodoni
  214. tecks2.TextSize = 30
  215. tecks2.TextStrokeTransparency = 0
  216. tecks2.TextColor3 = C3.N(0,0,0)
  217. tecks2.TextStrokeColor3 = C3.N(.7,0,0)
  218. tecks2.Size = UDim2.new(1,0,0.5,0)
  219. tecks2.Parent = naeeym2
  220.  
  221.  
  222. IN("Shirt",Char)
  223. IN("Pants",Char)
  224.  
  225. Hum.WalkSpeed = WalkSpeed
  226. if(PlayerSize ~= 1)then
  227.     for _,v in next, Char:GetDescendats() do
  228.         if(v:IsA'BasePart')then
  229.             v.Size = v.Size * PlayerSize
  230.         end
  231.     end
  232. end
  233.  
  234.  
  235. for i = 1, 35 do
  236.     local FACE = Part(Char,C3.N(0,0,0),Enum.Material.Neon,V3.N(1.01,.5,1.01),CF.N(),false,false)
  237.     FACE.Transparency = 0+(i-1)/35.2
  238.     FACE.Name = 'ShadowFace'
  239.     Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  240.     NewInstance("Weld",Head,{Part0=Head,Part1=FACE,C0=CF.N(0,.35-(i-1)/75,0)})
  241.     --CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  242. end
  243.  
  244. local LEye = Part(Char,C3.N(1,0,0),Enum.Material.Neon,V3.N(.15,.25,.2),CF.N(),false,false)
  245. local LEyeM = Mesh(LEye,Enum.MeshType.Sphere,"","",V3.N(1,1,1),V3.N())
  246. local LEyeW = NewInstance("Weld",LEye,{Part0=Head,Part1=LEye,C0=CF.N(-.2,.2,-.49)})
  247.  
  248. local REye = Part(Char,C3.N(1,0,0),Enum.Material.Neon,V3.N(.15,.25,.2),CF.N(),false,false)
  249. local REyeM = Mesh(REye,Enum.MeshType.Sphere,"","",V3.N(1,1,1),V3.N())
  250. local REyeW = NewInstance("Weld",REye,{Part0=Head,Part1=REye,C0=CF.N(.2,.2,-.49)})
  251.  
  252.  
  253. pcall(function()
  254.     Char.LeftWing:destroy()
  255.     Char.ReaperShadowHead:destroy()
  256. end)
  257.  
  258.  
  259. local Music = Sound(Torso,MusicID,1,3,true,false,true)
  260. Music.Name = 'Music'
  261.  
  262. --// Stop animations \\--
  263. for _,v in next, Hum:GetPlayingAnimationTracks() do
  264.     v:Stop();
  265. end
  266.  
  267. pcall(game.Destroy,Char:FindFirstChild'Animate')
  268. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  269.  
  270. --// Joints \\--
  271.  
  272. 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)})
  273. 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)})
  274. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  275. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  276. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  277. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  278. local HW = NewInstance('Motor',Char,{Part0=RArm,Part1=Knife,C0=CF.N(0,-1,-1)*CF.A(M.R(-90),0,0)})
  279. local HW2 = NewInstance('Motor',Char,{Part0=Head,Part1=Hair,C0=CF.N(0,.25,0)})
  280.  
  281. local LSC0 = LS.C0
  282. local RSC0 = RS.C0
  283. local NKC0 = NK.C0
  284. local LHC0 = LH.C0
  285. local RHC0 = RH.C0
  286. local RJC0 = RJ.C0
  287.  
  288. --// Artificial HB \\--
  289.  
  290. local ArtificialHB = IN("BindableEvent", script)
  291. ArtificialHB.Name = "Heartbeat"
  292.  
  293. script:WaitForChild("Heartbeat")
  294.  
  295. local tf = 0
  296. local allowframeloss = false
  297. local tossremainder = false
  298. local lastframe = tick()
  299. local frame = 1/Frame_Speed
  300. ArtificialHB:Fire()
  301.  
  302. game:GetService("RunService").Heartbeat:connect(function(s, p)
  303.     tf = tf + s
  304.     if tf >= frame then
  305.         if allowframeloss then
  306.             script.Heartbeat:Fire()
  307.             lastframe = tick()
  308.         else
  309.             for i = 1, math.floor(tf / frame) do
  310.                 ArtificialHB:Fire()
  311.             end
  312.             lastframe = tick()
  313.         end
  314.         if tossremainder then
  315.             tf = 0
  316.         else
  317.             tf = tf - frame * math.floor(tf / frame)
  318.         end
  319.     end
  320. end)
  321.  
  322. function swait(num)
  323.     if num == 0 or num == nil then
  324.         ArtificialHB.Event:wait()
  325.     else
  326.         for i = 0, num do
  327.             ArtificialHB.Event:wait()
  328.         end
  329.     end
  330. end
  331.  
  332.  
  333. --// Effect Function(s) \\--
  334.  
  335. function Bezier(startpos, pos2, pos3, endpos, t)
  336.     local A = startpos:lerp(pos2, t)
  337.     local B  = pos2:lerp(pos3, t)
  338.     local C = pos3:lerp(endpos, t)
  339.     local lerp1 = A:lerp(B, t)
  340.     local lerp2 = B:lerp(C, t)
  341.     local cubic = lerp1:lerp(lerp2, t)
  342.     return cubic
  343. end
  344.  
  345. function Tween(obj,props,time,easing,direction,repeats,backwards)
  346.     local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  347.     local tween = S.TweenService:Create(obj, info, props)
  348.    
  349.     tween:Play()
  350. end
  351.  
  352. local FXTable = {}
  353.  
  354. coroutine.resume(coroutine.create(function()
  355.     while true do
  356.         for i = 1, #FXTable do
  357.             local data = FXTable[i]
  358.             if(data)then
  359.                 local Frame = data.Frame
  360.                 local FX = data.Effect or 'ResizeAndFade'
  361.                 local Parent = data.Parent or Effects
  362.                 local Color = data.Color or C3.N(0,0,0)
  363.                 local Size = data.Size or V3.N(1,1,1)
  364.                 local MoveDir = data.MoveDirection or nil
  365.                 local MeshData = data.Mesh or nil
  366.                 local SndData = data.Sound or nil
  367.                 local Frames = data.Frames or 45
  368.                 local CFra = data.CFrame or Torso.CFrame
  369.                 local Settings = data.FXSettings or {}
  370.                 local Prt,Msh,Snd = data.Part,data.Mesh,data.Sound
  371.                 local grow = data.Grow
  372.                
  373.                 local MoveSpeed = nil;
  374.                 if(MoveDir)then
  375.                     MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  376.                 end
  377.                 if(FX ~= 'Arc')then
  378.                     Frame = Frame + 1
  379.                     if(FX == "Fade")then
  380.                         Prt.Transparency  = (Frame/Frames)
  381.                     elseif(FX == "Resize")then
  382.                         if(not Settings.EndSize)then
  383.                             Settings.EndSize = V3.N(0,0,0)
  384.                         end
  385.                         if(Settings.EndIsIncrement)then
  386.                             if(Msh)then
  387.                                 Msh.Scale = Msh.Scale + Settings.EndSize
  388.                             else
  389.                                 Prt.Size = Prt.Size + Settings.EndSize
  390.                             end                
  391.                         else
  392.                             if(Msh)then
  393.                                 Msh.Scale = Msh.Scale - grow/Frames
  394.                             else
  395.                                 Prt.Size = Prt.Size - grow/Frames
  396.                             end
  397.                         end
  398.                     elseif(FX == "ResizeAndFade")then
  399.                         if(not Settings.EndSize)then
  400.                             Settings.EndSize = V3.N(0,0,0)
  401.                         end
  402.                         if(Settings.EndIsIncrement)then
  403.                             if(Msh)then
  404.                                 Msh.Scale = Msh.Scale + Settings.EndSize
  405.                             else
  406.                                 Prt.Size = Prt.Size + Settings.EndSize
  407.                             end                
  408.                         else
  409.                             if(Msh)then
  410.                                 Msh.Scale = Msh.Scale - grow/Frames
  411.                             else
  412.                                 Prt.Size = Prt.Size - grow/Frames
  413.                             end
  414.                         end
  415.                         Prt.Transparency = (Frame/Frames)
  416.                     end
  417.                     if(Settings.RandomizeCFrame)then
  418.                         Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  419.                     end
  420.                     if(MoveDir and MoveSpeed)then
  421.                         local Orientation = Prt.Orientation
  422.                         Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  423.                         Prt.Orientation = Orientation
  424.                     end
  425.                     if(Prt.Transparency >= 1 or Frame >= Frames)then
  426.                         Prt:destroy()
  427.                         table.remove(FXTable,i)
  428.                     else
  429.                         data.Frame = Frame
  430.                     end
  431.                 else
  432.                     local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  433.                     if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  434.                     if(start and endP)then
  435.                         local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  436.                         local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  437.                         Frame = Frame + (Settings.Speed or 0.01)
  438.                         if(Settings.Home)then
  439.                             endP = Settings.Home.CFrame
  440.                         end
  441.                         Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  442.                         if(Prt.Transparency >= 1 or Frame >= Frames)then
  443.                             if(Settings.RemoveOnGoal)then
  444.                                 Prt:destroy()
  445.                             end
  446.                         end
  447.                     else
  448.                         Prt:destroy()
  449.                     end
  450.                 end
  451.             end
  452.         end
  453.         swait()
  454.     end
  455. end))
  456.  
  457. function Effect(data)
  458.     local FX = data.Effect or 'ResizeAndFade'
  459.     local Parent = data.Parent or Effects
  460.     local Color = data.Color or C3.N(0,0,0)
  461.     local Size = data.Size or V3.N(1,1,1)
  462.     local MoveDir = data.MoveDirection or nil
  463.     local MeshData = data.Mesh or nil
  464.     local SndData = data.Sound or nil
  465.     local Frames = data.Frames or 45
  466.     local Manual = data.Manual or nil
  467.     local Material = data.Material or nil
  468.     local CFra = data.CFrame or Torso.CFrame
  469.     local Settings = data.FXSettings or {}
  470.     local Shape = data.Shape or Enum.PartType.Block
  471.     local Snd,Prt,Msh;
  472.     coroutine.wrap(function()
  473.         if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  474.             Prt = Manual
  475.         else
  476.             Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  477.             Prt.Shape = Shape
  478.         end
  479.         if(typeof(MeshData) == 'table')then
  480.             Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  481.         elseif(typeof(MeshData) == 'Instance')then
  482.             Msh = MeshData:Clone()
  483.             Msh.Parent = Prt
  484.         elseif(Shape == Enum.PartType.Block)then
  485.             Msh = Mesh(Prt,Enum.MeshType.Brick)
  486.         end
  487.         if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
  488.             Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  489.         end
  490.         if(Snd)then
  491.             repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  492.             Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  493.         end
  494.         Size = (Msh and Msh.Scale or Size)
  495.         local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
  496.        
  497.         local MoveSpeed = nil;
  498.         if(MoveDir)then
  499.             MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  500.         end
  501.         if(FX ~= 'Arc')then
  502.             for Frame = 1, Frames do
  503.                 if(FX == "Fade")then
  504.                     Prt.Transparency  = (Frame/Frames)
  505.                 elseif(FX == "Resize")then
  506.                     if(not Settings.EndSize)then
  507.                         Settings.EndSize = V3.N(0,0,0)
  508.                     end
  509.                     if(Settings.EndIsIncrement)then
  510.                         if(Msh)then
  511.                             Msh.Scale = Msh.Scale + Settings.EndSize
  512.                         else
  513.                             Prt.Size = Prt.Size + Settings.EndSize
  514.                         end                
  515.                     else
  516.                         if(Msh)then
  517.                             Msh.Scale = Msh.Scale - grow/Frames
  518.                         else
  519.                             Prt.Size = Prt.Size - grow/Frames
  520.                         end
  521.                     end
  522.                 elseif(FX == "ResizeAndFade")then
  523.                     if(not Settings.EndSize)then
  524.                         Settings.EndSize = V3.N(0,0,0)
  525.                     end
  526.                     if(Settings.EndIsIncrement)then
  527.                         if(Msh)then
  528.                             Msh.Scale = Msh.Scale + Settings.EndSize
  529.                         else
  530.                             Prt.Size = Prt.Size + Settings.EndSize
  531.                         end                
  532.                     else
  533.                         if(Msh)then
  534.                             Msh.Scale = Msh.Scale - grow/Frames
  535.                         else
  536.                             Prt.Size = Prt.Size - grow/Frames
  537.                         end
  538.                     end
  539.                     Prt.Transparency = (Frame/Frames)
  540.                 end
  541.                 if(Settings.RandomizeCFrame)then
  542.                     Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  543.                 end
  544.                 if(MoveDir and MoveSpeed)then
  545.                     local Orientation = Prt.Orientation
  546.                     Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  547.                     Prt.Orientation = Orientation
  548.                 end
  549.                 swait()
  550.             end
  551.             Prt:destroy()
  552.         else
  553.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  554.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  555.             if(start and endP)then
  556.                 local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  557.                 local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  558.                 for Frame = 0, 1, (Settings.Speed or 0.01) do
  559.                     if(Settings.Home)then
  560.                         endP = Settings.Home.CFrame
  561.                     end
  562.                     Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  563.                 end
  564.                 if(Settings.RemoveOnGoal)then
  565.                     Prt:destroy()
  566.                 end
  567.             else
  568.                 Prt:destroy()
  569.                 assert(start,"You need a start position!")
  570.                 assert(endP,"You need a start position!")
  571.             end
  572.         end
  573.     end)()
  574.     return Prt,Msh,Snd
  575. end
  576.  
  577.  
  578.  
  579. function SoulSteal(whom,human)
  580.     local torso = (whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart' or whom:FindFirstChild'Torso')
  581.     local succ, health, alive = pcall(function() return whom:FindFirstChildOfClass'Humanoid'.Health, whom:FindFirstChildOfClass'Humanoid'.Health > 0 end)
  582.     if(torso and torso:IsA'BasePart' and alive == true)then
  583.         whom:FindFirstChildOfClass'Humanoid'.Health = 0
  584.         whom:BreakJoints()
  585.         local Model = IN("Model",Effects)
  586.         warn('Soul stolen from '..whom.Name)
  587.         Model.Name = whom.Name.."'s Soul"
  588.         local Soul = Part(Model,(human and BrickColor.new'Really red' or BrickColor.new(C3.N(1,1,1))),'Glass',V3.N(1,1,1),torso.CFrame,true,false)
  589.         Soul.CanCollide=false
  590.         Mesh(Soul,Enum.MeshType.Sphere)
  591.         Soul.Name = 'Head'
  592.         if(whom.Name == 'CKbackup')then
  593.             Soul.Color = C3.N(1,1,1)
  594.             local DripEmitter = NewInstance("ParticleEmitter",Soul,{EmissionDirection='Bottom',Color=CS(Soul.Color),LightEmission=.5,LightInfluence=0,Size=NumberSequence.new(0.3),Texture="rbxassetid://243132757",Transparency=NumberSequence.new(0,1),LockedToPart=false,Lifetime=NumberRange.new(1),Rate=150,Speed=NumberRange.new(5)})
  595.         end
  596.         local Hoom = NewInstance("Humanoid",Model,{MaxHealth=(health <= 10000 and health/2 or 10000),Health=(health <= 10000 and health/2 or 10000)})
  597.         local AT0 = NewInstance("Attachment",Soul,{Position=V3.N(0,.5,0)})
  598.         local AT1 = NewInstance("Attachment",Soul,{Position=V3.N(0,-.5,0)})
  599.         local Trail = NewInstance("Trail",Soul,{Attachment0=AT0,Attachment1=AT1,Transparency=NumberSequence.new(0),FaceCamera = true,Texture="rbxassetid://945758042",LightEmission=.3,Color=CS(Soul.Color),Lifetime=.5,MinLength=0})
  600.         NewInstance("PointLight",Soul,{Color=Soul.Color,Range=10,Brightness=(human and 3 or .5)})
  601.        
  602.         local turdso = Soul:Clone()
  603.         turdso.Name = "Torso"
  604.         turdso.CanCollide = false
  605.         turdso.Anchored = true
  606.         turdso.CFrame = Soul.CFrame
  607.         turdso.Parent = Model
  608.         turdso.Size = V3.N()
  609.         turdso.Transparency=1
  610.         local Distance = math.huge
  611.         repeat
  612.             Soul.CFrame = CF.N(Soul.Position,Torso.Position)*CF.N(0,0,-1)
  613.             turdso.CFrame = Soul.CFrame
  614.             Distance = (Soul.CFrame.p-Torso.CFrame.p).magnitude
  615.             swait()
  616.         until Hoom.Health <= 0 or not Soul.Parent or Distance <= 1.2
  617.         if(Soul.Parent and Hoom.Health > 0)then
  618.             Model:destroy()
  619.             Effect{
  620.                 Effect="ResizeAndFade",
  621.                 Mesh={Enum.MeshType.Sphere},
  622.                 Color = Soul.Color,
  623.                 CFrame=Torso.CFrame,
  624.                 Size=V3.N(3,3,3),
  625.                 Material=Enum.Material.Neon,
  626.                 Sound={SoundId=444667859,Pitch=1,Volume=2.5},
  627.                 FXSettings={
  628.                     EndSize=V3.N(6,6,6),
  629.                 }
  630.             }
  631.             Souls = Souls + (human and 1 or .1)
  632.             warn("Souls: "..Souls)
  633.             MaxHealth = MaxHealth + Hoom.Health
  634.             Hum.Health = Hum.Health + Hoom.Health
  635.             for i = 1, 5 do
  636.                 Effect{
  637.                     Effect="Fade",
  638.                     Color = Soul.Color,
  639.                     MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  640.                 }  
  641.             end
  642.         else
  643.            
  644.             warn("Soul destroyed!")
  645.             for i = 1, 5 do
  646.                 Effect{
  647.                     Effect="Fade",
  648.                     Color = Soul.Color,
  649.                     CFrame=Soul.CFrame,
  650.                     MoveDirection = (Soul.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  651.                 }  
  652.             end
  653.             Effect{
  654.                 Effect="ResizeAndFade",
  655.                 Mesh={Enum.MeshType.Sphere},
  656.                 Sound={SoundId=444667859,Pitch=1,Volume=5},
  657.                 Color = Soul.Color,
  658.                 CFrame=Soul.CFrame,
  659.                 Size=V3.N(3,3,3),
  660.                 Material=Enum.Material.Neon,
  661.                 FXSettings={
  662.                     EndSize=V3.N(6,6,6),
  663.                 }
  664.             }
  665.             Model:destroy()
  666.         end
  667.     end
  668. end
  669.  
  670. --// Other Functions \\ --
  671.  
  672. function getRegion(point,range,ignore)
  673.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  674. end
  675.  
  676. function clerp(startCF,endCF,alpha)
  677.     return startCF:lerp(endCF, alpha)
  678. end
  679.  
  680. function GetTorso(char)
  681.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  682. end
  683.  
  684. function ShowDamage(Pos, Text, Time, Color)
  685.     coroutine.wrap(function()
  686.     local Rate = (1 / Frame_Speed)
  687.     local Pos = (Pos or Vector3.new(0, 0, 0))
  688.     local Text = (Text or "")
  689.     local Time = (Time or 2)
  690.     local Color = (Color or Color3.new(1, 0, 1))
  691.     local EffectPart = NewInstance("Part",Effects,{
  692.         Material=Enum.Material.SmoothPlastic,
  693.         Reflectance = 0,
  694.         Transparency = 1,
  695.         BrickColor = BrickColor.new(Color),
  696.         Name = "Effect",
  697.         Size = Vector3.new(0,0,0),
  698.         Anchored = true,
  699.         CFrame = CF.N(Pos)
  700.     })
  701.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  702.         Size = UDim2.new(1.25, 0, 1.25, 0),
  703.         Adornee = EffectPart,
  704.     })
  705.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  706.         BackgroundTransparency = 1,
  707.         Size = UDim2.new(1, 0, 1, 0),
  708.         Text = Text,
  709.         Font = "Arcade",
  710.         TextColor3 = Color,
  711.         TextStrokeColor3 = Color3.new(0,0,0),
  712.         TextStrokeTransparency=0,
  713.         TextScaled = true,
  714.     })
  715.     S.Debris:AddItem(EffectPart, (Time))
  716.     EffectPart.Parent = workspace
  717.     delay(0, function()
  718.         Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  719.         local Frames = (Time / Rate)
  720.         for Frame = 1, Frames do
  721.             swait()
  722.             local Percent = (Frame / Frames)
  723.             TextLabel.TextTransparency = Percent
  724.             TextLabel.TextStrokeTransparency = Percent
  725.         end
  726.         if EffectPart and EffectPart.Parent then
  727.             EffectPart:Destroy()
  728.         end
  729.     end) end)()
  730. end
  731.  
  732. function Kill(whom)
  733.     if(whom.Name ~= 'Nebula_Zorua')then
  734.         local isPlr = Plrs:GetPlayerFromCharacter(whom) ~= nil
  735.         coroutine.wrap(SoulSteal)(whom,isPlr)
  736.         for _,v in next, whom:children() do
  737.             if(v:IsA'BasePart')then
  738.                 v.Parent = Effects
  739.                 v:ClearAllChildren()
  740.                 v.Anchored = true
  741.                 v.CanCollide = false
  742.                 v.Transparency = 1
  743.                 local dust = NewInstance("ParticleEmitter",v,{
  744.                     Color = ColorSequence.new(C3.N(1,1,1)),
  745.                     LightEmission=0,
  746.                     LightInfluence=1,
  747.                     Size=NumberSequence.new{NumberSequenceKeypoint.new(0,1,0),NumberSequenceKeypoint.new(1,0,0)},
  748.                     Texture="rbxassetid://284205403",
  749.                     Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,0,0),NumberSequenceKeypoint.new(1,1,0)},
  750.                     Lifetime = NumberRange.new(1),
  751.                     Rate=150,
  752.                     Acceleration = V3.N(0,10,0),
  753.                     Speed = NumberRange.new(5),
  754.                     Enabled = true
  755.                 })
  756.                 delay(1, function()
  757.                     dust.Enabled = false
  758.                     S.Debris:AddItem(v,2)
  759.                 end)
  760.             end
  761.         end
  762.     else
  763.         warn"nope. nawt happenin'"
  764.     end
  765. end
  766.  
  767. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  768.     if(who)then
  769.         local hum = who:FindFirstChildOfClass'Humanoid'
  770.         local Damage = M.RNG(minDam,maxDam)
  771.         local canHit = true
  772.         if(hum)then
  773.             for _, p in pairs(Hit) do
  774.                 if p[1] == hum then
  775.                     if(time() - p[2] < 0.4) then
  776.                         canHit = false
  777.                     else
  778.                         Hit[_] = nil
  779.                     end
  780.                 end
  781.             end
  782.             if(canHit)then
  783.                 table.insert(Hit,{hum,time()})
  784.                 if(GetTorso(who))then
  785.                     Sound(GetTorso(who),406913243,1,10,false,true,true)
  786.                 end
  787.                 if(hum.Health >= math.huge)then
  788.                     Kill(who)
  789.                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  790.                         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))), "INSTANT", 3, DamageColor.Color)
  791.                     end
  792.                 else
  793.                     local player = S.Players:GetPlayerFromCharacter(who)
  794.                     if(Type == "Fire")then
  795.                         --idk..
  796.                     else
  797.                         local  c = Instance.new("ObjectValue",hum)
  798.                         c.Name = "creator"
  799.                         c.Value = Plr
  800.                         game:service'Debris':AddItem(c,0.35)
  801.                         local Crit = false
  802.                         if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
  803.                             Crit = true
  804.                             Damage = Damage*(critMult or 2)
  805.                         end
  806.                         Damage = Damage*((Souls/9999999)+1)
  807.                         if(who:FindFirstChild'Head' and hum.Health > 0)then
  808.                             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))), (Crit and "[CRIT] " or "").. math.floor(Damage), 3, (Crit and BrickColor.new'New Yeller'.Color or DamageColor.Color))
  809.                         end
  810.                        
  811.                         if(hum.Health - Damage <= 0)then
  812.                             Kill(who)
  813.                         else
  814.                             hum.Health = hum.Health - Damage
  815.                             if(Type == 'Knockback' and GetTorso(who))then
  816.                                 local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  817.                                 local body = NewInstance('BodyVelocity',GetTorso(who),{
  818.                                     P = 500,
  819.                                     maxForce = V3.N(math.huge,0,math.huge),
  820.                                     velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  821.                                 })
  822.                                 game:service'Debris':AddItem(body,.5)
  823.                             elseif(Type == "Electric")then
  824.                                 if(M.RNG(1,100) >= critChance)then
  825.                                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  826.                                         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))), "[PARALYZED]", 3, BrickColor.new"New Yeller".Color)
  827.                                     end
  828.                                     local asd = hum.WalkSpeed/2
  829.                                     hum.WalkSpeed = asd
  830.                                     local paralyzed = true
  831.                                     coroutine.wrap(function()
  832.                                         while paralyzed do
  833.                                             swait(25)
  834.                                             if(M.RNG(1,25) == 1)then
  835.                                                 if(who:FindFirstChild'Head' and hum.Health > 0)then
  836.                                                     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))), "[STATIC]", 3, BrickColor.new"New Yeller".Color)
  837.                                                 end
  838.                                                 hum.PlatformStand = true
  839.                                             end
  840.                                         end
  841.                                     end)()
  842.                                     delay(4, function()
  843.                                         paralyzed = false
  844.                                         hum.WalkSpeed = hum.WalkSpeed + asd
  845.                                     end)
  846.                                 end
  847.                                
  848.                             elseif(Type == 'Knockdown' and GetTorso(who))then
  849.                                 local rek = GetTorso(who)
  850.                                 hum.PlatformStand = true
  851.                                 delay(1,function()
  852.                                     hum.PlatformStand = false
  853.                                 end)
  854.                                 local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  855.                                 local bodvol = NewInstance("BodyVelocity",rek,{
  856.                                     velocity = angle * Knock,
  857.                                     P = 5000,
  858.                                     maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  859.                                 })
  860.                                 local rl = NewInstance("BodyAngularVelocity",rek,{
  861.                                     P = 3000,
  862.                                     maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  863.                                     angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  864.                                 })
  865.                                 game:GetService("Debris"):AddItem(bodvol, .5)
  866.                                 game:GetService("Debris"):AddItem(rl, .5)
  867.                             end
  868.                         end
  869.                     end
  870.                 end
  871.             end
  872.         end
  873.     end
  874. end
  875.  
  876.  
  877. function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
  878.     for _,v in next, getRegion(where,range,{Char}) do
  879.         if(v.Name ~= 'Nebula_Zorua')then
  880.             if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  881.                 DealDamage(v.Parent,minDam,maxDam,Knock,Type,critChance,critMult)
  882.             end
  883.         end
  884.     end
  885. end
  886.  
  887. function AOEKill(where,range)
  888.     for _,v in next, getRegion(where,range,{Char,Effects}) do
  889.         local succ,alive = pcall(function() return v.Parent:FindFirstChildOfClass'Humanoid'.Health > 0 end)
  890.         if(v.Name ~= 'Nebula_Zorua')then
  891.             if(v.Parent and alive == true)then
  892.                 coroutine.wrap(Kill)(v.Parent)
  893.             end
  894.         end
  895.     end
  896. end
  897.  
  898. function AOEHeal(where,range,amount)
  899.     local healed = {}
  900.     for _,v in next, getRegion(where,range,{Char}) do
  901.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  902.         if(hum and not healed[hum])then
  903.             hum.Health = hum.Health + amount
  904.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  905.                 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)
  906.             end
  907.         end
  908.     end
  909. end
  910.  
  911.  
  912. --// Attack Functions \\--
  913.  
  914.  
  915. function Slash()
  916.     Attack = true
  917.     NeutralAnims = false
  918.     local sound = Sound(Knife,437475935,1,5,false,true,false)
  919.     for i = 0, 2, 0.1 do
  920.         swait()
  921.         local Alpha = .2
  922.         RJ.C0 = clerp(RJ.C0,CFrame.new(0.0343287587, 0.00629056804, 0.0572580174, 0.943793893, 0.00207689893, 0.330528289, 1.0000764e-06, 0.99998033, -0.00628630351, -0.330534875, 0.00593330665, 0.943775296),Alpha)
  923.         LH.C0 = clerp(LH.C0,CFrame.new(-0.496478021, -0.990818381, 0.021652732, 0.999878168, 0, 0.0156089365, -9.80779296e-05, 0.99998033, 0.00628268253, -0.0156086385, -0.00628344761, 0.999858379),Alpha)
  924.         RH.C0 = clerp(RH.C0,CFrame.new(0.498511612, -0.990985274, 0.0154910646, 0.999878168, 0, 0.0156089365, -9.80779296e-05, 0.99998033, 0.00628268253, -0.0156086385, -0.00628344761, 0.999858379),Alpha)
  925.         LS.C0 = clerp(LS.C0,CFrame.new(-1.32692134, 0.474511296, -0.0055731535, 0.934981823, 0.354351997, 0.0156129003, -0.354479939, 0.93504262, 0.00628374517, -0.0123721063, -0.0114096552, 0.999858379),Alpha)
  926.         RS.C0 = clerp(RS.C0,CFrame.new(1.12629449, 0.369358033, -0.486052871, 0.490151912, 0.65154773, 0.57899636, 0.721657813, 0.0691910982, -0.688783586, -0.488836735, 0.755445719, -0.436280251),Alpha)
  927.         NK.C0 = clerp(NK.C0,CFrame.new(-0.0118216109, 1.49854016, -0.0795068145, 0.943793833, 0.0190048125, -0.329988182, 0.00207654224, 0.997985244, 0.0634154305, 0.330528468, -0.0605363287, 0.94185257),Alpha)
  928.         HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  929.     end
  930.     KTrail.Enabled = true
  931.     sound:Play()
  932.     for i = 0, 2.5, 0.1 do
  933.         swait()
  934.         AOEDamage(Knife.CFrame.p,1,15,30,0,"Normal",0,1)
  935.         local Alpha = .25
  936.         RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0352100767, 0.00629066909, -0.0097481478, 0.817972422, -0.00361463916, -0.575246274, -1.74103582e-06, 0.99998033, -0.00628598873, 0.575257719, 0.00514276745, 0.817956269),Alpha)
  937.         LH.C0 = clerp(LH.C0,CFrame.new(-0.496478021, -0.990818381, 0.0216572341, 0.999878287, 0, 0.015610218, -9.80866607e-05, 0.99998033, 0.00628274865, -0.0156098902, -0.00628351374, 0.999858499),Alpha)
  938.         RH.C0 = clerp(RH.C0,CFrame.new(0.498511702, -0.990985274, 0.0154905058, 0.999878287, 0, 0.015610218, -9.80866607e-05, 0.99998033, 0.00628274865, -0.0156098902, -0.00628351374, 0.999858499),Alpha)
  939.         LS.C0 = clerp(LS.C0,CFrame.new(-1.32694602, 0.474510223, -0.00555660389, 0.934981823, 0.354351729, 0.0156157613, -0.354479671, 0.935042739, 0.00628153514, -0.012375474, -0.0114085823, 0.999858379),Alpha)
  940.         RS.C0 = clerp(RS.C0,CFrame.new(1.23906493, 0.406229913, 0.00231830776, 0.49015066, -0.849889755, 0.193494052, 0.721655607, 0.520183682, 0.456752002, -0.488841236, -0.0842411816, 0.868295968),Alpha)
  941.         NK.C0 = clerp(NK.C0,CFrame.new(0.0315471888, 1.49887729, -0.0257819965, 0.817972481, -0.0330747738, 0.574305832, -0.00361499586, 0.998030663, 0.0626262054, -0.575246155, -0.0533026271, 0.81624186),Alpha)
  942.         HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  943.     end
  944.     KTrail.Enabled = false
  945.     Attack = false
  946.     NeutralAnims = true
  947. end
  948.  
  949. Mouse.Button1Down:connect(function()
  950.     if(Attack)then return end
  951.     Slash()
  952. end)
  953.  
  954. Mouse.KeyDown:connect(function(k)
  955.     if(Attack)then return end
  956.     if(k == 'z')then AOEKill(Root.CFrame.p,25) end -- TODO: Animation and effects
  957.     if(k == 'q')then WalkSpeed = (WalkSpeed == 8 and 32 or 8) end  
  958. end)
  959.  
  960.  
  961. function Refuse()
  962.     Attack = true
  963.     warn("B u t  i t  r e f u s e d.")
  964.     local oMH = MaxHealth
  965.     MaxHealth = "inf"
  966.     Hum.MaxHealth = "inf"
  967.     Hum.Health = "inf"
  968.     Char.Parent = nil
  969.     Hum:destroy()
  970.     if(not _G.RefusedAnimation)then
  971.         _G.RefusedAnimation = true
  972.        
  973.    
  974.         local Soul;
  975.         function Soul(where,decalId)
  976.             local destroy = false  
  977.             local soul = NewInstance("Part",workspace)
  978.             soul.Name = "Soul"
  979.             soul.Transparency=1
  980.             soul.Size = V3.N(2,2,.05)
  981.             soul.Anchored=true
  982.             soul.CanCollide=false
  983.             soul.CFrame = where
  984.             local heartF = NewInstance("Decal",soul,{Face=Enum.NormalId.Front,Texture="rbxassetid://"..decalId})
  985.             local heartB = NewInstance("Decal",soul,{Face=Enum.NormalId.Back,Texture="rbxassetid://"..decalId})
  986.             return soul,heartF,heartB
  987.         end
  988.         local owo = Root.CFrame
  989.         local s,f,b = Soul(owo,1569347904)
  990.         swait(60)
  991.         local snd = Sound(s,862552636,1,5,false,false,false)
  992.         snd:Play()
  993.         f.Texture = "rbxassetid://1569348344"
  994.         b.Texture = "rbxassetid://1569348344"
  995.         swait(15)
  996.         snd:Stop()
  997.         swait(60)
  998.         print'lol'
  999.         for i = 0, 6, .1 do
  1000.             swait()
  1001.             s.CFrame = owo * CF.N(M.RNG(-50,50)/100,M.RNG(-50,50)/100,M.RNG(-50,50)/100)
  1002.         end
  1003.         local snd = Sound(s,862552636,1,5,false,false,false)
  1004.         snd:Play()
  1005.         s.CFrame = owo
  1006.         f.Texture = "rbxassetid://1569347904"
  1007.         b.Texture = "rbxassetid://1569347904"
  1008.         swait(15)
  1009.         snd:Stop()
  1010.         swait(60)
  1011.    
  1012.         s:destroy()
  1013.     end
  1014.    
  1015.     RJ.Parent = Char
  1016.     LS.Parent = Char
  1017.     RS.Parent = Char
  1018.     LH.Parent = Char
  1019.     RH.Parent = Char
  1020.     NK.Parent = Char
  1021.    
  1022.     LArm.Parent = Char
  1023.     RArm.Parent = Char
  1024.     LLeg.Parent = Char
  1025.     LArm.Parent = Char
  1026.     Root.Parent = Char
  1027.     Torso.Parent = Char
  1028.     Head.Parent = Char
  1029.    
  1030.     Knife.Parent = Char
  1031.     Hair.Parent = Char
  1032.    
  1033.     HW.Parent = Char
  1034.     HW2.Parent = Char
  1035.    
  1036.  
  1037.     REye:destroy()
  1038.     LEye:destroy()
  1039.    
  1040.     for _,v in next, Char:children() do
  1041.         if(v.Name == 'ShadowFace')then v:destroy() end
  1042.     end
  1043.     LEye = Part(Char,C3.N(1,0,0),Enum.Material.Neon,V3.N(.15,.25,.2),CF.N(),false,false)
  1044.     LEyeM = Mesh(LEye,Enum.MeshType.Sphere,"","",V3.N(1,1,1),V3.N())
  1045.     LEyeW = NewInstance("Weld",LEye,{Part0=Head,Part1=LEye,C0=CF.N(-.2,.2,-.49)})
  1046.    
  1047.     REye = Part(Char,C3.N(1,0,0),Enum.Material.Neon,V3.N(.15,.25,.2),CF.N(),false,false)
  1048.     REyeM = Mesh(REye,Enum.MeshType.Sphere,"","",V3.N(1,1,1),V3.N())
  1049.     REyeW = NewInstance("Weld",REye,{Part0=Head,Part1=REye,C0=CF.N(.2,.2,-.49)})
  1050.     for i = 1, 35 do
  1051.         local FACE = Part(Char,C3.N(0,0,0),Enum.Material.Neon,V3.N(1.01,.5,1.01),CF.N(),false,false)
  1052.         FACE.Transparency = 0+(i-1)/35.2
  1053.         FACE.Name = 'ShadowFace'
  1054.         Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1055.         NewInstance("Weld",Head,{Part0=Head,Part1=FACE,C0=CF.N(0,.35-(i-1)/75,0)})
  1056.         --CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1057.     end
  1058.     Hum = NewInstance("Humanoid",Char,{DisplayDistanceType='None'})
  1059.     ConnectHum()
  1060.     MaxHealth = oMH
  1061.     Hum.MaxHealth = MaxHealth
  1062.     Hum.Health = MaxHealth
  1063.     swait(5)
  1064.     Char.Parent = workspace
  1065.    
  1066.     Attack = false
  1067. end
  1068.  
  1069. function ConnectHum()
  1070.     Hum.Died:connect(Refuse)
  1071. end
  1072. ConnectHum()
  1073.  
  1074.  
  1075. --// Wrap it all up \\--
  1076. while true do
  1077.     swait()
  1078.     Sine = Sine + Change
  1079.     if(not Music)then
  1080.         Music = Sound(Torso,MusicID,1,3,true,false,true)
  1081.         Music.Name = 'Music'
  1082.     end
  1083.     Music.Pitch = 1
  1084.     Music.Volume = 5
  1085.     Music.SoundId = "rbxassetid://"..MusicID
  1086.     Music.Parent = Torso
  1087.     Music:Resume()
  1088.     local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * 4), Char)
  1089.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1090.     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 "Walk" or hitfloor and "Idle")
  1091.     if(not Effects or not Effects.Parent)then
  1092.         Effects = IN("Model",Char)
  1093.         Effects.Name = "Effects"
  1094.     end
  1095.     Hum.WalkSpeed = WalkSpeed
  1096.     if(State == 'Walk')then
  1097.         if(Hum.WalkSpeed >= 24)then
  1098.             local wsVal = 22 / (Hum.WalkSpeed/16)
  1099.             local Alpha = math.min(.1 * (Hum.WalkSpeed/16),1)
  1100.             Change = 2
  1101.             RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.2*M.C(Sine/wsVal),0+.4*M.C(Sine/wsVal))*CF.A(M.R(25+45*M.C(Sine/wsVal))+-M.S(Sine/wsVal),0,0),Alpha)
  1102.             LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.2*M.C(Sine/wsVal),0-.4*M.C(Sine/wsVal))*CF.A(M.R(25-45*M.C(Sine/wsVal))+M.S(Sine/wsVal),0,0),Alpha)
  1103.         else
  1104.             Change = .9
  1105.             local wsVal = 8 / (Hum.WalkSpeed/8)
  1106.             local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
  1107.             LH.C1 = LH.C1:lerp(CF.N(0,1-.2*M.C(Sine/wsVal)/2,.4*M.C(Sine/wsVal)/2)*CF.A(M.R(15-2*M.C(Sine/wsVal))-M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0-3*M.C(Sine/wsVal)),0,0),Alpha)
  1108.             RH.C1 = RH.C1:lerp(CF.N(0,1+.2*M.C(Sine/wsVal)/2,-.4*M.C(Sine/wsVal)/2)*CF.A(M.R(15+2*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0)*CF.A(M.R(0+3*M.C(Sine/wsVal)),0,0),Alpha)
  1109.         end
  1110.     else
  1111.         RH.C1 = RH.C1:lerp(CF.N(0,1,0),.1)
  1112.         LH.C1 = LH.C1:lerp(CF.N(0,1,0),.1)
  1113.     end
  1114.     for _,v in next, Char:children() do
  1115.         if(v:IsA'Accessory')then
  1116.             v:destroy()
  1117.         elseif(v:IsA'Shirt')then
  1118.             v.ShirtTemplate = "rbxassetid://344089667"
  1119.         elseif(v:IsA'Pants')then
  1120.             v.PantsTemplate = "rbxassetid://344084364"
  1121.         elseif(v:IsA'CharacterMesh')then
  1122.             v:destroy()
  1123.         elseif(v:FindFirstChildOfClass'ShirtGraphic')then
  1124.             v:FindFirstChildOfClass'ShirtGraphic':destroy()
  1125.         end
  1126.     end
  1127.     local face = Head:FindFirstChild'face'
  1128.     if(not face)then
  1129.         NewInstance("Decal",Head,{Name='face',Face=Enum.NormalId.Front,Texture="rbxassetid://404306534"})
  1130.     else
  1131.         face.Texture = "rbxassetid://404306534"
  1132.     end
  1133.     RArm.BrickColor = BrickColor.new'Pastel brown'
  1134.     LArm.BrickColor = BrickColor.new'Pastel brown'
  1135.     RLeg.BrickColor = BrickColor.new'Pastel brown'
  1136.     LLeg.BrickColor = BrickColor.new'Pastel brown'
  1137.     Torso.BrickColor = BrickColor.new'Pastel brown'
  1138.     Head.BrickColor = BrickColor.new'Pastel brown'
  1139.     Hum.Name = 'Chara'
  1140.     if(Hum.MaxHealth ~= MaxHealth)then
  1141.         Hum.MaxHealth = MaxHealth
  1142.     end
  1143.     Hum.DisplayDistanceType='None'
  1144.     if(NeutralAnims)then   
  1145.         if(State == 'Idle')then
  1146.             Change = 1
  1147.             local Alpha = .1
  1148.             RJ.C0 = clerp(RJ.C0,CFrame.new(-0.0999571308, 0+.05*M.C(Sine/16), -0.237876296, 0.857335567, -0.00323621999, -0.514731407, 0, 0.99998033, -0.00628707698, 0.51474154, 0.00539013464, 0.85731858),Alpha)
  1149.             LH.C0 = clerp(LH.C0,CFrame.new(-0.536091685, -0.991042495-.05*M.C(Sine/16), -0.0134909991, 0.849195242, 0, 0.528063774, -0.00331997755, 0.99998033, 0.00533895614, -0.528053343, -0.00628707698, 0.849178433),Alpha)
  1150.             RH.C0 = clerp(RH.C0,CFrame.new(0.529067397, -0.991597891-.05*M.C(Sine/16), -0.0818087086, 0.849195242, 0, 0.528063774, -0.00331997755, 0.99998033, 0.00533895614, -0.528053343, -0.00628707698, 0.849178433),Alpha)
  1151.             LS.C0 = clerp(LS.C0,CFrame.new(-1.32175505, 0.156236127+.15*M.C(Sine/16), 0.233877867, 0.877554953, -0.456876248, 0.145469457, 0.259513229, 0.707695842, 0.657129884, -0.403175086, -0.538916171, 0.739607573),Alpha)
  1152.             RS.C0 = clerp(RS.C0,CFrame.new(1.2516855, 0.604915917+.15*M.C(Sine/16), -0.0189059302, 0.915104508, -0.287113011, -0.283108115, 0.301054537, 0.953587949, 0.00603589695, 0.268235415, -0.0907544345, 0.959069014),Alpha)
  1153.             NK.C0 = clerp(NK.C0,CFrame.new(1.79447234e-05, 1.49895597, -0.0143749639, 0.769539058, -0.360377938, 0.527197778, 0.387706369, 0.919646919, 0.0627188534, -0.507438183, 0.156133309, 0.847424924),Alpha)
  1154.             HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  1155.             -- idle
  1156.         elseif(State == 'Walk')then
  1157.             if(Hum.WalkSpeed >= 24)then
  1158.                 local wsVal = 22 / (Hum.WalkSpeed/16)
  1159.                 local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1160.                 RJ.C0 = RJ.C0:lerp(CF.N(0,0-.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-15),M.R(0-15*M.S(Sine/wsVal)/2),0),Alpha)
  1161.                 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+15*M.S(Sine/wsVal))),Alpha)
  1162.                 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+15*M.S(Sine/wsVal))),Alpha)
  1163.                 NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(15),0,0),Alpha)
  1164.                 LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15),0,0),Alpha)
  1165.                 RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.15*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(15),0,0),Alpha)
  1166.                 HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  1167.             else
  1168.                 local wsVal = 8 / (Hum.WalkSpeed/8)
  1169.                 local Alpha = math.min(.2 * (Hum.WalkSpeed/8),1)
  1170.                 RJ.C0 = RJ.C0:lerp(CF.N(0,0-.05*M.C(Sine/(wsVal/2)),0)*CF.A(0,M.R(0-5*M.S(Sine/wsVal)/2),0),Alpha)
  1171.                 LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-25*M.S(Sine/wsVal)),0,M.R(5-5*M.S(Sine/wsVal))),Alpha)
  1172.                 RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+25*M.S(Sine/wsVal)),0,M.R(-5-5*M.S(Sine/wsVal))),Alpha)
  1173.                 NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1174.                 LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.05*M.C(Sine/(wsVal/2)),0),Alpha)
  1175.                 RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.05*M.C(Sine/(wsVal/2)),0),Alpha)
  1176.                 HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  1177.             end
  1178.         elseif(State == 'Jump' or State == 'Fall')then
  1179.             if(Walking)then
  1180.                 local Alpha = .2
  1181.                 RJ.C0 = clerp(RJ.C0,RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(65)),M.R(65)),0,0),Alpha)
  1182.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.497912645, -1.0987643, -0.0683324337, 0.999878228, 0.00860835519, 0.0130246133, -0.00010142161, 0.837816596, -0.545952022, -0.015611981, 0.545884132, 0.837715328),Alpha)
  1183.                 RH.C0 = clerp(RH.C0,CFrame.new(0.499978393, -1.16382337, 0.109293163, 0.999878228, -0.0120433727, 0.00993486121, -0.00010142161, 0.631323814, 0.775519371, -0.015611981, -0.775425911, 0.631245613),Alpha)
  1184.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
  1185.                 RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
  1186.                 NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
  1187.                 HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  1188.             else
  1189.                 local Alpha = .2
  1190.                 RJ.C0 = clerp(RJ.C0,RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(65)),M.R(65)),0,0),Alpha)
  1191.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.504374504, -0.291219354, -0.487436086, 0.999878228, -0.00438931212, 0.0149825988, -0.00010142161, 0.957819223, 0.287371844, -0.015611981, -0.287338346, 0.957701981),Alpha)
  1192.                 RH.C0 = clerp(RH.C0,CFrame.new(0.453094482, -0.871358454, 0.0898642987, 0.985589385, -0.168456957, 0.0153662469, 0.162863791, 0.969548643, 0.182895929, -0.0457084104, -0.177757636, 0.983012319),Alpha)
  1193.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.55211556, 0.576563478, -0.00269976072, 0.976067662, 0.216906726, 0.0156116467, -0.217024669, 0.976145923, 0.00628317893, -0.0138763804, -0.00952091813, 0.999858499),Alpha)
  1194.                 RS.C0 = clerp(RS.C0,CFrame.new(1.50182188, 0.636661649, 0.00632623257, 0.977592707, -0.209926367, 0.0156121543, 0.209851891, 0.977713108, 0.00628198683, -0.016582964, -0.00286500831, 0.999858439),Alpha)
  1195.                 NK.C0 = clerp(NK.C0,CFrame.new(1.14440072e-05, 1.49924362, -0.0143961608, 1.00000024, -5.82076609e-11, 0, 1.23691279e-10, 0.997964919, 0.0637660474, 0, -0.0637660623, 0.997965038),Alpha)
  1196.                 HW.C0 = HW.C0:lerp(CF.N(0,-1,-1)*CF.A(M.R(-90),0,0),Alpha)
  1197.             end
  1198.         elseif(State == 'Paralyzed')then
  1199.             -- paralyzed
  1200.         elseif(State == 'Sit')then
  1201.             -- sit
  1202.         end
  1203.     end
  1204. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top