Vechol

PLSS WORKKK

Sep 22nd, 2018
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 72.83 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4. print("FE Compatibility code by Mokiros")
  5. script.Parent = Player.Character
  6.  
  7. --RemoteEvent for communicating
  8. local Event = Instance.new("RemoteEvent")
  9. Event.Name = "UserInput_Event"
  10.  
  11. --Fake event to make stuff like Mouse.KeyDown work
  12. local function fakeEvent()
  13. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14. t.connect = t.Connect
  15. return t
  16. end
  17.  
  18. --Creating fake input objects with fake variables
  19. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23. end}
  24. --Merged 2 functions into one by checking amount of arguments
  25. CAS.UnbindAction = CAS.BindAction
  26.  
  27. --This function will trigger the events that have been :Connect()'ed
  28. local function te(self,ev,...)
  29. local t = m[ev]
  30. if t and t._fakeEvent and t.Function then
  31. t.Function(...)
  32. end
  33. end
  34. m.TrigEvent = te
  35. UIS.TrigEvent = te
  36.  
  37. Event.OnServerEvent:Connect(function(plr,io)
  38. if plr~=Player then return end
  39. if io.isMouse then
  40. m.Target = io.Target
  41. m.Hit = io.Hit
  42. else
  43. local b = io.UserInputState == Enum.UserInputState.Begin
  44. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46. end
  47. for _,t in pairs(CAS.Actions) do
  48. for _,k in pairs(t.Keys) do
  49. if k==io.KeyCode then
  50. t.Function(t.Name,io.UserInputState,io)
  51. end
  52. end
  53. end
  54. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56. end
  57. end)
  58. Event.Parent = NLS([==[
  59. local Player = game:GetService("Players").LocalPlayer
  60. local Event = script:WaitForChild("UserInput_Event")
  61.  
  62. local UIS = game:GetService("UserInputService")
  63. local input = function(io,a)
  64. if a then return end
  65. --Since InputObject is a client-side instance, we create and pass table instead
  66. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67. end
  68. UIS.InputBegan:Connect(input)
  69. UIS.InputEnded:Connect(input)
  70.  
  71. local Mouse = Player:GetMouse()
  72. local h,t
  73. --Give the server mouse data 30 times every second, but only if the values changed
  74. --If player is not moving their mouse, client won't fire events
  75. while wait(1/30) do
  76. if h~=Mouse.Hit or t~=Mouse.Target then
  77. h,t=Mouse.Hit,Mouse.Target
  78. Event:FireServer({isMouse=true,Target=t,Hit=h})
  79. end
  80. end]==],Player.Character)
  81. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84. --//====================================================\\--
  85. --|| CREATED BY SHACKLUSTER, EDIT BY XXUNORIBOASXX
  86. --\\====================================================//--
  87.  
  88.  
  89.  
  90. wait(0.2)
  91.  
  92.  
  93.  
  94. Player = owner
  95. PlayerGui = Player.PlayerGui
  96. Cam = workspace.CurrentCamera
  97. Backpack = Player.Backpack
  98. Character = Player.Character
  99. Humanoid = Character.Humanoid
  100. RootPart = Character["HumanoidRootPart"]
  101. Torso = Character["Torso"]
  102. Head = Character["Head"]
  103. RightArm = Character["Right Arm"]
  104. LeftArm = Character["Left Arm"]
  105. RightLeg = Character["Right Leg"]
  106. LeftLeg = Character["Left Leg"]
  107. RootJoint = RootPart["RootJoint"]
  108. Neck = Torso["Neck"]
  109. RightShoulder = Torso["Right Shoulder"]
  110. LeftShoulder = Torso["Left Shoulder"]
  111. RightHip = Torso["Right Hip"]
  112. LeftHip = Torso["Left Hip"]
  113. local sick = Instance.new("Sound",Character)
  114. sick.SoundId = "rbxassetid://1167151479"
  115. sick.Looped = true
  116. sick.Pitch = 1
  117. sick.Volume = 1
  118. sick:Play()
  119.  
  120. local naeeym2 = Instance.new("BillboardGui",Character)
  121. naeeym2.AlwaysOnTop = true
  122. naeeym2.Size = UDim2.new(5,35,2,35)
  123. naeeym2.StudsOffset = Vector3.new(0,3,0)
  124. naeeym2.Adornee = Character.Head
  125. naeeym2.Name = "Name"
  126. --naeeym2.PlayerToHideFrom = Player
  127. naeeym2.MaxDistance = 200
  128. local tecks2 = Instance.new("TextLabel",naeeym2)
  129. tecks2.BackgroundTransparency = 1
  130. tecks2.TextScaled = true
  131. tecks2.BorderSizePixel = 0
  132. tecks2.Text = "Edited By Vechol"
  133. tecks2.Font = "SciFi"
  134. tecks2.TextSize = 30
  135. tecks2.TextStrokeTransparency = 1
  136. tecks2.TextColor3 = Color3.new(255,255,255)
  137. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  138. tecks2.Size = UDim2.new(1,0,0.5,0)
  139. tecks2.Parent = naeeym2
  140.  
  141. IT = Instance.new
  142. CF = CFrame.new
  143. VT = Vector3.new
  144. RAD = math.rad
  145. C3 = Color3.new
  146. UD2 = UDim2.new
  147. BRICKC = BrickColor.new
  148. ANGLES = CFrame.Angles
  149. EULER = CFrame.fromEulerAnglesXYZ
  150. COS = math.cos
  151. ACOS = math.acos
  152. SIN = math.sin
  153. ASIN = math.asin
  154. ABS = math.abs
  155. MRANDOM = math.random
  156. FLOOR = math.floor
  157.  
  158. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  159. local NEWMESH = IT(MESH)
  160. if MESH == "SpecialMesh" then
  161. NEWMESH.MeshType = MESHTYPE
  162. if MESHID ~= "nil" and MESHID ~= "" then
  163. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  164. end
  165. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  166. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  167. end
  168. end
  169. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  170. NEWMESH.Scale = SCALE
  171. NEWMESH.Parent = PARENT
  172. return NEWMESH
  173. end
  174.  
  175. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  176. local NEWPART = IT("Part")
  177. NEWPART.formFactor = FORMFACTOR
  178. NEWPART.Reflectance = REFLECTANCE
  179. NEWPART.Transparency = TRANSPARENCY
  180. NEWPART.CanCollide = false
  181. NEWPART.Locked = true
  182. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  183. NEWPART.Name = NAME
  184. NEWPART.Size = SIZE
  185. NEWPART.Position = Torso.Position
  186. NEWPART.Material = MATERIAL
  187. NEWPART:BreakJoints()
  188. NEWPART.Parent = PARENT
  189. return NEWPART
  190. end
  191.  
  192.  
  193. --//=================================\\
  194. --|| CUSTOMIZATION
  195. --\\=================================//
  196.  
  197. Class_Name = "₱Ɽł₴₥.exe"
  198. Weapon_Name = "Add-ons"
  199.  
  200. Custom_Colors = {
  201. Custom_Color_1 = BRICKC("Lime green"); --1st color for the weapon.
  202. Custom_Color_2 = BRICKC("Lime green"); --2nd color for the weapon.
  203.  
  204. Custom_Color_3 = BRICKC("Lime green"); --Color for the abilities.
  205. Custom_Color_4 = BRICKC("Lime green"); --Color for the secondary bar.
  206. Custom_Color_5 = BRICKC("Lime green"); --Color for the mana bar.
  207. Custom_Color_6 = BRICKC("Lime green"); --Color for the stun bar.
  208. Custom_Color_8 = BRICKC("Lime green"); --Background for the mana bar.
  209. Custom_Color_9 = BRICKC("Lime green"); --Background for the secondary mana bar.
  210. Custom_Color_10 = BRICKC("Lime green"); --Background for the stun bar.
  211. Custom_Color_11 = BRICKC("Lime green"); --Background for the health bar.
  212. Custom_Color_12 = BRICKC("Lime green"); --Background for the abilities.
  213. }
  214.  
  215.  
  216. Player_Size = 1 --Size of the player.
  217. Animation_Speed = 3
  218. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  219.  
  220. local Speed = 16
  221. local Effects2 = {}
  222.  
  223. --//=================================\\
  224. --|| END OF CUSTOMIZATION
  225. --\\=================================//
  226.  
  227. local function weldBetween(a, b)
  228. local weldd = Instance.new("ManualWeld")
  229. weldd.Part0 = a
  230. weldd.Part1 = b
  231. weldd.C0 = CFrame.new()
  232. weldd.C1 = b.CFrame:inverse() * a.CFrame
  233. weldd.Parent = a
  234. return weldd
  235. end
  236.  
  237. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  238. local acs = Instance.new("Part")
  239. acs.CanCollide = false
  240. acs.Anchored = false
  241. acs.Size = Vector3.new(0,0,0)
  242. acs.CFrame = attachmentpart.CFrame
  243. acs.Parent = Character
  244. acs.BrickColor = color
  245. local meshs = Instance.new("SpecialMesh")
  246. meshs.MeshId = mesh
  247. meshs.TextureId = texture
  248. meshs.Parent = acs
  249. meshs.Scale = scale
  250. meshs.Offset = offset
  251. weldBetween(attachmentpart,acs)
  252. end
  253.  
  254. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  255. if TYPE == "Gem" then
  256. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  257. acs.Anchored = false
  258. acs.CanCollide = false
  259. acs.CFrame = PART.CFrame
  260. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  261. weldBetween(PART,acs)
  262. elseif TYPE == "Skull" then
  263. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  264. acs.Anchored = false
  265. acs.CanCollide = false
  266. acs.CFrame = PART.CFrame
  267. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  268. weldBetween(PART,acs)
  269. elseif TYPE == "Eye" then
  270. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  271. acs.Anchored = false
  272. acs.CanCollide = false
  273. acs.CFrame = PART.CFrame
  274. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  275. weldBetween(PART,acs)
  276. end
  277. end
  278.  
  279. --//=================================\\
  280. --|| USEFUL VALUES
  281. --\\=================================//
  282.  
  283. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  284. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  285. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  286. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  287. local CO1 = 0
  288. local CO2 = 0
  289. local CO3 = 0
  290. local CO4 = 0
  291. local CHANGEDEFENSE = 0
  292. local CHANGEDAMAGE = 0
  293. local CHANGEMOVEMENT = 0
  294. local ANIM = "Idle"
  295. local ATTACK = false
  296. local EQUIPPED = false
  297. local HOLD = false
  298. local COMBO = 1
  299. local LASTPOINT = nil
  300. local BLCF = nil
  301. local SCFR = nil
  302. local STAGGERHITANIM = false
  303. local STAGGERANIM = false
  304. local STUNANIM = false
  305. local CRITCHANCENUMBER = 0
  306. local IDLENUMBER = 0
  307. local DONUMBER = 0
  308. local HANDIDLE = false
  309. local SINE = 0
  310. local CHANGE = 2 / Animation_Speed
  311. local WALKINGANIM = false
  312. local WALK = 0
  313. local KEYHOLD = false
  314. local DISABLEJUMPING = false
  315. local HASBEENBLOCKED = false
  316. local STUNDELAYNUMBER = 0
  317. local MANADELAYNUMBER = 0
  318. local SECONDARYMANADELAYNUMBER = 0
  319. local ROBLOXIDLEANIMATION = IT("Animation")
  320. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  321. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  322. --ROBLOXIDLEANIMATION.Parent = Humanoid
  323. local WEAPONGUI = IT("ScreenGui", nil)
  324. WEAPONGUI.Name = "Weapon GUI"
  325. local WEAPONTOOL = IT("HopperBin", nil)
  326. WEAPONTOOL.Name = Weapon_Name
  327. local Weapon = IT("Model")
  328. Weapon.Name = Weapon_Name
  329. local Effects = IT("Folder", Weapon)
  330. Effects.Name = "Effects"
  331. local ANIMATOR = Humanoid.Animator
  332. local ANIMATE = Character.Animate
  333. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  334. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  335. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  336. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  337. local CUTSOUNDS = {"645750958","645747150"}
  338. local VICIOUSWOOSH = "658941933"
  339. local RELEASESOUND = "565538688"
  340. local CHARGESOUND = "565538601"
  341. local UNANCHOR = true
  342. local MAGICPARTICLE = "1229782954"
  343.  
  344. --//=================================\\
  345. --\\=================================//
  346.  
  347. --//=================================\\
  348. --|| STATS
  349. --\\=================================//
  350.  
  351. if Character:FindFirstChild("Stats") ~= nil then
  352. Character:FindFirstChild("Stats").Parent = nil
  353. end
  354.  
  355. local Stats = IT("Folder", nil)
  356. Stats.Name = "Stats"
  357. local ChangeStat = IT("Folder", Stats)
  358. ChangeStat.Name = "ChangeStat"
  359. local Defense = IT("NumberValue", Stats)
  360. Defense.Name = "Defense"
  361. Defense.Value = 1
  362. local Movement = IT("NumberValue", Stats)
  363. Movement.Name = "Movement"
  364. Movement.Value = 1
  365. local Damage = IT("NumberValue", Stats)
  366. Damage.Name = "Damage"
  367. Damage.Value = 1
  368. local Mana = IT("NumberValue", Stats)
  369. Mana.Name = "Mana"
  370. Mana.Value = 0
  371. local SecondaryMana = IT("NumberValue", Stats)
  372. SecondaryMana.Name = "SecondaryMana"
  373. SecondaryMana.Value = 0
  374. local CanCrit = IT("BoolValue", Stats)
  375. CanCrit.Name = "CanCrit"
  376. CanCrit.Value = false
  377. local CritChance = IT("NumberValue", Stats)
  378. CritChance.Name = "CritChance"
  379. CritChance.Value = 20
  380. local CanPenetrateArmor = IT("BoolValue", Stats)
  381. CanPenetrateArmor.Name = "CanPenetrateArmor"
  382. CanPenetrateArmor.Value = false
  383. local AntiTeamKill = IT("BoolValue", Stats)
  384. AntiTeamKill.Name = "AntiTeamKill"
  385. AntiTeamKill.Value = false
  386. local Rooted = IT("BoolValue", Stats)
  387. Rooted.Name = "Rooted"
  388. Rooted.Value = false
  389. local Block = IT("BoolValue", Stats)
  390. Block.Name = "Block"
  391. Block.Value = false
  392. local RecentEnemy = IT("ObjectValue", Stats)
  393. RecentEnemy.Name = "RecentEnemy"
  394. RecentEnemy.Value = nil
  395. local StaggerHit = IT("BoolValue", Stats)
  396. StaggerHit.Name = "StaggerHit"
  397. StaggerHit.Value = false
  398. local Stagger = IT("BoolValue", Stats)
  399. Stagger.Name = "Stagger"
  400. Stagger.Value = false
  401. local Stun = IT("BoolValue", Stats)
  402. Stun.Name = "Stun"
  403. Stun.Value = false
  404. local StunValue = IT("NumberValue", Stats)
  405. StunValue.Name = "StunValue"
  406. StunValue.Value = 0
  407.  
  408.  
  409. --//=================================\\
  410. --\\=================================//
  411.  
  412.  
  413.  
  414.  
  415.  
  416. --//=================================\\
  417. --|| DEBUFFS / BUFFS
  418. --\\=================================//
  419.  
  420. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  421. DEFENSECHANGE1.Name = "ChangeDefense"
  422. DEFENSECHANGE1.Value = 0
  423.  
  424. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  425. MOVEMENTCHANGE1.Name = "ChangeMovement"
  426. MOVEMENTCHANGE1.Value = 0
  427.  
  428. --//=================================\\
  429. --\\=================================//
  430.  
  431.  
  432.  
  433.  
  434.  
  435. --//=================================\\
  436. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  437. --\\=================================//
  438.  
  439. ArtificialHB = Instance.new("BindableEvent", script)
  440. ArtificialHB.Name = "ArtificialHB"
  441.  
  442. script:WaitForChild("ArtificialHB")
  443.  
  444. frame = Frame_Speed
  445. tf = 0
  446. allowframeloss = false
  447. tossremainder = false
  448. lastframe = tick()
  449. script.ArtificialHB:Fire()
  450.  
  451. game:GetService("RunService").Heartbeat:connect(function(s, p)
  452. tf = tf + s
  453. if tf >= frame then
  454. if allowframeloss then
  455. script.ArtificialHB:Fire()
  456. lastframe = tick()
  457. else
  458. for i = 1, math.floor(tf / frame) do
  459. script.ArtificialHB:Fire()
  460. end
  461. lastframe = tick()
  462. end
  463. if tossremainder then
  464. tf = 0
  465. else
  466. tf = tf - frame * math.floor(tf / frame)
  467. end
  468. end
  469. end)
  470.  
  471. --//=================================\\
  472. --\\=================================//
  473.  
  474.  
  475.  
  476.  
  477.  
  478. --//=================================\\
  479. --|| SOME FUNCTIONS
  480. --\\=================================//
  481.  
  482. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  483. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  484. end
  485.  
  486. function PositiveAngle(NUMBER)
  487. if NUMBER >= 0 then
  488. NUMBER = 0
  489. end
  490. return NUMBER
  491. end
  492.  
  493. function NegativeAngle(NUMBER)
  494. if NUMBER <= 0 then
  495. NUMBER = 0
  496. end
  497. return NUMBER
  498. end
  499.  
  500. function Swait(NUMBER)
  501. if NUMBER == 0 or NUMBER == nil then
  502. ArtificialHB.Event:wait()
  503. else
  504. for i = 1, NUMBER do
  505. ArtificialHB.Event:wait()
  506. end
  507. end
  508. end
  509.  
  510. function QuaternionFromCFrame(cf)
  511. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  512. local trace = m00 + m11 + m22
  513. if trace > 0 then
  514. local s = math.sqrt(1 + trace)
  515. local recip = 0.5 / s
  516. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  517. else
  518. local i = 0
  519. if m11 > m00 then
  520. i = 1
  521. end
  522. if m22 > (i == 0 and m00 or m11) then
  523. i = 2
  524. end
  525. if i == 0 then
  526. local s = math.sqrt(m00 - m11 - m22 + 1)
  527. local recip = 0.5 / s
  528. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  529. elseif i == 1 then
  530. local s = math.sqrt(m11 - m22 - m00 + 1)
  531. local recip = 0.5 / s
  532. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  533. elseif i == 2 then
  534. local s = math.sqrt(m22 - m00 - m11 + 1)
  535. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  536. end
  537. end
  538. end
  539.  
  540. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  541. local xs, ys, zs = x + x, y + y, z + z
  542. local wx, wy, wz = w * xs, w * ys, w * zs
  543. local xx = x * xs
  544. local xy = x * ys
  545. local xz = x * zs
  546. local yy = y * ys
  547. local yz = y * zs
  548. local zz = z * zs
  549. 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))
  550. end
  551.  
  552. function QuaternionSlerp(a, b, t)
  553. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  554. local startInterp, finishInterp;
  555. if cosTheta >= 0.0001 then
  556. if (1 - cosTheta) > 0.0001 then
  557. local theta = ACOS(cosTheta)
  558. local invSinTheta = 1 / SIN(theta)
  559. startInterp = SIN((1 - t) * theta) * invSinTheta
  560. finishInterp = SIN(t * theta) * invSinTheta
  561. else
  562. startInterp = 1 - t
  563. finishInterp = t
  564. end
  565. else
  566. if (1 + cosTheta) > 0.0001 then
  567. local theta = ACOS(-cosTheta)
  568. local invSinTheta = 1 / SIN(theta)
  569. startInterp = SIN((t - 1) * theta) * invSinTheta
  570. finishInterp = SIN(t * theta) * invSinTheta
  571. else
  572. startInterp = t - 1
  573. finishInterp = t
  574. end
  575. end
  576. 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
  577. end
  578.  
  579. function Clerp(a, b, t)
  580. local qa = {QuaternionFromCFrame(a)}
  581. local qb = {QuaternionFromCFrame(b)}
  582. local ax, ay, az = a.x, a.y, a.z
  583. local bx, by, bz = b.x, b.y, b.z
  584. local _t = 1 - t
  585. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  586. end
  587.  
  588. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  589. local frame = IT("Frame")
  590. frame.BackgroundTransparency = TRANSPARENCY
  591. frame.BorderSizePixel = BORDERSIZEPIXEL
  592. frame.Position = POSITION
  593. frame.Size = SIZE
  594. frame.BackgroundColor3 = COLOR
  595. frame.BorderColor3 = BORDERCOLOR
  596. frame.Name = NAME
  597. frame.Parent = PARENT
  598. return frame
  599. end
  600.  
  601. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  602. local label = IT("TextLabel")
  603. label.BackgroundTransparency = 1
  604. label.Size = UD2(1, 0, 1, 0)
  605. label.Position = UD2(0, 0, 0, 0)
  606. label.TextColor3 = C3(255, 255, 255)
  607. label.TextStrokeTransparency = STROKETRANSPARENCY
  608. label.TextTransparency = TRANSPARENCY
  609. label.FontSize = TEXTFONTSIZE
  610. label.Font = TEXTFONT
  611. label.BorderSizePixel = BORDERSIZEPIXEL
  612. label.TextScaled = true
  613. label.Text = TEXT
  614. label.Name = NAME
  615. label.Parent = PARENT
  616. return label
  617. end
  618.  
  619. function NoOutlines(PART)
  620. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  621. end
  622.  
  623.  
  624. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  625. local NEWWELD = IT(TYPE)
  626. NEWWELD.Part0 = PART0
  627. NEWWELD.Part1 = PART1
  628. NEWWELD.C0 = C0
  629. NEWWELD.C1 = C1
  630. NEWWELD.Parent = PARENT
  631. return NEWWELD
  632. end
  633.  
  634. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  635. local NEWSOUND = nil
  636. coroutine.resume(coroutine.create(function()
  637. NEWSOUND = IT("Sound", PARENT)
  638. NEWSOUND.Volume = VOLUME
  639. NEWSOUND.Pitch = PITCH
  640. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  641. --Swait()
  642. NEWSOUND:play()
  643. if DOESLOOP == false then
  644. repeat Swait() until NEWSOUND.Playing == false
  645. NEWSOUND:remove()
  646. elseif DOESLOOP == true then
  647. NEWSOUND.Looped = true
  648. end
  649. end))
  650. return NEWSOUND
  651. end
  652.  
  653. function CFrameFromTopBack(at, top, back)
  654. local right = top:Cross(back)
  655. 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)
  656. end
  657.  
  658. function CreateWave(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  659. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  660. local mesh = IT("SpecialMesh",wave)
  661. mesh.MeshType = "FileMesh"
  662. wave.Anchored = true
  663. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  664. mesh.Scale = VT(size,size,size)
  665. mesh.Offset = VT(0,0,-size/8)
  666. wave.CFrame = CF(part.p) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  667. coroutine.resume(coroutine.create(function(PART)
  668. for i = 1, waitt do
  669. Swait()
  670. mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  671. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  672. if doesrotate == true then
  673. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  674. end
  675. wave.Transparency = wave.Transparency + (0.5/waitt)
  676. if wave.Transparency > 0.99 then
  677. wave:remove()
  678. end
  679. end
  680. end))
  681. end
  682.  
  683. function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  684. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  685. local mesh = IT("SpecialMesh",wave)
  686. mesh.MeshType = "FileMesh"
  687. wave.Anchored = true
  688. mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
  689. mesh.Scale = VT(size,size,size)
  690. wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  691. coroutine.resume(coroutine.create(function(PART)
  692. for i = 1, waitt do
  693. Swait()
  694. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  695. if doesrotate == true then
  696. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  697. end
  698. wave.Transparency = wave.Transparency + (0.5/waitt)
  699. if wave.Transparency > 0.99 then
  700. wave:remove()
  701. end
  702. end
  703. end))
  704. end
  705.  
  706. function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  707. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  708. local mesh = IT("SpecialMesh",wave)
  709. mesh.MeshType = "FileMesh"
  710. wave.Anchored = true
  711. mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
  712. mesh.Scale = VT(size,size,size)
  713. wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  714. coroutine.resume(coroutine.create(function(PART)
  715. for i = 1, waitt do
  716. Swait()
  717. mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  718. if doesrotate == true then
  719. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  720. end
  721. wave.Transparency = wave.Transparency + (0.5/waitt)
  722. if wave.Transparency > 0.99 then
  723. wave:remove()
  724. end
  725. end
  726. end))
  727. end
  728.  
  729. function CreateRing(inair,size,doesrotate,rotatedirection,waitt,part,offset,spin1,spin2,color)
  730. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  731. local mesh = IT("SpecialMesh",wave)
  732. mesh.MeshType = "FileMesh"
  733. mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  734. mesh.Scale = VT(size,size,size)
  735. wave.Anchored = true
  736. mesh.Offset = VT(0,0,0)
  737. wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  738. coroutine.resume(coroutine.create(function(PART)
  739. for i = 1, waitt do
  740. Swait()
  741. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  742. if doesrotate == true then
  743. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
  744. end
  745. wave.Transparency = wave.Transparency + (0.5/waitt)
  746. if wave.Transparency > 0.99 then
  747. wave:remove()
  748. end
  749. end
  750. end))
  751. end
  752.  
  753. function MagicSphere(size,waitt,part,color)
  754. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(0,0,0))
  755. local mesh = IT("SpecialMesh",wave)
  756. mesh.MeshType = "Sphere"
  757. wave.Anchored = true
  758. mesh.Scale = VT(size,size,size)
  759. mesh.Offset = VT(0,0,0)
  760. wave.CFrame = part * ANGLES(RAD(0),RAD(0),RAD(0))
  761. coroutine.resume(coroutine.create(function(PART)
  762. for i = 1, waitt do
  763. Swait()
  764. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  765. wave.Transparency = wave.Transparency + (1/waitt)
  766. if wave.Transparency > 0.99 then
  767. wave:remove()
  768. end
  769. end
  770. end))
  771. end
  772.  
  773. function MagicBlock(size,waitt,part,offset,color)
  774. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
  775. local mesh = IT("BlockMesh",wave)
  776. wave.Anchored = true
  777. wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
  778. coroutine.resume(coroutine.create(function(PART)
  779. for i = 1, waitt do
  780. Swait()
  781. mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  782. wave.CFrame = CF(wave.Position) * ANGLES(RAD(math(-360,360)),RAD(math(-360,360)),RAD(math(-360,360)))
  783. wave.Transparency = wave.Transparency + (1/waitt)
  784. if wave.Transparency > 0.99 then
  785. wave:remove()
  786. end
  787. end
  788. end))
  789. end
  790.  
  791. local EyeSizes={
  792. NumberSequenceKeypoint.new(0,0.5,0),
  793. NumberSequenceKeypoint.new(1,0.2,0)
  794. }
  795. local EyeTrans={
  796. NumberSequenceKeypoint.new(0,0,0),
  797. NumberSequenceKeypoint.new(1,1,0)
  798. }
  799. local PE=Instance.new("ParticleEmitter")
  800. PE.LightEmission=0.3
  801. PE.Size=NumberSequence.new(EyeSizes)
  802. PE.Transparency=NumberSequence.new(EyeTrans)
  803. PE.Rotation=NumberRange.new(0,360)
  804. PE.LockedToPart = false
  805. PE.Speed = NumberRange.new(0,0,0)
  806. PE.ZOffset = 0.3
  807. PE.Rate = 999
  808. PE.Name = "Particles"
  809.  
  810. function CreateParticles(art,text,accel,drag,lifetime,type,isenabledbydefault,locked)
  811. local particle = nil
  812. coroutine.resume(coroutine.create(function(PART)
  813. particle = PE:Clone()
  814. Swait()
  815. particle.Rate = 999
  816. particle.Parent = art
  817. particle.Acceleration = accel
  818. if type == "Fire" then
  819. local EyeSizes={
  820. NumberSequenceKeypoint.new(0,0.5,0.3),
  821. NumberSequenceKeypoint.new(1,0.2,0.2)
  822. }
  823. particle.Size = NumberSequence.new(EyeSizes)
  824. elseif type == "Smoke" then
  825. local EyeSizes={
  826. NumberSequenceKeypoint.new(0,0.5,0),
  827. NumberSequenceKeypoint.new(1,5,0.5)
  828. }
  829. particle.Size = NumberSequence.new(EyeSizes)
  830. elseif type == "Solid" then
  831. local EyeSizes={
  832. NumberSequenceKeypoint.new(0,0.5,0),
  833. NumberSequenceKeypoint.new(1,0.5,0)
  834. }
  835. particle.Size = NumberSequence.new(EyeSizes)
  836. end
  837. particle.Lifetime=NumberRange.new(lifetime)
  838. particle.Drag = drag
  839. if locked == true then
  840. particle.LockedToPart = true
  841. end
  842. particle.Texture = "http://www.roblox.com/asset/?id="..text
  843. particle.Enabled = isenabledbydefault
  844. end))
  845. return particle
  846. end
  847.  
  848. local EyeSizes={
  849. NumberSequenceKeypoint.new(0,0.5,0),
  850. NumberSequenceKeypoint.new(1,0.2,0)
  851. }
  852. local EyeTrans={
  853. NumberSequenceKeypoint.new(0,0,0),
  854. NumberSequenceKeypoint.new(1,1,0)
  855. }
  856. local PE2=Instance.new("ParticleEmitter")
  857. PE2.LightEmission=0.8
  858. PE2.Size=NumberSequence.new(EyeSizes)
  859. PE2.Transparency=NumberSequence.new(EyeTrans)
  860. PE2.Rotation=NumberRange.new(0,360)
  861. PE2.LockedToPart = false
  862. PE2.Speed = NumberRange.new(0,0,0)
  863. PE2.ZOffset = 0.3
  864. PE2.Rate = 999
  865. PE2.VelocitySpread = 90000
  866. PE2.Name = "Particles"
  867.  
  868. function CreateParticles2(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
  869. local particle = nil
  870. coroutine.resume(coroutine.create(function(PART)
  871. particle = PE2:Clone()
  872. Swait()
  873. particle.Rate = 999
  874. particle.Parent = art
  875. particle.Acceleration = accel
  876. if type == "Fire" then
  877. local EyeSizes={
  878. NumberSequenceKeypoint.new(0,size,size/2),
  879. NumberSequenceKeypoint.new(1,size/4,size/8)
  880. }
  881. particle.Size = NumberSequence.new(EyeSizes)
  882. elseif type == "Smoke" then
  883. local EyeSizes={
  884. NumberSequenceKeypoint.new(0,0.5,0),
  885. NumberSequenceKeypoint.new(1,5,0.5)
  886. }
  887. particle.Size = NumberSequence.new(EyeSizes)
  888. elseif type == "Solid" then
  889. local EyeSizes={
  890. NumberSequenceKeypoint.new(0,0.5,0),
  891. NumberSequenceKeypoint.new(1,0.5,0)
  892. }
  893. particle.Size = NumberSequence.new(EyeSizes)
  894. end
  895. particle.Lifetime=NumberRange.new(lifetime)
  896. particle.Drag = drag
  897. if locked == true then
  898. particle.LockedToPart = true
  899. end
  900. particle.Speed = NumberRange.new(speed,speed,speed)
  901. particle.Texture = "http://www.roblox.com/asset/?id="..MAGICPARTICLE
  902. particle.Enabled = isenabledbydefault
  903. --particle.Color = ColorSequence.new(Color3.new(255, 255, 255))
  904. end))
  905. return particle
  906. end
  907.  
  908. local Decal = IT("Decal")
  909.  
  910. function CreateMagicCircle(size,doesrotate,rotatedirection,waitt,cframe,alwaysfade)
  911. local sinkhole = IT("Part")
  912. sinkhole.Size = VT(size,0,size)
  913. sinkhole.CFrame = cframe
  914. --sinkhole.Orientation = VT(0,0,0)
  915. sinkhole.Parent = Effects
  916. sinkhole.Material = "Neon"
  917. sinkhole.Color = C3(255, 255, 255)
  918. sinkhole.Anchored = true
  919. sinkhole.CanCollide = false
  920. sinkhole.Transparency = 1
  921. local decal = Decal:Clone()
  922. decal.Parent = sinkhole
  923. decal.Face = "Top"
  924. decal.Texture = "http://www.roblox.com/asset/?id=1226241606"
  925. local decal2 = Decal:Clone()
  926. decal2.Parent = sinkhole
  927. decal2.Face = "Bottom"
  928. decal2.Texture = "http://www.roblox.com/asset/?id=1226241606"
  929. coroutine.resume(coroutine.create(function(PART)
  930. for i = 1, waitt do
  931. Swait()
  932. if doesrotate == true then
  933. sinkhole.CFrame = sinkhole.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  934. end
  935. if alwaysfade == true then
  936. decal.Transparency = decal.Transparency + (1/waitt)
  937. decal2.Transparency = decal.Transparency + (1/waitt)
  938. end
  939. if i > waitt-11 and (alwaysfade ~= true) then
  940. decal.Transparency = decal.Transparency + 0.1
  941. decal2.Transparency = decal.Transparency + 0.1
  942. end
  943. end
  944. sinkhole.Parent = nil
  945. end))
  946. return sinkhole
  947. end
  948.  
  949. --//=================================\\
  950. --\\=================================//
  951.  
  952.  
  953. --//=================================\\
  954. --|| WEAPON CREATION
  955. --\\=================================//
  956.  
  957. if Player_Size ~= 1 then
  958. for _, v in pairs (Weapon:GetChildren()) do
  959. if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
  960. local p1 = v.Part1
  961. v.Part1 = nil
  962. local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
  963. v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
  964. v.Part1 = p1
  965. elseif v.ClassName == "Part" then
  966. for _, b in pairs (v:GetChildren()) do
  967. if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
  968. b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
  969. end
  970. end
  971. end
  972. end
  973. end
  974.  
  975. Swait()
  976.  
  977. local Plate = IT("Part",Weapon)
  978. Plate.Size = VT(1,0.1,1)
  979. Plate.Transparency = 1
  980. Plate.CanCollide = false
  981. Plate.CFrame = LeftLeg.CFrame * CF(0,-1.1,0)
  982. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  983. weldBetween(LeftLeg,Plate)
  984.  
  985. local Plate = IT("Part",Weapon)
  986. Plate.Size = VT(1,0.1,1)
  987. Plate.Transparency = 1
  988. Plate.CanCollide = false
  989. Plate.CFrame = RightLeg.CFrame * CF(0,-1.1,0)
  990. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  991. weldBetween(RightLeg,Plate)
  992.  
  993. local Plate = IT("Part",Weapon)
  994. Plate.Size = VT(1,0.1,1)
  995. Plate.Transparency = 1
  996. Plate.CanCollide = false
  997. Plate.CFrame = RightArm.CFrame * CF(0,-1.1,0)
  998. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  999. weldBetween(RightArm,Plate)
  1000.  
  1001. local Plate = IT("Part",Weapon)
  1002. Plate.Size = VT(1,0.1,1)
  1003. Plate.Transparency = 1
  1004. Plate.CanCollide = false
  1005. Plate.CFrame = LeftArm.CFrame * CF(0,-1.1,0)
  1006. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  1007. weldBetween(LeftArm,Plate)
  1008.  
  1009. local eye = IT("Part",Weapon)
  1010. eye.Size = VT(0.2,0.2,0.2)
  1011. eye.Shape = "Ball"
  1012. eye.CFrame = Head.CFrame * CF(0.125,0.2,-0.55)
  1013. eye.Material = "Neon"
  1014. eye.BrickColor = BRICKC("Really red")
  1015. weldBetween(Head,eye)
  1016.  
  1017.  
  1018.  
  1019. for _, c in pairs(Weapon:GetChildren()) do
  1020. if c.ClassName == "Part" then
  1021. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1022. end
  1023. end
  1024.  
  1025. Weapon.Parent = Character
  1026.  
  1027. Humanoid.Died:connect(function()
  1028. ATTACK = true
  1029. end)
  1030.  
  1031. print(Class_Name.." loaded.")
  1032.  
  1033. --//=================================\\
  1034. --\\=================================//
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040. --//=================================\\
  1041. --|| DAMAGE FUNCTIONS
  1042. --\\=================================//
  1043.  
  1044. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  1045. local STATPART = CreatePart(3, Effects, "Neon", 0, 1, "Institutional white", "Effect", VT())
  1046. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  1047. local BODYGYRO = IT("BodyGyro", STATPART)
  1048. local BODYPOSITION = IT("BodyPosition", STATPART)
  1049. BODYPOSITION.P = 2000
  1050. BODYPOSITION.D = 100
  1051. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  1052. if LABELTYPE == "Normal" then
  1053. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  1054. elseif LABELTYPE == "Debuff" then
  1055. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  1056. elseif LABELTYPE == "Interruption" then
  1057. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  1058. end
  1059. game:GetService("Debris"):AddItem(STATPART ,5)
  1060. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1061. BILLBOARDGUI.Adornee = STATPART
  1062. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1063. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1064. BILLBOARDGUI.AlwaysOnTop = false
  1065. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1066. TEXTLABEL.BackgroundTransparency = 1
  1067. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1068. TEXTLABEL.Text = TEXT
  1069. TEXTLABEL.Font = "SciFi"
  1070. TEXTLABEL.FontSize="Size42"
  1071. TEXTLABEL.TextColor3 = COLOR
  1072. TEXTLABEL.TextStrokeTransparency = 1
  1073. TEXTLABEL.TextScaled = true
  1074. TEXTLABEL.TextWrapped = true
  1075. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1076. wait(0.2)
  1077. for i=1, 5 do
  1078. wait()
  1079. THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  1080. end
  1081. wait(1.2)
  1082. for i=1, 5 do
  1083. wait()
  1084. THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  1085. THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  1086. THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  1087. end
  1088. THEPART.Parent = nil
  1089. end),STATPART, BODYPOSITION, TEXTLABEL)
  1090. end
  1091.  
  1092.  
  1093. --//=================================\\
  1094. --|| DAMAGING
  1095. --\\=================================//
  1096.  
  1097. function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
  1098. if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
  1099. local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  1100. local dmg = math.random(min,max)
  1101. if humanoid.Health > 0 then
  1102. if beserk == true then
  1103. humanoid.Health = 0
  1104. else
  1105. CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
  1106. hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
  1107. if math.random(1,100) < critrate+1 then
  1108. humanoid.Health = humanoid.Health - dmg*critmultiplier
  1109. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1110. else
  1111. humanoid.Health = humanoid.Health - dmg
  1112. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
  1113. end
  1114. local defence = Instance.new("BoolValue",hit.Parent)
  1115. defence.Name = ("HitBy"..Player.Name)
  1116. game:GetService("Debris"):AddItem(defence, 0.5)
  1117. end
  1118. end
  1119. end
  1120. end
  1121.  
  1122. function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
  1123. local dmg = math.random(min,max)
  1124. for i,v in ipairs(workspace:GetChildren()) do
  1125. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  1126. local body = v:GetChildren()
  1127. for part = 1, #body do
  1128. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1129. if(body[part].Position - position).Magnitude < radius then
  1130. if v.ClassName == "Model" then
  1131. if v:FindFirstChild("Humanoid") then
  1132. if v.Humanoid.Health ~= 0 then
  1133. if CanBeDodgedByJumping == true then
  1134. if body[part].Position.Y < position.Y+5 then
  1135. if math.random(1,100) < critrate+1 then
  1136. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1137. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1138. else
  1139. v.Humanoid.Health = v.Humanoid.Health - dmg
  1140. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1141. end
  1142. local defence = Instance.new("BoolValue",v)
  1143. defence.Name = ("HitBy"..Player.Name)
  1144. game:GetService("Debris"):AddItem(defence, 0.5)
  1145. end
  1146. else
  1147. if beserk == true then
  1148. v.Humanoid.Health = 0
  1149. end
  1150. if math.random(1,100) < critrate+1 then
  1151. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1152. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1153. else
  1154. v.Humanoid.Health = v.Humanoid.Health - dmg
  1155. StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1156. end
  1157. local defence = Instance.new("BoolValue",v)
  1158. defence.Name = ("HitBy"..Player.Name)
  1159. game:GetService("Debris"):AddItem(defence, 0.5)
  1160. end
  1161. end
  1162. end
  1163. end
  1164. body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  1165. end
  1166. end
  1167. end
  1168. if v.ClassName == "Part" then
  1169. if v.Anchored == false and (v.Position - position).Magnitude < radius then
  1170. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  1171. end
  1172. end
  1173. end
  1174. end
  1175. end
  1176.  
  1177. function attractnearest(postype,position,range,maxstrength,last)
  1178. if postype == "Vector" then
  1179. for i,v in ipairs(workspace:GetChildren()) do
  1180. local body = v:GetChildren()
  1181. for part = 1, #body do
  1182. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1183. if(body[part].Position - position).Magnitude < range then
  1184. if body[part]:FindFirstChild("ATTRACT") == nil then
  1185. local bv = Instance.new("BodyVelocity")
  1186. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1187. bv.velocity = CF(body[part].Position,position).lookVector*maxstrength
  1188. bv.Parent = body[part]
  1189. bv.Name = "ATTRACT"
  1190. else
  1191. coroutine.resume(coroutine.create(function()
  1192. for i = 1, last/5 do
  1193. Swait(5)
  1194. body[part].ATTRACT.velocity = CF(body[part].Position,position).lookVector*maxstrength
  1195. end
  1196. body[part].ATTRACT:remove()
  1197. end))
  1198. end
  1199. end
  1200. end
  1201. end
  1202. if v.ClassName == "Part" then
  1203. if v.Anchored == false and (v.Position - position).Magnitude < range then
  1204. if v:FindFirstChild("ATTRACT") == nil then
  1205. local bv = Instance.new("BodyVelocity")
  1206. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1207. bv.velocity = CF(v.Position,position).lookVector*maxstrength
  1208. bv.Parent = v
  1209. bv.Name = "ATTRACT"
  1210. else
  1211. coroutine.resume(coroutine.create(function()
  1212. for i = 1, last/5 do
  1213. Swait(5)
  1214. v.ATTRACT.velocity = CF(v.Position,position).lookVector*maxstrength
  1215. end
  1216. v.ATTRACT:remove()
  1217. end))
  1218. end
  1219. end
  1220. end
  1221. end
  1222. elseif postype == "Part" then
  1223. for i,v in ipairs(workspace:GetChildren()) do
  1224. local body = v:GetChildren()
  1225. for part = 1, #body do
  1226. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1227. if(body[part].Position - position.Position).Magnitude < range then
  1228. if body[part]:FindFirstChild("ATTRACT") == nil then
  1229. local bv = Instance.new("BodyVelocity")
  1230. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1231. bv.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
  1232. bv.Parent = body[part]
  1233. bv.Name = "ATTRACT"
  1234. else
  1235. coroutine.resume(coroutine.create(function()
  1236. for i = 1, last/5 do
  1237. Swait(5)
  1238. body[part].ATTRACT.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
  1239. end
  1240. body[part].ATTRACT:remove()
  1241. end))
  1242. end
  1243. end
  1244. end
  1245. end
  1246. if v.ClassName == "Part" then
  1247. if v.Anchored == false and (v.Position - position.Position).Magnitude < range then
  1248. if v:FindFirstChild("ATTRACT") == nil then
  1249. local bv = Instance.new("BodyVelocity")
  1250. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1251. bv.velocity = CF(v.Position,position.Position).lookVector*maxstrength
  1252. bv.Parent = v
  1253. bv.Name = "ATTRACT"
  1254. else
  1255. coroutine.resume(coroutine.create(function()
  1256. for i = 1, last/5 do
  1257. Swait(5)
  1258. v.ATTRACT.velocity = CF(v.Position,position.Position).lookVector*maxstrength
  1259. end
  1260. v.ATTRACT:remove()
  1261. end))
  1262. end
  1263. end
  1264. end
  1265. end
  1266. end
  1267. end
  1268.  
  1269. function killnearest(position,range,maxstrength,candestroy)
  1270. for i,v in ipairs(workspace:GetChildren()) do
  1271. local body = v:GetChildren()
  1272. for part = 1, #body do
  1273. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1274. if(body[part].Position - position).Magnitude < range then
  1275. if v.ClassName == "Model" then
  1276. v:BreakJoints()
  1277. end
  1278. if candestroy == true then
  1279. table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  1280. end
  1281. body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  1282. end
  1283. end
  1284. end
  1285. if v.ClassName == "Part" then
  1286. if v.Anchored == false and (v.Position - position).Magnitude < range then
  1287. if candestroy == true then
  1288. table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  1289. end
  1290. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  1291. end
  1292. end
  1293. end
  1294. end
  1295.  
  1296. --//=================================\\
  1297. --|| ATTACK FUNCTIONS AND STUFF
  1298. --\\=================================//
  1299.  
  1300. function CheckTableForString(Table, String)
  1301. for i, v in pairs(Table) do
  1302. if string.find(string.lower(String), string.lower(v)) then
  1303. return true
  1304. end
  1305. end
  1306. return false
  1307. end
  1308.  
  1309. function CheckIntangible(Hit)
  1310. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  1311. if Hit and Hit.Parent then
  1312. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  1313. return true
  1314. end
  1315. end
  1316. return false
  1317. end
  1318.  
  1319. Debris = game:GetService("Debris")
  1320.  
  1321. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  1322. local Direction = CFrame.new(StartPos, Vec).lookVector
  1323. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1324. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  1325. if RayHit and CheckIntangible(RayHit) then
  1326. if DelayIfHit then
  1327. wait()
  1328. end
  1329. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  1330. end
  1331. return RayHit, RayPos, RayNormal
  1332. end
  1333.  
  1334. function turnto(pos)
  1335. RootPart.CFrame = CF(RootPart.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
  1336. end
  1337.  
  1338. function GraviBomb()
  1339. ATTACK = true
  1340. for i=0, 1, 0.1 / Animation_Speed do
  1341. Swait()
  1342. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
  1343. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1344. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1345. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(50)) * ANGLES(RAD(80), RAD(-20), RAD(-30)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1346. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1347. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1348. end
  1349. MagicSphere(25,25,LeftArm.CFrame*CF(0,-1,0),"Institutional white")
  1350. MagicSphere(20,25,LeftArm.CFrame*CF(0,-1,0),"Institutional white")
  1351. coroutine.resume(coroutine.create(function()
  1352. local cframe = CF(Mouse.Hit.p)
  1353. local circle = CreateMagicCircle(75,true,0.05,120,cframe,false)
  1354. for i = 1, 5 do
  1355. CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], Effects, 2, 1)
  1356. local sphere = IT("Part",Effects)
  1357. sphere.Shape = "Ball"
  1358. sphere.Size = VT(50,50,50)
  1359. sphere.Anchored = true
  1360. sphere.CanCollide = false
  1361. sphere.Material = "Neon"
  1362. sphere.BrickColor = BRICKC("Institutional white")
  1363. sphere.Transparency = 0
  1364. sphere.CFrame = cframe
  1365. for i = 1, 10 do
  1366. Swait(2)
  1367. attractnearest("Vector",cframe.p,75,50,10)
  1368. sphere.CFrame = cframe
  1369. sphere.Size = sphere.Size - VT(5,5,5)
  1370. sphere.CFrame = cframe
  1371. end
  1372. sphere:remove()
  1373. end
  1374. local scale = 5
  1375. coroutine.resume(coroutine.create(function()
  1376. CreateSound(RELEASESOUND, Effects, 2, 1)
  1377. MagicSphere(100,125,cframe,"Institutional white")
  1378. MagicSphere(75,125,cframe,"Institutional white")
  1379. CreateSwirl(180,6,true,0.3,225,circle,0,"Institutional white")
  1380. CreateSwirl(180,4,true,0.3,225,circle,0,"Institutional white")
  1381. CreateSwirl(180,2,true,0.3,225,circle,0,"Institutional white")
  1382. for i = 1, 15 do
  1383. Swait()
  1384. killnearest(cframe.p,25,150)
  1385. end
  1386. end))
  1387. end))
  1388. for i=0, 1, 0.1 / Animation_Speed do
  1389. Swait()
  1390. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1391. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1392. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1393. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.25 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(70 + MRANDOM(-2.5, 2.5)), RAD(40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1394. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1395. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1396. end
  1397. ATTACK = false
  1398. end
  1399.  
  1400. function GraviSpear()
  1401. ATTACK = true
  1402. for i=0, 1.5, 0.1 / Animation_Speed do
  1403. Swait()
  1404. turnto(Mouse.Hit.p)
  1405. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1406. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1407. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1408. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1409. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1410. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1411. end
  1412. local spear = IT("Part",Effects)
  1413. spear.Anchored = true
  1414. spear.CanCollide = false
  1415. spear.Shape = "Ball"
  1416. spear.Size = VT(0,0,0)
  1417. spear.Material = "Neon"
  1418. spear.Transparency = 0.2
  1419. spear.BrickColor = BRICKC("Institutional white")
  1420. spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1421. local inner = spear:Clone()
  1422. inner.Parent = spear
  1423. inner.Size = VT(0,0,0)
  1424. inner.BrickColor = BRICKC("Institutional white")
  1425. inner.CFrame = spear.CFrame
  1426. for i = 1, 10 do
  1427. Swait()
  1428. turnto(Mouse.Hit.p)
  1429. spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1430. inner.CFrame = spear.CFrame
  1431. spear.Size = spear.Size + VT(0.4,0.4,0.4)
  1432. inner.Size = inner.Size + VT(0.35,0.35,0.35)
  1433. end
  1434. CreateParticles2(inner,VT(0,0,0),5,1,"Smoke",true,true,1,8)
  1435. MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1436. MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1437. CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
  1438. local bv = Instance.new("BodyVelocity")
  1439. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1440. bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*65
  1441. bv.Parent = spear
  1442. bv.Name = "MOVE"
  1443. weldBetween(spear,inner)
  1444. spear.Anchored = false
  1445. inner.Anchored = false
  1446. local harm = spear.Touched:Connect(function(hit)
  1447. if hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
  1448. local cframe = spear.CFrame
  1449. coroutine.resume(coroutine.create(function()
  1450. spear.Parent = nil
  1451. coroutine.resume(coroutine.create(function()
  1452. CreateSound(RELEASESOUND, Effects, 2, 1)
  1453. MagicSphere(60,125,cframe,"Institutional white")
  1454. MagicSphere(50,125,cframe,"Institutional white")
  1455. CreateSwirl(0,6,true,0.3,125,spear,0,"Institutional white")
  1456. CreateSwirl(0,4,true,0.3,125,spear,0,"Institutional white")
  1457. CreateSwirl(0,2,true,0.3,125,spear,0,"Institutional white")
  1458. for i = 1, 15 do
  1459. Swait()
  1460. killnearest(cframe.p,15,150)
  1461. end
  1462. end))
  1463. end))
  1464. end
  1465. end)
  1466. coroutine.resume(coroutine.create(function()
  1467. repeat
  1468. Swait()
  1469. CreateSwirl(0,2,true,0.3,25,spear,0,"Institutional white")
  1470. attractnearest("Part",spear,65,70,5)
  1471. until spear.Parent == nil
  1472. end))
  1473. ATTACK = false
  1474. end
  1475.  
  1476. function WarpSpear()
  1477. ATTACK = true
  1478. for i=0, 1.5, 0.1 / Animation_Speed do
  1479. Swait()
  1480. turnto(Mouse.Hit.p)
  1481. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1482. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1483. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1484. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1485. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1486. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1487. end
  1488. local spear = IT("Part",Effects)
  1489. spear.Anchored = true
  1490. spear.CanCollide = false
  1491. spear.Shape = "Ball"
  1492. spear.Size = VT(0,0,0)
  1493. spear.Material = "Neon"
  1494. spear.Transparency = 0.2
  1495. spear.BrickColor = BRICKC("Institutional white")
  1496. spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1497. local inner = spear:Clone()
  1498. inner.Parent = spear
  1499. inner.Size = VT(0,0,0)
  1500. inner.BrickColor = BRICKC("Institutional white")
  1501. inner.CFrame = spear.CFrame
  1502. for i = 1, 5 do
  1503. Swait()
  1504. turnto(Mouse.Hit.p)
  1505. spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1506. inner.CFrame = spear.CFrame
  1507. spear.Size = spear.Size + VT(0.4,0.4,0.4)
  1508. inner.Size = inner.Size + VT(0.35,0.35,0.35)
  1509. end
  1510. MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1511. MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1512. CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
  1513. local bv = Instance.new("BodyVelocity")
  1514. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1515. bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*100
  1516. bv.Parent = spear
  1517. bv.Name = "MOVE"
  1518. weldBetween(spear,inner)
  1519. spear.Anchored = false
  1520. inner.Anchored = false
  1521. local HIT = false
  1522. local harm = spear.Touched:Connect(function(hit)
  1523. if HIT == false and hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
  1524. local cframe = spear.CFrame
  1525. HIT = true
  1526. coroutine.resume(coroutine.create(function()
  1527. spear.Parent = nil
  1528. RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
  1529. coroutine.resume(coroutine.create(function()
  1530. CreateSound(RELEASESOUND, Effects, 2, 1.5)
  1531. MagicSphere(30,105,cframe,"Institutional white")
  1532. MagicSphere(25,105,cframe,"Institutional white")
  1533. for i = 1, 15 do
  1534. Swait()
  1535. killnearest(cframe.p,7.5,150)
  1536. end
  1537. end))
  1538. end))
  1539. end
  1540. end)
  1541. coroutine.resume(coroutine.create(function()
  1542. Swait(75)
  1543. if HIT == false then
  1544. local cframe = spear.CFrame
  1545. HIT = true
  1546. coroutine.resume(coroutine.create(function()
  1547. spear.Parent = nil
  1548. RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
  1549. coroutine.resume(coroutine.create(function()
  1550. CreateSound(RELEASESOUND, Effects, 2, 1.5)
  1551. MagicSphere(30,105,cframe,"Institutional white")
  1552. MagicSphere(25,105,cframe,"Institutional white")
  1553. for i = 1, 15 do
  1554. Swait()
  1555. killnearest(cframe.p,7.5,150)
  1556. end
  1557. end))
  1558. end))
  1559. end
  1560. end))
  1561. coroutine.resume(coroutine.create(function()
  1562. local loop = 0
  1563. repeat
  1564. Swait()
  1565. loop = loop + 1
  1566. if loop == 4 then
  1567. MagicSphere(25,15,spear.CFrame,"Institutional white")
  1568. end
  1569. if loop == 7 then
  1570. loop = 0
  1571. MagicSphere(25,15,spear.CFrame,"Institutional white")
  1572. end
  1573. attractnearest("Part",spear,12.5,50,5)
  1574. until spear.Parent == nil
  1575. end))
  1576. ATTACK = false
  1577. end
  1578.  
  1579. function GravityGlobe()
  1580. ATTACK = true
  1581. Rooted = true
  1582. for i=0, 1, 0.1 / Animation_Speed do
  1583. Swait()
  1584. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
  1585. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1586. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1587. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(50)) * ANGLES(RAD(80), RAD(-20), RAD(-30)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1588. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1589. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1590. end
  1591. coroutine.resume(coroutine.create(function()
  1592. CreateMagicCircle(100,true,0.02,50,CF(RootPart.Position) * CF(0,-2.8,0),true)
  1593. local cframe = RootPart.CFrame
  1594. CreateSound(RELEASESOUND, Effects, 2, 1)
  1595. local sphere = IT("Part",Effects)
  1596. sphere.Shape = "Ball"
  1597. sphere.Size = VT(0,0,0)
  1598. sphere.Anchored = true
  1599. sphere.CanCollide = false
  1600. sphere.Material = "Neon"
  1601. sphere.Transparency = 0.5
  1602. sphere.BrickColor = BRICKC("Institutional white")
  1603. sphere.CFrame = cframe
  1604. local sphere2 = IT("Part",Effects)
  1605. sphere2.Shape = "Ball"
  1606. sphere2.Size = VT(0,0,0)
  1607. sphere2.Anchored = true
  1608. sphere2.CanCollide = false
  1609. sphere2.Material = "Neon"
  1610. sphere2.Transparency = 0.3
  1611. sphere2.BrickColor = BRICKC("Institutional white")
  1612. sphere2.CFrame = cframe
  1613. for i = 1, 10 do
  1614. Swait(2)
  1615. attractnearest("Vector",cframe.p,50,50,10)
  1616. sphere.CFrame = cframe
  1617. sphere.Size = sphere.Size + VT(4,4,4)
  1618. sphere2.CFrame = cframe
  1619. sphere2.Size = sphere2.Size + VT(3.5,3.5,3.5)
  1620. killnearest(cframe.p,15,0)
  1621. end
  1622. local scale = 0.2
  1623. local mode = "shrink"
  1624. for i = 1, 350 do
  1625. Swait()
  1626. if mode == "shrink" then
  1627. scale = scale + scale
  1628. if scale >= - 65 then
  1629. mode = "grow"
  1630. end
  1631. elseif mode == "grow" then
  1632. scale = scale + -scale*2
  1633. if scale <= - 65 then
  1634. mode = "shrink"
  1635. end
  1636. end
  1637. CreateRing(180,5,true,0,50,sphere,0,scale,scale,"Institutional white")
  1638. sphere.Size = sphere.Size + VT(scale,scale,scale)
  1639. attractnearest("Vector",cframe.p,50,50,5)
  1640. killnearest(cframe.p,15,0)
  1641. end
  1642. for i = 1, 10 do
  1643. Swait(2)
  1644. sphere.CFrame = cframe
  1645. sphere.Size = sphere.Size - VT(5,5,5)
  1646. sphere.CFrame = cframe
  1647. sphere2.CFrame = cframe
  1648. sphere2.Size = sphere2.Size - VT(3.5,3.5,3.5)
  1649. end
  1650. sphere:remove()
  1651. sphere2:remove()
  1652. end))
  1653. for i=0, 1, 0.1 / Animation_Speed do
  1654. Swait()
  1655. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1656. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1657. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1658. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.25 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(70 + MRANDOM(-2.5, 2.5)), RAD(40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1659. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1660. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1661. end
  1662. Rooted = false
  1663. ATTACK = false
  1664. end
  1665.  
  1666. function GravityBeam()
  1667. ATTACK = true
  1668. Rooted = true
  1669. for i=0, 1.5, 0.1 / Animation_Speed do
  1670. Swait()
  1671. turnto(Mouse.Hit.p)
  1672. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1673. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1674. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1675. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1676. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1677. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1678. end
  1679. local startpos = RightArm.CFrame*CF(0,-1.5,0).p
  1680. local loop = 0
  1681. local loopsound = CreateSound(CHARGESOUND, RightArm, 10, 1, true)
  1682. local loopsound2 = CreateSound("487214658", Effects, 1, 0, true)
  1683. local pos = nil
  1684. repeat
  1685. if loop < 150 then
  1686. Swait()
  1687. loop = loop + 1
  1688. turnto(Mouse.Hit.p)
  1689. MagicSphere(15,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1690. MagicSphere(12,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1691. else
  1692. loopsound2.Pitch = 1
  1693. loopsound:Stop()
  1694. startpos = RightArm.CFrame*CF(0,-1.5,0).p
  1695. turnto(Mouse.Hit.p)
  1696. MagicSphere(35,25,CF(startpos),"Institutional white")
  1697. MagicSphere(32,25,CF(startpos),"Institutional white")
  1698. local RayHit, RayPos, RayNormal = CastZapRay(startpos, Mouse.Hit.p, 150, Character, false)
  1699. local distance = (startpos - RayPos).magnitude
  1700. local laser = Instance.new("Part",Effects)
  1701. laser.Transparency = 0.5
  1702. laser.CanCollide = false
  1703. laser.Anchored = true
  1704. laser.BrickColor = BrickColor.new("Institutional white")
  1705. laser.Material = "Neon"
  1706. laser.formFactor = Enum.FormFactor.Custom
  1707. laser.Size = Vector3.new(2.5, 2.5, distance)
  1708. laser.CFrame = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
  1709. local laser2 = Instance.new("Part",Effects)
  1710. laser2.Transparency = 0
  1711. laser2.CanCollide = false
  1712. laser2.Anchored = true
  1713. laser2.BrickColor = BrickColor.new("Institutional white")
  1714. laser2.Material = "Neon"
  1715. laser2.formFactor = Enum.FormFactor.Custom
  1716. laser2.Size = Vector3.new(2, 2, distance)
  1717. laser2.CFrame = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
  1718. killnearest(RayPos,5,150,true)
  1719. MagicSphere(350,2,CF(RayPos),"Institutional white")
  1720. MagicSphere(320,2,CF(RayPos),"Institutional white")
  1721. if RayHit ~= nil then
  1722. CreateWave(0,5,false,0,25,CF(RayPos),0,"Institutional white")
  1723. end
  1724. attractnearest("Vector",RayPos,40,50,10)
  1725. pos = RayPos
  1726. Swait()
  1727. laser2:remove()
  1728. laser:remove()
  1729. end
  1730. until KEYHOLD == false
  1731. if loop == 150 then
  1732. local cframe = CF(pos)
  1733. coroutine.resume(coroutine.create(function()
  1734. coroutine.resume(coroutine.create(function()
  1735. CreateSound(RELEASESOUND, Effects, 2, 1)
  1736. MagicSphere(500,55,cframe,"Institutional white")
  1737. MagicSphere(450,55,cframe,"Institutional white")
  1738. for i = 1, 15 do
  1739. Swait()
  1740. killnearest(cframe.p,75,150)
  1741. end
  1742. end))
  1743. end))
  1744. end
  1745. loopsound2:remove()
  1746. loopsound:remove()
  1747. Rooted = false
  1748. ATTACK = false
  1749. end
  1750.  
  1751. --//=================================\\
  1752. --|| ASSIGN THINGS TO KEYS
  1753. --\\=================================//
  1754.  
  1755. Humanoid.Changed:connect(function(Jump)
  1756. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1757. Humanoid.Jump = false
  1758. end
  1759. end)
  1760.  
  1761. function MouseDown(Mouse)
  1762. if ATTACK == false then
  1763. end
  1764. end
  1765.  
  1766. function MouseUp(Mouse)
  1767. HOLD = false
  1768. end
  1769.  
  1770. function KeyDown(Key)
  1771. KEYHOLD = true
  1772. if Key == "q" and ATTACK == false then
  1773. GraviBomb()
  1774. end
  1775.  
  1776. if Key == "e" and ATTACK == false then
  1777. GraviSpear()
  1778. end
  1779.  
  1780. if Key == "r" and ATTACK == false then
  1781. GravityGlobe()
  1782. end
  1783.  
  1784. if Key == "g" and ATTACK == false then
  1785. GravityBeam()
  1786. end
  1787.  
  1788. if Key == "x" and ATTACK == false then
  1789. end
  1790.  
  1791. if Key == "c" and ATTACK == false then
  1792. WarpSpear()
  1793. end
  1794.  
  1795. if Key == "t" and ATTACK == false then
  1796. CreateSound("305685800", Head, 10, 1 ,false)
  1797. end
  1798. end
  1799.  
  1800. function KeyUp(Key)
  1801. KEYHOLD = false
  1802. end
  1803.  
  1804. Mouse.Button1Down:connect(function(NEWKEY)
  1805. MouseDown(NEWKEY)
  1806. end)
  1807. Mouse.Button1Up:connect(function(NEWKEY)
  1808. MouseUp(NEWKEY)
  1809. end)
  1810. Mouse.KeyDown:connect(function(NEWKEY)
  1811. KeyDown(NEWKEY)
  1812. end)
  1813. Mouse.KeyUp:connect(function(NEWKEY)
  1814. KeyUp(NEWKEY)
  1815. end)
  1816.  
  1817. --//=================================\\
  1818. --\\=================================//
  1819.  
  1820.  
  1821. function unanchor()
  1822. if UNANCHOR == true then
  1823. g = Character:GetChildren()
  1824. for i = 1, #g do
  1825. if g[i].ClassName == "Part" then
  1826. g[i].Anchored = false
  1827. end
  1828. end
  1829. end
  1830. end
  1831.  
  1832.  
  1833. --//=================================\\
  1834. --|| WRAP THE WHOLE SCRIPT UP
  1835. --\\=================================//
  1836.  
  1837. Humanoid.Changed:connect(function(Jump)
  1838. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1839. Humanoid.Jump = false
  1840. end
  1841. end)
  1842.  
  1843. ANIMATE.Parent = nil
  1844. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1845. IDLEANIMATION:Play()
  1846.  
  1847. while true do
  1848. Swait()
  1849. SINE = SINE + CHANGE
  1850. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1851. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1852. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1853. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1854. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1855. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1856. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1857. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * 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)
  1858. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1859. --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1860. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1861. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1862. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1863. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1864. ----LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1865. end
  1866. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1867. ANIM = "Jump"
  1868. if ATTACK == false then
  1869. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1870. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1871. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1872. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1873. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1874. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1875. end
  1876. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1877. ANIM = "Fall"
  1878. if ATTACK == false then
  1879. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1880. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1881. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1882. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1883. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1884. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1885. end
  1886. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1887. ANIM = "Idle"
  1888. if ATTACK == false then
  1889. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1890. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1891. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1892. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1893. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1894. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1895. end
  1896. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1897. ANIM = "Walk"
  1898. WALK = WALK + 1 / Animation_Speed
  1899. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1900. WALK = 0
  1901. if WALKINGANIM == true then
  1902. WALKINGANIM = false
  1903. elseif WALKINGANIM == false then
  1904. WALKINGANIM = true
  1905. end
  1906. end
  1907. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1908. --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1909. if ATTACK == false then
  1910. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed*3)
  1911. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1912. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1913. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1914. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1915. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1916. end
  1917. end
  1918. if #Effects2>0 then
  1919. for e=1,#Effects2 do
  1920. if Effects2[e]~=nil then
  1921. local Thing=Effects2[e]
  1922. if Thing~=nil then
  1923. local Part=Thing[1]
  1924. local Mode=Thing[2]
  1925. local Delay=Thing[3]
  1926. local IncX=Thing[4]
  1927. local IncY=Thing[5]
  1928. local IncZ=Thing[6]
  1929. local Part2=Thing[8]
  1930. if Thing[1].Transparency<=1 then
  1931. if Thing[2]=="Block1" then
  1932. Thing[1].CFrame=Thing[1].CFrame
  1933. Mesh=Thing[1].Mesh
  1934. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1935. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1936. elseif Thing[2]=="Cylinder" then
  1937. Mesh=Thing[1].Mesh
  1938. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1939. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1940. elseif Thing[2]=="Blood" then
  1941. Mesh=Thing[7]
  1942. Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
  1943. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1944. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1945. elseif Thing[2]=="Elec" then
  1946. Mesh=Thing[1].Mesh
  1947. Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
  1948. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1949. elseif Thing[2]=="Disappear" then
  1950. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1951. end
  1952. else
  1953. Part.Parent=nil
  1954. table.remove(Effects2,e)
  1955. end
  1956. end
  1957. end
  1958. end
  1959. end
  1960. unanchor()
  1961. Humanoid.MaxHealth = "inf"
  1962. Humanoid.Health = "inf"
  1963. if Rooted == false then
  1964. Disable_Jump = false
  1965. Humanoid.WalkSpeed = Speed
  1966. elseif Rooted == true then
  1967. Disable_Jump = true
  1968. Humanoid.WalkSpeed = 0
  1969. end
  1970. --CreateMagicCircle(2 ,false,0,3,LeftLeg.CFrame * CF(0,-1.2,0),true)
  1971. end
  1972.  
  1973. --//=================================\\
  1974. --\\=================================//
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980. --//====================================================\\--
  1981. --|| END OF SCRIPT
  1982. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment