SHARE
TWEET

furry

Pancakess Jan 26th, 2019 158 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7.     print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8.     script.Parent = Player.Character
  9.  
  10.     --RemoteEvent for communicating
  11.     local Event = Instance.new("RemoteEvent")
  12.     Event.Name = "UserInput_Event"
  13.  
  14.     --Fake event to make stuff like Mouse.KeyDown work
  15.     local function fakeEvent()
  16.         local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17.         t.connect = t.Connect
  18.         return t
  19.     end
  20.  
  21.     --Creating fake input objects with fake variables
  22.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26.     end}
  27.     --Merged 2 functions into one by checking amount of arguments
  28.     CAS.UnbindAction = CAS.BindAction
  29.  
  30.     --This function will trigger the events that have been :Connect()'ed
  31.     local function te(self,ev,...)
  32.         local t = m[ev]
  33.         if t and t._fakeEvent and t.Function then
  34.             t.Function(...)
  35.         end
  36.     end
  37.     m.TrigEvent = te
  38.     UIS.TrigEvent = te
  39.  
  40.     Event.OnServerEvent:Connect(function(plr,io)
  41.         if plr~=Player then return end
  42.         if io.isMouse then
  43.             m.Target = io.Target
  44.             m.Hit = io.Hit
  45.         else
  46.             local b = io.UserInputState == Enum.UserInputState.Begin
  47.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49.             end
  50.             for _,t in pairs(CAS.Actions) do
  51.                 for _,k in pairs(t.Keys) do
  52.                     if k==io.KeyCode then
  53.                         t.Function(t.Name,io.UserInputState,io)
  54.                     end
  55.                 end
  56.             end
  57.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59.         end
  60.     end)
  61.     Event.Parent = NLS([==[
  62.     local Player = game:GetService("Players").LocalPlayer
  63.     local Event = script:WaitForChild("UserInput_Event")
  64.  
  65.     local UIS = game:GetService("UserInputService")
  66.     local input = function(io,a)
  67.         if a then return end
  68.         --Since InputObject is a client-side instance, we create and pass table instead
  69.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70.     end
  71.     UIS.InputBegan:Connect(input)
  72.     UIS.InputEnded:Connect(input)
  73.  
  74.     local Mouse = Player:GetMouse()
  75.     local h,t
  76.     --Give the server mouse data 30 times every second, but only if the values changed
  77.     --If player is not moving their mouse, client won't fire events
  78.     while wait(1/30) do
  79.         if h~=Mouse.Hit or t~=Mouse.Target then
  80.             h,t=Mouse.Hit,Mouse.Target
  81.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  82.         end
  83.     end]==],Player.Character)
  84.     Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86.  
  87. -- Created by Nebula_Zorua --
  88. -- Furry V3 --
  89. -- You made me do this.. ;c --
  90. -- Discord: Nebula the Zorua#6969
  91. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  92.  
  93.  
  94.  
  95. --// Shortcut Variables \\--
  96. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  97. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  98. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  99. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  100. 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}
  101. local R3 = {N=Region3.new}
  102. local De = S.Debris
  103. local WS = workspace
  104. local Lght = S.Lighting
  105. local RepS = S.ReplicatedStorage
  106. local IN = Instance.new
  107. local Plrs = S.Players
  108.  
  109. --// Initializing \\--
  110. local Plr = owner
  111. local Char = Plr.Character
  112. local Hum = Char:FindFirstChildOfClass'Humanoid'
  113. local RArm = Char["Right Arm"]
  114. local LArm = Char["Left Arm"]
  115. local RLeg = Char["Right Leg"]
  116. local LLeg = Char["Left Leg"]  
  117. local Root = Char:FindFirstChild'HumanoidRootPart'
  118. local Torso = Char.Torso
  119. local Head = Char.Head
  120. local NeutralAnims = true
  121. local Attack = false
  122. local Debounces = {Debounces={}}
  123. local Hit = {}
  124. local Sine = 0
  125. local Change = 1
  126.  
  127. local Stance = 0
  128. local Claws = false
  129.  
  130. local Effects = IN("Folder",Char)
  131. Effects.Name = "Effects"
  132.  
  133. local Huggled = Char:FindFirstChild'Huggled'
  134. if(not Huggled or not Huggled:IsA'BoolValue')then
  135.     Huggled = IN("BoolValue",Char)
  136.     Huggled.Value = false
  137.     Huggled.Name = 'Huggled'
  138. end
  139. local Kissed = Char:FindFirstChild'Kissed'
  140. if(not Kissed or not Kissed:IsA'BoolValue')then
  141.     Kissed = IN("BoolValue",Char)
  142.     Kissed.Value = false
  143.     Kissed.Name = 'Kissed'
  144. end
  145.  
  146. --// Debounce System \\--
  147.  
  148.  
  149. function Debounces:New(name,cooldown)
  150.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  151.     setmetatable(aaaaa,{__index = Debounces})
  152.     Debounces.Debounces[name] = aaaaa
  153.     return aaaaa
  154. end
  155.  
  156. function Debounces:Use(overrideUsable)
  157.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  158.     if(self.Usable or overrideUsable)then
  159.         self.Usable = false
  160.         self.CoolingDown = true
  161.         local LastUse = time()
  162.         self.LastUse = LastUse
  163.         delay(self.Cooldown or 2,function()
  164.             if(self.LastUse == LastUse)then
  165.                 self.CoolingDown = false
  166.                 self.Usable = true
  167.             end
  168.         end)
  169.     end
  170. end
  171.  
  172. function Debounces:Get(name)
  173.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  174.     for i,v in next, Debounces.Debounces do
  175.         if(i == name)then
  176.             return v;
  177.         end
  178.     end
  179. end
  180.  
  181. function Debounces:GetProgressPercentage()
  182.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  183.     if(self.CoolingDown and not self.Usable)then
  184.         return math.max(
  185.             math.floor(
  186.                 (
  187.                     (time()-self.LastUse)/self.Cooldown or 2
  188.                 )*100
  189.             )
  190.         )
  191.     else
  192.         return 100
  193.     end
  194. end
  195.  
  196. --// Instance Creation Functions \\--
  197.  
  198. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  199.     local Sound = IN("Sound")
  200.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  201.     Sound.Pitch = pitch or 1
  202.     Sound.Volume = volume or 1
  203.     Sound.Looped = looped or false
  204.     if(autoPlay)then
  205.         coroutine.wrap(function()
  206.             repeat wait() until Sound.IsLoaded
  207.             Sound.Playing = autoPlay or false
  208.         end)()
  209.     end
  210.     if(not looped and effect)then
  211.         Sound.Stopped:connect(function()
  212.             Sound.Volume = 0
  213.             Sound:destroy()
  214.         end)
  215.     elseif(effect)then
  216.         warn("Sound can't be looped and a sound effect!")
  217.     end
  218.     Sound.Parent =parent or Torso
  219.     return Sound
  220. end
  221. function Part(parent,color,material,size,cframe,anchored,cancollide)
  222.     local part = IN("Part")
  223.     part.Parent = parent or Char
  224.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  225.     part.Material = material or Enum.Material.SmoothPlastic
  226.     part.TopSurface,part.BottomSurface=10,10
  227.     part.Size = size or V3.N(1,1,1)
  228.     part.CFrame = cframe or CF.N(0,0,0)
  229.     part.CanCollide = cancollide or false
  230.     part.Anchored = anchored or false
  231.     return part
  232. end
  233.  
  234. function Weld(part0,part1,c0,c1)
  235.     local weld = IN("Weld")
  236.     weld.Parent = part0
  237.     weld.Part0 = part0
  238.     weld.Part1 = part1
  239.     weld.C0 = c0 or CF.N()
  240.     weld.C1 = c1 or CF.N()
  241.     return weld
  242. end
  243.  
  244. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  245.     local part = IN("SpecialMesh")
  246.     part.MeshId = meshid or ""
  247.     part.TextureId = textid or ""
  248.     part.Scale = scale or V3.N(1,1,1)
  249.     part.Offset = offset or V3.N(0,0,0)
  250.     part.MeshType = meshtype or Enum.MeshType.Sphere
  251.     part.Parent = parent
  252.     return part
  253. end
  254.  
  255. NewInstance = function(instance,parent,properties)
  256.     local inst = Instance.new(instance)
  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 Clone(instance,parent,properties)
  267.     local inst = instance:Clone()
  268.     inst.Parent = parent
  269.     if(properties)then
  270.         for i,v in next, properties do
  271.             pcall(function() inst[i] = v end)
  272.         end
  273.     end
  274.     return inst;
  275. end
  276.  
  277. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  278.     local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  279.     local Sound = IN("Sound")
  280.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  281.     Sound.Pitch = pitch or 1
  282.     Sound.Volume = volume or 1
  283.     Sound.Looped = looped or false
  284.     if(autoPlay)then
  285.         coroutine.wrap(function()
  286.             repeat wait() until Sound.IsLoaded
  287.             Sound.Playing = autoPlay or false
  288.         end)()
  289.     end
  290.     if(not looped and effect)then
  291.         Sound.Stopped:connect(function()
  292.             Sound.Volume = 0
  293.             soundPart:destroy()
  294.         end)
  295.     elseif(effect)then
  296.         warn("Sound can't be looped and a sound effect!")
  297.     end
  298.     Sound.Parent = soundPart
  299.     return Sound
  300. end
  301.  
  302.  
  303. --// Extended ROBLOX tables \\--
  304. 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})
  305. --// Require stuff \\--
  306. function CamShake(who,times,intense,origin)
  307.     coroutine.wrap(function()
  308.         if(script:FindFirstChild'CamShake')then
  309.             local cam = script.CamShake:Clone()
  310.             cam:WaitForChild'intensity'.Value = intense
  311.             cam:WaitForChild'times'.Value = times
  312.            
  313.             if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  314.             cam.Parent = who
  315.             wait()
  316.             cam.Disabled = false
  317.         elseif(who == Plr or who == Char)then
  318.             local intensity = intense
  319.             local cam = workspace.CurrentCamera
  320.             for i = 1, times do
  321.                 local camDistFromOrigin
  322.                 if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  323.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  324.                 elseif(typeof(origin) == 'Vector3')then
  325.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  326.                 end
  327.                 if(camDistFromOrigin)then
  328.                     intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  329.                 end
  330.                 cam.CFrame = cam.CFrame:lerp(cam.CFrame*CFrame.new(math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100)*CFrame.Angles(math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100)),.4)
  331.                 swait()
  332.             end
  333.         end
  334.     end)()
  335. end
  336.  
  337. function CamShakeAll(times,intense,origin)
  338.     for _,v in next, Plrs:players() do
  339.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  340.     end
  341. end
  342.  
  343. function ServerScript(code)
  344.     if(script:FindFirstChild'Loadstring')then
  345.         local load = script.Loadstring:Clone()
  346.         load:WaitForChild'Sauce'.Value = code
  347.         load.Disabled = false
  348.         load.Parent = workspace
  349.     elseif(NS and typeof(NS) == 'function')then
  350.         NS(code,workspace)
  351.     else
  352.         warn("no serverscripts lol")
  353.     end
  354. end
  355.  
  356. function RunLocal(where,code)
  357.     ServerScript([[
  358.         wait()
  359.         script.Parent=nil
  360.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  361.        
  362.         local Http = _G.Http or game:service'HttpService'
  363.        
  364.         local source = ]].."[["..code.."]]"..[[
  365.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  366.         local asd = Http:PostAsync(link,source)
  367.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  368.         local ID = Http:JSONDecode(asd).Result.Require_ID
  369.         local vs = require(ID).VORTH_SCRIPT
  370.         vs.Parent = game.]]..where:GetFullName()
  371.     )
  372. end
  373.  
  374. --// Customization \\--
  375.  
  376. local Frame_Speed = 60 -- The frame speed for swait. 1 is automatically divided by this
  377. local Remove_Hats = false
  378. local Remove_Clothing = false
  379. local PlayerSize = 1
  380. local DamageColor = BrickColor.new'Really red'
  381. local MusicID = 0
  382. local God = false
  383. local Muted = false
  384.  
  385. local WalkSpeed = 16
  386.  
  387. --// Weapon and GUI creation, and Character Customization \\--
  388.  
  389. if(Remove_Hats)then Instance.ClearChildrenOfClass(Char,"Accessory",true) end
  390. if(Remove_Clothing)then Instance.ClearChildrenOfClass(Char,"Clothing",true) Instance.ClearChildrenOfClass(Char,"ShirtGraphic",true) end
  391.  
  392. if(PlayerSize ~= 1)then
  393.     for _,v in next, Char:GetDescendants() do
  394.         if(v:IsA'BasePart')then
  395.             v.Size = v.Size * PlayerSize
  396.         end
  397.     end
  398. end
  399.  
  400. local Claw1 = Part(Char,C3.N(0,0,0),Enum.Material.SmoothPlastic,V3.N(.85,.4,.75),RArm.CFrame,false,false)
  401. Claw1.Transparency = 1
  402. local Claw1M = Mesh(Claw1,Enum.MeshType.FileMesh,"rbxassetid://105262978","",V3.N(.6,1,0),V3.N())
  403. local Claw1W = Weld(RArm,Claw1,CF.N(0,-1.4,.06)*CF.A(M.R(-90),0,M.R(-90)))
  404.  
  405. local Claw2 = Part(Char,C3.N(0,0,0),Enum.Material.SmoothPlastic,V3.N(.85,.4,.75),RArm.CFrame,false,false)
  406. Claw2.Transparency = 1
  407. local Claw2M = Mesh(Claw2,Enum.MeshType.FileMesh,"rbxassetid://105262978","",V3.N(.6,1,0),V3.N())
  408. local Claw2W = Weld(LArm,Claw2,CF.N(0,-1.4,.06)*CF.A(M.R(-90),0,M.R(90)))
  409.  
  410. --// Stop animations \\--
  411. for _,v in next, Hum:GetPlayingAnimationTracks() do
  412.     v:Stop();
  413. end
  414.  
  415. pcall(game.Destroy,Char:FindFirstChild'Animate')
  416. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  417.  
  418. --// Joints \\--
  419.  
  420. 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)})
  421. 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)})
  422. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5 * PlayerSize,0)})
  423. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  424. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5 * PlayerSize,-1 * PlayerSize,0),C1 = CF.N(0,1 * PlayerSize,0)})
  425. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  426.  
  427. local LSC0 = LS.C0
  428. local RSC0 = RS.C0
  429. local NKC0 = NK.C0
  430. local LHC0 = LH.C0
  431. local RHC0 = RH.C0
  432. local RJC0 = RJ.C0
  433.  
  434. --// Artificial HB \\--
  435.  
  436. local ArtificialHB = IN("BindableEvent", script)
  437. ArtificialHB.Name = "Heartbeat"
  438.  
  439. script:WaitForChild("Heartbeat")
  440.  
  441. local tf = 0
  442. local allowframeloss = false
  443. local tossremainder = false
  444. local lastframe = tick()
  445. local frame = 1/Frame_Speed
  446. ArtificialHB:Fire()
  447.  
  448. game:GetService("RunService").Heartbeat:connect(function(s, p)
  449.     tf = tf + s
  450.     if tf >= frame then
  451.         if allowframeloss then
  452.             script.Heartbeat:Fire()
  453.             lastframe = tick()
  454.         else
  455.             for i = 1, math.floor(tf / frame) do
  456.                 ArtificialHB:Fire()
  457.             end
  458.             lastframe = tick()
  459.         end
  460.         if tossremainder then
  461.             tf = 0
  462.         else
  463.             tf = tf - frame * math.floor(tf / frame)
  464.         end
  465.     end
  466. end)
  467.  
  468. function swait(num)
  469.     if num == 0 or num == nil then
  470.         ArtificialHB.Event:wait()
  471.     else
  472.         for i = 0, num do
  473.             ArtificialHB.Event:wait()
  474.         end
  475.     end
  476. end
  477.  
  478.  
  479. --// Effect Function(s) \\--
  480.  
  481. function Bezier(startpos, pos2, pos3, endpos, t)
  482.     local A = startpos:lerp(pos2, t)
  483.     local B  = pos2:lerp(pos3, t)
  484.     local C = pos3:lerp(endpos, t)
  485.     local lerp1 = A:lerp(B, t)
  486.     local lerp2 = B:lerp(C, t)
  487.     local cubic = lerp1:lerp(lerp2, t)
  488.     return cubic
  489. end
  490.  
  491. function SphereFX(duration,color,scale,pos,endScale,increment)
  492.     return Effect{
  493.         Effect='ResizeAndFade',
  494.         Color=color,
  495.         Size=scale,
  496.         Mesh={MeshType=Enum.MeshType.Sphere},
  497.         CFrame=pos,
  498.         FXSettings={
  499.             EndSize=endScale,
  500.             EndIsIncrement=increment
  501.         }
  502.     }
  503. end
  504.  
  505. function BlastFX(duration,color,scale,pos,endScale,increment)
  506.     return Effect{
  507.         Effect='ResizeAndFade',
  508.         Color=color,
  509.         Size=scale,
  510.         Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
  511.         CFrame=pos,
  512.         FXSettings={
  513.             EndSize=endScale,
  514.             EndIsIncrement=increment
  515.         }
  516.     }
  517. end
  518.  
  519. function BlockFX(duration,color,scale,pos,endScale,increment)
  520.     return Effect{
  521.         Effect='ResizeAndFade',
  522.         Color=color,
  523.         Size=scale,
  524.         CFrame=pos,
  525.         FXSettings={
  526.             EndSize=endScale,
  527.             EndIsIncrement=increment
  528.         }
  529.     }
  530. end
  531.  
  532. function Zap(data)
  533.     local sCF,eCF = data.StartCFrame,data.EndCFrame
  534.     assert(sCF,"You need a start CFrame!")
  535.     assert(eCF,"You need an end CFrame!")
  536.     local parts = data.PartCount or 15
  537.     local zapRot = data.ZapRotation or {-5,5}
  538.     local startThick = data.StartSize or 3;
  539.     local endThick = data.EndSize or startThick/2;
  540.     local color = data.Color or BrickColor.new'Electric blue'
  541.     local delay = data.Delay or 35
  542.     local delayInc = data.DelayInc or 0
  543.     local lastLightning;
  544.     local MagZ = (sCF.p - eCF.p).magnitude
  545.     local thick = startThick
  546.     local inc = (startThick/parts)-(endThick/parts)
  547.    
  548.     for i = 1, parts do
  549.         local pos = sCF.p
  550.         if(lastLightning)then
  551.             pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  552.         end
  553.         delay = delay + delayInc
  554.         local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  555.         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)))
  556.         if(parts == i)then
  557.             local MagZ = (pos-eCF.p).magnitude
  558.             zapPart.Size = V3.N(endThick,endThick,MagZ)
  559.             zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  560.             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)}}
  561.         else
  562.             zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  563.         end
  564.        
  565.         lastLightning = zapPart
  566.         Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  567.        
  568.         thick=thick-inc
  569.        
  570.     end
  571. end
  572.  
  573. function Zap2(data)
  574.     local Color = data.Color or BrickColor.new'Electric blue'
  575.     local StartPos = data.Start or Torso.Position
  576.     local EndPos = data.End or Mouse.Hit.p
  577.     local SegLength = data.SegL or 2
  578.     local Thicc = data.Thickness or 0.5
  579.     local Fades = data.Fade or 45
  580.     local Parent = data.Parent or Effects
  581.     local MaxD = data.MaxDist or 200
  582.     local Branch = data.Branches or false
  583.     local Material = data.Material or Enum.Material.Neon
  584.     local Raycasts = data.Raycasts or false
  585.     local Offset = data.Offset or {0,360}
  586.     local AddMesh = (data.Mesh == nil and true or data.Mesh)
  587.     if((StartPos-EndPos).magnitude > MaxD)then
  588.         EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  589.     end
  590.     local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  591.     if(Raycasts)then
  592.         hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)  
  593.     end
  594.     local segments = dist/SegLength
  595.     local model = IN("Model",Parent)
  596.     model.Name = 'Lightning'
  597.     local Last;
  598.     for i = 1, segments do
  599.         local size = (segments-i)/25
  600.         local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  601.         if(AddMesh)then IN("CylinderMesh",prt) end
  602.         if(Last and math.floor(segments) == i)then
  603.             local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  604.             prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  605.             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) 
  606.         elseif(not Last)then
  607.             prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)   
  608.         else
  609.             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)
  610.         end
  611.         Last = prt
  612.         if(Branch)then
  613.             local choice = M.RNG(1,7+((segments-i)*2))
  614.             if(choice == 1)then
  615.                 local LastB;
  616.                 for i2 = 1,M.RNG(2,5) do
  617.                     local size2 = ((segments-i)/35)/i2
  618.                     local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  619.                     if(AddMesh)then IN("CylinderMesh",prt) end
  620.                     if(not LastB)then
  621.                         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)
  622.                     else
  623.                         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)
  624.                     end
  625.                     LastB = prt
  626.                 end
  627.             end
  628.         end
  629.     end
  630.     if(Fades > 0)then
  631.         coroutine.wrap(function()
  632.             for i = 1, Fades do
  633.                 for _,v in next, model:children() do
  634.                     if(v:IsA'BasePart')then
  635.                         v.Transparency = (i/Fades)
  636.                     end
  637.                 end
  638.                 swait()
  639.             end
  640.             model:destroy()
  641.         end)()
  642.     else
  643.         S.Debris:AddItem(model,.01)
  644.     end
  645.     return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  646. end
  647.  
  648. function Tween(obj,props,time,easing,direction,repeats,backwards)
  649.     local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  650.     local tween = S.TweenService:Create(obj, info, props)
  651.    
  652.     tween:Play()
  653. end
  654.  
  655. function Effect(data)
  656.     local FX = data.Effect or 'ResizeAndFade'
  657.     local Parent = data.Parent or Effects
  658.     local Color = data.Color or C3.N(0,0,0)
  659.     local Size = data.Size or V3.N(1,1,1)
  660.     local MoveDir = data.MoveDirection or nil
  661.     local MeshData = data.Mesh or nil
  662.     local SndData = data.Sound or nil
  663.     local Frames = data.Frames or 45
  664.     local Manual = data.Manual or nil
  665.     local Material = data.Material or nil
  666.     local CFra = data.CFrame or Torso.CFrame
  667.     local Settings = data.FXSettings or {}
  668.     local Shape = data.Shape or Enum.PartType.Block
  669.     local Snd,Prt,Msh;
  670.     coroutine.wrap(function()
  671.         if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  672.             Prt = Manual
  673.         else
  674.             Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  675.             Prt.Shape = Shape
  676.         end
  677.         if(typeof(MeshData) == 'table')then
  678.             Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  679.         elseif(typeof(MeshData) == 'Instance')then
  680.             Msh = MeshData:Clone()
  681.             Msh.Parent = Prt
  682.         elseif(Shape == Enum.PartType.Block)then
  683.             Msh = Mesh(Prt,Enum.MeshType.Brick)
  684.         end
  685.         if(typeof(SndData) == 'table' or typeof(SndData) == 'Instance')then
  686.             Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  687.         end
  688.         if(Snd)then
  689.             repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  690.             Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  691.         end
  692.         Size = (Msh and Msh.Scale or Size)
  693.         local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
  694.        
  695.         local MoveSpeed = nil;
  696.         if(MoveDir)then
  697.             MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  698.         end
  699.         if(FX ~= 'Arc')then
  700.             for Frame = 1, Frames do
  701.                 if(FX == "Fade")then
  702.                     Prt.Transparency  = (Frame/Frames)
  703.                 elseif(FX == "Resize")then
  704.                     if(not Settings.EndSize)then
  705.                         Settings.EndSize = V3.N(0,0,0)
  706.                     end
  707.                     if(Settings.EndIsIncrement)then
  708.                         if(Msh)then
  709.                             Msh.Scale = Msh.Scale + Settings.EndSize
  710.                         else
  711.                             Prt.Size = Prt.Size + Settings.EndSize
  712.                         end                
  713.                     else
  714.                         if(Msh)then
  715.                             Msh.Scale = Msh.Scale - grow/Frames
  716.                         else
  717.                             Prt.Size = Prt.Size - grow/Frames
  718.                         end
  719.                     end
  720.                 elseif(FX == "ResizeAndFade")then
  721.                     if(not Settings.EndSize)then
  722.                         Settings.EndSize = V3.N(0,0,0)
  723.                     end
  724.                     if(Settings.EndIsIncrement)then
  725.                         if(Msh)then
  726.                             Msh.Scale = Msh.Scale + Settings.EndSize
  727.                         else
  728.                             Prt.Size = Prt.Size + Settings.EndSize
  729.                         end                
  730.                     else
  731.                         if(Msh)then
  732.                             Msh.Scale = Msh.Scale - grow/Frames
  733.                         else
  734.                             Prt.Size = Prt.Size - grow/Frames
  735.                         end
  736.                     end
  737.                     Prt.Transparency = (Frame/Frames)
  738.                 end
  739.                 if(Settings.RandomizeCFrame)then
  740.                     Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  741.                 end
  742.                 if(MoveDir and MoveSpeed)then
  743.                     local Orientation = Prt.Orientation
  744.                     Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  745.                     Prt.Orientation = Orientation
  746.                 end
  747.                 swait()
  748.             end
  749.             Prt:destroy()
  750.         else
  751.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  752.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  753.             if(start and endP)then
  754.                 local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  755.                 local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  756.                 for Frame = 0, 1, (Settings.Speed or 0.01) do
  757.                     if(Settings.Home)then
  758.                         endP = Settings.Home.CFrame
  759.                     end
  760.                     Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  761.                 end
  762.                 if(Settings.RemoveOnGoal)then
  763.                     Prt:destroy()
  764.                 end
  765.             else
  766.                 Prt:destroy()
  767.                 assert(start,"You need a start position!")
  768.                 assert(endP,"You need a start position!")
  769.             end
  770.         end
  771.     end)()
  772.     return Prt,Msh,Snd
  773. end
  774. function SoulSteal(whom)
  775.     local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
  776.     print(torso)
  777.     if(torso and torso:IsA'BasePart')then
  778.         local Model = Instance.new("Model",Effects)
  779.         Model.Name = whom.Name.."'s Soul"
  780.         whom:BreakJoints()
  781.         local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
  782.         Soul.Name = 'Head'
  783.         NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
  784.         Effect{
  785.             Effect="Arc",
  786.             Manual = Soul,
  787.             FXSettings={
  788.                 Start=torso.CFrame,
  789.                 Home = Torso,
  790.                 RemoveOnGoal = true,
  791.             }
  792.         }
  793.         local lastPoint = Soul.CFrame.p
  794.    
  795.         for i = 0, 1, 0.01 do
  796.                 local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
  797.                 local mag = (lastPoint - Soul.Position).magnitude
  798.                 Effect{
  799.                     Effect = "Fade",
  800.                     CFrame = point * CF.N(0, mag/2, 0),
  801.                     Size = V3.N(.5,mag+.5,.5),
  802.                     Color = Soul.BrickColor
  803.                 }
  804.                 lastPoint = Soul.CFrame.p
  805.             swait()
  806.         end
  807.         for i = 1, 5 do
  808.             Effect{
  809.                 Effect="Fade",
  810.                 Color = BrickColor.new'Really red',
  811.                 MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  812.             }  
  813.         end
  814.     end
  815. end
  816.  
  817. --// Other Functions \\ --
  818.  
  819. function CastRay(startPos,endPos,range,ignoreList)
  820.     local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  821.     local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  822.     return part,pos,norm,(pos and (startPos-pos).magnitude)
  823. end
  824.  
  825. function getRegion(point,range,ignore)
  826.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  827. end
  828.  
  829. function clerp(startCF,endCF,alpha)
  830.     return startCF:lerp(endCF, alpha)
  831. end
  832.  
  833. function GetTorso(char)
  834.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  835. end
  836.  
  837. function ShowDamage(Pos, Text, Time, Color)
  838.     coroutine.wrap(function()
  839.     local Rate = (1 / Frame_Speed)
  840.     local Pos = (Pos or Vector3.new(0, 0, 0))
  841.     local Text = (Text or "")
  842.     local Time = (Time or 2)
  843.     local Color = (Color or Color3.new(1, 0, 1))
  844.     local EffectPart = NewInstance("Part",Effects,{
  845.         Material=Enum.Material.SmoothPlastic,
  846.         Reflectance = 0,
  847.         Transparency = 1,
  848.         BrickColor = BrickColor.new(Color),
  849.         Name = "Effect",
  850.         Size = Vector3.new(0,0,0),
  851.         Anchored = true,
  852.         CFrame = CF.N(Pos)
  853.     })
  854.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  855.         Size = UDim2.new(1.25, 0, 1.25, 0),
  856.         Adornee = EffectPart,
  857.     })
  858.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  859.         BackgroundTransparency = 1,
  860.         Size = UDim2.new(1, 0, 1, 0),
  861.         Text = Text,
  862.         Font = "Bodoni",
  863.         TextColor3 = Color,
  864.         TextStrokeColor3 = Color3.new(0,0,0),
  865.         TextStrokeTransparency=0,
  866.         TextScaled = true,
  867.     })
  868.     S.Debris:AddItem(EffectPart, (Time))
  869.     EffectPart.Parent = workspace
  870.     delay(0, function()
  871.         Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  872.         local Frames = (Time / Rate)
  873.         for Frame = 1, Frames do
  874.             swait()
  875.             local Percent = (Frame / Frames)
  876.             TextLabel.TextTransparency = Percent
  877.             TextLabel.TextStrokeTransparency = Percent
  878.         end
  879.         if EffectPart and EffectPart.Parent then
  880.             EffectPart:Destroy()
  881.         end
  882.     end) end)()
  883. end
  884.  
  885.  
  886. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  887.     if(who)then
  888.         local hum = who:FindFirstChildOfClass'Humanoid'
  889.         local Damage = M.RNG(minDam,maxDam)
  890.         local canHit = true
  891.         if(hum)then
  892.             for _, p in pairs(Hit) do
  893.                 if p[1] == hum then
  894.                     if(time() - p[2] < 0.1) then
  895.                         canHit = false
  896.                     else
  897.                         Hit[_] = nil
  898.                     end
  899.                 end
  900.             end
  901.             if(canHit)then
  902.                 table.insert(Hit,{hum,time()})
  903.                 if(hum.Health >= math.huge)then
  904.                     who:BreakJoints()
  905.                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  906.                         ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "INSTANT", 1.5, C3.N(1,0,0))
  907.                     end
  908.                 else
  909.                     local player = S.Players:GetPlayerFromCharacter(who)
  910.                     if(Type == "Fire")then
  911.                         --idk..
  912.                     else
  913.                         local  c = Instance.new("ObjectValue",hum)
  914.                         c.Name = "creator"
  915.                         c.Value = Plr
  916.                         game:service'Debris':AddItem(c,0.35)
  917.                         if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
  918.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  919.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
  920.                             end
  921.                             hum.Health = hum.Health - Damage*(critMult or 2)
  922.                         else
  923.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  924.                                 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))), Damage, 1.5, DamageColor.Color)
  925.                             end
  926.                             hum.Health = hum.Health - Damage
  927.                         end
  928.                         if(Type == 'Knockback' and GetTorso(who))then
  929.                             local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  930.                             local body = NewInstance('BodyVelocity',GetTorso(who),{
  931.                                 P = 500,
  932.                                 maxForce = V3.N(math.huge,0,math.huge),
  933.                                 velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  934.                             })
  935.                             game:service'Debris':AddItem(body,.5)
  936.                         elseif(Type == "Electric")then
  937.                             if(M.RNG(1,100) >= critChance)then
  938.                                 if(who:FindFirstChild'Head' and hum.Health > 0)then
  939.                                     ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[PARALYZED]", 1.5, BrickColor.new"New Yeller".Color)
  940.                                 end
  941.                                 local asd = hum.WalkSpeed/2
  942.                                 hum.WalkSpeed = asd
  943.                                 local paralyzed = true
  944.                                 coroutine.wrap(function()
  945.                                     while paralyzed do
  946.                                         swait(25)
  947.                                         if(M.RNG(1,25) == 1)then
  948.                                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  949.                                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[STATIC]", 1.5, BrickColor.new"New Yeller".Color)
  950.                                             end
  951.                                             hum.PlatformStand = true
  952.                                         end
  953.                                     end
  954.                                 end)()
  955.                                 delay(4, function()
  956.                                     paralyzed = false
  957.                                     hum.WalkSpeed = hum.WalkSpeed + asd
  958.                                 end)
  959.                             end
  960.                            
  961.                         elseif(Type == 'Knockdown' and GetTorso(who))then
  962.                             local rek = GetTorso(who)
  963.                             hum.PlatformStand = true
  964.                             delay(1,function()
  965.                                 hum.PlatformStand = false
  966.                             end)
  967.                             local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  968.                             local bodvol = NewInstance("BodyVelocity",rek,{
  969.                                 velocity = angle * Knock,
  970.                                 P = 5000,
  971.                                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  972.                             })
  973.                             local rl = NewInstance("BodyAngularVelocity",rek,{
  974.                                 P = 3000,
  975.                                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  976.                                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  977.                             })
  978.                             game:GetService("Debris"):AddItem(bodvol, .5)
  979.                             game:GetService("Debris"):AddItem(rl, .5)
  980.                         end
  981.                     end
  982.                 end
  983.             end
  984.         end
  985.     end
  986. end
  987.  
  988. function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
  989.     for _,v in next, getRegion(where,range,{Char}) do
  990.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  991.             DealDamage(v.Parent,minDam,maxDam,Knock,Type,critChance,critMult)
  992.         end
  993.     end
  994. end
  995.  
  996. function AOEHeal(where,range,amount)
  997.     local healed = {}
  998.     for _,v in next, getRegion(where,range,{Char}) do
  999.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1000.         if(hum and not healed[hum])then
  1001.             hum.Health = hum.Health + amount
  1002.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1003.                 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)
  1004.             end
  1005.         end
  1006.     end
  1007. end
  1008.  
  1009. function CamShake(who,times,intense,origin)
  1010.     coroutine.wrap(function()
  1011.         if(script:FindFirstChild'CamShake')then
  1012.             local cam = script.CamShake:Clone()
  1013.             cam:WaitForChild'intensity'.Value = intense
  1014.             cam:WaitForChild'times'.Value = times
  1015.            
  1016.             if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  1017.             cam.Parent = who
  1018.             wait()
  1019.             cam.Disabled = false
  1020.         elseif(who == Plr or who == Char)then
  1021.             local intensity = intense
  1022.             local cam = workspace.CurrentCamera
  1023.             for i = 1, times do
  1024.                 local camDistFromOrigin
  1025.                 if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  1026.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  1027.                 elseif(typeof(origin) == 'Vector3')then
  1028.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  1029.                 end
  1030.                 if(camDistFromOrigin)then
  1031.                     intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  1032.                 end
  1033.                 cam.CFrame = cam.CFrame:lerp(cam.CFrame*CFrame.new(math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100)*CFrame.Angles(math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100)),.4)
  1034.                 swait()
  1035.             end
  1036.         end
  1037.     end)()
  1038. end
  1039.  
  1040. function CamShakeAll(times,intense,origin)
  1041.     for _,v in next, Plrs:players() do
  1042.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  1043.     end
  1044. end
  1045.  
  1046. function ServerScript(code)
  1047.     if(script:FindFirstChild'Loadstring')then
  1048.         local load = script.Loadstring:Clone()
  1049.         load:WaitForChild'Sauce'.Value = code
  1050.         load.Disabled = false
  1051.         load.Parent = workspace
  1052.     elseif(NS and typeof(NS) == 'function')then
  1053.         NS(code,workspace)
  1054.     else
  1055.         warn("no serverscripts lol")
  1056.     end
  1057. end
  1058.  
  1059. function LocalOnPlayer(who,code)
  1060.     ServerScript([[
  1061.         wait()
  1062.         script.Parent=nil
  1063.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  1064.        
  1065.         local Http = _G.Http or game:service'HttpService'
  1066.        
  1067.         local source = ]].."[["..code.."]]"..[[
  1068.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  1069.         local asd = Http:PostAsync(link,source)
  1070.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  1071.         local ID = Http:JSONDecode(asd).Result.Require_ID
  1072.         local vs = require(ID).VORTH_SCRIPT
  1073.         vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  1074.     ]])
  1075. end
  1076.  
  1077. --// Attack functions \\--
  1078.  
  1079. --// Animation functions \\--
  1080.  
  1081. function ChangeStance(stance)
  1082.     if(Stance == stance)then Stance = 0 else Stance = stance end   
  1083. end
  1084.  
  1085. function ShrinkClaws()
  1086.     Attack = true
  1087.     NeutralAnims = false
  1088.     for i = 0, 1.6, 0.1 do
  1089.         swait()
  1090.         local Alpha = .15
  1091.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0.0267804712, -0.57599932, 1, 0, 0, 0, 0.894958973, 0.446148515, 0, -0.446148515, 0.894958973),Alpha)
  1092.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -1.17066813, 0.0498965085, 1, 0, 0, 0, 0.889227092, -0.457466066, 0, 0.457466036, 0.889227092),Alpha)
  1093.         RH.C0 = clerp(RH.C0,CFrame.new(0.5, -1.17066813, 0.0498965085, 1, 0, 0, 0, 0.889227092, -0.457466066, 0, 0.457466036, 0.889227092),Alpha)
  1094.         LS.C0 = clerp(LS.C0,CFrame.new(-1.25128794, 0.218256205, -0.0704385638, 0.796741128, -0.601582587, 0.0574631058, 0.433282614, 0.502369702, -0.74825865, 0.421271563, 0.621066213, 0.660913825),Alpha)
  1095.         RS.C0 = clerp(RS.C0,CFrame.new(1.33687222, 0.263498187, -0.339109778, 0.779864848, 0.604162514, 0.163702518, -0.251701295, 0.542130709, -0.801711202, -0.573112011, 0.584022164, 0.574857235),Alpha)
  1096.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.47531223, -0.0833445787, 1, 0, 0, 0, 0.958908439, 0.283715904, 0, -0.283715934, 0.958908439),Alpha)
  1097.     end
  1098.     Claw1M.Scale = V3.N(.6,1,0)
  1099.     Claw2M.Scale = V3.N(.6,1,0)
  1100.     Claw1.Transparency = 1
  1101.     Claw2.Transparency = 1
  1102.     Claws = false
  1103.     Attack = false
  1104.     NeutralAnims = true
  1105. end
  1106.  
  1107. function GrowClaws()
  1108.     Attack = true
  1109.     NeutralAnims = false
  1110.     for i = 0, 1.6, 0.1 do
  1111.         swait()
  1112.         local Alpha = .15
  1113.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0.0267804712, -0.57599932, 1, 0, 0, 0, 0.894958973, 0.446148515, 0, -0.446148515, 0.894958973),Alpha)
  1114.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -1.17066813, 0.0498965085, 1, 0, 0, 0, 0.889227092, -0.457466066, 0, 0.457466036, 0.889227092),Alpha)
  1115.         RH.C0 = clerp(RH.C0,CFrame.new(0.5, -1.17066813, 0.0498965085, 1, 0, 0, 0, 0.889227092, -0.457466066, 0, 0.457466036, 0.889227092),Alpha)
  1116.         LS.C0 = clerp(LS.C0,CFrame.new(-1.25128794, 0.218256205, -0.0704385638, 0.796741128, -0.601582587, 0.0574631058, 0.433282614, 0.502369702, -0.74825865, 0.421271563, 0.621066213, 0.660913825),Alpha)
  1117.         RS.C0 = clerp(RS.C0,CFrame.new(1.33687222, 0.263498187, -0.339109778, 0.779864848, 0.604162514, 0.163702518, -0.251701295, 0.542130709, -0.801711202, -0.573112011, 0.584022164, 0.574857235),Alpha)
  1118.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.47531223, -0.0833445787, 1, 0, 0, 0, 0.958908439, 0.283715904, 0, -0.283715934, 0.958908439),Alpha)
  1119.     end
  1120.     Claw1M.Scale = V3.N(.6,1,1.25)
  1121.     Claw2M.Scale = V3.N(.6,1,1.25)
  1122.     Claw1.Transparency = 0
  1123.     Claw2.Transparency = 0
  1124.     for i = 0, 1.6, 0.1 do
  1125.         swait()
  1126.         local Alpha = .15
  1127.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0.0557683706, 0.210271984, 1, 0, 0, 0, 0.96131283, -0.275459349, 0, 0.275459349, 0.96131283),Alpha)
  1128.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -1.07405317, 0.079603225, 1, 0, 0, 0, 0.964729905, 0.263241976, 0, -0.263241976, 0.964729905),Alpha)
  1129.         RH.C0 = clerp(RH.C0,CFrame.new(0.5, -1.07405317, 0.079603225, 1, 0, 0, 0, 0.964729905, 0.263241976, 0, -0.263241976, 0.964729905),Alpha)
  1130.         LS.C0 = clerp(LS.C0,CFrame.new(-0.973503292, 0.846649706, 0.436822414, 0.328243881, 0.94284308, 0.0574718751, -0.611039519, 0.258339763, -0.748258948, -0.720337927, 0.210493833, 0.660912871),Alpha)
  1131.         RS.C0 = clerp(RS.C0,CFrame.new(1.04560089, 0.820306599, 0.520357251, 0.596080899, -0.786060631, 0.163695931, 0.544697285, 0.246096462, -0.801711559, 0.589908898, 0.567049742, 0.574858427),Alpha)
  1132.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.43713045, 0.120943204, 1, 0, 0, 0, 0.982991874, -0.183649719, 0, 0.183649749, 0.982991874),Alpha)
  1133.     end
  1134.     Claws = true
  1135.     Attack = false
  1136.     NeutralAnims = true
  1137. end
  1138.  
  1139. function AttemptHuggleOwO()
  1140.     Attack = true
  1141.     NeutralAnims = false
  1142.     for i = 0, 2, 0.1 do
  1143.         swait()
  1144.         local Alpha = .2
  1145.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1146.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1147.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1148.         LS.C0 = clerp(LS.C0,CFrame.new(-1.33729529, 0.456638038, 0.16140607, -0.266469032, 0.963840604, -0.00235169032, 0.0237830039, 0.004135984, -0.999708652, -0.963550091, -0.266447306, -0.0240251366),Alpha)
  1149.         RS.C0 = clerp(RS.C0,CFrame.new(1.35338628, 0.468459934, 0.177928478, -0.265267879, -0.964171946, -0.00234607165, -0.0224859882, 0.00861900486, -0.999710023, 0.963912547, -0.265138209, -0.0239667017),Alpha)
  1150.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1151.     end
  1152.     local hit;
  1153.     for i = 0, 2, 0.1 do
  1154.         swait()
  1155.         hit = CastRay(Root.Position,Root.Position+Root.CFrame.lookVector,2)
  1156.         local Alpha = .2
  1157.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1158.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1159.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1160.         LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028),Alpha)
  1161.         RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039),Alpha)
  1162.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1163.         if(hit and hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid'and GetTorso(hit.Parent))then break end
  1164.     end
  1165.     if(hit and hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid' and GetTorso(hit.Parent))then
  1166.         WalkSpeed = 0
  1167.         Hum.AutoRotate = false
  1168.         local owo = hit.Parent
  1169.         local torso = GetTorso(owo)
  1170.         local hum = owo:FindFirstChildOfClass'Humanoid'
  1171.         local root = owo:FindFirstChild'HumanoidRootPart'
  1172.         local rootWeld
  1173.         if(root)then
  1174.             rootWeld = (function()
  1175.                 for _,v in next, owo:GetDescendants() do
  1176.                     if(v:IsA'JointInstance' and (v.Part0 == root or v.Part1 == root))then
  1177.                         return {v,v.Part0,v.Part1,v.Parent}
  1178.                     end
  1179.                 end
  1180.             end)()
  1181.             root.Parent = nil
  1182.         end
  1183.         local GrabWeld = NewInstance("Weld",torso,{Part0=torso,Part1=Torso,C0=CF.N(0,0,-.75)*CF.A(0,M.R(180),0)})
  1184.         local Sine = 0
  1185.         if(owo:FindFirstChild'Huggled' and owo.Huggled:IsA'BoolValue')then
  1186.             owo.Huggled.Value = true
  1187.         end
  1188.         for i = 0, 6, 0.1 do
  1189.             swait()
  1190.             Sine = Sine + 1
  1191.             local Alpha = .2
  1192.             RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1193.             LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1194.             RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1195.             LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028),Alpha)
  1196.             RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039),Alpha)
  1197.             NK.C0 = clerp(NK.C0,CFrame.new(0.438690722, 1.48037314, -0.368569374, 0.941390097, 0.334570527, 0.042981308, -0.33732003, 0.933716714, 0.119951896, 0, -0.127419978, 0.991848886)*CF.A(0,M.R(-15+15*M.C(Sine/8)),0),Alpha)
  1198.         end
  1199.         local Heart = Part(Char,BrickColor.new'Pink',Enum.Material.Neon,V3.N(2.15,2.13,.59),Torso.CFrame*CF.N(0,-1,0),true,false)
  1200.         local HeartMesh = Mesh(Heart,Enum.MeshType.FileMesh,"rbxassetid://431221914","",V3.N(.5,.5,.2),V3.N())
  1201.         coroutine.wrap(function()
  1202.             local speed = .35
  1203.             for i = 0, 6, .1 do
  1204.                 speed = speed - (.5/60)
  1205.                 Heart.CFrame = Heart.CFrame * CF.N(0,speed,0)
  1206.                 Heart.Transparency = math.max(1-i/3,0)
  1207.                 swait()
  1208.             end
  1209.             delay(1, function()
  1210.                 for i = 0, 3, .1 do
  1211.                     Heart.Transparency = i/3
  1212.                     swait()
  1213.                 end
  1214.                 Heart:destroy()
  1215.             end)
  1216.            
  1217.         end)()
  1218.         Sound(Torso,270763316,1,5,false,true,true)
  1219.         for i = 0, 6, 0.1 do
  1220.             swait()
  1221.             Sine = Sine + 1
  1222.             local Alpha = .2
  1223.             RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1224.             LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1225.             RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1226.             LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028),Alpha)
  1227.             RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039),Alpha)
  1228.             NK.C0 = clerp(NK.C0,CFrame.new(0.438690722, 1.48037314, -0.368569374, 0.941390097, 0.334570527, 0.042981308, -0.33732003, 0.933716714, 0.119951896, 0, -0.127419978, 0.991848886)*CF.A(0,M.R(-15+15*M.C(Sine/8)),0),Alpha)
  1229.         end
  1230.         if(owo:FindFirstChild'Huggled' and owo.Huggled:IsA'BoolValue')then
  1231.             owo.Huggled.Value = false
  1232.         end
  1233.         WalkSpeed = 16
  1234.         Hum.AutoRotate = true
  1235.         local pp = torso.CFrame
  1236.         if(root)then root.Parent = owo if(rootWeld)then rootWeld[1].Parent = rootWeld[4] rootWeld[1].Part0 = rootWeld[2] rootWeld[1].Part1 = rootWeld[3] end end
  1237.         GrabWeld:destroy()
  1238.     end
  1239.    
  1240.     Attack = false
  1241.     NeutralAnims = true
  1242. end
  1243.  
  1244. function AttemptKissUwU()
  1245.     Attack = true
  1246.     NeutralAnims = false
  1247.     for i = 0, 2, 0.1 do
  1248.         swait()
  1249.         local Alpha = .2
  1250.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1251.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1252.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1253.         LS.C0 = clerp(LS.C0,CFrame.new(-1.33729529, 0.456638038, 0.16140607, -0.266469032, 0.963840604, -0.00235169032, 0.0237830039, 0.004135984, -0.999708652, -0.963550091, -0.266447306, -0.0240251366),Alpha)
  1254.         RS.C0 = clerp(RS.C0,CFrame.new(1.35338628, 0.468459934, 0.177928478, -0.265267879, -0.964171946, -0.00234607165, -0.0224859882, 0.00861900486, -0.999710023, 0.963912547, -0.265138209, -0.0239667017),Alpha)
  1255.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1256.     end
  1257.     local hit;
  1258.     for i = 0, 2, 0.1 do
  1259.         swait()
  1260.         hit = CastRay(Root.Position,Root.Position+Root.CFrame.lookVector,2)
  1261.         local Alpha = .2
  1262.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1263.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1264.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1265.         LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028),Alpha)
  1266.         RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039),Alpha)
  1267.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1268.         if(hit and hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid'and GetTorso(hit.Parent))then break end
  1269.     end
  1270.     if(hit and hit.Parent and hit.Parent:FindFirstChildOfClass'Humanoid' and GetTorso(hit.Parent))then
  1271.         WalkSpeed = 0
  1272.         Hum.AutoRotate = false
  1273.         local owo = hit.Parent
  1274.         local torso = GetTorso(owo)
  1275.         local hum = owo:FindFirstChildOfClass'Humanoid'
  1276.         local root = owo:FindFirstChild'HumanoidRootPart'
  1277.         local rootWeld
  1278.         if(root)then
  1279.             rootWeld = (function()
  1280.                 for _,v in next, owo:GetDescendants() do
  1281.                     if(v:IsA'JointInstance' and (v.Part0 == root or v.Part1 == root))then
  1282.                         return {v,v.Part0,v.Part1,v.Parent}
  1283.                     end
  1284.                 end
  1285.             end)()
  1286.             root.Parent = nil
  1287.         end
  1288.         local GrabWeld = NewInstance("Weld",torso,{Part0=torso,Part1=Torso,C0=CF.N(0,0,-.75)*CF.A(0,M.R(180),0)})
  1289.         local Sine = 0
  1290.         if(owo:FindFirstChild'Kissed' and owo.Kissed:IsA'BoolValue')then
  1291.             owo.Kissed.Value = true
  1292.         end
  1293.         for i = 0, 6, 0.1 do
  1294.             swait()    
  1295.             local Alpha = .2
  1296.             Sine = Sine + 1
  1297.             RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1298.             LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1299.             RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1300.             LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028)*CF.A(M.R(0+5*M.C(Sine/12)),0,0),Alpha)
  1301.             RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039)*CF.A(M.R(0-5*M.C(Sine/12)),0,0),Alpha)
  1302.             NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1303.        
  1304.         end
  1305.         local Heart = Part(Char,BrickColor.new'Pink',Enum.Material.Neon,V3.N(2.15,2.13,.59),Torso.CFrame*CF.N(0,-1,0),true,false)
  1306.         local HeartMesh = Mesh(Heart,Enum.MeshType.FileMesh,"rbxassetid://431221914","",V3.N(.5,.5,.2),V3.N())
  1307.         coroutine.wrap(function()
  1308.             local speed = .35
  1309.             for i = 0, 6, .1 do
  1310.                 speed = speed - (.5/60)
  1311.                 Heart.CFrame = Heart.CFrame * CF.N(0,speed,0)
  1312.                 Heart.Transparency = math.max(1-i/3,0)
  1313.                 swait()
  1314.             end
  1315.             delay(1, function()
  1316.                 for i = 0, 3, .1 do
  1317.                     Heart.Transparency = i/3
  1318.                     swait()
  1319.                 end
  1320.                 Heart:destroy()
  1321.             end)
  1322.         end)()
  1323.         Sound(Torso,270763316,1,5,false,true,true)
  1324.         for i = 0, 6, 0.1 do
  1325.             swait()    
  1326.             local Alpha = .2
  1327.             Sine = Sine + 1
  1328.             RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1329.             LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1330.             RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1331.             LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028)*CF.A(M.R(0+5*M.C(Sine/12)),0,0),Alpha)
  1332.             RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039)*CF.A(M.R(0-5*M.C(Sine/12)),0,0),Alpha)
  1333.             NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1334.         end
  1335.         if(owo:FindFirstChild'Kissed' and owo.Kissed:IsA'BoolValue')then
  1336.             owo.Kissed.Value = false
  1337.         end
  1338.         WalkSpeed = 16
  1339.         Hum.AutoRotate = true
  1340.         local pp = torso.CFrame
  1341.         if(root)then root.Parent = owo if(rootWeld)then rootWeld[1].Parent = rootWeld[4] rootWeld[1].Part0 = rootWeld[2] rootWeld[1].Part1 = rootWeld[3] end end
  1342.         GrabWeld:destroy()
  1343.     end
  1344.    
  1345.     Attack = false
  1346.     NeutralAnims = true
  1347. end
  1348.  
  1349. --// Wrap it all up \\--
  1350.  
  1351. Mouse.KeyDown:connect(function(k)
  1352.     if(Attack or Huggled.Value or Kissed.Value)then return end
  1353.     if(Claws)then
  1354.         if(k == 'z')then ChangeStance('PatientDoggo') end
  1355.         if(k == 'x')then ChangeStance('SleepyDoggo') end
  1356.         if(k == 'f')then ShrinkClaws() end
  1357.     else
  1358.         if(k == 'z')then ChangeStance('PatientDoggo') end
  1359.         if(k == 'x')then ChangeStance('SleepyDoggo') end
  1360.         if(k == 'h')then AttemptHuggleOwO() end
  1361.         if(k == 'k')then AttemptKissUwU() end  
  1362.         if(k == 'f')then GrowClaws() end
  1363.     end
  1364. end)
  1365.  
  1366. while true do
  1367.     swait()
  1368.     Sine = Sine + Change
  1369.    
  1370.    
  1371.     if(God)then
  1372.         Hum.MaxHealth = 1e100
  1373.         Hum.Health = 1e100
  1374.         if(not Char:FindFirstChildOfClass'ForceField')then IN("ForceField",Char).Visible = false end
  1375.         Hum.Name = M.RNG()*100
  1376.     end
  1377.    
  1378.     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)
  1379.    
  1380.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1381.     local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and (Hum.WalkSpeed < 16 and "Walk" or "Run") or hitfloor and "Idle")
  1382.     if(not Effects or not Effects.Parent)then
  1383.         Effects = IN("Model",Char)
  1384.         Effects.Name = "Effects"
  1385.     end
  1386.     if(not Huggled.Value and not Kissed.Value)then                                                                                                                                                                                                                                                                                                                                                                                                         
  1387.         if(State == 'Run')then
  1388.             local wsVal = 20 / (Hum.WalkSpeed/16)
  1389.             local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1390.             Change = 3
  1391.             RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.2*M.C(Sine/wsVal),0+.4*M.C(Sine/wsVal))*CF.A(M.R(15+25*M.C(Sine/wsVal))+-M.S(Sine/wsVal),0,0),Alpha)
  1392.             LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.2*M.C(Sine/wsVal),0-.4*M.C(Sine/wsVal))*CF.A(M.R(15-25*M.C(Sine/wsVal))+M.S(Sine/wsVal),0,0),Alpha)   
  1393.         elseif(State == 'Walk')then
  1394.             local wsVal = 7 / (Hum.WalkSpeed/8)
  1395.             local Alpha = math.min(.3 * (Hum.WalkSpeed/8),1)
  1396.             Change = .9
  1397.             RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.5*M.C(Sine/wsVal)/2,0+.6*M.C(Sine/wsVal)/2)*CF.A(M.R(15-2*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1398.             LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.5*M.C(Sine/wsVal)/2,0-.6*M.C(Sine/wsVal)/2)*CF.A(M.R(15+2*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1399.         else
  1400.             RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1401.             LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1402.         end
  1403.     else
  1404.         RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1405.         LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1406.     end
  1407.     if(State ~= 'Idle')then
  1408.         Stance = 0
  1409.     end
  1410.     Hum.WalkSpeed = WalkSpeed
  1411.    
  1412.     if(Huggled.Value)then
  1413.         WalkSpeed = 0
  1414.         Change = 1
  1415.         local Alpha = .2
  1416.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1417.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1418.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1419.         LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028),Alpha)
  1420.         RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039),Alpha)
  1421.         NK.C0 = clerp(NK.C0,CFrame.new(0.438690722, 1.48037314, -0.368569374, 0.941390097, 0.334570527, 0.042981308, -0.33732003, 0.933716714, 0.119951896, 0, -0.127419978, 0.991848886)*CF.A(0,M.R(-15+15*M.C(Sine/8)),0),Alpha)
  1422.     elseif(Kissed.Value)then
  1423.         WalkSpeed = 0
  1424.         Change = 1
  1425.         local Alpha = .2
  1426.         RJ.C0 = clerp(RJ.C0,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1427.         LH.C0 = clerp(LH.C0,CFrame.new(-0.5, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1428.         RH.C0 = clerp(RH.C0,CFrame.new(0.500000477, -0.999996901, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1429.         LS.C0 = clerp(LS.C0,CFrame.new(-0.93656075, 0.329677731, -1.02008939, 0.529792905, -0.746883333, 0.401851743, -0.273926944, -0.599103034, -0.752356112, 0.802672803, 0.288514823, -0.521992028)*CF.A(M.R(0+5*M.C(Sine/12)),0,0),Alpha)
  1430.         RS.C0 = clerp(RS.C0,CFrame.new(0.992939234, 0.25239262, -1.06771588, 0.369606882, 0.837249935, -0.402992934, 0.0150309941, -0.439034939, -0.898344278, -0.929066658, 0.325976849, -0.174855039)*CF.A(M.R(0-5*M.C(Sine/12)),0,0),Alpha)
  1431.         NK.C0 = clerp(NK.C0,CFrame.new(0, 1.49999189, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),Alpha)
  1432.                        
  1433.     elseif(NeutralAnims)then
  1434.         WalkSpeed = 16
  1435.         if(State == 'Idle')then
  1436.             if(Stance == 'PatientDoggo')then
  1437.                 local Alpha = .1
  1438.                 Change = .65
  1439.                 RJ.C0 = clerp(RJ.C0,CFrame.new(0, -2.10780478, 0.970854104, 1, 0, 0, 0, 0.530292034, -0.847815096, 0, 0.847815096, 0.530292034),Alpha)
  1440.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.52337563, -1.22678924, -0.0346571803, 0.966510594, 0.256626785, -1.12175131e-08, -0.217572063, 0.819422245, -0.530292094, -0.136087134, 0.512532949, 0.847815096)*CF.A(0,0,M.R(0+5*M.C(Sine/24))),Alpha)
  1441.                 RH.C0 = clerp(RH.C0,CFrame.new(0.483448207, -1.22678924, -0.03465271, 0.966530263, -0.256553054, 0, 0.217509553, 0.819438934, -0.530292034, 0.136048034, 0.512543321, 0.847815096)*CF.A(0,0,M.R(0-5*M.C(Sine/24))),Alpha)
  1442.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.46229315, 0.513410747, -0.0264457762, 0.884941101, 0.463346928, -0.0467846096, -0.0823113322, 0.254497528, 0.963564157, 0.458371073, -0.848846674, 0.263354063)*CF.A(0,0,M.R(0+5*M.C(Sine/24))),Alpha)
  1443.                 RS.C0 = clerp(RS.C0,CFrame.new(1.54346466, 0.54600054, -0.0126776993, 0.897622228, -0.43827334, -0.0468073376, 0.156223357, 0.217049524, 0.963578641, -0.412151307, -0.872242033, 0.263296962)*CF.A(0,0,M.R(0-5*M.C(Sine/24))),Alpha)
  1444.                 NK.C0 = clerp(NK.C0,CFrame.new(0, 1.52029264, -0.216603011, 1, 0, 0, 0, 0.938926339, 0.344118178, 0, -0.344118178, 0.938926339)*CF.A(M.R(0+5*M.C(Sine/24)),0,0),Alpha)
  1445.             elseif(Stance == 'SleepyDoggo')then
  1446.                 local Alpha = .1
  1447.                 Change = .65
  1448.                 RJ.C0 = clerp(RJ.C0,CFrame.new(0.00765379518, -2.37531877, 0.490188628, 0.999769688, 0.0154944565, -0.0148536079, -0.0155909583, 0.0486059822, -0.998696327, -0.0147522828, 0.998697996, 0.0488363579),Alpha)
  1449.                 LH.C0 = clerp(LH.C0,CFrame.new(-0.556329548, -1.01782084, 0.0523337759, 0.936391771, -0.350610018, 0.0155910021, 0.350947887, 0.935132623, -0.0486090034, 0.00246314798, 0.0509886928, 0.998696208),Alpha)
  1450.                 RH.C0 = clerp(RH.C0,CFrame.new(0.582500875, -1.16751981, 0.133858949, 0.663288414, 0.726090193, -0.181222796, -0.708711624, 0.53166908, -0.463741302, -0.240367457, 0.436028928, 0.867238283),Alpha)
  1451.                 LS.C0 = clerp(LS.C0,CFrame.new(-1.20878398, 0.944466412, 0.12843433, 0.668268919, -0.739066303, 0.0848394409, -0.743897796, -0.663009524, 0.083873339, -0.00573859736, -0.119161807, -0.992858231),Alpha)
  1452.                 RS.C0 = clerp(RS.C0,CFrame.new(1.20252943, 0.88095963, 0.00249876827, 0.668030798, 0.735071719, -0.115777783, 0.743981063, -0.662912428, 0.0839017108, -0.0150767555, -0.142185375, -0.989725292),Alpha)
  1453.                 NK.C0 = clerp(NK.C0,CFrame.new(6.67600625e-06, 1.34367204, -0.326096922, 1, 0, 9.31322575e-10, -2.91038305e-11, 0.895097136, 0.445871502, 0, -0.445871502, 0.895096958)*CF.A(M.R(0+5*M.C(Sine/24)),0,0),Alpha)
  1454.             else
  1455.                 Change = 1
  1456.                 local Alpha = .1
  1457.                 RJ.C0 = RJ.C0:lerp(CF.N(0,0+.05*M.C(Sine/16),0),Alpha)
  1458.                 NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1459.                 LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0-.05*M.C(Sine/16),0)*CF.A(0,0,-M.R(1+1*M.S(Sine/16))),Alpha)
  1460.                 RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0-.05*M.C(Sine/16),0)*CF.A(0,0,M.R(1+1*M.S(Sine/16))),Alpha)
  1461.                 LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0+.15*M.C(Sine/16),0)*CF.A(0,0,-M.R(5+5*M.S(Sine/16))),Alpha)
  1462.                 RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0+.15*M.C(Sine/16),0)*CF.A(0,0,M.R(5+5*M.S(Sine/16))),Alpha)
  1463.             end
  1464.         elseif(State == 'Run')then
  1465.             local wsVal = 20 / (Hum.WalkSpeed/16)
  1466.             local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1467.             RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-7+2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1468.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1469.             LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+45*M.S(Sine/wsVal)),0,M.R(-5)),Alpha)
  1470.             RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-45*M.S(Sine/wsVal)),0,M.R(5)),Alpha)
  1471.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1472.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1473.         elseif(State == 'Walk')then
  1474.             local wsVal = 7 / (Hum.WalkSpeed/8)
  1475.             local Alpha = math.min(.3 * (Hum.WalkSpeed/8),1)
  1476.             RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-5-2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1477.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1478.             LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,-.1*M.C(Sine/wsVal))*CF.A(M.R(37*M.C(Sine/wsVal)),0,M.R(-5)),Alpha)
  1479.             RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,.1*M.C(Sine/wsVal))*CF.A(M.R(-37*M.C(Sine/wsVal)),0,M.R(5)),Alpha)
  1480.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1481.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1482.         elseif(State == 'Jump')then
  1483.             local Alpha = .1
  1484.             Change = .5
  1485.             local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1486.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(165+.25*M.C(Sine/6)),0,0),Alpha)
  1487.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(165+.25*M.C(Sine/6)),0,0),Alpha)
  1488.             RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1489.             NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1490.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1491.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-.5)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1492.         elseif(State == 'Fall')then
  1493.             local Alpha = .1
  1494.             local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1495.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(165+.25*M.C(Sine/6))+idk,0,0),Alpha)
  1496.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(165+.25*M.C(Sine/6))+idk,0,0),Alpha)
  1497.             RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1498.             NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1499.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1500.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-.5)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1501.         elseif(State == 'Paralyzed')then
  1502.             -- paralyzed
  1503.         elseif(State == 'Sit')then
  1504.             -- sit
  1505.         end
  1506.     end
  1507.    
  1508. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top