Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 125.03 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4. print("FE Compatibility code by Mokiros")
  5. script.Parent = Player.Character
  6.  
  7. --RemoteEvent for communicating
  8. local Event = Instance.new("RemoteEvent")
  9. Event.Name = "UserInput_Event"
  10.  
  11. --Fake event to make stuff like Mouse.KeyDown work
  12. local function fakeEvent()
  13. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14. t.connect = t.Connect
  15. return t
  16. end
  17.  
  18. --Creating fake input objects with fake variables
  19. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23. end}
  24. --Merged 2 functions into one by checking amount of arguments
  25. CAS.UnbindAction = CAS.BindAction
  26.  
  27. --This function will trigger the events that have been :Connect()'ed
  28. local function te(self,ev,...)
  29. local t = m[ev]
  30. if t and t._fakeEvent and t.Function then
  31. t.Function(...)
  32. end
  33. end
  34. m.TrigEvent = te
  35. UIS.TrigEvent = te
  36.  
  37. Event.OnServerEvent:Connect(function(plr,io)
  38. if plr~=Player then return end
  39. if io.isMouse then
  40. m.Target = io.Target
  41. m.Hit = io.Hit
  42. else
  43. local b = io.UserInputState == Enum.UserInputState.Begin
  44. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46. end
  47. for _,t in pairs(CAS.Actions) do
  48. for _,k in pairs(t.Keys) do
  49. if k==io.KeyCode then
  50. t.Function(t.Name,io.UserInputState,io)
  51. end
  52. end
  53. end
  54. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56. end
  57. end)
  58. Event.Parent = NLS([==[
  59. local Player = game:GetService("Players").LocalPlayer
  60. local Event = script:WaitForChild("UserInput_Event")
  61.  
  62. local UIS = game:GetService("UserInputService")
  63. local input = function(io,a)
  64. if a then return end
  65. --Since InputObject is a client-side instance, we create and pass table instead
  66. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67. end
  68. UIS.InputBegan:Connect(input)
  69. UIS.InputEnded:Connect(input)
  70.  
  71. local Mouse = Player:GetMouse()
  72. local h,t
  73. --Give the server mouse data 30 times every second, but only if the values changed
  74. --If player is not moving their mouse, client won't fire events
  75. while wait(1/30) do
  76. if h~=Mouse.Hit or t~=Mouse.Target then
  77. h,t=Mouse.Hit,Mouse.Target
  78. Event:FireServer({isMouse=true,Target=t,Hit=h})
  79. end
  80. end]==],Player.Character)
  81. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84. -- Created by Nebula_Zorua --
  85. -- Sans Curse (A Curse of Light) --
  86. -- Custom Arcane Adventures Magic --
  87. -- Wielder: Everybody (Released) --
  88. -- Why the fuck did I make this --
  89. -- I don't even LIKE undertale --
  90. -- what the fuck --
  91.  
  92. -- Discord: Nebula the Zorua#6969
  93. -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA
  94.  
  95. -- You can change the Magic Circle n stuff down under Customization, at MagicVariant --
  96.  
  97.  
  98. --// Shortcut Variables \\--
  99. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  100. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  101. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  102. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  103. 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}
  104. local R3 = {N=Region3.new}
  105. local De = S.Debris
  106. local WS = workspace
  107. local Lght = S.Lighting
  108. local RepS = S.ReplicatedStorage
  109. local IN = Instance.new
  110. local Plrs = S.Players
  111.  
  112. local Emit = IN("ParticleEmitter").Emit;
  113.  
  114. --// Initializing \\--
  115. local Plr = Plrs.LocalPlayer
  116. local Char = Plr.Character
  117. local Hum = Char:FindFirstChildOfClass'Humanoid'
  118. local RArm = Char["Right Arm"]
  119. local LArm = Char["Left Arm"]
  120. local RLeg = Char["Right Leg"]
  121. local LLeg = Char["Left Leg"]
  122. local Root = Char:FindFirstChild'HumanoidRootPart'
  123. local Torso = Char.Torso
  124. local Head = Char.Head
  125. local NeutralAnims = true
  126. local Attack = false
  127. local Debounces = {Debounces={}}
  128. local Mouse = Plr:GetMouse()
  129. local Hit = {}
  130. local Sine = 0
  131. local Change = 1
  132.  
  133. local Effects = IN("Folder",Char)
  134. Effects.Name = "Effects"
  135.  
  136.  
  137. --// Debounce System \\--
  138.  
  139.  
  140. function Debounces:New(name,cooldown)
  141. local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  142. setmetatable(aaaaa,{__index = Debounces})
  143. Debounces.Debounces[name] = aaaaa
  144. return aaaaa
  145. end
  146.  
  147. function Debounces:Use(overrideUsable)
  148. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  149. if(self.Usable or overrideUsable)then
  150. self.Usable = false
  151. self.CoolingDown = true
  152. local LastUse = time()
  153. self.LastUse = LastUse
  154. delay(self.Cooldown or 2,function()
  155. if(self.LastUse == LastUse)then
  156. self.CoolingDown = false
  157. self.Usable = true
  158. end
  159. end)
  160. end
  161. end
  162.  
  163. function Debounces:Get(name)
  164. assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  165. for i,v in next, Debounces.Debounces do
  166. if(i == name)then
  167. return v;
  168. end
  169. end
  170. end
  171.  
  172. function Debounces:GetProgressPercentage()
  173. assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  174. if(self.CoolingDown and not self.Usable)then
  175. return math.max(
  176. math.floor(
  177. (
  178. (time()-self.LastUse)/self.Cooldown or 2
  179. )*100
  180. )
  181. )
  182. else
  183. return 100
  184. end
  185. end
  186.  
  187. --// Instance Creation Functions \\--
  188.  
  189. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  190. local Sound = IN("Sound")
  191. Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  192. Sound.Pitch = pitch or 1
  193. Sound.Volume = volume or 1
  194. Sound.Looped = looped or false
  195. if(autoPlay)then
  196. coroutine.wrap(function()
  197. repeat wait() until Sound.IsLoaded
  198. Sound.Playing = autoPlay or false
  199. end)()
  200. end
  201. if(not looped and effect)then
  202. Sound.Stopped:connect(function()
  203. Sound.Volume = 0
  204. Sound:destroy()
  205. end)
  206. elseif(effect)then
  207. warn("Sound can't be looped and a sound effect!")
  208. end
  209. Sound.Parent =parent or Torso
  210. return Sound
  211. end
  212. function Part(parent,color,material,size,cframe,anchored,cancollide)
  213. local part = IN("Part")
  214. part.Parent = parent or Char
  215. part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  216. part.Material = material or Enum.Material.SmoothPlastic
  217. part.TopSurface,part.BottomSurface=10,10
  218. part.Size = size or V3.N(1,1,1)
  219. part.CFrame = cframe or CF.N(0,0,0)
  220. part.CanCollide = cancollide or false
  221. part.Anchored = anchored or false
  222. return part
  223. end
  224.  
  225. function Weld(part0,part1,c0,c1)
  226. local weld = IN("Weld")
  227. weld.Parent = part0
  228. weld.Part0 = part0
  229. weld.Part1 = part1
  230. weld.C0 = c0 or CF.N()
  231. weld.C1 = c1 or CF.N()
  232. return weld
  233. end
  234.  
  235. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  236. local part = IN("SpecialMesh")
  237. part.MeshId = meshid or ""
  238. part.TextureId = textid or ""
  239. part.Scale = scale or V3.N(1,1,1)
  240. part.Offset = offset or V3.N(0,0,0)
  241. part.MeshType = meshtype or Enum.MeshType.Sphere
  242. part.Parent = parent
  243. return part
  244. end
  245.  
  246. NewInstance = function(instance,parent,properties)
  247. local inst = Instance.new(instance)
  248. inst.Parent = parent
  249. if(properties)then
  250. for i,v in next, properties do
  251. pcall(function() inst[i] = v end)
  252. end
  253. end
  254. return inst;
  255. end
  256.  
  257. function Clone(instance,parent,properties)
  258. local inst = instance:Clone()
  259. inst.Parent = parent
  260. if(properties)then
  261. for i,v in next, properties do
  262. pcall(function() inst[i] = v end)
  263. end
  264. end
  265. return inst;
  266. end
  267.  
  268. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  269. local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  270. local Sound = IN("Sound")
  271. Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  272. Sound.Pitch = pitch or 1
  273. Sound.Volume = volume or 1
  274. Sound.Looped = looped or false
  275. if(autoPlay)then
  276. coroutine.wrap(function()
  277. repeat wait() until Sound.IsLoaded
  278. Sound.Playing = autoPlay or false
  279. end)()
  280. end
  281. if(not looped and effect)then
  282. Sound.Stopped:connect(function()
  283. Sound.Volume = 0
  284. soundPart:destroy()
  285. end)
  286. elseif(effect)then
  287. warn("Sound can't be looped and a sound effect!")
  288. end
  289. Sound.Parent = soundPart
  290. return Sound
  291. end
  292.  
  293.  
  294. --// Extended ROBLOX tables \\--
  295. 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})
  296. --// Require stuff \\--
  297. function CamShake(who,times,intense,origin)
  298. coroutine.wrap(function()
  299. if(script:FindFirstChild'CamShake')then
  300. local cam = script.CamShake:Clone()
  301. cam:WaitForChild'intensity'.Value = intense
  302. cam:WaitForChild'times'.Value = times
  303.  
  304. if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  305. cam.Parent = who
  306. wait()
  307. cam.Disabled = false
  308. elseif(who == Plr or who == Char)then
  309. local intensity = intense
  310. local cam = workspace.CurrentCamera
  311. for i = 1, times do
  312. local camDistFromOrigin
  313. if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  314. camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  315. elseif(typeof(origin) == 'Vector3')then
  316. camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  317. end
  318. if(camDistFromOrigin)then
  319. intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  320. end
  321. 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)
  322. swait()
  323. end
  324. end
  325. end)()
  326. end
  327.  
  328. function CamShakeAll(times,intense,origin)
  329. for _,v in next, Plrs:players() do
  330. CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  331. end
  332. end
  333.  
  334. function ServerScript(code)
  335. if(script:FindFirstChild'Loadstring')then
  336. local load = script.Loadstring:Clone()
  337. load:WaitForChild'Sauce'.Value = code
  338. load.Disabled = false
  339. load.Parent = workspace
  340. elseif(NS and typeof(NS) == 'function')then
  341. NS(code,workspace)
  342. else
  343. warn("no serverscripts lol")
  344. end
  345. end
  346.  
  347. function RunLocal(where,code)
  348. ServerScript([[
  349. wait()
  350. script.Parent=nil
  351. if(not _G.Http)then _G.Http = game:service'HttpService' end
  352.  
  353. local Http = _G.Http or game:service'HttpService'
  354.  
  355. local source = ]].."[["..code.."]]"..[[
  356. local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  357. local asd = Http:PostAsync(link,source)
  358. repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  359. local ID = Http:JSONDecode(asd).Result.Require_ID
  360. local vs = require(ID).VORTH_SCRIPT
  361. vs.Parent = game.]]..where:GetFullName()
  362. )
  363. end
  364.  
  365. --// Customization \\--
  366.  
  367. local Frame_Speed = 60;
  368. local WalkSpeed = 16
  369. local DamageColor = BrickColor.new'White'
  370.  
  371. local MagicCircles = {
  372. Default = {Color=C3.N(1,1,1),Texture1=0,Texture2=0},
  373. OrangeWarPheonix = {EffectColor=BrickColor.new'Deep orange'.Color,Color=C3.N(.9,.9,.9),Texture1=623153986,Texture2=623153990},
  374. BlueWarPheonix = {EffectColor=BrickColor.new'Teal'.Color,Color=C3.N(.9,.9,.9),Texture1=462499935,Texture2=462499970},
  375. Plasma = {Color=C3.N(0.70588235294118,0,0.8),Texture1=415906687,Texture2=415906702},
  376. Water = {Color=C3.RGB(33, 84, 185),Texture1=408441330,Texture2=408441353},
  377. Earth = {Color=C3.RGB(86, 36, 36),Texture1=394253616,Texture2=394253651},
  378. Wind = {Color=C3.N(.8,.8,.8),Texture1=376006317,Texture2=376006346},
  379. Poseidon = {Color=C3.RGB(71, 99, 130),Texture1=346727970,Texture2=346727994},
  380. AetherLightning = {Color=C3.RGB(23, 255, 197),Texture1=348320016,Texture2=348320030},
  381. Light = {Color=C3.N(1,1,0),Texture1=343192085,Texture2=343192112},
  382. Fire = {Color=C3.N(1,0,0),EffectColor=BrickColor.new'Bright red'.Color,Texture1=313945544,Texture2=313945673},
  383. Lightning = {Color=C3.N(0,1,1),Texture1=314842290,Texture2=314842440},
  384. GasterBlaster = {Color=C3.N(1,1,1),Texture1=331948662,Texture2=331948662}
  385. }
  386.  
  387. local MagicVariant = MagicCircles.GasterBlaster --[[ You can change this for a different element
  388. Example:
  389.  
  390. Changing MagicCircles.GasterBlaster to MagicCircles.Light
  391.  
  392. would make it a Light Element
  393. ]]
  394.  
  395. --// Stop animations \\--
  396. for _,v in next, Hum:GetPlayingAnimationTracks() do
  397. v:Stop();
  398. end
  399.  
  400. pcall(game.Destroy,Char:FindFirstChild'Animate')
  401. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  402.  
  403. --// Joints \\--
  404.  
  405. local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5,0.5,0),C1 = CF.N(0,.5,0)})
  406. local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5,0.5,0),C1 = CF.N(0,.5,0)})
  407. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5,0)})
  408. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5,-1,0),C1 = CF.N(0,1,0)})
  409. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5,-1,0),C1 = CF.N(0,1,0)})
  410. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  411.  
  412. local LSC0 = LS.C0
  413. local RSC0 = RS.C0
  414. local NKC0 = NK.C0
  415. local LHC0 = LH.C0
  416. local RHC0 = RH.C0
  417. local RJC0 = RJ.C0
  418.  
  419. --// Artificial HB \\--
  420.  
  421. local ArtificialHB = IN("BindableEvent", script)
  422. ArtificialHB.Name = "Heartbeat"
  423.  
  424. script:WaitForChild("Heartbeat")
  425.  
  426. local tf = 0
  427. local allowframeloss = false
  428. local tossremainder = false
  429. local lastframe = tick()
  430. local frame = 1/Frame_Speed
  431. ArtificialHB:Fire()
  432.  
  433. game:GetService("RunService").Heartbeat:connect(function(s, p)
  434. tf = tf + s
  435. if tf >= frame then
  436. if allowframeloss then
  437. script.Heartbeat:Fire()
  438. lastframe = tick()
  439. else
  440. for i = 1, math.floor(tf / frame) do
  441. ArtificialHB:Fire()
  442. end
  443. lastframe = tick()
  444. end
  445. if tossremainder then
  446. tf = 0
  447. else
  448. tf = tf - frame * math.floor(tf / frame)
  449. end
  450. end
  451. end)
  452.  
  453. function swait(num)
  454. if num == 0 or num == nil then
  455. ArtificialHB.Event:wait()
  456. else
  457. for i = 0, num do
  458. ArtificialHB.Event:wait()
  459. end
  460. end
  461. end
  462.  
  463.  
  464. --// Effect Function(s) \\--
  465.  
  466. function NumSeq(...)
  467. local tab = {...}
  468. local Sequence = {}
  469. for _,v in next, tab do
  470. table.insert(Sequence,NumberSequenceKeypoint.new(unpack(v)))
  471. end
  472. if(tab[#tab][1] ~= 1)then
  473. local final = tab[#tab]
  474. table.insert(Sequence,NumberSequenceKeypoint.new(1,final[2],final[3]))
  475. end
  476. return NumberSequence.new(Sequence)
  477. end
  478.  
  479. local DefaultRingParticle = IN("ParticleEmitter")
  480. DefaultRingParticle.Name = 'RingEmit'
  481. DefaultRingParticle.LightEmission = 1
  482. DefaultRingParticle.Size = NumSeq({0,0},{.7,6.28},{.8,5.03},{1,2.9})
  483. DefaultRingParticle.Texture = "rbxassetid://313951123"
  484. DefaultRingParticle.Transparency = NumberSequence.new(0,1)
  485. DefaultRingParticle.ZOffset = 1
  486. DefaultRingParticle.Drag = 0
  487. DefaultRingParticle.Acceleration = V3.N()
  488. DefaultRingParticle.LockedToPart = true
  489. DefaultRingParticle.Enabled = false
  490. DefaultRingParticle.Lifetime = NumberRange.new(.6,.6)
  491. DefaultRingParticle.Rate = 5
  492. DefaultRingParticle.Rotation = NumberRange.new(0,0)
  493. DefaultRingParticle.RotSpeed = NumberRange.new(0,0)
  494. DefaultRingParticle.Speed = NumberRange.new(0,0)
  495. DefaultRingParticle.SpreadAngle = Vector2.new(0,0)
  496.  
  497. function MagicCircle(Data)
  498. local Variant = Data.Variant or MagicCircles.Default;
  499.  
  500. local Size = Data.Size or 10;
  501. local Pos = Data.Pos*CF.A(M.R(-90),M.R(-90),0) or Torso.CFrame*CF.A(M.R(-90),M.R(-90),0);
  502. local GrowTime = Data.Time or 1;
  503.  
  504. local WeldData = Data.Weld or false;
  505.  
  506.  
  507. local Color = Variant.Color or C3.N(.9,.9,.0)
  508.  
  509. local CreationParticle = Data.CreationParticle or DefaultRingParticle;
  510.  
  511.  
  512. local Circle = Part(Effects,BrickColor.new'Maroon',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),Pos,true,false)
  513. local CircleM = NewInstance("BlockMesh",Circle,{Scale=V3.N()})
  514.  
  515.  
  516. local Emitter = DefaultRingParticle:Clone();
  517. Emitter.Parent = Circle
  518. Emitter.Color = ColorSequence.new(Variant.Color)
  519.  
  520. local Top = IN("Decal",Circle)
  521. Top.Texture = "rbxassetid://"..Variant.Texture1
  522. Top.Face = Enum.NormalId.Top
  523.  
  524. local Btm = IN("Decal",Circle)
  525. Btm.Texture = "rbxassetid://"..Variant.Texture2
  526. Btm.Face = Enum.NormalId.Bottom
  527.  
  528. if(WeldData)then
  529. Circle.Anchored = false
  530. Weld(WeldData,Circle,Pos,CF.N())
  531. end
  532. local GrowFrames = GrowTime * Frame_Speed
  533. print(GrowFrames)
  534. --Size*20,0,Size*20
  535. Circle.Transparency = 1
  536. local GrownEvent = Instance.new("BindableEvent",Circle)
  537. coroutine.wrap(function()
  538.  
  539. Emit(Emitter,5)
  540. local End = Size*20
  541. local grow = End/GrowFrames
  542. for i = 1, GrowFrames+1 do
  543. local aa = math.min(CircleM.Scale.x + grow,End)
  544. if(aa >= End)then break end
  545. CircleM.Scale = V3.N(aa,0,aa)
  546. swait()
  547. end
  548. CircleM.Scale = V3.N(End,0,End)
  549. GrownEvent:Fire()
  550.  
  551. end)()
  552.  
  553. local Table = {
  554. Circle = Circle,
  555. Mesh = CircleM,
  556. Grow = function(size)
  557. CircleM.Scale = CircleM.Scale + V3.N(size*20,0,size*20)
  558. end,
  559. Destroy = function(timer)
  560. coroutine.wrap(function()
  561. if(not timer)then timer = 1 end
  562. Tween(CircleM,{Scale=V3.N(0,0,0)},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  563. Tween(Top,{Transparency=1},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  564. Tween(Btm,{Transparency=1},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  565. S.Debris:AddItem(Circle,timer+1)
  566. end)()
  567. end,
  568. Grown = GrownEvent.Event
  569. }
  570.  
  571. return Table;
  572. end
  573.  
  574. function Bezier(startpos, pos2, pos3, endpos, t)
  575. local A = startpos:lerp(pos2, t)
  576. local B = pos2:lerp(pos3, t)
  577. local C = pos3:lerp(endpos, t)
  578. local lerp1 = A:lerp(B, t)
  579. local lerp2 = B:lerp(C, t)
  580. local cubic = lerp1:lerp(lerp2, t)
  581. return cubic
  582. end
  583.  
  584. function SphereFX(duration,color,scale,pos,endScale,increment)
  585. return Effect{
  586. Frames=duration,
  587. Effect='ResizeAndFade',
  588. Color=color,
  589. Size=scale,
  590. Mesh={MeshType=Enum.MeshType.Sphere},
  591. CFrame=pos,
  592. FXSettings={
  593. EndSize=endScale,
  594. EndIsIncrement=increment
  595. }
  596. }
  597. end
  598.  
  599. function BlastFX(duration,color,scale,pos,endScale,increment)
  600. return Effect{
  601. Frames=duration,
  602. Effect='ResizeAndFade',
  603. Color=color,
  604. Size=scale,
  605. Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
  606. CFrame=pos,
  607. FXSettings={
  608. EndSize=endScale,
  609. EndIsIncrement=increment
  610. }
  611. }
  612. end
  613.  
  614. function BlockFX(duration,color,scale,pos,endScale,increment)
  615. return Effect{
  616. Frames=duration,
  617. Effect='ResizeAndFade',
  618. Color=color,
  619. Size=scale,
  620. CFrame=pos,
  621. FXSettings={
  622. EndSize=endScale,
  623. EndIsIncrement=increment
  624. }
  625. }
  626. end
  627.  
  628. function ShootBullet(data)
  629. --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  630. local Size = data.Size or V3.N(2,2,2)
  631. local Color = data.Color or MagicVariant.EffectColor or MagicVariant.Color
  632. local StudsPerFrame = data.Speed or 10
  633. local Shape = data.Shape or 'Ball'
  634. local Frames = data.Frames or 160
  635. local Pos = data.Origin or Torso.CFrame
  636. local Direction = data.Direction or Mouse.Hit
  637. local Material = data.Material or Enum.Material.Neon
  638. local OnHit = data.HitFunction or function(hit,pos)
  639. Effect{
  640. Effect='ResizeAndFade',
  641. Color=Color,
  642. Size=V3.N(10,10,10),
  643. Mesh={MeshType=Enum.MeshType.Sphere},
  644. CFrame=CF.N(pos),
  645. FXSettings={
  646. EndSize=V3.N(.05,.05,.05),
  647. EndIsIncrement=true
  648. }
  649. }
  650. for i = 1, 5 do
  651. local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  652. Effect{
  653. Effect='Fade',
  654. Frames=65,
  655. Size=V3.N(5,5,10),
  656. CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
  657. Mesh = {MeshType=Enum.MeshType.Sphere},
  658. Material=Enum.Material.Neon,
  659. Color=Color,
  660. MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  661. }
  662. end
  663. AOEDamage(pos,10,15,30,0,'Normal',10,4)
  664. end
  665.  
  666. local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
  667. local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  668. if(Shape == 'Ball')then
  669. BMesh.MeshType = Enum.MeshType.Sphere
  670. elseif(Shape == 'Head')then
  671. BMesh.MeshType = Enum.MeshType.Head
  672. elseif(Shape == 'Cylinder')then
  673. BMesh.MeshType = Enum.MeshType.Cylinder
  674. end
  675.  
  676. coroutine.wrap(function()
  677. for i = 1, Frames+1 do
  678. local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
  679. if(hit)then
  680. OnHit(hit,pos,norm,dist)
  681. break;
  682. else
  683. Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
  684. end
  685. swait()
  686. end
  687. Bullet:destroy()
  688. end)()
  689.  
  690. end
  691.  
  692. function Zap(data)
  693. local sCF,eCF = data.StartCFrame,data.EndCFrame
  694. assert(sCF,"You need a start CFrame!")
  695. assert(eCF,"You need an end CFrame!")
  696. local parts = data.PartCount or 15
  697. local zapRot = data.ZapRotation or {-5,5}
  698. local startThick = data.StartSize or 3;
  699. local endThick = data.EndSize or startThick/2;
  700. local color = data.Color or BrickColor.new'Electric blue'
  701. local delay = data.Delay or 35
  702. local delayInc = data.DelayInc or 0
  703. local lastLightning;
  704. local MagZ = (sCF.p - eCF.p).magnitude
  705. local thick = startThick
  706. local inc = (startThick/parts)-(endThick/parts)
  707.  
  708. for i = 1, parts do
  709. local pos = sCF.p
  710. if(lastLightning)then
  711. pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  712. end
  713. delay = delay + delayInc
  714. local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  715. 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)))
  716. if(parts == i)then
  717. local MagZ = (pos-eCF.p).magnitude
  718. zapPart.Size = V3.N(endThick,endThick,MagZ)
  719. zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  720. 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)}}
  721. else
  722. zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  723. end
  724.  
  725. lastLightning = zapPart
  726. Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  727.  
  728. thick=thick-inc
  729.  
  730. end
  731. end
  732.  
  733. function Zap2(data)
  734. local Color = data.Color or BrickColor.new'Electric blue'
  735. local StartPos = data.Start or Torso.Position
  736. local EndPos = data.End or Mouse.Hit.p
  737. local SegLength = data.SegL or 2
  738. local Thicc = data.Thickness or 0.5
  739. local Fades = data.Fade or 45
  740. local Parent = data.Parent or Effects
  741. local MaxD = data.MaxDist or 200
  742. local Branch = data.Branches or false
  743. local Material = data.Material or Enum.Material.Neon
  744. local Raycasts = data.Raycasts or false
  745. local Offset = data.Offset or {0,360}
  746. local AddMesh = (data.Mesh == nil and true or data.Mesh)
  747. if((StartPos-EndPos).magnitude > MaxD)then
  748. EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  749. end
  750. local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  751. if(Raycasts)then
  752. hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)
  753. end
  754. local segments = dist/SegLength
  755. local model = IN("Model",Parent)
  756. model.Name = 'Lightning'
  757. local Last;
  758. for i = 1, segments do
  759. local size = (segments-i)/25
  760. local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  761. if(AddMesh)then IN("CylinderMesh",prt) end
  762. if(Last and math.floor(segments) == i)then
  763. local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  764. prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  765. 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)
  766. elseif(not Last)then
  767. prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  768. else
  769. 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)
  770. end
  771. Last = prt
  772. if(Branch)then
  773. local choice = M.RNG(1,7+((segments-i)*2))
  774. if(choice == 1)then
  775. local LastB;
  776. for i2 = 1,M.RNG(2,5) do
  777. local size2 = ((segments-i)/35)/i2
  778. local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  779. if(AddMesh)then IN("CylinderMesh",prt) end
  780. if(not LastB)then
  781. 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)
  782. else
  783. 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)
  784. end
  785. LastB = prt
  786. end
  787. end
  788. end
  789. end
  790. if(Fades > 0)then
  791. coroutine.wrap(function()
  792. for i = 1, Fades do
  793. for _,v in next, model:children() do
  794. if(v:IsA'BasePart')then
  795. v.Transparency = (i/Fades)
  796. end
  797. end
  798. swait()
  799. end
  800. model:destroy()
  801. end)()
  802. else
  803. S.Debris:AddItem(model,.01)
  804. end
  805. return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  806. end
  807.  
  808. function Tween(obj,props,time,easing,direction,repeats,backwards)
  809. local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  810. local tween = S.TweenService:Create(obj, info, props)
  811.  
  812. tween:Play()
  813. end
  814.  
  815. function Effect(data)
  816. local FX = data.Effect or 'ResizeAndFade'
  817. local Parent = data.Parent or Effects
  818. local Color = data.Color or C3.N(0,0,0)
  819. local Size = data.Size or V3.N(1,1,1)
  820. local MoveDir = data.MoveDirection or nil
  821. local MeshData = data.Mesh or nil
  822. local SndData = data.Sound or nil
  823. local Frames = data.Frames or 45
  824. local Manual = data.Manual or nil
  825. local Material = data.Material or Enum.Material.Neon
  826. local CFra = data.CFrame or Torso.CFrame
  827. local Settings = data.FXSettings or {}
  828. local Shape = data.Shape or Enum.PartType.Block
  829. local Snd,Prt,Msh;
  830. coroutine.wrap(function()
  831. if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  832. Prt = Manual
  833. else
  834. Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  835. Prt.Shape = Shape
  836. end
  837. if(typeof(MeshData) == 'table')then
  838. Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  839. elseif(typeof(MeshData) == 'Instance')then
  840. Msh = MeshData:Clone()
  841. Msh.Parent = Prt
  842. elseif(Shape == Enum.PartType.Block)then
  843. Msh = Mesh(Prt,Enum.MeshType.Brick)
  844. end
  845. if(typeof(SndData) == 'table')then
  846. Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  847. elseif(typeof(SndData) == 'Instance')then
  848. Snd = SndData
  849. end
  850. if(Snd)then
  851. repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  852. Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  853. end
  854. Size = (Msh and Msh.Scale or Size)
  855. local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
  856.  
  857. local MoveSpeed = nil;
  858. if(MoveDir)then
  859. MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  860. end
  861. if(FX ~= 'Arc')then
  862. for Frame = 1, Frames do
  863. if(FX == "Fade")then
  864. Prt.Transparency = (Frame/Frames)
  865. elseif(FX == "Resize")then
  866. if(not Settings.EndSize)then
  867. Settings.EndSize = V3.N(0,0,0)
  868. end
  869. if(Settings.EndIsIncrement)then
  870. if(Msh)then
  871. Msh.Scale = Msh.Scale + Settings.EndSize
  872. else
  873. Prt.Size = Prt.Size + Settings.EndSize
  874. end
  875. else
  876. if(Msh)then
  877. Msh.Scale = Msh.Scale - grow/Frames
  878. else
  879. Prt.Size = Prt.Size - grow/Frames
  880. end
  881. end
  882. elseif(FX == "ResizeAndFade")then
  883. if(not Settings.EndSize)then
  884. Settings.EndSize = V3.N(0,0,0)
  885. end
  886. if(Settings.EndIsIncrement)then
  887. if(Msh)then
  888. Msh.Scale = Msh.Scale + Settings.EndSize
  889. else
  890. Prt.Size = Prt.Size + Settings.EndSize
  891. end
  892. else
  893. if(Msh)then
  894. Msh.Scale = Msh.Scale - grow/Frames
  895. else
  896. Prt.Size = Prt.Size - grow/Frames
  897. end
  898. end
  899. Prt.Transparency = (Frame/Frames)
  900. end
  901. if(Settings.RandomizeCFrame)then
  902. Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  903. end
  904. if(MoveDir and MoveSpeed)then
  905. local Orientation = Prt.Orientation
  906. Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  907. Prt.Orientation = Orientation
  908. end
  909. swait()
  910. end
  911. Prt:destroy()
  912. else
  913. local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  914. if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  915. if(start and endP)then
  916. local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  917. local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  918. for Frame = 0, 1, (Settings.Speed or 0.01) do
  919. if(Settings.Home)then
  920. endP = Settings.Home.CFrame
  921. end
  922. Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  923. end
  924. if(Settings.RemoveOnGoal)then
  925. Prt:destroy()
  926. end
  927. else
  928. Prt:destroy()
  929. assert(start,"You need a start position!")
  930. assert(endP,"You need a start position!")
  931. end
  932. end
  933. end)()
  934. return Prt,Msh,Snd
  935. end
  936. function SoulSteal(whom)
  937. local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
  938. print(torso)
  939. if(torso and torso:IsA'BasePart')then
  940. local Model = Instance.new("Model",Effects)
  941. Model.Name = whom.Name.."'s Soul"
  942. whom:BreakJoints()
  943. local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
  944. Soul.Name = 'Head'
  945. NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
  946. Effect{
  947. Effect="Arc",
  948. Manual = Soul,
  949. FXSettings={
  950. Start=torso.CFrame,
  951. Home = Torso,
  952. RemoveOnGoal = true,
  953. }
  954. }
  955. local lastPoint = Soul.CFrame.p
  956.  
  957. for i = 0, 1, 0.01 do
  958. local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
  959. local mag = (lastPoint - Soul.Position).magnitude
  960. Effect{
  961. Effect = "Fade",
  962. CFrame = point * CF.N(0, mag/2, 0),
  963. Size = V3.N(.5,mag+.5,.5),
  964. Color = Soul.BrickColor
  965. }
  966. lastPoint = Soul.CFrame.p
  967. swait()
  968. end
  969. for i = 1, 5 do
  970. Effect{
  971. Effect="Fade",
  972. Color = BrickColor.new'Really red',
  973. MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  974. }
  975. end
  976. end
  977. end
  978.  
  979. --// Other Functions \\ --
  980.  
  981. function CastRay(startPos,endPos,range,ignoreList)
  982. local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  983. local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  984. return part,pos,norm,(pos and (startPos-pos).magnitude)
  985. end
  986.  
  987. function CastRayInDirection(startPos,direction,range,ignoreList)
  988. local ray = Ray.new(startPos,direction*range)
  989. local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  990. return part,pos,norm,(pos and (startPos-pos).magnitude)
  991. end
  992.  
  993. function getRegion(point,range,ignore)
  994. return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  995. end
  996.  
  997. function clerp(startCF,endCF,alpha)
  998. return startCF:lerp(endCF, alpha)
  999. end
  1000.  
  1001. function GetTorso(char)
  1002. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  1003. end
  1004.  
  1005. function ShowDamage(Pos, Text, Time, Color)
  1006. coroutine.wrap(function()
  1007. local Rate = (1 / Frame_Speed)
  1008. local Pos = (Pos or Vector3.new(0, 0, 0))
  1009. local Text = (Text or "")
  1010. local Time = (Time or 2)
  1011. local Color = (Color or Color3.new(1, 0, 1))
  1012. local EffectPart = NewInstance("Part",Effects,{
  1013. Material=Enum.Material.SmoothPlastic,
  1014. Reflectance = 0,
  1015. Transparency = 1,
  1016. BrickColor = BrickColor.new(Color),
  1017. Name = "Effect",
  1018. Size = Vector3.new(0,0,0),
  1019. Anchored = true,
  1020. CFrame = CF.N(Pos)
  1021. })
  1022. local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1023. Size = UDim2.new(1.25, 0, 1.25, 0),
  1024. Adornee = EffectPart,
  1025. })
  1026. local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1027. BackgroundTransparency = 1,
  1028. Size = UDim2.new(1, 0, 1, 0),
  1029. Text = Text,
  1030. Font = "Bodoni",
  1031. TextColor3 = Color,
  1032. TextStrokeColor3 = Color3.new(0,0,0),
  1033. TextStrokeTransparency=0,
  1034. TextScaled = true,
  1035. })
  1036. S.Debris:AddItem(EffectPart, (Time))
  1037. EffectPart.Parent = workspace
  1038. delay(0, function()
  1039. Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  1040. local Frames = (Time / Rate)
  1041. for Frame = 1, Frames do
  1042. swait()
  1043. local Percent = (Frame / Frames)
  1044. TextLabel.TextTransparency = Percent
  1045. TextLabel.TextStrokeTransparency = Percent
  1046. end
  1047. if EffectPart and EffectPart.Parent then
  1048. EffectPart:Destroy()
  1049. end
  1050. end) end)()
  1051. end
  1052.  
  1053.  
  1054. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  1055. if(who)then
  1056. local hum = who:FindFirstChildOfClass'Humanoid'
  1057. local Damage = M.RNG(minDam,maxDam)
  1058. local canHit = true
  1059. if(hum)then
  1060. for _, p in pairs(Hit) do
  1061. if p[1] == hum then
  1062. if(time() - p[2] < 0.01) then
  1063. canHit = false
  1064. else
  1065. Hit[_] = nil
  1066. end
  1067. end
  1068. end
  1069. if(canHit)then
  1070. table.insert(Hit,{hum,time()})
  1071. if(hum.Health >= math.huge)then
  1072. who:BreakJoints()
  1073. if(who:FindFirstChild'Head' and hum.Health > 0)then
  1074. 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))
  1075. end
  1076. else
  1077. local player = S.Players:GetPlayerFromCharacter(who)
  1078. if(Type == "Fire")then
  1079. --idk..
  1080. else
  1081. local c = Instance.new("ObjectValue",hum)
  1082. c.Name = "creator"
  1083. c.Value = Plr
  1084. game:service'Debris':AddItem(c,0.35)
  1085. if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
  1086. if(who:FindFirstChild'Head' and hum.Health > 0)then
  1087. 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)
  1088. end
  1089. hum.Health = hum.Health - Damage*(critMult or 2)
  1090. else
  1091. if(who:FindFirstChild'Head' and hum.Health > 0)then
  1092. 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)
  1093. end
  1094. hum.Health = hum.Health - Damage
  1095. end
  1096. if(Type == 'Knockback' and GetTorso(who))then
  1097. local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  1098. local body = NewInstance('BodyVelocity',GetTorso(who),{
  1099. P = 500,
  1100. maxForce = V3.N(math.huge,0,math.huge),
  1101. velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  1102. })
  1103. game:service'Debris':AddItem(body,.5)
  1104. elseif(Type == "Electric")then
  1105. if(M.RNG(1,100) >= critChance)then
  1106. if(who:FindFirstChild'Head' and hum.Health > 0)then
  1107. 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)
  1108. end
  1109. local asd = hum.WalkSpeed/2
  1110. hum.WalkSpeed = asd
  1111. local paralyzed = true
  1112. coroutine.wrap(function()
  1113. while paralyzed do
  1114. swait(25)
  1115. if(M.RNG(1,25) == 1)then
  1116. if(who:FindFirstChild'Head' and hum.Health > 0)then
  1117. 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)
  1118. end
  1119. hum.PlatformStand = true
  1120. end
  1121. end
  1122. end)()
  1123. delay(4, function()
  1124. paralyzed = false
  1125. hum.WalkSpeed = hum.WalkSpeed + asd
  1126. end)
  1127. end
  1128.  
  1129. elseif(Type == 'Knockdown' and GetTorso(who))then
  1130. local rek = GetTorso(who)
  1131. hum.PlatformStand = true
  1132. delay(1,function()
  1133. hum.PlatformStand = false
  1134. end)
  1135. local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  1136. local bodvol = NewInstance("BodyVelocity",rek,{
  1137. velocity = angle * Knock,
  1138. P = 5000,
  1139. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1140. })
  1141. local rl = NewInstance("BodyAngularVelocity",rek,{
  1142. P = 3000,
  1143. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1144. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1145. })
  1146. game:GetService("Debris"):AddItem(bodvol, .5)
  1147. game:GetService("Debris"):AddItem(rl, .5)
  1148. end
  1149. end
  1150. end
  1151. end
  1152. end
  1153. end
  1154. end
  1155.  
  1156. function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
  1157. for _,v in next, getRegion(where,range,{Char}) do
  1158. if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1159. coroutine.wrap(function() for i = 1, M.RNG(minDam,maxDam) do swait() DealDamage(v.Parent,1,1,Knock,Type,0,1) end end)()
  1160. end
  1161. end
  1162. end
  1163.  
  1164. function AOEHeal(where,range,amount)
  1165. local healed = {}
  1166. for _,v in next, getRegion(where,range,{Char}) do
  1167. local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1168. if(hum and not healed[hum])then
  1169. hum.Health = hum.Health + amount
  1170. if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1171. 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)
  1172. end
  1173. end
  1174. end
  1175. end
  1176.  
  1177. function CamShake(who,times,intense,origin)
  1178. coroutine.wrap(function()
  1179. if(script:FindFirstChild'CamShake')then
  1180. local cam = script.CamShake:Clone()
  1181. cam:WaitForChild'intensity'.Value = intense
  1182. cam:WaitForChild'times'.Value = times
  1183.  
  1184. if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  1185. cam.Parent = who
  1186. wait()
  1187. cam.Disabled = false
  1188. elseif(who == Plr or who == Char)then
  1189. local intensity = intense
  1190. local cam = workspace.CurrentCamera
  1191. for i = 1, times do
  1192. local camDistFromOrigin
  1193. if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  1194. camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  1195. elseif(typeof(origin) == 'Vector3')then
  1196. camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  1197. end
  1198. if(camDistFromOrigin)then
  1199. intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  1200. end
  1201. 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)
  1202. swait()
  1203. end
  1204. end
  1205. end)()
  1206. end
  1207.  
  1208. function CamShakeAll(times,intense,origin)
  1209. for _,v in next, Plrs:players() do
  1210. CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  1211. end
  1212. end
  1213.  
  1214. function ServerScript(code)
  1215. if(script:FindFirstChild'Loadstring')then
  1216. local load = script.Loadstring:Clone()
  1217. load:WaitForChild'Sauce'.Value = code
  1218. load.Disabled = false
  1219. load.Parent = workspace
  1220. elseif(NS and typeof(NS) == 'function')then
  1221. NS(code,workspace)
  1222. else
  1223. warn("no serverscripts lol")
  1224. end
  1225. end
  1226.  
  1227. function LocalOnPlayer(who,code)
  1228. ServerScript([[
  1229. wait()
  1230. script.Parent=nil
  1231. if(not _G.Http)then _G.Http = game:service'HttpService' end
  1232.  
  1233. local Http = _G.Http or game:service'HttpService'
  1234.  
  1235. local source = ]].."[["..code.."]]"..[[
  1236. local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  1237. local asd = Http:PostAsync(link,source)
  1238. repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  1239. local ID = Http:JSONDecode(asd).Result.Require_ID
  1240. local vs = require(ID).VORTH_SCRIPT
  1241. vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  1242. ]])
  1243. end
  1244.  
  1245.  
  1246. --// Attack Functions \\--
  1247. function Laser(key)
  1248. NeutralAnims = false
  1249. Attack = true
  1250. Root.Anchored = true
  1251. local data = MagicCircle{Weld=Torso,Pos=CF.N(0,0,-4),Size=5,Variant=MagicVariant,Time=.5}
  1252. local IsGrown = false
  1253. data.Grown:connect(function() IsGrown = true end)
  1254. repeat swait()
  1255. local Alpha = .1
  1256. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(125),0,0),Alpha)
  1257. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(125),0,0),Alpha)
  1258. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1259. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1260. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1261. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1262. local LookVector = Mouse.Hit.p
  1263. Torso.CFrame = CF.N(Root.Position,LookVector)
  1264. until IsGrown
  1265. if(S.UserInputService:IsKeyDown(key))then
  1266. local grown = 0
  1267. repeat
  1268. local Alpha = .1
  1269. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(125),0,0),Alpha)
  1270. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(125),0,0),Alpha)
  1271. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1272. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1273. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1274. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1275. local LookVector = Mouse.Hit.p
  1276. Root.CFrame = CF.N(Root.Position,LookVector)
  1277. if(grown < 250)then
  1278. data.Grow(.05)
  1279. grown = grown + 1
  1280. end
  1281. swait()
  1282. until not S.UserInputService:IsKeyDown(key)
  1283. end
  1284. Sound(data.Circle,340722848,1,1,false,true,true)
  1285. local hit,pos,norm,dist = CastRay(data.Circle.CFrame.p,Mouse.Hit.p,1024)
  1286. local part = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data.Mesh.Scale.x/40,data.Mesh.Scale.x/40),CF.N(data.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1287. Mesh(part,Enum.MeshType.Cylinder)
  1288. Tween(part,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1289. Effect{
  1290. Effect='ResizeAndFade',
  1291. Color=MagicVariant.Color,
  1292. Size=V3.N(data.Mesh.Scale.X/20,data.Mesh.Scale.X/20,data.Mesh.Scale.X/20),
  1293. Mesh={MeshType=Enum.MeshType.Sphere},
  1294. CFrame=CF.N(pos),
  1295. FXSettings={
  1296. EndSize=V3.N(.05,.05,.05),
  1297. EndIsIncrement=true
  1298. }
  1299. }
  1300. for i = 1, 5 do
  1301. local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1302. Effect{
  1303. Effect='Fade',
  1304. Frames=65,
  1305. Size=V3.N((data.Mesh.Scale.X/20)/2,(data.Mesh.Scale.X/20)/2,data.Mesh.Scale.X/20),
  1306. CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data.Mesh.Scale.X/20)).p,pos),
  1307. Mesh = {MeshType=Enum.MeshType.Sphere},
  1308. Material=Enum.Material.Neon,
  1309. Color=MagicVariant.Color,
  1310. MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1311. }
  1312. end
  1313. AOEDamage(pos,data.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1314. coroutine.wrap(function()
  1315. local frame = (1/30)
  1316. for i = 1, 30 do
  1317. part.Transparency = (i/30)
  1318. swait()
  1319. end
  1320. part:destroy()
  1321. end)()
  1322. Attack = false
  1323. NeutralAnims = true
  1324. Root.Anchored = false
  1325. data.Destroy()
  1326. end
  1327.  
  1328. function Balls(key)
  1329. NeutralAnims = false
  1330. Attack = true
  1331. Root.Anchored = true
  1332. local data = MagicCircle{Weld=Torso,Pos=CF.N(0,0,-1),Size=5,Variant=MagicVariant,Time=.5}
  1333. local IsGrown = false
  1334. data.Grown:connect(function() IsGrown = true end)
  1335. repeat swait()
  1336. local Alpha = .1
  1337. local idk = M.R(25)
  1338. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1339. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1340. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1341. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1342. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1343. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1344. local LookVector = Mouse.Hit.p
  1345. Torso.CFrame = CF.N(Root.Position,LookVector)
  1346. until IsGrown
  1347. local projectiles = 5
  1348. if(S.UserInputService:IsKeyDown(key))then
  1349. local grown = 0
  1350. repeat
  1351. local Alpha = .1
  1352. local idk = M.R(25)
  1353. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1354. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1355. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1356. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1357. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1358. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1359. local LookVector = Mouse.Hit.p
  1360. Root.CFrame = CF.N(Root.Position,LookVector)
  1361. if(grown < 250)then
  1362. data.Grow(.05)
  1363. grown = grown + 1
  1364. projectiles = projectiles + .05
  1365. end
  1366. swait()
  1367. until not S.UserInputService:IsKeyDown(key)
  1368. end
  1369. for i = 1, math.floor(projectiles) do
  1370. data.Grow(-math.floor(projectiles)/20)
  1371. local LookVector = Mouse.Hit.p
  1372. Root.CFrame = CF.N(Root.Position,LookVector)
  1373. ShootBullet{Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  1374. swait(1)
  1375. end
  1376.  
  1377. Attack = false
  1378. NeutralAnims = true
  1379. Root.Anchored = false
  1380. data.Destroy()
  1381. end
  1382.  
  1383. function DLaser(key)
  1384. NeutralAnims = false
  1385. Attack = true
  1386. Root.Anchored = true
  1387. local data1 = MagicCircle{Weld=Torso,Pos=CF.N(-4,0,-4),Size=5,Variant=MagicVariant,Time=.5}
  1388. local data2 = MagicCircle{Weld=Torso,Pos=CF.N(4,0,-4),Size=5,Variant=MagicVariant,Time=.5}
  1389. local IsGrown = false
  1390. data1.Grown:connect(function() IsGrown = true end)
  1391. repeat swait()
  1392. local Alpha = .1
  1393. local idk = M.R(25)
  1394. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1395. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1396. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1397. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1398. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1399. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1400. local LookVector = Mouse.Hit.p
  1401. Torso.CFrame = CF.N(Root.Position,LookVector)
  1402. until IsGrown
  1403. if(S.UserInputService:IsKeyDown(key))then
  1404. local grown = 0
  1405. repeat
  1406. local Alpha = .1
  1407. local idk = M.R(25)
  1408. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1409. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1410. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1411. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1412. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1413. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1414. local LookVector = Mouse.Hit.p
  1415. Root.CFrame = CF.N(Root.Position,LookVector)
  1416. if(grown < 250)then
  1417. data1.Grow(.05)
  1418. data2.Grow(.05)
  1419. grown = grown + 1
  1420. end
  1421. swait()
  1422. until not S.UserInputService:IsKeyDown(key)
  1423. end
  1424. Sound(data1.Circle,340722848,1,1,false,true,true)
  1425. Sound(data2.Circle,340722848,1,1,false,true,true)
  1426. local hit,pos,norm,dist = CastRay(data1.Circle.CFrame.p,Mouse.Hit.p,1024)
  1427. local part1 = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data1.Mesh.Scale.x/40,data1.Mesh.Scale.x/40),CF.N(data1.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1428. Mesh(part1,Enum.MeshType.Cylinder)
  1429.  
  1430.  
  1431. local part2 = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data2.Mesh.Scale.x/40,data2.Mesh.Scale.x/40),CF.N(data2.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1432. Mesh(part2,Enum.MeshType.Cylinder)
  1433. Tween(part1,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1434. Tween(part2,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1435. Effect{
  1436. Effect='ResizeAndFade',
  1437. Color=MagicVariant.Color,
  1438. Size=V3.N(data1.Mesh.Scale.X/20,data1.Mesh.Scale.X/20,data1.Mesh.Scale.X/20),
  1439. Mesh={MeshType=Enum.MeshType.Sphere},
  1440. CFrame=CF.N(pos),
  1441. FXSettings={
  1442. EndSize=V3.N(.05,.05,.05),
  1443. EndIsIncrement=true
  1444. }
  1445. }
  1446. for i = 1, 5 do
  1447. local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1448. Effect{
  1449. Effect='Fade',
  1450. Frames=65,
  1451. Size=V3.N((data1.Mesh.Scale.X/20)/2,(data1.Mesh.Scale.X/20)/2,data1.Mesh.Scale.X/20),
  1452. CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data1.Mesh.Scale.X/20)).p,pos),
  1453. Mesh = {MeshType=Enum.MeshType.Sphere},
  1454. Material=Enum.Material.Neon,
  1455. Color=MagicVariant.Color,
  1456. MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1457. }
  1458. end
  1459. AOEDamage(pos,data1.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1460. AOEDamage(pos,data2.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1461. coroutine.wrap(function()
  1462. local frame = (1/30)
  1463. for i = 1, 30 do
  1464. part1.Transparency = (i/30)
  1465. part2.Transparency = (i/30)
  1466. swait()
  1467. end
  1468. part1:destroy()
  1469. part2:destroy()
  1470. end)()
  1471. Attack = false
  1472. NeutralAnims = true
  1473. Root.Anchored = false
  1474. data1.Destroy()
  1475. data2.Destroy()
  1476. end
  1477.  
  1478.  
  1479. function BLaser(key)
  1480. NeutralAnims = false
  1481. Attack = true
  1482. Root.Anchored = true
  1483. local data = MagicCircle{Weld=Torso,Pos=CF.N(0,0,-1),Size=15,Variant=MagicVariant,Time=.75}
  1484. local IsGrown = false
  1485. data.Grown:connect(function() IsGrown = true end)
  1486. repeat swait()
  1487. local Alpha = .1
  1488. local idk = M.R(25)
  1489. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1490. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1491. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1492. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1493. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1494. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1495. local LookVector = Mouse.Hit.p
  1496. Torso.CFrame = CF.N(Root.Position,LookVector)
  1497. until IsGrown
  1498. if(S.UserInputService:IsKeyDown(key))then
  1499. local grown = 0
  1500. repeat
  1501. local Alpha = .1
  1502. local idk = M.R(25)
  1503. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1504. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1505. RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1506. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1507. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1508. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1509. local LookVector = Mouse.Hit.p
  1510. Root.CFrame = CF.N(Root.Position,LookVector)
  1511. swait()
  1512. until not S.UserInputService:IsKeyDown(key)
  1513. end
  1514.  
  1515. local hit,pos,norm,dist = CastRay(data.Circle.CFrame.p,Mouse.Hit.p,1024)
  1516. local part = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data.Mesh.Scale.x/40,data.Mesh.Scale.x/40),CF.N(data.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1517. Mesh(part,Enum.MeshType.Cylinder)
  1518. Tween(part,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1519. local aa = data.Circle:Clone();
  1520. aa.Parent = Effects
  1521. aa.Anchored = true
  1522. local blast = Sound(aa,334702766,1,5,false,true,true)
  1523. data.Circle:destroy()
  1524. if(not blast.IsLoaded)then repeat swait() until blast.IsLoaded end
  1525. Effect{
  1526. Effect='ResizeAndFade',
  1527. Color=MagicVariant.Color,
  1528. Size=V3.N(data.Mesh.Scale.X/20,data.Mesh.Scale.X/20,data.Mesh.Scale.X/20),
  1529. Mesh={MeshType=Enum.MeshType.Sphere},
  1530. CFrame=CF.N(pos),
  1531. Sound=blast,
  1532. FXSettings={
  1533. EndSize=V3.N(.05,.05,.05),
  1534. EndIsIncrement=true
  1535. }
  1536. }
  1537. for i = 1, 5 do
  1538. local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1539. Effect{
  1540. Effect='Fade',
  1541. Frames=65,
  1542. Sound=blast,
  1543. Size=V3.N((data.Mesh.Scale.X/20)/2,(data.Mesh.Scale.X/20)/2,data.Mesh.Scale.X/20),
  1544. CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data.Mesh.Scale.X/20)).p,pos),
  1545. Mesh = {MeshType=Enum.MeshType.Sphere},
  1546. Material=Enum.Material.Neon,
  1547. Color=MagicVariant.Color,
  1548. MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1549. }
  1550. end
  1551. AOEDamage(pos,data.Mesh.Scale.X/20,45,75,0,'Normal',10,4)
  1552. coroutine.wrap(function()
  1553. for i = 1, (blast.TimeLength*Frame_Speed) do
  1554. part.Transparency = (i/(blast.TimeLength*Frame_Speed))
  1555. for _,v in next, aa:children() do if v:IsA'Decal' then v.Transparency = (i/(blast.TimeLength*Frame_Speed)) end end
  1556. swait()
  1557. end
  1558. aa:destroy()
  1559. part:destroy()
  1560. end)()
  1561.  
  1562. Attack = false
  1563. NeutralAnims = true
  1564. Root.Anchored = false
  1565. Root.Velocity = Mouse.Hit.lookVector*-125
  1566. end
  1567.  
  1568. function Skill1()
  1569. Laser(Enum.KeyCode.Q)
  1570. end
  1571.  
  1572. function Skill2()
  1573. DLaser(Enum.KeyCode.Z)
  1574. end
  1575.  
  1576. function Skill3()
  1577. BLaser(Enum.KeyCode.X)
  1578. end
  1579.  
  1580. --// Wrap it all up \\--
  1581.  
  1582. Mouse.KeyDown:connect(function(k)
  1583. if(Attack)then return end
  1584. if(k == 'q')then Skill1() end
  1585. if(k == 'z')then Skill2() end
  1586. if(k == 'x')then Skill3() end
  1587. end)
  1588.  
  1589. Plr.Chatted:connect(function(m)
  1590.  
  1591. if(m:sub(1,3) == '/e ')then
  1592. local msg = m:sub(4)
  1593. --emote commands (gotta do)
  1594. end
  1595. end)
  1596. while true do
  1597. swait()
  1598. Sine = Sine + Change
  1599.  
  1600. local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4)), Char)
  1601.  
  1602. local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1603. local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and (Hum.WalkSpeed > 24 and "Run" or "Walk") or hitfloor and "Idle")
  1604. if(not Effects or not Effects.Parent)then
  1605. Effects = IN("Model",Char)
  1606. Effects.Name = "Effects"
  1607. end
  1608. if(State == 'Run')then
  1609. local wsVal = 20 / (Hum.WalkSpeed/16)
  1610. local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1611. Change = 3
  1612. 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)
  1613. 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)
  1614. elseif(State == 'Walk')then
  1615. local wsVal = 20 / (Hum.WalkSpeed/16)
  1616. local Alpha = math.min(.3 * (Hum.WalkSpeed/8),1)
  1617. Change = 3
  1618. 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)
  1619. 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)
  1620. else
  1621. RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1622. LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1623. end
  1624.  
  1625. Hum.WalkSpeed = WalkSpeed
  1626.  
  1627. if(NeutralAnims)then
  1628. if(State == 'Idle')then
  1629. local Alpha = .1
  1630. Change = .75
  1631. RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0+.2*M.C(Sine/12),.2*M.C(Sine/6),0)*CF.A(M.R(-5+5*M.C(Sine/12)),0,0),Alpha)
  1632. NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-5+5*M.C(Sine/12)),0,0),Alpha)
  1633. LS.C0 = LS.C0:lerp(LSC0*CF.N(.25,0,0)*CF.A(M.R(-45),0,M.R(45+5*M.C(Sine/12))),Alpha)
  1634. RS.C0 = RS.C0:lerp(RSC0*CF.N(-.25,0,0)*CF.A(M.R(-45),0,M.R(-45-5*M.C(Sine/12))),Alpha)
  1635. LH.C0 = LH.C0:lerp(LHC0*CF.N(0-.2*M.C(Sine/12),-.2*M.C(Sine/6),0)*CF.A(M.R(5-5*M.C(Sine/12)),M.R(10),0),Alpha)
  1636. RH.C0 = RH.C0:lerp(RHC0*CF.N(0-.2*M.C(Sine/12),-.2*M.C(Sine/6),0)*CF.A(M.R(5-5*M.C(Sine/12)),M.R(-10),0),Alpha)
  1637. -- idle
  1638. elseif(State == 'Run')then
  1639. local wsVal = 20 / (Hum.WalkSpeed/16)
  1640. local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1641. RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-15+2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1642. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1643. 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)
  1644. 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)
  1645. 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)
  1646. 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)
  1647. elseif(State == 'Walk')then
  1648. local wsVal = 20 / (Hum.WalkSpeed/16)
  1649. local Alpha = math.min(.3 * (Hum.WalkSpeed/16),1)
  1650. 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)
  1651. NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1652. LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,-.22*M.C(Sine/wsVal))*CF.A(M.R(37*M.C(Sine/wsVal)),0,M.R(-5)),Alpha)
  1653. RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,.22*M.C(Sine/wsVal))*CF.A(M.R(-37*M.C(Sine/wsVal)),0,M.R(5)),Alpha)
  1654. 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)
  1655. 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)
  1656. elseif(State == 'Jump')then
  1657. local Alpha = .1
  1658. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1659. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
  1660. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
  1661. 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)
  1662. 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)
  1663. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1664. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1665. elseif(State == 'Fall')then
  1666. local Alpha = .1
  1667. local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1668. LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1669. RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1670. 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)
  1671. 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)
  1672. LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1673. RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1674. elseif(State == 'Paralyzed')then
  1675. -- paralyzed
  1676. elseif(State == 'Sit')then
  1677. -- sit
  1678. end
  1679. end
  1680.  
  1681. end
  1682.  
  1683. -----------------------
  1684. --[[ Name : Chain Magician ]]--
  1685. -------------------------------------------------------
  1686. --A script By makhail07
  1687.  
  1688. --Credit To Nebula_Zorua and ShackLuster
  1689.  
  1690. --Discord Creterisk#2958
  1691.  
  1692. --NOTE THIS SCRIPT WAS PURELY MADE FROM MY FUCKING IMAGINATION
  1693. --IF IT HAPPENS TO LOOK LIKE ANOTHER SCRIPT
  1694. --DONT CALL IT A FUCKING BOOTLEG THANK YOU AND ENJOY THE SCRIPT
  1695. --YOU FUCKING SKIDS,
  1696. --For Those who log/decompile this, If you sell or trade this,
  1697. --and I find out who you are, i will take massive action.
  1698.  
  1699. -------------------------------------------------------
  1700.  
  1701. local FavIDs = {
  1702. 340106355, --Nefl Crystals
  1703. 927529620, --Dimension
  1704. 876981900, --Fantasy
  1705. 398987889, --Ordinary Days
  1706. 1117396305, --Oh wait, it's you.
  1707. 885996042, --Action Winter Journey
  1708. 919231299, --Sprawling Idiot Effigy
  1709. 743466274, --Good Day Sunshine
  1710. 727411183, --Knife Fight
  1711. 1402748531, --The Earth Is Counting On You!
  1712. 595230126 --Robot Language
  1713. }
  1714.  
  1715.  
  1716.  
  1717. --The reality of my life isn't real but a Universe -makhail07
  1718. wait(0.2)
  1719. local plr = owner
  1720. print('Local User is '..plr.Name)
  1721. print('Chain Magician Loaded')
  1722. print('Was going to be a test script but fuck it.')
  1723. local char = plr.Character
  1724. local hum = char.Humanoid
  1725. local hed = char.Head
  1726. local root = char.HumanoidRootPart
  1727. local rootj = root.RootJoint
  1728. local tors = char.Torso
  1729. local ra = char["Right Arm"]
  1730. local la = char["Left Arm"]
  1731. local rl = char["Right Leg"]
  1732. local ll = char["Left Leg"]
  1733. local neck = tors["Neck"]
  1734. local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
  1735. local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
  1736. local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
  1737. local maincolor = BrickColor.new("Institutional white")
  1738.  
  1739. ff = Instance.new("ForceField",char)
  1740. ff.Visible = false
  1741. hum.Name = "Base"
  1742. hum.MaxHealth = 1.0E298
  1743. hum.Health = 1.0E298
  1744. game:GetService("RunService"):BindToRenderStep("Bbae", 0, function()
  1745. if hum.Health > 0.1 and hum.Health < 1.0E298 then
  1746. hum.MaxHealth = 1.0E298
  1747. hum.Health = 1.0E298
  1748. end
  1749. end)
  1750.  
  1751. -------------------------------------------------------
  1752. --Start Good Stuff--
  1753. -------------------------------------------------------
  1754. cam = game.Workspace.CurrentCamera
  1755. CF = CFrame.new
  1756. angles = CFrame.Angles
  1757. attack = false
  1758. Euler = CFrame.fromEulerAnglesXYZ
  1759. Rad = math.rad
  1760. IT = Instance.new
  1761. BrickC = BrickColor.new
  1762. Cos = math.cos
  1763. Acos = math.acos
  1764. Sin = math.sin
  1765. Asin = math.asin
  1766. Abs = math.abs
  1767. Mrandom = math.random
  1768. Floor = math.floor
  1769. -------------------------------------------------------
  1770. --End Good Stuff--
  1771. -------------------------------------------------------
  1772. necko = CF(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  1773. RSH, LSH = nil, nil
  1774. RW = Instance.new("Weld")
  1775. LW = Instance.new("Weld")
  1776. RH = tors["Right Hip"]
  1777. LH = tors["Left Hip"]
  1778. RSH = tors["Right Shoulder"]
  1779. LSH = tors["Left Shoulder"]
  1780. RSH.Parent = nil
  1781. LSH.Parent = nil
  1782. RW.Name = "RW"
  1783. RW.Part0 = tors
  1784. RW.C0 = CF(1.5, 0.5, 0)
  1785. RW.C1 = CF(0, 0.5, 0)
  1786. RW.Part1 = ra
  1787. RW.Parent = tors
  1788. LW.Name = "LW"
  1789. LW.Part0 = tors
  1790. LW.C0 = CF(-1.5, 0.5, 0)
  1791. LW.C1 = CF(0, 0.5, 0)
  1792. LW.Part1 = la
  1793. LW.Parent = tors
  1794. Effects = {}
  1795. -------------------------------------------------------
  1796. --Start HeartBeat--
  1797. -------------------------------------------------------
  1798. ArtificialHB = Instance.new("BindableEvent", script)
  1799. ArtificialHB.Name = "Heartbeat"
  1800. script:WaitForChild("Heartbeat")
  1801.  
  1802. frame = 1 / 60
  1803. tf = 0
  1804. allowframeloss = false
  1805. tossremainder = false
  1806.  
  1807.  
  1808. lastframe = tick()
  1809. script.Heartbeat:Fire()
  1810.  
  1811.  
  1812. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1813. tf = tf + s
  1814. if tf >= frame then
  1815. if allowframeloss then
  1816. script.Heartbeat:Fire()
  1817. lastframe = tick()
  1818. else
  1819. for i = 1, math.floor(tf / frame) do
  1820. script.Heartbeat:Fire()
  1821. end
  1822. lastframe = tick()
  1823. end
  1824. if tossremainder then
  1825. tf = 0
  1826. else
  1827. tf = tf - frame * math.floor(tf / frame)
  1828. end
  1829. end
  1830. end)
  1831. -------------------------------------------------------
  1832. --End HeartBeat--
  1833. -------------------------------------------------------
  1834.  
  1835. -------------------------------------------------------
  1836. --Start Important Functions--
  1837. -------------------------------------------------------
  1838. function swait(num)
  1839. if num == 0 or num == nil then
  1840. game:service("RunService").Stepped:wait(0)
  1841. else
  1842. for i = 0, num do
  1843. game:service("RunService").Stepped:wait(0)
  1844. end
  1845. end
  1846. end
  1847. function thread(f)
  1848. coroutine.resume(coroutine.create(f))
  1849. end
  1850. function clerp(a, b, t)
  1851. local qa = {
  1852. QuaternionFromCFrame(a)
  1853. }
  1854. local qb = {
  1855. QuaternionFromCFrame(b)
  1856. }
  1857. local ax, ay, az = a.x, a.y, a.z
  1858. local bx, by, bz = b.x, b.y, b.z
  1859. local _t = 1 - t
  1860. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1861. end
  1862. function QuaternionFromCFrame(cf)
  1863. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1864. local trace = m00 + m11 + m22
  1865. if trace > 0 then
  1866. local s = math.sqrt(1 + trace)
  1867. local recip = 0.5 / s
  1868. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1869. else
  1870. local i = 0
  1871. if m00 < m11 then
  1872. i = 1
  1873. end
  1874. if m22 > (i == 0 and m00 or m11) then
  1875. i = 2
  1876. end
  1877. if i == 0 then
  1878. local s = math.sqrt(m00 - m11 - m22 + 1)
  1879. local recip = 0.5 / s
  1880. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1881. elseif i == 1 then
  1882. local s = math.sqrt(m11 - m22 - m00 + 1)
  1883. local recip = 0.5 / s
  1884. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1885. elseif i == 2 then
  1886. local s = math.sqrt(m22 - m00 - m11 + 1)
  1887. local recip = 0.5 / s
  1888. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1889. end
  1890. end
  1891. end
  1892. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1893. local xs, ys, zs = x + x, y + y, z + z
  1894. local wx, wy, wz = w * xs, w * ys, w * zs
  1895. local xx = x * xs
  1896. local xy = x * ys
  1897. local xz = x * zs
  1898. local yy = y * ys
  1899. local yz = y * zs
  1900. local zz = z * zs
  1901. return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  1902. end
  1903. function QuaternionSlerp(a, b, t)
  1904. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1905. local startInterp, finishInterp
  1906. if cosTheta >= 1.0E-4 then
  1907. if 1 - cosTheta > 1.0E-4 then
  1908. local theta = math.acos(cosTheta)
  1909. local invSinTheta = 1 / Sin(theta)
  1910. startInterp = Sin((1 - t) * theta) * invSinTheta
  1911. finishInterp = Sin(t * theta) * invSinTheta
  1912. else
  1913. startInterp = 1 - t
  1914. finishInterp = t
  1915. end
  1916. elseif 1 + cosTheta > 1.0E-4 then
  1917. local theta = math.acos(-cosTheta)
  1918. local invSinTheta = 1 / Sin(theta)
  1919. startInterp = Sin((t - 1) * theta) * invSinTheta
  1920. finishInterp = Sin(t * theta) * invSinTheta
  1921. else
  1922. startInterp = t - 1
  1923. finishInterp = t
  1924. end
  1925. return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  1926. end
  1927. function rayCast(Position, Direction, Range, Ignore)
  1928. return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
  1929. end
  1930. local RbxUtility = LoadLibrary("RbxUtility")
  1931. local Create = RbxUtility.Create
  1932.  
  1933. -------------------------------------------------------
  1934. --Start Damage Function--
  1935. -------------------------------------------------------
  1936. function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
  1937. if hit.Parent == nil then
  1938. return
  1939. end
  1940. local h = hit.Parent:FindFirstChildOfClass("Humanoid")
  1941. for _, v in pairs(hit.Parent:children()) do
  1942. if v:IsA("Humanoid") then
  1943. h = v
  1944. end
  1945. end
  1946. if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
  1947.  
  1948. hit.Parent:FindFirstChild("Head"):BreakJoints()
  1949. end
  1950.  
  1951. if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
  1952. if hit.Parent:findFirstChild("DebounceHit") ~= nil then
  1953. if hit.Parent.DebounceHit.Value == true then
  1954. return
  1955. end
  1956. end
  1957. if insta == true then
  1958. hit.Parent:FindFirstChild("Head"):BreakJoints()
  1959. end
  1960. local c = Create("ObjectValue"){
  1961. Name = "creator",
  1962. Value = owner
  1963. Parent = h,
  1964. }
  1965. game:GetService("Debris"):AddItem(c, .5)
  1966. if HitSound ~= nil and HitPitch ~= nil then
  1967. CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
  1968. end
  1969. local Damage = math.random(minim, maxim)
  1970. local blocked = false
  1971. local block = hit.Parent:findFirstChild("Block")
  1972. if block ~= nil then
  1973. if block.className == "IntValue" then
  1974. if block.Value > 0 then
  1975. blocked = true
  1976. block.Value = block.Value - 1
  1977. print(block.Value)
  1978. end
  1979. end
  1980. end
  1981. if blocked == false then
  1982. h.Health = h.Health - Damage
  1983. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1984. else
  1985. h.Health = h.Health - (Damage / 2)
  1986. ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
  1987. end
  1988. if Type == "Knockdown" then
  1989. local hum = hit.Parent.Humanoid
  1990. hum.PlatformStand = true
  1991. coroutine.resume(coroutine.create(function(HHumanoid)
  1992. swait(1)
  1993. HHumanoid.PlatformStand = false
  1994. end), hum)
  1995. local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
  1996. local bodvol = Create("BodyVelocity"){
  1997. velocity = angle * knockback,
  1998. P = 5000,
  1999. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2000. Parent = hit,
  2001. }
  2002. local rl = Create("BodyAngularVelocity"){
  2003. P = 3000,
  2004. maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  2005. angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  2006. Parent = hit,
  2007. }
  2008. game:GetService("Debris"):AddItem(bodvol, .5)
  2009. game:GetService("Debris"):AddItem(rl, .5)
  2010. elseif Type == "Normal" then
  2011. local vp = Create("BodyVelocity"){
  2012. P = 500,
  2013. maxForce = Vector3.new(math.huge, 0, math.huge),
  2014. velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
  2015. }
  2016. if knockback > 0 then
  2017. vp.Parent = hit.Parent.Torso
  2018. end
  2019. game:GetService("Debris"):AddItem(vp, .5)
  2020. elseif Type == "Up" then
  2021. local bodyVelocity = Create("BodyVelocity"){
  2022. velocity = Vector3.new(0, 20, 0),
  2023. P = 5000,
  2024. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2025. Parent = hit,
  2026. }
  2027. game:GetService("Debris"):AddItem(bodyVelocity, .5)
  2028. elseif Type == "DarkUp" then
  2029. coroutine.resume(coroutine.create(function()
  2030. for i = 0, 1, 0.1 do
  2031. swait()
  2032. Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
  2033. end
  2034. end))
  2035. local bodyVelocity = Create("BodyVelocity"){
  2036. velocity = Vector3.new(0, 20, 0),
  2037. P = 5000,
  2038. maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  2039. Parent = hit,
  2040. }
  2041. game:GetService("Debris"):AddItem(bodyVelocity, 1)
  2042. elseif Type == "Snare" then
  2043. local bp = Create("BodyPosition"){
  2044. P = 2000,
  2045. D = 100,
  2046. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  2047. position = hit.Parent.Torso.Position,
  2048. Parent = hit.Parent.Torso,
  2049. }
  2050. game:GetService("Debris"):AddItem(bp, 1)
  2051. elseif Type == "Freeze" then
  2052. local BodPos = Create("BodyPosition"){
  2053. P = 50000,
  2054. D = 1000,
  2055. maxForce = Vector3.new(math.huge, math.huge, math.huge),
  2056. position = hit.Parent.Torso.Position,
  2057. Parent = hit.Parent.Torso,
  2058. }
  2059. local BodGy = Create("BodyGyro") {
  2060. maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
  2061. P = 20e+003,
  2062. Parent = hit.Parent.Torso,
  2063. cframe = hit.Parent.Torso.CFrame,
  2064. }
  2065. hit.Parent.Torso.Anchored = true
  2066. coroutine.resume(coroutine.create(function(Part)
  2067. swait(1.5)
  2068. Part.Anchored = false
  2069. end), hit.Parent.Torso)
  2070. game:GetService("Debris"):AddItem(BodPos, 3)
  2071. game:GetService("Debris"):AddItem(BodGy, 3)
  2072. end
  2073. local debounce = Create("BoolValue"){
  2074. Name = "DebounceHit",
  2075. Parent = hit.Parent,
  2076. Value = true,
  2077. }
  2078. game:GetService("Debris"):AddItem(debounce, Delay)
  2079. c = Create("ObjectValue"){
  2080. Name = "creator",
  2081. Value = Player,
  2082. Parent = h,
  2083. }
  2084. game:GetService("Debris"):AddItem(c, .5)
  2085. end
  2086. end
  2087. -------------------------------------------------------
  2088. --End Damage Function--
  2089. -------------------------------------------------------
  2090.  
  2091. -------------------------------------------------------
  2092. --Start Damage Function Customization--
  2093. -------------------------------------------------------
  2094. function ShowDamage(Pos, Text, Time, Color)
  2095. local Rate = (1 / 30)
  2096. local Pos = (Pos or Vector3.new(0, 0, 0))
  2097. local Text = (Text or "")
  2098. local Time = (Time or 2)
  2099. local Color = (Color or Color3.new(1, 0, 1))
  2100. local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
  2101. EffectPart.Anchored = true
  2102. local BillboardGui = Create("BillboardGui"){
  2103. Size = UDim2.new(3, 0, 3, 0),
  2104. Adornee = EffectPart,
  2105. Parent = EffectPart,
  2106. }
  2107. local TextLabel = Create("TextLabel"){
  2108. BackgroundTransparency = 1,
  2109. Size = UDim2.new(1, 0, 1, 0),
  2110. Text = Text,
  2111. Font = "Bodoni",
  2112. TextColor3 = Color,
  2113. TextScaled = true,
  2114. TextStrokeColor3 = Color3.fromRGB(0,0,0),
  2115. Parent = BillboardGui,
  2116. }
  2117. game.Debris:AddItem(EffectPart, (Time))
  2118. EffectPart.Parent = game:GetService("Workspace")
  2119. delay(0, function()
  2120. local Frames = (Time / Rate)
  2121. for Frame = 1, Frames do
  2122. wait(Rate)
  2123. local Percent = (Frame / Frames)
  2124. EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
  2125. TextLabel.TextTransparency = Percent
  2126. end
  2127. if EffectPart and EffectPart.Parent then
  2128. EffectPart:Destroy()
  2129. end
  2130. end)
  2131. end
  2132. -------------------------------------------------------
  2133. --End Damage Function Customization--
  2134. -------------------------------------------------------
  2135.  
  2136. function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
  2137. for _, c in pairs(workspace:children()) do
  2138. local hum = c:findFirstChild("Humanoid")
  2139. if hum ~= nil then
  2140. local head = c:findFirstChild("Head")
  2141. if head ~= nil then
  2142. local targ = head.Position - Part.Position
  2143. local mag = targ.magnitude
  2144. if magni >= mag and c.Name ~= plr.Name then
  2145. Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
  2146. end
  2147. end
  2148. end
  2149. end
  2150. end
  2151.  
  2152.  
  2153. CFuncs = {
  2154. Part = {
  2155. Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2156. local Part = Create("Part")({
  2157. Parent = Parent,
  2158. Reflectance = Reflectance,
  2159. Transparency = Transparency,
  2160. CanCollide = false,
  2161. Locked = true,
  2162. BrickColor = BrickColor.new(tostring(BColor)),
  2163. Name = Name,
  2164. Size = Size,
  2165. Material = Material
  2166. })
  2167. RemoveOutlines(Part)
  2168. return Part
  2169. end
  2170. },
  2171. Mesh = {
  2172. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2173. local Msh = Create(Mesh)({
  2174. Parent = Part,
  2175. Offset = OffSet,
  2176. Scale = Scale
  2177. })
  2178. if Mesh == "SpecialMesh" then
  2179. Msh.MeshType = MeshType
  2180. Msh.MeshId = MeshId
  2181. end
  2182. return Msh
  2183. end
  2184. },
  2185. Mesh = {
  2186. Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2187. local Msh = Create(Mesh)({
  2188. Parent = Part,
  2189. Offset = OffSet,
  2190. Scale = Scale
  2191. })
  2192. if Mesh == "SpecialMesh" then
  2193. Msh.MeshType = MeshType
  2194. Msh.MeshId = MeshId
  2195. end
  2196. return Msh
  2197. end
  2198. },
  2199. Weld = {
  2200. Create = function(Parent, Part0, Part1, C0, C1)
  2201. local Weld = Create("Weld")({
  2202. Parent = Parent,
  2203. Part0 = Part0,
  2204. Part1 = Part1,
  2205. C0 = C0,
  2206. C1 = C1
  2207. })
  2208. return Weld
  2209. end
  2210. },
  2211. Sound = {
  2212. Create = function(id, par, vol, pit)
  2213. coroutine.resume(coroutine.create(function()
  2214. local S = Create("Sound")({
  2215. Volume = vol,
  2216. Pitch = pit or 1,
  2217. SoundId = id,
  2218. Parent = par or workspace
  2219. })
  2220. wait()
  2221. S:play()
  2222. game:GetService("Debris"):AddItem(S, 6)
  2223. end))
  2224. end
  2225. },
  2226. ParticleEmitter = {
  2227. Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
  2228. local fp = Create("ParticleEmitter")({
  2229. Parent = Parent,
  2230. Color = ColorSequence.new(Color1, Color2),
  2231. LightEmission = LightEmission,
  2232. Size = Size,
  2233. Texture = Texture,
  2234. Transparency = Transparency,
  2235. ZOffset = ZOffset,
  2236. Acceleration = Accel,
  2237. Drag = Drag,
  2238. LockedToPart = LockedToPart,
  2239. VelocityInheritance = VelocityInheritance,
  2240. EmissionDirection = EmissionDirection,
  2241. Enabled = Enabled,
  2242. Lifetime = LifeTime,
  2243. Rate = Rate,
  2244. Rotation = Rotation,
  2245. RotSpeed = RotSpeed,
  2246. Speed = Speed,
  2247. VelocitySpread = VelocitySpread
  2248. })
  2249. return fp
  2250. end
  2251. }
  2252. }
  2253. function RemoveOutlines(part)
  2254. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  2255. end
  2256. function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  2257. local Part = Create("Part")({
  2258. formFactor = FormFactor,
  2259. Parent = Parent,
  2260. Reflectance = Reflectance,
  2261. Transparency = Transparency,
  2262. CanCollide = false,
  2263. Locked = true,
  2264. BrickColor = BrickColor.new(tostring(BColor)),
  2265. Name = Name,
  2266. Size = Size,
  2267. Material = Material
  2268. })
  2269. RemoveOutlines(Part)
  2270. return Part
  2271. end
  2272. function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
  2273. local Msh = Create(Mesh)({
  2274. Parent = Part,
  2275. Offset = OffSet,
  2276. Scale = Scale
  2277. })
  2278. if Mesh == "SpecialMesh" then
  2279. Msh.MeshType = MeshType
  2280. Msh.MeshId = MeshId
  2281. end
  2282. return Msh
  2283. end
  2284. function CreateWeld(Parent, Part0, Part1, C0, C1)
  2285. local Weld = Create("Weld")({
  2286. Parent = Parent,
  2287. Part0 = Part0,
  2288. Part1 = Part1,
  2289. C0 = C0,
  2290. C1 = C1
  2291. })
  2292. return Weld
  2293. end
  2294.  
  2295.  
  2296. -------------------------------------------------------
  2297. --Start Effect Function--
  2298. -------------------------------------------------------
  2299. EffectModel = Instance.new("Model", char)
  2300. Effects = {
  2301. Block = {
  2302. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  2303. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2304. prt.Anchored = true
  2305. prt.CFrame = cframe
  2306. local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2307. game:GetService("Debris"):AddItem(prt, 10)
  2308. if Type == 1 or Type == nil then
  2309. table.insert(Effects, {
  2310. prt,
  2311. "Block1",
  2312. delay,
  2313. x3,
  2314. y3,
  2315. z3,
  2316. msh
  2317. })
  2318. elseif Type == 2 then
  2319. table.insert(Effects, {
  2320. prt,
  2321. "Block2",
  2322. delay,
  2323. x3,
  2324. y3,
  2325. z3,
  2326. msh
  2327. })
  2328. else
  2329. table.insert(Effects, {
  2330. prt,
  2331. "Block3",
  2332. delay,
  2333. x3,
  2334. y3,
  2335. z3,
  2336. msh
  2337. })
  2338. end
  2339. end
  2340. },
  2341. Sphere = {
  2342. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2343. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  2344. prt.Anchored = true
  2345. prt.CFrame = cframe
  2346. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2347. game:GetService("Debris"):AddItem(prt, 10)
  2348. table.insert(Effects, {
  2349. prt,
  2350. "Cylinder",
  2351. delay,
  2352. x3,
  2353. y3,
  2354. z3,
  2355. msh
  2356. })
  2357. end
  2358. },
  2359. Cylinder = {
  2360. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2361. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2362. prt.Anchored = true
  2363. prt.CFrame = cframe
  2364. local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2365. game:GetService("Debris"):AddItem(prt, 10)
  2366. table.insert(Effects, {
  2367. prt,
  2368. "Cylinder",
  2369. delay,
  2370. x3,
  2371. y3,
  2372. z3,
  2373. msh
  2374. })
  2375. end
  2376. },
  2377. Wave = {
  2378. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2379. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
  2380. prt.Anchored = true
  2381. prt.CFrame = cframe
  2382. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1 / 60, y1 / 60, z1 / 60))
  2383. game:GetService("Debris"):AddItem(prt, 10)
  2384. table.insert(Effects, {
  2385. prt,
  2386. "Cylinder",
  2387. delay,
  2388. x3 / 60,
  2389. y3 / 60,
  2390. z3 / 60,
  2391. msh
  2392. })
  2393. end
  2394. },
  2395. Ring = {
  2396. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2397. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2398. prt.Anchored = true
  2399. prt.CFrame = cframe
  2400. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2401. game:GetService("Debris"):AddItem(prt, 10)
  2402. table.insert(Effects, {
  2403. prt,
  2404. "Cylinder",
  2405. delay,
  2406. x3,
  2407. y3,
  2408. z3,
  2409. msh
  2410. })
  2411. end
  2412. },
  2413. Break = {
  2414. Create = function(brickcolor, cframe, x1, y1, z1)
  2415. local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
  2416. prt.Anchored = true
  2417. prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  2418. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2419. local num = math.random(10, 50) / 1000
  2420. game:GetService("Debris"):AddItem(prt, 10)
  2421. table.insert(Effects, {
  2422. prt,
  2423. "Shatter",
  2424. num,
  2425. prt.CFrame,
  2426. math.random() - math.random(),
  2427. 0,
  2428. math.random(50, 100) / 100
  2429. })
  2430. end
  2431. },
  2432. Spiral = {
  2433. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2434. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2435. prt.Anchored = true
  2436. prt.CFrame = cframe
  2437. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://1051557", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2438. game:GetService("Debris"):AddItem(prt, 10)
  2439. table.insert(Effects, {
  2440. prt,
  2441. "Cylinder",
  2442. delay,
  2443. x3,
  2444. y3,
  2445. z3,
  2446. msh
  2447. })
  2448. end
  2449. },
  2450. Push = {
  2451. Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  2452. local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
  2453. prt.Anchored = true
  2454. prt.CFrame = cframe
  2455. local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://437347603", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
  2456. game:GetService("Debris"):AddItem(prt, 10)
  2457. table.insert(Effects, {
  2458. prt,
  2459. "Cylinder",
  2460. delay,
  2461. x3,
  2462. y3,
  2463. z3,
  2464. msh
  2465. })
  2466. end
  2467. }
  2468. }
  2469. function part(formfactor ,parent, reflectance, transparency, brickcolor, name, size)
  2470. local fp = IT("Part")
  2471. fp.formFactor = formfactor
  2472. fp.Parent = parent
  2473. fp.Reflectance = reflectance
  2474. fp.Transparency = transparency
  2475. fp.CanCollide = false
  2476. fp.Locked = true
  2477. fp.BrickColor = brickcolor
  2478. fp.Name = name
  2479. fp.Size = size
  2480. fp.Position = tors.Position
  2481. RemoveOutlines(fp)
  2482. fp.Material = "SmoothPlastic"
  2483. fp:BreakJoints()
  2484. return fp
  2485. end
  2486.  
  2487. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  2488. local mesh = IT(Mesh)
  2489. mesh.Parent = part
  2490. if Mesh == "SpecialMesh" then
  2491. mesh.MeshType = meshtype
  2492. if meshid ~= "nil" then
  2493. mesh.MeshId = "http://www.roblox.com/asset/?id="..meshid
  2494. end
  2495. end
  2496. mesh.Offset = offset
  2497. mesh.Scale = scale
  2498. return mesh
  2499. end
  2500.  
  2501. function Magic(bonuspeed, type, pos, scale, value, color, MType)
  2502. local type = type
  2503. local rng = Instance.new("Part", char)
  2504. rng.Anchored = true
  2505. rng.BrickColor = color
  2506. rng.CanCollide = false
  2507. rng.FormFactor = 3
  2508. rng.Name = "Ring"
  2509. rng.Material = "Neon"
  2510. rng.Size = Vector3.new(1, 1, 1)
  2511. rng.Transparency = 0
  2512. rng.TopSurface = 0
  2513. rng.BottomSurface = 0
  2514. rng.CFrame = pos
  2515. local rngm = Instance.new("SpecialMesh", rng)
  2516. rngm.MeshType = MType
  2517. rngm.Scale = scale
  2518. local scaler2 = 1
  2519. if type == "Add" then
  2520. scaler2 = 1 * value
  2521. elseif type == "Divide" then
  2522. scaler2 = 1 / value
  2523. end
  2524. coroutine.resume(coroutine.create(function()
  2525. for i = 0, 10 / bonuspeed, 0.1 do
  2526. swait()
  2527. if type == "Add" then
  2528. scaler2 = scaler2 - 0.01 * value / bonuspeed
  2529. elseif type == "Divide" then
  2530. scaler2 = scaler2 - 0.01 / value * bonuspeed
  2531. end
  2532. rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  2533. rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, scaler2 * bonuspeed)
  2534. end
  2535. rng:Destroy()
  2536. end))
  2537. end
  2538.  
  2539. function Eviscerate(dude)
  2540. if dude.Name ~= char then
  2541. local bgf = IT("BodyGyro", dude.Head)
  2542. bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  2543. local val = IT("BoolValue", dude)
  2544. val.Name = "IsHit"
  2545. local ds = coroutine.wrap(function()
  2546. dude:WaitForChild("Head"):BreakJoints()
  2547. wait(0.5)
  2548. target = nil
  2549. coroutine.resume(coroutine.create(function()
  2550. for i, v in pairs(dude:GetChildren()) do
  2551. if v:IsA("Accessory") then
  2552. v:Destroy()
  2553. end
  2554. if v:IsA("Humanoid") then
  2555. v:Destroy()
  2556. end
  2557. if v:IsA("CharacterMesh") then
  2558. v:Destroy()
  2559. end
  2560. if v:IsA("Model") then
  2561. v:Destroy()
  2562. end
  2563. if v:IsA("Part") or v:IsA("MeshPart") then
  2564. for x, o in pairs(v:GetChildren()) do
  2565. if o:IsA("Decal") then
  2566. o:Destroy()
  2567. end
  2568. end
  2569. coroutine.resume(coroutine.create(function()
  2570. v.Material = "Neon"
  2571. v.CanCollide = false
  2572. local PartEmmit1 = IT("ParticleEmitter", v)
  2573. PartEmmit1.LightEmission = 1
  2574. PartEmmit1.Texture = "rbxassetid://284205403"
  2575. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2576. PartEmmit1.Rate = 150
  2577. PartEmmit1.Lifetime = NumberRange.new(1)
  2578. PartEmmit1.Size = NumberSequence.new({
  2579. NumberSequenceKeypoint.new(0, 0.75, 0),
  2580. NumberSequenceKeypoint.new(1, 0, 0)
  2581. })
  2582. PartEmmit1.Transparency = NumberSequence.new({
  2583. NumberSequenceKeypoint.new(0, 0, 0),
  2584. NumberSequenceKeypoint.new(1, 1, 0)
  2585. })
  2586. PartEmmit1.Speed = NumberRange.new(0, 0)
  2587. PartEmmit1.VelocitySpread = 30000
  2588. PartEmmit1.Rotation = NumberRange.new(-500, 500)
  2589. PartEmmit1.RotSpeed = NumberRange.new(-500, 500)
  2590. local BodPoss = IT("BodyPosition", v)
  2591. BodPoss.P = 3000
  2592. BodPoss.D = 1000
  2593. BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  2594. BodPoss.position = v.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  2595. v.Color = maincolor.Color
  2596. coroutine.resume(coroutine.create(function()
  2597. for i = 0, 49 do
  2598. swait(1)
  2599. v.Transparency = v.Transparency + 0.08
  2600. end
  2601. wait(0.5)
  2602. PartEmmit1.Enabled = false
  2603. wait(3)
  2604. v:Destroy()
  2605. dude:Destroy()
  2606. end))
  2607. end))
  2608. end
  2609. end
  2610. end))
  2611. end)
  2612. ds()
  2613. end
  2614. end
  2615.  
  2616. function FindNearestHead(Position, Distance, SinglePlayer)
  2617. if SinglePlayer then
  2618. return Distance > (SinglePlayer.Torso.CFrame.p - Position).magnitude
  2619. end
  2620. local List = {}
  2621. for i, v in pairs(workspace:GetChildren()) do
  2622. if v:IsA("Model") and v:findFirstChild("Head") and v ~= char and Distance >= (v.Head.Position - Position).magnitude then
  2623. table.insert(List, v)
  2624. end
  2625. end
  2626. return List
  2627. end
  2628.  
  2629. function Aura(bonuspeed, FastSpeed, type, pos, x1, y1, z1, value, color, outerpos, MType)
  2630. local type = type
  2631. local rng = Instance.new("Part", char)
  2632. rng.Anchored = true
  2633. rng.BrickColor = color
  2634. rng.CanCollide = false
  2635. rng.FormFactor = 3
  2636. rng.Name = "Ring"
  2637. rng.Material = "Neon"
  2638. rng.Size = Vector3.new(1, 1, 1)
  2639. rng.Transparency = 0
  2640. rng.TopSurface = 0
  2641. rng.BottomSurface = 0
  2642. rng.CFrame = pos
  2643. rng.CFrame = rng.CFrame + rng.CFrame.lookVector * outerpos
  2644. local rngm = Instance.new("SpecialMesh", rng)
  2645. rngm.MeshType = MType
  2646. rngm.Scale = Vector3.new(x1, y1, z1)
  2647. local scaler2 = 1
  2648. local speeder = FastSpeed
  2649. if type == "Add" then
  2650. scaler2 = 1 * value
  2651. elseif type == "Divide" then
  2652. scaler2 = 1 / value
  2653. end
  2654. coroutine.resume(coroutine.create(function()
  2655. for i = 0, 10 / bonuspeed, 0.1 do
  2656. swait()
  2657. if type == "Add" then
  2658. scaler2 = scaler2 - 0.01 * value / bonuspeed
  2659. elseif type == "Divide" then
  2660. scaler2 = scaler2 - 0.01 / value * bonuspeed
  2661. end
  2662. speeder = speeder - 0.01 * FastSpeed * bonuspeed
  2663. rng.CFrame = rng.CFrame + rng.CFrame.lookVector * speeder * bonuspeed
  2664. rng.Transparency = rng.Transparency + 0.01 * bonuspeed
  2665. rngm.Scale = rngm.Scale + Vector3.new(scaler2 * bonuspeed, scaler2 * bonuspeed, 0)
  2666. end
  2667. rng:Destroy()
  2668. end))
  2669. end
  2670.  
  2671. function SoulSteal(dude)
  2672. if dude.Name ~= char then
  2673. local bgf = IT("BodyGyro", dude.Head)
  2674. bgf.CFrame = bgf.CFrame * CFrame.fromEulerAnglesXYZ(Rad(-90), 0, 0)
  2675. local val = IT("BoolValue", dude)
  2676. val.Name = "IsHit"
  2677. local torso = (dude:FindFirstChild'Head' or dude:FindFirstChild'Torso' or dude:FindFirstChild'UpperTorso' or dude:FindFirstChild'LowerTorso' or dude:FindFirstChild'HumanoidRootPart')
  2678. local soulst = coroutine.wrap(function()
  2679. local soul = Instance.new("Part",dude)
  2680. soul.Size = Vector3.new(1,1,1)
  2681. soul.CanCollide = false
  2682. soul.Anchored = false
  2683. soul.Position = torso.Position
  2684. soul.Transparency = 1
  2685. local PartEmmit1 = IT("ParticleEmitter", soul)
  2686. PartEmmit1.LightEmission = 1
  2687. PartEmmit1.Texture = "rbxassetid://569507414"
  2688. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2689. PartEmmit1.Rate = 250
  2690. PartEmmit1.Lifetime = NumberRange.new(1.6)
  2691. PartEmmit1.Size = NumberSequence.new({
  2692. NumberSequenceKeypoint.new(0, 1, 0),
  2693. NumberSequenceKeypoint.new(1, 0, 0)
  2694. })
  2695. PartEmmit1.Transparency = NumberSequence.new({
  2696. NumberSequenceKeypoint.new(0, 0, 0),
  2697. NumberSequenceKeypoint.new(1, 1, 0)
  2698. })
  2699. PartEmmit1.Speed = NumberRange.new(0, 0)
  2700. PartEmmit1.VelocitySpread = 30000
  2701. PartEmmit1.Rotation = NumberRange.new(-360, 360)
  2702. PartEmmit1.RotSpeed = NumberRange.new(-360, 360)
  2703. local BodPoss = IT("BodyPosition", soul)
  2704. BodPoss.P = 3000
  2705. BodPoss.D = 1000
  2706. BodPoss.maxForce = Vector3.new(50000000000, 50000000000, 50000000000)
  2707. BodPoss.position = torso.Position + Vector3.new(Mrandom(-15, 15), Mrandom(-15, 15), Mrandom(-15, 15))
  2708. wait(1.6)
  2709. soul.Touched:connect(function(hit)
  2710. if hit.Parent == char then
  2711. soul:Destroy()
  2712. end
  2713. end)
  2714. wait(1.2)
  2715. while soul do
  2716. swait()
  2717. PartEmmit1.Color = ColorSequence.new(maincolor.Color)
  2718. BodPoss.Position = tors.Position
  2719. end
  2720. end)
  2721. soulst()
  2722. end
  2723. end
  2724. function FaceMouse()
  2725. local Cam = workspace.CurrentCamera
  2726. return {
  2727. CFrame.new(char.Torso.Position, Vector3.new(mouse.Hit.p.x, char.Torso.Position.y, mouse.Hit.p.z)),
  2728. Vector3.new(mouse.Hit.p.x, mouse.Hit.p.y, mouse.Hit.p.z)
  2729. }
  2730. end
  2731. -------------------------------------------------------
  2732. --End Effect Function--
  2733. -------------------------------------------------------
  2734. function Cso(ID, PARENT, VOLUME, PITCH)
  2735. local NSound = nil
  2736. coroutine.resume(coroutine.create(function()
  2737. NSound = IT("Sound", PARENT)
  2738. NSound.Volume = VOLUME
  2739. NSound.Pitch = PITCH
  2740. NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
  2741. swait()
  2742. NSound:play()
  2743. game:GetService("Debris"):AddItem(NSound, 10)
  2744. end))
  2745. return NSound
  2746. end
  2747. function CameraEnshaking(Length, Intensity)
  2748. coroutine.resume(coroutine.create(function()
  2749. local intensity = 1 * Intensity
  2750. local rotM = 0.01 * Intensity
  2751. for i = 0, Length, 0.1 do
  2752. swait()
  2753. intensity = intensity - 0.05 * Intensity / Length
  2754. rotM = rotM - 5.0E-4 * Intensity / Length
  2755. hum.CameraOffset = Vector3.new(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)))
  2756. cam.CFrame = cam.CFrame * CF(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity))) * Euler(Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM)
  2757. end
  2758. hum.CameraOffset = Vector3.new(0, 0, 0)
  2759. end))
  2760. end
  2761. function getRegion(point,range,ignore)
  2762. return workspace:FindPartsInRegion3WithIgnoreList(Region3.new(point-Vector3.new(1,1,1)*range/2,point+Vector3.new(1,1,1)*range/2),ignore,100)
  2763. end
  2764.  
  2765. function GetTorso(char)
  2766. return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  2767. end
  2768.  
  2769. 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}
  2770.  
  2771. NewInstance = function(instance,parent,properties)
  2772. local inst = Instance.new(instance)
  2773. inst.Parent = parent
  2774. if(properties)then
  2775. for i,v in next, properties do
  2776. pcall(function() inst[i] = v end)
  2777. end
  2778. end
  2779. return inst;
  2780. end
  2781.  
  2782. function Part(parent,color,material,size,cframe,anchored,cancollide)
  2783. local part = Instance.new("Part")
  2784. part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or Color3.new(0,0,0)
  2785. part.Material = material or Enum.Material.SmoothPlastic
  2786. part.TopSurface,part.BottomSurface=10,10
  2787. part.Size = size or Vector3.new(1,1,1)
  2788. part.CFrame = cframe or CF(0,0,0)
  2789. part.Anchored = anchored or true
  2790. part.CanCollide = cancollide or false
  2791. part.Parent = parent or char
  2792. return part
  2793. end
  2794. -------------------------------------------------------
  2795. --End Important Functions--
  2796. -------------------------------------------------------
  2797.  
  2798.  
  2799. -------------------------------------------------------
  2800. --Start Customization--
  2801. -------------------------------------------------------
  2802. local Player_Size = 1
  2803. if Player_Size ~= 1 then
  2804. root.Size = root.Size * Player_Size
  2805. tors.Size = tors.Size * Player_Size
  2806. hed.Size = hed.Size * Player_Size
  2807. ra.Size = ra.Size * Player_Size
  2808. la.Size = la.Size * Player_Size
  2809. rl.Size = rl.Size * Player_Size
  2810. ll.Size = ll.Size * Player_Size
  2811. ----------------------------------------------------------------------------------
  2812. rootj.Parent = root
  2813. neck.Parent = tors
  2814. RW.Parent = tors
  2815. LW.Parent = tors
  2816. RH.Parent = tors
  2817. LH.Parent = tors
  2818. ----------------------------------------------------------------------------------
  2819. rootj.C0 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
  2820. rootj.C1 = RootCF * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0))
  2821. neck.C0 = necko * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * angles(Rad(0), Rad(0), Rad(0))
  2822. neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * angles(Rad(-90), Rad(0), Rad(180))
  2823. RW.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* RIGHTSHOULDERC0
  2824. LW.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(0), Rad(0)) --* LEFTSHOULDERC0
  2825. ----------------------------------------------------------------------------------
  2826. RH.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  2827. LH.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  2828. RH.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  2829. LH.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * angles(Rad(0), Rad(-90), Rad(0)) * angles(Rad(0), Rad(0), Rad(0))
  2830. --hat.Parent = Character
  2831. end
  2832. ----------------------------------------------------------------------------------
  2833. local SONG = 597442173
  2834. local SONG2 = 0
  2835. local Music = Instance.new("Sound",tors)
  2836. Music.Volume = 2.5
  2837. Music.Looped = true
  2838. Music.Pitch = 1 --Pitcher
  2839. ----------------------------------------------------------------------------------
  2840. local equipped = false
  2841. local idle = 0
  2842. local change = 1
  2843. local val = 0
  2844. local toim = 0
  2845. local idleanim = 0.4
  2846. local sine = 0
  2847. local Sit = 1
  2848. ----------------------------------------------------------------------------------
  2849. hum.WalkSpeed = 16
  2850. hum.JumpPower = 57
  2851. hum.Animator.Parent = nil
  2852. -------------------------------------------------------
  2853. --End Customization--
  2854. -------------------------------------------------------
  2855.  
  2856. -------------------------------------------------------
  2857. --Start Attacks N Stuff--
  2858. -------------------------------------------------------
  2859. function DRAG_THEM_TO_HELL()
  2860. if mouse.Target.Parent ~= char and mouse.Target.Parent.Parent ~= char and mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  2861. local HUM = mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  2862. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  2863. local HEAD = HUM.Parent:FindFirstChild("Head")
  2864. if HEAD and TORSO and HUM.Health > 0 then
  2865. local GYRO = IT("BodyGyro",root)
  2866. GYRO.D = 275
  2867. GYRO.P = 20000
  2868. GYRO.MaxTorque = Vector3.new(0,40000,0)
  2869. attack = true
  2870. hum.WalkSpeed = 0
  2871. local hit,pos,hummie;
  2872. local Hook = Part(EffectModel, Color3.new(),Enum.Material.Neon,Vector3.new(.05,.05,.05),root.CFrame,true,false)
  2873. Hook.Transparency = 1
  2874. local A = NewInstance("Attachment",Hook)
  2875. local B = NewInstance("Attachment",ra,{Position = Vector3.new(0,-ra.Size.Y/2,0)})
  2876. local Chain = NewInstance("Beam",Hook,{Attachment0 = A,Attachment1=B,Color = Color3.fromRGB(138,138,138),FaceCamera=true,LightInfluence=0,Texture="rbxassetid://73042633",TextureLength=5,Transparency=NumberSequence.new(0),TextureSpeed=0,CurveSize0=0,CurveSize1=0,FaceCamera=true,Segments=10,Width0=1,Width1=1})
  2877. local POS = mouse.Hit.p
  2878. local CHAINS = false
  2879. local CHAINLINKS = {}
  2880. local A = IT("Attachment",ra)
  2881. A.Position = Vector3.new(1,-1,0)*Player_Size
  2882. A.Orientation = Vector3.new(-90, -89.982, 0)
  2883. local B = IT("Attachment",ra)
  2884. B.Position = Vector3.new(-1,-1,0)*Player_Size
  2885. B.Orientation = Vector3.new(-90, 89.988, 0)
  2886. local C = IT("Attachment",ra)
  2887. C.Position = Vector3.new(0.5,-1.3,0)*Player_Size
  2888. C.Orientation = Vector3.new(-90, -89.982, 0)
  2889. local D = IT("Attachment",ra)
  2890. D.Position = Vector3.new(-0.5,-1.3,0)*Player_Size
  2891. D.Orientation = Vector3.new(-90, 89.988, 0)
  2892. local LIGHT = IT("Attachment",ra)
  2893. LIGHT.Position = Vector3.new(0,-1,0)*Player_Size
  2894. local LIGHT2 = IT("PointLight",LIGHT)
  2895. LIGHT2.Range = 7
  2896. LIGHT2.Brightness = 5
  2897. LIGHT2.Color = Color3.new(0,0,0)
  2898. for i = 1, 2 do
  2899. local TWIST = -2
  2900. local START = A
  2901. local END = B
  2902. if i == 1 then
  2903. START = B
  2904. END = A
  2905. end
  2906. local ChainLink = IT("Beam",tors)
  2907. ChainLink.Texture = "rbxassetid://73042633"
  2908. ChainLink.Color = ColorSequence.new(Color3.fromRGB(138,138,138))
  2909. ChainLink.TextureSpeed = 1
  2910. ChainLink.Width0 = 1
  2911. ChainLink.Width1 = 1
  2912. ChainLink.TextureLength = 2.5
  2913. ChainLink.Attachment0 = START
  2914. ChainLink.Attachment1 = END
  2915. ChainLink.CurveSize0 = TWIST
  2916. ChainLink.CurveSize1 = TWIST
  2917. --ChainLink.FaceCamera = true
  2918. ChainLink.Segments = 45
  2919. ChainLink.Transparency = NumberSequence.new(0.25)
  2920. table.insert(CHAINLINKS,ChainLink)
  2921. end
  2922. for i = 1, 2 do
  2923. local TWIST = -1
  2924. local START = C
  2925. local END = D
  2926. if i == 1 then
  2927. START = D
  2928. END = C
  2929. end
  2930. local ChainLink = IT("Beam",tors)
  2931. ChainLink.Texture = "rbxassetid://73042633"
  2932. ChainLink.Color = ColorSequence.new(Color3.fromRGB(138,138,138))
  2933. ChainLink.TextureSpeed = 1
  2934. ChainLink.Width0 = 1
  2935. ChainLink.Width1 = 1
  2936. ChainLink.TextureLength = 5
  2937. ChainLink.Attachment0 = START
  2938. ChainLink.Attachment1 = END
  2939. ChainLink.CurveSize0 = TWIST
  2940. ChainLink.CurveSize1 = TWIST
  2941. --ChainLink.FaceCamera = true
  2942. ChainLink.Segments = 25
  2943. ChainLink.LightEmission = 0.5
  2944. ChainLink.Transparency = NumberSequence.new(0.25)
  2945. table.insert(CHAINLINKS,ChainLink)
  2946. end
  2947. for i = 0, 2.3, .1 do
  2948. swait()
  2949. GYRO.cframe = CF(root.Position,TORSO.Position)
  2950. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(15), Rad(0), Rad(-45)), 0.15)
  2951. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(45)), 0.3)
  2952. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  2953. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  2954. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(25)), 0.1)
  2955. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
  2956. end
  2957. Cso("169105657", ra, 7, 1.2)
  2958. for i = 0, 4, .1 do
  2959. if(hit)then break end
  2960. swait()
  2961. GYRO.cframe = CF(root.Position,TORSO.Position)
  2962. Hook.CFrame = HEAD.CFrame
  2963. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(0), Rad(5), Rad(45)), 0.15)
  2964. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-5 - 2.5 * Sin(sine / 30)), Rad(0), Rad(-45)), 0.3)
  2965. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  2966. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  2967. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(45)), 0.1)
  2968. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(-30), Rad(-.6), Rad(-25 - 4.5 * Sin(sine / 20))), 0.1)
  2969. end
  2970. for _,v in next, getRegion(Hook.Position,1,{char}) do
  2971. if(v.Parent and GetTorso(v.Parent) and v.Parent:FindFirstChildOfClass'Humanoid')then
  2972. hit = GetTorso(v.Parent);
  2973. hummie = v.Parent:FindFirstChildOfClass'Humanoid';
  2974. break;
  2975. end
  2976. end
  2977. Cso("169105657", ra, 5, .8)
  2978. Cso("131228548", tors, 2, 1.1)
  2979. GYRO:remove()
  2980. for i = 0, 3, .1 do
  2981. swait()
  2982. HUM.PlatformStand = true
  2983. Hook.CFrame = Hook.CFrame:lerp(ra.CFrame * CF(0, 0, -1), .2)
  2984. if(hit)then hit.CFrame = Hook.CFrame; hit.Velocity = Vector3.new()
  2985. end
  2986. if((Hook.CFrame.p-ra.CFrame.p).magnitude < 2)then
  2987. break
  2988. end
  2989. Chain.TextureLength = 4
  2990. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(0), Rad(-5), Rad(-45)), 0.15)
  2991. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-5 - 2.5 * Sin(sine / 30)), Rad(0), Rad(45)), 0.3)
  2992. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(10)), 0.15)
  2993. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(10)), 0.15)
  2994. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(45)), 0.1)
  2995. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(30), Rad(-.6), Rad(-25)), 0.1)
  2996. end
  2997. hum.WalkSpeed = 16
  2998. attack = false
  2999. Hook:Destroy()
  3000. A:remove()
  3001. B:remove()
  3002. C:remove()
  3003. D:remove()
  3004. end
  3005. end
  3006. end
  3007. --------------------------------------------------------
  3008. --------------------------------------------------------
  3009. --------------------------------------------------------
  3010. --------------------------------------------------------
  3011. --------------------------------------------------------
  3012. --------------------------------------------------------
  3013. --------------------------------------------------------
  3014. function DRAG_YOURSELF_TO_HELL()
  3015. if mouse.Target.Parent ~= char and mouse.Target.Parent.Parent ~= char and mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  3016. local HUM = mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  3017. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  3018. local HEAD = HUM.Parent:FindFirstChild("Head")
  3019. if HEAD and TORSO and HUM.Health > 0 then
  3020. local GYRO = IT("BodyGyro",root)
  3021. GYRO.D = 275
  3022. GYRO.P = 20000
  3023. GYRO.MaxTorque = Vector3.new(0,40000,0)
  3024. attack = true
  3025. hum.WalkSpeed = 0
  3026. local hit,pos,hummie;
  3027. local Hook = Part(EffectModel, Color3.new(),Enum.Material.Neon,Vector3.new(.05,.05,.05),root.CFrame,true,false)
  3028. Hook.Transparency = 1
  3029. local A = NewInstance("Attachment",Hook)
  3030. local B = NewInstance("Attachment",ra,{Position = Vector3.new(0,-ra.Size.Y/2,0)})
  3031. local Chain = NewInstance("Beam",Hook,{Attachment0 = A,Attachment1=B,Color = Color3.fromRGB(138,138,138),FaceCamera=true,LightInfluence=0,Texture="rbxassetid://73042633",TextureLength=5,Transparency=NumberSequence.new(0),TextureSpeed=0,CurveSize0=0,CurveSize1=0,FaceCamera=true,Segments=10,Width0=1,Width1=1})
  3032. local POS = mouse.Hit.p
  3033. local CHAINS = false
  3034. local CHAINLINKS = {}
  3035. local A = IT("Attachment",ra)
  3036. A.Position = Vector3.new(1,-1,0)*Player_Size
  3037. A.Orientation = Vector3.new(-90, -89.982, 0)
  3038. local B = IT("Attachment",ra)
  3039. B.Position = Vector3.new(-1,-1,0)*Player_Size
  3040. B.Orientation = Vector3.new(-90, 89.988, 0)
  3041. local C = IT("Attachment",ra)
  3042. C.Position = Vector3.new(0.5,-1.3,0)*Player_Size
  3043. C.Orientation = Vector3.new(-90, -89.982, 0)
  3044. local D = IT("Attachment",ra)
  3045. D.Position = Vector3.new(-0.5,-1.3,0)*Player_Size
  3046. D.Orientation = Vector3.new(-90, 89.988, 0)
  3047. local LIGHT = IT("Attachment",ra)
  3048. LIGHT.Position = Vector3.new(0,-1,0)*Player_Size
  3049. local LIGHT2 = IT("PointLight",LIGHT)
  3050. LIGHT2.Range = 7
  3051. LIGHT2.Brightness = 5
  3052. LIGHT2.Color = Color3.new(0,0,0)
  3053. for i = 1, 2 do
  3054. local TWIST = -2
  3055. local START = A
  3056. local END = B
  3057. if i == 1 then
  3058. START = B
  3059. END = A
  3060. end
  3061. local ChainLink = IT("Beam",tors)
  3062. ChainLink.Texture = "rbxassetid://73042633"
  3063. ChainLink.Color = ColorSequence.new(Color3.fromRGB(138,138,138))
  3064. ChainLink.TextureSpeed = 1
  3065. ChainLink.Width0 = 1
  3066. ChainLink.Width1 = 1
  3067. ChainLink.TextureLength = 2.5
  3068. ChainLink.Attachment0 = START
  3069. ChainLink.Attachment1 = END
  3070. ChainLink.CurveSize0 = TWIST
  3071. ChainLink.CurveSize1 = TWIST
  3072. --ChainLink.FaceCamera = true
  3073. ChainLink.Segments = 45
  3074. ChainLink.Transparency = NumberSequence.new(0.25)
  3075. table.insert(CHAINLINKS,ChainLink)
  3076. end
  3077. for i = 1, 2 do
  3078. local TWIST = -1
  3079. local START = C
  3080. local END = D
  3081. if i == 1 then
  3082. START = D
  3083. END = C
  3084. end
  3085. local ChainLink = IT("Beam",tors)
  3086. ChainLink.Texture = "rbxassetid://73042633"
  3087. ChainLink.Color = ColorSequence.new(Color3.fromRGB(138,138,138))
  3088. ChainLink.TextureSpeed = 1
  3089. ChainLink.Width0 = 1
  3090. ChainLink.Width1 = 1
  3091. ChainLink.TextureLength = 5
  3092. ChainLink.Attachment0 = START
  3093. ChainLink.Attachment1 = END
  3094. ChainLink.CurveSize0 = TWIST
  3095. ChainLink.CurveSize1 = TWIST
  3096. --ChainLink.FaceCamera = true
  3097. ChainLink.Segments = 25
  3098. ChainLink.LightEmission = 0.5
  3099. ChainLink.Transparency = NumberSequence.new(0.25)
  3100. table.insert(CHAINLINKS,ChainLink)
  3101. end
  3102. for i = 0, 2.3, .1 do
  3103. swait()
  3104. GYRO.cframe = CF(root.Position,TORSO.Position)
  3105. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(15), Rad(0), Rad(-45)), 0.15)
  3106. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(45)), 0.3)
  3107. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  3108. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  3109. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(25)), 0.1)
  3110. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
  3111. end
  3112. Cso("169105657", ra, 7, 1.2)
  3113. for i = 0, 4, .1 do
  3114. if(hit)then break end
  3115. swait()
  3116. GYRO.cframe = CF(root.Position,TORSO.Position)
  3117. Hook.CFrame = HEAD.CFrame
  3118. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(0), Rad(5), Rad(45)), 0.15)
  3119. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-5 - 2.5 * Sin(sine / 30)), Rad(0), Rad(-45)), 0.3)
  3120. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  3121. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-10)), 0.15)
  3122. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(45)), 0.1)
  3123. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(-30), Rad(-.6), Rad(-25 - 4.5 * Sin(sine / 20))), 0.1)
  3124. end
  3125. for _,v in next, getRegion(Hook.Position,1,{char}) do
  3126. if(v.Parent and GetTorso(v.Parent) and v.Parent:FindFirstChildOfClass'Humanoid')then
  3127. hit = GetTorso(v.Parent);
  3128. hummie = v.Parent:FindFirstChildOfClass'Humanoid';
  3129. break;
  3130. end
  3131. end
  3132. Cso("169105657", ra, 5, .8)
  3133. Cso("271693128", tors, 2, 1)
  3134. GYRO:remove()
  3135. for i = 0, 3, .1 do
  3136. swait()
  3137. root.CFrame = Hook.CFrame:lerp(ra.CFrame * CF(0, 0, -1), .2)
  3138. if(hit)then hit.CFrame = Hook.CFrame; hit.Velocity = Vector3.new()
  3139. end
  3140. if((Hook.CFrame.p-ra.CFrame.p).magnitude < 2)then
  3141. break
  3142. end
  3143. Chain.TextureLength = 4
  3144. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(90), Rad(-5), Rad(0)), 0.15)
  3145. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-45 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3146. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
  3147. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
  3148. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(0), Rad(-.6), Rad(25)), 0.1)
  3149. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-.6), Rad(-25)), 0.1)
  3150. end
  3151. hum.WalkSpeed = 16
  3152. attack = false
  3153. Hook:Destroy()
  3154. A:remove()
  3155. B:remove()
  3156. C:remove()
  3157. D:remove()
  3158. end
  3159. end
  3160. end
  3161. --------------------------------------------------------
  3162. --------------------------------------------------------
  3163. --------------------------------------------------------
  3164. --------------------------------------------------------
  3165. --------------------------------------------------------
  3166. --------------------------------------------------------
  3167. --------------------------------------------------------
  3168. function GIMME_THOSE()
  3169. if mouse.Target.Parent ~= char and mouse.Target.Parent.Parent ~= char and mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  3170. local HUM = mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  3171. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  3172. local HEAD = HUM.Parent:FindFirstChild("Head")
  3173. local RIGHTARM = HUM.Parent:FindFirstChild("Right Arm") or HUM.Parent:FindFirstChild("RightLowerArm")
  3174. local LEFTARM = HUM.Parent:FindFirstChild("Left Arm") or HUM.Parent:FindFirstChild("LeftLowerArm")
  3175. if HEAD and TORSO and HUM.Health > 0 then
  3176. local GYRO = IT("BodyGyro",root)
  3177. GYRO.D = 275
  3178. GYRO.P = 20000
  3179. GYRO.MaxTorque = Vector3.new(0,40000,0)
  3180. attack = true
  3181. hum.WalkSpeed = 0
  3182. local hit,pos,hummie;
  3183. local Hook = Part(EffectModel, Color3.new(),Enum.Material.Neon,Vector3.new(.05,.05,.05),root.CFrame,true,false)
  3184. local Hook2 = Part(EffectModel, Color3.new(),Enum.Material.Neon,Vector3.new(.05,.05,.05),root.CFrame,true,false)
  3185. Hook.Transparency = 1
  3186. Hook2.Transparency = 1
  3187. local A = NewInstance("Attachment",Hook)
  3188. local B = NewInstance("Attachment",ra,{Position = Vector3.new(0,-ra.Size.Y/2,0)})
  3189. local A2 = NewInstance("Attachment",Hook2)
  3190. local B2 = NewInstance("Attachment",la,{Position = Vector3.new(0,-ra.Size.Y/2,0)})
  3191. local Chain = NewInstance("Beam",Hook,{Attachment0 = A,Attachment1=B,Color = Color3.fromRGB(138,138,138),FaceCamera=true,LightInfluence=0,Texture="rbxassetid://73042633",TextureLength=5,Transparency=NumberSequence.new(0),TextureSpeed=0,CurveSize0=0,CurveSize1=0,FaceCamera=true,Segments=10,Width0=1,Width1=1})
  3192. local Chain2 = NewInstance("Beam",Hook2,{Attachment0 = A2,Attachment1=B2,Color = Color3.fromRGB(138,138,138),FaceCamera=true,LightInfluence=0,Texture="rbxassetid://73042633",TextureLength=5,Transparency=NumberSequence.new(0),TextureSpeed=0,CurveSize0=0,CurveSize1=0,FaceCamera=true,Segments=10,Width0=1,Width1=1})
  3193. for i = 0, 2.3, .1 do
  3194. swait()
  3195. GYRO.cframe = CF(root.Position,TORSO.Position)
  3196. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(-7), Rad(0), Rad(0)), 0.15)
  3197. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3198. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-7)), 0.15)
  3199. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(7)), 0.15)
  3200. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(25)), 0.1)
  3201. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(-25)), 0.1)
  3202. end
  3203. Cso("169105657", ra, 7, 1.2)
  3204. for i = 0, 5, .1 do
  3205. if(hit)then break end
  3206. swait()
  3207. GYRO.cframe = CF(root.Position,TORSO.Position)
  3208. Hook.CFrame = TORSO.CFrame
  3209. Hook2.CFrame = TORSO.CFrame
  3210. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(7), Rad(0), Rad(0)), 0.15)
  3211. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3212. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(7)), 0.15)
  3213. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(-7)), 0.15)
  3214. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(25)), 0.1)
  3215. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(-25)), 0.1)
  3216. end
  3217. for _,v in next, getRegion(Hook.Position,1,{char}) do
  3218. if(v.Parent and GetTorso(v.Parent) and v.Parent:FindFirstChildOfClass'Humanoid')then
  3219. hit = GetTorso(v.Parent);
  3220. hummie = v.Parent:FindFirstChildOfClass'Humanoid';
  3221. break;
  3222. end
  3223. end
  3224. Cso("169105657", ra, 5, .8)
  3225. Cso("1474367957", TORSO, 2, 1)
  3226. GYRO:remove()
  3227. TORSO:BreakJoints()
  3228. for i = 0, 6, .1 do
  3229. swait()
  3230. Hook.CFrame = Hook.CFrame:lerp(tors.CFrame * CF(0, 0, -1), .2)
  3231. if(hit)then hit.CFrame = Hook.CFrame; hit.Velocity = Vector3.new()
  3232. end
  3233. if((Hook.CFrame.p-tors.CFrame.p).magnitude < 2)then
  3234. break
  3235. end
  3236. Hook2.CFrame = Hook2.CFrame:lerp(tors.CFrame * CF(0, 0, -1), .2)
  3237. if(hit)then hit.CFrame = Hook2.CFrame; hit.Velocity = Vector3.new()
  3238. end
  3239. if((Hook2.CFrame.p-tors.CFrame.p).magnitude < 2)then
  3240. break
  3241. end
  3242. Chain.TextureLength = 4
  3243. Chain2.TextureLength = 4
  3244. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 20)) * angles(Rad(-7), Rad(0), Rad(0)), 0.15)
  3245. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3246. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(90)), 0.15)
  3247. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(7)), 0.15)
  3248. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(25)), 0.1)
  3249. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(-25)), 0.1)
  3250. end
  3251. hum.WalkSpeed = 16
  3252. attack = false
  3253. Hook2:Destroy()
  3254. Hook:Destroy()
  3255. end
  3256. end
  3257. end
  3258. -------------------------------------------------------
  3259. --End Attacks N Stuff--
  3260. -------------------------------------------------------
  3261. mouse.KeyDown:connect(function(key)
  3262. if attack == false then
  3263. if key == 'b' then
  3264. DRAG_THEM_TO_HELL()
  3265. elseif key == 'v' then
  3266. DRAG_YOURSELF_TO_HELL()
  3267. elseif key == 'c' then
  3268. GIMME_THOSE()
  3269. end
  3270. end
  3271. end)
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279. -------------------------------------------------------
  3280. --Start Animations--
  3281. -------------------------------------------------------
  3282. print("By Makhail07")
  3283. while true do
  3284. swait()
  3285. sine = sine + change
  3286. local torvel = (root.Velocity * Vector3.new(1, 0, 1)).magnitude
  3287. local velderp = root.Velocity.y
  3288. hitfloor, posfloor = rayCast(root.Position, CFrame.new(root.Position, root.Position - Vector3.new(0, 1, 0)).lookVector, 4* Player_Size, char)
  3289. if equipped == true or equipped == false then
  3290. if attack == false then
  3291. idle = idle + 1
  3292. else
  3293. idle = 0
  3294. end
  3295. if 1 < root.Velocity.y and hitfloor == nil then
  3296. Anim = "Jump"
  3297. if attack == false then
  3298. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(-16), Rad(0), Rad(0)), 0.15)
  3299. neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3300. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -.2 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
  3301. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.9 - 0.1 * Cos(sine / 20), -.5* Player_Size) * LHCF * angles(Rad(-2.5), Rad(0), Rad(0)), 0.15)
  3302. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(13 + 4.5 * Sin(sine / 20))), 0.1)
  3303. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(25), Rad(-.6), Rad(-13 - 4.5 * Sin(sine / 20))), 0.1)
  3304. end
  3305. elseif -1 > root.Velocity.y and hitfloor == nil then
  3306. Anim = "Fall"
  3307. if attack == false then
  3308. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1 * Cos(sine / 20)* Player_Size) * angles(Rad(24), Rad(0), Rad(0)), 0.15)
  3309. neck.C0 = clerp(neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(10 - 2.5 * Sin(sine / 30)), Rad(0), Rad(0)), 0.3)
  3310. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -1 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * RHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
  3311. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -.8 - 0.1 * Cos(sine / 20)* Player_Size, -.3* Player_Size) * LHCF * angles(Rad(-3.5), Rad(0), Rad(0)), 0.15)
  3312. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(65), Rad(-.6), Rad(45 + 4.5 * Sin(sine / 20))), 0.1)
  3313. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.02 * Sin(sine / 20)* Player_Size, 0* Player_Size) * angles(Rad(55), Rad(-.6), Rad(-45 - 4.5 * Sin(sine / 20))), 0.1)
  3314. end
  3315. elseif torvel < 1 and hitfloor ~= nil then
  3316. Anim = "Idle"
  3317. change = 1
  3318. if attack == false then
  3319. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.1 + 0.1* Player_Size * Cos(sine / 12)) * angles(Rad(0), Rad(0), Rad(20)), 0.15)
  3320. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 30)), Rad(0), Rad(-20)), 0.3)
  3321. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
  3322. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.9 - 0.1 * Cos(sine / 12)* Player_Size, 0* Player_Size) * angles(Rad(0), Rad(-84), Rad(0)) * angles(Rad(-6.5), Rad(0), Rad(0)), 0.15)
  3323. RW.C0 = clerp(RW.C0, CF(1* Player_Size, 0.5 + 0.05 * Cos(sine / 12)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(-76)), 0.1)
  3324. LW.C0 = clerp(LW.C0, CF(-1* Player_Size, 0.5 + 0.05 * Cos(sine / 12)* Player_Size, -0.4* Player_Size) * angles(Rad(90), Rad(-.6), Rad(56)), 0.1)
  3325. end
  3326. elseif torvel > 2 and torvel < 25 and hitfloor ~= nil then
  3327. Anim = "Walk"
  3328. change = 1.1
  3329. if attack == false then
  3330. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(3 - 2.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(8 * Cos(sine / 7))), 0.15)
  3331. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(6 - 2.5 * Sin(sine / 7)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
  3332. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.8 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-10 - 25 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3333. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.8 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.6 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-10 + 25 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 10 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 2 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3334. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(37) * Cos(sine / 7) , Rad(8 * Cos(sine / 7)), Rad(6) - ra.RotVelocity.Y / 75), 0.1)
  3335. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 7)* Player_Size, 0* Player_Size) * angles(Rad(-37) * Cos(sine / 7) , Rad(8 * Cos(sine / 7)) , Rad(-6) + la.RotVelocity.Y / 75), 0.1)
  3336. end
  3337. elseif torvel >= 25 and hitfloor ~= nil then
  3338. Anim = "Sprint"
  3339. change = 1.35
  3340. if attack == false then
  3341. rootj.C0 = clerp(rootj.C0, RootCF * CF(0* Player_Size, 0* Player_Size, -0.175 + 0.025 * Cos(sine / 3.5) + -Sin(sine / 3.5) / 7* Player_Size) * angles(Rad(26 - 4.5 * Cos(sine / 3.5)), Rad(0) - root.RotVelocity.Y / 75, Rad(15 * Cos(sine / 7))), 0.15)
  3342. tors.Neck.C0 = clerp(tors.Neck.C0, necko* CF(0, 0, 0 + ((1* Player_Size) - 1)) * angles(Rad(-2.5 * Sin(sine / 20)), Rad(0), Rad(0) - hed.RotVelocity.Y / 15), 0.3)
  3343. RH.C0 = clerp(RH.C0, CF(1* Player_Size, -0.925 - 0.5 * Cos(sine / 7) / 2* Player_Size, 0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 - 55 * Cos(sine / 7)) - rl.RotVelocity.Y / 75 + -Sin(sine / 7) / 2.5, Rad(90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 + 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3344. LH.C0 = clerp(LH.C0, CF(-1* Player_Size, -0.925 + 0.5 * Cos(sine / 7) / 2* Player_Size, -0.7 * Cos(sine / 7) / 2* Player_Size) * angles(Rad(-15 + 55 * Cos(sine / 7)) + ll.RotVelocity.Y / 75 + Sin(sine / 7) / 2.5, Rad(-90 - 0.1 * Cos(sine / 7)), Rad(0)) * angles(Rad(0 - 0.1 * Cos(sine / 7)), Rad(0), Rad(0)), 0.3)
  3345. RW.C0 = clerp(RW.C0, CF(1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, 0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(110) * Cos(sine / 7) , Rad(0), Rad(13) - ra.RotVelocity.Y / 75), 0.15)
  3346. LW.C0 = clerp(LW.C0, CF(-1.5* Player_Size, 0.5 + 0.05 * Sin(sine / 30)* Player_Size, -0.34 * Cos(sine / 7* Player_Size)) * angles(Rad(-110) * Cos(sine / 7) , Rad(0) , Rad(-13) + la.RotVelocity.Y / 75), 0.15)
  3347. end
  3348. end
  3349. end
  3350. Music.SoundId = "rbxassetid://"..SONG
  3351. Music.Looped = true
  3352. Music.Pitch = 1
  3353. Music.Volume = 1.5
  3354. Music.Parent = tors
  3355. Music:Resume()
  3356. if 0 < #Effects then
  3357. for e = 1, #Effects do
  3358. if Effects[e] ~= nil then
  3359. local Thing = Effects[e]
  3360. if Thing ~= nil then
  3361. local Part = Thing[1]
  3362. local Mode = Thing[2]
  3363. local Delay = Thing[3]
  3364. local IncX = Thing[4]
  3365. local IncY = Thing[5]
  3366. local IncZ = Thing[6]
  3367. if 1 >= Thing[1].Transparency then
  3368. if Thing[2] == "Block1" then
  3369. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3370. local Mesh = Thing[1].Mesh
  3371. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  3372. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3373. elseif Thing[2] == "Block2" then
  3374. Thing[1].CFrame = Thing[1].CFrame + Vector3.new(0, 0, 0)
  3375. local Mesh = Thing[7]
  3376. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  3377. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3378. elseif Thing[2] == "Block3" then
  3379. Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) + Vector3.new(0, 0.15, 0)
  3380. local Mesh = Thing[7]
  3381. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  3382. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3383. elseif Thing[2] == "Cylinder" then
  3384. local Mesh = Thing[1].Mesh
  3385. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  3386. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3387. elseif Thing[2] == "Blood" then
  3388. local Mesh = Thing[7]
  3389. Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0)
  3390. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
  3391. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3392. elseif Thing[2] == "Elec" then
  3393. local Mesh = Thing[1].Mesh
  3394. Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9])
  3395. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3396. elseif Thing[2] == "Disappear" then
  3397. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3398. elseif Thing[2] == "Shatter" then
  3399. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3400. Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
  3401. Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
  3402. Thing[6] = Thing[6] + Thing[5]
  3403. end
  3404. else
  3405. Part.Parent = nil
  3406. table.remove(Effects, e)
  3407. end
  3408. end
  3409. end
  3410. end
  3411. end
  3412. end
  3413. -------------------------------------------------------
  3414. --End Animations And Script--
  3415. -------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement