Hugo1234cool

Untitled

Mar 10th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 105.04 KB | None | 0 0
  1. --//====================================================\\--
  2. --|| CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4.  
  5. wait(0.2)
  6. --https://github.com/Mokiros/roblox-FE-compatibility
  7. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  8. local Player,game,owner = owner,game
  9. local RealPlayer = Player
  10. do
  11. print("FE Compatibility code V2 by Mokiros")
  12. local RealPlayer = RealPlayer
  13. script.Parent = RealPlayer.Character
  14.  
  15. --Fake event to make stuff like Mouse.KeyDown work
  16. local Disconnect_Function = function(this)
  17. this[1].Functions[this[2]] = nil
  18. end
  19. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  20. local FakeEvent_Metatable = {__index={
  21. Connect = function(this,f)
  22. local i = tostring(math.random(0,10000))
  23. while this.Functions[i] do
  24. i = tostring(math.random(0,10000))
  25. end
  26. this.Functions[i] = f
  27. return setmetatable({this,i},Disconnect_Metatable)
  28. end
  29. }}
  30. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  31. local function fakeEvent()
  32. return setmetatable({Functions={}},FakeEvent_Metatable)
  33. end
  34.  
  35. --Creating fake input objects with fake variables
  36. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  37. FakeMouse.keyUp = FakeMouse.KeyUp
  38. FakeMouse.keyDown = FakeMouse.KeyDown
  39. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  40. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  41. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  42. end}
  43. --Merged 2 functions into one by checking amount of arguments
  44. CAS.UnbindAction = CAS.BindAction
  45.  
  46. --This function will trigger the events that have been :Connect()'ed
  47. local function TriggerEvent(self,ev,...)
  48. for _,f in pairs(self[ev].Functions) do
  49. f(...)
  50. end
  51. end
  52. FakeMouse.TriggerEvent = TriggerEvent
  53. UIS.TriggerEvent = TriggerEvent
  54.  
  55. --Client communication
  56. local Event = Instance.new("RemoteEvent")
  57. Event.Name = "UserInput_Event"
  58. Event.OnServerEvent:Connect(function(plr,io)
  59. if plr~=RealPlayer then return end
  60. FakeMouse.Target = io.Target
  61. FakeMouse.Hit = io.Hit
  62. if not io.isMouse then
  63. local b = io.UserInputState == Enum.UserInputState.Begin
  64. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  65. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  66. end
  67. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  68. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  69. end
  70. for _,t in pairs(CAS.Actions) do
  71. for _,k in pairs(t.Keys) do
  72. if k==io.KeyCode then
  73. t.Function(t.Name,io.UserInputState,io)
  74. end
  75. end
  76. end
  77. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  78. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  79. end
  80. end)
  81. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  82. local Mouse = owner:GetMouse()
  83. local UIS = game:GetService("UserInputService")
  84. local input = function(io,RobloxHandled)
  85. if RobloxHandled then return end
  86. --Since InputObject is a client-side instance, we create and pass table instead
  87. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  88. end
  89. UIS.InputBegan:Connect(input)
  90. UIS.InputEnded:Connect(input)
  91.  
  92. local h,t
  93. --Give the server mouse data every second frame, but only if the values changed
  94. --If player is not moving their mouse, client won't fire events
  95. local HB = game:GetService("RunService").Heartbeat
  96. while true do
  97. if h~=Mouse.Hit or t~=Mouse.Target then
  98. h,t=Mouse.Hit,Mouse.Target
  99. Event:FireServer({isMouse=true,Target=t,Hit=h})
  100. end
  101. --Wait 2 frames
  102. for i=1,2 do
  103. HB:Wait()
  104. end
  105. end]==],script)
  106.  
  107. ----Sandboxed game object that allows the usage of client-side methods and services
  108. --Real game object
  109. local RealGame = game
  110.  
  111. --Metatable for fake service
  112. local FakeService_Metatable = {
  113. __index = function(self,k)
  114. local s = rawget(self,"_RealService")
  115. if s then
  116. return typeof(s[k])=="function"
  117. and function(_,...)return s[k](s,...)end or s[k]
  118. end
  119. end,
  120. __newindex = function(self,k,v)
  121. local s = rawget(self,"_RealService")
  122. if s then s[k]=v end
  123. end
  124. }
  125. local function FakeService(t,RealService)
  126. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  127. return setmetatable(t,FakeService_Metatable)
  128. end
  129.  
  130. --Fake game object
  131. local FakeGame = {
  132. GetService = function(self,s)
  133. return rawget(self,s) or RealGame:GetService(s)
  134. end,
  135. Players = FakeService({
  136. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  137. },"Players"),
  138. UserInputService = FakeService(UIS,"UserInputService"),
  139. ContextActionService = FakeService(CAS,"ContextActionService"),
  140. RunService = FakeService({
  141. _btrs = {},
  142. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  143. BindToRenderStep = function(self,name,_,fun)
  144. self._btrs[name] = self.Heartbeat:Connect(fun)
  145. end,
  146. UnbindFromRenderStep = function(self,name)
  147. self._btrs[name]:Disconnect()
  148. end,
  149. },"RunService")
  150. }
  151. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  152. FakeGame.service = FakeGame.GetService
  153. FakeService(FakeGame,game)
  154. --Changing owner to fake player object to support owner:GetMouse()
  155. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  156. end
  157. Player =owner
  158. PlayerGui = Player.PlayerGui
  159. Cam = workspace.CurrentCamera
  160. Backpack = Player.Backpack
  161. Character = Player.Character
  162. Humanoid = Character:FindFirstChildOfClass("Humanoid")
  163. Mouse = Player:GetMouse()
  164. RootPart = Character["HumanoidRootPart"]
  165. Torso = Character["Torso"]
  166. Head = Character["Head"]
  167. RightArm = Character["Right Arm"]
  168. LeftArm = Character["Left Arm"]
  169. RightLeg = Character["Right Leg"]
  170. LeftLeg = Character["Left Leg"]
  171. RootJoint = RootPart["RootJoint"]
  172. Neck = Torso["Neck"]
  173. RightShoulder = Torso["Right Shoulder"]
  174. LeftShoulder = Torso["Left Shoulder"]
  175. RightHip = Torso["Right Hip"]
  176. LeftHip = Torso["Left Hip"]
  177.  
  178. IT = Instance.new
  179. CF = CFrame.new
  180. VT = Vector3.new
  181. RAD = math.rad
  182. C3 = Color3.new
  183. UD2 = UDim2.new
  184. BRICKC = BrickColor.new
  185. ANGLES = CFrame.Angles
  186. EULER = CFrame.fromEulerAnglesXYZ
  187. COS = math.cos
  188. ACOS = math.acos
  189. SIN = math.sin
  190. ASIN = math.asin
  191. ABS = math.abs
  192. MRANDOM = math.random
  193. FLOOR = math.floor
  194.  
  195. --//=================================\\
  196. --|| USEFUL VALUES
  197. --\\=================================//
  198.  
  199. Animation_Speed = 3
  200. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  201. local Speed = 25
  202. local SIZE = 2
  203. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  204. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  205. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  206. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  207. local DAMAGEMULTIPLIER = 1
  208. local ANIM = "Idle"
  209. local ATTACK = false
  210. local EQUIPPED = false
  211. local HOLD = false
  212. local COMBO = 1
  213. local Rooted = false
  214. local SINE = 0
  215. local KEYHOLD = false
  216. local CHANGE = 2 / Animation_Speed
  217. local WALKINGANIM = false
  218. local VALUE1 = false
  219. local VALUE2 = false
  220. local ROBLOXIDLEANIMATION = IT("Animation")
  221. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  222. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  223. --ROBLOXIDLEANIMATION.Parent = Humanoid
  224. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  225. WEAPONGUI.Name = "Weapon GUI"
  226. local Weapon = IT("Folder")
  227. Weapon.Name = "Adds"
  228. local Effects = IT("Folder", Weapon)
  229. Effects.Name = "Effects"
  230. local ANIMATOR = Humanoid.Animator
  231. local ANIMATE = Character.Animate
  232. local UNANCHOR = true
  233. local VOCALS_BASIC = {468972244,468972378,468972711,468972944}
  234. local VOCALS_TAUNT = {468973055,468973159}
  235. local VOCAL_GROWL = 468971411
  236. local VOCALS_ENRAGES = {528589078,528589175,528589274,528589382}
  237. local CHARGE = 459523787
  238. local ROUGHBLAST = 461105534
  239. local WALLSOUND = 424195952
  240. local FORCEIDLE = false
  241. Character.Archivable = true
  242. script.Parent = WEAPONGUI
  243. local CLONE = Character:Clone()
  244. CLONE.Parent = nil
  245. Character.Archivable = false
  246. local sick = Instance.new("Sound",Character)
  247. local XATTACK = false
  248. Humanoid.JumpPower = 200
  249.  
  250. --//=================================\\
  251. --\\=================================//
  252.  
  253.  
  254. --//=================================\\
  255. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  256. --\\=================================//
  257.  
  258. ArtificialHB = Instance.new("BindableEvent", script)
  259. ArtificialHB.Name = "ArtificialHB"
  260.  
  261. script:WaitForChild("ArtificialHB")
  262.  
  263. frame = Frame_Speed
  264. tf = 0
  265. allowframeloss = false
  266. tossremainder = false
  267. lastframe = tick()
  268. script.ArtificialHB:Fire()
  269.  
  270. game:GetService("RunService").Heartbeat:connect(function(s, p)
  271. tf = tf + s
  272. if tf >= frame then
  273. if allowframeloss then
  274. script.ArtificialHB:Fire()
  275. lastframe = tick()
  276. else
  277. for i = 1, math.floor(tf / frame) do
  278. script.ArtificialHB:Fire()
  279. end
  280. lastframe = tick()
  281. end
  282. if tossremainder then
  283. tf = 0
  284. else
  285. tf = tf - frame * math.floor(tf / frame)
  286. end
  287. end
  288. end)
  289.  
  290. --//=================================\\
  291. --\\=================================//
  292.  
  293. --//=================================\\
  294. --|| SOME FUNCTIONS
  295. --\\=================================//
  296.  
  297. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  298. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  299. end
  300.  
  301. function PositiveAngle(NUMBER)
  302. if NUMBER >= 0 then
  303. NUMBER = 0
  304. end
  305. return NUMBER
  306. end
  307.  
  308. function NegativeAngle(NUMBER)
  309. if NUMBER <= 0 then
  310. NUMBER = 0
  311. end
  312. return NUMBER
  313. end
  314.  
  315. function Swait(NUMBER)
  316. if NUMBER == 0 or NUMBER == nil then
  317. ArtificialHB.Event:wait()
  318. else
  319. for i = 1, NUMBER do
  320. ArtificialHB.Event:wait()
  321. end
  322. end
  323. end
  324.  
  325. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  326. local NEWMESH = IT(MESH)
  327. if MESH == "SpecialMesh" then
  328. NEWMESH.MeshType = MESHTYPE
  329. if MESHID ~= "nil" and MESHID ~= "" then
  330. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  331. end
  332. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  333. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  334. end
  335. end
  336. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  337. NEWMESH.Scale = SCALE
  338. NEWMESH.Parent = PARENT
  339. return NEWMESH
  340. end
  341.  
  342. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  343. local NEWPART = IT("Part")
  344. NEWPART.formFactor = FORMFACTOR
  345. NEWPART.Reflectance = REFLECTANCE
  346. NEWPART.Transparency = TRANSPARENCY
  347. NEWPART.CanCollide = false
  348. NEWPART.Locked = true
  349. NEWPART.Anchored = true
  350. if ANCHOR == false then
  351. NEWPART.Anchored = false
  352. end
  353. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  354. NEWPART.Name = NAME
  355. NEWPART.Size = SIZE
  356. NEWPART.Position = Torso.Position
  357. NEWPART.Material = MATERIAL
  358. NEWPART:BreakJoints()
  359. NEWPART.Parent = PARENT
  360. return NEWPART
  361. end
  362.  
  363. local function weldBetween(a, b)
  364. local weldd = Instance.new("ManualWeld")
  365. weldd.Part0 = a
  366. weldd.Part1 = b
  367. weldd.C0 = CFrame.new()
  368. weldd.C1 = b.CFrame:inverse() * a.CFrame
  369. weldd.Parent = a
  370. return weldd
  371. end
  372.  
  373.  
  374. function QuaternionFromCFrame(cf)
  375. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  376. local trace = m00 + m11 + m22
  377. if trace > 0 then
  378. local s = math.sqrt(1 + trace)
  379. local recip = 0.5 / s
  380. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  381. else
  382. local i = 0
  383. if m11 > m00 then
  384. i = 1
  385. end
  386. if m22 > (i == 0 and m00 or m11) then
  387. i = 2
  388. end
  389. if i == 0 then
  390. local s = math.sqrt(m00 - m11 - m22 + 1)
  391. local recip = 0.5 / s
  392. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  393. elseif i == 1 then
  394. local s = math.sqrt(m11 - m22 - m00 + 1)
  395. local recip = 0.5 / s
  396. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  397. elseif i == 2 then
  398. local s = math.sqrt(m22 - m00 - m11 + 1)
  399. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  400. end
  401. end
  402. end
  403.  
  404. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  405. local xs, ys, zs = x + x, y + y, z + z
  406. local wx, wy, wz = w * xs, w * ys, w * zs
  407. local xx = x * xs
  408. local xy = x * ys
  409. local xz = x * zs
  410. local yy = y * ys
  411. local yz = y * zs
  412. local zz = z * zs
  413. 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))
  414. end
  415.  
  416. function QuaternionSlerp(a, b, t)
  417. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  418. local startInterp, finishInterp;
  419. if cosTheta >= 0.0001 then
  420. if (1 - cosTheta) > 0.0001 then
  421. local theta = ACOS(cosTheta)
  422. local invSinTheta = 1 / SIN(theta)
  423. startInterp = SIN((1 - t) * theta) * invSinTheta
  424. finishInterp = SIN(t * theta) * invSinTheta
  425. else
  426. startInterp = 1 - t
  427. finishInterp = t
  428. end
  429. else
  430. if (1 + cosTheta) > 0.0001 then
  431. local theta = ACOS(-cosTheta)
  432. local invSinTheta = 1 / SIN(theta)
  433. startInterp = SIN((t - 1) * theta) * invSinTheta
  434. finishInterp = SIN(t * theta) * invSinTheta
  435. else
  436. startInterp = t - 1
  437. finishInterp = t
  438. end
  439. end
  440. 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
  441. end
  442.  
  443. function Clerp(a, b, t)
  444. local qa = {QuaternionFromCFrame(a)}
  445. local qb = {QuaternionFromCFrame(b)}
  446. local ax, ay, az = a.x, a.y, a.z
  447. local bx, by, bz = b.x, b.y, b.z
  448. local _t = 1 - t
  449. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  450. end
  451.  
  452. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  453. local frame = IT("Frame")
  454. frame.BackgroundTransparency = TRANSPARENCY
  455. frame.BorderSizePixel = BORDERSIZEPIXEL
  456. frame.Position = POSITION
  457. frame.Size = SIZE
  458. frame.BackgroundColor3 = COLOR
  459. frame.BorderColor3 = BORDERCOLOR
  460. frame.Name = NAME
  461. frame.Parent = PARENT
  462. return frame
  463. end
  464.  
  465. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  466. local label = IT("TextLabel")
  467. label.BackgroundTransparency = 1
  468. label.Size = UD2(1, 0, 1, 0)
  469. label.Position = UD2(0, 0, 0, 0)
  470. label.TextColor3 = TEXTCOLOR
  471. label.TextStrokeTransparency = STROKETRANSPARENCY
  472. label.TextTransparency = TRANSPARENCY
  473. label.FontSize = TEXTFONTSIZE
  474. label.Font = TEXTFONT
  475. label.BorderSizePixel = BORDERSIZEPIXEL
  476. label.TextScaled = false
  477. label.Text = TEXT
  478. label.Name = NAME
  479. label.Parent = PARENT
  480. return label
  481. end
  482.  
  483. function NoOutlines(PART)
  484. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  485. end
  486.  
  487. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  488. local NEWWELD = IT(TYPE)
  489. NEWWELD.Part0 = PART0
  490. NEWWELD.Part1 = PART1
  491. NEWWELD.C0 = C0
  492. NEWWELD.C1 = C1
  493. NEWWELD.Parent = PARENT
  494. return NEWWELD
  495. end
  496.  
  497. local S = IT("Sound")
  498. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  499. local NEWSOUND = nil
  500. coroutine.resume(coroutine.create(function()
  501. NEWSOUND = S:Clone()
  502. NEWSOUND.Parent = PARENT
  503. NEWSOUND.Volume = VOLUME
  504. NEWSOUND.Pitch = PITCH
  505. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  506. NEWSOUND:play()
  507. if DOESLOOP == true then
  508. NEWSOUND.Looped = true
  509. else
  510. repeat wait(1) until NEWSOUND.Playing == false
  511. NEWSOUND:remove()
  512. end
  513. end))
  514. return NEWSOUND
  515. end
  516.  
  517. function CFrameFromTopBack(at, top, back)
  518. local right = top:Cross(back)
  519. 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)
  520. end
  521.  
  522. --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})
  523. function WACKYEFFECT(Table)
  524. local TYPE = (Table.EffectType or "Sphere")
  525. local SIZE = (Table.Size or VT(1,1,1))
  526. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  527. local TRANSPARENCY = (Table.Transparency or 0)
  528. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  529. local CFRAME = (Table.CFrame or Torso.CFrame)
  530. local MOVEDIRECTION = (Table.MoveToPos or nil)
  531. local ROTATION1 = (Table.RotationX or 0)
  532. local ROTATION2 = (Table.RotationY or 0)
  533. local ROTATION3 = (Table.RotationZ or 0)
  534. local MATERIAL = (Table.Material or "Neon")
  535. local COLOR = (Table.Color or C3(1,1,1))
  536. local TIME = (Table.Time or 45)
  537. local SOUNDID = (Table.SoundID or nil)
  538. local SOUNDPITCH = (Table.SoundPitch or nil)
  539. local SOUNDVOLUME = (Table.SoundVolume or nil)
  540. coroutine.resume(coroutine.create(function()
  541. local PLAYSSOUND = false
  542. local SOUND = nil
  543. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  544. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  545. PLAYSSOUND = true
  546. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  547. end
  548. EFFECT.Color = COLOR
  549. local MSH = nil
  550. if TYPE == "Sphere" then
  551. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  552. elseif TYPE == "Block" then
  553. MSH = IT("BlockMesh",EFFECT)
  554. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  555. elseif TYPE == "Wave" then
  556. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  557. elseif TYPE == "Ring" then
  558. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  559. elseif TYPE == "Slash" then
  560. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  561. elseif TYPE == "Round Slash" then
  562. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  563. elseif TYPE == "Swirl" then
  564. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  565. elseif TYPE == "Skull" then
  566. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  567. elseif TYPE == "Crystal" then
  568. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  569. end
  570. if MSH ~= nil then
  571. local MOVESPEED = nil
  572. if MOVEDIRECTION ~= nil then
  573. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  574. end
  575. local GROWTH = SIZE - ENDSIZE
  576. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  577. if TYPE == "Block" then
  578. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  579. else
  580. EFFECT.CFrame = CFRAME
  581. end
  582. for LOOP = 1, TIME+1 do
  583. Swait()
  584. MSH.Scale = MSH.Scale - GROWTH/TIME
  585. if TYPE == "Wave" then
  586. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  587. end
  588. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  589. if TYPE == "Block" then
  590. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  591. else
  592. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  593. end
  594. if MOVEDIRECTION ~= nil then
  595. local ORI = EFFECT.Orientation
  596. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  597. EFFECT.Orientation = ORI
  598. end
  599. end
  600. EFFECT.Transparency = 1
  601. if PLAYSSOUND == false then
  602. EFFECT:remove()
  603. else
  604. repeat Swait() until SOUND.Playing == false
  605. EFFECT:remove()
  606. end
  607. else
  608. if PLAYSSOUND == false then
  609. EFFECT:remove()
  610. else
  611. repeat Swait() until SOUND.Playing == false
  612. EFFECT:remove()
  613. end
  614. end
  615. end))
  616. end
  617.  
  618. function MakeForm(PART,TYPE)
  619. if TYPE == "Cyl" then
  620. local MSH = IT("CylinderMesh",PART)
  621. elseif TYPE == "Ball" then
  622. local MSH = IT("SpecialMesh",PART)
  623. MSH.MeshType = "Sphere"
  624. elseif TYPE == "Wedge" then
  625. local MSH = IT("SpecialMesh",PART)
  626. MSH.MeshType = "Wedge"
  627. end
  628. end
  629.  
  630. Debris = game:GetService("Debris")
  631.  
  632. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  633. local DIRECTION = CF(StartPos,EndPos).lookVector
  634. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  635. end
  636.  
  637. function turnto(position)
  638. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  639. end
  640.  
  641. local Particle = IT("ParticleEmitter",nil)
  642. Particle.Enabled = false
  643. Particle.LightEmission = 0.2
  644. Particle.Rate = 150
  645. Particle.ZOffset = 1
  646. Particle.Rotation = NumberRange.new(-180, 180)
  647.  
  648. --ParticleEmitter({Speed = 5, RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false, Color1 = C3(1,1,1), Color2 = C3(1,1,1), Texture = ""})
  649. function ParticleEmitter(Table)
  650. local PRTCL = Particle:Clone()
  651. local Color1 = Table.Color1 or C3(1,1,1)
  652. local Color2 = Table.Color2 or C3(1,1,1)
  653. local Speed = Table.Speed or 5
  654. local Drag = Table.Drag or 0
  655. local Size1 = Table.Size1 or 1
  656. local Size2 = Table.Size2 or 5
  657. local Lifetime1 = Table.Lifetime1 or 1
  658. local Lifetime2 = Table.Lifetime2 or 1.5
  659. local Parent = Table.Parent or Torso
  660. local Emit = Table.Emit or 100
  661. local Offset = Table.Offset or 360
  662. local Acel = Table.Acel or VT(0,0,0)
  663. local Enabled = Table.Enabled or false
  664. local Texture = Table.Texture or "281983280"
  665. local RotS = Table.RotSpeed or NumberRange.new(-15, 15)
  666. local Trans1 = Table.Transparency1 or 0
  667. local Trans2 = Table.Transparency2 or 0
  668. PRTCL.Parent = Parent
  669. PRTCL.RotSpeed = RotS
  670. PRTCL.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,Trans1),NumberSequenceKeypoint.new(1,Trans2)})
  671. PRTCL.Texture = "http://www.roblox.com/asset/?id="..Texture
  672. PRTCL.Color = ColorSequence.new(Color1,Color2)
  673. PRTCL.Size = NumberSequence.new(Size1,Size2)
  674. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  675. PRTCL.Speed = NumberRange.new(Speed)
  676. PRTCL.VelocitySpread = Offset
  677. PRTCL.Drag = Drag
  678. PRTCL.Acceleration = Acel
  679. if Enabled == false then
  680. PRTCL:Emit(Emit)
  681. Debris:AddItem(PRTCL,Lifetime2)
  682. else
  683. PRTCL.Enabled = true
  684. end
  685. return PRTCL
  686. end
  687.  
  688. function AddChildrenToTable(FROM,PARENT,DIST,TABLE)
  689. for _, c in pairs(PARENT:GetDescendants()) do
  690. if c.ClassName == "Model" then
  691. if c ~= Character and c:FindFirstChildOfClass("Humanoid") and (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso")) then
  692. local HUMANOID = c:FindFirstChildOfClass("Humanoid")
  693. local TORSO = (c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso"))
  694. if (TORSO.Position - FROM).Magnitude < DIST then
  695. table.insert(TABLE,c)
  696. end
  697. end
  698. end
  699. end
  700. end
  701.  
  702. --//=================================\\
  703. --|| WEAPON CREATION
  704. --\\=================================//
  705.  
  706. local DECAL = IT("Decal",nil)
  707. DECAL.Transparency = 1
  708. DECAL.Texture = "http://www.roblox.com/asset/?id=99174105"
  709. Head:ClearAllChildren()
  710.  
  711. Humanoid.Parent = nil
  712. RootPart.Size = RootPart.Size*SIZE
  713. Torso.Size = Torso.Size*SIZE
  714. RightArm.Size = RightArm.Size*SIZE
  715. RightLeg.Size = RightLeg.Size*SIZE
  716. LeftArm.Size = LeftArm.Size*SIZE
  717. LeftLeg.Size = LeftLeg.Size*SIZE
  718. RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  719. RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  720. Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  721. Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
  722. RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  723. LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  724. RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  725. LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  726. RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  727. LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  728. Head.Size = VT(Head.Size.Y,Head.Size.Y,Head.Size.Y)*SIZE
  729. RootJoint.Parent = RootPart
  730. Neck.Parent = Torso
  731. RightShoulder.Parent = Torso
  732. LeftShoulder.Parent = Torso
  733. RightHip.Parent = Torso
  734. LeftHip.Parent = Torso
  735.  
  736. CreateMesh("SpecialMesh", Head, "FileMesh", "1532586252", "1532589976", VT(1.75, 1.75, 1.7)*SIZE, VT(0,0.4,0.1)*SIZE)
  737. --CreateMesh("SpecialMesh", Head, "FileMesh", "62719736", "1566254101", VT(0.85,0.85,0.85)*SIZE, VT(0,1,-0.4))
  738. Humanoid.DisplayDistanceType = "None"
  739. local naeeym = IT("BillboardGui",Character)
  740. naeeym.AlwaysOnTop = true
  741. naeeym.Size = UDim2.new(5,35,2,15)
  742. naeeym.StudsOffset = Vector3.new(0,5,0)
  743. naeeym.MaxDistance = 75
  744. naeeym.Adornee = Character.Head
  745. naeeym.Name = "Name"
  746. local tecks = IT("TextLabel",naeeym)
  747. tecks.BackgroundTransparency = 1
  748. tecks.TextScaled = true
  749. tecks.BorderSizePixel = 0
  750. tecks.Text = "///////////////////"
  751. tecks.Font = "Fantasy"
  752. tecks.TextSize = 30
  753. tecks.TextTransparency = 0.5
  754. tecks.TextStrokeTransparency = 0.5
  755. tecks.TextColor3 = C3(0,0,0)
  756. tecks.TextStrokeColor3 = C3(175/1275, 148/1275, 131/1275)
  757. tecks.Size = UDim2.new(1,0,0.5,0)
  758. tecks.Parent = naeeym
  759. local naeeym2 = IT("BillboardGui",Character)
  760. naeeym2.AlwaysOnTop = true
  761. naeeym2.Size = UDim2.new(7,35,3,15)
  762. naeeym2.StudsOffset = Vector3.new(0,5,0)
  763. naeeym2.MaxDistance = 75
  764. naeeym2.Adornee = Character.Head
  765. naeeym2.Name = "Name2"
  766. local tecks2 = IT("TextLabel",naeeym2)
  767. tecks2.BackgroundTransparency = 1
  768. tecks2.TextScaled = true
  769. tecks2.BorderSizePixel = 0
  770. tecks2.Text = "Satan"
  771. tecks2.Font = "Fantasy"
  772. tecks2.TextSize = 30
  773. tecks2.TextStrokeTransparency = 0
  774. tecks2.TextColor3 = C3(0,0,0)
  775. tecks2.TextStrokeColor3 = C3(175/575, 148/675, 131/675)
  776. tecks2.Size = UDim2.new(1,0,0.5,0)
  777. tecks2.Parent = naeeym2
  778.  
  779. local MSG = game.Chat:FilterStringForBroadcast(tecks2.Text,Player)
  780. tecks2.Text = MSG
  781.  
  782. local MSG = game.Chat:FilterStringForBroadcast(tecks.Text,Player)
  783. tecks.Text = MSG
  784.  
  785. local RINGFIRE = {}
  786. local top = Instance.new("Shirt")
  787. top.ShirtTemplate = "rbxassetid://791994658"
  788. top.Parent = Character
  789. top.Name = "Cloth"
  790. local bottom = Instance.new("Pants")
  791. bottom.PantsTemplate = "rbxassetid://1029442377"
  792. bottom.Parent = Character
  793. bottom.Name = "Cloth"
  794. local FIRE = IT("Model",Weapon)
  795. FIRE.Name = "RingOfFire"
  796. local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "Center", VT(0,0,0))
  797. FIRE.PrimaryPart = MAIN
  798. for i = 1, 45 do
  799. local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Lavender", "RingPart", VT(1,1,1))
  800. PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,8)
  801. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 0.2, Acel = VT(8,18,6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.8, Parent = PRT, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
  802. PRTCL.LockedToPart = true
  803. PRTCL.Rate = 35
  804. table.insert(RINGFIRE,PRTCL)
  805. end
  806. local A = IT("Attachment",RightArm)
  807. A.Position = VT(0,-1*SIZE,0.1*SIZE)
  808. local B = IT("Attachment",LeftArm)
  809. B.Position = VT(0,-1*SIZE,0.1*SIZE)
  810. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 1, Acel = VT(0,-1,0), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = A, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
  811. PRTCL.LockedToPart = true
  812. PRTCL.Rate = 85
  813. table.insert(RINGFIRE,PRTCL)
  814. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 1, Acel = VT(0,-1,0), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = B, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
  815. PRTCL.LockedToPart = true
  816. PRTCL.Rate = 85
  817. table.insert(RINGFIRE,PRTCL)
  818. for _, c in pairs(Character:GetChildren()) do
  819. if c.ClassName == "Part" and c ~= RootPart then
  820. local Face = DECAL:Clone()
  821. Face.Parent = c
  822. Face.Face = "Top"
  823. local Face = DECAL:Clone()
  824. Face.Parent = c
  825. Face.Face = "Left"
  826. local Face = DECAL:Clone()
  827. Face.Parent = c
  828. Face.Face = "Right"
  829. local Face = DECAL:Clone()
  830. Face.Parent = c
  831. Face.Face = "Front"
  832. local Face = DECAL:Clone()
  833. Face.Parent = c
  834. Face.Face = "Back"
  835. local Face = DECAL:Clone()
  836. Face.Parent = c
  837. Face.Face = "Bottom"
  838. end
  839. end
  840.  
  841. local LASTPART = Head
  842. for i = 1, 45 do
  843. local MATH = (1-(i/50))
  844. if LASTPART == Head then
  845. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  846. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.15, 1.5, -0.2) * ANGLES(RAD(-75), RAD(15), RAD(-15)), CF(0, 0, 0))
  847. LASTPART = Horn
  848. Horn.Color = C3(0,0,0)
  849. MakeForm(Horn,"Cyl")
  850. local Face = DECAL:Clone()
  851. Face.Parent = Horn
  852. Face.Face = "Top"
  853. local Face = DECAL:Clone()
  854. Face.Parent = Horn
  855. Face.Face = "Left"
  856. local Face = DECAL:Clone()
  857. Face.Parent = Horn
  858. Face.Face = "Right"
  859. local Face = DECAL:Clone()
  860. Face.Parent = Horn
  861. Face.Face = "Front"
  862. local Face = DECAL:Clone()
  863. Face.Parent = Horn
  864. Face.Face = "Back"
  865. local Face = DECAL:Clone()
  866. Face.Parent = Horn
  867. Face.Face = "Bottom"
  868. else
  869. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.15,0.25*MATH),false)
  870. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(3), RAD(1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
  871. LASTPART = Horn
  872. Horn.Color = C3(0,0,0)
  873. MakeForm(Horn,"Cyl")
  874. local Face = DECAL:Clone()
  875. Face.Parent = Horn
  876. Face.Face = "Top"
  877. local Face = DECAL:Clone()
  878. Face.Parent = Horn
  879. Face.Face = "Left"
  880. local Face = DECAL:Clone()
  881. Face.Parent = Horn
  882. Face.Face = "Right"
  883. local Face = DECAL:Clone()
  884. Face.Parent = Horn
  885. Face.Face = "Front"
  886. local Face = DECAL:Clone()
  887. Face.Parent = Horn
  888. Face.Face = "Back"
  889. local Face = DECAL:Clone()
  890. Face.Parent = Horn
  891. Face.Face = "Bottom"
  892. end
  893. end
  894. local LASTPART = Head
  895. for i = 1, 45 do
  896. local MATH = (1-(i/50))
  897. if LASTPART == Head then
  898. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  899. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.15, 1.5, -0.2) * ANGLES(RAD(-75), RAD(-15), RAD(15)), CF(0, 0, 0))
  900. LASTPART = Horn
  901. Horn.Color = C3(0,0,0)
  902. MakeForm(Horn,"Cyl")
  903. local Face = DECAL:Clone()
  904. Face.Parent = Horn
  905. Face.Face = "Top"
  906. local Face = DECAL:Clone()
  907. Face.Parent = Horn
  908. Face.Face = "Left"
  909. local Face = DECAL:Clone()
  910. Face.Parent = Horn
  911. Face.Face = "Right"
  912. local Face = DECAL:Clone()
  913. Face.Parent = Horn
  914. Face.Face = "Front"
  915. local Face = DECAL:Clone()
  916. Face.Parent = Horn
  917. Face.Face = "Back"
  918. local Face = DECAL:Clone()
  919. Face.Parent = Horn
  920. Face.Face = "Bottom"
  921. else
  922. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.15,0.25*MATH),false)
  923. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(3), RAD(-1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
  924. LASTPART = Horn
  925. Horn.Color = C3(0,0,0)
  926. MakeForm(Horn,"Cyl")
  927. local Face = DECAL:Clone()
  928. Face.Parent = Horn
  929. Face.Face = "Top"
  930. local Face = DECAL:Clone()
  931. Face.Parent = Horn
  932. Face.Face = "Left"
  933. local Face = DECAL:Clone()
  934. Face.Parent = Horn
  935. Face.Face = "Right"
  936. local Face = DECAL:Clone()
  937. Face.Parent = Horn
  938. Face.Face = "Front"
  939. local Face = DECAL:Clone()
  940. Face.Parent = Horn
  941. Face.Face = "Back"
  942. local Face = DECAL:Clone()
  943. Face.Parent = Horn
  944. Face.Face = "Bottom"
  945. end
  946. end
  947. local LASTPART = Head
  948. for i = 1, 45 do
  949. local MATH = (1-(i/50))
  950. if LASTPART == Head then
  951. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  952. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.25, 1.5, -0.2) * ANGLES(RAD(-45), RAD(15), RAD(-35)), CF(0, 0, 0))
  953. LASTPART = Horn
  954. Horn.Color = C3(0,0,0)
  955. MakeForm(Horn,"Cyl")
  956. local Face = DECAL:Clone()
  957. Face.Parent = Horn
  958. Face.Face = "Top"
  959. local Face = DECAL:Clone()
  960. Face.Parent = Horn
  961. Face.Face = "Left"
  962. local Face = DECAL:Clone()
  963. Face.Parent = Horn
  964. Face.Face = "Right"
  965. local Face = DECAL:Clone()
  966. Face.Parent = Horn
  967. Face.Face = "Front"
  968. local Face = DECAL:Clone()
  969. Face.Parent = Horn
  970. Face.Face = "Back"
  971. local Face = DECAL:Clone()
  972. Face.Parent = Horn
  973. Face.Face = "Bottom"
  974. else
  975. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.12,0.25*MATH),false)
  976. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(4), RAD(1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
  977. LASTPART = Horn
  978. Horn.Color = C3(0,0,0)
  979. MakeForm(Horn,"Cyl")
  980. local Face = DECAL:Clone()
  981. Face.Parent = Horn
  982. Face.Face = "Top"
  983. local Face = DECAL:Clone()
  984. Face.Parent = Horn
  985. Face.Face = "Left"
  986. local Face = DECAL:Clone()
  987. Face.Parent = Horn
  988. Face.Face = "Right"
  989. local Face = DECAL:Clone()
  990. Face.Parent = Horn
  991. Face.Face = "Front"
  992. local Face = DECAL:Clone()
  993. Face.Parent = Horn
  994. Face.Face = "Back"
  995. local Face = DECAL:Clone()
  996. Face.Parent = Horn
  997. Face.Face = "Bottom"
  998. end
  999. end
  1000. local LASTPART = Head
  1001. for i = 1, 45 do
  1002. local MATH = (1-(i/50))
  1003. if LASTPART == Head then
  1004. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1005. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.25, 1.5, -0.2) * ANGLES(RAD(-45), RAD(-15), RAD(35)), CF(0, 0, 0))
  1006. LASTPART = Horn
  1007. Horn.Color = C3(0,0,0)
  1008. MakeForm(Horn,"Cyl")
  1009. local Face = DECAL:Clone()
  1010. Face.Parent = Horn
  1011. Face.Face = "Top"
  1012. local Face = DECAL:Clone()
  1013. Face.Parent = Horn
  1014. Face.Face = "Left"
  1015. local Face = DECAL:Clone()
  1016. Face.Parent = Horn
  1017. Face.Face = "Right"
  1018. local Face = DECAL:Clone()
  1019. Face.Parent = Horn
  1020. Face.Face = "Front"
  1021. local Face = DECAL:Clone()
  1022. Face.Parent = Horn
  1023. Face.Face = "Back"
  1024. local Face = DECAL:Clone()
  1025. Face.Parent = Horn
  1026. Face.Face = "Bottom"
  1027. else
  1028. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.12,0.25*MATH),false)
  1029. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/2, 0) * ANGLES(RAD(4), RAD(-1), RAD(0)), CF(0, -Horn.Size.Y/2, 0))
  1030. LASTPART = Horn
  1031. Horn.Color = C3(0,0,0)
  1032. MakeForm(Horn,"Cyl")
  1033. local Face = DECAL:Clone()
  1034. Face.Parent = Horn
  1035. Face.Face = "Top"
  1036. local Face = DECAL:Clone()
  1037. Face.Parent = Horn
  1038. Face.Face = "Left"
  1039. local Face = DECAL:Clone()
  1040. Face.Parent = Horn
  1041. Face.Face = "Right"
  1042. local Face = DECAL:Clone()
  1043. Face.Parent = Horn
  1044. Face.Face = "Front"
  1045. local Face = DECAL:Clone()
  1046. Face.Parent = Horn
  1047. Face.Face = "Back"
  1048. local Face = DECAL:Clone()
  1049. Face.Parent = Horn
  1050. Face.Face = "Bottom"
  1051. end
  1052. end
  1053.  
  1054. local EYE1 = IT("Attachment",Head)
  1055. EYE1.Position = (VT(0.5, 0.900, -1.195)/2)*SIZE
  1056. local EYE2 = IT("Attachment",Head)
  1057. EYE2.Position = (VT(-0.5, 0.900, -1.195)/2)*SIZE
  1058. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE1, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(1,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
  1059. PRTCL.LockedToPart = true
  1060. PRTCL.Rate = 185
  1061. PRTCL.ZOffset = 0.1
  1062. table.insert(RINGFIRE,PRTCL)
  1063. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(-2,0.5,0.6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 0.15, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1.4, Parent = EYE2, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(1,0,0), Color2 = C3(0.3,0,0), Texture = "1523916715"})
  1064. PRTCL.LockedToPart = true
  1065. PRTCL.Rate = 185
  1066. PRTCL.ZOffset = 0.1
  1067. local BODY = {}
  1068. table.insert(RINGFIRE,PRTCL)
  1069. for _, c in pairs(Character:GetDescendants()) do
  1070. if c:IsA("BasePart") and c.Name ~= "Handle" then
  1071. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  1072. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1073. end
  1074. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
  1075. elseif c:IsA("JointInstance") then
  1076. table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
  1077. end
  1078. end
  1079. function refit()
  1080. Character.Parent = workspace
  1081. for e = 1, #BODY do
  1082. if BODY[e] ~= nil then
  1083. local STUFF = BODY[e]
  1084. local PART = STUFF[1]
  1085. local PARENT = STUFF[2]
  1086. local MATERIAL = STUFF[3]
  1087. local COLOR = STUFF[4]
  1088. local TRANSPARENCY = STUFF[5]
  1089. --local SIZE = STUFF[6]
  1090. local NAME = STUFF[7]
  1091. if PART.ClassName == "Part" and PART ~= RootPart then
  1092. PART.Material = MATERIAL
  1093. PART.Transparency = TRANSPARENCY
  1094. PART.Name = NAME
  1095. end
  1096. if PART.Parent ~= PARENT then
  1097. Humanoid:remove()
  1098. PART.Parent = PARENT
  1099. Humanoid = IT("Humanoid",Character)
  1100. end
  1101. end
  1102. end
  1103. end
  1104.  
  1105. for _, c in pairs(Weapon:GetChildren()) do
  1106. if c.ClassName == "Part" then
  1107. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1108. end
  1109. end
  1110.  
  1111. local SKILLTEXTCOLOR = C3(0,0,0)
  1112. local SKILLFONT = "Fantasy"
  1113. local SKILLTEXTSIZE = 6
  1114.  
  1115. Weapon.Parent = Character
  1116. Humanoid.Parent = Character
  1117.  
  1118. Humanoid.Died:connect(function()
  1119. refit()
  1120. end)
  1121.  
  1122. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1123. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1124. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.82, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1125. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.78, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1126. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.8, 0, 0.74, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1127.  
  1128. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 1")
  1129. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 2")
  1130. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 3")
  1131. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 4")
  1132. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Text 5")
  1133.  
  1134. --//=================================\\
  1135. --|| DAMAGING
  1136. --\\=================================//
  1137.  
  1138. function ApplyDamage(Humanoid,Damage,TorsoPart)
  1139. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1140. defence.Name = ("HitBy"..Player.Name)
  1141. game:GetService("Debris"):AddItem(defence, 0.001)
  1142. Damage = Damage * DAMAGEMULTIPLIER
  1143. if Humanoid.Health ~= 0 then
  1144. local CritChance = MRANDOM(1,100)
  1145. if Damage > Humanoid.Health then
  1146. Damage = math.ceil(Humanoid.Health)
  1147. if Damage == 0 then
  1148. Damage = 0.1
  1149. end
  1150. end
  1151. Humanoid.Health = Humanoid.Health - Damage
  1152. end
  1153. end
  1154.  
  1155. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  1156. local CHILDREN = workspace:GetDescendants()
  1157. for index, CHILD in pairs(CHILDREN) 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 then
  1163. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1164. if CHILD.Parent == Effects and CHILD:FindFirstChild("RealBody") then
  1165. local BODY = CHILD.RealBody.Value
  1166. if BODY then
  1167. local HUM = BODY:FindFirstChildOfClass("Humanoid")
  1168. if HUM then
  1169. if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
  1170. BODY:BreakJoints()
  1171. else
  1172. local TORSO = BODY:FindFirstChild("Torso") or BODY:FindFirstChild("UpperTorso")
  1173. if TORSO then
  1174. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  1175. local DMG = MRANDOM(MINDMG,MAXDMG)/2
  1176. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(1,85,1), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = C3(0.3,0,0), SoundID = HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], SoundPitch = MRANDOM(7,15)/10, SoundVolume = 10})
  1177. ApplyDamage(HUM,DMG,TORSO)
  1178. end
  1179. end
  1180. end
  1181. end
  1182. else
  1183. if INSTAKILL == true or (HUM.MaxHealth == math.huge and MAXDMG > 0) then
  1184. CHILD:BreakJoints()
  1185. else
  1186. local DMG = MRANDOM(MINDMG,MAXDMG)
  1187. ApplyDamage(HUM,DMG,TORSO)
  1188. end
  1189. if FLING > 0 then
  1190. for _, c in pairs(CHILD:GetChildren()) do
  1191. if c:IsA("BasePart") then
  1192. local bv = Instance.new("BodyVelocity")
  1193. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1194. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1195. bv.Parent = c
  1196. Debris:AddItem(bv,0.05)
  1197. end
  1198. end
  1199. end
  1200. end
  1201. end
  1202. end
  1203. end
  1204. end
  1205. end
  1206. end
  1207.  
  1208. --//=================================\\
  1209. --|| ATTACK FUNCTIONS AND STUFF
  1210. --\\=================================//
  1211.  
  1212. function MissilesOfDespair()
  1213. ATTACK = true
  1214. Rooted = true
  1215. local MAKERING = true
  1216. local RINGGROW = false
  1217. CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
  1218. coroutine.resume(coroutine.create(function()
  1219. repeat
  1220. Swait()
  1221. if ATTACK == false then
  1222. break
  1223. end
  1224. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1225. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1226. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1227. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1228. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1229. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1230. until MAKERING == false
  1231. repeat
  1232. Swait()
  1233. if ATTACK == false then
  1234. break
  1235. end
  1236. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1237. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1238. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1239. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1240. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1241. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1242. until RINGGROW == true
  1243. end))
  1244. local FIRERING = IT("Model",Effects)
  1245. FIRERING.Name = "RingOfFire"
  1246. local MAIN = CreatePart(3, FIRERING, "Neon", 0, 1, "Lavender", "Center", VT(0,0,0))
  1247. FIRERING.PrimaryPart = MAIN
  1248. local RINGS = {}
  1249. local EMITTERS = {}
  1250. for i = 1, 45 do
  1251. local PRT = CreatePart(3, FIRERING, "Neon", 0, 1, "Lavender", "RingPart", VT(1,1,1))
  1252. PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,0)
  1253. table.insert(RINGS,PRT)
  1254. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0,Speed = 0.2, Acel = VT(8,18,6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.8, Parent = PRT, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
  1255. PRTCL.LockedToPart = true
  1256. PRTCL.Rate = 35
  1257. table.insert(EMITTERS,PRTCL)
  1258. end
  1259. FIRERING:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,3,-3)*ANGLES(RAD(-75),RAD(0),RAD(0)))
  1260. wait(0.5)
  1261. MAKERING = false
  1262. CreateSound(278641993, MAIN, 5, 1.2, false)
  1263. for e = 1, 45 do
  1264. Swait()
  1265. FIRERING:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,3,-3)*ANGLES(RAD(-75),RAD(0),RAD(0)))
  1266. for i = 1, #RINGS do
  1267. RINGS[i].CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,e/10)
  1268. end
  1269. end
  1270. RINGGROW = true
  1271. wait(0.2)
  1272. for i = 1, 15 do
  1273. wait(0.08)
  1274. coroutine.resume(coroutine.create(function()
  1275. local POS = Mouse.Hit.p
  1276. local MISSILE = CreatePart(3, Effects, "Neon", 0, 1, "Maroon", "Missile", VT(0.5,1,0.5))
  1277. MISSILE.Color = C3(0.2,0,0)
  1278. CreateSound(84005018, MISSILE, 0.2, 1.2, false)
  1279. MakeForm(MISSILE,"Ball")
  1280. MISSILE.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(1,5))
  1281. for i = 1, 10 do
  1282. Swait()
  1283. MISSILE.Transparency = MISSILE.Transparency - 1/15
  1284. MISSILE.CFrame = MISSILE.CFrame * CF(0,0.7,0)
  1285. end
  1286. for i = 1, 5 do
  1287. Swait()
  1288. MISSILE.Transparency = MISSILE.Transparency - 1/15
  1289. MISSILE.CFrame = MISSILE.CFrame * CF(0,0.5,0)
  1290. end
  1291. MISSILE.Size = VT(0.2,0.2,1.5)
  1292. MISSILE.CFrame = CF(MISSILE.Position,POS)
  1293. for i = 1, 150 do
  1294. Swait()
  1295. MISSILE.CFrame = MISSILE.CFrame*CF(0,0,-3)
  1296. local HIT = Raycast(MISSILE.Position, MISSILE.CFrame.lookVector, 4, Character)
  1297. if HIT ~= nil then
  1298. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = nil, SoundPitch = 1.3, SoundVolume = 3})
  1299. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = nil, SoundPitch = 1.3, SoundVolume = 3})
  1300. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = MISSILE.Size, Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = MISSILE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = MISSILE.Color, SoundID = 165970126, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
  1301. for i = 1, 5 do
  1302. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(35,2,35), Transparency = 0.8, Transparency2 = 1, CFrame = MISSILE.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  1303. end
  1304. ApplyAoE(MISSILE.Position,15,15,25,35,false)
  1305. break
  1306. end
  1307. end
  1308. MISSILE:remove()
  1309. end))
  1310. end
  1311. for i = 1, #EMITTERS do
  1312. EMITTERS[i].Enabled = false
  1313. end
  1314. Debris:AddItem(FIRERING,3)
  1315. ATTACK = false
  1316. Rooted = false
  1317. end
  1318.  
  1319. function ShadowRoam()
  1320. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  1321. if HITFLOOR then
  1322. ATTACK = true
  1323. CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
  1324. local BUSY = false
  1325. Rooted = true
  1326. local CLOAKING = false
  1327. local UNCLOAKED = true
  1328. local LOOP = nil
  1329. local FAKESHADOW = IT("Model",Effects)
  1330. FAKESHADOW.Name = "Shadow"
  1331. local POS = RootPart.Position
  1332. local MOUSEHIT = nil
  1333. --
  1334. local TORS = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", Torso.Size)
  1335. TORS.Color = C3(0,0,0)
  1336. TORS.CFrame = RootPart.CFrame*CF(0,-6.85,-0.8) * ANGLES(RAD(90), RAD(180), RAD(0))
  1337. local HED = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", VT(Head.Size.Y,Head.Size.Y,Head.Size.Y))
  1338. HED.Color = C3(0,0,0)
  1339. HED.CFrame = TORS.CFrame*CF(0,-TORS.Size.Y/2-HED.Size.Y/2,0)
  1340. local RARM = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightArm.Size)
  1341. RARM.Color = C3(0,0,0)
  1342. RARM.CFrame = TORS.CFrame*CF(TORS.Size.X/2+RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
  1343. local LARM = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightArm.Size)
  1344. LARM.Color = C3(0,0,0)
  1345. LARM.CFrame = TORS.CFrame*CF(-TORS.Size.X/2-RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(15))
  1346. local RLEG = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightLeg.Size)
  1347. RLEG.Color = C3(0,0,0)
  1348. RLEG.CFrame = TORS.CFrame*CF(TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
  1349. local LLEG = CreatePart(3, FAKESHADOW, "Neon", 0, 1, "Maroon", "Spike", RightLeg.Size)
  1350. LLEG.Color = C3(0,0,0)
  1351. LLEG.CFrame = TORS.CFrame*CF(-TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(15))
  1352. --
  1353. coroutine.resume(coroutine.create(function()
  1354. coroutine.resume(coroutine.create(function()
  1355. while wait() do
  1356. if RootPart.Position.Y > POS.Y then
  1357. BUSY = true
  1358. if MOUSEHIT then
  1359. MOUSEHIT:disconnect()
  1360. end
  1361. for _, c in pairs(Character:GetChildren()) do
  1362. if c.ClassName == "Part" and c ~= RootPart then
  1363. c.Transparency = 0
  1364. for _, q in pairs(c:GetChildren()) do
  1365. if q.ClassName == "Decal" then
  1366. q.Transparency = 0
  1367. end
  1368. end
  1369. end
  1370. end
  1371. for i=0, 1.5, 0.1 / Animation_Speed do
  1372. Swait()
  1373. RootPart.Anchored = true
  1374. UNCLOAKED = false
  1375. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1376. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1377. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1378. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1379. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1380. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1381. end
  1382. coroutine.resume(coroutine.create(function()
  1383. for i = 1, 15 do
  1384. Swait()
  1385. if FAKESHADOW then
  1386. for _, q in pairs(FAKESHADOW:GetChildren()) do
  1387. if q.ClassName == "Part" then
  1388. q.Transparency = q.Transparency + 1/15
  1389. end
  1390. end
  1391. end
  1392. end
  1393. if FAKESHADOW then
  1394. FAKESHADOW:remove()
  1395. end
  1396. FAKESHADOW = nil
  1397. end))
  1398. for i=0, 0.5, 0.1 / Animation_Speed do
  1399. Swait()
  1400. RootPart.Anchored = true
  1401. UNCLOAKED = true
  1402. if LOOP then
  1403. LOOP.Pitch = LOOP.Pitch - 0.2
  1404. end
  1405. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1406. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1407. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1408. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1409. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1410. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1411. end
  1412. LOOP:remove()
  1413. LOOP = nil
  1414. for i = 1, 35 do
  1415. Swait()
  1416. for _, c in pairs(Character:GetChildren()) do
  1417. if c.ClassName == "Part" then
  1418. for _, q in pairs(c:GetChildren()) do
  1419. if q.ClassName == "Decal" then
  1420. q.Transparency = q.Transparency + 1/35
  1421. end
  1422. end
  1423. end
  1424. end
  1425. end
  1426. UNANCHOR = true
  1427. ATTACK = false
  1428. Rooted = false
  1429. end
  1430. if FAKESHADOW then
  1431. TORS.CFrame = RootPart.CFrame*CF(0,-6.85,-0.8) * ANGLES(RAD(90), RAD(180), RAD(0))
  1432. HED.CFrame = TORS.CFrame*CF(0,-TORS.Size.Y/2-HED.Size.Y/2,0)
  1433. RARM.CFrame = TORS.CFrame*CF(TORS.Size.X/2+RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
  1434. LARM.CFrame = TORS.CFrame*CF(-TORS.Size.X/2-RARM.Size.X/1.9,-0.3,0) * ANGLES(RAD(0), RAD(0), RAD(15))
  1435. RLEG.CFrame = TORS.CFrame*CF(TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(-15))
  1436. LLEG.CFrame = TORS.CFrame*CF(-TORS.Size.X/2.8,TORS.Size.Y,0) * ANGLES(RAD(0), RAD(0), RAD(15))
  1437. end
  1438. if LOOP ~= nil then
  1439. LOOP.Parent = TORS
  1440. end
  1441. naeeym.Enabled = UNCLOAKED
  1442. naeeym2.Enabled = UNCLOAKED
  1443. for c = 1, #RINGFIRE do
  1444. RINGFIRE[c].Enabled = UNCLOAKED
  1445. end
  1446. if ATTACK == false then
  1447. break
  1448. end
  1449. end
  1450. end))
  1451. repeat
  1452. Swait()
  1453. if ATTACK == false then
  1454. break
  1455. end
  1456. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1457. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1458. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1459. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1460. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1461. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1462. until CLOAKING == true
  1463. end))
  1464. wait(0.3)
  1465. for i = 1, 35 do
  1466. Swait()
  1467. for _, c in pairs(Character:GetChildren()) do
  1468. if c.ClassName == "Part" then
  1469. for _, q in pairs(c:GetChildren()) do
  1470. if q.ClassName == "Decal" then
  1471. q.Transparency = q.Transparency - 1/35
  1472. end
  1473. end
  1474. end
  1475. end
  1476. end
  1477. UNANCHOR = false
  1478. RootPart.Anchored = true
  1479. CLOAKING = true
  1480. coroutine.resume(coroutine.create(function()
  1481. for i = 1, 15 do
  1482. Swait()
  1483. for _, q in pairs(FAKESHADOW:GetChildren()) do
  1484. if q.ClassName == "Part" then
  1485. q.Transparency = q.Transparency - 1/15
  1486. end
  1487. end
  1488. end
  1489. end))
  1490. for i=0, 0.2, 0.1 / Animation_Speed do
  1491. Swait()
  1492. RootPart.Anchored = true
  1493. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -2*SIZE) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1494. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1495. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1496. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1497. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1498. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1499. end
  1500. LOOP = CreateSound(487214658, TORS, 0, 1, true)
  1501. for i=0, 0.6, 0.1 / Animation_Speed do
  1502. Swait()
  1503. RootPart.Anchored = true
  1504. UNCLOAKED = false
  1505. if LOOP then
  1506. LOOP.Volume = LOOP.Volume + 0.1
  1507. end
  1508. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -7*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1509. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1510. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1511. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1512. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1513. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1514. end
  1515. for _, c in pairs(Character:GetChildren()) do
  1516. if c.ClassName == "Part" then
  1517. c.Transparency = 1
  1518. for _, q in pairs(c:GetChildren()) do
  1519. if q.ClassName == "Decal" then
  1520. q.Transparency = 1
  1521. end
  1522. end
  1523. end
  1524. end
  1525. MOUSEHIT = Mouse.Button1Down:connect(function(NEWKEY)
  1526. local HITFLOOR,HITPOS = Raycast(RootPart.Position-VT(0,2.1*SIZE,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  1527. if HITFLOOR then
  1528. local POS = HITPOS
  1529. local WORKING = true
  1530. coroutine.resume(coroutine.create(function()
  1531. repeat
  1532. Swait()
  1533. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(10,0.2,10), Size2 = VT(0,0.5,0), Transparency = 1, Transparency2 = 0, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
  1534. until WORKING == false
  1535. end))
  1536. wait(0.3)
  1537. local SPIKE = CreatePart(3, Effects, "Fabric", 0, 0, "Maroon", "Spike", VT(2,32,2))
  1538. SPIKE.Color = C3(0,0,0)
  1539. local MSH = IT("SpecialMesh",SPIKE)
  1540. MSH.MeshType = "FileMesh"
  1541. MSH.MeshId = "http://www.roblox.com/asset/?id=785967755"
  1542. MSH.Scale = SPIKE.Size/50
  1543. SPIKE.CFrame = CF(POS+VT(0,15,0))
  1544. ApplyAoE(SPIKE.Position,15,35,55,35,false)
  1545. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,5,0), Size2 = VT(5,1,5), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 178452241, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
  1546. wait(0.2)
  1547. for i = 1, 16 do
  1548. Swait()
  1549. SPIKE.CFrame = SPIKE.CFrame*CF(0,-2,0)
  1550. end
  1551. SPIKE:remove()
  1552. WORKING = false
  1553. end
  1554. end)
  1555. Mouse.KeyDown:connect(function(NEWKEY)
  1556. if NEWKEY == "b" and BUSY == false then
  1557. BUSY = true
  1558. if MOUSEHIT then
  1559. MOUSEHIT:disconnect()
  1560. end
  1561. for _, c in pairs(Character:GetChildren()) do
  1562. if c.ClassName == "Part" and c ~= RootPart then
  1563. c.Transparency = 0
  1564. for _, q in pairs(c:GetChildren()) do
  1565. if q.ClassName == "Decal" then
  1566. q.Transparency = 0
  1567. end
  1568. end
  1569. end
  1570. end
  1571. for i=0, 1.5, 0.1 / Animation_Speed do
  1572. Swait()
  1573. RootPart.Anchored = true
  1574. UNCLOAKED = false
  1575. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1576. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1577. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1578. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1579. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1580. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1581. end
  1582. coroutine.resume(coroutine.create(function()
  1583. for i = 1, 15 do
  1584. Swait()
  1585. for _, q in pairs(FAKESHADOW:GetChildren()) do
  1586. if q.ClassName == "Part" then
  1587. q.Transparency = q.Transparency + 1/15
  1588. end
  1589. end
  1590. end
  1591. FAKESHADOW:remove()
  1592. FAKESHADOW = nil
  1593. end))
  1594. for i=0, 0.5, 0.1 / Animation_Speed do
  1595. Swait()
  1596. RootPart.Anchored = true
  1597. UNCLOAKED = true
  1598. LOOP.Pitch = LOOP.Pitch - 0.2
  1599. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1600. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1601. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1602. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(-15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1603. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1604. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1605. end
  1606. LOOP:remove()
  1607. LOOP = nil
  1608. for i = 1, 35 do
  1609. Swait()
  1610. for _, c in pairs(Character:GetChildren()) do
  1611. if c.ClassName == "Part" then
  1612. for _, q in pairs(c:GetChildren()) do
  1613. if q.ClassName == "Decal" then
  1614. q.Transparency = q.Transparency + 1/35
  1615. end
  1616. end
  1617. end
  1618. end
  1619. end
  1620. UNANCHOR = true
  1621. ATTACK = false
  1622. Rooted = false
  1623. elseif NEWKEY == "w" and BUSY == false then
  1624. repeat
  1625. Swait()
  1626. local HITFLOOR = Raycast(CF(RootPart.CFrame*CF(0,-2.1*SIZE,0).p,VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z))*CF(0,0,-3).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5*SIZE, Character)
  1627. local FLOOR,HITPOS = Raycast(RootPart.Position-VT(0,-2.1*SIZE,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 5*SIZE, Character)
  1628. if HITFLOOR then
  1629. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(4,0.2,4), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
  1630. RootPart.CFrame = CF(RootPart.Position,VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z))*CF(0,0,-1)
  1631. end
  1632. until KEYHOLD == false or BUSY == true
  1633. end
  1634. end)
  1635. end
  1636. end
  1637.  
  1638. function PillarOfDespair()
  1639. ATTACK = true
  1640. Rooted = true
  1641. CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/2.5, MRANDOM(9,11)/10, false)
  1642. FORCEIDLE = true
  1643. for i = 1, 5 do
  1644. Swait()
  1645. for _, c in pairs(Character:GetChildren()) do
  1646. if c.ClassName == "Part" then
  1647. for _, q in pairs(c:GetChildren()) do
  1648. if q.ClassName == "Decal" then
  1649. q.Transparency = q.Transparency - 1/5
  1650. end
  1651. end
  1652. end
  1653. end
  1654. end
  1655. local ORIGINPOS = RootPart.Position
  1656. CreateSound(1447872444, Torso, 10, 1.2, false)
  1657. for c = 1, #RINGFIRE do
  1658. RINGFIRE[c].Enabled = false
  1659. end
  1660. for i = 1, 25 do
  1661. Swait()
  1662. coroutine.resume(coroutine.create(function()
  1663. local POS = RootPart.Position
  1664. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,50,0), Size2 = VT(15+i,45,15+i), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,2.2*SIZE,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1665. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,25,0), Size2 = VT(25+i,0,25+i), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,2.2*SIZE,0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1666. wait(0.3)
  1667. ApplyAoE(POS,25+i,15,25,25,false)
  1668. end))
  1669. RootPart.CFrame = RootPart.CFrame*CF(0,0,5)
  1670. end
  1671. for c = 1, #RINGFIRE do
  1672. RINGFIRE[c].Enabled = true
  1673. end
  1674. FORCEIDLE = false
  1675. local BUILDUP = true
  1676. coroutine.resume(coroutine.create(function()
  1677. for i = 1, 35 do
  1678. Swait()
  1679. for _, c in pairs(Character:GetChildren()) do
  1680. if c.ClassName == "Part" then
  1681. for _, q in pairs(c:GetChildren()) do
  1682. if q.ClassName == "Decal" then
  1683. q.Transparency = q.Transparency + 1/35
  1684. end
  1685. end
  1686. end
  1687. end
  1688. end
  1689. end))
  1690. coroutine.resume(coroutine.create(function()
  1691. repeat
  1692. Swait()
  1693. if ATTACK == false then
  1694. break
  1695. end
  1696. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1697. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1698. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1699. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1700. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1701. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1702. until BUILDUP == false
  1703. repeat
  1704. Swait()
  1705. if ATTACK == false then
  1706. break
  1707. end
  1708. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1709. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1710. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1711. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1712. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1713. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1714. until ATTACK == false
  1715. end))
  1716. wait(0.5)
  1717. BUILDUP = false
  1718. coroutine.resume(coroutine.create(function()
  1719. WACKYEFFECT({Time = 50, EffectType = "Sphere", Size = VT(15,15,15), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0, CFrame = CF(ORIGINPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = CHARGE, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/1.2})
  1720. for i = 1, 5 do
  1721. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(25,2,25), Size2 = VT(0,0,0), Transparency = 1, Transparency2 = 0.7, CFrame = CF(ORIGINPOS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  1722. end
  1723. wait(1.3)
  1724. for i = 1, 6 do
  1725. WACKYEFFECT({Time = 60, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(85+(i*3),85+(i*3),85+(i*3)), Transparency = 0, Transparency2 = 1, CFrame = CF(ORIGINPOS-VT(0,2,0)) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))*CF(0,25,0), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15), RotationZ = 0, Material = "Neon", Color = C3(i/120,0,0), SoundID = ROUGHBLAST, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 10})
  1726. end
  1727. for i = 1, 25 do
  1728. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(325,1,325), Transparency = 0.8, Transparency2 = 1, CFrame = CF(ORIGINPOS-VT(0,2,0)) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  1729. end
  1730. ApplyAoE(ORIGINPOS,85,35,85,125,false)
  1731. end))
  1732. wait(0.4)
  1733. ATTACK = false
  1734. Rooted = false
  1735. end
  1736.  
  1737. function InfernoWall()
  1738. CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
  1739. ATTACK = true
  1740. Rooted = true
  1741. local BUILDUP = true
  1742. local WALL = IT("Model",Effects)
  1743. WALL.Name = "Wall of Fire"
  1744. local BASE = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(0,0,0))
  1745. BASE.CFrame = RootPart.CFrame*CF(0,-2.8*SIZE,8)
  1746. local FIRES = {}
  1747. local BODIES = {}
  1748. local REPEATREMOVE = true
  1749. WALL.PrimaryPart = BASE
  1750. coroutine.resume(coroutine.create(function()
  1751. repeat
  1752. Swait()
  1753. if ATTACK == false then
  1754. break
  1755. end
  1756. turnto(Mouse.Hit.p)
  1757. WALL:SetPrimaryPartCFrame(RootPart.CFrame*CF(0,-2.8*SIZE,8))
  1758. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1759. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1760. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1761. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1762. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1763. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1764. until BUILDUP == false
  1765. repeat
  1766. Swait()
  1767. if ATTACK == false then
  1768. break
  1769. end
  1770. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1771. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1772. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(43 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1773. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1774. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1775. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1776. until ATTACK == false
  1777. end))
  1778. CreateSound(278641993, BASE, 10, 0.8, false)
  1779. coroutine.resume(coroutine.create(function()
  1780. for i = 1, 45 do
  1781. Swait()
  1782. local PART = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(2,0,2))
  1783. PART.CFrame = BASE.CFrame * ANGLES(RAD(0), RAD(90+i), RAD(0))*CF(32,0,0)
  1784. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(0,28+(i/5),6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 2+(i/25), Parent = PART, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
  1785. PRTCL.LockedToPart = true
  1786. PRTCL.Rate = 35
  1787. table.insert(FIRES,PRTCL)
  1788. end
  1789. end))
  1790. coroutine.resume(coroutine.create(function()
  1791. for i = 1, 45 do
  1792. Swait()
  1793. local PART = CreatePart(3, WALL, "Fabric", 0, 1, "Maroon", "FirePart", VT(2,0,2))
  1794. PART.CFrame = BASE.CFrame * ANGLES(RAD(0), RAD(-90-i), RAD(0))*CF(-32,0,0)
  1795. local PRTCL = ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 0.2, Acel = VT(0,28+(i/5),6), RotSpeed = NumberRange.new(-15, 15), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 2+(i/25), Parent = PART, Emit = 100, Offset = 360, Enabled = true, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
  1796. PRTCL.LockedToPart = true
  1797. PRTCL.Rate = 35
  1798. table.insert(FIRES,PRTCL)
  1799. end
  1800. end))
  1801. repeat wait() until #WALL:GetChildren() == 91
  1802. wait(0.3)
  1803. BUILDUP = false
  1804. coroutine.resume(coroutine.create(function()
  1805. coroutine.resume(coroutine.create(function()
  1806. repeat
  1807. wait(1)
  1808. for e = 1, #BODIES do
  1809. if BODIES[e] ~= nil and REPEATREMOVE == true then
  1810. local BOD = BODIES[e]
  1811. local TORSO = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
  1812. if TORSO then
  1813. local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*(TORSO.Size.Y/2), workspace)
  1814. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-35,35), RotationZ = 0, Material = "Neon", Color = C3(0.2,0,0), SoundID = nil, SoundPitch = MRANDOM(7,15)/10, SoundVolume = MRANDOM(15,30)/10})
  1815. end
  1816. for i = 1, 10 do
  1817. for i = 1, #BODIES do
  1818. if (BODIES[i] == BOD and i ~= e) then
  1819. table.remove(BODIES,i)
  1820. end
  1821. end
  1822. end
  1823. end
  1824. end
  1825. until REPEATREMOVE == false
  1826. end))
  1827. CreateSound(WALLSOUND, BASE, 10, 0.8, false)
  1828. for i = 1, 70 do
  1829. Swait()
  1830. AddChildrenToTable(BASE.Position,workspace,32,BODIES)
  1831. WALL:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0,-4))
  1832. end
  1833. for i = 1, #FIRES do
  1834. FIRES[i].Enabled = false
  1835. end
  1836. Debris:AddItem(WALL,5)
  1837. wait(1)
  1838. REPEATREMOVE = false
  1839. for e = 1, #BODIES do
  1840. if BODIES[e] ~= nil then
  1841. Swait()
  1842. local BOD = BODIES[e]
  1843. local TORSO = BOD:FindFirstChild("Torso") or BOD:FindFirstChild("UpperTorso")
  1844. if TORSO then
  1845. local HUM = BOD:FindFirstChildOfClass("Humanoid")
  1846. if HUM then
  1847. if HUM.Health > 0 then
  1848. local HITFLOOR,HITPOS = Raycast(TORSO.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*(TORSO.Size.Y/2), BOD)
  1849. if HITFLOOR then
  1850. ApplyDamage(HUM,MRANDOM(65,85),TORSO)
  1851. CreateSound(ROUGHBLAST, TORSO, 10, 1.2, false)
  1852. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 0.7, Parent = TORSO, Emit = 300, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0.5,0,0), Texture = "1523916715"})
  1853. end
  1854. end
  1855. end
  1856. end
  1857. end
  1858. end
  1859. end))
  1860. wait(1)
  1861. ATTACK = false
  1862. Rooted = false
  1863. end
  1864.  
  1865. function FormerShadow()
  1866. CreateSound(VOCALS_BASIC[MRANDOM(1,#VOCALS_BASIC)], Head, MRANDOM(9,11)/1.5, MRANDOM(9,11)/10, false)
  1867. XATTACK = true
  1868. ATTACK = true
  1869. Rooted = true
  1870. local BODIES = {}
  1871. local SHADOWS = {}
  1872. local BUILDUP = true
  1873. local DONE = false
  1874. coroutine.resume(coroutine.create(function()
  1875. repeat
  1876. Swait()
  1877. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  1878. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1879. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1880. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1881. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1882. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1883. until DONE == true
  1884. end))
  1885. local MOUSEHIT = Mouse.Button1Down:connect(function(NEWKEY)
  1886. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  1887. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  1888. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  1889. if TORSO and HUM then
  1890. local PASS = true
  1891. for e = 1, #BODIES do
  1892. if BODIES[e] ~= nil then
  1893. if BODIES[e] == Mouse.Target.Parent then
  1894. PASS = false
  1895. end
  1896. end
  1897. end
  1898. if PASS == true then
  1899. table.insert(BODIES,Mouse.Target.Parent)
  1900. end
  1901. end
  1902. end
  1903. end)
  1904. local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
  1905. if NEWKEY == "x" then
  1906. DONE = true
  1907. end
  1908. end)
  1909. repeat wait() until DONE == true or #BODIES == 3
  1910. DONE = true
  1911. MOUSEHIT:disconnect()
  1912. KEYDOWN:disconnect()
  1913. if #BODIES > 0 then
  1914. coroutine.resume(coroutine.create(function()
  1915. repeat
  1916. Swait()
  1917. if ATTACK == false then
  1918. break
  1919. end
  1920. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = RightArm, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1921. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = LeftArm, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1922. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = RightLeg, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1923. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = LeftLeg, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1924. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = Torso, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1925. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 1, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = Head, Emit = 25, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1926. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  1927. WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(35,12,35), Transparency = 0.2, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(MRANDOM(0,360)), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15), RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  1928. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1929. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1930. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-15 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1931. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(15 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1932. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1933. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  1934. until BUILDUP == false
  1935. end))
  1936. CreateSound(WALLSOUND, Torso, 10, 0.8, false)
  1937. CreateSound(ROUGHBLAST, Torso, 10, 0.8, false)
  1938. for i = 1, #BODIES do
  1939. if BODIES[i] ~= nil then
  1940. local TORSO = BODIES[i]:FindFirstChild("HumanoidRootPart") or BODIES[i]:FindFirstChild("Torso") or BODIES[i]:FindFirstChild("UpperTorso")
  1941. if TORSO then
  1942. CreateSound(WALLSOUND, TORSO, 10, 1, false)
  1943. ParticleEmitter({Transparency1 = 1, Transparency2 = 0, Speed = 5, Acel = VT(0,12,0), RotSpeed = NumberRange.new(-150, 150), Drag = 0, Size1 = 3, Size2 = 0, Lifetime1 = 0.4, Lifetime2 = 1, Parent = TORSO, Emit = 300, Offset = 360, Enabled = false, Color1 = C3(0,0,0), Color2 = C3(0,0,0), Texture = "1523916715"})
  1944. end
  1945. end
  1946. end
  1947. wait(1)
  1948. local SHADOWFADE = false
  1949. for i = 1, #BODIES do
  1950. if BODIES[i] ~= nil then
  1951. local TORSO = BODIES[i]:FindFirstChild("HumanoidRootPart") or BODIES[i]:FindFirstChild("Torso") or BODIES[i]:FindFirstChild("UpperTorso")
  1952. if TORSO then
  1953. local SHADOW = CLONE:Clone()
  1954. SHADOW.Parent = Effects
  1955. SHADOW.HumanoidRootPart.CFrame = TORSO.CFrame*CF(0,6,0)
  1956. --SHADOW.HumanoidRootPart.CFrame = RootPart.CFrame * ANGLES(RAD(0), RAD((360/#SHADOWS)*i), RAD(0))*CF(0,0,15)
  1957. SHADOW.Humanoid.WalkSpeed = 35
  1958. SHADOW.Humanoid.Health = 1
  1959. SHADOW.Humanoid.MaxHealth = 1
  1960. SHADOW.Name = BODIES[i].Name
  1961. for i = 1, 3 do
  1962. for _, c in pairs(SHADOW:GetChildren()) do
  1963. if c.ClassName == "Part" then
  1964. c.Material = "Neon"
  1965. c.Color = C3(0,0,0)
  1966. c.Transparency = 1
  1967. if c.Name == "Head" then
  1968. c:ClearAllChildren()
  1969. local MSH = IT("BlockMesh",c)
  1970. MSH.Scale = VT(0.5,1,1)
  1971. end
  1972. elseif c.ClassName ~= "Part" and c.ClassName ~= "Humanoid" and c.Name ~= "Animate" then
  1973. c:remove()
  1974. end
  1975. end
  1976. end
  1977. local BODY = IT("ObjectValue",SHADOW)
  1978. BODY.Name = "RealBody"
  1979. BODY.Value = BODIES[i]
  1980. table.insert(SHADOWS,SHADOW)
  1981. end
  1982. end
  1983. end
  1984. coroutine.resume(coroutine.create(function()
  1985. local LOOP = 0
  1986. for i = 1, 25 do
  1987. Swait()
  1988. for i = 1, #SHADOWS do
  1989. if SHADOWS[i] ~= nil then
  1990. for _, c in pairs(SHADOWS[i]:GetChildren()) do
  1991. if c.ClassName == "Part" and c.Name ~= "HumanoidRootPart" then
  1992. c.Color = C3(0,0,0)
  1993. c.Transparency = c.Transparency - 1/25
  1994. end
  1995. end
  1996. end
  1997. end
  1998. end
  1999. local KEYDOWN = Mouse.KeyDown:connect(function(NEWKEY)
  2000. if NEWKEY == "x" then
  2001. SHADOWFADE = true
  2002. end
  2003. end)
  2004. repeat
  2005. LOOP = LOOP + 2
  2006. local JUMPIES = {}
  2007. for i = 1, #SHADOWS do
  2008. if SHADOWS[i] ~= nil then
  2009. SHADOWS[i].Humanoid:MoveTo(CF(RootPart.Position) * ANGLES(RAD(0), RAD(((360/#SHADOWS)*i)+LOOP), RAD(0))*CF(0,0,25).p)
  2010. local BODY = SHADOWS[i].RealBody.Value
  2011. if BODY then
  2012. local HUM = BODY:FindFirstChildOfClass("Humanoid")
  2013. if HUM then
  2014. local TRIGGER = HUM.Changed:connect(function(Jump)
  2015. if HUM.Jump == true then
  2016. SHADOWS[i].Humanoid.JumpPower = HUM.JumpPower
  2017. SHADOWS[i].Humanoid.Jump = true
  2018. end
  2019. end)
  2020. table.insert(JUMPIES,TRIGGER)
  2021. if HUM.Health == 0 then
  2022. SHADOWS[i].Humanoid.Health = 0
  2023. end
  2024. end
  2025. end
  2026. if SHADOWS[i].Humanoid.Health == 0 then
  2027. if BODY then
  2028. BODY:BreakJoints()
  2029. end
  2030. SHADOWS[i]:remove()
  2031. table.remove(SHADOWS,i)
  2032. end
  2033. end
  2034. end
  2035. Swait()
  2036. for i = 1, #JUMPIES do
  2037. if JUMPIES[i] ~= nil then
  2038. JUMPIES[i]:disconnect()
  2039. end
  2040. end
  2041. until SHADOWFADE == true or #SHADOWS == 0
  2042. KEYDOWN:disconnect()
  2043. if #SHADOWS > 0 then
  2044. for i = 1, 45 do
  2045. Swait()
  2046. for i = 1, #SHADOWS do
  2047. if SHADOWS[i] ~= nil then
  2048. for _, c in pairs(SHADOWS[i]:GetChildren()) do
  2049. if c.ClassName == "Part" then
  2050. c.Transparency = c.Transparency + 1/45
  2051. end
  2052. end
  2053. SHADOWS[i].Humanoid.WalkSpeed = 12
  2054. SHADOWS[i].Humanoid:MoveTo(CF(RootPart.Position,SHADOWS[i].HumanoidRootPart.Position+VT(0,2,0))*CF(0,0,-5).p)
  2055. end
  2056. end
  2057. end
  2058. for i = 1, #SHADOWS do
  2059. if SHADOWS[i] ~= nil then
  2060. SHADOWS[i]:remove()
  2061. end
  2062. end
  2063. end
  2064. XATTACK = false
  2065. end))
  2066. else
  2067. XATTACK = false
  2068. end
  2069. ATTACK = false
  2070. Rooted = false
  2071. end
  2072.  
  2073. function Taunt()
  2074. ATTACK = true
  2075. Rooted = true
  2076. local VIOLENCE = 1
  2077. FORCEIDLE = true
  2078. repeat Swait() VIOLENCE = VIOLENCE + 1 until KEYHOLD == false
  2079. FORCEIDLE = false
  2080. if VIOLENCE <= 10 then
  2081. for i=0, 0.2, 0.1 / Animation_Speed do
  2082. Swait()
  2083. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2084. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2085. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2086. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2087. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2088. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2089. end
  2090. local TAUNT = CreateSound(VOCALS_TAUNT[MRANDOM(1,#VOCALS_TAUNT)], Head, 10, 1, false)
  2091. repeat
  2092. Swait()
  2093. TAUNT.Parent = Head
  2094. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2095. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-10-(TAUNT.PlaybackLoudness/55)), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2096. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15*SIZE, 0.65*SIZE, -0.75*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2097. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15*SIZE, 0.1*SIZE, -0.75*SIZE) * ANGLES(RAD(-15), RAD(0), RAD(90)) * ANGLES(RAD(25), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2098. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2099. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2100. until TAUNT.Playing == false
  2101. else
  2102. for i=0, 1, 0.1 / Animation_Speed do
  2103. Swait()
  2104. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2105. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2106. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(22)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2107. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(135), RAD(0), RAD(-22)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2108. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2109. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2110. end
  2111. local TAUNT = CreateSound(VOCALS_ENRAGES[MRANDOM(1,#VOCALS_ENRAGES)], Head, 10, 1, false)
  2112. repeat Swait() until TAUNT.TimeLength > 0
  2113. repeat
  2114. Swait()
  2115. ApplyAoE(Head.Position,15,0,0,200,false)
  2116. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  2117. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(15,0,15), Transparency = 1-(TAUNT.PlaybackLoudness/1250), Transparency2 = 1, CFrame = CF(Head.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  2118. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,2,0), Size2 = VT(35,0,35), Transparency = 0.2, Transparency2 = 1, CFrame = CF(HITPOS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
  2119. TAUNT.Parent = Head
  2120. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, -0.2*SIZE, -0.1*SIZE) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2121. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-25+MRANDOM(-(TAUNT.PlaybackLoudness/25),(TAUNT.PlaybackLoudness/25))), RAD(MRANDOM(-(TAUNT.PlaybackLoudness/15),(TAUNT.PlaybackLoudness/15))), RAD(MRANDOM(-(TAUNT.PlaybackLoudness/25),(TAUNT.PlaybackLoudness/25)))), 1 / Animation_Speed)
  2122. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0.1*SIZE) * ANGLES(RAD(-35), RAD(0), RAD(42)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2123. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0.1*SIZE) * ANGLES(RAD(-35), RAD(0), RAD(-42)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2124. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(25), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2125. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.01*SIZE) * ANGLES(RAD(45), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  2126. until TAUNT.TimePosition > TAUNT.TimeLength - 2
  2127. end
  2128. ATTACK = false
  2129. Rooted = false
  2130. end
  2131.  
  2132. --//=================================\\
  2133. --|| ASSIGN THINGS TO KEYS
  2134. --\\=================================//
  2135.  
  2136. function MouseDown(Mouse)
  2137. if ATTACK == false then
  2138. end
  2139. end
  2140.  
  2141. function MouseUp(Mouse)
  2142. HOLD = false
  2143. end
  2144.  
  2145. function KeyDown(Key)
  2146. KEYHOLD = true
  2147. if Key == "t" and ATTACK == false then
  2148. Taunt()
  2149. end
  2150.  
  2151. if Key == "z" and ATTACK == false then
  2152. MissilesOfDespair()
  2153. end
  2154.  
  2155. if Key == "b" and ATTACK == false and XATTACK == false then
  2156. ShadowRoam()
  2157. end
  2158.  
  2159. if Key == "c" and ATTACK == false then
  2160. PillarOfDespair()
  2161. end
  2162.  
  2163. if Key == "v" and ATTACK == false then
  2164. InfernoWall()
  2165. end
  2166.  
  2167. if Key == "x" and ATTACK == false and XATTACK == false then
  2168. FormerShadow()
  2169. end
  2170. end
  2171.  
  2172. function KeyUp(Key)
  2173. KEYHOLD = false
  2174. end
  2175.  
  2176. Mouse.Button1Down:connect(function(NEWKEY)
  2177. MouseDown(NEWKEY)
  2178. end)
  2179. Mouse.Button1Up:connect(function(NEWKEY)
  2180. MouseUp(NEWKEY)
  2181. end)
  2182. Mouse.KeyDown:connect(function(NEWKEY)
  2183. KeyDown(NEWKEY)
  2184. end)
  2185. Mouse.KeyUp:connect(function(NEWKEY)
  2186. KeyUp(NEWKEY)
  2187. end)
  2188.  
  2189. --//=================================\\
  2190. --\\=================================//
  2191.  
  2192. function unanchor()
  2193. if UNANCHOR == true then
  2194. RootPart.Anchored = false
  2195. end
  2196. g = Character:GetChildren()
  2197. for i = 1, #g do
  2198. if g[i].ClassName == "Part" and g[i] ~= RootPart then
  2199. g[i].Anchored = false
  2200. end
  2201. end
  2202. g = Weapon:GetChildren()
  2203. for i = 1, #g do
  2204. if g[i].ClassName == "Part" then
  2205. g[i].Anchored = false
  2206. end
  2207. end
  2208. end
  2209.  
  2210.  
  2211. --//=================================\\
  2212. --|| WRAP THE WHOLE SCRIPT UP
  2213. --\\=================================//
  2214.  
  2215. Humanoid.Changed:connect(function(Jump)
  2216. if Jump == "Jump" and (Disable_Jump == true) then
  2217. Humanoid.Jump = false
  2218. end
  2219. end)
  2220.  
  2221. while true do
  2222. Swait()
  2223. script.Parent = WEAPONGUI
  2224. ANIMATE.Parent = nil
  2225. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  2226. v:Stop();
  2227. end
  2228. SINE = SINE + CHANGE
  2229. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2230. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2231. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  2232. local FLOOR1,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8*SIZE, Character)
  2233. local FLOOR2,HITPOS2 = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 8*SIZE, Character)
  2234. local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
  2235. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2236. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2237. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2238. RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 0.875*SIZE - 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.7+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2239. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 0.875*SIZE + 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.7+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2240. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2241. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2242. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2243. RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2244. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2245. end
  2246. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil and FORCEIDLE == false then
  2247. ANIM = "Jump"
  2248. if ATTACK == false then
  2249. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2250. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  2251. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.55*SIZE, 0*SIZE) * ANGLES(RAD(15), RAD(0), RAD(12)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2252. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.55*SIZE, 0*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-12)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2253. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.3*SIZE, -0.5*SIZE) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  2254. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.1*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
  2255. end
  2256. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil and FORCEIDLE == false then
  2257. ANIM = "Fall"
  2258. if ATTACK == false then
  2259. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
  2260. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  2261. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(42)) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2262. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(-42)) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2263. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE, -0.5*SIZE) * ANGLES(RAD(15), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
  2264. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(-25), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  2265. end
  2266. elseif (TORSOVELOCITY < 1 and HITFLOOR ~= nil) or FORCEIDLE == true then
  2267. ANIM = "Idle"
  2268. if ATTACK == false or FORCEIDLE == true then
  2269. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
  2270. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2271. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(45), RAD(0), RAD(52 - 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2272. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(35), RAD(0), RAD(-42 + 3 * COS(SINE / 12))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2273. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1.02*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(20), RAD(55), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2274. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(10), RAD(-74), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1 / Animation_Speed)
  2275. end
  2276. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil and FORCEIDLE == false then
  2277. ANIM = "Walk"
  2278. if ATTACK == false then
  2279. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -0.1*SIZE) * ANGLES(RAD(15), RAD(0), RAD(-8*SIN(SINE/WALKSPEEDVALUE))), 1 / Animation_Speed)
  2280. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1*SIZE) - 1)) * ANGLES(RAD(5), RAD(-2*SIN(SINE/WALKSPEEDVALUE)), RAD(8*SIN(SINE/WALKSPEEDVALUE))), 1/ Animation_Speed)
  2281. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE + 0.15 * COS(SINE/WALKSPEEDVALUE*2), 0.1*SIZE-0.3*SIN(SINE/WALKSPEEDVALUE)) * ANGLES(RAD(35), RAD(0), RAD(22 + 3* SIN(SINE/WALKSPEEDVALUE))) * ANGLES(RAD(0), RAD(-70), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2282. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE + 0.15 * COS(SINE/WALKSPEEDVALUE*2), 0.1*SIZE+0.3*SIN(SINE/WALKSPEEDVALUE)) * ANGLES(RAD(35), RAD(0), RAD(-22 - 3* SIN(SINE/WALKSPEEDVALUE))) * ANGLES(RAD(0), RAD(70), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2283. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE , -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2284. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2285. end
  2286. end
  2287. unanchor()
  2288. Humanoid.MaxHealth = "inf"
  2289. Humanoid.Health = "inf"
  2290. if Rooted == false then
  2291. Disable_Jump = false
  2292. Humanoid.WalkSpeed = Speed
  2293. elseif Rooted == true then
  2294. Disable_Jump = true
  2295. Humanoid.WalkSpeed = 0
  2296. end
  2297. for _, c in pairs(Character:GetChildren()) do
  2298. if c.ClassName == "Part" and c.Name ~= "Eye" then
  2299. c.Material = "Granite"
  2300. if c ~= Head and c ~= Torso and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2301. c.Color = C3(175/575, 148/675, 131/675)
  2302. else
  2303. c.Color = C3(0,0,0)
  2304. end
  2305. if c == Head then
  2306. if c:FindFirstChild("face") then
  2307. c.face:remove()
  2308. end
  2309. end
  2310. elseif (c.ClassName == "CharacterMesh" or c.ClassName == "ShirtGraphic" or c.ClassName == "Accessory" or c.Name == "Body Colors") and c.Name ~= "Pressimus" then
  2311. c:remove()
  2312. elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  2313. c:remove()
  2314. end
  2315. end
  2316. sick.Parent = Character
  2317. sick.SoundId = "rbxassetid://900318768"
  2318. sick.Looped = true
  2319. sick.Pitch = 0.95
  2320. sick.Volume = 2
  2321. sick.Playing = true
  2322. if FLOOR1 ~= nil then
  2323. FIRE:SetPrimaryPartCFrame(CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(-90), RAD(0), RAD(0)))
  2324. else
  2325. FIRE:SetPrimaryPartCFrame(CF(HITPOS2))
  2326. end
  2327. SKILL1FRAME.Rotation = MRANDOM(-25,25)/2
  2328. SKILL2FRAME.Rotation = MRANDOM(-25,25)/2
  2329. SKILL3FRAME.Rotation = MRANDOM(-25,25)/2
  2330. SKILL4FRAME.Rotation = MRANDOM(-25,25)/2
  2331. SKILL5FRAME.Rotation = MRANDOM(-25,25)/2
  2332. tecks2.Rotation = MRANDOM(-25,25)/8
  2333. tecks.Rotation = MRANDOM(-25,25)/8
  2334. Humanoid.Name = MRANDOM(1000000,99999999)
  2335. FIRE.Parent = Weapon
  2336. refit()
  2337. end
  2338.  
  2339. --//=================================\\
  2340. --\\=================================//
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346. --//====================================================\\--
  2347. --|| END OF SCRIPT
  2348. --\\====================================================//--
Add Comment
Please, Sign In to add comment