Advertisement
Freightus2

Wyvern Leak Void Script Builder

May 6th, 2019
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 83.22 KB | None | 0 0
  1. Goodness, 100 looks in under 10 minutes of even being in Pastebin! I can't thank you all enough, but I can give you another script!
  2. Here, enjoy the Wyvern script!
  3. repeat wait() until script:WaitForChild'Owner'.Value
  4. local Player = script:WaitForChild'Owner'.Value
  5. script.Owner:destroy()
  6. local FakeMouse = script.FakeMouse:Clone();
  7. FakeMouse.Parent = Player.Character;
  8. script.FakeMouse:Destroy()
  9. do
  10. local GUID = {}
  11. do
  12. GUID.IDs = {};
  13. function GUID:new(len)
  14. local id;
  15. if(not len)then
  16. id = (tostring(function() end))
  17. id = id:gsub("function: ","")
  18. else
  19. local function genID(len)
  20. local newID = ""
  21. for i = 1,len do
  22. newID = newID..string.char(math.random(48,90))
  23. end
  24. return newID
  25. end
  26. repeat id = genID(len) until not GUID.IDs[id]
  27. local oid = id;
  28. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  29. GUID.IDs[oid]=true;
  30. end
  31. return id
  32. end
  33. end
  34.  
  35. local AHB = Instance.new("BindableEvent")
  36.  
  37. local FPS = 30
  38.  
  39. local TimeFrame = 0
  40.  
  41. local LastFrame = tick()
  42. local Frame = 1/FPS
  43.  
  44. game:service'RunService'.Heartbeat:connect(function(s,p)
  45. TimeFrame = TimeFrame + s
  46. if(TimeFrame >= Frame)then
  47. for i = 1,math.floor(TimeFrame/Frame) do
  48. AHB:Fire()
  49. end
  50. LastFrame=tick()
  51. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  52. end
  53. end)
  54.  
  55.  
  56. function swait(dur)
  57. if(dur == 0 or typeof(dur) ~= 'number')then
  58. AHB.Event:wait()
  59. else
  60. for i = 1, dur*FPS do
  61. AHB.Event:wait()
  62. end
  63. end
  64. end
  65.  
  66. local oPlayer = Player
  67. local Player = oPlayer
  68.  
  69. local loudnesses={}
  70. script.Parent = Player.Character
  71. local CoAS = {Actions={}}
  72. local Event = Instance.new("RemoteEvent")
  73. Event.Name = "UserInputEvent"
  74. Event.Parent = Player.Character
  75. local Func = Instance.new("RemoteFunction")
  76. Func.Name = "GetClientProperty"
  77. Func.Parent = Player.Character
  78. local fakeEvent = function()
  79. local t = {_fakeEvent=true,Waited={},Connected={}}
  80. t.Connect = function(self,f)
  81. local ft={}
  82. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  83. ft.Disconnect=ft.disconnect
  84.  
  85. ft.Func=function(...)
  86. for id,_ in next, t.Waited do
  87. t.Waited[id] = true
  88. end
  89. return f(...)
  90. end;
  91.  
  92. table.insert(self.Connected,ft)
  93. return ft;
  94. end
  95. t.connect = t.Connect
  96. t.Wait = function()
  97. local guid = GUID:new(25)
  98. local waitingId = guid:Get()
  99. t.Waited[waitingId]=false
  100. repeat swait() until t.Waited[waitingId]==true
  101. t.Waited[waitingId]=nil;
  102. guid:Trash()
  103. end
  104. t.wait = t.Wait
  105. return t
  106. end
  107. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  108. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  109. local Run = {RenderStepped=fakeEvent()}
  110.  
  111. function CoAS:BindAction(name,fun,touch,...)
  112. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  113. end
  114. function CoAS:UnbindAction(name)
  115. CoAS.Actions[name] = nil
  116. end
  117. local function te(self,ev,...)
  118. local t = self[ev]
  119. if t and t._fakeEvent and t.Connected then
  120. for i,v in next, t.Connected do
  121. if(v.Func and not v.Disconnected)then
  122. v.Func(...)
  123. else
  124. t.Connected[i]=nil
  125. end
  126. end
  127. end
  128. end
  129. m.TrigEvent = te
  130. UsIS.TrigEvent = te
  131. Run.TrigEvent = te
  132. Event.OnServerEvent:Connect(function(plr,io)
  133. if plr~=Player then return end
  134. --[[table.foreach(io,print)
  135. print'---']]
  136. if io.Mouse then
  137. m.Target = io.Target
  138. m.Hit = io.Hit
  139. elseif io.KeyEvent then
  140. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  141. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  142. if io.UserInputState == Enum.UserInputState.Begin then
  143. m:TrigEvent("Button1Down")
  144. else
  145. m:TrigEvent("Button1Up")
  146. end
  147. end
  148. if(not io.KeyEvent and not io.Mouse)then
  149.  
  150. for n,t in pairs(CoAS.Actions) do
  151. for _,k in pairs(t.Keys) do
  152. if k==io.KeyCode then
  153. t.Function(t.Name,io.UserInputState,io)
  154. end
  155. end
  156. end
  157. if io.UserInputState == Enum.UserInputState.Begin then
  158. UsIS:TrigEvent("InputBegan",io,false)
  159. else
  160. UsIS:TrigEvent("InputEnded",io,false)
  161. end
  162. end
  163. end)
  164.  
  165. Func.OnServerInvoke = function(plr,inst,play)
  166. if plr~=Player then return end
  167. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  168. loudnesses[inst]=play
  169. end
  170. end
  171.  
  172. function GetClientProperty(inst,prop)
  173. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  174. return loudnesses[inst]
  175. elseif(prop == 'PlaybackLoudness')then
  176. return Func:InvokeClient(Player,'RegSound',inst)
  177. end
  178. return Func:InvokeClient(Player,inst,prop)
  179. end
  180. local oldGame = game;
  181. function GetFakePlayer()
  182. local oldPlayer = Player;
  183. local fakePlayer = newproxy(true)
  184. getmetatable(fakePlayer).__index = function(s,i)
  185. if(i == 'GetMouse')then
  186. return function() return m; end
  187. end
  188. return Player[i]
  189. end
  190. getmetatable(fakePlayer).__newindex = function(s,i,v)
  191. Player[i]=v
  192. end
  193. getmetatable(fakePlayer).__call=function(self,...)
  194. if(self == fakePlayer)then self = Player end
  195. local wh = {...}
  196. local name = table.remove(wh,1)
  197. for i,v in next, wh do
  198. wh[i]=v
  199. end
  200. if(name == 'GetMouse')then
  201. return m;
  202. end
  203. return self(name,unpack(wh))
  204. end
  205. getmetatable(fakePlayer).__namecall=function(self,...)
  206. if(self == fakePlayer)then self = Player end
  207. local tuple={...}
  208. local name = table.remove(tuple,#tuple)
  209.  
  210. if(name == 'GetMouse')then
  211. return m;
  212. else
  213. return self[name](self,unpack(tuple))
  214. end
  215. end
  216.  
  217. return fakePlayer
  218. end
  219. local oll = LoadLibrary;
  220. function LoadLibrary(libtard)
  221. local libtarddestroyed=oll(libtard)
  222. if(libtard=='RbxUtility')then
  223. local library={Create=function(obj)
  224. local inst = Instance.new(obj)
  225. return function(props)
  226. for prop,valu in next, props do
  227. inst[prop]=valu
  228. end
  229. return inst
  230. end
  231. end}
  232. setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
  233.  
  234. return library
  235. else
  236. return libtarddestroyed
  237. end
  238. end
  239. fakePlayer = GetFakePlayer()
  240. local function GetService(s,i)
  241. local service = s:GetService(i)
  242. if(i == 'Players')then
  243. local oldService = service;
  244. local fakeService = newproxy(true)
  245. getmetatable(fakeService).__index = function(s,i)
  246. if(s == fakeService)then s=oldService end
  247. if(i == 'LocalPlayer' or i == 'localPlayer')then
  248. return fakePlayer
  249. elseif(i == 'oPlayer')then
  250. return oPlayer
  251. else
  252. return s[i]
  253. end
  254. end
  255. getmetatable(fakeService).__newindex = function(s,i,v)
  256. if(s == fakeService)then s=oldService end
  257. s[i]=v
  258. end
  259. getmetatable(fakeService).__call=function(self,...)
  260. if(self == fakeService)then self = oldService end
  261. local wh = {...}
  262. local name = table.remove(wh,1)
  263. for i,v in next, wh do
  264. wh[i]=v
  265. end
  266. return self(name,unpack(wh))
  267. end
  268. getmetatable(fakeService).__namecall=function(self,...)
  269. if(self == fakeService)then self = oldService end
  270. local tuple={...}
  271. local name = table.remove(tuple,#tuple)
  272.  
  273. return self[name](self,unpack(tuple))
  274. end
  275. getmetatable(fakeService).__metatable = 'gay'
  276. return fakeService
  277. elseif(i == 'RunService')then
  278. local oldService = service;
  279. local fakeService = newproxy(true)
  280. getmetatable(fakeService).__index = function(s,i)
  281. if(s == fakeService)then s=oldService end
  282. return Run[i] or s[i]
  283. end
  284. getmetatable(fakeService).__newindex = function(s,i,v)
  285. if(s == fakeService)then s=oldService end
  286. s[i]=v
  287. end
  288. getmetatable(fakeService).__call=function(self,...)
  289. if(self == fakeService)then self = oldService end
  290. local wh = {...}
  291. local name = table.remove(wh,1)
  292. for i,v in next, wh do
  293. wh[i]=v
  294. end
  295. return self(name,unpack(wh))
  296. end
  297. getmetatable(fakeService).__namecall=function(self,...)
  298. if(self == fakeService)then self = oldService end
  299. local tuple={...}
  300. local name = table.remove(tuple,#tuple)
  301.  
  302. return self[name](self,unpack(tuple))
  303. end
  304. getmetatable(fakeService).__metatable = 'gay'
  305. return fakeService
  306. elseif(i == 'UserInputService')then
  307. return UsIS
  308. elseif(i == 'ContextActionService')then
  309. return CoAS;
  310. else
  311. return service
  312. end
  313. end
  314.  
  315. local new = Instance.new;
  316. Instance = {}
  317. Instance.new = function(inst,obje)
  318. local lp = GetService(oldGame,'Players').localPlayer
  319. local instance = new(inst)
  320. if(inst=='ObjectValue')then
  321. local fake = newproxy(true)
  322. getmetatable(fake).__index=function(self,index)
  323. if(self==fake)then self=instance end
  324. return self[index]
  325. end
  326. getmetatable(fake).__newindex=function(self,index,value)
  327. if(self==fake)then self=instance end
  328. if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
  329. self[index]=oPlayer
  330. else
  331. self[index]=value
  332. end
  333. end
  334. getmetatable(fake).__call=function(self,...)
  335. if(self == fake)then self = instance end
  336. local wh = {...}
  337. local name = table.remove(wh,1)
  338. for i,v in next, wh do
  339. if(v == fake)then v = instance end
  340. wh[i]=v
  341. end
  342. return self(name,unpack(wh))
  343. end
  344. getmetatable(fake). __namecall=function(self,...)
  345. if(self == fake)then self = instance end
  346. local tuple={...}
  347. local name = table.remove(tuple,#tuple)
  348. return self[name](self,unpack(tuple))
  349. end
  350. return fake
  351. else
  352. instance.Parent = obje
  353. return instance;
  354. end
  355.  
  356. end
  357. local serviceFunctions={
  358. service=true,
  359. GetService=true,
  360. }
  361. local fakeGame = newproxy(true)
  362. getmetatable(fakeGame).__index = function(s,i)
  363. if(s == fakeGame)then s=oldGame end
  364. local serv = GetService(oldGame,i)
  365. if serviceFunctions[i] then
  366. return GetService
  367. elseif(serv)then
  368. return serv
  369. else
  370. return s[i]
  371. end
  372. end
  373. getmetatable(fakeGame).__newindex = function(s,i,v)
  374. if(s == fakeGame)then s=oldGame end
  375. s[i]=v
  376. end
  377. getmetatable(fakeGame).__call=function(self,...)
  378. if(self == fakeGame)then self = oldGame end
  379. local wh = {...}
  380. local name = table.remove(wh,1)
  381. for i,v in next, wh do
  382. if(v == fakeGame)then v = oldGame end
  383. wh[i]=v
  384. end
  385. if serviceFunctions[name] then
  386. return GetService(self,unpack(wh))
  387. else
  388. return self(name,unpack(wh))
  389. end
  390. end
  391. getmetatable(fakeGame). __namecall=function(self,...)
  392. if(self == fakeGame)then self = oldGame end
  393. local tuple={...}
  394. local name = table.remove(tuple,#tuple)
  395.  
  396. local funcToCall=self[name]
  397.  
  398. if serviceFunctions[name] then
  399. return GetService(self,unpack(tuple))
  400. else
  401. return self[name](self,unpack(tuple))
  402. end
  403. end
  404. getmetatable(fakeGame).__metatable = 'gay'
  405.  
  406. coroutine.wrap(function()
  407. while true do
  408. Run:TrigEvent('RenderStepped')
  409. swait()
  410. end
  411. end)()
  412. game=fakeGame
  413. UserInputService,ContextActionService = UsIS,CoAS
  414. end
  415. --//====================================================\\--
  416. --|| CREATED BY SHACKLUSTER
  417. --\\====================================================//--
  418.  
  419. wait(0.2)
  420.  
  421. Player = game:GetService("Players").LocalPlayer
  422. PlayerGui = Player.PlayerGui
  423. Cam = workspace.CurrentCamera
  424. Backpack = Player.Backpack
  425. Character = Player.Character
  426. Humanoid = Character.Humanoid
  427. Mouse = Player:GetMouse()
  428. RootPart = Character["HumanoidRootPart"]
  429. Torso = Character["Torso"]
  430. Head = Character["Head"]
  431. RightArm = Character["Right Arm"]
  432. LeftArm = Character["Left Arm"]
  433. RightLeg = Character["Right Leg"]
  434. LeftLeg = Character["Left Leg"]
  435. RootJoint = RootPart["RootJoint"]
  436. Neck = Torso["Neck"]
  437. RightShoulder = Torso["Right Shoulder"]
  438. LeftShoulder = Torso["Left Shoulder"]
  439. RightHip = Torso["Right Hip"]
  440. LeftHip = Torso["Left Hip"]
  441. local sick = Instance.new("Sound",Torso)
  442. sick.SoundId = "rbxassetid://283528922"
  443. sick.Looped = true
  444. sick.Pitch = 1
  445. sick.Volume = 2
  446. sick:Play()
  447.  
  448. IT = Instance.new
  449. CF = CFrame.new
  450. VT = Vector3.new
  451. RAD = math.rad
  452. C3 = Color3.new
  453. UD2 = UDim2.new
  454. BRICKC = BrickColor.new
  455. ANGLES = CFrame.Angles
  456. EULER = CFrame.fromEulerAnglesXYZ
  457. COS = math.cos
  458. ACOS = math.acos
  459. SIN = math.sin
  460. ASIN = math.asin
  461. ABS = math.abs
  462. MRANDOM = math.random
  463. FLOOR = math.floor
  464.  
  465. --//=================================\\
  466. --|| USEFUL VALUES
  467. --\\=================================//
  468.  
  469. Animation_Speed = 3
  470. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  471. local Speed = 16
  472. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  473. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  474. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  475. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  476. local DAMAGEMULTIPLIER = 1
  477. local ANIM = "Idle"
  478. local ATTACK = false
  479. local EQUIPPED = false
  480. local HOLD = false
  481. local COMBO = 1
  482. local Rooted = false
  483. local SINE = 0
  484. local KEYHOLD = false
  485. local CHANGE = 2 / Animation_Speed
  486. local WALKINGANIM = false
  487. local VALUE1 = false
  488. local VALUE2 = false
  489. local ROBLOXIDLEANIMATION = IT("Animation")
  490. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  491. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  492. --ROBLOXIDLEANIMATION.Parent = Humanoid
  493. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  494. WEAPONGUI.Name = "Weapon GUI"
  495. local Weapon = IT("Model")
  496. Weapon.Name = "Adds"
  497. local Effects = IT("Folder", Weapon)
  498. Effects.Name = "Effects"
  499. local READYTODOUBLE = false
  500. local DOUBLEJUMP = false
  501. local ANIMATOR = Humanoid.Animator
  502. local ANIMATE = Character.Animate
  503. local UNANCHOR = true
  504. local FIRECOLOR = C3(1,85/255,0)
  505. local EXPLOSION = 1417056081
  506. local SWOOSH = 1391500510
  507. local RINGSOUND = 1417051162
  508. local FLAP = 462676772
  509. local FIREBALLS = 463593339
  510.  
  511. --//=================================\\
  512. --\\=================================//
  513.  
  514.  
  515. --//=================================\\
  516. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  517. --\\=================================//
  518.  
  519. ArtificialHB = Instance.new("BindableEvent", script)
  520. ArtificialHB.Name = "ArtificialHB"
  521.  
  522. script:WaitForChild("ArtificialHB")
  523.  
  524. frame = Frame_Speed
  525. tf = 0
  526. allowframeloss = false
  527. tossremainder = false
  528. lastframe = tick()
  529. script.ArtificialHB:Fire()
  530.  
  531. game:GetService("RunService").Heartbeat:connect(function(s, p)
  532. tf = tf + s
  533. if tf >= frame then
  534. if allowframeloss then
  535. script.ArtificialHB:Fire()
  536. lastframe = tick()
  537. else
  538. for i = 1, math.floor(tf / frame) do
  539. script.ArtificialHB:Fire()
  540. end
  541. lastframe = tick()
  542. end
  543. if tossremainder then
  544. tf = 0
  545. else
  546. tf = tf - frame * math.floor(tf / frame)
  547. end
  548. end
  549. end)
  550.  
  551. --//=================================\\
  552. --\\=================================//
  553.  
  554. --//=================================\\
  555. --|| SOME FUNCTIONS
  556. --\\=================================//
  557.  
  558. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  559. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  560. end
  561.  
  562. function PositiveAngle(NUMBER)
  563. if NUMBER >= 0 then
  564. NUMBER = 0
  565. end
  566. return NUMBER
  567. end
  568.  
  569. function NegativeAngle(NUMBER)
  570. if NUMBER <= 0 then
  571. NUMBER = 0
  572. end
  573. return NUMBER
  574. end
  575.  
  576. function Swait(NUMBER)
  577. if NUMBER == 0 or NUMBER == nil then
  578. ArtificialHB.Event:wait()
  579. else
  580. for i = 1, NUMBER do
  581. ArtificialHB.Event:wait()
  582. end
  583. end
  584. end
  585.  
  586. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  587. local NEWMESH = IT(MESH)
  588. if MESH == "SpecialMesh" then
  589. NEWMESH.MeshType = MESHTYPE
  590. if MESHID ~= "nil" and MESHID ~= "" then
  591. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  592. end
  593. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  594. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  595. end
  596. end
  597. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  598. NEWMESH.Scale = SCALE
  599. NEWMESH.Parent = PARENT
  600. return NEWMESH
  601. end
  602.  
  603. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  604. local NEWPART = IT("Part")
  605. NEWPART.formFactor = FORMFACTOR
  606. NEWPART.Reflectance = REFLECTANCE
  607. NEWPART.Transparency = TRANSPARENCY
  608. NEWPART.CanCollide = false
  609. NEWPART.Locked = true
  610. NEWPART.Anchored = true
  611. if ANCHOR == false then
  612. NEWPART.Anchored = false
  613. end
  614. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  615. NEWPART.Name = NAME
  616. NEWPART.Size = SIZE
  617. NEWPART.Position = Torso.Position
  618. NEWPART.Material = MATERIAL
  619. NEWPART:BreakJoints()
  620. NEWPART.Parent = PARENT
  621. return NEWPART
  622. end
  623.  
  624. local function weldBetween(a, b)
  625. local weldd = Instance.new("ManualWeld")
  626. weldd.Part0 = a
  627. weldd.Part1 = b
  628. weldd.C0 = CFrame.new()
  629. weldd.C1 = b.CFrame:inverse() * a.CFrame
  630. weldd.Parent = a
  631. return weldd
  632. end
  633.  
  634.  
  635. function QuaternionFromCFrame(cf)
  636. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  637. local trace = m00 + m11 + m22
  638. if trace > 0 then
  639. local s = math.sqrt(1 + trace)
  640. local recip = 0.5 / s
  641. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  642. else
  643. local i = 0
  644. if m11 > m00 then
  645. i = 1
  646. end
  647. if m22 > (i == 0 and m00 or m11) then
  648. i = 2
  649. end
  650. if i == 0 then
  651. local s = math.sqrt(m00 - m11 - m22 + 1)
  652. local recip = 0.5 / s
  653. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  654. elseif i == 1 then
  655. local s = math.sqrt(m11 - m22 - m00 + 1)
  656. local recip = 0.5 / s
  657. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  658. elseif i == 2 then
  659. local s = math.sqrt(m22 - m00 - m11 + 1)
  660. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  661. end
  662. end
  663. end
  664.  
  665. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  666. local xs, ys, zs = x + x, y + y, z + z
  667. local wx, wy, wz = w * xs, w * ys, w * zs
  668. local xx = x * xs
  669. local xy = x * ys
  670. local xz = x * zs
  671. local yy = y * ys
  672. local yz = y * zs
  673. local zz = z * zs
  674. 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))
  675. end
  676.  
  677. function QuaternionSlerp(a, b, t)
  678. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  679. local startInterp, finishInterp;
  680. if cosTheta >= 0.0001 then
  681. if (1 - cosTheta) > 0.0001 then
  682. local theta = ACOS(cosTheta)
  683. local invSinTheta = 1 / SIN(theta)
  684. startInterp = SIN((1 - t) * theta) * invSinTheta
  685. finishInterp = SIN(t * theta) * invSinTheta
  686. else
  687. startInterp = 1 - t
  688. finishInterp = t
  689. end
  690. else
  691. if (1 + cosTheta) > 0.0001 then
  692. local theta = ACOS(-cosTheta)
  693. local invSinTheta = 1 / SIN(theta)
  694. startInterp = SIN((t - 1) * theta) * invSinTheta
  695. finishInterp = SIN(t * theta) * invSinTheta
  696. else
  697. startInterp = t - 1
  698. finishInterp = t
  699. end
  700. end
  701. 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
  702. end
  703.  
  704. function Clerp(a, b, t)
  705. local qa = {QuaternionFromCFrame(a)}
  706. local qb = {QuaternionFromCFrame(b)}
  707. local ax, ay, az = a.x, a.y, a.z
  708. local bx, by, bz = b.x, b.y, b.z
  709. local _t = 1 - t
  710. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  711. end
  712.  
  713. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  714. local frame = IT("Frame")
  715. frame.BackgroundTransparency = TRANSPARENCY
  716. frame.BorderSizePixel = BORDERSIZEPIXEL
  717. frame.Position = POSITION
  718. frame.Size = SIZE
  719. frame.BackgroundColor3 = COLOR
  720. frame.BorderColor3 = BORDERCOLOR
  721. frame.Name = NAME
  722. frame.Parent = PARENT
  723. return frame
  724. end
  725.  
  726. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  727. local label = IT("TextLabel")
  728. label.BackgroundTransparency = 1
  729. label.Size = UD2(1, 0, 1, 0)
  730. label.Position = UD2(0, 0, 0, 0)
  731. label.TextColor3 = TEXTCOLOR
  732. label.TextStrokeTransparency = STROKETRANSPARENCY
  733. label.TextTransparency = TRANSPARENCY
  734. label.FontSize = TEXTFONTSIZE
  735. label.Font = TEXTFONT
  736. label.BorderSizePixel = BORDERSIZEPIXEL
  737. label.TextScaled = false
  738. label.Text = TEXT
  739. label.Name = NAME
  740. label.Parent = PARENT
  741. return label
  742. end
  743.  
  744. function NoOutlines(PART)
  745. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  746. end
  747.  
  748. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  749. local NEWWELD = IT(TYPE)
  750. NEWWELD.Part0 = PART0
  751. NEWWELD.Part1 = PART1
  752. NEWWELD.C0 = C0
  753. NEWWELD.C1 = C1
  754. NEWWELD.Parent = PARENT
  755. return NEWWELD
  756. end
  757.  
  758. local S = IT("Sound")
  759. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  760. local NEWSOUND = nil
  761. coroutine.resume(coroutine.create(function()
  762. NEWSOUND = S:Clone()
  763. NEWSOUND.Parent = PARENT
  764. NEWSOUND.Volume = VOLUME
  765. NEWSOUND.Pitch = PITCH
  766. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  767. NEWSOUND:play()
  768. if DOESLOOP == true then
  769. NEWSOUND.Looped = true
  770. else
  771. repeat Swait() until NEWSOUND.Playing == false
  772. NEWSOUND:remove()
  773. end
  774. end))
  775. return NEWSOUND
  776. end
  777.  
  778. function CFrameFromTopBack(at, top, back)
  779. local right = top:Cross(back)
  780. 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)
  781. end
  782.  
  783. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  784. function WACKYEFFECT(Table)
  785. local TYPE = (Table.EffectType or "Sphere")
  786. local SIZE = (Table.Size or VT(1,1,1))
  787. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  788. local TRANSPARENCY = (Table.Transparency or 0)
  789. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  790. local CFRAME = (Table.CFrame or Torso.CFrame)
  791. local MOVEDIRECTION = (Table.MoveToPos or nil)
  792. local ROTATION1 = (Table.RotationX or 0)
  793. local ROTATION2 = (Table.RotationY or 0)
  794. local ROTATION3 = (Table.RotationZ or 0)
  795. local MATERIAL = (Table.Material or "Neon")
  796. local COLOR = (Table.Color or C3(1,1,1))
  797. local TIME = (Table.Time or 45)
  798. local SOUNDID = (Table.SoundID or nil)
  799. local SOUNDPITCH = (Table.SoundPitch or nil)
  800. local SOUNDVOLUME = (Table.SoundVolume or nil)
  801. coroutine.resume(coroutine.create(function()
  802. local PLAYSSOUND = false
  803. local SOUND = nil
  804. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  805. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  806. PLAYSSOUND = true
  807. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  808. end
  809. EFFECT.Color = COLOR
  810. local MSH = nil
  811. if TYPE == "Sphere" then
  812. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  813. elseif TYPE == "Block" then
  814. MSH = IT("BlockMesh",EFFECT)
  815. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  816. elseif TYPE == "Wave" then
  817. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  818. elseif TYPE == "Ring" then
  819. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.01), VT(0,0,0))
  820. elseif TYPE == "Slash" then
  821. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  822. elseif TYPE == "Round Slash" then
  823. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  824. elseif TYPE == "Swirl" then
  825. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  826. elseif TYPE == "Skull" then
  827. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  828. elseif TYPE == "Crystal" then
  829. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  830. elseif TYPE == "Body" then
  831. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "90615474", "", SIZE, VT(0,0,0))
  832. elseif TYPE == "RightWing" then
  833. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "90615661", "", SIZE, VT(0,0,0))
  834. elseif TYPE == "LeftWing" then
  835. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "90615581", "", SIZE, VT(0,0,0))
  836. end
  837. if MSH ~= nil then
  838. local MOVESPEED = nil
  839. if MOVEDIRECTION ~= nil then
  840. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  841. end
  842. local GROWTH = SIZE - ENDSIZE
  843. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  844. if TYPE == "Block" then
  845. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  846. else
  847. EFFECT.CFrame = CFRAME
  848. end
  849. for LOOP = 1, TIME do
  850. Swait()
  851. MSH.Scale = MSH.Scale - GROWTH/TIME
  852. if TYPE == "Wave" then
  853. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  854. end
  855. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  856. if TYPE == "Block" then
  857. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  858. else
  859. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  860. end
  861. if MOVEDIRECTION ~= nil then
  862. local ORI = EFFECT.Orientation
  863. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  864. EFFECT.Orientation = ORI
  865. end
  866. end
  867. if PLAYSSOUND == false then
  868. EFFECT:remove()
  869. else
  870. repeat Swait() until SOUND.Playing == false
  871. EFFECT:remove()
  872. end
  873. else
  874. if PLAYSSOUND == false then
  875. EFFECT:remove()
  876. else
  877. repeat Swait() until SOUND.Playing == false
  878. EFFECT:remove()
  879. end
  880. end
  881. end))
  882. end
  883.  
  884. local Particle = IT("ParticleEmitter",nil)
  885. Particle.Enabled = false
  886. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.6),NumberSequenceKeypoint.new(1,1)})
  887. Particle.LightEmission = 0.5
  888. Particle.Rate = 500
  889. Particle.Rotation = NumberRange.new(-180, 180)
  890. Particle.RotSpeed = NumberRange.new(-180, 180)
  891. Particle.Texture = "http://www.roblox.com/asset/?id=1460745664"
  892. Particle.Color = ColorSequence.new(FIRECOLOR)
  893.  
  894. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  895. function ParticleEmitter(Table)
  896. local PRTCL = Particle:Clone()
  897. local Speed = Table.Speed or 5
  898. local Drag = Table.Drag or 0
  899. local Size1 = Table.Size1 or 1
  900. local Size2 = Table.Size2 or 5
  901. local Lifetime1 = Table.Lifetime1 or 1
  902. local Lifetime2 = Table.Lifetime2 or 1.5
  903. local Parent = Table.Parent or Torso
  904. local Emit = Table.Emit or 100
  905. local Offset = Table.Offset or 360
  906. local Enabled = Table.Enabled or false
  907. PRTCL.Parent = Parent
  908. PRTCL.Size = NumberSequence.new(Size1,Size2)
  909. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  910. PRTCL.Speed = NumberRange.new(Speed)
  911. PRTCL.VelocitySpread = Offset
  912. PRTCL.Drag = Drag
  913. if Enabled == false then
  914. PRTCL:Emit(Emit)
  915. Debris:AddItem(PRTCL,Lifetime2)
  916. else
  917. PRTCL.Enabled = true
  918. end
  919. return PRTCL
  920. end
  921.  
  922. function BurningLimb(Limb)
  923. local PRTCL = ParticleEmitter({Speed = 2, Drag = 4, Size1 = 1, Size2 = 0, Lifetime1 = 0.6, Lifetime2 = 1.5, Parent = Limb, Emit = 100, Offset = 360, Enabled = true})
  924. PRTCL.Acceleration = VT(0,5,0)
  925. PRTCL.ZOffset = 1
  926. return PRTCL
  927. end
  928.  
  929. local Decal = IT("Decal")
  930.  
  931. function MagicRing()
  932. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Ring", VT(0,0,0))
  933. local decal = Decal:Clone()
  934. decal.Parent = O1
  935. decal.Face = "Top"
  936. decal.Texture = "http://www.roblox.com/asset/?id=575122624"
  937. local decal2 = Decal:Clone()
  938. decal2.Parent = O1
  939. decal2.Face = "Bottom"
  940. decal2.Texture = "http://www.roblox.com/asset/?id=575122694"
  941. return O1
  942. end
  943.  
  944. function VELOC(Part,Resistance,Position)
  945. local GRAV = IT("BodyPosition",Part)
  946. GRAV.D = Resistance
  947. GRAV.P = 20000
  948. GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
  949. GRAV.Position = Position
  950. return GRAV
  951. end
  952.  
  953. function MakeForm(PART,TYPE)
  954. if TYPE == "Cyl" then
  955. local MSH = IT("CylinderMesh",PART)
  956. elseif TYPE == "Ball" then
  957. local MSH = IT("SpecialMesh",PART)
  958. MSH.MeshType = "Sphere"
  959. elseif TYPE == "Wedge" then
  960. local MSH = IT("SpecialMesh",PART)
  961. MSH.MeshType = "Wedge"
  962. end
  963. end
  964.  
  965. function MakeWings(DoesBurn)
  966. local RWING = CreatePart(3, Weapon, "Neon", 0, 0.5, "Deep orange", "Right Wing", (VT(2, 3, 2)*1.5),false)
  967. local LWING = CreatePart(3, Weapon, "Neon", 0, 0.5, "Deep orange", "Left Wing", (VT(2, 3, 2)*1.5),false)
  968. CreateMesh("SpecialMesh", RWING, "FileMesh", "90615661", "", VT(1.5,1.5,1.5), VT(0,0,0))
  969. CreateMesh("SpecialMesh", LWING, "FileMesh", "90615581", "", VT(1.5,1.5,1.5), VT(0,0,0))
  970. local RWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, RWING, CF(2 , 2, 0.75), CF(-3.5, 0, 0))
  971. local LWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, LWING, CF(-2 , 2, 0.75), CF(3.5, 0, 0))
  972. RWING.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  973. LWING.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  974. RWING.Color = FIRECOLOR
  975. LWING.Color = FIRECOLOR
  976. if DoesBurn == true then
  977. local RightWingFire = BurningLimb(RWING)
  978. local LeftWingFire = BurningLimb(LWING)
  979. return RWING,LWING,RWELD,LWELD,RightWingFire,LeftWingFire
  980. else
  981. return RWING,LWING,RWELD,LWELD
  982. end
  983. end
  984.  
  985. function Wyvern(Size,DoesBurn)
  986. local WYVERN = IT("Model")
  987. local BASEPART = CreatePart(3, WYVERN, "Neon", 0, 0.5, "Deep orange", "Wyvern Base",(VT(1, 7.2, 1)*1.5)*Size,false)
  988. local BASEWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, BASEPART, CF(0,0,0), CF(0, 0, 0))
  989. CreateMesh("SpecialMesh", BASEPART, "FileMesh", "90615474", "", VT(1.5,1.5,1.5)*Size, VT(0,0,0))
  990. local RWING = CreatePart(3, WYVERN, "Neon", 0, 0.5, "Deep orange", "Right Wing", (VT(2, 3, 2)*1.5)*Size,false)
  991. local RWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, RWING, CF(2*Size , 2*Size, 0.75*Size), CF(-2*Size, 0, 0))
  992. local LWING = CreatePart(3, WYVERN, "Neon", 0, 0.5, "Deep orange", "Left Wing", (VT(2, 3, 2)*1.5)*Size,false)
  993. local LWELD = CreateWeldOrSnapOrMotor("Weld", Torso, Torso, LWING, CF(-2*Size , 2*Size, 0.75*Size), CF(2*Size, 0, 0))
  994. CreateMesh("SpecialMesh", RWING, "FileMesh", "90615661", "", VT(1.5,1.5,1.5)*Size, VT(0,0,0))
  995. CreateMesh("SpecialMesh", LWING, "FileMesh", "90615581", "", VT(1.5,1.5,1.5)*Size, VT(0,0,0))
  996. for _, c in pairs(WYVERN:GetChildren()) do
  997. if c.ClassName == "Part" then
  998. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  999. c.Color = FIRECOLOR
  1000. end
  1001. end
  1002. WYVERN.Parent = Weapon
  1003. if DoesBurn == false then
  1004. return WYVERN,BASEPART,RWING,LWING,BASEWELD,RWELD,LWELD
  1005. elseif DoesBurn == true then
  1006. local BodyFire = BurningLimb(BASEPART)
  1007. BodyFire.Size = NumberSequence.new(Size,0)
  1008. BodyFire.Acceleration = VT(0,2*Size,0)
  1009. local RightWingFire = BurningLimb(RWING)
  1010. RightWingFire.Size = NumberSequence.new(Size,0)
  1011. RightWingFire.Acceleration = VT(0,6*Size,0)
  1012. local LeftWingFire = BurningLimb(LWING)
  1013. LeftWingFire.Size = NumberSequence.new(Size,0)
  1014. LeftWingFire.Acceleration = VT(0,6*Size,0)
  1015. BodyFire.Color = ColorSequence.new(FIRECOLOR,C3(1,1,1))
  1016. RightWingFire.Color = ColorSequence.new(FIRECOLOR,C3(1,1,1))
  1017. LeftWingFire.Color = ColorSequence.new(FIRECOLOR,C3(1,1,1))
  1018. return WYVERN,BASEPART,RWING,LWING,BASEWELD,RWELD,LWELD,BodyFire,RightWingFire,LeftWingFire
  1019. end
  1020. end
  1021.  
  1022. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  1023. if FLOOR ~= nil then
  1024. for i = 1, AMOUNT do
  1025. local DEBREE = CreatePart(3, Effects, "Neon", 0, 0, "Peal", "Debree", BLOCKSIZE, false)
  1026. DEBREE.Material = FLOOR.Material
  1027. DEBREE.Color = FLOOR.Color
  1028. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1029. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),STRENGTH,MRANDOM(-STRENGTH,STRENGTH))
  1030. coroutine.resume(coroutine.create(function()
  1031. Swait(15)
  1032. DEBREE.Parent = workspace
  1033. DEBREE.CanCollide = true
  1034. Debris:AddItem(DEBREE,SWAIT)
  1035. end))
  1036. end
  1037. end
  1038. end
  1039.  
  1040. Debris = game:GetService("Debris")
  1041.  
  1042. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1043. local DIRECTION = CF(StartPos,EndPos).lookVector
  1044. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1045. end
  1046.  
  1047. function turnto(position)
  1048. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1049. end
  1050.  
  1051. --//=================================\\
  1052. --|| WEAPON CREATION
  1053. --\\=================================//
  1054.  
  1055. Humanoid.HealthChanged:connect(function()
  1056. if Humanoid.Health ~= "inf" then
  1057. Humanoid.Health = "inf"
  1058. end
  1059. if Humanoid.MaxHealth ~= "inf" then
  1060. Humanoid.MaxHealth = "inf"
  1061. end
  1062. end)
  1063.  
  1064. local SKILLTEXTCOLOR = FIRECOLOR
  1065. local SKILLFONT = "Bodoni"
  1066. local SKILLTEXTSIZE = 6
  1067.  
  1068. Weapon.Parent = Character
  1069.  
  1070. Humanoid.Died:connect(function()
  1071. ATTACK = true
  1072. end)
  1073.  
  1074. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1075. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1076. local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1077. local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1078. local SKILL5FRAME = CreateFrame(WEAPONGUI, 0.75, 2, UD2(0.365, 0, 0.70, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1079.  
  1080. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Wyvern Winggale", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
  1081. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Wyvern Breath", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
  1082. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Wyvern Wingrage", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 3")
  1083. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Wyvern Eruption", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 4")
  1084. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Chaotic Wyvern Outburst", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 5")
  1085.  
  1086. --//=================================\\
  1087. --|| DAMAGING
  1088. --\\=================================//
  1089.  
  1090. function ApplyAoETable(POSITION,RANGE,TABLE)
  1091. local CHILDREN = workspace:GetDescendants()
  1092. for index, CHILD in pairs(CHILDREN) do
  1093. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1094. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1095. if HUM then
  1096. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1097. if TORSO then
  1098. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1099. table.insert(TABLE,CHILD)
  1100. end
  1101. end
  1102. end
  1103. end
  1104. end
  1105. end
  1106.  
  1107. function ApplyAoEOP(POSITION,RANGE,FLING,INSTAKILL)
  1108. local CHILDREN = workspace:GetDescendants()
  1109. for index, CHILD in pairs(CHILDREN) do
  1110. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1111. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1112. if HUM then
  1113. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1114. if TORSO then
  1115. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1116. if INSTAKILL == true then
  1117. CHILD:BreakJoints()
  1118. else
  1119. HUM.Health = INSTAKILL
  1120. end
  1121. if FLING > 0 then
  1122. for _, c in pairs(CHILD:GetChildren()) do
  1123. if c:IsA("BasePart") then
  1124. local bv = Instance.new("BodyVelocity")
  1125. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1126. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1127. bv.Parent = c
  1128. Debris:AddItem(bv,0.05)
  1129. end
  1130. end
  1131. end
  1132. end
  1133. end
  1134. end
  1135. end
  1136. end
  1137. end
  1138.  
  1139. function ApplyDamage(Humanoid,Damage,TorsoPart)
  1140. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1141. defence.Name = ("HitBy"..Player.Name)
  1142. game:GetService("Debris"):AddItem(defence, 0.001)
  1143. Damage = Damage * DAMAGEMULTIPLIER
  1144. if Humanoid.Health ~= 0 then
  1145. local CritChance = MRANDOM(1,100)
  1146. if Damage > Humanoid.Health then
  1147. Damage = math.ceil(Humanoid.Health)
  1148. if Damage == 0 then
  1149. Damage = 0.1
  1150. end
  1151. end
  1152. Humanoid.Health = Humanoid.Health - Damage
  1153. end
  1154. end
  1155.  
  1156. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING)
  1157. local CHILDREN = workspace:GetDescendants()
  1158. for index, CHILD in pairs(CHILDREN) do
  1159. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1160. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1161. if HUM then
  1162. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1163. if TORSO then
  1164. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1165. local DMG = MRANDOM(MINDMG,MAXDMG)
  1166. ApplyDamage(HUM,DMG,TORSO)
  1167. if FLING > 0 then
  1168. for _, c in pairs(CHILD:GetChildren()) do
  1169. if c:IsA("BasePart") then
  1170. local bv = Instance.new("BodyVelocity")
  1171. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1172. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1173. bv.Parent = c
  1174. Debris:AddItem(bv,0.05)
  1175. end
  1176. end
  1177. end
  1178. end
  1179. end
  1180. end
  1181. end
  1182. end
  1183. end
  1184.  
  1185. --//=================================\\
  1186. --|| ATTACK FUNCTIONS AND STUFF
  1187. --\\=================================//
  1188.  
  1189. function WyvernWinggale()
  1190. ATTACK = true
  1191. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1192. local RWING,LWING,RWELD,LWELD,FIRE1,FIRE2 = MakeWings(true)
  1193. CreateSound(FLAP,Torso,5,1,false)
  1194. local GRAV = VELOC(RootPart,1200,RootPart.CFrame*CF(0,35,55).p)
  1195. for i=1, 6 do
  1196. Swait()
  1197. RWELD.C0 = Clerp(RWELD.C0, CF(2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(-65)), 0.7 / Animation_Speed)
  1198. LWELD.C0 = Clerp(LWELD.C0, CF(-2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(65)), 0.7 / Animation_Speed)
  1199. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1200. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1/ Animation_Speed)
  1201. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1202. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1203. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1204. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1205. end
  1206. if HITFLOOR then
  1207. ApplyAoE(HITPOS,15,15,55,120)
  1208. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(3,3,3),5,25)
  1209. end
  1210. for i=1, 14 do
  1211. Swait()
  1212. WACKYEFFECT({EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+i*2,5,15+i*2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.Position,HITPOS)*CF(0,0,-1) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1213. WACKYEFFECT({EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(15+i*2,5,15+i*2), Transparency = 0.7, Transparency2 = 1, CFrame = CF(RootPart.Position,HITPOS)*CF(0,0,-1) * ANGLES(RAD(-90), RAD(45), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1214. RWELD.C0 = Clerp(RWELD.C0, CF(2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(-65)), 1.2 / Animation_Speed)
  1215. LWELD.C0 = Clerp(LWELD.C0, CF(-2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(65)), 1.2 / Animation_Speed)
  1216. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1217. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1/ Animation_Speed)
  1218. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1219. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1220. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1221. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1222. end
  1223. GRAV:remove()
  1224. coroutine.resume(coroutine.create(function()
  1225. FIRE1.Enabled = false
  1226. FIRE2.Enabled = false
  1227. for i = 1, 10 do
  1228. Swait()
  1229. RWING.Transparency = RWING.Transparency + 0.5/10
  1230. LWING.Transparency = LWING.Transparency + 0.5/10
  1231. end
  1232. Debris:AddItem(RWING,2)
  1233. Debris:AddItem(LWING,2)
  1234. end))
  1235. ATTACK = false
  1236. end
  1237.  
  1238. function WyvernBreath()
  1239. ATTACK = true
  1240. local RWING,LWING,RWELD,LWELD,FIRE1,FIRE2 = MakeWings(true)
  1241. CreateSound(FLAP,Torso,5,1,false)
  1242. local GRAV = VELOC(RootPart,1200,RootPart.CFrame*CF(0,35,25).p)
  1243. for i=1, 10 do
  1244. Swait()
  1245. RWELD.C0 = Clerp(RWELD.C0, CF(2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(-65)), 0.7 / Animation_Speed)
  1246. LWELD.C0 = Clerp(LWELD.C0, CF(-2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(65)), 0.7 / Animation_Speed)
  1247. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1248. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(0)), 1/ Animation_Speed)
  1249. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1250. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1251. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1252. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1253. end
  1254. local GYRO = IT("BodyGyro",RootPart)
  1255. GYRO.D = 2
  1256. GYRO.P = 2000
  1257. GYRO.MaxTorque = VT(0,4000000,0)
  1258. local RING = MagicRing()
  1259. RING.Anchored = false
  1260. RING.CFrame = RightArm.CFrame*CF(0,-1.3,0)*ANGLES(RAD(180),RAD(0),RAD(0))
  1261. local MSH = IT("BlockMesh",RING)
  1262. local WLD = weldBetween(RightArm,RING)
  1263. for i=1, 30 do
  1264. Swait()
  1265. MSH.Scale = MSH.Scale + VT(8,0,8)
  1266. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1267. RWELD.C0 = Clerp(RWELD.C0, CF(2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(-65)), 0.7 / Animation_Speed)
  1268. LWELD.C0 = Clerp(LWELD.C0, CF(-2,2,0.75) * ANGLES(RAD(-25), RAD(0), RAD(65)), 0.7 / Animation_Speed)
  1269. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-15), RAD(0), RAD(25)), 1 / Animation_Speed)
  1270. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(-25)), 1/ Animation_Speed)
  1271. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.3) * ANGLES(RAD(65), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1272. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1273. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1274. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1275. end
  1276. GRAV:remove()
  1277. GYRO:remove()
  1278. coroutine.resume(coroutine.create(function()
  1279. local IMPACT = false
  1280. local FIREBALL = CreatePart(3, Effects, "Neon", 0, 1, "Deep orange", "Fire",VT(1,1,1))
  1281. local SOUND = CreateSound(FIREBALLS,FIREBALL,8,1,false)
  1282. FIREBALL.CFrame = CF(RING.Position,Mouse.Hit.p)*CF(0,0,-2)
  1283. local INNER = ParticleEmitter({Speed = 2, Drag = 3, Size1 = 7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 1.5, Parent = FIREBALL, Emit = 0, Offset = 360, Enabled = true})
  1284. INNER.Color = ColorSequence.new(C3(1,1,1))
  1285. INNER.ZOffset = 2
  1286. local OUTTER = ParticleEmitter({Speed = 0, Drag = 3, Size1 = 15, Size2 = 0, Lifetime1 = 1, Lifetime2 = 1.5, Parent = FIREBALL, Emit = 0, Offset = 0, Enabled = true})
  1287. for i = 1, 300 do
  1288. Swait()
  1289. FIREBALL.CFrame = FIREBALL.CFrame*CF(0,0,-2)
  1290. local HITFLOOR,HITPOS = Raycast(FIREBALL.Position, FIREBALL.CFrame.lookVector, 2.2, Character)
  1291. if HITFLOOR ~= nil then
  1292. IMPACT = true
  1293. break
  1294. end
  1295. end
  1296. INNER.Enabled = false
  1297. OUTTER.Enabled = false
  1298. Debris:AddItem(FIREBALL,5)
  1299. if IMPACT == true then
  1300. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(40,40,40), Transparency = 0.5, Transparency2 = 1, CFrame = FIREBALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1301. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(50,50,50), Transparency = 0.5, Transparency2 = 1, CFrame = FIREBALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1302. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(60,60,60), Transparency = 0.5, Transparency2 = 1, CFrame = FIREBALL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1303. WACKYEFFECT({Time = 75, EffectType = "Swirl", Size = VT(0,0,0), Size2 = VT(75,75,75), Transparency = 0.5, Transparency2 = 1, CFrame = CF(FIREBALL.Position), MoveToPos = nil, RotationX = 0, RotationY = 25, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1304. SOUND.Playing = false
  1305. local WHITE = ParticleEmitter({Speed = 35, Drag = 1, Size1 = 7, Size2 = 8, Lifetime1 = 1, Lifetime2 = 5, Parent = FIREBALL, Emit = 75, Offset = 360, Enabled = false})
  1306. WHITE.Color = ColorSequence.new(C3(1,1,1))
  1307. WHITE.ZOffset = 2
  1308. ParticleEmitter({Speed = 35, Drag = 1, Size1 = 15, Size2 = 16, Lifetime1 = 1, Lifetime2 = 5, Parent = FIREBALL, Emit = 150, Offset = 360, Enabled = false})
  1309. ApplyAoE(FIREBALL.Position,25,35,54,150)
  1310. CreateSound(EXPLOSION,FIREBALL,8,1,false)
  1311. end
  1312. end))
  1313. coroutine.resume(coroutine.create(function()
  1314. WLD:remove()
  1315. RING.Anchored = true
  1316. FIRE1.Enabled = false
  1317. FIRE2.Enabled = false
  1318. local SCALE = MSH.Scale.X
  1319. for i = 1, 10 do
  1320. Swait()
  1321. MSH.Scale = MSH.Scale - VT(SCALE/10,0,SCALE/10)
  1322. RWING.Transparency = RWING.Transparency + 0.5/10
  1323. LWING.Transparency = LWING.Transparency + 0.5/10
  1324. end
  1325. Debris:AddItem(RWING,2)
  1326. Debris:AddItem(LWING,2)
  1327. end))
  1328. ATTACK = false
  1329. end
  1330.  
  1331. function WyvernWingrage()
  1332. ATTACK = true
  1333. local BODIES = {}
  1334. local VELOCITIES = {}
  1335. local FIRE = BurningLimb(RightArm)
  1336. for i=0, 1, 0.1 / Animation_Speed do
  1337. Swait()
  1338. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  1339. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  1340. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1341. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  1342. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1343. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1344. end
  1345. for i=0, 0.3, 0.1 / Animation_Speed do
  1346. Swait()
  1347. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
  1348. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(75)), 1 / Animation_Speed)
  1349. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.9 / Animation_Speed)
  1350. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1351. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  1352. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1353. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-25), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1354. end
  1355. FIRE.Enabled = false
  1356. Debris:AddItem(FIRE,3)
  1357. for i = 1, 7 do
  1358. local WHITE = ParticleEmitter({Speed = -i-5, Drag = 2, Size1 = 0.2, Size2 = 0, Lifetime1 = 1, Lifetime2 = 2, Parent = RightArm, Emit = 75, Offset = 5, Enabled = false})
  1359. WHITE.Color = ColorSequence.new(C3(1,1,1))
  1360. WHITE.ZOffset = 2
  1361. local PRT = ParticleEmitter({Speed = -i-5, Drag = 2, Size1 = 1, Size2 = 0, Lifetime1 = 1, Lifetime2 = 2, Parent = RightArm, Emit = 75, Offset = 5, Enabled = false})
  1362. Debris:AddItem(WHITE,5)
  1363. Debris:AddItem(PRT,5)
  1364. end
  1365. CreateSound(SWOOSH,RightArm,5,1,false)
  1366. CreateSound(EXPLOSION,RightArm,2,1.5,false)
  1367. ApplyAoETable(RightArm.CFrame*CF(0,-1,0).p,5,BODIES)
  1368. local POS = RootPart.CFrame*CF(0,25,-25).p
  1369. if #BODIES ~= 0 then
  1370. for E = 1, #BODIES do
  1371. if BODIES[E] ~= nil then
  1372. local TORSO = BODIES[E]:FindFirstChild("HumanoidRootPart") or BODIES[E]:FindFirstChild("Torso") or BODIES[E]:FindFirstChild("UpperTorso")
  1373. if TORSO then
  1374. local DISTANCE = (TORSO.Position - RootPart.Position).Magnitude
  1375. local GRAV = VELOC(TORSO,850,POS+VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)))
  1376. table.insert(VELOCITIES,GRAV)
  1377. local HUM = BODIES[E]:FindFirstChildOfClass("Humanoid")
  1378. end
  1379. end
  1380. end
  1381. end
  1382. for i=0, 0.7, 0.1 / Animation_Speed do
  1383. Swait()
  1384. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(75)), 1 / Animation_Speed)
  1385. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.9 / Animation_Speed)
  1386. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1387. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  1388. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(45), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1389. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-25), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1390. end
  1391. if #BODIES ~= 0 then
  1392. for i=0, 2, 0.1 / Animation_Speed do
  1393. Swait()
  1394. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1395. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1396. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1397. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1398. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -1) * ANGLES(RAD(65), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1399. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.3, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1400. end
  1401. local TFIR = BurningLimb(Torso)
  1402. local FIRER = BurningLimb(RightArm)
  1403. local FIREL = BurningLimb(LeftArm)
  1404. local FIRER2 = BurningLimb(RightLeg)
  1405. local FIREL2 = BurningLimb(LeftLeg)
  1406. CreateSound(FLAP,Torso,2,1,false)
  1407. local GRAV = VELOC(RootPart,75,POS)
  1408. local RWING,LWING,RWELD,LWELD,RFIRE,LFIRE = MakeWings(true)
  1409. for i=1, 15 do
  1410. Swait()
  1411. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1412. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1413. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(75-(i*2)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1414. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1415. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1416. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1417. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1418. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1419. end
  1420. UNANCHOR = false
  1421. RootPart.Anchored = true
  1422. local A = IT("Attachment",RWING)
  1423. A.Position = VT(1.2, 0, 0)
  1424. local B = IT("Attachment",RWING)
  1425. B.Position = VT(-1.2, 0, 0)
  1426. local Trail1 = IT("Trail",RWING)
  1427. Trail1.Attachment0 = A
  1428. Trail1.Attachment1 = B
  1429. Trail1.Lifetime = 0.6
  1430. Trail1.Color = ColorSequence.new(FIRECOLOR)
  1431. Trail1.Transparency = NumberSequence.new(0, 1)
  1432. local A = IT("Attachment",LWING)
  1433. A.Position = VT(1.2, 0, 0)
  1434. local B = IT("Attachment",LWING)
  1435. B.Position = VT(-1.2, 0, 0)
  1436. local Trail2 = IT("Trail",LWING)
  1437. Trail2.Attachment0 = A
  1438. Trail2.Attachment1 = B
  1439. Trail2.Lifetime = 0.6
  1440. Trail2.Color = ColorSequence.new(FIRECOLOR)
  1441. Trail2.Transparency = NumberSequence.new(0, 1)
  1442. CreateSound(EXPLOSION,Torso,10,0.5,false)
  1443. for i=1, 250 do
  1444. Swait()
  1445. for E = 1, #VELOCITIES do
  1446. if VELOCITIES[E] ~= nil then
  1447. VELOCITIES[E].D = 800
  1448. VELOCITIES[E].position = Torso.Position
  1449. end
  1450. end
  1451. for E = 1, #BODIES do
  1452. if BODIES[E] ~= nil then
  1453. local TORSO = BODIES[E]:FindFirstChild("HumanoidRootPart") or BODIES[E]:FindFirstChild("Torso") or BODIES[E]:FindFirstChild("UpperTorso")
  1454. if TORSO then
  1455. local HUM = BODIES[E]:FindFirstChildOfClass("Humanoid")
  1456. if HUM then
  1457. HUM.Health = HUM.Health - 0.3
  1458. end
  1459. end
  1460. end
  1461. end
  1462. RootPart.Velocity = VT(0,0,0)
  1463. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1464. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1465. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(i*25), RAD(i*5)) * CF(-i/10,i/45,0), 1 / Animation_Speed)
  1466. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1467. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1468. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1469. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1470. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1471. end
  1472. for E = 1, #BODIES do
  1473. if BODIES[E] ~= nil then
  1474. local TORSO = BODIES[E]:FindFirstChild("HumanoidRootPart") or BODIES[E]:FindFirstChild("Torso") or BODIES[E]:FindFirstChild("UpperTorso")
  1475. if TORSO then
  1476. TORSO.Velocity = VT(0,0,0)
  1477. end
  1478. end
  1479. end
  1480. for E = 1, #VELOCITIES do
  1481. if VELOCITIES[E] ~= nil then
  1482. VELOCITIES[E]:remove()
  1483. end
  1484. end
  1485. for _, c in pairs(Character:GetChildren()) do
  1486. if c.ClassName == "Part" then
  1487. c.Velocity = VT(0,0,0)
  1488. c.RotVelocity = VT(0,0,0)
  1489. end
  1490. end
  1491. TFIR.Enabled = false
  1492. FIRER.Enabled = false
  1493. FIREL.Enabled = false
  1494. FIRER2.Enabled = false
  1495. FIREL2.Enabled = false
  1496. Debris:AddItem(TFIR,3)
  1497. Debris:AddItem(FIRER,3)
  1498. Debris:AddItem(FIREL,3)
  1499. Debris:AddItem(FIRER2,3)
  1500. Debris:AddItem(FIREL2,3)
  1501. coroutine.resume(coroutine.create(function()
  1502. Trail1.Enabled = false
  1503. Trail2.Enabled = false
  1504. RFIRE.Enabled = false
  1505. LFIRE.Enabled = false
  1506. for i = 1, 10 do
  1507. Swait()
  1508. RWING.Transparency = RWING.Transparency + 0.5/10
  1509. LWING.Transparency = LWING.Transparency + 0.5/10
  1510. end
  1511. Debris:AddItem(RWING,2)
  1512. Debris:AddItem(LWING,2)
  1513. end))
  1514. GRAV:remove()
  1515. UNANCHOR = true
  1516. RootPart.Anchored = false
  1517. end
  1518. ATTACK = false
  1519. end
  1520.  
  1521. function WyvernEruption()
  1522. ATTACK = true
  1523. for i=0, 2, 0.1 / Animation_Speed do
  1524. Swait()
  1525. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1526. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1527. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1528. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1529. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -1) * ANGLES(RAD(65), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1530. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.3, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1531. end
  1532. local TFIR = BurningLimb(Torso)
  1533. local FIRER = BurningLimb(RightArm)
  1534. local FIREL = BurningLimb(LeftArm)
  1535. local FIRER2 = BurningLimb(RightLeg)
  1536. local FIREL2 = BurningLimb(LeftLeg)
  1537. CreateSound(FLAP,Torso,2,1,false)
  1538. local RWING,LWING,RWELD,LWELD,RFIRE,LFIRE = MakeWings(true)
  1539. UNANCHOR = false
  1540. RootPart.Anchored = true
  1541. for i=1, 35 do
  1542. Swait()
  1543. RootPart.CFrame = RootPart.CFrame * CF(0,5,-(75-i*2)/30)
  1544. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1545. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1546. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(75-(i*2)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1547. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1548. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1549. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1550. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1551. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1552. end
  1553. for i=1, 18 do
  1554. Swait()
  1555. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1556. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1557. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0-i*20), RAD(0), RAD(0)), 1 / Animation_Speed)
  1558. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1559. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1560. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1561. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1562. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1563. end
  1564. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 1000, Character)
  1565. local ORI = RootPart.Orientation
  1566. RootPart.CFrame = CF(HITPOS)
  1567. RootPart.Orientation = ORI
  1568. RootJoint.Parent = RootPart
  1569. TFIR.Enabled = false
  1570. FIRER.Enabled = false
  1571. FIREL.Enabled = false
  1572. FIRER2.Enabled = false
  1573. FIREL2.Enabled = false
  1574. Debris:AddItem(TFIR,3)
  1575. Debris:AddItem(FIRER,3)
  1576. Debris:AddItem(FIREL,3)
  1577. Debris:AddItem(FIRER2,3)
  1578. Debris:AddItem(FIREL2,3)
  1579. ApplyAoE(HITPOS,45,35,54,150)
  1580. WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1581. WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CF(HITPOS)*ANGLES(RAD(0), RAD(90), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1582. WACKYEFFECT({EffectType = "Ring", Size = VT(00,0.01)/20, Size2 = VT(35,35,0.01), Transparency = 0.7, Transparency2 = 1, CFrame = CF(HITPOS)*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1583. WACKYEFFECT({EffectType = "Sphere", Size = VT(65,65,65), Size2 = VT(85,85,85), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1584. WACKYEFFECT({EffectType = "Sphere", Size = VT(65,65,65), Size2 = VT(85,85,85)/1.3, Transparency = 0.8, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = EXPLOSION, SoundPitch = 1, SoundVolume = 5})
  1585. for i=1, 45 do
  1586. Swait()
  1587. RootPart.CFrame = RootPart.CFrame * CF(0,2,0)
  1588. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1589. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1590. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(i*25), RAD(0), RAD(0)), 1 / Animation_Speed)
  1591. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1592. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1593. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1594. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1595. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1596. end
  1597. coroutine.resume(coroutine.create(function()
  1598. RFIRE.Enabled = false
  1599. LFIRE.Enabled = false
  1600. for i = 1, 10 do
  1601. Swait()
  1602. RWING.Transparency = RWING.Transparency + 0.5/10
  1603. LWING.Transparency = LWING.Transparency + 0.5/10
  1604. end
  1605. Debris:AddItem(RWING,2)
  1606. Debris:AddItem(LWING,2)
  1607. end))
  1608. UNANCHOR = false
  1609. RootPart.Anchored = false
  1610. ATTACK = false
  1611. end
  1612.  
  1613. function ChaoticWyvernOutburst()
  1614. ATTACK = true
  1615. local VELOCITIES = {}
  1616. local BODIES = {}
  1617. local RING = MagicRing()
  1618. RING.CFrame = RootPart.CFrame*CF(0,-2.9,0)
  1619. CreateSound(RINGSOUND,RING,2,2,false)
  1620. for i = 1, 20 do
  1621. Swait()
  1622. RING.Size = RING.Size + VT(3,0,3)
  1623. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1624. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1625. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1626. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1627. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1628. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1629. end
  1630. local FIRE = BurningLimb(RightArm)
  1631. for i=0, 1, 0.1 / Animation_Speed do
  1632. Swait()
  1633. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  1634. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  1635. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1636. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  1637. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1638. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1639. end
  1640. for i=0, 0.4, 0.1 / Animation_Speed do
  1641. Swait()
  1642. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  1643. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  1644. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1645. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1646. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  1647. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1648. end
  1649. WACKYEFFECT({EffectType = "Ring", Size = VT(RING.Size.X,RING.Size.X,0.01)/20, Size2 = VT(RING.Size.X*2,RING.Size.X*2,0.01)/10, Transparency = 0.7, Transparency2 = 1, CFrame = RING.CFrame*ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1650. WACKYEFFECT({EffectType = "Sphere", Size = RING.Size, Size2 = VT(RING.Size.X,1000,RING.Size.X), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1651. WACKYEFFECT({EffectType = "Sphere", Size = RING.Size/3, Size2 = VT(RING.Size.X,900,RING.Size.X)/1.3, Transparency = 0.8, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1652. ApplyAoETable(RING.Position,RING.Size.X/1.5,BODIES)
  1653. ParticleEmitter({Speed = 15, Drag = 3, Size1 = 3, Size2 = 3, Lifetime1 = 1, Lifetime2 = 5, Parent = RING, Emit = 150, Offset = 180, Enabled = false})
  1654. CreateSound(EXPLOSION,RING,5,1,false)
  1655. if #BODIES ~= 0 then
  1656. for E = 1, #BODIES do
  1657. if BODIES[E] ~= nil then
  1658. local TORSO = BODIES[E]:FindFirstChild("HumanoidRootPart") or BODIES[E]:FindFirstChild("Torso") or BODIES[E]:FindFirstChild("UpperTorso")
  1659. if TORSO then
  1660. local DISTANCE = (TORSO.Position - RootPart.Position).Magnitude
  1661. local GRAV = VELOC(TORSO,850,RootPart.CFrame*CF(MRANDOM(-35,35),MRANDOM(60,120),-15-DISTANCE).p)
  1662. table.insert(VELOCITIES,GRAV)
  1663. local HUM = BODIES[E]:FindFirstChildOfClass("Humanoid")
  1664. if HUM then
  1665. HUM.Health = HUM.Health / 2
  1666. end
  1667. end
  1668. end
  1669. end
  1670. end
  1671. for i=0, 1, 0.1 / Animation_Speed do
  1672. Swait()
  1673. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  1674. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  1675. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1676. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1677. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.01) * ANGLES(RAD(75), RAD(25), RAD(0)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  1678. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1679. end
  1680. FIRE.Enabled = false
  1681. Debris:AddItem(FIRE,5)
  1682. coroutine.resume(coroutine.create(function()
  1683. for i = 1, 200 do
  1684. Swait()
  1685. RING.Size = RING.Size - VT(0.3,0,0.3)
  1686. end
  1687. RING:remove()
  1688. end))
  1689. if #BODIES ~= 0 then
  1690. for i=0, 2, 0.1 / Animation_Speed do
  1691. Swait()
  1692. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1693. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1694. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1695. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1696. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -1) * ANGLES(RAD(65), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1697. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.3, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1698. end
  1699. local TFIR = BurningLimb(Torso)
  1700. local FIRER = BurningLimb(RightArm)
  1701. local FIREL = BurningLimb(LeftArm)
  1702. local FIRER2 = BurningLimb(RightLeg)
  1703. local FIREL2 = BurningLimb(LeftLeg)
  1704. CreateSound(511715134,Torso,2,1,false)
  1705. CreateSound(FLAP,Torso,8,1,false)
  1706. local GRAV = VELOC(RootPart,5,RootPart.Position)
  1707. local RWING,LWING,RWELD,LWELD = MakeWings()
  1708. for i=1, 35 do
  1709. Swait()
  1710. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.1 / Animation_Speed)
  1711. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.1 / Animation_Speed)
  1712. GRAV.position = RootPart.CFrame*CF(0,100/35,-15/35).p
  1713. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(75-(i*2)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1714. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  1715. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1716. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1717. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1718. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1719. end
  1720. local RING = MagicRing()
  1721. RING.CFrame = RootPart.CFrame*CF(0,0,15)*ANGLES(RAD(-90),RAD(0),RAD(0))
  1722. CreateSound(RINGSOUND,RING,10,1,false)
  1723. TFIR.Enabled = false
  1724. FIRER.Enabled = false
  1725. FIREL.Enabled = false
  1726. FIRER2.Enabled = false
  1727. FIREL2.Enabled = false
  1728. Debris:AddItem(TFIR,3)
  1729. Debris:AddItem(FIRER,3)
  1730. Debris:AddItem(FIREL,3)
  1731. Debris:AddItem(FIRER2,3)
  1732. Debris:AddItem(FIREL2,3)
  1733. UNANCHOR = false
  1734. RootPart.Anchored = true
  1735. local WYVERN,WBODY,WRWING,WLWING,BASEWELD,RWELD2,LWELD2,BodyFire,RightWingFire,LeftWingFire = Wyvern(10,true)
  1736. for i=1, 20 do
  1737. Swait()
  1738. RootPart.Anchored = true
  1739. RING.Size = RING.Size + VT(6,0,6)
  1740. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.1 / Animation_Speed)
  1741. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.1 / Animation_Speed)
  1742. BASEWELD.C0 = Clerp(BASEWELD.C0, CF(0,0,0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1743. RWELD2.C0 = Clerp(RWELD2.C0, CF(2,20,0.75*5) * ANGLES(RAD(-25), RAD(65), RAD(0)), 0.1 / Animation_Speed)
  1744. LWELD2.C0 = Clerp(LWELD2.C0, CF(-2,20,0.75*5) * ANGLES(RAD(-25), RAD(-65), RAD(0)), 0.1 / Animation_Speed)
  1745. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1746. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1747. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1748. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1749. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1750. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1751. end
  1752. for E = 1, 3 do
  1753. if #BODIES ~= 0 then
  1754. for E = 1, #BODIES do
  1755. if BODIES[E] ~= nil then
  1756. local TORSO = BODIES[E]:FindFirstChild("HumanoidRootPart") or BODIES[E]:FindFirstChild("Torso") or BODIES[E]:FindFirstChild("UpperTorso")
  1757. if TORSO then
  1758. local HUM = BODIES[E]:FindFirstChildOfClass("Humanoid")
  1759. if HUM then
  1760. HUM.Health = HUM.Health / 2
  1761. end
  1762. end
  1763. end
  1764. end
  1765. end
  1766. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(400,400,400), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.5, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1767. for i=1, 65 do
  1768. Swait()
  1769. RootPart.Anchored = true
  1770. RING.CFrame = RootPart.CFrame*CF(0,0,15)*ANGLES(RAD(-90),RAD(0),RAD(0))
  1771. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1772. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1773. BASEWELD.C0 = Clerp(BASEWELD.C0, CF(0,0,0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1774. RWELD2.C0 = Clerp(RWELD2.C0, CF(2,20,0.75*5) * ANGLES(RAD(-25), RAD(65), RAD(0)), 0.1 / Animation_Speed)
  1775. LWELD2.C0 = Clerp(LWELD2.C0, CF(-2,20,0.75*5) * ANGLES(RAD(-25), RAD(-65), RAD(0)), 0.1 / Animation_Speed)
  1776. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1777. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1778. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-75)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1779. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(75)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1780. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1781. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1782. end
  1783. end
  1784. CreateSound(889016272,Effects,4,1.2,false)
  1785. CreateSound(605005842,Effects,6,1,false)
  1786. local Swirls = function()
  1787. for i = 1, 3 do
  1788. CreateSound(EXPLOSION,Effects,0.3,1.2,false)
  1789. WACKYEFFECT({Time = 100, EffectType = "Swirl", Size = VT(0,0,0), Size2 = VT(175,175,175)*i, Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = -i*3, RotationZ = 0, Material = "Neon", Color = FIRECOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1790. WACKYEFFECT({Time = 100, EffectType = "Swirl", Size = VT(0,0,0), Size2 = VT(225,225,225)*i, Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame, MoveToPos = nil, RotationX = 0, RotationY = i*3, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1791. end
  1792. end
  1793. for E = 1, #VELOCITIES do
  1794. if VELOCITIES[E] ~= nil then
  1795. VELOCITIES[E]:remove()
  1796. end
  1797. end
  1798. ApplyAoEOP(RootPart.Position,125,250,true)
  1799. local LOOP = 0
  1800. Swirls()
  1801. coroutine.resume(coroutine.create(function()
  1802. for i = 1, 10 do
  1803. Swait()
  1804. RING.Size = RING.Size - VT(12,0,12)
  1805. end
  1806. RING:remove()
  1807. end))
  1808. for i=0, 8, 0.1 / Animation_Speed do
  1809. Swait()
  1810. LOOP = LOOP + 1
  1811. if LOOP >= 25 then
  1812. Swirls()
  1813. ApplyAoEOP(RootPart.Position,125,250,true)
  1814. LOOP = 0
  1815. end
  1816. local PRT = ParticleEmitter({Speed = MRANDOM(400,850), Drag = 10, Size1 = 20, Size2 = 15, Lifetime1 = 1, Lifetime2 = 3, Parent = Torso, Emit = 15, Offset = 360, Enabled = false})
  1817. PRT.Color = ColorSequence.new(C3(1,1,1))
  1818. PRT.LightEmission = 1
  1819. PRT.ZOffset = 2
  1820. RootPart.Anchored = true
  1821. ParticleEmitter({Speed = MRANDOM(400,850), Drag = 8, Size1 = 15, Size2 = 25, Lifetime1 = 1, Lifetime2 = 3, Parent = Torso, Emit = 25, Offset = 360, Enabled = false})
  1822. ParticleEmitter({Speed = -25, Drag = -5, Size1 = 15, Size2 = 25, Lifetime1 = 3, Lifetime2 = 6, Parent = RootPart, Emit = 15, Offset = 25, Enabled = false})
  1823. RWELD.C0 = Clerp(RWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  1824. LWELD.C0 = Clerp(LWELD.C0, CF(0,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  1825. BASEWELD.C0 = Clerp(BASEWELD.C0, CF(0,0,0) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1826. RWELD2.C0 = Clerp(RWELD2.C0, CF(2,20,0.75*5) * ANGLES(RAD(-15), RAD(-35), RAD(0)), 1 / Animation_Speed)
  1827. LWELD2.C0 = Clerp(LWELD2.C0, CF(-2,20,0.75*5) * ANGLES(RAD(-15), RAD(35), RAD(0)), 1 / Animation_Speed)
  1828. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1829. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 2 / Animation_Speed)
  1830. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1831. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1832. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-50)), 2 / Animation_Speed)
  1833. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 2 / Animation_Speed)
  1834. end
  1835. coroutine.resume(coroutine.create(function()
  1836. coroutine.resume(coroutine.create(function()
  1837. WBODY.Anchored = true
  1838. BASEWELD:remove()
  1839. WRWING.Anchored = true
  1840. RWELD2:remove()
  1841. WLWING.Anchored = true
  1842. LWELD2:remove()
  1843. BodyFire.Enabled = false
  1844. RightWingFire.Enabled = false
  1845. LeftWingFire.Enabled = false
  1846. for i = 1, 50 do
  1847. Swait()
  1848. WBODY.Transparency = WBODY.Transparency + 0.5/50
  1849. WRWING.Transparency = WBODY.Transparency
  1850. WLWING.Transparency = WBODY.Transparency
  1851. end
  1852. wait(2)
  1853. WYVERN:remove()
  1854. end))
  1855. end))
  1856. GRAV:remove()
  1857. RootPart.Velocity = VT(0,0,0)
  1858. RootPart.Anchored = false
  1859. UNANCHOR = true
  1860. RWING:remove()
  1861. LWING:remove()
  1862. end
  1863. ATTACK = false
  1864. end
  1865.  
  1866. --//=================================\\
  1867. --|| ASSIGN THINGS TO KEYS
  1868. --\\=================================//
  1869.  
  1870. function MouseDown(Mouse)
  1871. if ATTACK == false then
  1872. end
  1873. end
  1874.  
  1875. function MouseUp(Mouse)
  1876. HOLD = false
  1877. end
  1878.  
  1879. function KeyDown(Key)
  1880. KEYHOLD = true
  1881. if Key == "z" and ATTACK == false then
  1882. WyvernWinggale()
  1883. end
  1884.  
  1885. if Key == "b" and ATTACK == false then
  1886. WyvernBreath()
  1887. end
  1888.  
  1889. if Key == "c" and ATTACK == false then
  1890. WyvernWingrage()
  1891. end
  1892.  
  1893. if Key == "v" and ATTACK == false then
  1894. WyvernEruption()
  1895. end
  1896.  
  1897. if Key == "x" and ATTACK == false then
  1898. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1899. if HITFLOOR then
  1900. ChaoticWyvernOutburst()
  1901. end
  1902. end
  1903.  
  1904. if string.byte(Key) == 32 and READYTODOUBLE == true and ATTACK == false and Humanoid.Jump == true and DOUBLEJUMP == false then
  1905. DOUBLEJUMP = true
  1906. CreateSound(FLAP,Torso,3,1,false)
  1907. Torso.Velocity = Vector3.new(0,125,0)
  1908. local RWING,LWING,RWELD,LWELD,FIRE1,FIRE2 = MakeWings(true)
  1909. Speed = 2700
  1910. for i=1, 20 do
  1911. Swait()
  1912. RWELD.C0 = Clerp(RWELD.C0, CF(2,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(-65)), 0.7 / Animation_Speed)
  1913. LWELD.C0 = Clerp(LWELD.C0, CF(-2,2,0.75) * ANGLES(RAD(0), RAD(0), RAD(65)), 0.7 / Animation_Speed)
  1914. end
  1915. Speed = 16
  1916. coroutine.resume(coroutine.create(function()
  1917. FIRE1.Enabled = false
  1918. FIRE2.Enabled = false
  1919. for i = 1, 10 do
  1920. Swait()
  1921. RWING.Transparency = RWING.Transparency + 0.5/10
  1922. LWING.Transparency = LWING.Transparency + 0.5/10
  1923. end
  1924. Debris:AddItem(RWING,2)
  1925. Debris:AddItem(LWING,2)
  1926. end))
  1927. DOUBLEJUMP = false
  1928. end
  1929. end
  1930.  
  1931. Humanoid.Changed:connect(function(Jump)
  1932. if READYTODOUBLE == false and (Disable_Jump == false) then
  1933. wait(0.1)
  1934. READYTODOUBLE = true
  1935. end
  1936. end)
  1937.  
  1938. function KeyUp(Key)
  1939. KEYHOLD = false
  1940. end
  1941.  
  1942. Mouse.Button1Down:connect(function(NEWKEY)
  1943. MouseDown(NEWKEY)
  1944. end)
  1945. Mouse.Button1Up:connect(function(NEWKEY)
  1946. MouseUp(NEWKEY)
  1947. end)
  1948. Mouse.KeyDown:connect(function(NEWKEY)
  1949. KeyDown(NEWKEY)
  1950. end)
  1951. Mouse.KeyUp:connect(function(NEWKEY)
  1952. KeyUp(NEWKEY)
  1953. end)
  1954.  
  1955. --//=================================\\
  1956. --\\=================================//
  1957.  
  1958. function unanchor()
  1959. if UNANCHOR == true then
  1960. RootPart.Anchored = false
  1961. end
  1962. g = Character:GetChildren()
  1963. for i = 1, #g do
  1964. if g[i].ClassName == "Part" and g[i] ~= RootPart then
  1965. g[i].Anchored = false
  1966. end
  1967. end
  1968. end
  1969.  
  1970. --//=================================\\
  1971. --|| WRAP THE WHOLE SCRIPT UP
  1972. --\\=================================//
  1973.  
  1974. Humanoid.Changed:connect(function(Jump)
  1975. if Jump == "Jump" and (Disable_Jump == true) then
  1976. Humanoid.Jump = false
  1977. end
  1978. end)
  1979.  
  1980. while true do
  1981. Swait()
  1982. sick.Parent = Torso
  1983. sick.Pitch = 1
  1984. sick.Volume = 2
  1985. sick.Playing = true
  1986. script.Parent = WEAPONGUI
  1987. if ATTACK == true then
  1988. ANIMATE.Parent = nil
  1989. if Humanoid then
  1990. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1991. IDLEANIMATION:Play()
  1992. end
  1993. Disable_Jump = true
  1994. Humanoid.WalkSpeed = 0
  1995. else
  1996. ANIMATE.Parent = Character
  1997. Disable_Jump = false
  1998. Humanoid.WalkSpeed = Speed
  1999. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2000. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1/ Animation_Speed)
  2001. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2002. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2003. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2004. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2005. end
  2006. unanchor()
  2007. Humanoid.MaxHealth = "inf"
  2008. Humanoid.Health = "inf"
  2009. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2010. if HITFLOOR ~= nil then
  2011. if DOUBLEJUMP == true then
  2012. DOUBLEJUMP = false
  2013. end
  2014. if READYTODOUBLE == true then
  2015. READYTODOUBLE = false
  2016. end
  2017. end
  2018. end
  2019.  
  2020. --//=================================\\
  2021. --\\=================================//
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027. --//====================================================\\--
  2028. --|| END OF SCRIPT
  2029. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement