Advertisement
TYTMXHFL

???

Apr 9th, 2021 (edited)
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 77.61 KB | None | 0 0
  1. _F=require(script.replicator)
  2. Mouse,mouse,UserInputService,ToolFunction,GuiWire,RenderStepped,Player=_F,_F,_F,_F,_F,_F.RenderStepped,_F.LocalPlayer
  3. --------------------------------------------------------------
  4.     local AHB = Instance.new("BindableEvent")
  5.    
  6.     local FPS = 30
  7.    
  8.     local TimeFrame = 0
  9.    
  10.     local LastFrame = tick()
  11.     local Frame = 1/FPS
  12.    
  13.     game:service'RunService'.Heartbeat:connect(function(s,p)
  14.         TimeFrame = TimeFrame + s
  15.         if(TimeFrame >= Frame)then
  16.             for i = 1,math.floor(TimeFrame/Frame) do
  17.                 AHB:Fire()
  18.             end
  19.             LastFrame=tick()
  20.             TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  21.         end
  22.     end)
  23.  
  24.  
  25.     function swait(dur)
  26.         if(dur == 0 or typeof(dur) ~= 'number')then
  27.             AHB.Event:wait()
  28.         else
  29.             for i = 1, dur*FPS do
  30.                 AHB.Event:wait()
  31.             end
  32.         end
  33.     end
  34.    
  35.     local oPlayer = Player
  36.     local Player = oPlayer
  37.    
  38.     local loudnesses={}
  39.     script.Parent = Player.Character
  40.     local CoAS = {Actions={}}
  41.     local Event = Instance.new("RemoteEvent")
  42.     Event.Name = "UserInputEvent"
  43.     Event.Parent = Player.Character
  44.     local Func = Instance.new("RemoteFunction")
  45.     Func.Name = "GetClientProperty"
  46.     Func.Parent = Player.Character
  47.         Func.OnServerInvoke = function(plr,inst,play)
  48.             if plr~=Player then return end
  49.             if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  50.                 loudnesses[inst]=play  
  51.             end
  52.         end
  53.         fakegame = game
  54.         function GetClientProperty(inst,prop)
  55.             if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  56.                 return loudnesses[inst]
  57.             elseif(prop == 'PlaybackLoudness')then
  58.                 return Func:InvokeClient(Player,'RegSound',inst)
  59.             end
  60.             return Func:InvokeClient(Player,inst,prop)
  61.         end
  62.    
  63.  
  64. -- Created by Nebula_Zorua --
  65. -- Purity Claws --
  66. -- Remake of Shack's scripts --
  67. -- Discord: Nebula the Zorua#6969
  68. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  69.  
  70. wait(1/60)
  71.  
  72. --// Shortcut Variables \\--
  73. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  74. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  75. 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}
  76. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  77. 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}
  78. local R3 = {N=Region3.new}
  79. local De = S.Debris
  80. local WS = workspace
  81. local Lght = S.Lighting
  82. local RepS = S.ReplicatedStorage
  83. local IN = Instance.new
  84. local Plrs = S.Players
  85.  
  86. --// Initializing \\--
  87. local Plr = Player
  88. local Char = Plr.Character
  89. local Hum = Char:FindFirstChildOfClass'Humanoid'
  90. local RArm = Char["Right Arm"]
  91. local LArm = Char["Left Arm"]
  92. local RLeg = Char["Right Leg"]
  93. local LLeg = Char["Left Leg"]  
  94. local Root = Char:FindFirstChild'HumanoidRootPart'
  95. local Torso = Char.Torso
  96. local Head = Char.Head
  97. local NeutralAnims = true
  98. local Attack = false
  99. local Debounces = {Debounces={}}
  100. local Mouse = Mouse
  101. local Hit = {}
  102. local Sine = 0
  103. local Change = 1
  104. local BloodPuddles = {}
  105. local Stunned = {}
  106. local FXFolder = script:FindFirstChild'Effects'
  107. FXFolder.Parent = nil
  108. local EffectFolder = script:WaitForChild'FXFolder'
  109. EffectFolder.Parent=nil
  110. local Combo=1;
  111. local lastClick=0;
  112.  
  113. local FingerAnims={
  114.     Alpha=.2;
  115.     Right={
  116.         {CF.N(),CF.N()};
  117.         {CF.N(),CF.N()};
  118.         {CF.N(),CF.N()};
  119.         {CF.N(),CF.N()};
  120.         {CF.N(),CF.N()};
  121.     };
  122.     Left={
  123.         {CF.N(),CF.N()};
  124.         {CF.N(),CF.N()};
  125.         {CF.N(),CF.N()};
  126.         {CF.N(),CF.N()};
  127.         {CF.N(),CF.N()};
  128.     };
  129. }
  130.  
  131. local Effects = IN("Folder",Char)
  132. Effects.Name = "Effects"
  133.  
  134.  
  135. --// Debounce System \\--
  136.  
  137.  
  138. function Debounces:New(name,cooldown)
  139.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  140.     setmetatable(aaaaa,{__index = Debounces})
  141.     Debounces.Debounces[name] = aaaaa
  142.     return aaaaa
  143. end
  144.  
  145. function Debounces:Use(overrideUsable)
  146.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  147.     if(self.Usable or overrideUsable)then
  148.         self.Usable = false
  149.         self.CoolingDown = true
  150.         local LastUse = time()
  151.         self.LastUse = LastUse
  152.         delay(self.Cooldown or 2,function()
  153.             if(self.LastUse == LastUse)then
  154.                 self.CoolingDown = false
  155.                 self.Usable = true
  156.             end
  157.         end)
  158.     end
  159. end
  160.  
  161. function Debounces:Get(name)
  162.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  163.     for i,v in next, Debounces.Debounces do
  164.         if(i == name)then
  165.             return v;
  166.         end
  167.     end
  168. end
  169.  
  170. function Debounces:GetProgressPercentage()
  171.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  172.     if(self.CoolingDown and not self.Usable)then
  173.         return math.max(
  174.             math.floor(
  175.                 (
  176.                     (time()-self.LastUse)/self.Cooldown or 2
  177.                 )*100
  178.             )
  179.         )
  180.     else
  181.         return 100
  182.     end
  183. end
  184.  
  185. --// Instance Creation Functions \\--
  186. local baseSound = IN("Sound")
  187. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  188.     local Sound = baseSound:Clone()
  189.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  190.     Sound.Pitch = pitch or 1
  191.     Sound.Volume = volume or 1
  192.     Sound.Looped = looped or false
  193.     if(autoPlay)then
  194.         coroutine.wrap(function()
  195.             repeat wait() until Sound.IsLoaded
  196.             Sound.Playing = autoPlay or false
  197.         end)()
  198.     end
  199.     if(not looped and effect)then
  200.         Sound.Stopped:connect(function()
  201.             Sound.Volume = 0
  202.             Sound:destroy()
  203.         end)
  204.     elseif(effect)then
  205.         warn("Sound can't be looped and a sound effect!")
  206.     end
  207.     Sound.Parent =parent or Torso
  208.     return Sound
  209. end
  210. function Part(parent,color,material,size,cframe,anchored,cancollide)
  211.     local part = IN("Part")
  212.     part.Parent = parent or Char
  213.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  214.     part.Material = material or Enum.Material.SmoothPlastic
  215.     part.TopSurface,part.BottomSurface=10,10
  216.     part.Size = size or V3.N(1,1,1)
  217.     part.CFrame = cframe or CF.N(0,0,0)
  218.     part.CanCollide = cancollide or false
  219.     part.Anchored = anchored or false
  220.     return part
  221. end
  222.  
  223. function Weld(part0,part1,c0,c1)
  224.     local weld = IN("Weld")
  225.     weld.Parent = part0
  226.     weld.Part0 = part0
  227.     weld.Part1 = part1
  228.     weld.C0 = c0 or CF.N()
  229.     weld.C1 = c1 or CF.N()
  230.     return weld
  231. end
  232.  
  233. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  234.     local part = IN("SpecialMesh")
  235.     part.MeshId = meshid or ""
  236.     part.TextureId = textid or ""
  237.     part.Scale = scale or V3.N(1,1,1)
  238.     part.Offset = offset or V3.N(0,0,0)
  239.     part.MeshType = meshtype or Enum.MeshType.Sphere
  240.     part.Parent = parent
  241.     return part
  242. end
  243.  
  244. NewInstance = function(instance,parent,properties)
  245.     local inst = Instance.new(instance)
  246.     inst.Parent = parent
  247.     if(properties)then
  248.         for i,v in next, properties do
  249.             pcall(function() inst[i] = v end)
  250.         end
  251.     end
  252.     return inst;
  253. end
  254.  
  255. function Clone(instance,parent,properties)
  256.     local inst = instance:Clone()
  257.     inst.Parent = parent
  258.     if(properties)then
  259.         for i,v in next, properties do
  260.             pcall(function() inst[i] = v end)
  261.         end
  262.     end
  263.     return inst;
  264. end
  265.  
  266. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  267.     local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  268.     local Sound = IN("Sound")
  269.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  270.     Sound.Pitch = pitch or 1
  271.     Sound.Volume = volume or 1
  272.     Sound.Looped = looped or false
  273.     if(autoPlay)then
  274.         coroutine.wrap(function()
  275.             repeat wait() until Sound.IsLoaded
  276.             Sound.Playing = autoPlay or false
  277.         end)()
  278.     end
  279.     if(not looped and effect)then
  280.         Sound.Stopped:connect(function()
  281.             Sound.Volume = 0
  282.             soundPart:destroy()
  283.         end)
  284.     elseif(effect)then
  285.         warn("Sound can't be looped and a sound effect!")
  286.     end
  287.     Sound.Parent = soundPart
  288.     return Sound
  289. end
  290.  
  291.  
  292. --// Extended ROBLOX tables \\--
  293. 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})
  294. --// Require stuff \\--
  295. function CamShake(who,data)
  296.     coroutine.wrap(function()
  297.         if(FXFolder:FindFirstChild'CamShake')then
  298.             local cam = FXFolder.CamShake:Clone()
  299.             cam:WaitForChild'intensity'.Value = data.Intensity or 5
  300.             cam:WaitForChild'duration'.Value = data.Duration or 5
  301.             cam:WaitForChild'speed'.Value = data.Speed or 10;
  302.             if(data.Origin)then NewInstance((typeof(data.Origin) == 'Instance' and "ObjectValue" or typeof(data.Origin) == 'Vector3' and 'Vector3Value' or typeof(data.Origin)=='CFrame' and 'CFrameValue'),cam,{Name='origin',Value=data.Origin}) end
  303.             cam:WaitForChild'rot'.Value = data.Rotation or Vector3.new(1,1,5)
  304.             cam:WaitForChild'pos'.Value = data.Position or Vector3.new(.5,.5,.5)
  305.             cam:WaitForChild'startdist'.Value = data.DropDist or 25;
  306.             cam:WaitForChild'enddist'.Value = data.IneffectiveDist or 150;
  307.            
  308.             cam.Parent = who
  309.             wait()
  310.             cam.Disabled = false
  311.         end
  312.     end)()
  313. end
  314.  
  315. function CamShakeAll(data)
  316.     for _,v in next, game:service'Players':players() do
  317.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,data)
  318.     end
  319. end
  320.  
  321. function ServerScript(code)
  322.     if(script:FindFirstChild'Loadstring')then
  323.         local load = script.Loadstring:Clone()
  324.         load:WaitForChild'Sauce'.Value = code
  325.         load.Disabled = false
  326.         load.Parent = workspace
  327.     elseif(NS and typeof(NS) == 'function')then
  328.         NS(code,workspace)
  329.     else
  330.         warn("no serverscripts lol")
  331.     end
  332. end
  333.  
  334. function LocalOnPlayer(who,code)
  335.     ServerScript([[
  336.         wait()
  337.         script.Parent=nil
  338.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  339.        
  340.         local Http = _G.Http or game:service'HttpService'
  341.        
  342.         local source = ]].."[["..code.."]]"..[[
  343.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  344.         local asd = Http:PostAsync(link,source)
  345.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  346.         local ID = Http:JSONDecode(asd).Result.Require_ID
  347.         local vs = require(ID).VORTH_SCRIPT
  348.         vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  349.     ]])
  350. end
  351.  
  352. function Nametag(color,tag)
  353.     local r,g,b = C3.tRGB(color)
  354.     local c3 = C3.RGB(r/2,g/2,b/2)
  355.     local name = script:FindFirstChild'Nametag' and script.Nametag:Clone();
  356.     if(not name)then
  357.         name = NewInstance("BillboardGui",nil,{MaxDistance=150,AlwaysOnTop=true,Active=false,Size=UDim2.new(5,0,1,0),SizeOffset=Vector2.new(0,6)})
  358.         NewInstance("TextLabel",name,{Name='PlayerName',BackgroundTransparency=1,Size=UDim2.new(1,0,1,0),Text=Plr.Name,Font=Enum.Font.Fantasy,TextColor3 = color,TextStrokeColor3 = c3,TextSize=14,TextScaled=true,TextWrapped=true,})
  359.         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,})
  360.     end
  361.     name.Title.Text = tag
  362.     name.Title.TextColor3 = color
  363.     name.Title.TextStrokeColor3 = c3
  364.    
  365.     name.PlayerName.Text = Plr.Name
  366.     name.PlayerName.TextColor3 = color
  367.     name.PlayerName.TextStrokeColor3 = c3
  368.    
  369.     name.Parent = Char
  370.     name.Adornee = Head
  371.     name.PlayerToHideFrom = Plr
  372.        
  373.     return name
  374. end
  375.  
  376. --// Customization \\--
  377.  
  378. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  379. local Remove_Hats = false
  380. local Remove_Clothing = false
  381. local PlayerSize = 1
  382. local DamageColor = BrickColor.new'Teal'
  383. local MusicID = 1439600000
  384. local God = false
  385. local Muted = false
  386.  
  387. local WalkSpeed = 24
  388.  
  389. --// Weapon and GUI creation, and Character Customization \\--
  390.  
  391. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  392. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  393.  
  394. if(PlayerSize ~= 1)then
  395.     for _,v in next, Char:GetDescendants() do
  396.         if(v:IsA'BasePart' and not v:IsDescendantOf(script))then
  397.             v.Size = v.Size*PlayerSize
  398.         end
  399.     end
  400. end
  401.  
  402. -- CREDIT TO SHACK
  403. RArm.Transparency = 1
  404. LArm.Transparency = 1
  405. local finger = script:WaitForChild'Finger'
  406. local finget = script:WaitForChild'Fingertip'
  407. local morph = script:WaitForChild'Morph'
  408. finger.Parent=nil
  409. finget.Parent=nil
  410. local fingers={
  411.     l={};
  412.     r={}
  413. }
  414.  
  415. local rhand,rhand;
  416. for _,v in next, Char:children() do
  417.     if(morph:FindFirstChild(v.Name))then
  418.         local part = morph[v.Name]
  419.         part.Parent=Char
  420.         part:SetPrimaryPartCFrame(v.CFrame)
  421.         --b.CFrame:inverse() * a.CFrame
  422.         Weld(v,part.PrimaryPart,CFrame.new(),part.PrimaryPart.CFrame:inverse()*v.CFrame)
  423.         for _,c in next, part:children() do
  424.             if(c:IsA'BasePart' and c~=part.PrimaryPart)then
  425.                 c.Massless=true
  426.                 c.Anchored=false
  427.                 Weld(v,c,CFrame.new(),c.CFrame:inverse()*v.CFrame)
  428.                 c.CanCollide=false
  429.             end
  430.         end
  431.         if(part.Name == "Right Arm")then
  432.             rhand=part
  433.         elseif(part.Name == "Left Arm")then
  434.             lhand=part
  435.         end
  436.         part.PrimaryPart:destroy()
  437.     end
  438. end
  439.  
  440. for i = 1, 3 do
  441.     local finger = finger:Clone()
  442.     finger.Parent = rhand
  443.     finger.Anchored = false
  444.     finger.Massless = true
  445.     finger.Name="Finger"..tostring(i)
  446.     local weld1 = Weld(rhand.Palm,finger,CF.N(-.6,-1.8,1.8-(i*.9)),CF.N())
  447.     local tip = finget:Clone()
  448.     tip.Parent = rhand
  449.     tip.Anchored = false
  450.     tip.Massless = true
  451.     local weld2 = Weld(finger,tip,CF.N(.15,-.6,0),CF.N(0,.6,0))
  452.     table.insert(fingers.r,{weld1,weld2})
  453. end
  454. for i = 1, 3 do
  455.     local finger = finger:Clone()
  456.     finger.Parent = lhand
  457.     finger.Anchored = false
  458.     finger.Massless = true
  459.     local weld1 = Weld(lhand.Palm,finger,CF.N(-.6,-1.8,1.8-(i*.9)),CF.N())
  460.     local tip = finget:Clone()
  461.     tip.Parent = lhand
  462.     tip.Anchored = false
  463.     tip.Massless = true
  464.     local weld2 = Weld(finger,tip,CF.N(.15,-.6,0),CF.N(0,.6,0))
  465.     table.insert(fingers.l,{weld1,weld2})
  466. end
  467.  
  468. local rthumb = finger:Clone()
  469. rthumb.Parent = rhand
  470. rthumb.Anchored = false
  471. rthumb.Massless = true
  472. local weld1 = Weld(rhand.Palm,rthumb,CF.N(-.8,-.5,-.6)*CF.A(M.R(0),M.R(180),M.R(125)),CF.N())
  473. local rthumbtip = finget:Clone()
  474. rthumbtip.Parent = rhand
  475. rthumbtip.Anchored = false
  476. rthumbtip.Massless = true
  477. local weld2 = Weld(rthumb,rthumbtip,CF.N(0,-.6,0),CF.N(0,.6,0))
  478. table.insert(fingers.r,{weld1,weld2})
  479.  
  480. local lthumb = finger:Clone()
  481. lthumb.Parent = lhand
  482. lthumb.Anchored = false
  483. lthumb.Massless = true
  484. local weld1 = Weld(lhand.Palm,lthumb,CF.N(-.8,-.5,.6)*CF.A(M.R(0),M.R(180),M.R(125)),CF.N())
  485. local lthumbtip = finget:Clone()
  486. lthumbtip.Parent = lhand
  487. lthumbtip.Anchored = false
  488. lthumbtip.Massless = true
  489. local weld2 = Weld(lthumb,lthumbtip,CF.N(0,-.6,0),CF.N(0,.6,0))
  490. table.insert(fingers.l,{weld1,weld2})
  491.  
  492.  
  493. local Music = Sound(Char,MusicID,1,3,true,false,true)
  494. Music.Name = 'Music'
  495.  
  496. --// Stop animations \\--
  497. for _,v in next, Hum:GetPlayingAnimationTracks() do
  498.     v:Stop();
  499. end
  500.  
  501. pcall(game.Destroy,Char:FindFirstChild'Animate')
  502. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  503.  
  504. --// Joints \\--
  505.  
  506. 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)})
  507. 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)})
  508. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  509. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  510. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  511. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  512.  
  513. local LSC0 = LS.C0
  514. local RSC0 = RS.C0
  515. local NKC0 = NK.C0
  516. local LHC0 = LH.C0
  517. local RHC0 = RH.C0
  518. local RJC0 = RJ.C0
  519.  
  520. --// Morph \\--
  521.  
  522. if(Morph)then
  523.     for _,c in next, Char:children() do
  524.         local p = Morph:FindFirstChild(c.Name)
  525.         if(p)then
  526.             print(p.Name)
  527.             p.Parent = Char
  528.             c.Transparency = 1
  529.             p:SetPrimaryPartCFrame(c.CFrame)
  530.             for _,e in next, p:GetDescendants() do
  531.                 if(e:IsA'BasePart')then
  532.                     e.CustomPhysicalProperties=PhysicalProperties.new(0,0,0,0,0)
  533.                     e.Anchored=false
  534.                     Weld(c,e,c.CFrame:inverse()*e.CFrame)
  535.                     e.CanCollide=false
  536.                     e.Locked=true
  537.                 end
  538.             end
  539.         end
  540.     end
  541. end
  542.  
  543. --// Artificial HB \\--
  544.  
  545. local ArtificialHB = IN("BindableEvent", script)
  546. ArtificialHB.Name = "Heartbeat"
  547.  
  548. script:WaitForChild("Heartbeat")
  549.  
  550. local tf = 0
  551. local allowframeloss = false
  552. local tossremainder = false
  553. local lastframe = tick()
  554. local frame = 1/Frame_Speed
  555. ArtificialHB:Fire()
  556.  
  557. game:GetService("RunService").Heartbeat:connect(function(s, p)
  558.     tf = tf + s
  559.     if tf >= frame then
  560.         if allowframeloss then
  561.             script.Heartbeat:Fire()
  562.             lastframe = tick()
  563.         else
  564.             for i = 1, math.floor(tf / frame) do
  565.                 ArtificialHB:Fire()
  566.             end
  567.             lastframe = tick()
  568.         end
  569.         if tossremainder then
  570.             tf = 0
  571.         else
  572.             tf = tf - frame * math.floor(tf / frame)
  573.         end
  574.     end
  575. end)
  576.  
  577. function swait(num)
  578.     if num == 0 or num == nil then
  579.         ArtificialHB.Event:wait()
  580.     else
  581.         for i = 0, num do
  582.             ArtificialHB.Event:wait()
  583.         end
  584.     end
  585. end
  586.  
  587.  
  588. --// Effect Function(s) \\--
  589.  
  590. function NoobySphere(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,MeshId,Axis)
  591.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  592.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  593.     local Scale = 1
  594.     local speeder = Speed
  595.     if(Type == "Multiply")then
  596.         Scale = 1*Inc
  597.     elseif(Type == "Divide")then
  598.         Scale = 1/Inc
  599.     end
  600.     coroutine.wrap(function()
  601.         for i = 0,10/Lifetime,.1 do
  602.            
  603.             if(Type == "Multiply")then
  604.                 Scale = Scale - 0.01*Inc/Lifetime
  605.             elseif(Type == "Divide")then
  606.                 Scale = Scale - 0.01/Inc*Lifetime
  607.             end
  608.             speeder = speeder - 0.01*Speed*Lifetime
  609.             fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  610.             fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  611.             if(Axis == 'x')then
  612.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, 0, 0)
  613.             elseif(Axis == 'y')then
  614.                 fxM.Scale = fxM.Scale + Vector3.new(0, Scale*Lifetime, 0)
  615.             elseif(Axis == 'z')then
  616.                 fxM.Scale = fxM.Scale + Vector3.new(0, 0, Scale*Lifetime)
  617.             elseif(Axis == 'xyz')then
  618.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,Scale*Lifetime,Scale*Lifetime)
  619.             elseif(Axis == 'yz')then
  620.                 fxM.Scale = fxM.Scale + Vector3.new(0,Scale*Lifetime,Scale*Lifetime)
  621.             elseif(Axis == 'xz')then
  622.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime,0,Scale*Lifetime)
  623.             else
  624.                 fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, 0)
  625.             end
  626.             if(fxP.Transparency >= 1)then break end
  627.             swait()
  628.         end
  629.         fxP:destroy()
  630.     end)()
  631.     return fxP
  632. end
  633.  
  634. function NoobySphere2(Lifetime,Type,Pos,StartSize,Inc,Color,MeshId)
  635.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos,true,false)
  636.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Sphere),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  637.  
  638.     local Scale = 1
  639.     if(Type == "Multiply")then
  640.         Scale = 1*Inc
  641.     elseif(Type == "Divide")then
  642.         Scale = 1/Inc
  643.     end
  644.     coroutine.wrap(function()
  645.         for i = 0,10/Lifetime,.1 do
  646.  
  647.             if(Type == "Multiply")then
  648.                 Scale = Scale - 0.01*Inc/Lifetime
  649.             elseif(Type == "Divide")then
  650.                 Scale = Scale - 0.01/Inc*Lifetime
  651.             end
  652.             fxP.Transparency = fxP.Transparency + 0.01*Lifetime
  653.             fxM.Scale = fxM.Scale + Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  654.             swait()
  655.         end
  656.         fxP:destroy()
  657.     end)()
  658. end
  659.  
  660. function NoobyBlock(Lifetime,Speed,Type,Pos,StartSize,Inc,Color,Range,Fade,MeshId)
  661.     local fxP = Part(Effects,Color,Enum.Material.Neon,V3.N(1,1,1),Pos+Pos.lookVector*Range,true,false)
  662.     local fxM = Mesh(fxP,(MeshId and Enum.MeshType.FileMesh or Enum.MeshType.Brick),(MeshId and "rbxassetid://"..MeshId or ""),"",StartSize,V3.N())
  663.     local Scale = 1
  664.     local speeder = Speed
  665.     if(Type == "Multiply")then
  666.         Scale = 1*Inc
  667.     elseif(Type == "Divide")then
  668.         Scale = 1/Inc
  669.     end
  670.     coroutine.wrap(function()
  671.         for i = 0,10/Lifetime,.1 do
  672.             if(Type == "Multiply")then
  673.                 Scale = Scale - 0.01*Inc/Lifetime
  674.             elseif(Type == "Divide")then
  675.                 Scale = Scale - 0.01/Inc*Lifetime
  676.             end
  677.             if(Fade)then
  678.                 fxP.Transparency = i/(10/Lifetime)
  679.             end
  680.             speeder = speeder - 0.01*Speed*Lifetime/10
  681.             fxP.CFrame = fxP.CFrame + fxP.CFrame.lookVector*speeder*Lifetime
  682.             fxM.Scale = fxM.Scale - Vector3.new(Scale*Lifetime, Scale*Lifetime, Scale*Lifetime)
  683.             swait()
  684.         end
  685.         fxP:destroy()
  686.     end)()
  687. end
  688.  
  689. function Bezier(startpos, pos2, pos3, endpos, t)
  690.     local A = startpos:lerp(pos2, t)
  691.     local B  = pos2:lerp(pos3, t)
  692.     local C = pos3:lerp(endpos, t)
  693.     local lerp1 = A:lerp(B, t)
  694.     local lerp2 = B:lerp(C, t)
  695.     local cubic = lerp1:lerp(lerp2, t)
  696.     return cubic
  697. end
  698. function Puddle(hit,pos,norm,data)
  699.     local material = data.Material or Enum.Material.SmoothPlastic
  700.     local color = data.Color or BrickColor.new'Crimson'
  701.     local size = data.Size or 1
  702.        
  703.     if(hit.Name ~= 'BloodPuddle')then
  704.         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'})
  705.         local Cyl = NewInstance('CylinderMesh',Puddle,{Name='CylinderMesh'})
  706.         BloodPuddles[Puddle] = 0
  707.     else
  708.         local cyl = hit:FindFirstChild'CylinderMesh'
  709.         if(cyl)then
  710.             BloodPuddles[hit] = 0
  711.             cyl.Scale = cyl.Scale + V3.N(size,0,size)
  712.             hit.Transparency = 0
  713.         end
  714.     end
  715. end
  716.  
  717. function Droplet(data)
  718.     --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  719.     local Size = data.Size or 1
  720.     local Color = data.Color or BrickColor.new'Crimson'
  721.     local StudsPerFrame = data.Speed or 1
  722.     local Shape = data.Shape or 'Ball'
  723.     local Frames = (data.Frames or 160)+1
  724.     local Pos = data.Origin or Root.CFrame
  725.     local Direction = data.Direction or Root.CFrame.lookVector*100000
  726.     local Material = data.Material or Enum.Material.SmoothPlastic
  727.     local Drop = data.Drop or .05
  728.     local Ignorelist = data.Ignorelist or nil
  729.    
  730.     local Bullet = Part(Effects,Color,Material,V3.N(Size,Size,Size),Pos,true,false)
  731.     local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  732.     if(Shape == 'Ball')then
  733.         BMesh.MeshType = Enum.MeshType.Sphere
  734.     elseif(Shape == 'Head')then
  735.         BMesh.MeshType = Enum.MeshType.Head
  736.     elseif(Shape == 'Cylinder')then
  737.         BMesh.MeshType = Enum.MeshType.Cylinder
  738.     end
  739.    
  740.     coroutine.wrap(function()
  741.         for i = 1, Frames do
  742.             Pos = Pos * CF.N(0,-(Drop*i),0)
  743.             local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i)).p,StudsPerFrame)
  744.             if(hit and (not hit.Parent or not hit.Parent:FindFirstChildOfClass'Humanoid' and not hit.Parent:IsA'Accessory'))then
  745.                 Puddle(hit,pos,norm,data)
  746.                 break;
  747.             else
  748.                 Bullet.CFrame = CF.N(Pos.p,Direction)*CF.N(0,0,-(StudsPerFrame*i))
  749.             end
  750.             swait()
  751.         end
  752.         Bullet:destroy()
  753.     end)()
  754. end
  755.  
  756. function SphereFX(duration,color,scale,pos,endScale,increment)
  757.     return Effect{
  758.         Effect='ResizeAndFade',
  759.         Color=color,
  760.         Size=scale,
  761.         Mesh={MeshType=Enum.MeshType.Sphere},
  762.         CFrame=pos,
  763.         FXSettings={
  764.             EndSize=endScale,
  765.             EndIsIncrement=increment
  766.         }
  767.     }
  768. end
  769.  
  770. function BlastFX(duration,color,scale,pos,endScale,increment)
  771.     return Effect{
  772.         Effect='ResizeAndFade',
  773.         Color=color,
  774.         Size=scale,
  775.         Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
  776.         CFrame=pos,
  777.         FXSettings={
  778.             EndSize=endScale,
  779.             EndIsIncrement=increment
  780.         }
  781.     }
  782. end
  783.  
  784. function BlockFX(duration,color,scale,pos,endScale,increment)
  785.     return Effect{
  786.         Effect='ResizeAndFade',
  787.         Color=color,
  788.         Size=scale,
  789.         CFrame=pos,
  790.         FXSettings={
  791.             EndSize=endScale,
  792.             EndIsIncrement=increment
  793.         }
  794.     }
  795. end
  796.  
  797. function ShootBullet(data)
  798.     --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  799.     local Size = data.Size or V3.N(2,2,2)
  800.     local Color = data.Color or BrickColor.new'Crimson'
  801.     local StudsPerFrame = data.Speed or 10
  802.     local Shape = data.Shape or 'Ball'
  803.     local Frames = data.Frames or 160
  804.     local Pos = data.Origin or Torso.CFrame
  805.     local Direction = data.Direction or Mouse.Hit
  806.     local Material = data.Material or Enum.Material.Neon
  807.     local OnHit = data.HitFunction or function(hit,pos)
  808.         Effect{
  809.             Effect='ResizeAndFade',
  810.             Color=Color,
  811.             Size=V3.N(10,10,10),
  812.             Mesh={MeshType=Enum.MeshType.Sphere},
  813.             CFrame=CF.N(pos),
  814.             FXSettings={
  815.                 EndSize=V3.N(.05,.05,.05),
  816.                 EndIsIncrement=true
  817.             }
  818.         }
  819.         for i = 1, 5 do
  820.             local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  821.             Effect{
  822.                 Effect='Fade',
  823.                 Frames=65,
  824.                 Size=V3.N(5,5,10),
  825.                 CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
  826.                 Mesh = {MeshType=Enum.MeshType.Sphere},
  827.                 Material=Enum.Material.Neon,
  828.                 Color=Color,
  829.                 MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  830.             }  
  831.         end
  832.     end
  833.    
  834.     local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
  835.     local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  836.     if(Shape == 'Ball')then
  837.         BMesh.MeshType = Enum.MeshType.Sphere
  838.     elseif(Shape == 'Head')then
  839.         BMesh.MeshType = Enum.MeshType.Head
  840.     elseif(Shape == 'Cylinder')then
  841.         BMesh.MeshType = Enum.MeshType.Cylinder
  842.     end
  843.    
  844.     coroutine.wrap(function()
  845.         for i = 1, Frames+1 do
  846.             local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
  847.             if(hit)then
  848.                 OnHit(hit,pos,norm,dist)
  849.                 break;
  850.             else
  851.                 Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
  852.             end
  853.             swait()
  854.         end
  855.         Bullet:destroy()
  856.     end)()
  857.    
  858. end
  859.  
  860.  
  861. function Zap(data)
  862.     local sCF,eCF = data.StartCFrame,data.EndCFrame
  863.     assert(sCF,"You need a start CFrame!")
  864.     assert(eCF,"You need an end CFrame!")
  865.     local parts = data.PartCount or 15
  866.     local zapRot = data.ZapRotation or {-5,5}
  867.     local startThick = data.StartSize or 3;
  868.     local endThick = data.EndSize or startThick/2;
  869.     local color = data.Color or BrickColor.new'Electric blue'
  870.     local delay = data.Delay or 35
  871.     local delayInc = data.DelayInc or 0
  872.     local lastLightning;
  873.     local MagZ = (sCF.p - eCF.p).magnitude
  874.     local thick = startThick
  875.     local inc = (startThick/parts)-(endThick/parts)
  876.    
  877.     for i = 1, parts do
  878.         local pos = sCF.p
  879.         if(lastLightning)then
  880.             pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  881.         end
  882.         delay = delay + delayInc
  883.         local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  884.         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)))
  885.         if(parts == i)then
  886.             local MagZ = (pos-eCF.p).magnitude
  887.             zapPart.Size = V3.N(endThick,endThick,MagZ)
  888.             zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  889.             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)}}
  890.         else
  891.             zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  892.         end
  893.        
  894.         lastLightning = zapPart
  895.         Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  896.        
  897.         thick=thick-inc
  898.        
  899.     end
  900. end
  901.  
  902. function Zap2(data)
  903.     local Color = data.Color or BrickColor.new'Electric blue'
  904.     local StartPos = data.Start or Torso.Position
  905.     local EndPos = data.End or Mouse.Hit.p
  906.     local SegLength = data.SegL or 2
  907.     local Thicc = data.Thickness or 0.5
  908.     local Fades = data.Fade or 45
  909.     local Parent = data.Parent or Effects
  910.     local MaxD = data.MaxDist or 200
  911.     local Branch = data.Branches or false
  912.     local Material = data.Material or Enum.Material.Neon
  913.     local Raycasts = data.Raycasts or false
  914.     local Offset = data.Offset or {0,360}
  915.     local AddMesh = (data.Mesh == nil and true or data.Mesh)
  916.     if((StartPos-EndPos).magnitude > MaxD)then
  917.         EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  918.     end
  919.     local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  920.     if(Raycasts)then
  921.         hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)  
  922.     end
  923.     local segments = dist/SegLength
  924.     local model = IN("Model",Parent)
  925.     model.Name = 'Lightning'
  926.     local Last;
  927.     for i = 1, segments do
  928.         local size = (segments-i)/25
  929.         local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  930.         if(AddMesh)then IN("CylinderMesh",prt) end
  931.         if(Last and math.floor(segments) == i)then
  932.             local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  933.             prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  934.             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) 
  935.         elseif(not Last)then
  936.             prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)   
  937.         else
  938.             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)
  939.         end
  940.         Last = prt
  941.         if(Branch)then
  942.             local choice = M.RNG(1,7+((segments-i)*2))
  943.             if(choice == 1)then
  944.                 local LastB;
  945.                 for i2 = 1,M.RNG(2,5) do
  946.                     local size2 = ((segments-i)/35)/i2
  947.                     local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  948.                     if(AddMesh)then IN("CylinderMesh",prt) end
  949.                     if(not LastB)then
  950.                         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)
  951.                     else
  952.                         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)
  953.                     end
  954.                     LastB = prt
  955.                 end
  956.             end
  957.         end
  958.     end
  959.     if(Fades > 0)then
  960.         coroutine.wrap(function()
  961.             for i = 1, Fades do
  962.                 for _,v in next, model:children() do
  963.                     if(v:IsA'BasePart')then
  964.                         v.Transparency = (i/Fades)
  965.                     end
  966.                 end
  967.                 swait()
  968.             end
  969.             model:destroy()
  970.         end)()
  971.     else
  972.         S.Debris:AddItem(model,.01)
  973.     end
  974.     return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  975. end
  976.  
  977. function Tween(obj,props,time,easing,direction,repeats,backwards)
  978.     local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  979.     local tween = S.TweenService:Create(obj, info, props)
  980.    
  981.     tween:Play()
  982. end
  983.  
  984. function Effect(data)
  985.     -- just for easy reference
  986.     local color = data.Color or Color3.new(.7,.7,.7);
  987.     local endcolor = data.EndColor or nil;
  988.     local mat = data.Material or Enum.Material.SmoothPlastic;
  989.     local cframe = data.CFrame or CFrame.new();
  990.     local endpos = data.EndPos or nil;
  991.     local meshdata = data.Mesh or {}
  992.     local sounddata = data.Sound or {}
  993.     local size = data.Size or Vector3.new(1,1,1)
  994.     local endsize = data.EndSize or Vector3.new(6,6,6)
  995.     local rotinc = data.RotInc or {0,0,0} -- ONLY FOR LEGACY SYSTEM
  996.     local transparency = data.Transparency or NumberRange.new(0,1)
  997.     local acceleration = data.Acceleration or nil; -- ONLY FOR LEGACY SYSTEM
  998.     local endrot = data.EndRotation or {0,0,0} -- ONLY FOR EXPERIMENTAL SYSTEM
  999.     local style = data.Style or false; -- ONLY FOR EXPERIMENTAL SYSTEM
  1000.     local lifetime = data.Lifetime or 1;
  1001.     local system = data.FXSystem;
  1002.     local setpart = typeof(data.Part)=='string' and EffectFolder:FindFirstChild(tostring(data.Part)) and EffectFolder[tostring(data.Part)]:Clone() or typeof(data.Part)=='Instance' and data.Part or nil
  1003.    
  1004.     local S,PM;
  1005.    
  1006.     local P = setpart or Part(Effects,color,mat,Vector3.new(1,1,1),cframe,true,false)
  1007.    
  1008.     if(not P:IsA'MeshPart' and not P:IsA'UnionOperation')then
  1009.         if(meshdata == "Blast")then
  1010.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://20329976','',size,Vector3.new(0,0,-size.X/8))
  1011.         elseif(meshdata == 'Ring')then
  1012.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://559831844','',size,Vector3.new(0,0,0))
  1013.         elseif(meshdata == 'Slash1')then
  1014.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://662586858','',Vector3.new(size.X/10,.001,size.Z/10),Vector3.new(0,0,0))
  1015.         elseif(meshdata == 'Slash2')then
  1016.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://448386996','',Vector3.new(size.X/1000,size.Y/100,size.Z/100),Vector3.new(0,0,0))
  1017.         elseif(meshdata == 'Tornado1')then
  1018.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://443529437','',size/10,Vector3.new(0,0,0))
  1019.         elseif(meshdata == 'Tornado2')then
  1020.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://168892432','',size/4,Vector3.new(0,0,0))
  1021.         elseif(meshdata == 'Skull')then
  1022.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://4770583','',size*2,Vector3.new(0,0,0))
  1023.         elseif(meshdata == 'Crystal')then
  1024.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://9756362','',size,Vector3.new(0,0,0))
  1025.         elseif(meshdata == 'Cloud')then
  1026.             PM = Mesh(P,Enum.MeshType.FileMesh,'rbxassetid://1095708','',size,Vector3.new(0,0,0))
  1027.         elseif(typeof(meshdata) == 'table')then
  1028.             local Type = meshdata.Type or Enum.MeshType.Brick
  1029.             local ID = meshdata.ID or '';
  1030.             local Tex = meshdata.Texture or '';
  1031.             local Offset = meshdata.Offset or Vector3.new(0,0,0)
  1032.             PM = Mesh(P,Type,ID,Tex,size,Offset)
  1033.         else
  1034.             PM = Mesh(P,Enum.MeshType.Brick,'','',size)
  1035.         end
  1036.     end
  1037.     local startTrans = typeof(transparency) == 'number' and transparency or typeof(transparency) == 'NumberRange' and transparency.Min or typeof(transparency) == 'table' and transparency[1] or 0
  1038.     local endTrans = typeof(transparency) == 'NumberRange' and transparency.Max or typeof(transparency) == 'table' and transparency[2] or 1
  1039.    
  1040.     P.Material = mat
  1041.     P.CFrame = cframe
  1042.     P.Color = (typeof(color)=='BrickColor' and color.Color or color)
  1043.     P.Anchored = true
  1044.     P.CanCollide = false
  1045.     P.Transparency = startTrans
  1046.     P.Parent = Effects
  1047.     local random = Random.new();
  1048.     game:service'Debris':AddItem(P,lifetime+3)
  1049.    
  1050.    
  1051.     -- actual effect stuff
  1052.     local mult = 1;
  1053.     if(PM)then
  1054.         if(PM.MeshId == 'rbxassetid://20329976')then
  1055.             PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
  1056.         elseif(PM.MeshId == 'rbxassetid://4770583')then
  1057.             mult = 2
  1058.         elseif(PM.MeshId == 'rbxassetid://168892432')then
  1059.             mult = .25
  1060.         elseif(PM.MeshId == 'rbxassetid://443529437')then
  1061.             mult = .1
  1062.         elseif(PM.MeshId == 'rbxassetid://443529437')then
  1063.             mult = .1
  1064.         end
  1065.     end
  1066.     coroutine.wrap(function()
  1067.         if(system == 'Legacy' or system == 1 or system == nil)then
  1068.             local frames = (typeof(lifetime) == 'NumberRange' and random:NextNumber(lifetime.Min,lifetime.Max) or typeof(lifetime) == 'number' and lifetime or 1)*Frame_Speed
  1069.             for i = 0, frames do
  1070.                 local div = (i/frames)
  1071.                 P.Transparency=(startTrans+(endTrans-startTrans)*div)
  1072.                
  1073.                 if(PM)then PM.Scale = size:lerp(endsize*mult,div) else P.Size = size:lerp(endsize*mult,div) end
  1074.                
  1075.                 local RotCF=CFrame.Angles(0,0,0)
  1076.                
  1077.                 if(rotinc == 'random')then
  1078.                     RotCF=CFrame.Angles(math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)),math.rad(random:NextNumber(-180,180)))
  1079.                 elseif(typeof(rotinc) == 'table')then
  1080.                     RotCF=CFrame.Angles(unpack(rotinc))
  1081.                 end
  1082.                
  1083.                 if(PM and PM.MeshId == 'rbxassetid://20329976')then
  1084.                     PM.Offset = Vector3.new(0,0,-PM.Scale.Z/8)
  1085.                 end
  1086.                
  1087.                 if(endpos and typeof(endpos) == 'CFrame')then
  1088.                     P.CFrame=cframe:lerp(endpos,div)*RotCF
  1089.                 elseif(acceleration and typeof(acceleration) == 'table' and acceleration.Force)then
  1090.                     local force = acceleration.Force;
  1091.                     if(typeof(force)=='CFrame')then
  1092.                         force=force.p;
  1093.                     end
  1094.                     if(typeof(force)=='Vector3')then
  1095.                         if(acceleration.LookAt)then
  1096.                             P.CFrame=(CFrame.new(P.Position,force)+force)*RotCF
  1097.                         else
  1098.                             P.CFrame=(P.CFrame+force)*RotCF
  1099.                         end
  1100.                     end
  1101.                 else
  1102.                     P.CFrame=P.CFrame*RotCF
  1103.                 end
  1104.                
  1105.                 if(endcolor and typeof(endcolor) == 'Color3')then
  1106.                     P.Color = color:lerp(endcolor,div)
  1107.                 end
  1108.                 swait()
  1109.             end
  1110.             P:destroy()
  1111.         elseif(system == 'Experimental' or system == 2)then
  1112.             local info = TweenInfo.new(lifetime,style,Enum.EasingDirection.InOut,0,false,0)
  1113.             local info2 = TweenInfo.new(lifetime,Enum.EasingStyle.Linear,Enum.EasingDirection.InOut,0,false,0)
  1114.             if(style == Enum.EasingStyle.Elastic)then
  1115.                 info = TweenInfo.new(lifetime*2,style,Enum.EasingDirection.Out,0,false,0)
  1116.             elseif(style == Enum.EasingStyle.Bounce)then
  1117.                 info = TweenInfo.new(lifetime,style,Enum.EasingDirection.Out,0,false,0)
  1118.             end
  1119.             local tweenPart = game:service'TweenService':Create(P,info2,{
  1120.                 CFrame=(typeof(endpos) == 'CFrame' and endpos or P.CFrame)*CFrame.Angles(unpack(endrot)),
  1121.                 Color=typeof(endcolor) == 'Color3' and endcolor or color,
  1122.                 Transparency=endTrans,
  1123.             })
  1124.             local off = Vector3.new(0,0,0)
  1125.             if(PM.MeshId == 'rbxassetid://20329976')then off=Vector3.new(0,0,(endsize*mult).Z/8) end
  1126.            
  1127.             local tweenMesh = game:service'TweenService':Create(PM,info,{
  1128.                 Scale=endsize*mult,
  1129.                 Offset=off,
  1130.             })
  1131.             tweenPart:Play()
  1132.             tweenMesh:Play()
  1133.         end
  1134.     end)()
  1135. end
  1136. --// Other Functions \\ --
  1137.  
  1138. function CastRay(startPos,endPos,range,ignoreList)
  1139.     local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  1140.     local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  1141.     return part,pos,norm,(pos and (startPos-pos).magnitude)
  1142. end
  1143.  
  1144. function getRegion(point,range,ignore)
  1145.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  1146. end
  1147.  
  1148. function clerp(startCF,endCF,alpha)
  1149.     return startCF:lerp(endCF, alpha)
  1150. end
  1151.  
  1152. function GetTorso(char)
  1153.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  1154. end
  1155.  
  1156.  
  1157. function ShowDamage(Pos, Text, Time, Color)
  1158.     coroutine.wrap(function()
  1159.     local Rate = (1 / Frame_Speed)
  1160.     local Pos = (Pos or Vector3.new(0, 0, 0))
  1161.     local Text = (Text or "")
  1162.     local Time = (Time or 2)
  1163.     local Color = (Color or Color3.new(1, 0, 1))
  1164.     local EffectPart = NewInstance("Part",Effects,{
  1165.         Material=Enum.Material.SmoothPlastic,
  1166.         Reflectance = 0,
  1167.         Transparency = 1,
  1168.         BrickColor = BrickColor.new(Color),
  1169.         Name = "Effect",
  1170.         Size = Vector3.new(0,0,0),
  1171.         Anchored = true,
  1172.         CFrame = CF.N(Pos)
  1173.     })
  1174.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1175.         Size = UDim2.new(1.25, 0, 1.25, 0),
  1176.         Adornee = EffectPart,
  1177.     })
  1178.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1179.         BackgroundTransparency = 1,
  1180.         Size = UDim2.new(1, 0, 1, 0),
  1181.         Text = Text,
  1182.         Font = "Bodoni",
  1183.         TextColor3 = Color,
  1184.         TextStrokeColor3 = Color3.new(0,0,0),
  1185.         TextStrokeTransparency=0,
  1186.         TextScaled = true,
  1187.     })
  1188.     S.Debris:AddItem(EffectPart, (Time))
  1189.     EffectPart.Parent = workspace
  1190.     delay(0, function()
  1191.         Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  1192.         local Frames = (Time / Rate)
  1193.         for Frame = 1, Frames do
  1194.             swait()
  1195.             local Percent = (Frame / Frames)
  1196.             TextLabel.TextTransparency = Percent
  1197.             TextLabel.TextStrokeTransparency = Percent
  1198.         end
  1199.         if EffectPart and EffectPart.Parent then
  1200.             EffectPart:Destroy()
  1201.         end
  1202.     end) end)()
  1203. end
  1204.  
  1205. function DealDamage(data)
  1206.     local Who = data.Who;
  1207.     local MinDam = data.MinimumDamage or 15;
  1208.     local MaxDam = data.MaximumDamage or 30;
  1209.     local MaxHP = data.MaxHP or 1e5;
  1210.    
  1211.     local DB = data.Debounce or .2;
  1212.    
  1213.     local CritData = data.Crit or {}
  1214.     local CritChance = CritData.Chance or 0;
  1215.     local CritMultiplier = CritData.Multiplier or 1;
  1216.    
  1217.     local DamageEffects = data.DamageFX or {}
  1218.     local DamageType = DamageEffects.Type or "Normal"
  1219.     local DeathFunction = DamageEffects.DeathFunction
  1220.    
  1221.     assert(Who,"Specify someone to damage!")   
  1222.    
  1223.     local Humanoid = Who:FindFirstChildOfClass'Humanoid'
  1224.     local DoneDamage = M.RNG(MinDam,MaxDam) * (M.RNG(1,100) <= CritChance and CritMultiplier or 1)
  1225.    
  1226.     local canHit = true
  1227.     if(Humanoid)then
  1228.         for _, p in pairs(Hit) do
  1229.             if p[1] == Humanoid then
  1230.                 if(time() - p[2] <= DB) then
  1231.                     canHit = false
  1232.                 else
  1233.                     Hit[_] = nil
  1234.                 end
  1235.             end
  1236.         end
  1237.         if(canHit)then
  1238.             table.insert(Hit,{Humanoid,time()})
  1239.             local HitTorso = GetTorso(Who)
  1240.             local player = S.Players:GetPlayerFromCharacter(Who)
  1241.             if(player)then
  1242.                 CamShake(Who,{
  1243.                     Duration=.1;
  1244.                     Intensity=25;
  1245.                     Position=Vector3.new(.1,.1,.1);
  1246.                     Rotation=Vector3.new(.5,.5,.5);
  1247.                 })
  1248.             end
  1249.             if(Plr.UserId==5719877 or not player or player.UserId ~= 5719877 and player.UserId ~= 19081129)then
  1250.                 if(Humanoid.MaxHealth >= MaxHP and Humanoid.Health > 0)then
  1251.                     print'Got kill'
  1252.                     Humanoid.Health = 0;
  1253.                     Who:BreakJoints();
  1254.                     if(DeathFunction)then DeathFunction(Who,Humanoid) end
  1255.                 else
  1256.                     local  c = Instance.new("ObjectValue",Hum)
  1257.                     c.Name = "creator"
  1258.                     c.Value = Plr
  1259.                     S.Debris:AddItem(c,0.35)   
  1260.                     if(Who:FindFirstChild'Head' and Humanoid.Health > 0)then
  1261.                         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)
  1262.                     end
  1263.                     if(Humanoid.Health > 0 and Humanoid.Health-DoneDamage <= 0)then print'Got kill' if(DeathFunction)then DeathFunction(Who,Humanoid) end end
  1264.                     Humanoid.Health = Humanoid.Health - DoneDamage
  1265.                    
  1266.                     if(DamageType == 'Knockback' and HitTorso)then
  1267.                         Humanoid.PlatformStand=true
  1268.                         local up = DamageEffects.KnockUp or 25
  1269.                         local back = DamageEffects.KnockBack or 25
  1270.                         local origin = DamageEffects.Origin
  1271.                         local decay = DamageEffects.Decay or .5;
  1272.                         local backwards = DamageEffects.Backward or true;
  1273.                         if(HitTorso:FindFirstChild'BodyPosition')then
  1274.                             HitTorso.BodyPosition:destroy()
  1275.                         end
  1276.                         local bfos = Instance.new("BodyVelocity",HitTorso)
  1277.                         bfos.P = 20000 
  1278.                         bfos.MaxForce = Vector3.new(9e9,9e9,9e9)
  1279.                         local knockback = ((origin or HitTorso).CFrame.lookVector * back)
  1280.                         local vel = Vector3.new(0,up,0)
  1281.                         if(backwards)then vel=vel-knockback else vel=vel+knockback end
  1282.                         bfos.Velocity = vel
  1283.                         S.Debris:AddItem(bfos,decay)
  1284.                         delay(decay,function()
  1285.                             Humanoid.PlatformStand=false
  1286.                             local bpos = NewInstance('BodyPosition',HitTorso,{
  1287.                                 MaxForce=Vector3.new(1e9,1e9,1e9);
  1288.                                 P=1000;
  1289.                                 D=50;
  1290.                                 Position=HitTorso.Position
  1291.                             })
  1292.                             delay(.1,function()
  1293.                                 bpos:destroy()
  1294.                             end)
  1295.                         end)
  1296.                     elseif(HitTorso)then
  1297.                         local bpos = NewInstance('BodyPosition',HitTorso,{
  1298.                             MaxForce=Vector3.new(1e9,1e9,1e9);
  1299.                             P=1000;
  1300.                             D=50;
  1301.                             Position=HitTorso.Position
  1302.                         })
  1303.                         delay(.1,function()
  1304.                             bpos:destroy()
  1305.                         end)
  1306.                     end
  1307.                 end
  1308.             end
  1309.         end
  1310.     end    
  1311. end
  1312.  
  1313. function AOEDamage(where,range,options)
  1314.     local hit = {}
  1315.     for _,v in next, getRegion(where,range,{Char}) do
  1316.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' and not hit[v.Parent])then
  1317.             local callTable = {Who=v.Parent}
  1318.             hit[v.Parent] = true
  1319.             for _,v in next, options do callTable[_] = v end
  1320.             DealDamage(callTable)
  1321.         end
  1322.     end
  1323.     return hit
  1324. end
  1325.  
  1326. function AOEHeal(where,range,amount)
  1327.     local healed = {}
  1328.     for _,v in next, getRegion(where,range,{Char}) do
  1329.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1330.         if(hum and not healed[hum])then
  1331.             hum.Health = hum.Health + amount
  1332.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1333.                 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)
  1334.             end
  1335.         end
  1336.     end
  1337. end
  1338.  
  1339. --// Wrap it all up \\--
  1340.  
  1341. function RSlash()
  1342.     Attack=true
  1343.     NeutralAnims=false
  1344.     --WalkSpeed=0
  1345.     for i = 0, .7, 0.1 do
  1346.         swait()
  1347.         local Alpha = .4
  1348.         FingerAnims.Alpha=Alpha
  1349.         RJ.C0 = RJ.C0:lerp(CF.N(0.1,0,0.1)*CF.A(M.R(0),M.R(-51.1),M.R(0)),Alpha)
  1350.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1351.         RH.C0 = RH.C0:lerp(CF.N(0.4,-1.2,-0.1)*CF.A(M.R(10.2),M.R(-20),M.R(27.6)),Alpha)
  1352.         LS.C0 = LS.C0:lerp(CF.N(-1.3,0.7,-0.3)*CF.A(M.R(0),M.R(-24.4),M.R(-21.5)),Alpha)
  1353.         RS.C0 = RS.C0:lerp(CF.N(1.7,0.4,0.5)*CF.A(M.R(112.1),M.R(-37.3),M.R(143.4)),Alpha)
  1354.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(51.1),M.R(0)),Alpha)
  1355.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1356.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1357.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1358.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1359.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1360.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1361.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1362.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1363.     end
  1364.     Sound(RArm,231917758,1.5,1.5,false,true,true)
  1365.     for i = 0, .2, 0.1 do
  1366.         swait()
  1367.         AOEDamage(rhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1368.         local Alpha = .2
  1369.         FingerAnims.Alpha=Alpha
  1370.         RJ.C0 = RJ.C0:lerp(CF.N(-0.1,-0.1,0)*CF.A(M.R(13.6),M.R(31.5),M.R(0)),Alpha)
  1371.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-0.9,0)*CF.A(M.R(-11.5),M.R(0.7),M.R(-7)),Alpha)
  1372.         RH.C0 = RH.C0:lerp(CF.N(0.7,-1,-0.3)*CF.A(M.R(-37.5),M.R(-26.1),M.R(-18.6)),Alpha)
  1373.         LS.C0 = LS.C0:lerp(CF.N(-1.4,0.4,0.2)*CF.A(M.R(-60.5),M.R(0),M.R(-26.6)),Alpha)
  1374.         RS.C0 = RS.C0:lerp(CF.N(1.3,0.2,-0.2)*CF.A(M.R(93),M.R(-30.7),M.R(11.5)),Alpha)
  1375.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(4.9),M.R(-18.6),M.R(1.6)),Alpha)
  1376.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1377.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1378.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1379.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1380.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1381.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1382.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1383.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1384.     end
  1385.     for i = 0, .7, 0.1 do
  1386.         swait()
  1387.         AOEDamage(rhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1388.         local Alpha = .5
  1389.         FingerAnims.Alpha=Alpha
  1390.         RJ.C0 = RJ.C0:lerp(CF.N(-0.1,-0.1,0)*CF.A(M.R(13.6),M.R(31.5),M.R(0)),Alpha)
  1391.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-0.9,0)*CF.A(M.R(-11.5),M.R(0.7),M.R(-7)),Alpha)
  1392.         RH.C0 = RH.C0:lerp(CF.N(0.7,-1,-0.3)*CF.A(M.R(-37.5),M.R(-26.1),M.R(-18.6)),Alpha)
  1393.         LS.C0 = LS.C0:lerp(CF.N(-1.4,0.4,0.2)*CF.A(M.R(-60.5),M.R(0),M.R(-26.6)),Alpha)
  1394.         RS.C0 = RS.C0:lerp(CF.N(0.1,-0.1,-1)*CF.A(M.R(93),M.R(-30.7),M.R(-60.1)),Alpha)
  1395.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(4.9),M.R(-18.6),M.R(1.6)),Alpha)
  1396.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1397.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1398.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1399.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1400.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1401.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1402.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1403.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1404.     end
  1405.     --WalkSpeed=24
  1406.     Attack=false
  1407.     NeutralAnims=true
  1408. end
  1409.  
  1410. function LSlash()
  1411.     Attack=true
  1412.     NeutralAnims=false
  1413.     for i = 0, .7, 0.1 do
  1414.         swait()
  1415.         local Alpha = .4
  1416.         FingerAnims.Alpha=Alpha
  1417.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(28.7),M.R(0)),Alpha)
  1418.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1419.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(-28.6),M.R(0)),Alpha)
  1420.         LS.C0 = LS.C0:lerp(CF.N(-1.7,0.9,0.4)*CF.A(M.R(94.9),M.R(-38.3),M.R(-127.3)),Alpha)
  1421.         RS.C0 = RS.C0:lerp(CF.N(1.5,0.7,0)*CF.A(M.R(0),M.R(0),M.R(14.4)),Alpha)
  1422.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(-28.7),M.R(0)),Alpha)
  1423.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1424.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1425.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1426.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1427.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1428.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1429.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1430.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1431.     end
  1432.     Sound(LArm,231917758,1,1.5,false,true,true)
  1433.     for i = 0, .2, 0.1 do
  1434.         swait()
  1435.         AOEDamage(lhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1436.         local Alpha = .3
  1437.         FingerAnims.Alpha=Alpha
  1438.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(4.9),M.R(0)),Alpha)
  1439.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1440.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(-4.9),M.R(0)),Alpha)
  1441.         LS.C0 = LS.C0:lerp(CF.N(-1.2,0.8,0)*CF.A(M.R(94.9),M.R(-38.3),M.R(-41.9)),Alpha)
  1442.         RS.C0 = RS.C0:lerp(CF.N(1.5,0.7,0.1)*CF.A(M.R(-8.8),M.R(-2.3),M.R(14.3)),Alpha)
  1443.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(-4.9),M.R(0)),Alpha)
  1444.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1445.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1446.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1447.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1448.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1449.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1450.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1451.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1452.     end
  1453.     for i = 0, .7, 0.1 do
  1454.         swait()
  1455.         AOEDamage(lhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1456.         local Alpha = .4
  1457.         FingerAnims.Alpha=Alpha
  1458.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,-0.5)*CF.A(M.R(0),M.R(-27.1),M.R(0)),Alpha)
  1459.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(27.1),M.R(0)),Alpha)
  1460.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1461.         LS.C0 = LS.C0:lerp(CF.N(-0.7,0.6,-1)*CF.A(M.R(94.9),M.R(-38.3),M.R(65.2)),Alpha)
  1462.         RS.C0 = RS.C0:lerp(CF.N(1.5,0.4,0.4)*CF.A(M.R(-58.7),M.R(-18.6),M.R(-3.1)),Alpha)
  1463.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(27.1),M.R(0)),Alpha)
  1464.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1465.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1466.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1467.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1468.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1469.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1470.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1471.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1472.     end
  1473.     Attack=false
  1474.     NeutralAnims=true
  1475. end
  1476.  
  1477. function Capture()
  1478.     Attack=true
  1479.     NeutralAnims=false
  1480.     for i = 0, .9, 0.1 do
  1481.         swait()
  1482.         local Alpha = .3
  1483.         FingerAnims.Alpha=Alpha
  1484.         RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2,0)*CF.A(M.R(29.6),M.R(0),M.R(0)),Alpha)
  1485.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,-0.2)*CF.A(M.R(-29.6),M.R(0),M.R(0)),Alpha)
  1486.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,-0.2)*CF.A(M.R(-29.6),M.R(0),M.R(0)),Alpha)
  1487.         LS.C0 = LS.C0:lerp(CF.N(-1.1,0.4,0.5)*CF.A(M.R(90),M.R(0),M.R(-125)),Alpha)
  1488.         RS.C0 = RS.C0:lerp(CF.N(1.2,0.3,0.2)*CF.A(M.R(90),M.R(0),M.R(125)),Alpha)
  1489.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1490.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1491.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1492.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1493.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1494.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1495.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1496.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1497.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1498.     end
  1499.     Sound(LArm,231917758,1.2,1,false,true,true)
  1500.     Sound(RArm,231917758,1.2,1,false,true,true)
  1501.     for i = 0, .8, 0.1 do
  1502.         swait()
  1503.         local Alpha = .25
  1504.         FingerAnims.Alpha=Alpha
  1505.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,-0.4)*CF.A(M.R(-22.4),M.R(0),M.R(0)),Alpha)
  1506.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1.1,0)*CF.A(M.R(22.4),M.R(0),M.R(0)),Alpha)
  1507.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1.1,0)*CF.A(M.R(22.4),M.R(0),M.R(0)),Alpha)
  1508.         LS.C0 = LS.C0:lerp(CF.N(-1.3,0.5,-0.3)*CF.A(M.R(90),M.R(0),M.R(45)),Alpha)
  1509.         RS.C0 = RS.C0:lerp(CF.N(1.3,0.5,-0.7)*CF.A(M.R(90),M.R(0),M.R(-45)),Alpha)
  1510.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(22.4),M.R(0),M.R(0)),Alpha)
  1511.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1512.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1513.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1514.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1515.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1516.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1517.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1518.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1519.     end
  1520.     Attack=false
  1521.     NeutralAnims=true
  1522. end
  1523.  
  1524. function HorizontalSlash()
  1525.     Attack=true
  1526.     NeutralAnims=false
  1527.     for i = 0, 1, 0.1 do
  1528.         swait()
  1529.         local Alpha = .3
  1530.         FingerAnims.Alpha=Alpha
  1531.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(66),M.R(0)),Alpha)
  1532.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1533.         RH.C0 = RH.C0:lerp(CF.N(0.4,-1,0.3)*CF.A(M.R(0),M.R(-66),M.R(0)),Alpha)
  1534.         LS.C0 = LS.C0:lerp(CF.N(-1.1,0.5,-0.9)*CF.A(M.R(90.7),M.R(-1.1),M.R(-57.7)),Alpha)
  1535.         RS.C0 = RS.C0:lerp(CF.N(1.1,0,-1.5)*CF.A(M.R(-89.3),M.R(1.1),M.R(-122.3)),Alpha)
  1536.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(11.2),M.R(0)),Alpha)
  1537.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1538.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1539.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1540.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1541.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1542.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1543.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1544.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1545.     end
  1546.     Sound(LArm,231917758,.9,1,false,true,true)
  1547.     Sound(RArm,231917758,.9,1,false,true,true)
  1548.     for i = 0, .3, 0.1 do
  1549.         swait()
  1550.         AOEDamage(lhand.Hitbox.Position,1,{MinDamage=10,MaxDamage=20})
  1551.         AOEDamage(rhand.Hitbox.Position,1,{MinDamage=10,MaxDamage=20})
  1552.         local Alpha = .2
  1553.         FingerAnims.Alpha=Alpha
  1554.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1555.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1556.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1557.         LS.C0 = LS.C0:lerp(CF.N(-1,0.3,-0.6)*CF.A(M.R(89.7),M.R(0),M.R(0)),Alpha)
  1558.         RS.C0 = RS.C0:lerp(CF.N(1.5,0.6,0.1)*CF.A(M.R(-90.3),M.R(2.7),M.R(180)),Alpha)
  1559.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1560.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1561.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1562.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1563.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1564.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1565.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1566.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1567.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1568.     end
  1569.     for i = 0, 1.5, 0.1 do
  1570.         swait()
  1571.         AOEDamage(lhand.Hitbox.Position,1,{MinDamage=10,MaxDamage=20})
  1572.         AOEDamage(rhand.Hitbox.Position,1,{MinDamage=10,MaxDamage=20})
  1573.         local Alpha = .2
  1574.         FingerAnims.Alpha=Alpha
  1575.         RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(0),M.R(-58.6),M.R(0)),Alpha)
  1576.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0.2)*CF.A(M.R(0),M.R(58.6),M.R(0)),Alpha)
  1577.         RH.C0 = RH.C0:lerp(CF.N(0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1578.         LS.C0 = LS.C0:lerp(CF.N(0.3,0.1,-1.2)*CF.A(M.R(75.6),M.R(-7.6),M.R(77.8)),Alpha)
  1579.         RS.C0 = RS.C0:lerp(CF.N(1.5,0.1,1.6)*CF.A(M.R(-92.2),M.R(1.6),M.R(121.3)),Alpha)
  1580.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(-25.3),M.R(0)),Alpha)
  1581.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1582.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1583.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1584.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1585.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1586.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1587.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1588.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1589.     end
  1590.     Attack=false
  1591.     NeutralAnims=true
  1592. end
  1593.  
  1594. function LemmeSmash()
  1595.     Attack=true
  1596.     NeutralAnims=false
  1597.     WalkSpeed=0
  1598.     for i = 0, 3, 0.1 do
  1599.         swait()
  1600.         local Alpha = .2
  1601.         FingerAnims.Alpha=Alpha
  1602.         RJ.C0 = RJ.C0:lerp(CF.N(0,-.1,0)*CF.A(M.R(20.7),M.R(17.7),M.R(0)),Alpha)
  1603.         LH.C0 = LH.C0:lerp(CF.N(-0.2,-0.1,-0.8)*CF.A(M.R(-25.1),M.R(1.7),M.R(-7.8)),Alpha)
  1604.         RH.C0 = RH.C0:lerp(CF.N(0.4,-0.9,0.2)*CF.A(M.R(-21.6),M.R(-16.6),M.R(-6.5)),Alpha)
  1605.         LS.C0 = LS.C0:lerp(CF.N(-1.7,0.3,0.7)*CF.A(M.R(-180),M.R(0),M.R(0)),Alpha)
  1606.         RS.C0 = RS.C0:lerp(CF.N(1.3,0.2,0.3)*CF.A(M.R(-180),M.R(0),M.R(0)),Alpha)
  1607.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(16),M.R(-15.2),M.R(11.1)),Alpha)
  1608.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1609.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1610.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1611.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(29.8),M.R(-83.9),M.R(58)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1612.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1613.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1614.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1615.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(-81.2),M.R(52.7),M.R(144.9)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1616.     end
  1617.     for i = 0, .4, 0.1 do
  1618.         swait()
  1619.         local Alpha = .3
  1620.         FingerAnims.Alpha=Alpha
  1621.         AOEDamage(lhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1622.         AOEDamage(rhand.Hitbox.Position,1,{MinDamage=5,MaxDamage=10})
  1623.         RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2,-0.6)*CF.A(M.R(-38.8),M.R(0),M.R(0)),Alpha)
  1624.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,-0.5)*CF.A(M.R(50.8),M.R(0),M.R(0)),Alpha)
  1625.         RH.C0 = RH.C0:lerp(CF.N(0.5,-0.9,-0.4)*CF.A(M.R(16.3),M.R(0),M.R(0)),Alpha)
  1626.         LS.C0 = LS.C0:lerp(CF.N(-1.6,0.2,-0.4)*CF.A(M.R(49.7),M.R(0),M.R(5)),Alpha)
  1627.         RS.C0 = RS.C0:lerp(CF.N(2.1,0.5,-0.5)*CF.A(M.R(48.2),M.R(2),M.R(-11)),Alpha)
  1628.         NK.C0 = NK.C0:lerp(CF.N(0,1.6,-0.1)*CF.A(M.R(-20.2),M.R(0),M.R(0)),Alpha)
  1629.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1630.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1631.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1632.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(29.8),M.R(-83.9),M.R(58)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1633.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1634.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1635.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1636.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(-81.2),M.R(52.7),M.R(144.9)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1637.     end
  1638.     AOEDamage(Root.CFrame*CF.N(0,-2.5,-1).p,20,{Debounce=0,MinDamage=5,MaxDamage=25,Origin=Root,DamageFX={Type='Knockback',Decay=.25;KnockBack=25,KnockUp=25}})
  1639.     Sound(Torso,233856079,.9,2,false,true,true)
  1640.     Effect{
  1641.         Lifetime=.5;
  1642.         Material=Enum.Material.Neon;
  1643.         Mesh='Blast';
  1644.         CFrame=Root.CFrame*CF.N(0,-2.5,-1);
  1645.         Color=C3.N(0,1,1);
  1646.         Size=V3.N(7.5,2.5,7.5);
  1647.         EndSize=V3.N(15,5,15);
  1648.     }
  1649.     Effect{
  1650.         Lifetime=.5;
  1651.         Material=Enum.Material.Neon;
  1652.         Mesh='Blast';
  1653.         CFrame=Root.CFrame*CF.N(0,-2.5,-1);
  1654.         Color=C3.N(0,1,1);
  1655.         Size=V3.N(3.75,1.25,3.75);
  1656.         EndSize=V3.N(7.5,2.5,7.5);
  1657.     }
  1658.     Effect{
  1659.         Lifetime=.5;
  1660.         Material=Enum.Material.Neon;
  1661.         Mesh={Type=Enum.MeshType.Sphere};
  1662.         CFrame=Root.CFrame*CF.N(0,-2.5,-1);
  1663.         Color=C3.N(0,1,1);
  1664.         Size=V3.N(5,12.5,5);
  1665.         EndSize=V3.N(10,25,10);
  1666.     }
  1667.     for i = 0, 1.6, 0.1 do
  1668.         swait()
  1669.         local Alpha = .3
  1670.         FingerAnims.Alpha=Alpha
  1671.         RJ.C0 = RJ.C0:lerp(CF.N(0,-0.2,-0.6)*CF.A(M.R(-38.8),M.R(0),M.R(0)),Alpha)
  1672.         LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,-0.5)*CF.A(M.R(50.8),M.R(0),M.R(0)),Alpha)
  1673.         RH.C0 = RH.C0:lerp(CF.N(0.5,-0.9,-0.4)*CF.A(M.R(16.3),M.R(0),M.R(0)),Alpha)
  1674.         LS.C0 = LS.C0:lerp(CF.N(-1.6,0.2,-0.4)*CF.A(M.R(49.7),M.R(0),M.R(5)),Alpha)
  1675.         RS.C0 = RS.C0:lerp(CF.N(2.1,0.5,-0.5)*CF.A(M.R(48.2),M.R(2),M.R(-11)),Alpha)
  1676.         NK.C0 = NK.C0:lerp(CF.N(0,1.6,-0.1)*CF.A(M.R(-20.2),M.R(0),M.R(0)),Alpha)
  1677.         FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1678.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1679.         FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1680.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(29.8),M.R(-83.9),M.R(58)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1681.         FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1682.         FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1683.         FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(130)),CF.N(-0.3,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1684.         FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(-81.2),M.R(52.7),M.R(144.9)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1685.     end
  1686.     WalkSpeed=16
  1687.     Attack=false
  1688.     WalkSpeed=24
  1689.     NeutralAnims=true
  1690. end
  1691.  
  1692. function FuckYou()
  1693.     Attack=true
  1694.     NeutralAnims=false
  1695.     WalkSpeed=0
  1696.     for i = 0, 3, 0.1 do
  1697.         swait()
  1698.         local Alpha = .3
  1699.         FingerAnims.Alpha=Alpha
  1700.         RJ.C0 = RJ.C0:lerp(CF.N(0,0+.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1701.         LH.C0 = LH.C0:lerp(CF.N(-0.4,-1-.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(-3.4)),Alpha)
  1702.         RH.C0 = RH.C0:lerp(CF.N(0.4,-1-.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(4.3)),Alpha)
  1703.         LS.C0 = LS.C0:lerp(CF.N(-1.5,0.4,0)*CF.A(M.R(86.6),M.R(0),M.R(0)),Alpha)
  1704.         RS.C0=RS.C0:lerp(CF.N(1.5,.65,0)*CF.A(M.R(7*M.S(Sine/18)),0,M.R(35))*CF.A(0,M.R(-45-7*M.S(Sine/18)),0),Alpha)
  1705.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1706.         FingerAnims.Left[1]={CF.N(0.1,0.4,1.8)*CF.A(M.R(-6.5),M.R(0.8),M.R(146.6)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1707.         FingerAnims.Left[2]={CF.N(0.1,0.3,0)*CF.A(M.R(-6.5),M.R(0.8),M.R(146.6)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1708.         FingerAnims.Left[3]={CF.N(0.1,0.1,-1.8)*CF.A(M.R(3.4),M.R(0),M.R(-10)),CF.N(0,0.3,0)*CF.A(M.R(0),M.R(0),M.R(45))}
  1709.         FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(84.2),M.R(-55.6),M.R(131.1)),CF.N(0.1,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1710.         for E = 1, #fingers.r do
  1711.             local F = fingers.r[E]
  1712.             local FING = F[1]
  1713.             local TIP = F[2]
  1714.             FingerAnims.Right[E]={
  1715.                 CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/18)));
  1716.                 CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/18)));
  1717.             }
  1718.         end
  1719.     end
  1720.     for i = 0, 3, 0.1 do
  1721.         swait()
  1722.         local Alpha = .3
  1723.         FingerAnims.Alpha=Alpha
  1724.         RJ.C0 = RJ.C0:lerp(CF.N(0,0+.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1725.         LH.C0 = LH.C0:lerp(CF.N(-0.4,-1-.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(-3.4)),Alpha)
  1726.         RH.C0 = RH.C0:lerp(CF.N(0.4,-1-.05*M.C(Sine/18),0)*CF.A(M.R(0),M.R(0),M.R(4.3)),Alpha)
  1727.         LS.C0 = LS.C0:lerp(CF.N(-2.3,0.7,-0.3)*CF.A(M.R(80.8),M.R(88.9),M.R(0)),Alpha)
  1728.         RS.C0=RS.C0:lerp(CF.N(1.5,.65,0)*CF.A(M.R(7*M.S(Sine/18)),0,M.R(35))*CF.A(0,M.R(-45-7*M.S(Sine/18)),0),Alpha)
  1729.         NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1730.         FingerAnims.Left[1]={CF.N(0.1,0.1,1.8)*CF.A(M.R(0.4),M.R(2),M.R(134.6)),CF.N(-0.4,0.7,0)*CF.A(M.R(-0.7),M.R(0.8),M.R(149.1))}
  1731.         FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1732.         FingerAnims.Left[3]={CF.N(-0.1,0,-1.8)*CF.A(M.R(0.1),M.R(2.1),M.R(154.2)),CF.N(-0.2,0.7,0)*CF.A(M.R(-0.4),M.R(0.6),M.R(129.7))}
  1733.         FingerAnims.Left[4]={CF.N(-0.3,-0.6,0.5)*CF.A(M.R(91.4),M.R(-39.9),M.R(128.8)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1734.         for E = 1, #fingers.r do
  1735.             local F = fingers.r[E]
  1736.             local FING = F[1]
  1737.             local TIP = F[2]
  1738.             FingerAnims.Right[E]={
  1739.                 CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/18)));
  1740.                 CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/18)));
  1741.             }
  1742.         end
  1743.            
  1744.     end
  1745.     WalkSpeed=24
  1746.     Attack=false
  1747.     NeutralAnims=true
  1748. end
  1749.  
  1750. Mouse.Button1Down:connect(function()
  1751.     if(Attack)then return end
  1752.     if(Combo==1)then
  1753.         LSlash()
  1754.         Combo=2
  1755.     elseif(Combo==2)then
  1756.         RSlash()
  1757.         Combo=3
  1758.     elseif(Combo==3)then
  1759.         HorizontalSlash()
  1760.         Combo=4
  1761.     elseif(Combo==4)then
  1762.         LemmeSmash()
  1763.         Combo=1
  1764.     end
  1765.     lastClick=tick()
  1766. end)
  1767.  
  1768. Mouse.KeyDown:connect(function(k)
  1769.     if(Attack)then return end
  1770.     if(k=='\\')then
  1771.         FuckYou()
  1772.     elseif(k=='z')then
  1773.         local callTable = {Who=Char,MinimumDamage=5,MaximumDamage=25}
  1774.         DealDamage(callTable)
  1775.     end
  1776. end)
  1777.  
  1778. coroutine.resume(coroutine.create(function() -- Stun Damage Loop
  1779.     while true do
  1780.         swait()
  1781.         for who,data in next, Stunned do
  1782.             local lastBurn, burnMaxTime, emitter = unpack(data)
  1783.             if(time()-lastBurn >= .5)then
  1784.                 data[1] = time()
  1785.                 for _,v in next, who:children() do if(v.Name == 'Health' and v:IsA'Script')then v.Disabled = true end end
  1786.                 local hum = who:FindFirstChildOfClass'Humanoid'
  1787.                 local tors = GetTorso(who)
  1788.                 if(time() >= burnMaxTime or hum and hum.Health <= 0)then
  1789.                     local f=Instance.new("BoolValue")
  1790.                     f.Name = 'ResumeControl'
  1791.                     f.Parent = who
  1792.                     if(emitter)then
  1793.                         emitter:destroy()
  1794.                     end
  1795.                     Stunned[who] = nil;
  1796.                     for _,v in next, who:children() do if(v.Name == 'Health' and v:IsA'Script')then v.Disabled = false end end
  1797.                 end
  1798.             end
  1799.         end
  1800.     end
  1801. end))
  1802.  
  1803. while true do
  1804.     swait()
  1805.     if(tick()-lastClick>1 and Combo~=1 and not Attack)then
  1806.         Combo=1
  1807.         print'reset'
  1808.     end
  1809.     Sine = Sine + Change
  1810.     if(not Music or not Music.Parent)then
  1811.         local tp = (Music and Music.TimePosition)
  1812.         Music = Sound(Char,MusicID,1,10,true,false,true)
  1813.         Music.Name = 'Music'
  1814.         Music.TimePosition = tp
  1815.     end
  1816.     Music.SoundId = "rbxassetid://"..MusicID
  1817.     Music.Parent = Torso
  1818.     Music.Pitch = 1
  1819.     Music.Volume = 1
  1820.     if(not Muted)then
  1821.         Music:Resume()
  1822.     else
  1823.         Music:Pause()
  1824.     end
  1825.    
  1826.    
  1827.     if(God)then
  1828.         Hum.MaxHealth = 1e100
  1829.         Hum.Health = 1e100
  1830.         if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
  1831.         Hum.Name = M.RNG()*100
  1832.     end
  1833.    
  1834.     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)
  1835.    
  1836.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1837.     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")
  1838.     if(not Effects or not Effects.Parent)then
  1839.         Effects = IN("Model",Char)
  1840.         Effects.Name = "Effects"
  1841.     end    
  1842.     local wsVal = 6                                                                                                                                                                                                                                                                                                                                                                                                    
  1843.     if(State == 'Walk')then
  1844.         local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1845.         Change = 1
  1846.         RH.C1 = RH.C1:lerp(CF.N(0,1*PlayerSize-.5*M.C(Sine/wsVal)/2,0+.5*M.C(Sine/wsVal)/2)*CF.A(M.R(15-45*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1847.         LH.C1 = LH.C1:lerp(CF.N(0,1*PlayerSize+.5*M.C(Sine/wsVal)/2,0-.5*M.C(Sine/wsVal)/2)*CF.A(M.R(15+45*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1848.     else
  1849.         RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1850.         LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1851.     end
  1852.     Hum.WalkSpeed = WalkSpeed
  1853.     if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  1854.     if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  1855.     for E = 1, #fingers.r do
  1856.         local F = fingers.r[E]
  1857.         local FING = F[1]
  1858.         local TIP = F[2]
  1859.         local Alpha=FingerAnims.Alpha
  1860.         local anims=FingerAnims.Right[E]
  1861.         FING.C1 = FING.C1:lerp(anims[1],Alpha)
  1862.         TIP.C1 = TIP.C1:lerp(anims[2],Alpha)
  1863.     end
  1864.     for E = 1, #fingers.l do
  1865.         local F = fingers.l[E]
  1866.         local FING = F[1]
  1867.         local TIP = F[2]
  1868.         local Alpha=FingerAnims.Alpha
  1869.         local anims=FingerAnims.Left[E]
  1870.         FING.C1 = FING.C1:lerp(anims[1],Alpha)
  1871.         TIP.C1 = TIP.C1:lerp(anims[2],Alpha)
  1872.     end
  1873.     if(NeutralAnims)then   
  1874.         if(State == 'Idle')then
  1875.             local Alpha = .2
  1876.             FingerAnims.Alpha=Alpha
  1877.             RJ.C0 = RJ.C0:lerp(CF.N(0,-.1+.05*M.C(Sine/18),0)*CF.A(M.R(24.6),M.R(-20.5),M.R(9.1)),Alpha)
  1878.             LH.C0 = LH.C0:lerp(CF.N(-0.5,-1-.05*M.C(Sine/18),0)*CF.A(M.R(-22.9),M.R(28.9),M.R(0)),Alpha)
  1879.             RH.C0 = RH.C0:lerp(CF.N(0.5,-1-.05*M.C(Sine/18),0)*CF.A(M.R(-32.6),M.R(0),M.R(0)),Alpha)
  1880.             RS.C0=RS.C0:lerp(CF.N(1.5,.65,0)*CF.A(M.R(7*M.S(Sine/18)),0,M.R(35))*CF.A(0,M.R(-45-7*M.S(Sine/18)),0),Alpha)
  1881.             LS.C0=LS.C0:lerp(CF.N(-1.5,.75,0)*CF.A(M.R(-15+7*M.S(Sine/18)),0,M.R(-55))*CF.A(0,M.R(65+7*M.S(Sine/18)),0),Alpha)
  1882.             NK.C0 = NK.C0:lerp(CF.N(0,1.5,-0.3)*CF.A(M.R(-22.9+4*M.S(Sine/18)),M.R(22.4+2.5*M.S(Sine/18)),M.R(0)),Alpha)
  1883.             for E = 1, #fingers.r do
  1884.                 local F = fingers.r[E]
  1885.                 local FING = F[1]
  1886.                 local TIP = F[2]
  1887.                 FingerAnims.Right[E]={
  1888.                     CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/18)));
  1889.                     CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/18)));
  1890.                 }
  1891.             end
  1892.             for E = 1, #fingers.l do
  1893.                 local F = fingers.l[E]
  1894.                 local FING = F[1]
  1895.                 local TIP = F[2]
  1896.                 FingerAnims.Left[E]={
  1897.                     CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/18)));
  1898.                     CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/18)));
  1899.                 }
  1900.             end
  1901.         elseif(State == 'Walk')then
  1902.             local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1903.             local Alpha2 = math.min(.15 * (Hum.WalkSpeed/16),1)
  1904.             RJ.C0 = RJ.C0:lerp(CF.N(0,-.075+.25*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-35-2.5*M.C(Sine/(wsVal/2))),0,Root.RotVelocity.y/75),Alpha2)
  1905.             NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(35+2.5*M.C(Sine/(wsVal/2))),-Head.RotVelocity.y/75,0),Alpha)
  1906.             LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0)*CF.A(M.R(5*M.S(Sine/(wsVal/2))),0,M.R(-70-5*M.S(Sine/(wsVal/2))))*CF.A(0,M.R(65),0),Alpha)
  1907.             RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0)*CF.A(M.R(5*M.S(Sine/(wsVal/2))),0,M.R(70+5*M.S(Sine/(wsVal/2))))*CF.A(0,M.R(-65),0),Alpha)
  1908.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.25*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(35+2.5*M.C(Sine/(wsVal/2))),0,0),Alpha)
  1909.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.25*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(35+2.5*M.C(Sine/(wsVal/2))),0,0),Alpha)
  1910.             for E = 1, #fingers.r do
  1911.                 local F = fingers.r[E]
  1912.                 local FING = F[1]
  1913.                 local TIP = F[2]
  1914.                 FingerAnims.Right[E]={
  1915.                     CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/(wsVal/2))));
  1916.                     CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/(wsVal/2))));
  1917.                 }
  1918.             end
  1919.             for E = 1, #fingers.l do
  1920.                 local F = fingers.l[E]
  1921.                 local FING = F[1]
  1922.                 local TIP = F[2]
  1923.                 FingerAnims.Left[E]={
  1924.                     CF.N(0,0,0)*CF.A(M.R(0), M.R(0), M.R(35+5*M.C(Sine/(wsVal/2))));
  1925.                     CF.N(0,0.5,0)*CF.A(M.R(0), M.R(0), M.R(75+5*M.C(Sine/(wsVal/2))));
  1926.                 }
  1927.             end
  1928.         elseif(State == 'Jump')then
  1929.             local Alpha = .3
  1930.             FingerAnims.Alpha=Alpha
  1931.             RJ.C0 = RJ.C0:lerp(CF.N(0,0,0)*CF.A(M.R(12.9),M.R(0+5*M.C(Sine/8)),M.R(0)),Alpha)
  1932.             LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1933.             RH.C0 = RH.C0:lerp(CF.N(0.5,-0.6,-0.7)*CF.A(M.R(-29.9),M.R(0),M.R(0)),Alpha)
  1934.             LS.C0 = LS.C0:lerp(CF.N(-1.9,0.3,0)*CF.A(M.R(0),M.R(0),M.R(5)),Alpha)
  1935.             RS.C0 = RS.C0:lerp(CF.N(1.9,0.3,-.7)*CF.A(M.R(0),M.R(0),M.R(-5)),Alpha)
  1936.             NK.C0 = NK.C0:lerp(CF.N(0,1.5,0)*CF.A(M.R(16.5),M.R(0),M.R(0)),Alpha)
  1937.             FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1938.             FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1939.             FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1940.             FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1941.             FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1942.             FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1943.             FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1944.             FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1945.         elseif(State == 'Fall')then
  1946.             local Alpha = .3
  1947.             FingerAnims.Alpha=Alpha
  1948.             RJ.C0 = RJ.C0:lerp(CF.N(0,0,0.1)*CF.A(M.R(-26.3),M.R(0+5*M.C(Sine/8)),M.R(0)),Alpha)
  1949.             LH.C0 = LH.C0:lerp(CF.N(-0.5,-1,0)*CF.A(M.R(0),M.R(0),M.R(0)),Alpha)
  1950.             RH.C0 = RH.C0:lerp(CF.N(0.5,-0.6,-0.7)*CF.A(M.R(29.1),M.R(0),M.R(0)),Alpha)
  1951.             LS.C0 = LS.C0:lerp(CF.N(-1.7,-0.4,0)*CF.A(M.R(0),M.R(0),M.R(-155)),Alpha)
  1952.             RS.C0 = RS.C0:lerp(CF.N(1.8,-0.3,0)*CF.A(M.R(0),M.R(0),M.R(155)),Alpha)
  1953.             NK.C0 = NK.C0:lerp(CF.N(0,1.6,-0.2)*CF.A(M.R(-25.4),M.R(0),M.R(0)),Alpha)
  1954.             FingerAnims.Left[1]={CF.N(0,0,1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1955.             FingerAnims.Left[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1956.             FingerAnims.Left[3]={CF.N(0,0,-1.8)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1957.             FingerAnims.Left[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.7,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1958.             FingerAnims.Right[1]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1959.             FingerAnims.Right[2]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1960.             FingerAnims.Right[3]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.5,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1961.             FingerAnims.Right[4]={CF.N(0,0,0)*CF.A(M.R(0),M.R(0),M.R(0)),CF.N(0,0.6,0)*CF.A(M.R(0),M.R(0),M.R(90))}
  1962.         elseif(State == 'Paralyzed')then
  1963.             -- paralyzed
  1964.         elseif(State == 'Sit')then
  1965.             -- sit
  1966.         end
  1967.     end
  1968.    
  1969.     for i,v in next, BloodPuddles do
  1970.         local mesh = i:FindFirstChild'CylinderMesh'
  1971.         BloodPuddles[i] = v + 1
  1972.         if(not mesh or i.Transparency >= 1)then
  1973.             i:destroy()
  1974.             BloodPuddles[i] = nil
  1975.         elseif(v >= Frame_Speed*4)then
  1976.             local trans = (v-Frame_Speed*4)/(Frame_Speed*2)
  1977.             i.Transparency = trans
  1978.                 if(mesh.Scale.Z > 0)then
  1979.                     mesh.Scale = mesh.Scale-V3.N(.05,0,.05)
  1980.                 end
  1981.         else
  1982.             i.Transparency = 0
  1983.         end
  1984.     end
  1985. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement