Advertisement
sneakydodge123

ooof

Aug 5th, 2018
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 120.16 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,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local Mouse = Player:GetMouse()
  66. local UIS = game:GetService("UserInputService")
  67. local input = function(io,a)
  68. if a then return end
  69. --Since InputObject is a client-side instance, we create and pass table instead
  70. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71. end
  72. UIS.InputBegan:Connect(input)
  73. UIS.InputEnded:Connect(input)
  74.  
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84.  
  85. ----Sandboxed game object that allows the usage of client-side methods and services
  86. --Real game object
  87. local _rg = game
  88.  
  89. --Metatable for fake service
  90. local fsmt = {
  91. __index = function(self,k)
  92. local s = rawget(self,"_RealService")
  93. if s then return s[k] end
  94. end,
  95. __newindex = function(self,k,v)
  96. local s = rawget(self,"_RealService")
  97. if s then s[k]=v end
  98. end,
  99. __call = function(self,...)
  100. local s = rawget(self,"_RealService")
  101. if s then return s(...) end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return self[s]
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. }
  120. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121. g.service = g.GetService
  122.  
  123. g.RunService = FakeService({
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126. self._btrs[name] = self.Heartbeat:Connect(fun)
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132.  
  133. setmetatable(g,{
  134. __index=function(self,s)
  135. return _rg:GetService(s) or typeof(_rg[s])=="function"
  136. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137. end,
  138. __newindex = fsmt.__newindex,
  139. __call = fsmt.__call
  140. })
  141. --Changing owner to fake player object to support owner:GetMouse()
  142. game,owner = g,g.Players.LocalPlayer
  143. end
  144.  
  145.  
  146. Player = game.Players.LocalPlayer
  147. Character = Player.Character
  148. local txt = Instance.new("BillboardGui", Character)
  149. txt.Adornee = Character.Head
  150. txt.Name = "_status"
  151. txt.Size = UDim2.new(2, 0, 1.2, 0)
  152. txt.StudsOffset = Vector3.new(-9, 8, 0)
  153. local text = Instance.new("TextLabel", txt)
  154. text.Size = UDim2.new(10, 0, 7, 0)
  155. text.FontSize = "Size24"
  156. text.TextScaled = true
  157. text.TextTransparency = 0
  158. text.BackgroundTransparency = 1
  159. text.TextTransparency = 0
  160. text.TextStrokeTransparency = 0
  161. text.Font = "Antique"
  162. text.TextStrokeColor3 = Color3.new(196, 40, 28)
  163. text.Text = "NeverMore"
  164. script.Name = "NeverMore"
  165. --//====================================================\\--
  166. --|| CREATED BY SHACKLUSTER-EDITED BY PROMLG112
  167. --\\====================================================//--
  168. local chara = Character
  169.  
  170. function chat(...)
  171. local txxt = {...}
  172. local ch = coroutine.wrap(function()
  173. if chara:FindFirstChild("Chatt")~= nil then
  174. Character:FindFirstChild("Chatt"):destroy()
  175. end
  176. local txt = Instance.new("BillboardGui", chara)
  177. txt.Adornee = chara.Head
  178. txt.Name = "Chatt"
  179. txt.Size = UDim2.new(2, 0, 1.2, 0)
  180. txt.StudsOffset = Vector3.new(-9, 7, 0)
  181. local text = Instance.new("TextLabel", txt)
  182. text.Size = UDim2.new(10, 0, 7, 0)
  183. text.TextSize = 32
  184. text.Font = Enum.Font.Antique
  185. text.TextScaled = false
  186. text.BackgroundTransparency = 1
  187. text.TextColor3 = Color3.new(0,0,0)
  188. text.TextStrokeTransparency = 0
  189. text.TextStrokeColor3 = Color3.new(0/0, 0/0, 0/0)
  190. text.Text = ""
  191. txxt = table.concat(txxt,"\t")
  192. for i = 1, #txxt do
  193. text.Text = txxt:sub(1,i)
  194.  
  195. end
  196. wait(2)
  197. for trans = 0,1,00.1 do
  198. text.TextTransparency = trans
  199. text.TextStrokeTransparency = trans
  200. wait()
  201. end
  202. wait()
  203. txt:destroy()
  204. end)
  205.  
  206.  
  207. ch(...)
  208. end
  209. Player.Chatted:connect(chat)
  210.  
  211. wait(0.2)
  212.  
  213. Player = game:GetService("Players").LocalPlayer
  214. PlayerGui = Player.PlayerGui
  215. Cam = workspace.CurrentCamera
  216. Backpack = Player.Backpack
  217. Character = Player.Character
  218. Humanoid = Character.Humanoid
  219. Mouse = Player:GetMouse()
  220. RootPart = Character["HumanoidRootPart"]
  221. Torso = Character["Torso"]
  222. Head = Character["Head"]
  223. RightArm = Character["Right Arm"]
  224. LeftArm = Character["Left Arm"]
  225. RightLeg = Character["Right Leg"]
  226. LeftLeg = Character["Left Leg"]
  227. RootJoint = RootPart["RootJoint"]
  228. Neck = Torso["Neck"]
  229. RightShoulder = Torso["Right Shoulder"]
  230. LeftShoulder = Torso["Left Shoulder"]
  231. RightHip = Torso["Right Hip"]
  232. LeftHip = Torso["Left Hip"]
  233.  
  234. for i,v in pairs(Character:GetChildren()) do
  235. if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "CharacterMesh" then
  236. v:Destroy()
  237. end
  238. end
  239.  
  240. Glow1 = Color3.new(5,0,5)
  241. Glow2 = Color3.new(5,0,5)
  242.  
  243. GlowParticle = Instance.new("ParticleEmitter",Character.Torso)
  244. GlowParticle.LightEmission = 1
  245. GlowParticle.Color = ColorSequence.new(Glow1,Glow2)
  246. GlowParticle.Size = NumberSequence.new(5,10)
  247. GlowParticle.Texture = "http://www.roblox.com/asset/?id=243660373"
  248. GlowParticle.Transparency = NumberSequence.new(.3,.8)
  249. GlowParticle.LockedToPart = true
  250. GlowParticle.Lifetime = NumberRange.new(2)
  251. GlowParticle.Rate= 10
  252. GlowParticle.Speed =NumberRange.new(0)
  253.  
  254. for i,v in pairs(Character:GetChildren()) do
  255. if v.ClassName == "Accessory" or v.ClassName == "Hat" then
  256. v:Destroy()
  257. end
  258. end
  259.  
  260. local Shirt = Instance.new("Shirt",Character)
  261. local Pants = Instance.new("Pants",Character)
  262. Shirt.ShirtTemplate = "rbxassetid://648758131"
  263. Pants.PantsTemplate = "rbxassetid://472675863"
  264.  
  265. local sick = Instance.new("Sound",Character)
  266. sick.SoundId = "rbxassetid://843143560"
  267. sick.Looped = true
  268. sick.Pitch = 1
  269. sick.Volume = 1.3
  270. sick:Play()
  271.  
  272. IT = Instance.new
  273. CF = CFrame.new
  274. VT = Vector3.new
  275. RAD = math.rad
  276. C3 = Color3.new
  277. UD2 = UDim2.new
  278. BRICKC = BrickColor.new
  279. ANGLES = CFrame.Angles
  280. EULER = CFrame.fromEulerAnglesXYZ
  281. COS = math.cos
  282. ACOS = math.acos
  283. SIN = math.sin
  284. ASIN = math.asin
  285. ABS = math.abs
  286. MRANDOM = math.random
  287. FLOOR = math.floor
  288. local CLOAKED = false
  289. local KILLINSTINCT = 0
  290. --//=================================\\
  291. --|| SOME OTHER STUFF
  292. --\\=================================//
  293. ff = Instance.new("ForceField", game.Players.LocalPlayer.Character)
  294. ff.Visible = false
  295. Humanoid.Name = "God Mode"
  296.  
  297. --//=================================\\
  298. --|| CUSTOMIZATION
  299. --\\=================================//
  300.  
  301. Player_Size = 1 --Size of the player.
  302. Animation_Speed = 3
  303. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  304.  
  305. local Speed = 16
  306. local Effects2 = {}
  307.  
  308. --//=================================\\
  309. --|| END OF CUSTOMIZATION
  310. --\\=================================//
  311.  
  312. local function weldBetween(a, b)
  313. local weldd = Instance.new("ManualWeld")
  314. weldd.Part0 = a
  315. weldd.Part1 = b
  316. weldd.C0 = CFrame.new()
  317. weldd.C1 = b.CFrame:inverse() * a.CFrame
  318. weldd.Parent = a
  319. return weldd
  320. end
  321. --//=================================\\
  322. --|| USEFUL VALUES
  323. --\\=================================//
  324.  
  325. Animation_Speed = 3
  326. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  327. local Speed = 16
  328. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  329. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  330. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  331. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  332. local DAMAGEMULTIPLIER = 1
  333. local ANIM = "Idle"
  334. local ATTACK = false
  335. local EQUIPPED = false
  336. local HOLD = false
  337. local CLOCKTARGET = nil
  338. local CLOCKSPEED = 2.5
  339. local CLOCKLOOP = 0
  340. local COMBO = 1
  341. local Rooted = false
  342. local SINE = 0
  343. local KEYHOLD = false
  344. local CHANGE = 2 / Animation_Speed
  345. local WALKINGANIM = false
  346. local VALUE1 = false
  347. local VALUE2 = false
  348. local ROBLOXIDLEANIMATION = IT("Animation")
  349. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  350. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  351. --ROBLOXIDLEANIMATION.Parent = Humanoid
  352. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  353. WEAPONGUI.Name = "Weapon GUI"
  354. local Weapon = IT("Model")
  355. Weapon.Name = "Adds"
  356. local Effects = IT("Folder", Weapon)
  357. Effects.Name = "Effects"
  358. local ANIMATOR = Humanoid.Animator
  359. local ANIMATE = Character.Animate
  360. local UNANCHOR = true
  361. local ENERGYSOUND = 1417051162
  362. local BEAMSOUND = 1417056781
  363. local EXPLOSIONSOUND = 1417056081
  364.  
  365. --//=================================\\
  366. --\\=================================//
  367.  
  368. local asd = Instance.new("ParticleEmitter")
  369. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  370. asd.LightEmission = .1
  371. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  372. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  373. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  374. asd.Transparency = bbb
  375. asd.Size = aaa
  376. asd.ZOffset = .9
  377. asd.Acceleration = Vector3.new(0, -15, 0)
  378. asd.LockedToPart = false
  379. asd.EmissionDirection = "Back"
  380. asd.Lifetime = NumberRange.new(1, 2)
  381. asd.Rotation = NumberRange.new(-100, 100)
  382. asd.RotSpeed = NumberRange.new(-100, 100)
  383. asd.Speed = NumberRange.new(10)
  384. asd.Enabled = false
  385. asd.VelocitySpread = 999
  386.  
  387. function getbloody(victim,amount)
  388. local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  389. PART.CFrame = victim.CFrame
  390. local HITPLAYERSOUNDS = {"356551938","264486467"}
  391. Debris:AddItem(PART,5)
  392. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  393. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  394. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  395. local prtcl = asd:Clone()
  396. prtcl.Parent = PART
  397. prtcl:Emit(amount*10)
  398. end
  399.  
  400. --//=================================\\
  401. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  402. --\\=================================//
  403.  
  404. ArtificialHB = Instance.new("BindableEvent", script)
  405. ArtificialHB.Name = "ArtificialHB"
  406.  
  407. script:WaitForChild("ArtificialHB")
  408.  
  409. frame = Frame_Speed
  410. tf = 0
  411. allowframeloss = false
  412. tossremainder = false
  413. lastframe = tick()
  414. script.ArtificialHB:Fire()
  415.  
  416. game:GetService("RunService").Heartbeat:connect(function(s, p)
  417. tf = tf + s
  418. if tf >= frame then
  419. if allowframeloss then
  420. script.ArtificialHB:Fire()
  421. lastframe = tick()
  422. else
  423. for i = 1, math.floor(tf / frame) do
  424. script.ArtificialHB:Fire()
  425. end
  426. lastframe = tick()
  427. end
  428. if tossremainder then
  429. tf = 0
  430. else
  431. tf = tf - frame * math.floor(tf / frame)
  432. end
  433. end
  434. end)
  435.  
  436. --//=================================\\
  437. --\\=================================//
  438. ff = Instance.new("ForceField", game.Players.LocalPlayer.Character)
  439. ff.Visible = false
  440. Humanoid.Name = "God Mode"
  441.  
  442. local l = game.Lighting
  443. local sky = Instance.new("Sky",l)
  444. l.TimeOfDay = "00:00:00"
  445. l.Brightness = 1
  446. l.Ambient = Color3.new(0.25, 0.5, 0.75)
  447. ---
  448.  
  449.  
  450.  
  451. --//=================================\\
  452. --|| SOME FUNCTIONS
  453. --\\=================================//
  454. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  455. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  456. end
  457.  
  458. function PositiveAngle(NUMBER)
  459. if NUMBER >= 0 then
  460. NUMBER = 0
  461. end
  462. return NUMBER
  463. end
  464.  
  465. function NegativeAngle(NUMBER)
  466. if NUMBER <= 0 then
  467. NUMBER = 0
  468. end
  469. return NUMBER
  470. end
  471.  
  472. function Swait(NUMBER)
  473. if NUMBER == 0 or NUMBER == nil then
  474. ArtificialHB.Event:wait()
  475. else
  476. for i = 1, NUMBER do
  477. ArtificialHB.Event:wait()
  478. end
  479. end
  480. end
  481.  
  482. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  483. local NEWMESH = IT(MESH)
  484. if MESH == "SpecialMesh" then
  485. NEWMESH.MeshType = MESHTYPE
  486. if MESHID ~= "nil" and MESHID ~= "" then
  487. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  488. end
  489. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  490. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  491. end
  492. end
  493. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  494. NEWMESH.Scale = SCALE
  495. NEWMESH.Parent = PARENT
  496. return NEWMESH
  497. end
  498.  
  499. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  500. local NEWPART = IT("Part")
  501. NEWPART.formFactor = FORMFACTOR
  502. NEWPART.Reflectance = REFLECTANCE
  503. NEWPART.Transparency = TRANSPARENCY
  504. NEWPART.CanCollide = false
  505. NEWPART.Locked = true
  506. NEWPART.Anchored = true
  507. if ANCHOR == false then
  508. NEWPART.Anchored = false
  509. end
  510. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  511. NEWPART.Name = NAME
  512. NEWPART.Size = SIZE
  513. NEWPART.Position = Torso.Position
  514. NEWPART.Material = MATERIAL
  515. NEWPART:BreakJoints()
  516. NEWPART.Parent = PARENT
  517. return NEWPART
  518. end
  519.  
  520. local function weldBetween(a, b)
  521. local weldd = Instance.new("ManualWeld")
  522. weldd.Part0 = a
  523. weldd.Part1 = b
  524. weldd.C0 = CFrame.new()
  525. weldd.C1 = b.CFrame:inverse() * a.CFrame
  526. weldd.Parent = a
  527. return weldd
  528. end
  529.  
  530.  
  531. function QuaternionFromCFrame(cf)
  532. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  533. local trace = m00 + m11 + m22
  534. if trace > 0 then
  535. local s = math.sqrt(1 + trace)
  536. local recip = 0.5 / s
  537. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  538. else
  539. local i = 0
  540. if m11 > m00 then
  541. i = 1
  542. end
  543. if m22 > (i == 0 and m00 or m11) then
  544. i = 2
  545. end
  546. if i == 0 then
  547. local s = math.sqrt(m00 - m11 - m22 + 1)
  548. local recip = 0.5 / s
  549. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  550. elseif i == 1 then
  551. local s = math.sqrt(m11 - m22 - m00 + 1)
  552. local recip = 0.5 / s
  553. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  554. elseif i == 2 then
  555. local s = math.sqrt(m22 - m00 - m11 + 1)
  556. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  557. end
  558. end
  559. end
  560.  
  561. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  562. local xs, ys, zs = x + x, y + y, z + z
  563. local wx, wy, wz = w * xs, w * ys, w * zs
  564. local xx = x * xs
  565. local xy = x * ys
  566. local xz = x * zs
  567. local yy = y * ys
  568. local yz = y * zs
  569. local zz = z * zs
  570. 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))
  571. end
  572.  
  573. function QuaternionSlerp(a, b, t)
  574. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  575. local startInterp, finishInterp;
  576. if cosTheta >= 0.0001 then
  577. if (1 - cosTheta) > 0.0001 then
  578. local theta = ACOS(cosTheta)
  579. local invSinTheta = 1 / SIN(theta)
  580. startInterp = SIN((1 - t) * theta) * invSinTheta
  581. finishInterp = SIN(t * theta) * invSinTheta
  582. else
  583. startInterp = 1 - t
  584. finishInterp = t
  585. end
  586. else
  587. if (1 + cosTheta) > 0.0001 then
  588. local theta = ACOS(-cosTheta)
  589. local invSinTheta = 1 / SIN(theta)
  590. startInterp = SIN((t - 1) * theta) * invSinTheta
  591. finishInterp = SIN(t * theta) * invSinTheta
  592. else
  593. startInterp = t - 1
  594. finishInterp = t
  595. end
  596. end
  597. 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
  598. end
  599.  
  600. function Clerp(a, b, t)
  601. local qa = {QuaternionFromCFrame(a)}
  602. local qb = {QuaternionFromCFrame(b)}
  603. local ax, ay, az = a.x, a.y, a.z
  604. local bx, by, bz = b.x, b.y, b.z
  605. local _t = 1 - t
  606. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  607. end
  608.  
  609. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  610. local frame = IT("Frame")
  611. frame.BackgroundTransparency = TRANSPARENCY
  612. frame.BorderSizePixel = BORDERSIZEPIXEL
  613. frame.Position = POSITION
  614. frame.Size = SIZE
  615. frame.BackgroundColor3 = COLOR
  616. frame.BorderColor3 = BORDERCOLOR
  617. frame.Name = NAME
  618. frame.Parent = PARENT
  619. return frame
  620. end
  621.  
  622. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  623. local label = IT("TextLabel")
  624. label.BackgroundTransparency = 1
  625. label.Size = UD2(1, 0, 1, 0)
  626. label.Position = UD2(0, 0, 0, 0)
  627. label.TextColor3 = TEXTCOLOR
  628. label.TextStrokeTransparency = STROKETRANSPARENCY
  629. label.TextTransparency = TRANSPARENCY
  630. label.FontSize = TEXTFONTSIZE
  631. label.Font = TEXTFONT
  632. label.BorderSizePixel = BORDERSIZEPIXEL
  633. label.TextStrokeColor3 = C3(1,1,1)
  634. label.TextScaled = false
  635. label.Text = TEXT
  636. label.Name = NAME
  637. label.Parent = PARENT
  638. return label
  639. end
  640.  
  641. function NoOutlines(PART)
  642. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  643. end
  644.  
  645. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  646. local NEWWELD = IT(TYPE)
  647. NEWWELD.Part0 = PART0
  648. NEWWELD.Part1 = PART1
  649. NEWWELD.C0 = C0
  650. NEWWELD.C1 = C1
  651. NEWWELD.Parent = PARENT
  652. return NEWWELD
  653. end
  654.  
  655. local S = IT("Sound")
  656. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  657. local NEWSOUND = nil
  658. coroutine.resume(coroutine.create(function()
  659. NEWSOUND = S:Clone()
  660. NEWSOUND.Parent = PARENT
  661. NEWSOUND.Volume = VOLUME
  662. NEWSOUND.Pitch = PITCH
  663. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  664. NEWSOUND:play()
  665. if DOESLOOP == true then
  666. NEWSOUND.Looped = true
  667. else
  668. repeat wait(1) until NEWSOUND.Playing == false
  669. NEWSOUND:remove()
  670. end
  671. end))
  672. return NEWSOUND
  673. end
  674.  
  675. function CFrameFromTopBack(at, top, back)
  676. local right = top:Cross(back)
  677. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  678. end
  679.  
  680. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  681. function WACKYEFFECT(Table)
  682. local TYPE = (Table.EffectType or "Sphere")
  683. local SIZE = (Table.Size or VT(1,1,1))
  684. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  685. local TRANSPARENCY = (Table.Transparency or 0)
  686. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  687. local CFRAME = (Table.CFrame or Torso.CFrame)
  688. local MOVEDIRECTION = (Table.MoveToPos or nil)
  689. local ROTATION1 = (Table.RotationX or 0)
  690. local ROTATION2 = (Table.RotationY or 0)
  691. local ROTATION3 = (Table.RotationZ or 0)
  692. local MATERIAL = (Table.Material or "Neon")
  693. local COLOR = (Table.Color or C3(1,1,1))
  694. local TIME = (Table.Time or 45)
  695. local SOUNDID = (Table.SoundID or nil)
  696. local SOUNDPITCH = (Table.SoundPitch or nil)
  697. local SOUNDVOLUME = (Table.SoundVolume or nil)
  698. coroutine.resume(coroutine.create(function()
  699. local PLAYSSOUND = false
  700. local SOUND = nil
  701. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  702. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  703. PLAYSSOUND = true
  704. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  705. end
  706. EFFECT.Color = COLOR
  707. local MSH = nil
  708. if TYPE == "Sphere" then
  709. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  710. elseif TYPE == "Block" then
  711. MSH = IT("BlockMesh",EFFECT)
  712. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  713. elseif TYPE == "Wave" then
  714. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  715. elseif TYPE == "Ring" then
  716. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  717. elseif TYPE == "Slash" then
  718. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  719. elseif TYPE == "Round Slash" then
  720. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  721. elseif TYPE == "Swirl" then
  722. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  723. elseif TYPE == "Skull" then
  724. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  725. elseif TYPE == "Crystal" then
  726. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  727. end
  728. if MSH ~= nil then
  729. local MOVESPEED = nil
  730. if MOVEDIRECTION ~= nil then
  731. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  732. end
  733. local GROWTH = SIZE - ENDSIZE
  734. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  735. if TYPE == "Block" then
  736. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  737. else
  738. EFFECT.CFrame = CFRAME
  739. end
  740. for LOOP = 1, TIME+1 do
  741. Swait()
  742. MSH.Scale = MSH.Scale - GROWTH/TIME
  743. if TYPE == "Wave" then
  744. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  745. end
  746. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  747. if TYPE == "Block" then
  748. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  749. else
  750. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  751. end
  752. if MOVEDIRECTION ~= nil then
  753. local ORI = EFFECT.Orientation
  754. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  755. EFFECT.Orientation = ORI
  756. end
  757. end
  758. if PLAYSSOUND == false then
  759. EFFECT:remove()
  760. else
  761. repeat Swait() until SOUND.Playing == false
  762. EFFECT:remove()
  763. end
  764. else
  765. if PLAYSSOUND == false then
  766. EFFECT:remove()
  767. else
  768. repeat Swait() until SOUND.Playing == false
  769. EFFECT:remove()
  770. end
  771. end
  772. end))
  773. end
  774.  
  775. function MakeForm(PART,TYPE)
  776. if TYPE == "Cyl" then
  777. local MSH = IT("CylinderMesh",PART)
  778. elseif TYPE == "Ball" then
  779. local MSH = IT("SpecialMesh",PART)
  780. MSH.MeshType = "Sphere"
  781. elseif TYPE == "Wedge" then
  782. local MSH = IT("SpecialMesh",PART)
  783. MSH.MeshType = "Wedge"
  784. end
  785. end
  786.  
  787. Debris = game:GetService("Debris")
  788.  
  789. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  790. local DIRECTION = CF(StartPos,EndPos).lookVector
  791. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  792. end
  793.  
  794. function turnto(position)
  795. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  796. end
  797.  
  798. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  799. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  800. end
  801.  
  802. function PositiveAngle(NUMBER)
  803. if NUMBER >= 0 then
  804. NUMBER = 0
  805. end
  806. return NUMBER
  807. end
  808.  
  809. function NegativeAngle(NUMBER)
  810. if NUMBER <= 0 then
  811. NUMBER = 0
  812. end
  813. return NUMBER
  814. end
  815.  
  816. function Swait(NUMBER)
  817. if NUMBER == 0 or NUMBER == nil then
  818. ArtificialHB.Event:wait()
  819. else
  820. for i = 1, NUMBER do
  821. ArtificialHB.Event:wait()
  822. end
  823. end
  824. end
  825.  
  826. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  827. local NEWMESH = IT(MESH)
  828. if MESH == "SpecialMesh" then
  829. NEWMESH.MeshType = MESHTYPE
  830. if MESHID ~= "nil" and MESHID ~= "" then
  831. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  832. end
  833. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  834. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  835. end
  836. end
  837. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  838. NEWMESH.Scale = SCALE
  839. NEWMESH.Parent = PARENT
  840. return NEWMESH
  841. end
  842.  
  843. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  844. local NEWPART = IT("Part")
  845. NEWPART.formFactor = FORMFACTOR
  846. NEWPART.Reflectance = REFLECTANCE
  847. NEWPART.Transparency = TRANSPARENCY
  848. NEWPART.CanCollide = false
  849. NEWPART.Locked = true
  850. NEWPART.Anchored = true
  851. if ANCHOR == false then
  852. NEWPART.Anchored = false
  853. end
  854. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  855. NEWPART.Name = NAME
  856. NEWPART.Size = SIZE
  857. NEWPART.Position = Torso.Position
  858. NEWPART.Material = MATERIAL
  859. NEWPART:BreakJoints()
  860. NEWPART.Parent = PARENT
  861. return NEWPART
  862. end
  863.  
  864. local function weldBetween(a, b)
  865. local weldd = Instance.new("ManualWeld")
  866. weldd.Part0 = a
  867. weldd.Part1 = b
  868. weldd.C0 = CFrame.new()
  869. weldd.C1 = b.CFrame:inverse() * a.CFrame
  870. weldd.Parent = a
  871. return weldd
  872. end
  873.  
  874.  
  875. function QuaternionFromCFrame(cf)
  876. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  877. local trace = m00 + m11 + m22
  878. if trace > 0 then
  879. local s = math.sqrt(1 + trace)
  880. local recip = 0.5 / s
  881. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  882. else
  883. local i = 0
  884. if m11 > m00 then
  885. i = 1
  886. end
  887. if m22 > (i == 0 and m00 or m11) then
  888. i = 2
  889. end
  890. if i == 0 then
  891. local s = math.sqrt(m00 - m11 - m22 + 1)
  892. local recip = 0.5 / s
  893. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  894. elseif i == 1 then
  895. local s = math.sqrt(m11 - m22 - m00 + 1)
  896. local recip = 0.5 / s
  897. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  898. elseif i == 2 then
  899. local s = math.sqrt(m22 - m00 - m11 + 1)
  900. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  901. end
  902. end
  903. end
  904.  
  905. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  906. local xs, ys, zs = x + x, y + y, z + z
  907. local wx, wy, wz = w * xs, w * ys, w * zs
  908. local xx = x * xs
  909. local xy = x * ys
  910. local xz = x * zs
  911. local yy = y * ys
  912. local yz = y * zs
  913. local zz = z * zs
  914. 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))
  915. end
  916.  
  917. function QuaternionSlerp(a, b, t)
  918. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  919. local startInterp, finishInterp;
  920. if cosTheta >= 0.0001 then
  921. if (1 - cosTheta) > 0.0001 then
  922. local theta = ACOS(cosTheta)
  923. local invSinTheta = 1 / SIN(theta)
  924. startInterp = SIN((1 - t) * theta) * invSinTheta
  925. finishInterp = SIN(t * theta) * invSinTheta
  926. else
  927. startInterp = 1 - t
  928. finishInterp = t
  929. end
  930. else
  931. if (1 + cosTheta) > 0.0001 then
  932. local theta = ACOS(-cosTheta)
  933. local invSinTheta = 1 / SIN(theta)
  934. startInterp = SIN((t - 1) * theta) * invSinTheta
  935. finishInterp = SIN(t * theta) * invSinTheta
  936. else
  937. startInterp = t - 1
  938. finishInterp = t
  939. end
  940. end
  941. 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
  942. end
  943.  
  944. function Clerp(a, b, t)
  945. local qa = {QuaternionFromCFrame(a)}
  946. local qb = {QuaternionFromCFrame(b)}
  947. local ax, ay, az = a.x, a.y, a.z
  948. local bx, by, bz = b.x, b.y, b.z
  949. local _t = 1 - t
  950. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  951. end
  952.  
  953. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  954. local frame = IT("Frame")
  955. frame.BackgroundTransparency = TRANSPARENCY
  956. frame.BorderSizePixel = BORDERSIZEPIXEL
  957. frame.Position = POSITION
  958. frame.Size = SIZE
  959. frame.BackgroundColor3 = COLOR
  960. frame.BorderColor3 = BORDERCOLOR
  961. frame.Name = NAME
  962. frame.Parent = PARENT
  963. return frame
  964. end
  965.  
  966. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  967. local label = IT("TextLabel")
  968. label.BackgroundTransparency = 1
  969. label.Size = UD2(1, 0, 1, 0)
  970. label.Position = UD2(0, 0, 0, 0)
  971. label.TextColor3 = TEXTCOLOR
  972. label.TextStrokeTransparency = STROKETRANSPARENCY
  973. label.TextTransparency = TRANSPARENCY
  974. label.FontSize = TEXTFONTSIZE
  975. label.Font = TEXTFONT
  976. label.BorderSizePixel = BORDERSIZEPIXEL
  977. label.TextScaled = false
  978. label.Text = TEXT
  979. label.Name = NAME
  980. label.Parent = PARENT
  981. return label
  982. end
  983.  
  984. function NoOutlines(PART)
  985. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  986. end
  987.  
  988. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  989. local NEWWELD = IT(TYPE)
  990. NEWWELD.Part0 = PART0
  991. NEWWELD.Part1 = PART1
  992. NEWWELD.C0 = C0
  993. NEWWELD.C1 = C1
  994. NEWWELD.Parent = PARENT
  995. return NEWWELD
  996. end
  997.  
  998. local S = IT("Sound")
  999. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1000. local NEWSOUND = nil
  1001. coroutine.resume(coroutine.create(function()
  1002. NEWSOUND = S:Clone()
  1003. NEWSOUND.Parent = PARENT
  1004. NEWSOUND.Volume = VOLUME
  1005. NEWSOUND.Pitch = PITCH
  1006. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1007. NEWSOUND:play()
  1008. if DOESLOOP == true then
  1009. NEWSOUND.Looped = true
  1010. else
  1011. repeat wait(1) until NEWSOUND.Playing == false
  1012. NEWSOUND:remove()
  1013. end
  1014. end))
  1015. return NEWSOUND
  1016. end
  1017.  
  1018. function CFrameFromTopBack(at, top, back)
  1019. local right = top:Cross(back)
  1020. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1021. end
  1022.  
  1023. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1024. function WACKYEFFECT(Table)
  1025. local TYPE = (Table.EffectType or "Sphere")
  1026. local SIZE = (Table.Size or VT(1,1,1))
  1027. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1028. local TRANSPARENCY = (Table.Transparency or 0)
  1029. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1030. local CFRAME = (Table.CFrame or Torso.CFrame)
  1031. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1032. local ROTATION1 = (Table.RotationX or 0)
  1033. local ROTATION2 = (Table.RotationY or 0)
  1034. local ROTATION3 = (Table.RotationZ or 0)
  1035. local MATERIAL = (Table.Material or "Neon")
  1036. local COLOR = (Table.Color or C3(1,1,1))
  1037. local TIME = (Table.Time or 45)
  1038. local SOUNDID = (Table.SoundID or nil)
  1039. local SOUNDPITCH = (Table.SoundPitch or nil)
  1040. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1041. coroutine.resume(coroutine.create(function()
  1042. local PLAYSSOUND = false
  1043. local SOUND = nil
  1044. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1045. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1046. PLAYSSOUND = true
  1047. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1048. end
  1049. EFFECT.Color = COLOR
  1050. local MSH = nil
  1051. if TYPE == "Sphere" then
  1052. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1053. elseif TYPE == "Block" then
  1054. MSH = IT("BlockMesh",EFFECT)
  1055. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1056. elseif TYPE == "Wave" then
  1057. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1058. elseif TYPE == "Ring" then
  1059. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1060. elseif TYPE == "Slash" then
  1061. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1062. elseif TYPE == "Round Slash" then
  1063. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1064. elseif TYPE == "Swirl" then
  1065. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1066. elseif TYPE == "Skull" then
  1067. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1068. elseif TYPE == "Crystal" then
  1069. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1070. end
  1071. if MSH ~= nil then
  1072. local MOVESPEED = nil
  1073. if MOVEDIRECTION ~= nil then
  1074. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1075. end
  1076. local GROWTH = SIZE - ENDSIZE
  1077. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1078. if TYPE == "Block" then
  1079. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1080. else
  1081. EFFECT.CFrame = CFRAME
  1082. end
  1083. for LOOP = 1, TIME+1 do
  1084. Swait()
  1085. MSH.Scale = MSH.Scale - GROWTH/TIME
  1086. if TYPE == "Wave" then
  1087. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1088. end
  1089. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1090. if TYPE == "Block" then
  1091. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1092. else
  1093. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1094. end
  1095. if MOVEDIRECTION ~= nil then
  1096. local ORI = EFFECT.Orientation
  1097. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1098. EFFECT.Orientation = ORI
  1099. end
  1100. end
  1101. if PLAYSSOUND == false then
  1102. EFFECT:remove()
  1103. else
  1104. SOUND.Stopped:Connect(function()
  1105. EFFECT:remove()
  1106. end)
  1107. end
  1108. else
  1109. if PLAYSSOUND == false then
  1110. EFFECT:remove()
  1111. else
  1112. repeat Swait() until SOUND.Playing == false
  1113. EFFECT:remove()
  1114. end
  1115. end
  1116. end))
  1117. end
  1118.  
  1119. function MakeForm(PART,TYPE)
  1120. if TYPE == "Cyl" then
  1121. local MSH = IT("CylinderMesh",PART)
  1122. elseif TYPE == "Ball" then
  1123. local MSH = IT("SpecialMesh",PART)
  1124. MSH.MeshType = "Sphere"
  1125. elseif TYPE == "Wedge" then
  1126. local MSH = IT("SpecialMesh",PART)
  1127. MSH.MeshType = "Wedge"
  1128. end
  1129. end
  1130.  
  1131. Debris = game:GetService("Debris")
  1132.  
  1133. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1134. local DIRECTION = CF(StartPos,EndPos).lookVector
  1135. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1136. end
  1137.  
  1138. local EyeSizes={
  1139. NumberSequenceKeypoint.new(0,1,0),
  1140. NumberSequenceKeypoint.new(1,0,0)
  1141. }
  1142. local EyeTrans={
  1143. NumberSequenceKeypoint.new(0,0.8,0),
  1144. NumberSequenceKeypoint.new(1,1,0)
  1145. }
  1146. local PE=Instance.new("ParticleEmitter",nil)
  1147. PE.LightEmission=.8
  1148. PE.Color = ColorSequence.new(BRICKC("Black").Color)
  1149. PE.Size=NumberSequence.new(EyeSizes)
  1150. PE.Transparency=NumberSequence.new(EyeTrans)
  1151. PE.Lifetime=NumberRange.new(0.35,1.5)
  1152. PE.Rotation=NumberRange.new(0,360)
  1153. PE.Rate=999
  1154. PE.VelocitySpread = 10000
  1155. PE.Acceleration = Vector3.new(0,0,0)
  1156. PE.Drag = 5
  1157. PE.Speed = NumberRange.new(0,0,0)
  1158. PE.Texture="http://www.roblox.com/asset/?id=1351966707"
  1159. PE.ZOffset = -0
  1160. PE.Name = "PE"
  1161. PE.Enabled = false
  1162.  
  1163. function particles(art)
  1164. local PARTICLES = PE:Clone()
  1165. PARTICLES.Parent = art
  1166. end
  1167.  
  1168. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  1169. if FLOOR ~= nil then
  1170. coroutine.resume(coroutine.create(function()
  1171. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  1172. PART.CFrame = CF(POSITION)
  1173. for i = 1, 45 do
  1174. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  1175. RingPiece.Material = FLOOR.Material
  1176. RingPiece.Color = FLOOR.Color
  1177. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1178. Debris:AddItem(RingPiece,SWAIT)
  1179. end
  1180. PART:remove()
  1181. end))
  1182. end
  1183. end
  1184.  
  1185. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  1186. if FLOOR ~= nil then
  1187. for i = 1, AMOUNT do
  1188. local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  1189. DEBREE.Material = FLOOR.Material
  1190. DEBREE.Color = FLOOR.Color
  1191. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1192. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  1193. coroutine.resume(coroutine.create(function()
  1194. Swait(15)
  1195. DEBREE.Parent = workspace
  1196. DEBREE.CanCollide = true
  1197. Debris:AddItem(DEBREE,SWAIT)
  1198. end))
  1199. end
  1200. end
  1201. end
  1202.  
  1203. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1204. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1205. end
  1206.  
  1207. function PositiveAngle(NUMBER)
  1208. if NUMBER >= 0 then
  1209. NUMBER = 0
  1210. end
  1211. return NUMBER
  1212. end
  1213.  
  1214. function NegativeAngle(NUMBER)
  1215. if NUMBER <= 0 then
  1216. NUMBER = 0
  1217. end
  1218. return NUMBER
  1219. end
  1220.  
  1221. function Swait(NUMBER)
  1222. if NUMBER == 0 or NUMBER == nil then
  1223. ArtificialHB.Event:wait()
  1224. else
  1225. for i = 1, NUMBER do
  1226. ArtificialHB.Event:wait()
  1227. end
  1228. end
  1229. end
  1230.  
  1231. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1232. local NEWMESH = IT(MESH)
  1233. if MESH == "SpecialMesh" then
  1234. NEWMESH.MeshType = MESHTYPE
  1235. if MESHID ~= "nil" and MESHID ~= "" then
  1236. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1237. end
  1238. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1239. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1240. end
  1241. end
  1242. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1243. NEWMESH.Scale = SCALE
  1244. NEWMESH.Parent = PARENT
  1245. return NEWMESH
  1246. end
  1247.  
  1248. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1249. local NEWPART = IT("Part")
  1250. NEWPART.formFactor = FORMFACTOR
  1251. NEWPART.Reflectance = REFLECTANCE
  1252. NEWPART.Transparency = TRANSPARENCY
  1253. NEWPART.CanCollide = false
  1254. NEWPART.Locked = true
  1255. NEWPART.Anchored = true
  1256. if ANCHOR == false then
  1257. NEWPART.Anchored = false
  1258. end
  1259. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1260. NEWPART.Name = NAME
  1261. NEWPART.Size = SIZE
  1262. NEWPART.Position = Torso.Position
  1263. NEWPART.Material = MATERIAL
  1264. NEWPART:BreakJoints()
  1265. NEWPART.Parent = PARENT
  1266. return NEWPART
  1267. end
  1268.  
  1269. local function weldBetween(a, b)
  1270. local weldd = Instance.new("ManualWeld")
  1271. weldd.Part0 = a
  1272. weldd.Part1 = b
  1273. weldd.C0 = CFrame.new()
  1274. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1275. weldd.Parent = a
  1276. return weldd
  1277. end
  1278.  
  1279.  
  1280. function QuaternionFromCFrame(cf)
  1281. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1282. local trace = m00 + m11 + m22
  1283. if trace > 0 then
  1284. local s = math.sqrt(1 + trace)
  1285. local recip = 0.5 / s
  1286. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1287. else
  1288. local i = 0
  1289. if m11 > m00 then
  1290. i = 1
  1291. end
  1292. if m22 > (i == 0 and m00 or m11) then
  1293. i = 2
  1294. end
  1295. if i == 0 then
  1296. local s = math.sqrt(m00 - m11 - m22 + 1)
  1297. local recip = 0.5 / s
  1298. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1299. elseif i == 1 then
  1300. local s = math.sqrt(m11 - m22 - m00 + 1)
  1301. local recip = 0.5 / s
  1302. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1303. elseif i == 2 then
  1304. local s = math.sqrt(m22 - m00 - m11 + 1)
  1305. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1306. end
  1307. end
  1308. end
  1309.  
  1310. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1311. local xs, ys, zs = x + x, y + y, z + z
  1312. local wx, wy, wz = w * xs, w * ys, w * zs
  1313. local xx = x * xs
  1314. local xy = x * ys
  1315. local xz = x * zs
  1316. local yy = y * ys
  1317. local yz = y * zs
  1318. local zz = z * zs
  1319. 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))
  1320. end
  1321.  
  1322. function QuaternionSlerp(a, b, t)
  1323. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1324. local startInterp, finishInterp;
  1325. if cosTheta >= 0.0001 then
  1326. if (1 - cosTheta) > 0.0001 then
  1327. local theta = ACOS(cosTheta)
  1328. local invSinTheta = 1 / SIN(theta)
  1329. startInterp = SIN((1 - t) * theta) * invSinTheta
  1330. finishInterp = SIN(t * theta) * invSinTheta
  1331. else
  1332. startInterp = 1 - t
  1333. finishInterp = t
  1334. end
  1335. else
  1336. if (1 + cosTheta) > 0.0001 then
  1337. local theta = ACOS(-cosTheta)
  1338. local invSinTheta = 1 / SIN(theta)
  1339. startInterp = SIN((t - 1) * theta) * invSinTheta
  1340. finishInterp = SIN(t * theta) * invSinTheta
  1341. else
  1342. startInterp = t - 1
  1343. finishInterp = t
  1344. end
  1345. end
  1346. 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
  1347. end
  1348.  
  1349. function Clerp(a, b, t)
  1350. local qa = {QuaternionFromCFrame(a)}
  1351. local qb = {QuaternionFromCFrame(b)}
  1352. local ax, ay, az = a.x, a.y, a.z
  1353. local bx, by, bz = b.x, b.y, b.z
  1354. local _t = 1 - t
  1355. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1356. end
  1357.  
  1358. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1359. local frame = IT("Frame")
  1360. frame.BackgroundTransparency = TRANSPARENCY
  1361. frame.BorderSizePixel = BORDERSIZEPIXEL
  1362. frame.Position = POSITION
  1363. frame.Size = SIZE
  1364. frame.BackgroundColor3 = COLOR
  1365. frame.BorderColor3 = BORDERCOLOR
  1366. frame.Name = NAME
  1367. frame.Parent = PARENT
  1368. return frame
  1369. end
  1370.  
  1371. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1372. local label = IT("TextLabel")
  1373. label.BackgroundTransparency = 1
  1374. label.Size = UD2(1, 0, 1, 0)
  1375. label.Position = UD2(0, 0, 0, 0)
  1376. label.TextColor3 = TEXTCOLOR
  1377. label.TextStrokeTransparency = STROKETRANSPARENCY
  1378. label.TextTransparency = TRANSPARENCY
  1379. label.FontSize = TEXTFONTSIZE
  1380. label.Font = TEXTFONT
  1381. label.BorderSizePixel = BORDERSIZEPIXEL
  1382. label.TextScaled = false
  1383. label.Text = TEXT
  1384. label.Name = NAME
  1385. label.Parent = PARENT
  1386. return label
  1387. end
  1388.  
  1389. function NoOutlines(PART)
  1390. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1391. end
  1392.  
  1393. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1394. local NEWWELD = IT(TYPE)
  1395. NEWWELD.Part0 = PART0
  1396. NEWWELD.Part1 = PART1
  1397. NEWWELD.C0 = C0
  1398. NEWWELD.C1 = C1
  1399. NEWWELD.Parent = PARENT
  1400. return NEWWELD
  1401. end
  1402.  
  1403. local S = IT("Sound")
  1404. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1405. local NEWSOUND = nil
  1406. coroutine.resume(coroutine.create(function()
  1407. NEWSOUND = S:Clone()
  1408. NEWSOUND.Parent = PARENT
  1409. NEWSOUND.Volume = VOLUME
  1410. NEWSOUND.Pitch = PITCH
  1411. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1412. NEWSOUND:play()
  1413. if DOESLOOP == true then
  1414. NEWSOUND.Looped = true
  1415. else
  1416. repeat wait(1) until NEWSOUND.Playing == false
  1417. NEWSOUND:remove()
  1418. end
  1419. end))
  1420. return NEWSOUND
  1421. end
  1422.  
  1423. function CFrameFromTopBack(at, top, back)
  1424. local right = top:Cross(back)
  1425. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1426. end
  1427.  
  1428. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1429. function WACKYEFFECT(Table)
  1430. local TYPE = (Table.EffectType or "Sphere")
  1431. local SIZE = (Table.Size or VT(1,1,1))
  1432. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1433. local TRANSPARENCY = (Table.Transparency or 0)
  1434. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1435. local CFRAME = (Table.CFrame or Torso.CFrame)
  1436. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1437. local ROTATION1 = (Table.RotationX or 0)
  1438. local ROTATION2 = (Table.RotationY or 0)
  1439. local ROTATION3 = (Table.RotationZ or 0)
  1440. local MATERIAL = (Table.Material or "Neon")
  1441. local COLOR = (Table.Color or C3(1,1,1))
  1442. local TIME = (Table.Time or 45)
  1443. local SOUNDID = (Table.SoundID or nil)
  1444. local SOUNDPITCH = (Table.SoundPitch or nil)
  1445. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1446. coroutine.resume(coroutine.create(function()
  1447. local PLAYSSOUND = false
  1448. local SOUND = nil
  1449. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1450. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1451. PLAYSSOUND = true
  1452. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1453. end
  1454. EFFECT.Color = COLOR
  1455. local MSH = nil
  1456. if TYPE == "Sphere" then
  1457. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1458. elseif TYPE == "Block" then
  1459. MSH = IT("BlockMesh",EFFECT)
  1460. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1461. elseif TYPE == "Wave" then
  1462. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1463. elseif TYPE == "Ring" then
  1464. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1465. elseif TYPE == "Slash" then
  1466. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1467. elseif TYPE == "Round Slash" then
  1468. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1469. elseif TYPE == "Swirl" then
  1470. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1471. elseif TYPE == "Skull" then
  1472. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1473. elseif TYPE == "Crystal" then
  1474. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1475. end
  1476. if MSH ~= nil then
  1477. local MOVESPEED = nil
  1478. if MOVEDIRECTION ~= nil then
  1479. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1480. end
  1481. local GROWTH = SIZE - ENDSIZE
  1482. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1483. if TYPE == "Block" then
  1484. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1485. else
  1486. EFFECT.CFrame = CFRAME
  1487. end
  1488. for LOOP = 1, TIME+1 do
  1489. Swait()
  1490. MSH.Scale = MSH.Scale - GROWTH/TIME
  1491. if TYPE == "Wave" then
  1492. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1493. end
  1494. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1495. if TYPE == "Block" then
  1496. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1497. else
  1498. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1499. end
  1500. if MOVEDIRECTION ~= nil then
  1501. local ORI = EFFECT.Orientation
  1502. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1503. EFFECT.Orientation = ORI
  1504. end
  1505. end
  1506. if PLAYSSOUND == false then
  1507. EFFECT:remove()
  1508. else
  1509. repeat Swait() until SOUND.Playing == false
  1510. EFFECT:remove()
  1511. end
  1512. else
  1513. if PLAYSSOUND == false then
  1514. EFFECT:remove()
  1515. else
  1516. repeat Swait() until SOUND.Playing == false
  1517. EFFECT:remove()
  1518. end
  1519. end
  1520. end))
  1521. end
  1522.  
  1523. function MakeForm(PART,TYPE)
  1524. if TYPE == "Cyl" then
  1525. local MSH = IT("CylinderMesh",PART)
  1526. elseif TYPE == "Ball" then
  1527. local MSH = IT("SpecialMesh",PART)
  1528. MSH.MeshType = "Sphere"
  1529. elseif TYPE == "Wedge" then
  1530. local MSH = IT("SpecialMesh",PART)
  1531. MSH.MeshType = "Wedge"
  1532. end
  1533. end
  1534.  
  1535. Debris = game:GetService("Debris")
  1536.  
  1537. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1538. local DIRECTION = CF(StartPos,EndPos).lookVector
  1539. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1540. end
  1541.  
  1542. function turnto(position)
  1543. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1544. end
  1545.  
  1546. --//=================================\\
  1547. --|| WEAPON CREATION
  1548. --\\=================================//
  1549. local BODY = {}
  1550.  
  1551. for _, c in pairs(Character:GetDescendants()) do
  1552. if c:IsA("BasePart") and c.Name ~= "Handle" then
  1553. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  1554. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1555. end
  1556. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  1557. elseif c:IsA("JointInstance") then
  1558. table.insert(BODY,{c,c.Parent,nil,nil,nil})
  1559. end
  1560. end
  1561.  
  1562. for e = 1, #BODY do
  1563. if BODY[e] ~= nil then
  1564. local STUFF = BODY[e]
  1565. local PART = STUFF[1]
  1566. local PARENT = STUFF[2]
  1567. local MATERIAL = STUFF[3]
  1568. local COLOR = STUFF[4]
  1569. local TRANSPARENCY = STUFF[5]
  1570. if PART.ClassName == "Part" and PART ~= RootPart then
  1571. PART.Material = MATERIAL
  1572. PART.Color = COLOR
  1573. PART.Transparency = TRANSPARENCY
  1574. end
  1575. PART.AncestryChanged:Connect(function()
  1576. PART.Parent = PARENT
  1577. end)
  1578. end
  1579. end
  1580.  
  1581. -------------------------------------------------------
  1582. local Orbd = Instance.new("Part", Character)
  1583. Orbd.Name = "Orbd"
  1584. Orbd.Shape = Enum.PartType.Ball
  1585. Orbd.CanCollide = false
  1586. Orbd.BrickColor = BrickColor.new("Really black")
  1587. Orbd.Transparency = 0
  1588. Orbd.Material = "Neon"
  1589. Orbd.Size = Vector3.new(0.3, 0.3, 0.3)
  1590. Orbd.TopSurface = Enum.SurfaceType.Smooth
  1591. Orbd.BottomSurface = Enum.SurfaceType.Smooth
  1592.  
  1593. local Weld = Instance.new("Weld", Orbd)
  1594. Weld.Part0 = Character.Head
  1595. Weld.Part1 = Orbd
  1596. Weld.C1 = CFrame.new(-0.26, -0.24, 0.55)
  1597.  
  1598. --------------------------------------------------------
  1599. local Orbvc = Instance.new("Part", Character)
  1600. Orbvc.Name = "Orbvc"
  1601. Orbvc.Shape = Enum.PartType.Ball
  1602. Orbvc.CanCollide = false
  1603. Orbvc.BrickColor = BrickColor.new("Really black")
  1604. Orbvc.Transparency = 0
  1605. Orbvc.Material = "Neon"
  1606. Orbvc.Size = Vector3.new(0.3, 0.3, 0.3)
  1607. Orbvc.TopSurface = Enum.SurfaceType.Smooth
  1608. Orbvc.BottomSurface = Enum.SurfaceType.Smooth
  1609.  
  1610. local Weld = Instance.new("Weld", Orbvc)
  1611. Weld.Part0 = Character.Head
  1612. Weld.Part1 = Orbvc
  1613. Weld.C1 = CFrame.new(0.26, -0.24, 0.55)
  1614. ---------------------------------------------------------
  1615. local Mask = Instance.new("Part", Character)
  1616. Mask.Name = "Mask"
  1617. Mask.CanCollide = false
  1618. Mask.BrickColor = BrickColor.new("Medium stone grey")
  1619. Mask.Transparency = 0
  1620. Mask.Material = "Neon"
  1621. Mask.Size = Vector3.new(0.1, 0.1, 0.1)
  1622. Mask.TopSurface = Enum.SurfaceType.Smooth
  1623. Mask.BottomSurface = Enum.SurfaceType.Smooth
  1624.  
  1625. local Weld = Instance.new("Weld", Mask)
  1626. Weld.Part0 = Character.Head
  1627. Weld.Part1 = Mask
  1628. Weld.C1 = CFrame.new(0, -0.1, 0.8)
  1629.  
  1630. local M1 = Instance.new("SpecialMesh")
  1631. M1.Parent = Mask
  1632. M1.MeshId = "http://www.roblox.com/asset/?id=62679079"
  1633. M1.Scale = Vector3.new( 1, 1, 2)
  1634. ----------------------------------------------------------
  1635. local Hood = Instance.new("Part", Character)
  1636. Hood.Name = "Hood"
  1637. Hood.CanCollide = false
  1638. Hood.BrickColor = BrickColor.new("Really black")
  1639. Hood.Transparency = 0
  1640. Hood.Material = "Plastic"
  1641. Hood.Size = Vector3.new(0.1, 0.1, 0.1)
  1642. Hood.TopSurface = Enum.SurfaceType.Smooth
  1643. Hood.BottomSurface = Enum.SurfaceType.Smooth
  1644.  
  1645. local Weld = Instance.new("Weld", Hood)
  1646. Weld.Part0 = Character.Head
  1647. Weld.Part1 = Hood
  1648. Weld.C1 = CFrame.new(0, -0.2, 0)
  1649.  
  1650. local M2 = Instance.new("SpecialMesh")
  1651. M2.Parent = Hood
  1652. M2.MeshId = "http://www.roblox.com/asset/?id=83499032"
  1653. M2.Scale = Vector3.new( 1, 1.2, 1.1)
  1654. ------------------------------------------------------
  1655. --[[
  1656. Thanks for using Build-To-Lua by jarredbcv.
  1657. ]]--
  1658.  
  1659. New = function(Object, Parent, Name, Data)
  1660. local Object = Instance.new(Object)
  1661. for Index, Value in pairs(Data or {}) do
  1662. Object[Index] = Value
  1663. end
  1664. Object.Parent = Parent
  1665. Object.Name = Name
  1666. return Object
  1667. end
  1668.  
  1669. for i = 1, 35 do
  1670. local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
  1671. FACE.Color = C3(0,0,0)
  1672. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1673. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1674. end
  1675.  
  1676. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Dark indigo", "Eye", VT(0.6,0.1,1)/2,false)
  1677. MakeForm(Eye,"Ball")
  1678. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1679. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.6,0.1,1)/2,false)
  1680. MakeForm(Eye,"Ball")
  1681. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1682. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1683. MakeForm(Eye,"Ball")
  1684. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1685. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1686. MakeForm(Eye,"Ball")
  1687. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1688.  
  1689. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(1.01,0.3,1.01),false)
  1690. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1691. for i = 1, 3 do
  1692. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1693. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
  1694. MakeForm(Part,"Cyl")
  1695. end
  1696. for i = 1, 3 do
  1697. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1698. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
  1699. MakeForm(Part,"Cyl")
  1700. end
  1701. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1702. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1703. MakeForm(Part,"Wedge")
  1704. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1705. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1706. MakeForm(Part,"Wedge")
  1707. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1708. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1709. MakeForm(Part,"Wedge")
  1710. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1711. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125/2.3, -0.25, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1712. MakeForm(Part,"Wedge")
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720. for _, c in pairs(Weapon:GetChildren()) do
  1721. if c.ClassName == "Part" then
  1722. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1723. local AURA = c:Clone()
  1724. AURA:BreakJoints()
  1725. AURA.Parent = c
  1726. AURA.CFrame = c.CFrame
  1727. AURA.Size = AURA.Size*1.001
  1728. AURA.Transparency = 0.8
  1729. AURA.BrickColor = BRICKC"Royal purple"
  1730. AURA.Material = "Neon"
  1731. weldBetween(c,AURA)
  1732. end
  1733. end
  1734. function refit()
  1735. Character.Parent = workspace
  1736. for e = 1, #BODY do
  1737. if BODY[e] ~= nil then
  1738. local STUFF = BODY[e]
  1739. local PART = STUFF[1]
  1740. local PARENT = STUFF[2]
  1741. local MATERIAL = STUFF[3]
  1742. local COLOR = STUFF[4]
  1743. local TRANSPARENCY = STUFF[5]
  1744. if PART.ClassName == "Part" and PART ~= RootPart then
  1745. PART.Material = MATERIAL
  1746. PART.Color = COLOR
  1747. PART.Transparency = TRANSPARENCY
  1748. end
  1749. if PART.Parent ~= PARENT then
  1750. Humanoid:remove()
  1751. PART.Parent = PARENT
  1752. Humanoid = IT("Humanoid",Character)
  1753. end
  1754. end
  1755. end
  1756. end
  1757.  
  1758. local SKILLTEXTCOLOR = BRICKC"Black".Color
  1759. local SKILLFONT = "Bodoni"
  1760. local SKILLTEXTSIZE = 7
  1761.  
  1762. Weapon.Parent = Character
  1763.  
  1764. Humanoid.Died:connect(function()
  1765.  
  1766. ATTACK = true
  1767. end)
  1768.  
  1769. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1770. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1771. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1772. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1773. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1774. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.76, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  1775.  
  1776.  
  1777. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] BEAM OF CORRUPTION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 1")
  1778. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] EXPLOSION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 2")
  1779. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] STUN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 3")
  1780. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[E] SCREAM", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 4")
  1781. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] WARP", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 5")
  1782. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[Q] PAIN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 6")
  1783.  
  1784. --//=================================\\
  1785. --|| RAGDOLL STUFF
  1786. --\\=================================//
  1787.  
  1788. function recurse(root,callback,i)
  1789. i= i or 0
  1790. for _,v in pairs(root:GetChildren()) do
  1791. i = i + 1
  1792. callback(i,v)
  1793.  
  1794. if #v:GetChildren() > 0 then
  1795. i = recurse(v,callback,i)
  1796. end
  1797. end
  1798.  
  1799. return i
  1800. end
  1801.  
  1802. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1803. attachmentName = attachmentName.."RigAttachment"
  1804. local constraint = Instance.new(className.."Constraint")
  1805. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1806. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1807. constraint.Name = "RagdollConstraint"..part1.Name
  1808.  
  1809. for _,propertyData in next,properties or {} do
  1810. constraint[propertyData[1]] = propertyData[2]
  1811. end
  1812.  
  1813. constraint.Parent = character
  1814. end
  1815.  
  1816. function getAttachment0(character, attachmentName)
  1817. for _,child in next,character:GetChildren() do
  1818. local attachment = child:FindFirstChild(attachmentName)
  1819. if attachment then
  1820. return attachment
  1821. end
  1822. end
  1823. end
  1824.  
  1825. function ArtificialHitbox(Part)
  1826. local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1827. HITBOX.CanCollide = true
  1828. HITBOX.CFrame = Part.CFrame
  1829. weldBetween(Part,HITBOX)
  1830. end
  1831.  
  1832. function R15Ragdoll(character,KeepArms)
  1833. character:BreakJoints()
  1834. coroutine.resume(coroutine.create(function()
  1835. recurse(character, function(_,v)
  1836. if v:IsA("Attachment") then
  1837. v.Axis = Vector3.new(0, 1, 0)
  1838. v.SecondaryAxis = Vector3.new(0, 0, 1)
  1839. v.Rotation = Vector3.new(0, 0, 0)
  1840. end
  1841. end)
  1842. for _,child in next,character:GetChildren() do
  1843. if child:IsA("Accoutrement") then
  1844. for _,part in next,child:GetChildren() do
  1845. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1846. local attachment1 = part:FindFirstChildOfClass("Attachment")
  1847. local attachment0 = getAttachment0(character,attachment1.Name)
  1848. if attachment0 and attachment1 then
  1849. local constraint = Instance.new("HingeConstraint")
  1850. constraint.Attachment0 = attachment0
  1851. constraint.Attachment1 = attachment1
  1852. constraint.LimitsEnabled = true
  1853. constraint.UpperAngle = 0
  1854. constraint.LowerAngle = 0
  1855. constraint.Parent = character
  1856. end
  1857. ArtificialHitbox(part)
  1858. elseif part.Name == "HumanoidRootPart" then
  1859. part:remove()
  1860. end
  1861. end
  1862. end
  1863. end
  1864.  
  1865. ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1866. {"LimitsEnabled",true};
  1867. {"UpperAngle",5};
  1868. })
  1869. if character:FindFirstChild("Head") then
  1870. ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1871. {"LimitsEnabled",true};
  1872. {"UpperAngle",15};
  1873. })
  1874. end
  1875.  
  1876. local handProperties = {
  1877. {"LimitsEnabled", true};
  1878. {"UpperAngle",0};
  1879. {"LowerAngle",0};
  1880. }
  1881. ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1882. ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1883.  
  1884. local shinProperties = {
  1885. {"LimitsEnabled", true};
  1886. {"UpperAngle", 0};
  1887. {"LowerAngle", -75};
  1888. }
  1889. ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1890. ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1891.  
  1892. local footProperties = {
  1893. {"LimitsEnabled", true};
  1894. {"UpperAngle", 15};
  1895. {"LowerAngle", -45};
  1896. }
  1897. ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1898. ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1899. if KeepArms == true then
  1900. ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1901. ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1902. ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1903. ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1904. end
  1905. ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1906. ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1907. Debris:AddItem(character,5)
  1908. end))
  1909. end
  1910.  
  1911. function Ragdoll(Character2,CharTorso,KeepArms)
  1912. coroutine.resume(coroutine.create(function()
  1913. Character2:BreakJoints()
  1914. local hum = Character2:findFirstChild("Humanoid")
  1915. hum:remove()
  1916. local function Scan(ch)
  1917. local e
  1918. for e = 1,#ch do
  1919. Scan(ch[e]:GetChildren())
  1920. if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1921. ch[e]:remove()
  1922. end
  1923. end
  1924. end
  1925. local NEWHUM = IT("Humanoid")
  1926. NEWHUM.Name = "Corpse"
  1927. NEWHUM.Health = 0
  1928. NEWHUM.MaxHealth = 0
  1929. NEWHUM.PlatformStand = true
  1930. NEWHUM.Parent = Character2
  1931. NEWHUM.DisplayDistanceType = "None"
  1932.  
  1933. local ch = Character2:GetChildren()
  1934. local i
  1935. for i = 1,#ch do
  1936. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1937. ch[i]:remove()
  1938. end
  1939. end
  1940.  
  1941. local Torso2 = Character2.Torso
  1942. local movevector = Vector3.new()
  1943.  
  1944. if Torso2 then
  1945. movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1946. local Head = Character2:FindFirstChild("Head")
  1947. if Head then
  1948. local Neck = Instance.new("Weld")
  1949. Neck.Name = "Neck"
  1950. Neck.Part0 = Torso2
  1951. Neck.Part1 = Head
  1952. Neck.C0 = CFrame.new(0, 1.5, 0)
  1953. Neck.C1 = CFrame.new()
  1954. Neck.Parent = Torso2
  1955.  
  1956. end
  1957. local Limb = Character2:FindFirstChild("Right Arm")
  1958. if Limb and KeepArms == true then
  1959.  
  1960. Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1961. local Joint = Instance.new("Glue")
  1962. Joint.Name = "RightShoulder"
  1963. Joint.Part0 = Torso2
  1964. Joint.Part1 = Limb
  1965. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1966. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1967. Joint.Parent = Torso2
  1968.  
  1969. local B = Instance.new("Part")
  1970. B.TopSurface = 0
  1971. B.BottomSurface = 0
  1972. B.formFactor = "Symmetric"
  1973. B.Size = Vector3.new(1, 1, 1)
  1974. B.Transparency = 1
  1975. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1976. B.Parent = Character2
  1977. local W = Instance.new("Weld")
  1978. W.Part0 = Limb
  1979. W.Part1 = B
  1980. W.C0 = CFrame.new(0, -0.5, 0)
  1981. W.Parent = Limb
  1982.  
  1983. end
  1984. local Limb = Character2:FindFirstChild("Left Arm")
  1985. if Limb and KeepArms == true then
  1986.  
  1987. Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1988. local Joint = Instance.new("Glue")
  1989. Joint.Name = "LeftShoulder"
  1990. Joint.Part0 = Torso2
  1991. Joint.Part1 = Limb
  1992. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1993. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1994. Joint.Parent = Torso2
  1995.  
  1996. local B = Instance.new("Part")
  1997. B.TopSurface = 0
  1998. B.BottomSurface = 0
  1999. B.formFactor = "Symmetric"
  2000. B.Size = Vector3.new(1, 1, 1)
  2001. B.Transparency = 1
  2002. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  2003. B.Parent = Character2
  2004. local W = Instance.new("Weld")
  2005. W.Part0 = Limb
  2006. W.Part1 = B
  2007. W.C0 = CFrame.new(0, -0.5, 0)
  2008. W.Parent = Limb
  2009.  
  2010. end
  2011. local Limb = Character2:FindFirstChild("Right Leg")
  2012. if Limb then
  2013.  
  2014. Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  2015. local Joint = Instance.new("Glue")
  2016. Joint.Name = "RightHip"
  2017. Joint.Part0 = Torso2
  2018. Joint.Part1 = Limb
  2019. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  2020. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  2021. Joint.Parent = Torso2
  2022.  
  2023. local B = Instance.new("Part")
  2024. B.TopSurface = 0
  2025. B.BottomSurface = 0
  2026. B.formFactor = "Symmetric"
  2027. B.Size = Vector3.new(1, 1, 1)
  2028. B.Transparency = 1
  2029. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  2030. B.Parent = Character2
  2031. local W = Instance.new("Weld")
  2032. W.Part0 = Limb
  2033. W.Part1 = B
  2034. W.C0 = CFrame.new(0, -0.5, 0)
  2035. W.Parent = Limb
  2036.  
  2037. end
  2038. local Limb = Character2:FindFirstChild("Left Leg")
  2039. if Limb then
  2040.  
  2041. Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  2042. local Joint = Instance.new("Glue")
  2043. Joint.Name = "LeftHip"
  2044. Joint.Part0 = Torso2
  2045. Joint.Part1 = Limb
  2046. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  2047. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  2048. Joint.Parent = Torso2
  2049.  
  2050. local B = Instance.new("Part")
  2051. B.TopSurface = 0
  2052. B.BottomSurface = 0
  2053. B.formFactor = "Symmetric"
  2054. B.Size = Vector3.new(1, 1, 1)
  2055. B.Transparency = 1
  2056. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  2057. B.Parent = Character2
  2058. local W = Instance.new("Weld")
  2059. W.Part0 = Limb
  2060. W.Part1 = B
  2061. W.C0 = CFrame.new(0, -0.5, 0)
  2062. W.Parent = Limb
  2063.  
  2064. end
  2065. --[
  2066. local Bar = Instance.new("Part")
  2067. Bar.TopSurface = 0
  2068. Bar.BottomSurface = 0
  2069. Bar.formFactor = "Symmetric"
  2070. Bar.Size = Vector3.new(1, 1, 1)
  2071. Bar.Transparency = 1
  2072. Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  2073. Bar.Parent = Character2
  2074. local Weld = Instance.new("Weld")
  2075. Weld.Part0 = Torso2
  2076. Weld.Part1 = Bar
  2077. Weld.C0 = CFrame.new(0, 0.5, 0)
  2078. Weld.Parent = Torso2
  2079. --]]
  2080. end
  2081. Character2.Parent = workspace
  2082. Debris:AddItem(Character2,5)
  2083.  
  2084. return Character2,Torso2
  2085. end))
  2086. end
  2087.  
  2088. --//=================================\\
  2089. --|| DAMAGE FUNCTIONS
  2090. --\\=================================//
  2091. function StatLabel(CFRAME, TEXT, COLOR)
  2092. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2093. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2094. local BODYGYRO = IT("BodyGyro", STATPART)
  2095. game:GetService("Debris"):AddItem(STATPART ,5)
  2096. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2097. BILLBOARDGUI.Adornee = STATPART
  2098. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2099. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2100. BILLBOARDGUI.AlwaysOnTop = false
  2101. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2102. TEXTLABEL.BackgroundTransparency = 1
  2103. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2104. TEXTLABEL.Text = TEXT
  2105. TEXTLABEL.Font = SKILLFONT
  2106. TEXTLABEL.FontSize="Size42"
  2107. TEXTLABEL.TextColor3 = COLOR
  2108. TEXTLABEL.TextStrokeTransparency = 0
  2109. TEXTLABEL.TextScaled = true
  2110. TEXTLABEL.TextWrapped = true
  2111. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2112. for i = 1, 50 do
  2113. Swait()
  2114. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2115. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2116. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2117. end
  2118. THEPART.Parent = nil
  2119. end),STATPART, TEXTLABEL)
  2120. end
  2121.  
  2122. function StatLabel(CFRAME, TEXT, COLOR)
  2123. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2124. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2125. local BODYGYRO = IT("BodyGyro", STATPART)
  2126. game:GetService("Debris"):AddItem(STATPART ,5)
  2127. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2128. BILLBOARDGUI.Adornee = STATPART
  2129. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2130. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2131. BILLBOARDGUI.AlwaysOnTop = false
  2132. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2133. TEXTLABEL.BackgroundTransparency = 1
  2134. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2135. TEXTLABEL.Text = TEXT
  2136. TEXTLABEL.Font = "Fantasy"
  2137. TEXTLABEL.FontSize="Size42"
  2138. TEXTLABEL.TextColor3 = COLOR
  2139. TEXTLABEL.TextStrokeTransparency = 0
  2140. TEXTLABEL.TextScaled = true
  2141. TEXTLABEL.TextWrapped = true
  2142. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2143. for i = 1, 50 do
  2144. Swait()
  2145. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2146. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2147. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2148. end
  2149. THEPART.Parent = nil
  2150. end),STATPART, TEXTLABEL)
  2151. end
  2152.  
  2153. function StatLabel(CFRAME, TEXT, COLOR)
  2154. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2155. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2156. local BODYGYRO = IT("BodyGyro", STATPART)
  2157. game:GetService("Debris"):AddItem(STATPART ,5)
  2158. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2159. BILLBOARDGUI.Adornee = STATPART
  2160. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2161. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2162. BILLBOARDGUI.AlwaysOnTop = false
  2163. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2164. TEXTLABEL.BackgroundTransparency = 1
  2165. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2166. TEXTLABEL.Text = TEXT
  2167. TEXTLABEL.Font = SKILLFONT
  2168. TEXTLABEL.FontSize="Size42"
  2169. TEXTLABEL.TextColor3 = COLOR
  2170. TEXTLABEL.TextStrokeTransparency = 0
  2171. TEXTLABEL.TextScaled = true
  2172. TEXTLABEL.TextWrapped = true
  2173. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2174. for i = 1, 50 do
  2175. Swait()
  2176. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2177. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2178. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2179. end
  2180. THEPART.Parent = nil
  2181. end),STATPART, TEXTLABEL)
  2182. end
  2183.  
  2184. --//=================================\\
  2185. --|| DAMAGING
  2186. --\\=================================//
  2187. function ApplyDamage(Humanoid,Damage,TorsoPart)
  2188. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2189. defence.Name = ("HitBy"..Player.Name)
  2190. game:GetService("Debris"):AddItem(defence, 0.001)
  2191. Damage = Damage * DAMAGEMULTIPLIER
  2192. if Humanoid.Health ~= 0 then
  2193. local CritChance = MRANDOM(1,100)
  2194. if Damage > Humanoid.Health then
  2195. Damage = math.ceil(Humanoid.Health)
  2196. if Damage == 0 then
  2197. Damage = 0.1
  2198. end
  2199. end
  2200. Humanoid.Health = Humanoid.Health - Damage
  2201. end
  2202. end
  2203.  
  2204. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  2205. local CHILDREN = workspace:GetDescendants()
  2206. for index, CHILD in pairs(CHILDREN) do
  2207. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  2208. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2209. if HUM then
  2210. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2211. if TORSO then
  2212. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2213. if INSTAKILL == false then
  2214. CHILD:BreakJoints()
  2215. else
  2216. local DMG = MRANDOM(MINDMG,MAXDMG)
  2217. ApplyDamage(HUM,DMG,TORSO)
  2218. end
  2219. if FLING > 0 then
  2220. for _, c in pairs(CHILD:GetChildren()) do
  2221. if c:IsA("BasePart") then
  2222. local bv = Instance.new("BodyVelocity")
  2223. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2224. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2225. bv.Parent = c
  2226. Debris:AddItem(bv,0.05)
  2227. end
  2228. end
  2229. end
  2230. end
  2231. end
  2232. end
  2233. end
  2234. end
  2235. end
  2236.  
  2237. function KillChildren(v)
  2238. v:BreakJoints()
  2239. for _, c in pairs(v:GetChildren()) do
  2240. if c:IsA("BasePart") then
  2241. if c.Transparency < 1 then
  2242. if c:FindFirstChildOfClass("Decal") then
  2243. c:FindFirstChildOfClass("Decal"):remove()
  2244. end
  2245. particles(c)
  2246. c.PE.Enabled = true
  2247. c.Parent = Effects
  2248. c.CanCollide = false
  2249. c.Material = "Neon"
  2250. c.Color = C3(0,0,0)
  2251. c.Transparency = 1
  2252. local grav = Instance.new("BodyPosition",c)
  2253. grav.P = 20000
  2254. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2255. grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  2256. grav.Name = "GravityForce"
  2257. coroutine.resume(coroutine.create(function()
  2258. for i = 1, 20 do
  2259. Swait()
  2260. c.Transparency = c.Transparency + 1/20
  2261. end
  2262. c.PE.Enabled = false
  2263. Debris:AddItem(c,2)
  2264. end))
  2265. end
  2266. end
  2267. end
  2268. end
  2269.  
  2270. function ApplyAoE(POSITION,RANGE)
  2271. local CHILDREN = workspace:GetDescendants()
  2272. for index, CHILD in pairs(CHILDREN) do
  2273. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2274. local LISTED = false
  2275. for LIST = 1, #WHITELIST do
  2276. if WHITELIST[LIST] ~= nil then
  2277. if CHILD.Name == WHITELIST[LIST] then
  2278. LISTED = true
  2279. end
  2280. end
  2281. end
  2282. if LISTED == false then
  2283. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2284. if HUM then
  2285. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2286. if TORSO then
  2287. if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  2288. KillChildren(CHILD)
  2289. end
  2290. end
  2291. end
  2292. end
  2293. end
  2294. end
  2295. end
  2296.  
  2297. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  2298. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2299. defence.Name = ("HitBy"..Player.Name)
  2300. game:GetService("Debris"):AddItem(defence, 0.001)
  2301. if Humanoid.Health ~= 0 then
  2302. local CritChance = MRANDOM(1,100)
  2303. if CritChance < CritRate + 1 then
  2304. Damage = Damage*CritMultiplier
  2305. end
  2306. if Damage > Humanoid.Health then
  2307. Damage = math.ceil(Humanoid.Health)
  2308. if Damage == 0 then
  2309. Damage = 0.1
  2310. end
  2311. end
  2312. Humanoid.Health = Humanoid.Health - Damage
  2313. if Humanoid.Parent:FindFirstChild("Head") then
  2314. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  2315. if CritChance < CritRate + 1 then
  2316. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  2317. else
  2318. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
  2319. end
  2320. end
  2321. end
  2322. end
  2323.  
  2324. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
  2325. local dmg = math.random(min,max)
  2326. for i,v in ipairs(workspace:GetChildren()) do
  2327. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  2328. local body = v:GetChildren()
  2329. for part = 1, #body do
  2330. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2331. if(body[part].Position - position).Magnitude < radius then
  2332. if v.ClassName == "Model" then
  2333. if v:FindFirstChildOfClass("Humanoid") then
  2334. if CanBeDodgedByJumping == true then
  2335. if body[part].Position.Y < position.Y+5 then
  2336. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2337. end
  2338. else
  2339. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2340. end
  2341. local bv = Instance.new("BodyVelocity")
  2342. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2343. bv.velocity = RootPart.CFrame.lookVector*maxstrength
  2344. bv.Parent = body[part]
  2345. Debris:AddItem(bv,0.2)
  2346. end
  2347. end
  2348. end
  2349. end
  2350. end
  2351. end
  2352. if v:FindFirstChild("HitBy"..Player.Name) then
  2353. v:FindFirstChild("HitBy"..Player.Name):remove()
  2354. end
  2355. end
  2356. end
  2357.  
  2358. function Kill(Char)
  2359. local NewCharacter = IT("Model",Effects)
  2360. NewCharacter.Name = "Ow im ded ;-;"
  2361. for _, c in pairs(Char:GetDescendants()) do
  2362. if c:IsA("BasePart") and c.Transparency == 0 then
  2363. if c.Parent == Char then
  2364. getbloody(c,5)
  2365. end
  2366. c:BreakJoints()
  2367. c.Material = "Glass"
  2368. c.Color = C3(0.5,0,0)
  2369. c.CanCollide = true
  2370. c.Transparency = 0.3
  2371. if c:FindFirstChildOfClass("SpecialMesh") then
  2372. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2373. end
  2374. if c.Name == "Head" then
  2375. c:ClearAllChildren()
  2376. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2377. end
  2378. if c.ClassName == "MeshPart" then
  2379. c.TextureID = ""
  2380. end
  2381. if c:FindFirstChildOfClass("BodyPosition") then
  2382. c:FindFirstChildOfClass("BodyPosition"):remove()
  2383. end
  2384. if c:FindFirstChildOfClass("ParticleEmitter") then
  2385. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2386. end
  2387. c.Parent = NewCharacter
  2388. c.Name = "DeadPart"
  2389. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2390. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2391. end
  2392. end
  2393. Char:remove()
  2394. Debris:AddItem(NewCharacter,5)
  2395. end
  2396.  
  2397. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2398. local CHILDREN = workspace:GetDescendants()
  2399. for index, CHILD in pairs(CHILDREN) do
  2400. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2401. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2402. if HUM then
  2403. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2404. if TORSO then
  2405. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2406. if BRUTAL == true then
  2407. Kill(CHILD)
  2408. else
  2409. CHILD:BreakJoints()
  2410. end
  2411. end
  2412. end
  2413. end
  2414. end
  2415. end
  2416. end
  2417.  
  2418. --//=================================\\
  2419. --|| ATTACK FUNCTIONS AND STUFF
  2420. --\\=================================//
  2421. function Click()
  2422. ATTACK = true
  2423. Rooted = false
  2424. local HIT = nil
  2425. OFFSET = -45
  2426. for i=0, 1, 0.1 / Animation_Speed do
  2427. Swait()
  2428. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  2429. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2430. end
  2431. OFFSET = 45
  2432. local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
  2433. PUNCH.CanCollide = true
  2434. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
  2435. TAUNT = true
  2436. local TOUCH = PUNCH.Touched:Connect(function(hit)
  2437. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  2438. HIT = hit.Parent
  2439. end
  2440. end)
  2441. for i=0, 0.3, 0.1 / Animation_Speed do
  2442. Swait()
  2443. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
  2444. if HIT ~= nil then
  2445. break
  2446. end
  2447. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  2448. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2449. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2450. end
  2451. PUNCH:remove()
  2452. TOUCH:disconnect()
  2453. if HIT ~= nil then
  2454. for _, c in pairs(HIT:GetChildren()) do
  2455. if c:IsA("BasePart") then
  2456. c.Anchored = true
  2457. end
  2458. end
  2459. Rooted = true
  2460. CreateSound(649634100, Torso, 10, 0.8)
  2461. CreateSound(1368573150, RightArm, 3, 1.5)
  2462. for i=0, 0.6, 0.1 / Animation_Speed do
  2463. Swait()
  2464. WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2465. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(25), RAD(-45)), 0.05 / Animation_Speed)
  2466. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2467. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2468. end
  2469. for _, c in pairs(HIT:GetChildren()) do
  2470. if c:IsA("BasePart") then
  2471. c.Anchored = false
  2472. end
  2473. end
  2474. KillChildren(HIT)
  2475. end
  2476. OFFSET = 0
  2477. ATTACK = false
  2478. Rooted = false
  2479. TAUNT = false
  2480. end
  2481.  
  2482. function Teleport()
  2483. ATTACK = true
  2484. Rooted = false
  2485. for i=0, 0.5, 0.1 / Animation_Speed do
  2486. Swait()
  2487. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2488. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  2489. end
  2490. for e = 1, #BODY do
  2491. if BODY[e] ~= nil then
  2492. local STUFF = BODY[e]
  2493. local PART = STUFF[1]
  2494. if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  2495. local PRT = PART:Clone()
  2496. PRT.Anchored = true
  2497. PRT.CanCollide = false
  2498. PRT.Material = "Neon"
  2499. PRT.Color = C3(0,0,0)
  2500. PRT.Name = "WarpEffect"
  2501. PRT.Parent = Effects
  2502. PRT.CFrame = PART.CFrame
  2503. PRT:BreakJoints()
  2504. if PRT:FindFirstChildOfClass("Sound") then
  2505. PRT:FindFirstChildOfClass("Sound"):remove()
  2506. end
  2507. if PRT:FindFirstChildOfClass("Decal") then
  2508. PRT:FindFirstChildOfClass("Decal"):remove()
  2509. end
  2510. coroutine.resume(coroutine.create(function()
  2511. for i = 1, 100 do
  2512. Swait()
  2513. PRT.Transparency = PRT.Transparency + 1/100
  2514. end
  2515. PRT:remove()
  2516. end))
  2517. end
  2518. end
  2519. end
  2520. CreateSound(217767125, Torso, 10, 1)
  2521. local POS = RootPart.Orientation
  2522. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  2523. RootPart.Orientation = POS
  2524. RootJoint.Parent = RootPart
  2525. for i=0, 0.5, 0.1 / Animation_Speed do
  2526. Swait()
  2527. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2528. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  2529. end
  2530. for i=0, 0.1, 0.1 / Animation_Speed do
  2531. Swait()
  2532. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  2533. end
  2534. ATTACK = false
  2535. Rooted = false
  2536. end
  2537.  
  2538. function SpawnSmite(POS)
  2539. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  2540. local EMITPOS = HITPOS
  2541. if HITFLOOR ~= nil then
  2542. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2543. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2544. EMITPOS = HITPOS
  2545. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2546. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2547. EMITPOS = HITPOS
  2548. end
  2549. end
  2550. if HITFLOOR ~= nil then
  2551. ApplyAoE(EMITPOS,10)
  2552. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2553. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2554. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  2555. for i = 1, 5 do
  2556. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  2557. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  2558. end
  2559. end
  2560. end
  2561.  
  2562. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  2563. coroutine.resume(coroutine.create(function()
  2564. local METEOR = IT("Model",Effects)
  2565. METEOR.Name = "Meteorite"
  2566. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2567. METEOR.PrimaryPart = CENTER
  2568. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2569. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2570. for i = 1, 15 do
  2571. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
  2572. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2573. end
  2574. if ISDEBREE ~= true then
  2575. METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2576. else
  2577. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2578. end
  2579. local IMPACT = false
  2580. CreateSound(463593339, CENTER, 10, 0.6)
  2581. if SIZE >= 3.5 then
  2582. for i = 1, MRANDOM(3,7) do
  2583. SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  2584. end
  2585. end
  2586. for i = 1, 200 do
  2587. Swait()
  2588. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  2589. if HITFLOOR == nil then
  2590. local ORI = CENTER.Orientation
  2591. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2592. else
  2593. if HITFLOOR.Anchored == true then
  2594. CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  2595. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  2596. end
  2597. IMPACT = true
  2598. break
  2599. end
  2600. end
  2601. if IMPACT == true then
  2602. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2603. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  2604. WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  2605. ApplyAoE(CENTER.Position,30*SIZE)
  2606. end
  2607. METEOR:remove()
  2608. end))
  2609. end
  2610. function Equivalent_Pain()
  2611. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2612. if HITFLOOR then
  2613. ATTACK = true
  2614. Rooted = true
  2615. FULL = true
  2616. local GYRO = IT("BodyGyro",RootPart)
  2617. GYRO.D = 25
  2618. GYRO.P = 20000
  2619. GYRO.MaxTorque = VT(0,math.huge,0)
  2620. for i=0, 0.3, 0.1 / Animation_Speed do
  2621. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2622. Swait()
  2623. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2624. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2625. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2626. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2627. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
  2628. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
  2629. end
  2630. GYRO:remove()
  2631. CreateSound(12222200, RightArm, 10, 1)
  2632. for i=0, 0.4, 0.1 / Animation_Speed do
  2633. Swait()
  2634. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2635. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2636. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2637. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2638. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  2639. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2640. end
  2641. CreateSound(289842971, RightArm, 10, 1)
  2642. coroutine.resume(coroutine.create(function()
  2643. local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
  2644. local ECHO = POS
  2645. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2646. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2647. ECHO = POS
  2648. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2649. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2650. ECHO = POS
  2651. end
  2652. if ECHO.Y == HITPOS.Y then
  2653. local DISTANCE = (HITPOS - ECHO).Magnitude/3
  2654. local CFRAME = CF(HITPOS,ECHO)
  2655. local RANGE = math.ceil(DISTANCE)
  2656. for i = 1, RANGE-1 do
  2657. Swait(3)
  2658. local A = CFRAME*CF(0,0,-i*3)
  2659. ApplyAoE(A.p,4)
  2660. CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
  2661. end
  2662. local SIZE = 3
  2663. local POS = CFRAME*CF(0,0,-RANGE*3).p
  2664. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
  2665. WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  2666. WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  2667. for i = 1, 9 do
  2668. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  2669. end
  2670. for i = 1, 9 do
  2671. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  2672. end
  2673. ApplyAoE(POS,30*SIZE)
  2674. CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
  2675. CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
  2676. end
  2677. end))
  2678. for i=0, 0.6, 0.1 / Animation_Speed do
  2679. Swait()
  2680. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2681. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2682. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2683. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2684. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  2685. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2686. end
  2687. FULL = false
  2688. ATTACK = false
  2689. Rooted = false
  2690. end
  2691. end
  2692.  
  2693. function ReeeEEEEEE()
  2694. ATTACK = true
  2695. Rooted = false
  2696. Speed = 12
  2697. local FX = CreateSound(198165368, Head, 4, 0.5, false)
  2698. repeat
  2699. Swait()
  2700. FX.Parent = Head
  2701. local CHILDREN = workspace:GetDescendants()
  2702. for index, CHILD in pairs(CHILDREN) do
  2703. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2704. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2705. if HUM then
  2706. local TORSO = CHILD:FindFirstChild("Head")
  2707. if TORSO then
  2708. if (TORSO.Position - Head.Position).Magnitude <= 25 then
  2709. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2710. TORSO:remove()
  2711. if CHILD:FindFirstChild("Torso") then
  2712. Ragdoll(CHILD,Torso,true)
  2713. elseif CHILD:FindFirstChild("UpperTorso") then
  2714. R15Ragdoll(CHILD,true)
  2715. end
  2716. end
  2717. end
  2718. end
  2719. end
  2720. end
  2721. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2722. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2723. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(15)) * ANGLES(RAD(0), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2724. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-15)) * ANGLES(RAD(0), RAD(-15), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2725. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(-45), RAD(80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2726. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-45), RAD(-80), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2727. until FX.Playing == false
  2728. Speed = 16
  2729. ATTACK = false
  2730. Rooted = false
  2731. end
  2732.  
  2733. function Charge(TIME,GYRO)
  2734. local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  2735. local G = nil
  2736. if GYRO == true then
  2737. G = IT("BodyGyro",RootPart)
  2738. G.D = 250
  2739. G.P = 200000
  2740. G.MaxTorque = VT(math.huge,math.huge,math.huge)
  2741. end
  2742. for i=0, TIME, 0.1 / Animation_Speed do
  2743. Swait()
  2744. if G then
  2745. G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2746. end
  2747. WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2748. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2749. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2750. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2751. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2752. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2753. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2754. end
  2755. SND:remove()
  2756. if G then
  2757. return G
  2758. end
  2759. end
  2760.  
  2761. function Corrupted_Beam()
  2762. ATTACK = true
  2763. Rooted = false
  2764. local GRAV = IT("BodyPosition",RootPart)
  2765. GRAV.D = 75
  2766. GRAV.P = 20000
  2767. GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
  2768. GRAV.Position = RootPart.Position
  2769. local GYRO = Charge(2,true)
  2770. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(15,15,0))
  2771. MakeForm(BEAM,"Ball")
  2772. CreateSound(BEAMSOUND,BEAM,10,1,false)
  2773. CreateSound(BEAMSOUND,BEAM,10,0.9,false)
  2774. CreateSound(BEAMSOUND,BEAM,10,0.8,false)
  2775. for i = 1, 150 do
  2776. Swait()
  2777. BEAM.Size = BEAM.Size + VT(-0.1,-0.1,2)
  2778. ApplyAoE(BEAM.CFrame*CF(0,0,-BEAM.Size.Z/2).p,BEAM.Size.Y/2,50,200,0,false)
  2779. WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BEAM.CFrame*CF(0,0,BEAM.Size.Z/2), MoveToPos = BEAM.CFrame*CF(0,0,BEAM.Size.Z/2)*ANGLES(RAD(90),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0.3,-25).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2780. BEAM.CFrame = CF(Torso.Position,Torso.CFrame*CF(0,0,-1).p)*CF(0,0,-2-(BEAM.Size.Z/2))
  2781. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2782. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2783. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2784. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2785. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2786. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2787. end
  2788. GRAV:remove()
  2789. BEAM:remove()
  2790. GYRO:remove()
  2791. ATTACK = false
  2792. Rooted = false
  2793. end
  2794.  
  2795. function Corrupted_Explosion()
  2796. ATTACK = true
  2797. Rooted = true
  2798. for i=0, 1, 0.1 / Animation_Speed do
  2799. Swait()
  2800. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  2801. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  2802. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  2803. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  2804. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2805. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2806. end
  2807. for i=0, 0.4, 0.1 / Animation_Speed do
  2808. Swait()
  2809. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2810. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2811. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2812. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2813. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2814. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2815. end
  2816. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2817. local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2818. MakeForm(BEAM,"Ball")
  2819. MakeForm(BEAM2,"Ball")
  2820. BEAM.CFrame = CF(RootPart.Position)
  2821. BEAM2.CFrame = CF(RootPart.Position)
  2822. CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2823. for i=1, 100 do
  2824. Swait()
  2825. BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
  2826. BEAM2.Size = BEAM2.Size + VT(2,2,2)
  2827. ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
  2828. BEAM.CFrame = CF(RootPart.Position)
  2829. BEAM2.CFrame = CF(RootPart.Position)
  2830. WACKYEFFECT({TIME = 5+i, EffectType = "Swirl", Size = BEAM2.Size*1.15, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0.8, Transparency2 = 1, CFrame = BEAM.CFrame * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2831. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2832. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2833. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2834. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2835. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2836. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2837. end
  2838. WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM.Size, Size2 = VT(0,BEAM.Size.Y,0), Transparency = 0, Transparency2 = 0, CFrame = BEAM.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2839. WACKYEFFECT({TIME = 75, EffectType = "Sphere", Size = BEAM2.Size, Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 0.6, CFrame = BEAM2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2840. BEAM2:remove()
  2841. BEAM:remove()
  2842. ATTACK = false
  2843. Rooted = false
  2844. end
  2845.  
  2846. function Corrupted_Immobilization()
  2847. ATTACK = true
  2848. Rooted = true
  2849. Charge(2,false)
  2850. local SND = CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2851. local SND2 = CreateSound(ENERGYSOUND,RootPart,10,1,false)
  2852. for i = 1, 60 do
  2853. Swait()
  2854. ApplyAoE(RootPart.Position,i*1.3,10,20,-200,true)
  2855. SND.Pitch = SND.Pitch - 1/60
  2856. SND2.Pitch = SND.Pitch
  2857. WACKYEFFECT({TIME = 4, EffectType = "Wave", Size = VT(i*2,10,i*2), Size2 = VT(i*2,10,i*2), Transparency = 0.9, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2858. WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,10,0), Size2 = VT(i*2,6,i*2), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(0), RAD(i*5), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2859. WACKYEFFECT({TIME = math.ceil(15-(i/10)), EffectType = "Wave", Size = VT(0,6,0), Size2 = VT(i*1.6,10,i*1.6), Transparency = 0.8, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3,0)) * ANGLES(RAD(MRANDOM(-5,5)), RAD(i*5), RAD(MRANDOM(-5,5))), MoveToPos = nil, RotationX = 0, RotationY = i/8, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2860. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2861. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2862. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2863. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2864. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2865. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2866. end
  2867. SND:remove()
  2868. SND2:remove()
  2869. ATTACK = false
  2870. Rooted = false
  2871. end
  2872.  
  2873. --//=================================\\
  2874. --|| ASSIGN THINGS TO KEYS
  2875. --\\=================================//
  2876.  
  2877. function MouseDown(Mouse)
  2878. if ATTACK == false then
  2879. Click()
  2880. end
  2881. end
  2882.  
  2883. function MouseUp(Mouse)
  2884. HOLD = false
  2885. end
  2886.  
  2887. function KeyDown(Key)
  2888. KEYHOLD = true
  2889. if Key == "z" and ATTACK == false then
  2890. Corrupted_Beam()
  2891. end
  2892.  
  2893. if Key == "e" and ATTACK == false then
  2894. ReeeEEEEEE()
  2895. end
  2896.  
  2897. if Key == "r" and ATTACK == false then
  2898. Teleport()
  2899. end
  2900.  
  2901. if Key == "q" and ATTACK == false then
  2902. Equivalent_Pain()
  2903. end
  2904.  
  2905. if Key == "x" and ATTACK == false then
  2906. Corrupted_Explosion()
  2907. end
  2908.  
  2909. if Key == "c" and ATTACK == false then
  2910. Corrupted_Immobilization()
  2911. elseif Key == "1" and ATTACK == false then
  2912. if CHOICE ~= 1 then
  2913. CHOICE = 1
  2914. sick:Play()
  2915. end
  2916. elseif Key == "2" and ATTACK == false then
  2917. if CHOICE ~= 2 then
  2918. CHOICE = 2
  2919. sick:Play()
  2920. end
  2921. elseif Key == "3" and ATTACK == false then
  2922. if CHOICE ~= 3 then
  2923. CHOICE = 3
  2924. sick:Play()
  2925. end
  2926. elseif Key == "4" and ATTACK == false then
  2927. if CHOICE ~= 4 then
  2928. CHOICE = 4
  2929. sick:Play()
  2930. end
  2931.  
  2932. end
  2933. end
  2934.  
  2935.  
  2936.  
  2937. function KeyUp(Key)
  2938. KEYHOLD = false
  2939. end
  2940.  
  2941. Mouse.Button1Down:connect(function(NEWKEY)
  2942. MouseDown(NEWKEY)
  2943. end)
  2944. Mouse.Button1Up:connect(function(NEWKEY)
  2945. MouseUp(NEWKEY)
  2946. end)
  2947. Mouse.KeyDown:connect(function(NEWKEY)
  2948. KeyDown(NEWKEY)
  2949. end)
  2950. Mouse.KeyUp:connect(function(NEWKEY)
  2951. KeyUp(NEWKEY)
  2952. end)
  2953.  
  2954. --//=================================\\
  2955. --\\=================================//
  2956.  
  2957. function unanchor()
  2958. if UNANCHOR == true then
  2959. g = Character:GetChildren()
  2960. for i = 1, #g do
  2961. if g[i].ClassName == "Part" then
  2962. g[i].Anchored = false
  2963. end
  2964. end
  2965. end
  2966. end
  2967.  
  2968. --//=================================\\
  2969. --|| WRAP THE WHOLE SCRIPT UP
  2970. --\\=================================//
  2971.  
  2972. Humanoid.Changed:connect(function(Jump)
  2973. if Jump == "Jump" and (Disable_Jump == true) then
  2974. Humanoid.Jump = false
  2975. end
  2976. end)
  2977.  
  2978. while true do
  2979. Swait()
  2980. script.Parent = WEAPONGUI
  2981. ANIMATE.Parent = nil
  2982. if Humanoid then
  2983. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2984. IDLEANIMATION:Play()
  2985. end
  2986. SINE = SINE + CHANGE
  2987. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2988. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2989. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2990. local WALKSPEEDVALUE = 5 / (Humanoid.WalkSpeed / 16)
  2991. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2992. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2993. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2994. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2995. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(45 * COS(SINE / WALKSPEEDVALUE))), 1 / Animation_Speed)
  2996. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2997. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2998. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2999. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3000. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3001. end
  3002. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  3003. ANIM = "Jump"
  3004. if ATTACK == false then
  3005. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3006. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3007. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  3008. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3009. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  3010. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  3011. end
  3012. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3013. ANIM = "Fall"
  3014. if ATTACK == false then
  3015. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3016. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3017. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  3018. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3019. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  3020. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  3021. end
  3022. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  3023. ANIM = "Idle"
  3024. if ATTACK == false then
  3025. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3026. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3027. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3028. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3029. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3030. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3031. if VALUE1 == false and MRANDOM(1,200) == 1 then
  3032. coroutine.resume(coroutine.create(function()
  3033. VALUE1 = true
  3034. for i = 1, 25 do
  3035. Swait()
  3036. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD((15+MRANDOM(-15,15)/15)), RAD(0)), 3 / Animation_Speed)
  3037.  
  3038. end
  3039. VALUE1 = false
  3040. end))
  3041. end
  3042. end
  3043.  
  3044.  
  3045. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  3046. ANIM = "Walk"
  3047. if ATTACK == false then
  3048. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3049. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3050. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.15 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(25 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3051. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15 * SIN(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(-25 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3052. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  3053. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  3054. end
  3055. end
  3056.  
  3057.  
  3058. sick.Parent = Torso
  3059. sick.Playing = true
  3060.  
  3061.  
  3062. unanchor()
  3063. Humanoid.MaxHealth = "inf"
  3064. Humanoid.Health = "inf"
  3065. if Rooted == false then
  3066. Disable_Jump = false
  3067. Humanoid.WalkSpeed = Speed
  3068. elseif Rooted == true then
  3069. Disable_Jump = true
  3070. Humanoid.WalkSpeed = 0
  3071. end
  3072. end
  3073. --//=================================\\
  3074. --\\=================================//
  3075.  
  3076.  
  3077.  
  3078.  
  3079.  
  3080. --//====================================================\\--
  3081. --|| END OF SCRIPT
  3082. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement