Advertisement
Junebrehq2222

Untitled

Jan 26th, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.49 KB | None | 0 0
  1. --[[ World eater Script ]]--
  2. --[[ Declarations ]]--
  3. wait(.0000000000000000000001)
  4. local Player = owner
  5. local Character = Player.Character
  6. local Head = Character.Head
  7. local Torso = Character.Torso
  8. local Right_Arm = Character["Right Arm"]
  9. local Right_Leg = Character["Right Leg"]
  10. local Left_Arm = Character["Left Arm"]
  11. local Left_Leg = Character["Left Leg"]
  12. local Humanoid = Character.Humanoid
  13. local Animation = "Idle"
  14. local LeftShoulder = Torso["Left Shoulder"]
  15. local Left_Hip = Torso["Left Hip"]
  16. local RightShoulder = Torso["Right Shoulder"]
  17. local Right_Hip = Torso["Right Hip"]
  18. local Root = Character.HumanoidRootPart
  19. local RootJoint = Root.RootJoint
  20. local Attacking = false
  21. local CanAttack = true
  22. local Anim = "Idle"
  23. local Combo = 1
  24. local Blocking = false
  25. local MaxDestruction = 1000
  26. local Destruction = 0
  27. local MaxBlock = 100
  28. local Effects = {}
  29. local Color = "Bright yellow"
  30. local Invert = false
  31. local Idle = 0
  32. local Equipped = false
  33. local Running = false
  34. local Unseathed = false
  35. local Shard = "None"
  36.  
  37. Humanoid.MaxHealth = 3000
  38. Humanoid.Health = 3000
  39.  
  40. local WorldEaterTheme = Instance.new("Sound",Character)
  41. WorldEaterTheme.Name = "WorldEaterTheme"
  42. WorldEaterTheme.Looped = true
  43. WorldEaterTheme.SoundId = "http://www.roblox.com/asset?id=1195813975"
  44. WorldEaterTheme.Volume = 1000
  45. WorldEaterTheme:Play()
  46. Left_Shoulder = Instance.new("Weld", Torso)
  47. Left_Shoulder.Part0 = Torso
  48. Left_Shoulder.Part1 = Left_Arm
  49. Left_Shoulder.Name = "Left Shoulder"
  50. Left_Shoulder.C0 = CFrame.new(-1.5,0,0)
  51.  
  52. Right_Shoulder = Instance.new("Weld", Torso)
  53. Right_Shoulder.Part0 = Torso
  54. Right_Shoulder.Part1 = Right_Arm
  55. Right_Shoulder.Name = "Right Shoulder"
  56. Right_Shoulder.C0 = CFrame.new(1.5,0,0)
  57.  
  58. LeftShoulder.Parent = nil
  59. RightShoulder.Parent = nil
  60. Humanoid.WalkSpeed = 10
  61.  
  62. local RootCFrame = CFrame.fromEulerAnglesXYZ(-1.57,0,3.14)
  63. Necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  64. Necko2 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  65. Right_Hip_C1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  66. Left_Hip_C1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  67.  
  68.  
  69. Movemment = 1
  70. Walk = 0
  71.  
  72. Animator = Humanoid.Animator
  73. --Animate = Character.Animate
  74.  
  75. Animator.Parent = nil
  76. --Animate.Parent = nil
  77.  
  78. local Services = {
  79.  
  80. SoundService = game:GetService("SoundService");
  81. Players = game:GetService("Players");
  82. Debris = game:GetService("Debris");
  83. Workspace = game:GetService("Workspace");
  84. Lighting = game:GetService("Lighting");
  85. HttpService = game:GetService("HttpService");
  86. InsertService = game:GetService("InsertService");
  87.  
  88. }
  89.  
  90. local ManaBarGUI = Instance.new("ScreenGui", Player.PlayerGui)
  91. ManaBarGUI.Name = "ManaBarGUI"
  92.  
  93. local ManaBarP1 = Instance.new("Frame", ManaBarGUI)
  94. ManaBarP1.Name = "ManaBarPart1"
  95. ManaBarP1.Size = UDim2.new(0,300,0,20)
  96. ManaBarP1.Position = UDim2.new(0,350,0.1,0)
  97. ManaBarP1.BackgroundColor3 = BrickColor.Black().Color
  98.  
  99. local ManaBarP2 = Instance.new("Frame", ManaBarP1)
  100. ManaBarP2.Name = "ManaBarPart2"
  101. ManaBarP2.Size = UDim2.new(0,300,0,20)
  102. ManaBarP2.Position = UDim2.new(0,0,0,0)
  103. ManaBarP2.BackgroundColor3 = BrickColor.new("Black").Color
  104.  
  105. local ManaBarText = Instance.new("TextLabel", ManaBarP1)
  106. ManaBarText.Name = "ManaBarText"
  107. ManaBarText.Size = UDim2.new(0,300,0,20)
  108. ManaBarText.Position = UDim2.new(0,0,-1.5,0)
  109. ManaBarText.TextScaled = true
  110. ManaBarText.Text = "<{[ Destruction ]}> 0 <{[ Destruction ]}>"
  111. ManaBarText.BackgroundTransparency = 1
  112. ManaBarText.TextStrokeTransparency = 0
  113. ManaBarText.TextStrokeColor3 = Color3.new(1,1,1)
  114. ManaBarText.TextColor3 = Color3.new(0,0,0)
  115. ManaBarText.Font = "Garamond"
  116.  
  117. local WorldEaterGui = Instance.new("BillboardGui", Head)
  118. WorldEaterGui.ExtentsOffset = Vector3.new(0,5,0)
  119. WorldEaterGui.Adornee = Head
  120. WorldEaterGui.AlwaysOnTop = true
  121. WorldEaterGui.Enabled = true
  122. WorldEaterGui.Size = UDim2.new(0, 200,0, 50)
  123.  
  124. local WorldEaterText = Instance.new("TextLabel", WorldEaterGui)
  125. WorldEaterText.BackgroundTransparency = 1
  126. WorldEaterText.Font = "Garamond"
  127. WorldEaterText.Size = UDim2.new(0, 200,0, 50)
  128. WorldEaterText.TextStrokeColor3 = BrickColor.Red().Color
  129. WorldEaterText.TextStrokeTransparency = 0
  130. WorldEaterText.TextColor3 = BrickColor.Black().Color
  131. WorldEaterText.TextScaled = true
  132. WorldEaterText.Text = "NinjaFoxMasterR's World Eater"
  133.  
  134. --------[[ Mesh Ids ]]--------
  135.  
  136. SpikeMeshId = 1033714
  137. SpikeBallId = 9982590
  138. StarMeshId = 45428961
  139. CrystalMeshId = 9756362
  140.  
  141. --[[ Essential Functions ]]--
  142. function NoOutlines(Part)
  143. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  144. end
  145.  
  146.  
  147. local CreatePart = function(Parent, Name, Color, Size, Material, Transparency, Shape)
  148.  
  149. local Part = Instance.new("Part", Parent)
  150. Part.Name = Name
  151. Part.BrickColor = BrickColor.new(Color)
  152. Part.Size = Size
  153. Part.Material = Material
  154. Part.Transparency = Transparency
  155. Part.Shape = Shape
  156. Part.CanCollide = false
  157. NoOutlines(Part)
  158.  
  159. return Part
  160.  
  161. end
  162.  
  163. local CreateMesh = function(Parent, Scale, Shape)
  164.  
  165.  
  166. local Mesh = Instance.new("BlockMesh", Parent)
  167. Mesh.Scale = Scale
  168.  
  169. return Mesh
  170.  
  171. end
  172.  
  173. local CreateWedge = function(Parent, Name, Color, Size, Material, Transparency)
  174.  
  175. local WedgePart = Instance.new("WedgePart", Parent)
  176. WedgePart.Name = Name
  177. WedgePart.BrickColor = BrickColor.new(Color)
  178. WedgePart.Size = Size
  179. WedgePart.Material = Material
  180. WedgePart.Transparency = Transparency
  181. WedgePart.CanCollide = false
  182. NoOutlines(WedgePart)
  183.  
  184. return WedgePart
  185.  
  186. end
  187.  
  188. local CreateWeld = function(Parent, Cframe, P1 , P0)
  189.  
  190. local Weld = Instance.new("Weld", Parent)
  191. Weld.Part0 = P0
  192. Weld.Part1 = P1
  193. Weld.Name = P0.Name .. "To" .. P1.Name
  194. Weld.C0 = Cframe
  195.  
  196. return Weld
  197.  
  198. end
  199.  
  200. local CreateVelocity = function(Parent,Velocity,Force)
  201.  
  202. local BodyVelocity = Instance.new("BodyVelocity", Parent)
  203. BodyVelocity.Velocity = Velocity
  204. BodyVelocity.MaxForce = Force
  205.  
  206.  
  207.  
  208. return BodyVelocity
  209.  
  210. end
  211.  
  212.  
  213. local CreateCrystal = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  214.  
  215.  
  216. local Part = Instance.new("Part", Parent)
  217. Part.Name = Name
  218. Part.BrickColor = BrickColor.new(Color)
  219. Part.Size = Size
  220. Part.Material = Material
  221. Part.Transparency = Transparency
  222. Part.CanCollide = false
  223. NoOutlines(Part)
  224.  
  225. local Mesh = Instance.new("SpecialMesh", Part)
  226. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. CrystalMeshId
  227. Mesh.Scale = Scale
  228.  
  229. return Mesh and Part
  230.  
  231. end
  232.  
  233. local MakeSFX = function(Parent, Id, Volume, Pitch, Type)
  234.  
  235. local SFX = Instance.new("Sound", Parent)
  236. SFX.SoundId = "http://www.roblox.com/asset?id=" .. Id
  237. SFX.Name = "SFX"
  238. SFX:Play()
  239. SFX.Volume = Volume
  240. SFX.Pitch = Pitch
  241. SFX.PlayOnRemove = true
  242. SFX:Remove()
  243.  
  244. if Type == "Echo" then
  245.  
  246. Instance.new("EchoSoundEffect", SFX)
  247.  
  248. end
  249.  
  250. end
  251.  
  252. local CreateSpike = function(Parent, Name, Color, Size, Material, Transparency, Scale)
  253.  
  254.  
  255. local Part = Instance.new("Part", Parent)
  256. Part.Name = Name
  257. Part.BrickColor = BrickColor.new(Color)
  258. Part.Size = Size
  259. Part.Material = Material
  260. Part.Transparency = Transparency
  261. Part.CanCollide = false
  262. NoOutlines(Part)
  263.  
  264. local Mesh = Instance.new("SpecialMesh", Part)
  265. Mesh.MeshId = "http://www.roblox.com/asset?id=" .. SpikeMeshId
  266. Mesh.Scale = Scale
  267.  
  268. return Mesh and Part
  269.  
  270. end
  271.  
  272. CircleEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  273.  
  274. local Part = Instance.new("Part", Parent)
  275. Part.Transparency = Transparency
  276. Part.Name = "CircleEffect"
  277. Part.Size = Vector3.new()
  278. Part.Anchored = true
  279. Part.CanCollide = false
  280. Part.Position = Position
  281. Part.BrickColor = BrickColor.new(Brickcolor)
  282. Part.Material = Material
  283. NoOutlines(Part)
  284.  
  285. local Mesh = Instance.new("SpecialMesh", Part)
  286. Mesh.MeshType = "Sphere"
  287. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  288.  
  289. Services.Debris:AddItem(Part, Time)
  290.  
  291.  
  292. table.insert(Effects, {Part, "Circle", Time, SX, SY, SZ})
  293.  
  294.  
  295. end
  296.  
  297. BlockEffect = function(Position, Parent, DSX, DSY, DSZ, SX, SY, SZ, Time, Brickcolor, Material, Transparency)
  298.  
  299. local Part = Instance.new("Part", Parent)
  300. Part.Transparency = Transparency
  301. Part.Name = "BlockEffect"
  302. Part.Size = Vector3.new()
  303. Part.Anchored = true
  304. Part.Position = Position
  305. Part.CanCollide = false
  306. Part.BrickColor = BrickColor.new(Brickcolor)
  307. Part.Material = Material
  308. NoOutlines(Part)
  309.  
  310. local Mesh = Instance.new("BlockMesh", Part)
  311. Mesh.Scale = Vector3.new(DSX, DSY, DSZ)
  312.  
  313. Services.Debris:AddItem(Part, Time)
  314.  
  315. table.insert(Effects, {Part, "Block", Time, SX, SY, SZ})
  316.  
  317.  
  318. end
  319.  
  320. --[[ Damage function ]]--
  321.  
  322.  
  323. function DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  324.  
  325. local HitHumanoid = Hit.Parent.Humanoid
  326.  
  327.  
  328. local Damage = math.random(Min, Max)
  329.  
  330.  
  331. coroutine.resume(coroutine.create(function()
  332. HitHumanoid:TakeDamage(Damage)
  333. end))
  334.  
  335. if Type == "Shrink" then
  336. MakeSFX(Hit.Parent.Torso, 209527235, 1, 1)
  337. for i,v in pairs(Hit.Parent:children()) do
  338. if v:IsA("Part") then
  339. coroutine.resume(coroutine.create(function()
  340. for i = 1,100 do
  341. wait()
  342. v.Size = v.Size - Vector3.new(0.05,0.05,0.05)
  343. v.Transparency = v.Transparency + 0.05
  344.  
  345. end
  346. end))
  347. end
  348. end
  349.  
  350. end
  351.  
  352.  
  353.  
  354. if Type == "Normal" then
  355.  
  356. local Push = CreateVelocity(Hit.Parent.Torso, Torso.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  357. Services.Debris:AddItem(Push, 0)
  358. DamageLabel(Hit.Parent, Damage, Hit)
  359.  
  360. elseif Type == "Ranged" then
  361. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  362. Services.Debris:AddItem(Push, 0)
  363. DamageLabel(Hit.Parent, Damage, Hit)
  364.  
  365. elseif Type == "Impale" then
  366.  
  367. local Spike = CreateSpike(Services.Workspace, "D e a t h", "Black", Vector3.new(), "SmoothPlastic", 0, Vector3.new(1,20,1))
  368. Spike.Anchored = true
  369. Spike.Rotation = Vector3.new(math.random(-50,50), 0 , math.random(-50,50))
  370. Spike.Position = Hit.Parent.Torso.Position
  371.  
  372.  
  373. Services.Debris:AddItem(Spike, 30)
  374.  
  375. Hit.Parent:BreakJoints()
  376. Hit.Parent.Torso.Position = Spike.Position + Vector3.new(0,5,0)
  377. Hit.Parent.Torso.Anchored = true
  378.  
  379. MakeSFX(Spike, 306247724, 1,1)
  380. MakeSFX(Hit.Parent.Torso, 209527175, 10,1)
  381. elseif Type == "Knockdown" then
  382.  
  383.  
  384. local Push = CreateVelocity(Hit.Parent.Torso, Part.CFrame.lookVector * Knockback, Vector3.new(math.huge,math.huge,math.huge))
  385. DamageLabel(Hit.Parent, Damage, Hit)
  386. Services.Debris:AddItem(Push, 0.3)
  387.  
  388. coroutine.resume(coroutine.create(function()
  389.  
  390. HitHumanoid.PlatformStand = true
  391. wait(1)
  392. HitHumanoid.PlatformStand = false
  393.  
  394.  
  395. end))
  396. end
  397.  
  398. if HitSFX == "Penetration" then
  399.  
  400. MakeSFX(Hit, 199149269, 1 , 1)
  401.  
  402. elseif HitSFX == "Punch" then
  403.  
  404. MakeSFX(Hit, 278062209, 1 , 1)
  405.  
  406.  
  407.  
  408.  
  409. end
  410. end
  411.  
  412. function DamageLabel(HitCharacter, DamageDealt, Hit)
  413.  
  414. local DamageShowingPart = CreatePart(Services.Workspace, "ShowDamage", "Bright yellow", Vector3.new(0.8,0.8,0.8), "Neon", 1, "Block")
  415. DamageShowingPart.Position = HitCharacter.Head.Position
  416.  
  417. local DamageGui = Instance.new("BillboardGui", DamageShowingPart)
  418. DamageGui.Name = "Damage"
  419. DamageGui.AlwaysOnTop = true
  420. DamageGui.Size = UDim2.new(5, 0, 5, 0)
  421.  
  422. local DamageNumber = Instance.new("TextLabel", DamageGui)
  423. DamageNumber.Size = UDim2.new(1,0,1,0)
  424. if Hit.Parent:FindFirstChild("Head") then
  425. DamageNumber.TextStrokeColor3 = Hit.Parent.Head.BrickColor.Color
  426. DamageNumber.TextColor3 = Hit.BrickColor.Color
  427. end
  428. DamageNumber.TextStrokeTransparency = 0
  429. DamageNumber.BackgroundTransparency = 1
  430. DamageNumber.Font = "SourceSansBold"
  431. DamageNumber.TextScaled = true
  432. DamageNumber.Text = DamageDealt
  433.  
  434. local BodyVelocity = Instance.new("BodyVelocity", DamageShowingPart)
  435. BodyVelocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  436. BodyVelocity.Velocity = Vector3.new(0,2,0)
  437.  
  438. Services.Debris:AddItem(DamageShowingPart, 3)
  439.  
  440.  
  441. end
  442.  
  443. function ValidateDamage(Part, Distance ,Min , Max, Type, HitSFX, Knockback)
  444. for _,WorkspaceChildren in pairs(workspace:children()) do
  445.  
  446. local HitHumanoid = WorkspaceChildren:findFirstChild("Humanoid")
  447.  
  448. if HitHumanoid ~= nil then
  449. local Hit = WorkspaceChildren:findFirstChild("Torso")
  450.  
  451. if Hit ~= nil then
  452.  
  453. local Target = Hit.Position - Part.Position
  454.  
  455. local Magnitude = Target.magnitude
  456.  
  457. if Magnitude <= Distance and WorkspaceChildren.Name ~= Player.Name then
  458.  
  459. local HitBlock = Hit.Parent:FindFirstChild("Block")
  460.  
  461. if HitBlock ~= nil and HitBlock:FindFirstChild("BlockDurability") and HitBlock.Value == true then
  462.  
  463. local HitBlock2 = Hit.Parent.Block.BlockDurability
  464.  
  465. if HitBlock2.Value > 15 then
  466.  
  467. local HitN = math.random(1,5)
  468.  
  469. HitBlock2.Value = HitBlock2.Value - 15
  470.  
  471.  
  472. if HitN == 1 then
  473. MakeSFX(Hit ,199148971, 0.5, 1)
  474. end
  475.  
  476. if HitN == 2 then
  477. MakeSFX(Hit ,199149025, 0.5, 1)
  478. end
  479.  
  480. if HitN == 3 then
  481. MakeSFX(Hit ,199149072, 0.5, 1)
  482. end
  483.  
  484. if HitN == 4 then
  485. MakeSFX(Hit ,199149109, 0.5, 1)
  486. end
  487.  
  488. if HitN == 5 then
  489. MakeSFX(Hit ,199149119, 0.5, 1)
  490. end
  491. return
  492. end
  493. end
  494.  
  495. DamageFunction(Hit, Part, Type, HitSFX, Knockback, Min, Max)
  496.  
  497.  
  498.  
  499. end
  500. end
  501. end
  502. end
  503. end
  504.  
  505.  
  506.  
  507. local Cloak = Instance.new("Part", Character)
  508. Cloak.Name = "Cloak"
  509. Cloak.CanCollide = false
  510. Cloak.BrickColor = BrickColor.new("Institutional white")
  511.  
  512. local CloakMesh = Instance.new("SpecialMesh", Cloak)
  513. CloakMesh.MeshId = "http://www.roblox.com/asset?id=16150814"
  514. CloakMesh.TextureId = "http://www.roblox.com/asset?id=16150799"
  515.  
  516. local CloakWeld = CreateWeld(Cloak, CFrame.new(0,0,0) * CFrame.Angles(0,0,0), Head , Cloak, "ArkusToCharacter")
  517.  
  518. for i,v in pairs(Character:children()) do
  519. if v:IsA("Accessory") then
  520. v:Remove()
  521. elseif v:IsA("Shirt") then
  522. v:Remove()
  523. elseif v:IsA("Pants") then
  524. v:Remove()
  525. elseif v:IsA("BodyColors") then
  526.  
  527. Head.BrickColor =BrickColor.new("Really black")
  528. Torso.BrickColor = BrickColor.new("Really black")
  529. Right_Arm.BrickColor = BrickColor.new("Really black")
  530. Right_Leg.BrickColor = BrickColor.new("Really black")
  531. Left_Arm.BrickColor = BrickColor.new("Really black")
  532. Left_Leg.BrickColor = BrickColor.new("Really black")
  533.  
  534. v.HeadColor = BrickColor.new("Really black")
  535. v.TorsoColor = BrickColor.new("Really black")
  536. v.RightArmColor = BrickColor.new("Really black")
  537. v.LeftArmColor = BrickColor.new("Really black")
  538. v.RightLegColor = BrickColor.new("Really black")
  539. v.LeftLegColor = BrickColor.new("Really black")
  540.  
  541. end
  542. end
  543.  
  544.  
  545.  
  546. --[[ CLerp Declarations ]]--
  547.  
  548. function clerp(a,b,t)
  549. local qa = {QuaternionFromCFrame(a)}
  550. local qb = {QuaternionFromCFrame(b)}
  551. local ax, ay, az = a.x, a.y, a.z
  552. local bx, by, bz = b.x, b.y, b.z
  553. local _t = 1-t
  554. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  555. end
  556.  
  557. function QuaternionFromCFrame(cf) -- dis one
  558. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  559. local trace = m00 + m11 + m22
  560. if trace > 0 then
  561. local s = math.sqrt(1 + trace)
  562. local recip = 0.5/s
  563. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  564. else
  565. local i = 0
  566. if m11 > m00 then
  567. i = 1
  568. end
  569. if m22 > (i == 0 and m00 or m11) then
  570. i = 2
  571. end
  572. if i == 0 then
  573. local s = math.sqrt(m00-m11-m22+1)
  574. local recip = 0.5/s
  575. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  576. elseif i == 1 then
  577. local s = math.sqrt(m11-m22-m00+1)
  578. local recip = 0.5/s
  579. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  580. elseif i == 2 then
  581. local s = math.sqrt(m22-m00-m11+1)
  582. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  583. end
  584. end
  585. end
  586.  
  587. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  588. local xs, ys, zs = x + x, y + y, z + z
  589. local wx, wy, wz = w*xs, w*ys, w*zs
  590. local xx = x*xs
  591. local xy = x*ys
  592. local xz = x*zs
  593. local yy = y*ys
  594. local yz = y*zs
  595. local zz = z*zs
  596. 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))
  597. end
  598.  
  599. function QuaternionSlerp(a, b, t)
  600. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  601. local startInterp, finishInterp;
  602. if cosTheta >= 0.0001 then
  603. if (1 - cosTheta) > 0.0001 then
  604. local theta = math.acos(cosTheta)
  605. local invSinTheta = 1/math.sin(theta)
  606. startInterp = math.sin((1-t)*theta)*invSinTheta
  607. finishInterp = math.sin(t*theta)*invSinTheta
  608. else
  609. startInterp = 1-t
  610. finishInterp = t
  611. end
  612. else
  613. if (1+cosTheta) > 0.0001 then
  614. local theta = math.acos(-cosTheta)
  615. local invSinTheta = 1/math.sin(theta)
  616. startInterp = math.sin((t-1)*theta)*invSinTheta
  617. finishInterp = math.sin(t*theta)*invSinTheta
  618. else
  619. startInterp = t-1
  620. finishInterp = t
  621. end
  622. end
  623. 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
  624. end
  625.  
  626. function RayCast(Pos, Dir, Max, Ignore)
  627. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  628. end
  629.  
  630.  
  631. function Bars()
  632.  
  633. --[[ Mana Bar ]]--
  634. if Destruction ~= MaxDestruction then
  635.  
  636. Destruction = Destruction + 1
  637.  
  638. end
  639.  
  640. if Destruction >= MaxDestruction then
  641.  
  642. Destruction = Destruction
  643.  
  644. end
  645.  
  646.  
  647. ManaBarText.Text = "<{[ Destruction ]}> <|"..Destruction.."|> <{[ Destruction ]}>"
  648.  
  649. ManaBarP2.Size = UDim2.new(Destruction / Destruction,0,0,20)
  650.  
  651. end
  652. local EyeReference = CreatePart(Character, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  653. local EyeReferenceWeld = CreateWeld(EyeReference, CFrame.new(0.15,-0.1,-0.7), EyeReference, Head)
  654.  
  655. coroutine.resume(coroutine.create(function()
  656.  
  657. while wait(3) do
  658.  
  659.  
  660. CircleEffect(EyeReference.Position, Services.Workspace, 1, 1, 1, 1, 1, 1, 0.5, "Bright red", "Neon", 0.5)
  661.  
  662.  
  663. end
  664.  
  665. end))
  666. --[[ Attacks ]]--
  667.  
  668. function Attack1()
  669. Attacking = true
  670. MakeSFX(EyeReference, 341336274, 1,1)
  671. wait(0.3)
  672. local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  673. local ReferenceWeld = CreateWeld(Reference, CFrame.new(0,0.5,-5), Reference, Root)
  674.  
  675. local Reference2 = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  676. local Reference2Weld = CreateWeld(Reference2, CFrame.new(0,0.5,-2), Reference2, Root)
  677.  
  678.  
  679. for i = 1,10 do
  680.  
  681. wait()
  682. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,-1.6),0.5)
  683. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,0,1.3),0.2)
  684. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
  685. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.5, 0) * CFrame.Angles(0,0,-1.6), 0.4)
  686. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0) * CFrame.Angles(0,1.6,0),0.3)
  687. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0) * CFrame.Angles(0,-1.6,0),0.3)
  688.  
  689. end
  690.  
  691. CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  692. wait(0.5)
  693. CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  694. wait(0.5)
  695. CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  696. wait(0.5)
  697. CircleEffect(Reference2.Position, Services.Workspace, 50, 50, 50, -5, -5, -5, 5, "Bright red", "Neon", 0.5)
  698. wait(0.5)
  699. MakeSFX(Reference, 306247724, 1,1)
  700. CircleEffect(Reference.Position, Services.Workspace, 1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
  701. ValidateDamage(Reference, 10 ,10 , 14, "Shrink", "Penetration", 5)
  702. Attacking = false
  703. end
  704.  
  705. function Attack2()
  706.  
  707. Attacking = true
  708. Humanoid.WalkSpeed = 0
  709. Humanoid.JumpPower = 0
  710.  
  711.  
  712. for i = 1,25 do
  713. wait()
  714.  
  715. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(-0.5,0,0),0.2)
  716. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  717. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1, 1, 0) * CFrame.Angles(3.2,0,-0.6), 0.3)
  718. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1, 1, 0) * CFrame.Angles(3.2,0,0.6), 0.3)
  719. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
  720. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
  721.  
  722. end
  723.  
  724. MakeSFX(Torso, 142070127, 1, 1)
  725. ValidateDamage(Torso, 60 ,23, 26, "Knockdown", "Penetration", 15)
  726. local Hit, Position = RayCast(Torso.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,100,Character)
  727. if Hit ~= nil then
  728. local Reference = CreatePart(Services.Workspace, "Reference", "Dark stone grey", Vector3.new(), "SmoothPlastic", 1, "Block")
  729. Reference.Anchored = true
  730. Reference.CFrame = CFrame.new(Position)
  731.  
  732. CircleEffect(Reference.Position, Services.Workspace, 1, 1, 1, 5, 5, 5, 5, "Bright red", "Neon", 0.5)
  733.  
  734. game:GetService("Debris"):AddItem(Reference,0.1)
  735. for i=1,50 do
  736.  
  737. local Ground = CreatePart(Services.Workspace, "Ground", Hit.BrickColor.Color, Vector3.new(math.random(1,3), math.random(1,3), math.random(1,3)), Hit.Material, 0, "Block")
  738. Ground.Anchored = true
  739. Ground.CanCollide = true
  740. Ground.CFrame = CFrame.new(Position) * CFrame.new(math.random(-30,30), 0, math.random(-30,30)) * CFrame.Angles(math.random(-50,50),math.random(-50,50), math.random(-50,50))
  741.  
  742. game:GetService("Debris"):AddItem(Ground,10)
  743.  
  744. end
  745. end
  746.  
  747. for i = 1,25 do
  748. wait()
  749.  
  750. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.5)
  751. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
  752. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
  753. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.1) * CFrame.Angles(-0.2,0,0), 0.3)
  754. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,-0.3),0.2)
  755. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,-0.5)*CFrame.Angles(0,-1.6,0),0.2)
  756.  
  757. end
  758.  
  759. Attacking = false
  760. Humanoid.WalkSpeed = 16
  761. Humanoid.JumpPower = 50
  762.  
  763.  
  764.  
  765. end
  766.  
  767.  
  768. function Attack3()
  769. Humanoid.WalkSpeed = 0
  770. Humanoid.JumpPower = 0
  771. Attacking = true
  772. wait(1)
  773. MakeSFX(Torso, 341336274, 1, 1.2)
  774. CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  775. wait(1)
  776. MakeSFX(Torso, 341336274, 1, 1.2)
  777. CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  778. wait(1)
  779. MakeSFX(Torso, 341336274, 1, 1.2)
  780. CircleEffect(Torso.Position, Services.Workspace, 1, 1, 1, 20, 20, 20, 5, "Black", "Neon", 0.5)
  781. ValidateDamage(Torso, 60 ,0, 0, "Impale", "Penetration", 15)
  782. Humanoid.WalkSpeed = 16
  783. Humanoid.JumpPower = 50
  784. Attacking = false
  785. end
  786.  
  787.  
  788.  
  789. Mouse.Button1Down:connect(function()
  790. if not Attacking then
  791. if Combo == 1 then
  792.  
  793.  
  794.  
  795.  
  796. Combo = 2
  797. Attack1()
  798.  
  799.  
  800. elseif Combo == 2 then
  801.  
  802. Attack2()
  803. Combo = 3
  804.  
  805. elseif Combo == 3 then
  806.  
  807. Attack3()
  808. Combo = 1
  809.  
  810. end
  811. end
  812. end)
  813.  
  814. --[[ CLerp Animations ]]--
  815. Change1 = 0
  816. Change2 = 0
  817. Change3 = 0
  818. Change4 = 0
  819.  
  820. while true do
  821. wait()
  822.  
  823. local Torvel = (Root.Velocity*Vector3.new(1,0,1)).magnitude
  824. local Velderp = Root.Velocity.y
  825. HitFloor,PosFloor = RayCast(Root.Position,(CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector,4,Character)
  826.  
  827. Bars()
  828.  
  829.  
  830. if Torvel < 1 and HitFloor ~= nil and Attacking == false then
  831. Anim = "Idle"
  832.  
  833. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  834. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
  835. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0.1, 0) * CFrame.Angles(0,0,0.2), 0.3)
  836. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0.1, 0) * CFrame.Angles(0,0,-0.2), 0.3)
  837. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,0)*CFrame.Angles(0,1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  838. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0) * CFrame.Angles(-0.1,0,0),0.2)
  839.  
  840. end
  841.  
  842.  
  843. if 2 < Torvel and Torvel < 22 and HitFloor ~= nil and Attacking == false then
  844. Anim = "Walking"
  845.  
  846. if Invert == false then
  847. Change1 = Change1 + 0.1
  848.  
  849. elseif Invert == true then
  850.  
  851. Change1 = Change1 - 0.1
  852.  
  853. end
  854.  
  855. if Change1 > 0.5 then
  856.  
  857. Invert = true
  858.  
  859. elseif Change1 < -0.5 then
  860.  
  861. Invert = false
  862.  
  863. end
  864.  
  865. if Attacking == false then
  866.  
  867. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  868. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0,-0.3,0),0.3)
  869. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -Change1) * CFrame.Angles(Change1,0,0), 0.3)
  870. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, Change1) * CFrame.Angles(-Change1,0,0), 0.3)
  871. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-Change1 / 4)*CFrame.Angles(Change1,1.6,0),0.2)
  872. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,Change1 / 4)*CFrame.Angles(-Change1,-1.6,0),0.2)
  873.  
  874. end
  875. end
  876.  
  877. if Root.Velocity.y > 1 and HitFloor == nil and Attacking == false then
  878. Anim = "Jump"
  879.  
  880. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  881. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(-0.5,0,0),0.3)
  882. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, 0.2) * CFrame.Angles(-0.4,0,0.2), 0.3)
  883. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, 0.2) * CFrame.Angles(-0.4,0,-0.2), 0.3)
  884. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  885. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  886.  
  887. end
  888.  
  889. if Root.Velocity.y < -1 and HitFloor == nil and Attacking == false then
  890. Anim = "Fall"
  891.  
  892. RootJoint.C0 = clerp(RootJoint.C0,RootCFrame*CFrame.new(0,0,0)* CFrame.Angles(0,0,0),0.2)
  893. Torso.Neck.C0 = clerp(Torso.Neck.C0,Necko * CFrame.Angles(0.5,0,0),0.3)
  894. Right_Shoulder.C0 = clerp(Right_Shoulder.C0, CFrame.new(1.5, 0, -0.2) * CFrame.Angles(0.4,0,0.2), 0.3)
  895. Left_Shoulder.C0 = clerp(Left_Shoulder.C0, CFrame.new(-1.5, 0, -0.2) * CFrame.Angles(0.4,0,-0.2), 0.3)
  896. Right_Hip.C0=clerp(Right_Hip.C0,CFrame.new(1,-1,-0.2)*CFrame.Angles(-0.2,1.6,0),0.2)
  897. Left_Hip.C0=clerp(Left_Hip.C0,CFrame.new(-1,-1,0)*CFrame.Angles(0,-1.6,0),0.2)
  898.  
  899. end
  900.  
  901.  
  902. if #Effects > 0 then
  903. for E = 1, #Effects do
  904. if Effects[E]~=nil then
  905. local Effect = Effects[E]
  906.  
  907. if Effect ~= nil then
  908.  
  909. local Part = Effect[1]
  910. local Mode = Effect[2]
  911. local Time = Effect[3]
  912. local SizeX = Effect[4]
  913. local SizeY = Effect[5]
  914. local SizeZ = Effect[6]
  915.  
  916. if Effect[1].Transparency <= 1 then
  917. if Effect[2] == "Block" then
  918. Effect[1].CFrame = Effect[1].CFrame * CFrame.Angles(math.random(-50,50),math.random(-50,50),math.random(-50,50))
  919.  
  920. Mesh = Effect[1]:FindFirstChild("Mesh")
  921. if Mesh ~= nil then
  922. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  923. end
  924.  
  925. elseif Effect[2] == "Circle" then
  926.  
  927. if Effect[1]:FindFirstChild("Mesh") ~= nil then
  928. Mesh=Effect[1].Mesh
  929. Mesh.Scale = Mesh.Scale + Vector3.new(Effect[4],Effect[5],Effect[6])
  930. end
  931.  
  932. Effect[1].Transparency = Effect[1].Transparency + 0.05
  933.  
  934. else
  935.  
  936. Part.Parent=nil
  937.  
  938. table.remove(Effects, E)
  939.  
  940. end
  941. end
  942. end
  943. end
  944. end
  945. end
  946. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement