rcubed1003

archangel 2 fe ver

Sep 19th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 62.53 KB | None | 0 0
  1. -- This script has convert to FE by who i don't know?
  2.  
  3. -----------------------------------------------------
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,game,owner = owner,game
  6. local RealPlayer = Player
  7. do
  8. print("FE Compatibility code by Mokiros | Showcase by Bacon Hair!")
  9. local rp = RealPlayer
  10. script.Parent = rp.Character
  11.  
  12. --RemoteEvent for communicating
  13. local Event = Instance.new("RemoteEvent")
  14. Event.Name = "UserInput_Event"
  15.  
  16. --Fake event to make stuff like Mouse.KeyDown work
  17. local function fakeEvent()
  18. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  19. t.connect = t.Connect
  20. return t
  21. end
  22.  
  23. --Creating fake input objects with fake variables
  24. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  25. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  26. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  27. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  28. end}
  29. --Merged 2 functions into one by checking amount of arguments
  30. CAS.UnbindAction = CAS.BindAction
  31.  
  32. --This function will trigger the events that have been :Connect()'ed
  33. local function te(self,ev,...)
  34. local t = m[ev]
  35. if t and t._fakeEvent then
  36. for _,f in pairs(t.Functions) do
  37. f(...)
  38. end
  39. end
  40. end
  41. m.TrigEvent = te
  42. UIS.TrigEvent = te
  43.  
  44. Event.OnServerEvent:Connect(function(plr,io)
  45. if plr~=rp then return end
  46. m.Target = io.Target
  47. m.Hit = io.Hit
  48. if not io.isMouse then
  49. local b = io.UserInputState == Enum.UserInputState.Begin
  50. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  51. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67.  
  68. local Mouse = Player:GetMouse()
  69. local UIS = game:GetService("UserInputService")
  70. local input = function(io,a)
  71. if a then return end
  72. --Since InputObject is a client-side instance, we create and pass table instead
  73. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  74. end
  75. UIS.InputBegan:Connect(input)
  76. UIS.InputEnded:Connect(input)
  77.  
  78. local h,t
  79. --Give the server mouse data 30 times every second, but only if the values changed
  80. --If player is not moving their mouse, client won't fire events
  81. while wait(1/30) do
  82. if h~=Mouse.Hit or t~=Mouse.Target then
  83. h,t=Mouse.Hit,Mouse.Target
  84. Event:FireServer({isMouse=true,Target=t,Hit=h})
  85. end
  86. end]==],Player.Character)
  87.  
  88. ----Sandboxed game object that allows the usage of client-side methods and services
  89. --Real game object
  90. local _rg = game
  91.  
  92. --Metatable for fake service
  93. local fsmt = {
  94. __index = function(self,k)
  95. local s = rawget(self,"_RealService")
  96. if s then return s[k] end
  97. end,
  98. __newindex = function(self,k,v)
  99. local s = rawget(self,"_RealService")
  100. if s then s[k]=v end
  101. end,
  102. __call = function(self,...)
  103. local s = rawget(self,"_RealService")
  104. if s then return s(...) end
  105. end
  106. }
  107. local function FakeService(t,RealService)
  108. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  109. return setmetatable(t,fsmt)
  110. end
  111.  
  112. --Fake game object
  113. local g = {
  114. GetService = function(self,s)
  115. return self[s]
  116. end,
  117. Players = FakeService({
  118. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  119. },"Players"),
  120. UserInputService = FakeService(UIS,"UserInputService"),
  121. ContextActionService = FakeService(CAS,"ContextActionService"),
  122. }
  123. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  124. g.service = g.GetService
  125.  
  126. g.RunService = FakeService({
  127. RenderStepped = _rg:GetService("RunService").Heartbeat,
  128. BindToRenderStep = function(self,name,_,fun)
  129.  
  130. end,
  131. UnbindFromRenderStep = function(self,name)
  132. self._btrs[name]:Disconnect()
  133. end,
  134. },"RunService")
  135.  
  136. setmetatable(g,{
  137. __index=function(self,s)
  138. return _rg:GetService(s) or typeof(_rg[s])=="function"
  139. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  140. end,
  141. __newindex = fsmt.__newindex,
  142. __call = fsmt.__call
  143. })
  144. --Changing owner to fake player object to support owner:GetMouse()
  145. game,owner = g,g.Players.LocalPlayer
  146. end
  147. --fixed by allahuahkbar
  148. --made by shackluster
  149. --edit by nguyenducloi123
  150.  
  151. --// \\--
  152. --|| MADE BY SHACKLUSTER ||--
  153. --|| FIXED BY ALLAHUAHKBAR ||--
  154. --|| ARCHANGEL ||--
  155. --|| ARCHANGEL LOOK CUTE TODAY ;) ||--
  156. --\\ //--
  157.  
  158. --Converted with ttyyuu12345's model to script plugin v4
  159. function sandbox(var,func)
  160. local env = getfenv(func)
  161. local newenv = setmetatable({},{
  162. __index = function(self,k)
  163. if k=="script" then
  164. return var
  165. else
  166. return env[k]
  167. end
  168. end,
  169. })
  170. setfenv(func,newenv)
  171. return func
  172. end
  173. function NS(...)
  174. local tab = {...}
  175. local fat = {}
  176. for i = 1, #tab do
  177. local v = tab[i]
  178. table.insert(fat,NumberSequenceKeypoint.new(v[1],v[2]))
  179. end
  180. return NumberSequence.new(fat);
  181. end
  182.  
  183. cors = {}
  184. mas = Instance.new("Model",game:GetService("Lighting"))
  185. ParticleEmitter0 = Instance.new("ParticleEmitter")
  186. ParticleEmitter1 = Instance.new("ParticleEmitter")
  187. ParticleEmitter2 = Instance.new("ParticleEmitter")
  188. ParticleEmitter0.Name = "Flames"
  189. ParticleEmitter0.Parent = mas
  190. ParticleEmitter0.Speed = NumberRange.new(0, 15)
  191. ParticleEmitter0.Rotation = NumberRange.new(0, 360)
  192. ParticleEmitter0.Enabled = false
  193. ParticleEmitter0.LightEmission = 1
  194. ParticleEmitter0.LightInfluence = 1
  195. ParticleEmitter0.Transparency = NumberSequence.new(1,0)
  196. ParticleEmitter0.ZOffset = 1
  197. ParticleEmitter0.Size = NumberSequence.new(10,0)
  198. ParticleEmitter0.EmissionDirection = Enum.NormalId.Back
  199. ParticleEmitter0.Lifetime = NumberRange.new(0, 2)
  200. ParticleEmitter0.Rate = 9999
  201. ParticleEmitter0.RotSpeed = NumberRange.new(-25, 25)
  202. ParticleEmitter0.SpreadAngle = Vector2.new(25, 25)
  203. ParticleEmitter0.VelocitySpread = 25
  204. ParticleEmitter0.Texture = "rbxasset://textures/particles/sparkles_main.dds"
  205. ParticleEmitter1.Name = "Death"
  206. ParticleEmitter1.Parent = mas
  207. ParticleEmitter1.Rotation = NumberRange.new(0, 360)
  208. ParticleEmitter1.Enabled = false
  209. ParticleEmitter1.LightEmission = 0.75
  210. ParticleEmitter1.Texture = "rbxasset://textures/particles/sparkles_main.dds"
  211. ParticleEmitter1.Transparency = NS({0,0.47540986537933},{.168,0.37704920768738},{.457,0.25683063268661},{.803,0.4426229596138},{.948,0.62841534614563},{1,1})
  212. ParticleEmitter1.ZOffset = 0.5
  213. ParticleEmitter1.Size = NS({0,1},{.656,1.8032789230347},{.843,1.4207655191422},{1,0})
  214. ParticleEmitter1.Acceleration = Vector3.new(0, 35, 0)
  215. ParticleEmitter1.Drag = 5
  216. ParticleEmitter1.EmissionDirection = Enum.NormalId.Right
  217. ParticleEmitter1.Lifetime = NumberRange.new(0, 1)
  218. ParticleEmitter1.Rate = 999
  219. ParticleEmitter1.RotSpeed = NumberRange.new(-56, 56)
  220. ParticleEmitter1.SpreadAngle = Vector2.new(360, 360)
  221. ParticleEmitter1.VelocitySpread = 360
  222. ParticleEmitter2.Name = "Wing"
  223. ParticleEmitter2.Parent = mas
  224. ParticleEmitter2.Rotation = NumberRange.new(0, 360)
  225. ParticleEmitter2.Enabled = false
  226. ParticleEmitter2.LightEmission = 1
  227. ParticleEmitter2.Texture = "rbxasset://textures/particles/explosion01_implosion_main.dds"
  228. ParticleEmitter2.Size = NS({0,0.05464494228363},{.193,1.0382515192032},{.352,1.3661205768585},{1,0})
  229. ParticleEmitter2.Acceleration = Vector3.new(0, -7, 15)
  230. ParticleEmitter2.Lifetime = NumberRange.new(0.80000001192093, 0.80000001192093)
  231. ParticleEmitter2.LockedToPart = true
  232. ParticleEmitter2.Rate = 300
  233.  
  234. for i,v in pairs(mas:GetChildren()) do
  235. v.Parent = script
  236. pcall(function() v:MakeJoints() end)
  237. end
  238. mas:Destroy()
  239. for i,v in pairs(cors) do
  240. spawn(function()
  241. pcall(v)
  242. end)
  243. end
  244.  
  245.  
  246. New = function(Object, Parent, Name, Data)
  247. local Object = Instance.new(Object)
  248. for Index, Value in pairs(Data or {}) do
  249. Object[Index] = Value
  250. end
  251. Object.Parent = Parent
  252. Object.Name = Name
  253. return Object
  254. end
  255.  
  256.  
  257.  
  258.  
  259. wait(0.2)
  260. Player = game:GetService("Players").LocalPlayer
  261. chara = Player.Character
  262. PlayerGui = Player.PlayerGui
  263. Cam = workspace.CurrentCamera
  264. Backpack = Player.Backpack
  265. Character = Player.Character
  266. Humanoid = Character.Humanoid
  267. for _, v in next, Humanoid:GetPlayingAnimationTracks() do
  268. v:Stop()
  269. end
  270. Character.Head.face.Texture = "rbxassetid://937070914"
  271. Character.Shirt.ShirtTemplate = "rbxassetid://388504741"
  272. Character.Pants.PantsTemplate = "rbxassetid://388505764"
  273. Mouse = Player:GetMouse()
  274. RootPart = Character.HumanoidRootPart
  275. Torso = Character.Torso
  276. Head = Character.Head
  277. RightArm = Character["Right Arm"]
  278. LeftArm = Character["Left Arm"]
  279. RightLeg = Character["Right Leg"]
  280. LeftLeg = Character["Left Leg"]
  281. RootJoint = RootPart.RootJoint
  282. Neck = Torso.Neck
  283. RightShoulder = Torso["Right Shoulder"]
  284. LeftShoulder = Torso["Left Shoulder"]
  285. RightHip = Torso["Right Hip"]
  286. LeftHip = Torso["Left Hip"]
  287. local sick = Instance.new("Sound", Character)
  288. wait(1)
  289. IT = Instance.new
  290. CF = CFrame.new
  291. VT = Vector3.new
  292. RAD = math.rad
  293. C3 = Color3.new
  294. UD2 = UDim2.new
  295. BRICKC = BrickColor.new
  296. ANGLES = CFrame.Angles
  297. EULER = CFrame.fromEulerAnglesXYZ
  298. COS = math.cos
  299. ACOS = math.acos
  300. SIN = math.sin
  301. ASIN = math.asin
  302. ABS = math.abs
  303. MRANDOM = math.random
  304. FLOOR = math.floor
  305.  
  306. local naeeym2 = Instance.new("BillboardGui",chara)
  307. naeeym2.AlwaysOnTop = true
  308. naeeym2.Size = UDim2.new(5,35,2,35)
  309. naeeym2.StudsOffset = Vector3.new(0,2,0)
  310. naeeym2.Adornee = chara.Head
  311. naeeym2.Name = ""
  312. local tecks2 = Instance.new("TextLabel",naeeym2)
  313. tecks2.BackgroundTransparency = 1
  314. tecks2.TextScaled = true
  315. tecks2.BorderSizePixel = 0
  316. tecks2.Text = "Archangel"
  317. tecks2.Font = "Fantasy"
  318. tecks2.TextSize = 30
  319. tecks2.TextStrokeTransparency = 0
  320. tecks2.TextColor3 = Color3.new(1,1,1)
  321. tecks2.TextStrokeColor3 = Color3.new(1,1,1)
  322. tecks2.Size = UDim2.new(1,0,0.5,0)
  323. tecks2.Parent = naeeym2
  324.  
  325. if Character:FindFirstChildOfClass("Accessory") then
  326. Character:FindFirstChildOfClass("Accessory"):remove()
  327. elseif Character:FindFirstChildOfClass("Hat") then
  328. Character:FindFirstChildOfClass("Hat"):remove()
  329. end
  330.  
  331. local Part = Instance.new("Part",chara)
  332. Part.BrickColor = BrickColor.new("Really black")
  333. Part.Size = Vector3.new(1,1,1)
  334. Part.CanCollide = false
  335. Part.Material = "Neon"
  336. local M = Instance.new("SpecialMesh",Part)
  337. M.MeshId = "rbxassetid://0"
  338. M.Scale = Vector3.new(1.2,1.2,1.2)
  339. M.TextureId = "rbxassetid://0"
  340. local Part2 = Instance.new("Weld",Part)
  341. Part2.Part0 = chara.Head
  342. Part2.Part1 = Part
  343. Part2.C0 = CFrame.new(0,0.2,0)*CFrame.Angles(0,0,0)
  344. local Part1 = Instance.new("Part",chara)
  345. Part1.BrickColor = BrickColor.new("Really black")
  346. Part1.Size = Vector3.new(1,1,1)
  347. Part1.CanCollide = false
  348. Part1.Material = "Neon"
  349. local M1 = Instance.new("SpecialMesh",Part1)
  350. M1.MeshId = "rbxassetid://212966179"
  351. M1.Scale = Vector3.new(1.1,1.1,1.1)
  352. local Part21 = Instance.new("Weld",Part1)
  353. Part21.Part0 = chara.Head
  354. Part21.Part1 = Part1
  355. Part21.C0 = CFrame.new(0,0.1,0)*CFrame.Angles(0,0,0)
  356.  
  357. Animation_Speed = 3
  358. Frame_Speed = 0.016666666666666666
  359. local Speed = 70
  360. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  361. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  362. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  363. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  364. local DAMAGEMULTIPLIER = 1
  365. local ANIM = "Idle"
  366. local ATTACK = false
  367. local EQUIPPED = false
  368. local HOLD = false
  369. local COMBO = 1
  370. local Rooted = false
  371. local SINE = 0
  372. local KEYHOLD = false
  373. local CHANGE = 2 / Animation_Speed
  374. local WALKINGANIM = false
  375. local VALUE1 = false
  376. local VALUE2 = false
  377. local ROBLOXIDLEANIMATION = IT("Animation")
  378. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  379. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  380. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  381. WEAPONGUI.Name = "Weapon GUI"
  382. local Effects = IT("Folder", Character)
  383. Effects.Name = "Effects"
  384. local ANIMATOR = Humanoid.Animator
  385. local ANIMATE = Character.Animate
  386. local UNANCHOR = true
  387. ArtificialHB = Instance.new("BindableEvent", script)
  388. ArtificialHB.Name = "ArtificialHB"
  389. script:WaitForChild("ArtificialHB")
  390. frame = Frame_Speed
  391. tf = 0
  392. allowframeloss = false
  393. tossremainder = false
  394. lastframe = tick()
  395. script.ArtificialHB:Fire()
  396. game:GetService("RunService").Heartbeat:connect(function(s, p)
  397. tf = tf + s
  398. if tf >= frame then
  399. if allowframeloss then
  400. script.ArtificialHB:Fire()
  401. lastframe = tick()
  402. else
  403. for i = 1, math.floor(tf / frame) do
  404. script.ArtificialHB:Fire()
  405. end
  406. lastframe = tick()
  407. end
  408. if tossremainder then
  409. tf = 0
  410. else
  411. tf = tf - frame * math.floor(tf / frame)
  412. end
  413. end
  414. end)
  415. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  416. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  417. end
  418. function PositiveAngle(NUMBER)
  419. if NUMBER >= 0 then
  420. NUMBER = 0
  421. end
  422. return NUMBER
  423. end
  424. function NegativeAngle(NUMBER)
  425. if NUMBER <= 0 then
  426. NUMBER = 0
  427. end
  428. return NUMBER
  429. end
  430. function Swait(NUMBER)
  431. if NUMBER == 0 or NUMBER == nil then
  432. ArtificialHB.Event:wait()
  433. else
  434. for i = 1, NUMBER do
  435. ArtificialHB.Event:wait()
  436. end
  437. end
  438. end
  439. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  440. local NEWMESH = IT(MESH)
  441. if MESH == "SpecialMesh" then
  442. NEWMESH.MeshType = MESHTYPE
  443. if MESHID ~= "nil" and MESHID ~= "" then
  444. NEWMESH.MeshId = "http://www.roblox.com/asset/?id=" .. MESHID
  445. end
  446. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  447. NEWMESH.TextureId = "http://www.roblox.com/asset/?id=" .. TEXTUREID
  448. end
  449. end
  450. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  451. NEWMESH.Scale = SCALE
  452. NEWMESH.Parent = PARENT
  453. return NEWMESH
  454. end
  455. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  456. local NEWPART = IT("Part")
  457. NEWPART.formFactor = FORMFACTOR
  458. NEWPART.Reflectance = REFLECTANCE
  459. NEWPART.Transparency = TRANSPARENCY
  460. NEWPART.CanCollide = false
  461. NEWPART.Locked = true
  462. NEWPART.Anchored = true
  463. if ANCHOR == false then
  464. NEWPART.Anchored = false
  465. end
  466. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  467. NEWPART.Name = NAME
  468. NEWPART.Size = SIZE
  469. NEWPART.Position = Torso.Position
  470. NEWPART.Material = MATERIAL
  471. NEWPART:BreakJoints()
  472. NEWPART.Parent = PARENT
  473. return NEWPART
  474. end
  475. local weldBetween = function(a, b)
  476. local weldd = Instance.new("ManualWeld")
  477. weldd.Part0 = a
  478. weldd.Part1 = b
  479. weldd.C0 = CFrame.new()
  480. weldd.C1 = b.CFrame:inverse() * a.CFrame
  481. weldd.Parent = a
  482. return weldd
  483. end
  484. function QuaternionFromCFrame(cf)
  485. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  486. local trace = m00 + m11 + m22
  487. if trace > 0 then
  488. local s = math.sqrt(1 + trace)
  489. local recip = 0.5 / s
  490. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  491. else
  492. local i = 0
  493. if m00 < m11 then
  494. i = 1
  495. end
  496. if m22 > (i == 0 and m00 or m11) then
  497. i = 2
  498. end
  499. if i == 0 then
  500. local s = math.sqrt(m00 - m11 - m22 + 1)
  501. local recip = 0.5 / s
  502. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  503. elseif i == 1 then
  504. local s = math.sqrt(m11 - m22 - m00 + 1)
  505. local recip = 0.5 / s
  506. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  507. elseif i == 2 then
  508. local s = math.sqrt(m22 - m00 - m11 + 1)
  509. local recip = 0.5 / s
  510. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  511. end
  512. end
  513. end
  514. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  515. local xs, ys, zs = x + x, y + y, z + z
  516. local wx, wy, wz = w * xs, w * ys, w * zs
  517. local xx = x * xs
  518. local xy = x * ys
  519. local xz = x * zs
  520. local yy = y * ys
  521. local yz = y * zs
  522. local zz = z * zs
  523. 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))
  524. end
  525. function QuaternionSlerp(a, b, t)
  526. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  527. local startInterp, finishInterp
  528. if cosTheta >= 1.0E-4 then
  529. if 1 - cosTheta > 1.0E-4 then
  530. local theta = ACOS(cosTheta)
  531. local invSinTheta = 1 / SIN(theta)
  532. startInterp = SIN((1 - t) * theta) * invSinTheta
  533. finishInterp = SIN(t * theta) * invSinTheta
  534. else
  535. startInterp = 1 - t
  536. finishInterp = t
  537. end
  538. elseif 1 + cosTheta > 1.0E-4 then
  539. local theta = ACOS(-cosTheta)
  540. local invSinTheta = 1 / SIN(theta)
  541. startInterp = SIN((t - 1) * theta) * invSinTheta
  542. finishInterp = SIN(t * theta) * invSinTheta
  543. else
  544. startInterp = t - 1
  545. finishInterp = t
  546. end
  547. 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
  548. end
  549. function Clerp(a, b, t)
  550. local qa = {
  551. QuaternionFromCFrame(a)
  552. }
  553. local qb = {
  554. QuaternionFromCFrame(b)
  555. }
  556. local ax, ay, az = a.x, a.y, a.z
  557. local bx, by, bz = b.x, b.y, b.z
  558. local _t = 1 - t
  559. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  560. end
  561. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  562. local frame = IT("Frame")
  563. frame.BackgroundTransparency = TRANSPARENCY
  564. frame.BorderSizePixel = BORDERSIZEPIXEL
  565. frame.Position = POSITION
  566. frame.Size = SIZE
  567. frame.BackgroundColor3 = COLOR
  568. frame.BorderColor3 = BORDERCOLOR
  569. frame.Name = NAME
  570. frame.Parent = PARENT
  571. return frame
  572. end
  573. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  574. local label = IT("TextLabel")
  575. label.BackgroundTransparency = 1
  576. label.Size = UD2(1, 0, 1, 0)
  577. label.Position = UD2(0, 0, 0, 0)
  578. label.TextColor3 = TEXTCOLOR
  579. label.TextStrokeTransparency = STROKETRANSPARENCY
  580. label.TextTransparency = TRANSPARENCY
  581. label.FontSize = TEXTFONTSIZE
  582. label.Font = TEXTFONT
  583. label.BorderSizePixel = BORDERSIZEPIXEL
  584. label.TextScaled = false
  585. label.Text = TEXT
  586. label.Name = NAME
  587. label.Parent = PARENT
  588. return label
  589. end
  590. function NoOutlines(PART)
  591. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  592. end
  593. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  594. local NEWWELD = IT(TYPE)
  595. NEWWELD.Part0 = PART0
  596. NEWWELD.Part1 = PART1
  597. NEWWELD.C0 = C0
  598. NEWWELD.C1 = C1
  599. NEWWELD.Parent = PARENT
  600. return NEWWELD
  601. end
  602. local S = IT("Sound")
  603. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  604. local NEWSOUND
  605. coroutine.resume(coroutine.create(function()
  606. NEWSOUND = S:Clone()
  607. NEWSOUND.Parent = PARENT
  608. NEWSOUND.EmitterSize = VOLUME * 3
  609. NEWSOUND.Volume = VOLUME
  610. NEWSOUND.Pitch = PITCH
  611. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id=" .. ID
  612. NEWSOUND:play()
  613. if DOESLOOP == true then
  614. NEWSOUND.Looped = true
  615. else
  616. repeat
  617. wait(1)
  618. until NEWSOUND.Playing == false
  619. NEWSOUND:remove()
  620. end
  621. end))
  622. return NEWSOUND
  623. end
  624. function CFrameFromTopBack(at, top, back)
  625. local right = top:Cross(back)
  626. 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)
  627. end
  628. function WACKYEFFECT(Table)
  629. local TYPE = Table.EffectType or "Sphere"
  630. local SIZE = Table.Size or VT(1, 1, 1)
  631. local ENDSIZE = Table.Size2 or VT(0, 0, 0)
  632. local TRANSPARENCY = Table.Transparency or 0
  633. local ENDTRANSPARENCY = Table.Transparency2 or 1
  634. local CFRAME = Table.CFrame or Torso.CFrame
  635. local MOVEDIRECTION = Table.MoveToPos or nil
  636. local ROTATION1 = Table.RotationX or 0
  637. local ROTATION2 = Table.RotationY or 0
  638. local ROTATION3 = Table.RotationZ or 0
  639. local MATERIAL = Table.Material or "Neon"
  640. local COLOR = Table.Color or C3(1, 1, 1)
  641. local TIME = Table.Time or 45
  642. local SOUNDID = Table.SoundID or nil
  643. local SOUNDPITCH = Table.SoundPitch or nil
  644. local SOUNDVOLUME = Table.SoundVolume or nil
  645. coroutine.resume(coroutine.create(function()
  646. local PLAYSSOUND = false
  647. local SOUND
  648. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1, 1, 1), true)
  649. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  650. PLAYSSOUND = true
  651. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  652. end
  653. EFFECT.Color = COLOR
  654. local MSH
  655. if TYPE == "Sphere" then
  656. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0, 0, 0))
  657. elseif TYPE == "Block" then
  658. MSH = IT("BlockMesh", EFFECT)
  659. MSH.Scale = VT(SIZE.X, SIZE.X, SIZE.X)
  660. elseif TYPE == "Wave" then
  661. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0, 0, -SIZE.X / 8))
  662. elseif TYPE == "Ring" then
  663. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X, SIZE.X, 0.1), VT(0, 0, 0))
  664. elseif TYPE == "Slash" then
  665. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  666. elseif TYPE == "Round Slash" then
  667. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X / 10, 0, SIZE.X / 10), VT(0, 0, 0))
  668. elseif TYPE == "Swirl" then
  669. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0, 0, 0))
  670. elseif TYPE == "Skull" then
  671. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0, 0, 0))
  672. elseif TYPE == "Crystal" then
  673. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0, 0, 0))
  674. end
  675. if MSH ~= nil then
  676. local MOVESPEED
  677. if MOVEDIRECTION ~= nil then
  678. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude / TIME
  679. end
  680. local GROWTH = SIZE - ENDSIZE
  681. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  682. if TYPE == "Block" then
  683. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  684. else
  685. EFFECT.CFrame = CFRAME
  686. end
  687. for LOOP = 1, TIME + 1 do
  688. Swait()
  689. MSH.Scale = MSH.Scale - GROWTH / TIME
  690. if TYPE == "Wave" then
  691. MSH.Offset = VT(0, 0, -MSH.Scale.X / 8)
  692. end
  693. EFFECT.Transparency = EFFECT.Transparency - TRANS / TIME
  694. if TYPE == "Block" then
  695. EFFECT.CFrame = CFRAME * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)))
  696. else
  697. EFFECT.CFrame = EFFECT.CFrame * ANGLES(RAD(ROTATION1), RAD(ROTATION2), RAD(ROTATION3))
  698. end
  699. if MOVEDIRECTION ~= nil then
  700. local ORI = EFFECT.Orientation
  701. EFFECT.CFrame = CF(EFFECT.Position, MOVEDIRECTION) * CF(0, 0, -MOVESPEED)
  702. EFFECT.Orientation = ORI
  703. end
  704. end
  705. if PLAYSSOUND == false then
  706. EFFECT:remove()
  707. else
  708. repeat
  709. Swait()
  710. until SOUND.Playing == false
  711. EFFECT:remove()
  712. end
  713. elseif PLAYSSOUND == false then
  714. EFFECT:remove()
  715. else
  716. repeat
  717. Swait()
  718. until SOUND.Playing == false
  719. EFFECT:remove()
  720. end
  721. end))
  722. end
  723. function MakeForm(PART, TYPE)
  724. if TYPE == "Cyl" then
  725. local MSH = IT("CylinderMesh", PART)
  726. elseif TYPE == "Ball" then
  727. local MSH = IT("SpecialMesh", PART)
  728. MSH.MeshType = "Sphere"
  729. elseif TYPE == "Wedge" then
  730. local MSH = IT("SpecialMesh", PART)
  731. MSH.MeshType = "Wedge"
  732. end
  733. end
  734. Debris = game:GetService("Debris")
  735. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  736. local DIRECTION = CF(StartPos, EndPos).lookVector
  737. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  738. end
  739. function turnto(position)
  740. RootPart.CFrame = CFrame.new(RootPart.CFrame.p, VT(position.X, RootPart.Position.Y, position.Z)) * CFrame.new(0, 0, 0)
  741. end
  742. local DECAL = IT("Decal")
  743. function MakeRing()
  744. local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Pearl"), "MagicRing", VT(0, 0, 0), true)
  745. local MSH = IT("BlockMesh", RING)
  746. local TOP = DECAL:Clone()
  747. local BOTTOM = DECAL:Clone()
  748. TOP.Parent = RING
  749. BOTTOM.Parent = RING
  750. TOP.Face = "Top"
  751. BOTTOM.Face = "Bottom"
  752. TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
  753. BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
  754. local function REMOVE()
  755. coroutine.resume(coroutine.create(function()
  756. local SIZE = MSH.Scale.X
  757. for i = 1, 35 do
  758. Swait()
  759. MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
  760. TOP.Transparency = TOP.Transparency + 0.02857142857142857
  761. BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
  762. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
  763. end
  764. RING:remove()
  765. end))
  766. end
  767. return RING, MSH, REMOVE
  768. end
  769. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  770. local TORSO = Torso
  771. local HUM = Humanoid
  772. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  773. coroutine.wrap(function()
  774. VT = Vector3.new
  775. MRANDOM = math.random
  776. local A = TIME
  777. local B = INTENSITY
  778. local C = true
  779. local HUMANOID = Humanoid
  780. local TIMER = A or 35
  781. local SHAKE = B or 5
  782. local FADE = C or true
  783. if HUMANOID then
  784. local FADER = SHAKE / TIMER
  785. for i = 1, TIMER do
  786. wait()
  787. HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  788. end
  789. HUMANOID.CameraOffset = VT(0, 0, 0)
  790. end
  791.  
  792. end)()
  793. end
  794. end
  795.  
  796. local SKILLTEXTCOLOR = C3(0, 0, 0)
  797. local SKILLFONT = "SciFi"
  798. local SKILLTEXTSIZE = 7
  799. local WING = Instance.new("Attachment")
  800. local WING1 = WING:Clone()
  801. local WING2 = WING:Clone()
  802. WING1.Parent = Torso
  803. WING2.Parent = Torso
  804. WING1.Position = VT(-1, 0.6, 1)
  805. WING2.Position = VT(1, 0.6, 1)
  806. WING1.Orientation = VT(0, 0, 0)
  807. WING2.Orientation = VT(0, 0, 0)
  808. local WINGS = {}
  809. for i = 1, 5 do
  810. local PARTICLES = script.Wing:Clone()
  811. PARTICLES.Parent = WING1
  812. PARTICLES.Enabled = true
  813. PARTICLES.Acceleration = VT(-i * 10, -5 - i * 1.5, 15)
  814. table.insert(WINGS, {
  815. PARTICLES,
  816. VT(-i * 30, 0, 25)
  817. })
  818. end
  819. for i = 1, 5 do
  820. local PARTICLES = script.Wing:Clone()
  821. PARTICLES.Parent = WING2
  822. PARTICLES.Enabled = true
  823. PARTICLES.Acceleration = VT(i * 10, -5 - i * 1.5, 15)
  824. table.insert(WINGS, {
  825. PARTICLES,
  826. VT(i * 30, 0, 25)
  827. })
  828. end
  829.  
  830. Base = New("Part",Head,"Base",{BrickColor = BrickColor.new("Institutional white"),Material = Enum.Material.SmoothPlastic,Transparency = 1,Transparency = 1,Size = Vector3.new(2, 1, 1),CFrame = CFrame.new(4.56395578, 30.9732971, 96.5572357, -1, 0, -3.7252903e-09, 0, 1, 0, -3.7252903e-09, 0, -1.00000012),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0,0,0),})
  831. Mesh = New("SpecialMesh",Base,"Mesh",{Scale = Vector3.new(1,1,1),})
  832. Hood = New("Part",Head,"Hood",{Size = Vector3.new(2.04900002, 2.18899989, 1.97500002),CFrame = CFrame.new(4.59299994, 31.1469994, 96.4520035, -0.99907124, -0.00109502568, 0.043075189, -0.00244226633, 0.999509037, -0.0312363114, -0.0430198386, -0.0313125029, -0.998583436),BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,})
  833. Mesh = New("SpecialMesh",Hood,"Mesh",{MeshId = "rbxassetid://93129244",TextureId = "rbxassetid://94020325",MeshType = Enum.MeshType.FileMesh,})
  834. mot = New("Motor",Hood,"mot",{Part0 = Hood,Part1 = Base,C0 = CFrame.new(0, 0, 0, -0.99907124, -0.00244226633, -0.0430198386, -0.00109502568, 0.999509037, -0.0313125029, 0.043075189, -0.0312363114, -0.998583436),C1 = CFrame.new(-0.0290441513, 0.17370224, 0.105232239, -1, 0, 0, 0, 1, 0, 0, 0, -1),})
  835.  
  836. CreateWeldOrSnapOrMotor('Weld', Head, Head, Base, CF(), CF())
  837.  
  838. local DParticles = script.Death
  839. DParticles:remove()
  840. DParticles.Name = "ArchangelDeathParticles"
  841.  
  842. local SKILLTEXTCOLOR = C3(1, 1, 1)
  843. local SKILLFONT = "Fantasy"
  844. local SKILLTEXTSIZE = 3
  845. local ATTACKS = {
  846. "Z - Holy Smite",
  847. "B - Divine Ravage",
  848. "C - Divine Earthquake",
  849. "V - Beam of Light",
  850. "X - Divine Nova"
  851. }
  852. for i = 1, #ATTACKS do
  853. local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97 - 0.02 * i, 0), UD2(0.26, 0, 0.07, 0), C3(0, 0, 0), C3(0, 0, 0), "Skill Frame")
  854. local SKILLTEXT = CreateLabel(SKILLFRAME, "[" .. ATTACKS[i] .. "]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Skill text")
  855. SKILLTEXT.TextXAlignment = "Right"
  856. end
  857.  
  858. function ApplyAoE(POSITION, RANGE)
  859. local PARTS = {}
  860. for index, CHILD in pairs(workspace:GetDescendants()) do
  861. if CHILD.ClassName == "Model" and CHILD ~= Character then
  862. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  863. if HUM then
  864. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  865. if TORSO and HUM.Health > 0 and RANGE >= (TORSO.Position - POSITION).Magnitude then
  866. CHILD:BreakJoints()
  867. for index, PART in pairs(CHILD:GetChildren()) do
  868. if PART:IsA("BasePart") and PART.Name ~= "HumanoidRootPart" then
  869. local P = DParticles:Clone()
  870. P.Parent = PART
  871. P.Enabled = true
  872. P.Color = ColorSequence.new(PART.Color, C3(1, 1, 1))
  873. PART.Anchored = true
  874. table.insert(PARTS, {PART, P})
  875. end
  876. end
  877. end
  878. end
  879. elseif CHILD:IsA("BasePart") and CHILD.Parent.Parent ~= Character and CHILD.Parent:FindFirstChildOfClass("Humanoid") == nil and CHILD:FindFirstChild("ewdfrfgrwefd") == nil and CHILD.Size.Magnitude < RANGE * 2 and CHILD.Size.Magnitude < 200 and RANGE > (CHILD.Position - POSITION).Magnitude then
  880. local FOLDER = IT("Folder", CHILD)
  881. FOLDER.Name = "ewdfrfgrwefd"
  882. local P = DParticles:Clone()
  883. P.Parent = CHILD
  884. P.Enabled = true
  885. CHILD:BreakJoints()
  886. CHILD.CanCollide = false
  887. CHILD.Anchored = true
  888. P.Rate = math.ceil(CHILD.Size.Magnitude / 2)
  889. P.Color = ColorSequence.new(CHILD.Color, C3(1, 1, 1))
  890. table.insert(PARTS, {CHILD, P})
  891. end
  892. end
  893. coroutine.resume(coroutine.create(function()
  894. if #PARTS > 0 then
  895. for i = 1, 85 do
  896. Swait()
  897. for E = 1, #PARTS do
  898. local F = PARTS[E]
  899. local A = F[1]
  900. local B = F[2]
  901. A.Transparency = A.Transparency + 0.011764705882352941
  902. B.Rate = math.ceil(B.Rate * 1.2)
  903. for index, E in pairs(A:GetChildren()) do
  904. if E:IsA("Decal") or E:IsA("Texture") then
  905. E.Transparency = E.Transparency + 0.011764705882352941
  906. elseif E:IsA("JointInstance") then
  907. E:remove()
  908. elseif E:IsA("Light") or E:IsA("ParticleEmitter") and E ~= B and E.Name ~= "ArchangelDeathParticles" or E:IsA("Fire") or E:IsA("Sparkles") or E:IsA("Smoke") then
  909. E.Enabled = false
  910. end
  911. end
  912. end
  913. end
  914. for E = 1, #PARTS do
  915. local F = PARTS[E]
  916. local A = F[1]
  917. local B = F[2]
  918. B.Enabled = false
  919. Debris:AddItem(A, 3)
  920. end
  921. end
  922. end))
  923. end
  924. function Smite()
  925. local RING, MESH, DELET = MakeRing()
  926. local POS = Mouse.Hit.p
  927. RING.CFrame = CF(Mouse.Hit.p + VT(MRANDOM(-25, 25), 200, MRANDOM(-25, 25)), Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
  928. for i = 1, 45 do
  929. Swait()
  930. MESH.Scale = MESH.Scale + VT(12, 0, 12)
  931. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  932. end
  933. local HITFLOOR, HITPOS = Raycast(RING.Position, CF(RING.Position, RING.CFrame * CF(0, -1, 0).p).lookVector, 500, Character)
  934. if HITFLOOR then
  935. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
  936. MakeForm(BEAM, "Cyl")
  937. local DIST = (RING.Position - HITPOS).Magnitude
  938. BEAM.Size = VT(0, DIST, 0)
  939. BEAM.CFrame = CF(RING.Position, HITPOS) * CF(0, 0, -DIST / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
  940. for i = 1, 5 do
  941. WACKYEFFECT({
  942. EffectType = "Wave",
  943. Size = VT(25, 0, 25),
  944. Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6),
  945. Transparency = 0,
  946. Transparency2 = 1,
  947. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
  948. MoveToPos = nil,
  949. RotationX = 0,
  950. RotationY = 3,
  951. RotationZ = 0,
  952. Material = "Neon",
  953. Color = C3(1, 1, 1),
  954. SoundID = nil,
  955. SoundPitch = nil,
  956. SoundVolume = nil
  957. })
  958. WACKYEFFECT({
  959. EffectType = "Round Slash",
  960. Size = VT(3, 0, 3) / 13,
  961. Size2 = (VT(3, 0, 3) + VT(i, 0, i)) / 5,
  962. Transparency = 0,
  963. Transparency2 = 1,
  964. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
  965. MoveToPos = nil,
  966. RotationX = 0,
  967. RotationY = 0,
  968. RotationZ = 0,
  969. Material = "Neon",
  970. Color = C3(1, 1, 1),
  971. SoundID = nil,
  972. SoundPitch = nil,
  973. SoundVolume = nil
  974. })
  975. WACKYEFFECT({
  976. Time = 35,
  977. EffectType = "Sphere",
  978. Size = VT(22, 22, 22),
  979. Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5),
  980. Transparency = 0,
  981. Transparency2 = 1,
  982. CFrame = CF(HITPOS),
  983. MoveToPos = nil,
  984. RotationX = 0,
  985. RotationY = 0,
  986. RotationZ = 0,
  987. Material = "Neon",
  988. Color = C3(1, 1, 1),
  989. SoundID = 459523898,
  990. SoundPitch = MRANDOM(9, 12) / 10,
  991. SoundVolume = 10
  992. })
  993. end
  994. SHAKECAM(HITPOS, 100, 8, 15)
  995. ApplyAoE(HITPOS, 50)
  996. for i = 1, 25 do
  997. Swait()
  998. BEAM.Size = BEAM.Size + VT(0.5, 0, 0.5)
  999. BEAM.Transparency = BEAM.Transparency + 0.04
  1000. end
  1001. BEAM:remove()
  1002. end
  1003. wait(0.2)
  1004. DELET()
  1005. end
  1006. function Ravage()
  1007. ATTACK = true
  1008. Rooted = false
  1009. local RING, MESH, DELET = MakeRing()
  1010. RING.Anchored = false
  1011. RING.CFrame = RightArm.CFrame * CF(0, -1.3, 0)
  1012. local WELD = weldBetween(RightArm, RING)
  1013. local GYRO = IT("BodyGyro", RootPart)
  1014. GYRO.D = 20
  1015. GYRO.P = 4000
  1016. GYRO.MaxTorque = VT(0, 40000, 0)
  1017. coroutine.resume(coroutine.create(function()
  1018. repeat
  1019. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1020. Swait()
  1021. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
  1022. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 1 / Animation_Speed)
  1023. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1024. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1025. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1026. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1027. until ATTACK == false
  1028. GYRO:remove()
  1029. end))
  1030. CreateSound(459523787, RING, 8, 1, false)
  1031. for i = 1, 45 do
  1032. Swait()
  1033. MESH.Scale = MESH.Scale + VT(13, 0, 13)
  1034. WELD.C0 = WELD.C0 * ANGLES(RAD(0), RAD(5), RAD(0))
  1035. end
  1036. wait(0.3)
  1037. repeat
  1038. for i = 1, 25 do
  1039. Swait()
  1040. WACKYEFFECT({
  1041. Time = 15,
  1042. EffectType = "Sphere",
  1043. Size = VT(4, 4, 4),
  1044. Size2 = VT(0, 0, 0),
  1045. Transparency = 1,
  1046. Transparency2 = 0,
  1047. CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
  1048. MoveToPos = RING.Position,
  1049. RotationX = 0,
  1050. RotationY = 0,
  1051. RotationZ = 0,
  1052. Material = "Neon",
  1053. Color = C3(1, 1, 1),
  1054. SoundID = nil,
  1055. SoundPitch = nil,
  1056. SoundVolume = nil
  1057. })
  1058. end
  1059. WACKYEFFECT({
  1060. Time = 35,
  1061. EffectType = "Sphere",
  1062. Size = VT(25, 2, 25),
  1063. Size2 = VT(35, 5, 35),
  1064. Transparency = 0,
  1065. Transparency2 = 1,
  1066. CFrame = RING.CFrame,
  1067. MoveToPos = nil,
  1068. RotationX = 0,
  1069. RotationY = 0,
  1070. RotationZ = 0,
  1071. Material = "Neon",
  1072. Color = C3(1, 1, 1),
  1073. SoundID = 459523898,
  1074. SoundPitch = MRANDOM(9, 12) / 10,
  1075. SoundVolume = 10
  1076. })
  1077. coroutine.resume(coroutine.create(function()
  1078. local PROJECTILE = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(12, 12, 12), true)
  1079. MakeForm(PROJECTILE, "Ball")
  1080. PROJECTILE.CFrame = RootPart.CFrame * CF(0, 0, -10)
  1081. local FIRE = script.Flames:Clone()
  1082. FIRE.Parent = PROJECTILE
  1083. FIRE.Enabled = true
  1084. local SPEED = -0.2
  1085. for i = 1, 1000 do
  1086. Swait()
  1087. SPEED = SPEED - 0.01
  1088. local HIT = Raycast(PROJECTILE.Position, PROJECTILE.CFrame.lookVector, 6 + SPEED / 5, Character)
  1089. if HIT then
  1090. do
  1091. local POS = PROJECTILE.Position
  1092. ApplyAoE(POS, 100)
  1093. SHAKECAM(POS, 150, 12, 15)
  1094. coroutine.resume(coroutine.create(function()
  1095. for i = 1, 5 do
  1096. Swait()
  1097. WACKYEFFECT({
  1098. Time = 85,
  1099. EffectType = "Wave",
  1100. Size = VT(25, 0, 25),
  1101. Size2 = VT(40, 0, 40) + VT(i * 6, i / 5, i * 6) * 15,
  1102. Transparency = 0,
  1103. Transparency2 = 1,
  1104. CFrame = CF(POS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
  1105. MoveToPos = nil,
  1106. RotationX = 0,
  1107. RotationY = 3,
  1108. RotationZ = 0,
  1109. Material = "Neon",
  1110. Color = C3(1, 1, 1),
  1111. SoundID = nil,
  1112. SoundPitch = nil,
  1113. SoundVolume = nil
  1114. })
  1115. WACKYEFFECT({
  1116. Time = 85,
  1117. EffectType = "Round Slash",
  1118. Size = VT(3, 0, 3) / 13,
  1119. Size2 = (VT(3, 0, 3) + VT(i, 0, i)) * 2,
  1120. Transparency = 0,
  1121. Transparency2 = 1,
  1122. CFrame = CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(-35, 35)), RAD(0), RAD(MRANDOM(-35, 35))),
  1123. MoveToPos = nil,
  1124. RotationX = 0,
  1125. RotationY = 0,
  1126. RotationZ = 0,
  1127. Material = "Neon",
  1128. Color = C3(1, 1, 1),
  1129. SoundID = nil,
  1130. SoundPitch = nil,
  1131. SoundVolume = nil
  1132. })
  1133. WACKYEFFECT({
  1134. Time = 75,
  1135. EffectType = "Sphere",
  1136. Size = VT(22, 22, 22),
  1137. Size2 = VT(45, 45, 45) + VT(i * 5, i * 5, i * 5) * 7,
  1138. Transparency = 0,
  1139. Transparency2 = 1,
  1140. CFrame = CF(POS),
  1141. MoveToPos = nil,
  1142. RotationX = 0,
  1143. RotationY = 0,
  1144. RotationZ = 0,
  1145. Material = "Neon",
  1146. Color = C3(1, 1, 1),
  1147. SoundID = 533636431,
  1148. SoundPitch = MRANDOM(9, 12) / 10,
  1149. SoundVolume = 10
  1150. })
  1151. end
  1152. end))
  1153. break
  1154. end
  1155. else
  1156. PROJECTILE.CFrame = PROJECTILE.CFrame * CF(0, 0, SPEED)
  1157. for index, CHILD in pairs(workspace:GetDescendants()) do
  1158. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1159. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1160. if HUM then
  1161. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1162. if TORSO and 0 < HUM.Health and 150 > (TORSO.Position - PROJECTILE.Position).Magnitude then
  1163. PROJECTILE.CFrame = Clerp(PROJECTILE.CFrame, CF(PROJECTILE.Position, TORSO.Position), 0.08)
  1164. end
  1165. end
  1166. end
  1167. end
  1168. end
  1169. end
  1170. FIRE.Enabled = false
  1171. PROJECTILE.Transparency = 1
  1172. Debris:AddItem(PROJECTILE, 5)
  1173. end))
  1174. until KEYHOLD == false
  1175. wait(0.1)
  1176. RING.Anchored = true
  1177. WELD:remove()
  1178. DELET()
  1179. ATTACK = false
  1180. Rooted = false
  1181. end
  1182. function Earthquake()
  1183. ATTACK = true
  1184. Rooted = true
  1185. local GYRO = IT("BodyGyro", RootPart)
  1186. GYRO.D = 20
  1187. GYRO.P = 4000
  1188. GYRO.MaxTorque = VT(0, 40000, 0)
  1189. local RING, MESH, DELET = MakeRing()
  1190. local HITFLOOR, HITPOS = Raycast(RootPart.Position, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
  1191. RING.CFrame = CF(HITPOS)
  1192. for i = 0, 0.6, 0.1 / Animation_Speed do
  1193. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1194. Swait()
  1195. MESH.Scale = MESH.Scale + VT(53, 0, 53)
  1196. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  1197. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
  1198. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  1199. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25 - 7.5 * SIN(SINE / 12)), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1200. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1201. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1202. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1203. end
  1204. local BLASTS = {468991944, 468991990}
  1205. coroutine.resume(coroutine.create(function()
  1206. local CFRAME = RootPart.CFrame
  1207. for i = 1, 100 do
  1208. CFRAME = CFRAME * CF(0, 0, -35)
  1209. do
  1210. local HITFLOOR, HITPOS = Raycast(CFRAME.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 15, Character)
  1211. if HITFLOOR then
  1212. Swait()
  1213. do
  1214. local OFFSET = CFRAME * CF(MRANDOM(-25, 25), 0, 0)
  1215. coroutine.resume(coroutine.create(function()
  1216. local RING, MESH, DELET = MakeRing()
  1217. RING.CFrame = CF(OFFSET.p.X, HITPOS.Y, OFFSET.p.Z)
  1218. for i = 1, 25 do
  1219. Swait()
  1220. MESH.Scale = MESH.Scale + VT(42, 0, 42)
  1221. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  1222. end
  1223. ApplyAoE(RING.Position, 65)
  1224. SHAKECAM(RING.Position, 80, 12, 15)
  1225. local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
  1226. WACKYEFFECT({
  1227. Time = 25,
  1228. EffectType = "Sphere",
  1229. Size = VT(22, 22, 22),
  1230. Size2 = VT(85, 85, 85),
  1231. Transparency = 0,
  1232. Transparency2 = 1,
  1233. CFrame = CF(RING.Position),
  1234. MoveToPos = nil,
  1235. RotationX = 0,
  1236. RotationY = 0,
  1237. RotationZ = 0,
  1238. Material = "Neon",
  1239. Color = C3(1, 1, 1),
  1240. SoundID = BLASTS[MRANDOM(1, #BLASTS)],
  1241. SoundPitch = MRANDOM(9, 12) / 10,
  1242. SoundVolume = 10
  1243. })
  1244. for e = 1, 3 do
  1245. WACKYEFFECT({
  1246. EffectType = "Wave",
  1247. Size = VT(25, 0, 25),
  1248. Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
  1249. Transparency = 0,
  1250. Transparency2 = 1,
  1251. CFrame = CF(RING.Position) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
  1252. MoveToPos = nil,
  1253. RotationX = 0,
  1254. RotationY = 3,
  1255. RotationZ = 0,
  1256. Material = "Neon",
  1257. Color = C3(1, 1, 1),
  1258. SoundID = nil,
  1259. SoundPitch = nil,
  1260. SoundVolume = nil
  1261. })
  1262. WACKYEFFECT({
  1263. Time = 35,
  1264. EffectType = "Sphere",
  1265. Size = VT(22, 45, 22),
  1266. Size2 = VT(25, 45 + e * 75, 25),
  1267. Transparency = 0,
  1268. Transparency2 = 1,
  1269. CFrame = CF(RING.Position) * TURN,
  1270. MoveToPos = nil,
  1271. RotationX = 0,
  1272. RotationY = 0,
  1273. RotationZ = 0,
  1274. Material = "Neon",
  1275. Color = C3(1, 1, 1),
  1276. SoundID = nil,
  1277. SoundPitch = MRANDOM(9, 12) / 10,
  1278. SoundVolume = 10
  1279. })
  1280. end
  1281. wait(0.3)
  1282. DELET()
  1283. end))
  1284. end
  1285. end
  1286. end
  1287. end
  1288. end))
  1289. Rooted = false
  1290. for i = 0, 0.2, 0.1 / Animation_Speed do
  1291. Swait()
  1292. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(75)), 1 / Animation_Speed)
  1293. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), 1 / Animation_Speed)
  1294. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(145 - 7.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1295. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1296. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1297. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1298. end
  1299. DELET()
  1300. GYRO:remove()
  1301. ATTACK = false
  1302. Rooted = false
  1303. end
  1304. function Beam()
  1305. ATTACK = true
  1306. Rooted = false
  1307. local GYRO = IT("BodyGyro", RootPart)
  1308. GYRO.D = 20
  1309. GYRO.P = 4000
  1310. GYRO.MaxTorque = VT(0, 40000, 0)
  1311. local RING, MESH, DELET = MakeRing()
  1312. local POS = RootPart.Position + VT(0, 25, 0)
  1313. RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(0), RAD(0))
  1314. CreateSound(459523787, RING, 8, 1, false)
  1315. local BLASTS = {468991944, 468991990}
  1316. coroutine.resume(coroutine.create(function()
  1317. local E = 0
  1318. repeat
  1319. E = E + 5
  1320. GYRO.CFrame = CF(RootPart.Position, Mouse.Hit.p)
  1321. Swait()
  1322. RING.CFrame = CF(POS, Mouse.Hit.p) * ANGLES(RAD(90), RAD(E), RAD(0))
  1323. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(90)), 1 / Animation_Speed)
  1324. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-90)), 1 / Animation_Speed)
  1325. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1326. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1327. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1328. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1329. until ATTACK == false
  1330. GYRO:remove()
  1331. DELET()
  1332. end))
  1333. for i = 1, 50 do
  1334. Swait()
  1335. MESH.Scale = MESH.Scale + VT(22, 0, 22)
  1336. end
  1337. for i = 1, 25 do
  1338. Swait()
  1339. WACKYEFFECT({
  1340. Time = 15,
  1341. EffectType = "Sphere",
  1342. Size = VT(4, 4, 4),
  1343. Size2 = VT(0, 0, 0),
  1344. Transparency = 1,
  1345. Transparency2 = 0,
  1346. CFrame = CF(RING.Position) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))) * CF(0, 0, 35),
  1347. MoveToPos = RING.Position,
  1348. RotationX = 0,
  1349. RotationY = 0,
  1350. RotationZ = 0,
  1351. Material = "Neon",
  1352. Color = C3(1, 1, 1),
  1353. SoundID = nil,
  1354. SoundPitch = nil,
  1355. SoundVolume = nil
  1356. })
  1357. end
  1358. local LOOP = 0
  1359. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Pearl"), "Beam", VT(0, 0, 0), true)
  1360. MakeForm(BEAM, "Cyl")
  1361. CreateSound(BLASTS[MRANDOM(1, #BLASTS)], RING, 5, MRANDOM(9, 11) / 10, false)
  1362. repeat
  1363. local DISTANCE = (RING.Position - Mouse.Hit.p).Magnitude
  1364. if DISTANCE < 2000 then
  1365. BEAM.Size = VT(10 + 2 * COS(SINE / 4), DISTANCE, 10 + 2 * COS(SINE / 4))
  1366. BEAM.CFrame = CF(RING.Position, Mouse.Hit.p) * CF(0, 0, -DISTANCE / 2) * ANGLES(RAD(90), RAD(0), RAD(0))
  1367. ApplyAoE(Mouse.Hit.p, 35)
  1368. WACKYEFFECT({
  1369. Time = 35,
  1370. EffectType = "Sphere",
  1371. Size = VT(10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4), 10 + 2 * COS(SINE / 4)) * 2,
  1372. Size2 = VT(5, 75, 5),
  1373. Transparency = 0,
  1374. Transparency2 = 1,
  1375. CFrame = CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1376. MoveToPos = nil,
  1377. RotationX = 0,
  1378. RotationY = 0,
  1379. RotationZ = 0,
  1380. Material = "Neon",
  1381. Color = C3(1, 1, 1),
  1382. SoundID = nil,
  1383. SoundPitch = MRANDOM(9, 12) / 10,
  1384. SoundVolume = 10
  1385. })
  1386. Swait()
  1387. LOOP = LOOP + 1
  1388. end
  1389. until KEYHOLD == false and LOOP >= 35 or DISTANCE >= 2000
  1390. coroutine.resume(coroutine.create(function()
  1391. for i = 1, 15 do
  1392. Swait()
  1393. BEAM.Size = BEAM.Size - VT(0.2, 0, 0.2)
  1394. BEAM.Transparency = BEAM.Transparency + 0.06666666666666667
  1395. end
  1396. BEAM:remove()
  1397. end))
  1398. ATTACK = false
  1399. Rooted = false
  1400. end
  1401. function Nuke()
  1402. ATTACK = true
  1403. Rooted = true
  1404. local CHARGE = false
  1405. local BLASTS = {468991944, 468991990}
  1406. coroutine.resume(coroutine.create(function()
  1407. repeat
  1408. Swait()
  1409. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 0.1 / Animation_Speed)
  1410. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-35 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 0.1 / Animation_Speed)
  1411. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
  1412. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(140 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  1413. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1414. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(25 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.1 / Animation_Speed)
  1415. until CHARGE == true
  1416. for i = 0, 0.4, 0.1 / Animation_Speed do
  1417. Swait()
  1418. WACKYEFFECT({
  1419. Time = 15,
  1420. EffectType = "Sphere",
  1421. Size = VT(60, 60, 60),
  1422. Size2 = VT(0, 0, 0),
  1423. Transparency = 1,
  1424. Transparency2 = 0.7,
  1425. CFrame = CF(RootPart.Position),
  1426. MoveToPos = nil,
  1427. RotationX = 0,
  1428. RotationY = 0,
  1429. RotationZ = 0,
  1430. Material = "Neon",
  1431. Color = C3(1, 1, 1),
  1432. SoundID = nil,
  1433. SoundPitch = nil,
  1434. SoundVolume = nil
  1435. })
  1436. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  1437. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1438. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(-7.5 * SIN(SINE / 12)), RAD(-50 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1439. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(160 - 7.5 * SIN(SINE / 12)), RAD(7.5 * SIN(SINE / 12)), RAD(50 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1440. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1441. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(35 - 7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1442. end
  1443. coroutine.resume(coroutine.create(function()
  1444. local POS = RootPart.Position
  1445. wait(0.2)
  1446. for i = 1, 5 do
  1447. WACKYEFFECT({
  1448. Time = 65,
  1449. EffectType = "Sphere",
  1450. Size = VT(2, 2, 2),
  1451. Size2 = VT(0, 0, 500),
  1452. Transparency = 1,
  1453. Transparency2 = 0,
  1454. CFrame = CF(POS),
  1455. MoveToPos = nil,
  1456. RotationX = MRANDOM(-2, 2),
  1457. RotationY = MRANDOM(-12, 12),
  1458. RotationZ = MRANDOM(-2, 2),
  1459. Material = "Neon",
  1460. Color = C3(1, 1, 1),
  1461. SoundID = nil,
  1462. SoundPitch = nil,
  1463. SoundVolume = nil
  1464. })
  1465. end
  1466. wait(1)
  1467. SHAKECAM(POS, 9999999999, 25, 25)
  1468. ApplyAoE(POS, 450)
  1469. WACKYEFFECT({
  1470. Time = 85,
  1471. EffectType = "Sphere",
  1472. Size = VT(120, 120, 120),
  1473. Size2 = VT(350, 350, 350),
  1474. Transparency = 0,
  1475. Transparency2 = 1,
  1476. CFrame = CF(POS),
  1477. MoveToPos = nil,
  1478. RotationX = 0,
  1479. RotationY = 0,
  1480. RotationZ = 0,
  1481. Material = "Neon",
  1482. Color = C3(1, 1, 1),
  1483. SoundID = nil,
  1484. SoundPitch = 1,
  1485. SoundVolume = 10
  1486. })
  1487. for i = 1, 20 do
  1488. WACKYEFFECT({
  1489. Time = 85,
  1490. EffectType = "Sphere",
  1491. Size = VT(120, 120, 120),
  1492. Size2 = VT(120, 120, 144) + VT(i * 3, i * 3, i * 3),
  1493. Transparency = 0.8,
  1494. Transparency2 = 1,
  1495. CFrame = CF(POS),
  1496. MoveToPos = nil,
  1497. RotationX = 0,
  1498. RotationY = 0,
  1499. RotationZ = 0,
  1500. Material = "Neon",
  1501. Color = C3(1, 1, 1),
  1502. SoundID = nil,
  1503. SoundPitch = 1,
  1504. SoundVolume = 10
  1505. })
  1506. WACKYEFFECT({
  1507. Time = 100,
  1508. EffectType = "Wave",
  1509. Size = VT(25, 2, 25),
  1510. Size2 = VT(400, 0, 400) * 1.2,
  1511. Transparency = 0,
  1512. Transparency2 = 1,
  1513. CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360)), RAD(MRANDOM(0, 360))),
  1514. MoveToPos = nil,
  1515. RotationX = 0,
  1516. RotationY = 0,
  1517. RotationZ = 0,
  1518. Material = "Neon",
  1519. Color = C3(1, 1, 1),
  1520. SoundID = nil,
  1521. SoundPitch = nil,
  1522. SoundVolume = nil
  1523. })
  1524. end
  1525. local HITFLOOR, HITPOS = Raycast(POS, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
  1526. for i = 1, 5 do
  1527. CreateSound(438666077, Effects, 15, 1 - i / 15, false)
  1528. WACKYEFFECT({
  1529. Time = 120,
  1530. EffectType = "Wave",
  1531. Size = VT(150, 2, 150),
  1532. Size2 = VT(300 + i * 170, 0, 300 + i * 170) * 1.2,
  1533. Transparency = 0,
  1534. Transparency2 = 1,
  1535. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)),
  1536. MoveToPos = nil,
  1537. RotationX = 0,
  1538. RotationY = 0,
  1539. RotationZ = 0,
  1540. Material = "Neon",
  1541. Color = C3(1, 1, 1),
  1542. SoundID = nil,
  1543. SoundPitch = nil,
  1544. SoundVolume = nil
  1545. })
  1546. end
  1547. end))
  1548. for i = 0, 1, 0.1 / Animation_Speed do
  1549. Swait()
  1550. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  1551. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1552. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(45 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1553. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(45 - 7.5 * SIN(SINE / 12)), RAD(-45 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1554. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1555. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1556. end
  1557. ATTACK = false
  1558. Rooted = false
  1559. end))
  1560. for i = 1, 30 do
  1561. wait(0.01)
  1562. local POS = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * CF(0, 0, MRANDOM(10, 150))
  1563. local HITFLOOR, HITPOS = Raycast(POS.p, CF(RootPart.Position, RootPart.Position + VT(0, -1, 0)).lookVector, 150, Character)
  1564. if HITFLOOR then
  1565. ApplyAoE(HITPOS, 65)
  1566. local TURN = ANGLES(RAD(0), RAD(MRANDOM(0, 360)), RAD(0)) * ANGLES(RAD(MRANDOM(0, 25)), RAD(0), RAD(0))
  1567. WACKYEFFECT({
  1568. Time = 25,
  1569. EffectType = "Sphere",
  1570. Size = VT(22, 22, 22),
  1571. Size2 = VT(85, 85, 85),
  1572. Transparency = 0,
  1573. Transparency2 = 1,
  1574. CFrame = CF(HITPOS),
  1575. MoveToPos = nil,
  1576. RotationX = 0,
  1577. RotationY = 0,
  1578. RotationZ = 0,
  1579. Material = "Neon",
  1580. Color = C3(1, 1, 1),
  1581. SoundID = BLASTS[MRANDOM(1, #BLASTS)],
  1582. SoundPitch = MRANDOM(9, 12) / 10,
  1583. SoundVolume = 10
  1584. })
  1585. for e = 1, 3 do
  1586. WACKYEFFECT({
  1587. EffectType = "Wave",
  1588. Size = VT(25, 0, 25),
  1589. Size2 = VT(40, 0, 40) + VT(e * 6, e / 5, e * 6),
  1590. Transparency = 0,
  1591. Transparency2 = 1,
  1592. CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(72 * i), RAD(0)),
  1593. MoveToPos = nil,
  1594. RotationX = 0,
  1595. RotationY = 3,
  1596. RotationZ = 0,
  1597. Material = "Neon",
  1598. Color = C3(1, 1, 1),
  1599. SoundID = nil,
  1600. SoundPitch = nil,
  1601. SoundVolume = nil
  1602. })
  1603. WACKYEFFECT({
  1604. Time = 35,
  1605. EffectType = "Sphere",
  1606. Size = VT(22, 45, 22),
  1607. Size2 = VT(25, 45 + e * 75, 25),
  1608. Transparency = 0,
  1609. Transparency2 = 1,
  1610. CFrame = CF(HITPOS) * TURN,
  1611. MoveToPos = nil,
  1612. RotationX = 0,
  1613. RotationY = 0,
  1614. RotationZ = 0,
  1615. Material = "Neon",
  1616. Color = C3(1, 1, 1),
  1617. SoundID = nil,
  1618. SoundPitch = MRANDOM(9, 12) / 10,
  1619. SoundVolume = 10
  1620. })
  1621. end
  1622. end
  1623. end
  1624. CHARGE = true
  1625. end
  1626. function MouseDown(Mouse)
  1627. if ATTACK == false then
  1628. end
  1629. end
  1630. function MouseUp(Mouse)
  1631. HOLD = false
  1632. end
  1633. function KeyDown(Key)
  1634. KEYHOLD = true
  1635. if Key == "z" and ATTACK == false then
  1636. Smite()
  1637. end
  1638. if Key == "b" and ATTACK == false then
  1639. Ravage()
  1640. end
  1641. if Key == "c" and ATTACK == false then
  1642. Earthquake()
  1643. end
  1644. if Key == "v" and ATTACK == false then
  1645. Beam()
  1646. end
  1647. if Key == "x" and ATTACK == false then
  1648. Nuke()
  1649. end
  1650. end
  1651. function KeyUp(Key)
  1652. if Key ~= "w" and Key ~= "s" and Key ~= "a" and Key ~= "d" then
  1653. KEYHOLD = false
  1654. end
  1655. end
  1656. Mouse.Button1Down:connect(function(NEWKEY)
  1657. MouseDown(NEWKEY)
  1658. end)
  1659. Mouse.Button1Up:connect(function(NEWKEY)
  1660. MouseUp(NEWKEY)
  1661. end)
  1662. Mouse.KeyDown:connect(function(NEWKEY)
  1663. KeyDown(NEWKEY)
  1664. end)
  1665. Mouse.KeyUp:connect(function(NEWKEY)
  1666. KeyUp(NEWKEY)
  1667. end)
  1668. function unanchor()
  1669. for _, c in pairs(Character:GetChildren()) do
  1670. if c:IsA("BasePart") and c ~= RootPart then
  1671. c.Anchored = false
  1672. end
  1673. end
  1674. if UNANCHOR == true then
  1675. RootPart.Anchored = false
  1676. else
  1677. RootPart.Anchored = true
  1678. end
  1679. end
  1680. Humanoid.Changed:connect(function(Jump)
  1681. if Jump == "Jump" and Disable_Jump == true then
  1682. Humanoid.Jump = false
  1683. end
  1684. end)
  1685. while true do
  1686. Swait()
  1687. Humanoid.HipHeight = 7
  1688. script.Parent = WEAPONGUI
  1689. ANIMATE.Parent = nil
  1690. for _, v in next, Humanoid:GetPlayingAnimationTracks() do
  1691. v:Stop()
  1692. end
  1693. SINE = SINE + CHANGE / 2
  1694. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1695. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1696. if ATTACK == false then
  1697. if TORSOVELOCITY < 1 then
  1698. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  1699. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1700. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1701. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0 - 7.5 * SIN(SINE / 12)), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1702. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 + 0.15 * COS(SINE / 12), -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1703. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5 + 0.25 * COS(SINE / 12), -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1704. elseif TORSOVELOCITY > 1 then
  1705. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1706. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1707. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(25 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1708. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-25 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1709. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25 - 7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1710. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1711. end
  1712. end
  1713. for WING = 1, #WINGS do
  1714. local STUFF = WINGS[WING]
  1715. local FEATHERS = STUFF[1]
  1716. local ACCEL = STUFF[2]
  1717. FEATHERS.Acceleration = ACCEL + VT(0, 35 * SIN(SINE / 12), 0)
  1718. end
  1719. unanchor()
  1720. Humanoid.MaxHealth = 3000000e+3000000
  1721. Humanoid.Health = 3000000e+3000000
  1722. if Rooted == false then
  1723. Disable_Jump = false
  1724. Humanoid.WalkSpeed = Speed
  1725. elseif Rooted == true then
  1726. Disable_Jump = true
  1727. Humanoid.WalkSpeed = 0
  1728. end
  1729. for _, c in pairs(Character:GetChildren()) do
  1730. if c.ClassName == "Accessory" or c.Name == "Body Colors" then
  1731. local hand = c:FindFirstChild'Handle'
  1732. if(hand)then
  1733. hand.Parent = Character
  1734. weldBetween(hand,Head)
  1735. end
  1736. c:destroy()
  1737. end
  1738. end
  1739. sick.Playing = true
  1740. sick.SoundId = "rbxassetid://1073318933"
  1741. sick.Looped = true
  1742. sick.Pitch = 1
  1743. sick.Volume = 4.5
  1744. if sick.Parent ~= Character then
  1745. sick = IT("Sound", Character)
  1746. end
  1747. end
Add Comment
Please, Sign In to add comment