SHARE
TWEET

Untitled

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