Christoffer07700Extr

FE Satan

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