Advertisement
AOM-GU-PRO

GMGOD

Sep 2nd, 2018
587
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.16 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local Mouse = Player:GetMouse()
  66. local UIS = game:GetService("UserInputService")
  67. local input = function(io,a)
  68. if a then return end
  69. --Since InputObject is a client-side instance, we create and pass table instead
  70. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71. end
  72. UIS.InputBegan:Connect(input)
  73. UIS.InputEnded:Connect(input)
  74.  
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84.  
  85. ----Sandboxed game object that allows the usage of client-side methods and services
  86. --Real game object
  87. local _rg = game
  88.  
  89. --Metatable for fake service
  90. local fsmt = {
  91. __index = function(self,k)
  92. local s = rawget(self,"_RealService")
  93. if s then return s[k] end
  94. end,
  95. __newindex = function(self,k,v)
  96. local s = rawget(self,"_RealService")
  97. if s then s[k]=v end
  98. end,
  99. __call = function(self,...)
  100. local s = rawget(self,"_RealService")
  101. if s then return s(...) end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return self[s]
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. }
  120. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121. g.service = g.GetService
  122.  
  123. g.RunService = FakeService({
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126.  
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132.  
  133. setmetatable(g,{
  134. __index=function(self,s)
  135. return _rg:GetService(s) or typeof(_rg[s])=="function"
  136. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137. end,
  138. __newindex = fsmt.__newindex,
  139. __call = fsmt.__call
  140. })
  141. --Changing owner to fake player object to support owner:GetMouse()
  142. game,owner = g,g.Players.LocalPlayer
  143. end
  144. Player = game:GetService("Players").LocalPlayer
  145. PlayerGui = Player.PlayerGui
  146. Cam = workspace.CurrentCamera
  147. Backpack = Player.Backpack
  148. Character = Player.Character
  149. Humanoid = Character.Humanoid
  150. Mouse = Player:GetMouse()
  151. RootPart = Character["HumanoidRootPart"]
  152. Torso = Character["Torso"]
  153. Head = Character["Head"]
  154. RightArm = Character["Right Arm"]
  155. LeftArm = Character["Left Arm"]
  156. RightLeg = Character["Right Leg"]
  157. LeftLeg = Character["Left Leg"]
  158. RootJoint = RootPart["RootJoint"]
  159. Neck = Torso["Neck"]
  160. RightShoulder = Torso["Right Shoulder"]
  161. LeftShoulder = Torso["Left Shoulder"]
  162. RightHip = Torso["Right Hip"]
  163. LeftHip = Torso["Left Hip"]
  164. local sick = Instance.new("Sound",Torso)
  165. sick.SoundId = "rbxassetid://1141556798"
  166. sick.Looped = true
  167. sick.Pitch = 1
  168. sick.Volume = 1
  169. sick:Play()
  170.  
  171. IT = Instance.new
  172. CF = CFrame.new
  173. VT = Vector3.new
  174. RAD = math.rad
  175. C3 = Color3.new
  176. UD2 = UDim2.new
  177. BRICKC = BrickColor.new
  178. ANGLES = CFrame.Angles
  179. EULER = CFrame.fromEulerAnglesXYZ
  180. COS = math.cos
  181. ACOS = math.acos
  182. SIN = math.sin
  183. ASIN = math.asin
  184. ABS = math.abs
  185. MRANDOM = math.random
  186. FLOOR = math.floor
  187.  
  188. --//=================================\\
  189. --|| USEFUL VALUES
  190. --\\=================================//
  191.  
  192. Animation_Speed = 3
  193. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  194. local Speed = 16
  195. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  196. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  197. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  198. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  199. local DAMAGEMULTIPLIER = 1
  200. local ANIM = "Idle"
  201. local ATTACK = false
  202. local EQUIPPED = false
  203. local HOLD = false
  204. local COMBO = 1
  205. local Rooted = false
  206. local SINE = 0
  207. local KEYHOLD = false
  208. local CHANGE = 2 / Animation_Speed
  209. local WALKINGANIM = false
  210. local VALUE1 = false
  211. local VALUE2 = false
  212. local ROBLOXIDLEANIMATION = IT("Animation")
  213. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  214. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  215. --ROBLOXIDLEANIMATION.Parent = Humanoid
  216. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  217. WEAPONGUI.Name = "Weapon GUI"
  218. local Effects = IT("Folder", Character)
  219. Effects.Name = "Effects"
  220. local ANIMATOR = Humanoid.Animator
  221. local ANIMATE = Character.Animate
  222. local UNANCHOR = true
  223. local WHITELIST = {}
  224. local TAUNT = false
  225. local OFFSET = 0
  226. local FULL = false
  227. local ANIMATOR = Humanoid.Animator
  228. local ANIMATE = Character:FindFirstChild("Animate")
  229. local UNANCHOR = true
  230. local LEFTWINGS = {}
  231. local RIGHTWINGS = {}
  232. local BODY = {}
  233. local TOBANISH = {}
  234. script.Parent = PlayerGui
  235. --//=================================\\
  236. --\\=================================//
  237.  
  238. --//=================================\\
  239. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  240. --\\=================================//
  241.  
  242. ArtificialHB = Instance.new("BindableEvent", script)
  243. ArtificialHB.Name = "ArtificialHB"
  244.  
  245. script:WaitForChild("ArtificialHB")
  246.  
  247. frame = Frame_Speed
  248. tf = 0
  249. allowframeloss = false
  250. tossremainder = false
  251. lastframe = tick()
  252. script.ArtificialHB:Fire()
  253.  
  254. game:GetService("RunService").Heartbeat:connect(function(s, p)
  255. tf = tf + s
  256. if tf >= frame then
  257. if allowframeloss then
  258. script.ArtificialHB:Fire()
  259. lastframe = tick()
  260. else
  261. for i = 1, math.floor(tf / frame) do
  262. script.ArtificialHB:Fire()
  263. end
  264. lastframe = tick()
  265. end
  266. if tossremainder then
  267. tf = 0
  268. else
  269. tf = tf - frame * math.floor(tf / frame)
  270. end
  271. end
  272. end)
  273.  
  274. --//=================================\\
  275. --\\=================================//
  276.  
  277. --//=================================\\
  278. --|| SOME FUNCTIONS
  279. --\\=================================//
  280.  
  281. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  282. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  283. end
  284.  
  285. function PositiveAngle(NUMBER)
  286. if NUMBER >= 0 then
  287. NUMBER = 0
  288. end
  289. return NUMBER
  290. end
  291.  
  292. function NegativeAngle(NUMBER)
  293. if NUMBER <= 0 then
  294. NUMBER = 0
  295. end
  296. return NUMBER
  297. end
  298.  
  299. function Swait(NUMBER)
  300. if NUMBER == 0 or NUMBER == nil then
  301. ArtificialHB.Event:wait()
  302. else
  303. for i = 1, NUMBER do
  304. ArtificialHB.Event:wait()
  305. end
  306. end
  307. end
  308.  
  309. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  310. local NEWMESH = IT(MESH)
  311. if MESH == "SpecialMesh" then
  312. NEWMESH.MeshType = MESHTYPE
  313. if MESHID ~= "nil" and MESHID ~= "" then
  314. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  315. end
  316. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  317. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  318. end
  319. end
  320. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  321. NEWMESH.Scale = SCALE
  322. NEWMESH.Parent = PARENT
  323. return NEWMESH
  324. end
  325.  
  326. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  327. local NEWPART = IT("Part")
  328. NEWPART.formFactor = FORMFACTOR
  329. NEWPART.Reflectance = REFLECTANCE
  330. NEWPART.Transparency = TRANSPARENCY
  331. NEWPART.CanCollide = false
  332. NEWPART.Locked = true
  333. NEWPART.Anchored = true
  334. if ANCHOR == false then
  335. NEWPART.Anchored = false
  336. end
  337. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  338. NEWPART.Name = NAME
  339. NEWPART.Size = SIZE
  340. NEWPART.Position = Torso.Position
  341. NEWPART.Material = MATERIAL
  342. NEWPART:BreakJoints()
  343. NEWPART.Parent = PARENT
  344. return NEWPART
  345. end
  346.  
  347. local function weldBetween(a, b)
  348. local weldd = Instance.new("ManualWeld")
  349. weldd.Part0 = a
  350. weldd.Part1 = b
  351. weldd.C0 = CFrame.new()
  352. weldd.C1 = b.CFrame:inverse() * a.CFrame
  353. weldd.Parent = a
  354. return weldd
  355. end
  356.  
  357.  
  358. function QuaternionFromCFrame(cf)
  359. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  360. local trace = m00 + m11 + m22
  361. if trace > 0 then
  362. local s = math.sqrt(1 + trace)
  363. local recip = 0.5 / s
  364. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  365. else
  366. local i = 0
  367. if m11 > m00 then
  368. i = 1
  369. end
  370. if m22 > (i == 0 and m00 or m11) then
  371. i = 2
  372. end
  373. if i == 0 then
  374. local s = math.sqrt(m00 - m11 - m22 + 1)
  375. local recip = 0.5 / s
  376. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  377. elseif i == 1 then
  378. local s = math.sqrt(m11 - m22 - m00 + 1)
  379. local recip = 0.5 / s
  380. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  381. elseif i == 2 then
  382. local s = math.sqrt(m22 - m00 - m11 + 1)
  383. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  384. end
  385. end
  386. end
  387.  
  388. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  389. local xs, ys, zs = x + x, y + y, z + z
  390. local wx, wy, wz = w * xs, w * ys, w * zs
  391. local xx = x * xs
  392. local xy = x * ys
  393. local xz = x * zs
  394. local yy = y * ys
  395. local yz = y * zs
  396. local zz = z * zs
  397. 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))
  398. end
  399.  
  400. function QuaternionSlerp(a, b, t)
  401. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  402. local startInterp, finishInterp;
  403. if cosTheta >= 0.0001 then
  404. if (1 - cosTheta) > 0.0001 then
  405. local theta = ACOS(cosTheta)
  406. local invSinTheta = 1 / SIN(theta)
  407. startInterp = SIN((1 - t) * theta) * invSinTheta
  408. finishInterp = SIN(t * theta) * invSinTheta
  409. else
  410. startInterp = 1 - t
  411. finishInterp = t
  412. end
  413. else
  414. if (1 + cosTheta) > 0.0001 then
  415. local theta = ACOS(-cosTheta)
  416. local invSinTheta = 1 / SIN(theta)
  417. startInterp = SIN((t - 1) * theta) * invSinTheta
  418. finishInterp = SIN(t * theta) * invSinTheta
  419. else
  420. startInterp = t - 1
  421. finishInterp = t
  422. end
  423. end
  424. 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
  425. end
  426.  
  427. function Clerp(a, b, t)
  428. local qa = {QuaternionFromCFrame(a)}
  429. local qb = {QuaternionFromCFrame(b)}
  430. local ax, ay, az = a.x, a.y, a.z
  431. local bx, by, bz = b.x, b.y, b.z
  432. local _t = 1 - t
  433. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  434. end
  435.  
  436. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  437. local frame = IT("Frame")
  438. frame.BackgroundTransparency = TRANSPARENCY
  439. frame.BorderSizePixel = BORDERSIZEPIXEL
  440. frame.Position = POSITION
  441. frame.Size = SIZE
  442. frame.BackgroundColor3 = COLOR
  443. frame.BorderColor3 = BORDERCOLOR
  444. frame.Name = NAME
  445. frame.Parent = PARENT
  446. return frame
  447. end
  448.  
  449. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  450. local label = IT("TextLabel")
  451. label.BackgroundTransparency = 1
  452. label.Size = UD2(1, 0, 1, 0)
  453. label.Position = UD2(0, 0, 0, 0)
  454. label.TextColor3 = TEXTCOLOR
  455. label.TextStrokeTransparency = STROKETRANSPARENCY
  456. label.TextTransparency = TRANSPARENCY
  457. label.FontSize = TEXTFONTSIZE
  458. label.Font = TEXTFONT
  459. label.BorderSizePixel = BORDERSIZEPIXEL
  460. label.TextScaled = false
  461. label.Text = TEXT
  462. label.Name = NAME
  463. label.Parent = PARENT
  464. return label
  465. end
  466.  
  467. function NoOutlines(PART)
  468. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  469. end
  470.  
  471. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  472. local NEWWELD = IT(TYPE)
  473. NEWWELD.Part0 = PART0
  474. NEWWELD.Part1 = PART1
  475. NEWWELD.C0 = C0
  476. NEWWELD.C1 = C1
  477. NEWWELD.Parent = PARENT
  478. return NEWWELD
  479. end
  480.  
  481. local S = IT("Sound")
  482. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  483. local NEWSOUND = nil
  484. coroutine.resume(coroutine.create(function()
  485. NEWSOUND = S:Clone()
  486. NEWSOUND.Parent = PARENT
  487. NEWSOUND.Volume = VOLUME
  488. NEWSOUND.Pitch = PITCH
  489. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  490. NEWSOUND:play()
  491. if DOESLOOP == true then
  492. NEWSOUND.Looped = true
  493. else
  494. repeat wait(1) until NEWSOUND.Playing == false
  495. NEWSOUND:remove()
  496. end
  497. end))
  498. return NEWSOUND
  499. end
  500.  
  501. function CFrameFromTopBack(at, top, back)
  502. local right = top:Cross(back)
  503. 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)
  504. end
  505.  
  506. --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})
  507. function WACKYEFFECT(Table)
  508. local TYPE = (Table.EffectType or "Sphere")
  509. local SIZE = (Table.Size or VT(1,1,1))
  510. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  511. local TRANSPARENCY = (Table.Transparency or 0)
  512. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  513. local CFRAME = (Table.CFrame or Torso.CFrame)
  514. local MOVEDIRECTION = (Table.MoveToPos or nil)
  515. local ROTATION1 = (Table.RotationX or 0)
  516. local ROTATION2 = (Table.RotationY or 0)
  517. local ROTATION3 = (Table.RotationZ or 0)
  518. local MATERIAL = (Table.Material or "Neon")
  519. local COLOR = (Table.Color or C3(1,1,1))
  520. local TIME = (Table.Time or 45)
  521. local SOUNDID = (Table.SoundID or nil)
  522. local SOUNDPITCH = (Table.SoundPitch or nil)
  523. local SOUNDVOLUME = (Table.SoundVolume or nil)
  524. coroutine.resume(coroutine.create(function()
  525. local PLAYSSOUND = false
  526. local SOUND = nil
  527. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  528. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  529. PLAYSSOUND = true
  530. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  531. end
  532. EFFECT.Color = COLOR
  533. local MSH = nil
  534. if TYPE == "Sphere" then
  535. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  536. elseif TYPE == "Block" then
  537. MSH = IT("BlockMesh",EFFECT)
  538. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  539. elseif TYPE == "Wave" then
  540. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  541. elseif TYPE == "Ring" then
  542. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  543. elseif TYPE == "Slash" then
  544. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  545. elseif TYPE == "Round Slash" then
  546. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  547. elseif TYPE == "Swirl" then
  548. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  549. elseif TYPE == "Skull" then
  550. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  551. elseif TYPE == "Crystal" then
  552. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  553. end
  554. if MSH ~= nil then
  555. local MOVESPEED = nil
  556. if MOVEDIRECTION ~= nil then
  557. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  558. end
  559. local GROWTH = SIZE - ENDSIZE
  560. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  561. if TYPE == "Block" then
  562. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  563. else
  564. EFFECT.CFrame = CFRAME
  565. end
  566. for LOOP = 1, TIME+1 do
  567. Swait()
  568. MSH.Scale = MSH.Scale - GROWTH/TIME
  569. if TYPE == "Wave" then
  570. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  571. end
  572. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  573. if TYPE == "Block" then
  574. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  575. else
  576. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  577. end
  578. if MOVEDIRECTION ~= nil then
  579. local ORI = EFFECT.Orientation
  580. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  581. EFFECT.Orientation = ORI
  582. end
  583. end
  584. if PLAYSSOUND == false then
  585. EFFECT:remove()
  586. else
  587. SOUND.Stopped:Connect(function()
  588. EFFECT:remove()
  589. end)
  590. end
  591. else
  592. if PLAYSSOUND == false then
  593. EFFECT:remove()
  594. else
  595. repeat Swait() until SOUND.Playing == false
  596. EFFECT:remove()
  597. end
  598. end
  599. end))
  600. end
  601.  
  602. function MakeForm(PART,TYPE)
  603. if TYPE == "Cyl" then
  604. local MSH = IT("CylinderMesh",PART)
  605. elseif TYPE == "Ball" then
  606. local MSH = IT("SpecialMesh",PART)
  607. MSH.MeshType = "Sphere"
  608. elseif TYPE == "Wedge" then
  609. local MSH = IT("SpecialMesh",PART)
  610. MSH.MeshType = "Wedge"
  611. end
  612. end
  613.  
  614. Debris = game:GetService("Debris")
  615.  
  616. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  617. local DIRECTION = CF(StartPos,EndPos).lookVector
  618. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  619. end
  620.  
  621. local EyeSizes={
  622. NumberSequenceKeypoint.new(0,1,0),
  623. NumberSequenceKeypoint.new(1,0,0)
  624. }
  625. local EyeTrans={
  626. NumberSequenceKeypoint.new(0,0.8,0),
  627. NumberSequenceKeypoint.new(1,1,0)
  628. }
  629. local PE=Instance.new("ParticleEmitter",nil)
  630. PE.LightEmission=.8
  631. PE.Color = ColorSequence.new(BRICKC("Really red").Color)
  632. PE.Size=NumberSequence.new(EyeSizes)
  633. PE.Transparency=NumberSequence.new(EyeTrans)
  634. PE.Lifetime=NumberRange.new(0.35,1.5)
  635. PE.Rotation=NumberRange.new(0,360)
  636. PE.Rate=999
  637. PE.VelocitySpread = 10000
  638. PE.Acceleration = Vector3.new(0,0,0)
  639. PE.Drag = 5
  640. PE.Speed = NumberRange.new(0,0,0)
  641. PE.Texture="http://www.roblox.com/asset/?id=1351966707"
  642. PE.ZOffset = -0
  643. PE.Name = "PE"
  644. PE.Enabled = false
  645.  
  646. function particles(art)
  647. local PARTICLES = PE:Clone()
  648. PARTICLES.Parent = art
  649. end
  650.  
  651. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  652. if FLOOR ~= nil then
  653. coroutine.resume(coroutine.create(function()
  654. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  655. PART.CFrame = CF(POSITION)
  656. for i = 1, 45 do
  657. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  658. RingPiece.Material = FLOOR.Material
  659. RingPiece.Color = FLOOR.Color
  660. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  661. Debris:AddItem(RingPiece,SWAIT)
  662. end
  663. PART:remove()
  664. end))
  665. end
  666. end
  667.  
  668. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  669. if FLOOR ~= nil then
  670. for i = 1, AMOUNT do
  671. local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  672. DEBREE.Material = FLOOR.Material
  673. DEBREE.Color = FLOOR.Color
  674. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  675. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  676. coroutine.resume(coroutine.create(function()
  677. Swait(15)
  678. DEBREE.Parent = workspace
  679. DEBREE.CanCollide = true
  680. Debris:AddItem(DEBREE,SWAIT)
  681. end))
  682. end
  683. end
  684. end
  685.  
  686. --//=================================\\
  687. --|| WEAPON CREATION
  688. --\\=================================//
  689.  
  690. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Whiet", "Scarf", VT(1,1,1),false)
  691. PRT.Color = C3(1,1,1)
  692. CreateWeldOrSnapOrMotor("Weld", Torso, Torso, PRT, CF(0.05,0.4,-0.1) * ANGLES(RAD(-3), RAD(0), RAD(0)), CF(0, 0, 0))
  693. CreateMesh("SpecialMesh", PRT, "FileMesh", "99856331", "", VT(1.1,1,1.1), VT(0,0,0))
  694.  
  695. function refit()
  696. Character.Parent = workspace
  697. for e = 1, #BODY do
  698. if BODY[e] ~= nil then
  699. local STUFF = BODY[e]
  700. local PART = STUFF[1]
  701. local PARENT = STUFF[2]
  702. local MATERIAL = STUFF[3]
  703. local COLOR = STUFF[4]
  704. local TRANSPARENCY = STUFF[5]
  705. if PART.ClassName == "Part" and PART ~= RootPart then
  706. PART.Material = MATERIAL
  707. PART.Color = COLOR
  708. PART.Transparency = TRANSPARENCY
  709. end
  710. if PART.Parent ~= PARENT then
  711. Humanoid:remove()
  712. PART.Parent = PARENT
  713. Humanoid = IT("Humanoid",Character)
  714. end
  715. end
  716. end
  717. end
  718.  
  719. local SKILLTEXTCOLOR = C3(0,0,0)
  720. local SKILLFONT = "Antique"
  721. local SKILLTEXTSIZE = 7
  722.  
  723. Humanoid.Died:connect(function()
  724. refit()
  725. end)
  726.  
  727. function Blink()
  728. coroutine.resume(coroutine.create(function()
  729. if EYE ~= nil then
  730. for i = 1, 5 do
  731. Swait()
  732. EYE.Mesh.Scale = EYE.Mesh.Scale - VT(0,0.2,0)
  733. EYE2.Mesh.Scale = EYE.Mesh.Scale
  734. end
  735. for i = 1, 7 do
  736. Swait()
  737. EYE.Mesh.Scale = EYE.Mesh.Scale + VT(0,0.2,0)
  738. EYE2.Mesh.Scale = EYE.Mesh.Scale
  739. end
  740. EYE.Mesh.Scale = VT(1,1,1)
  741. EYE2.Mesh.Scale = EYE.Mesh.Scale
  742. end
  743. end))
  744. end
  745.  
  746. --//=================================\\
  747. --|| DAMAGE FUNCTIONS
  748. --\\=================================//
  749.  
  750. function StatLabel(CFRAME, TEXT, COLOR)
  751. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  752. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  753. local BODYGYRO = IT("BodyGyro", STATPART)
  754. game:GetService("Debris"):AddItem(STATPART ,5)
  755. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  756. BILLBOARDGUI.Adornee = STATPART
  757. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  758. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  759. BILLBOARDGUI.AlwaysOnTop = false
  760. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  761. TEXTLABEL.BackgroundTransparency = 1
  762. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  763. TEXTLABEL.Text = TEXT
  764. TEXTLABEL.Font = SKILLFONT
  765. TEXTLABEL.FontSize="Size42"
  766. TEXTLABEL.TextColor3 = COLOR
  767. TEXTLABEL.TextStrokeTransparency = 0
  768. TEXTLABEL.TextScaled = true
  769. TEXTLABEL.TextWrapped = true
  770. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  771. for i = 1, 50 do
  772. Swait()
  773. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  774. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  775. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  776. end
  777. THEPART.Parent = nil
  778. end),STATPART, TEXTLABEL)
  779. end
  780.  
  781. --//=================================\\
  782. --|| DAMAGING
  783. --\\=================================//
  784.  
  785. function KillChildren(v)
  786. v:BreakJoints()
  787. for _, c in pairs(v:GetChildren()) do
  788. if c:IsA("BasePart") then
  789. if c.Transparency < 1 then
  790. if c:FindFirstChildOfClass("Decal") then
  791. c:FindFirstChildOfClass("Decal"):remove()
  792. end
  793. particles(c)
  794. c.PE.Enabled = true
  795. c.Parent = Effects
  796. c.CanCollide = false
  797. c.Material = "Neon"
  798. c.Color = C3(1,0,0)
  799. c.Transparency = 1
  800. local grav = Instance.new("BodyPosition",c)
  801. grav.P = 20000
  802. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  803. grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  804. grav.Name = "GravityForce"
  805. coroutine.resume(coroutine.create(function()
  806. for i = 1, 20 do
  807. Swait()
  808. c.Transparency = c.Transparency + 1/20
  809. end
  810. c.PE.Enabled = false
  811. Debris:AddItem(c,2)
  812. end))
  813. end
  814. end
  815. end
  816. end
  817.  
  818. function ApplyAoE(POSITION,RANGE)
  819. local CHILDREN = workspace:GetDescendants()
  820. for index, CHILD in pairs(CHILDREN) do
  821. if CHILD.ClassName == "Model" and CHILD ~= Character then
  822. local LISTED = false
  823. for LIST = 1, #WHITELIST do
  824. if WHITELIST[LIST] ~= nil then
  825. if CHILD.Name == WHITELIST[LIST] then
  826. LISTED = true
  827. end
  828. end
  829. end
  830. if LISTED == false then
  831. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  832. if HUM then
  833. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  834. if TORSO then
  835. if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  836. KillChildren(CHILD)
  837. end
  838. end
  839. end
  840. end
  841. end
  842. end
  843. end
  844.  
  845. --//=================================\\
  846. --|| ATTACK FUNCTIONS AND STUFF
  847. --\\=================================//
  848.  
  849. function Click()
  850. ATTACK = true
  851. Rooted = false
  852. local HIT = nil
  853. OFFSET = -45
  854. for i=0, 1, 0.1 / Animation_Speed do
  855. Swait()
  856. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  857. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  858. end
  859. OFFSET = 45
  860. local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
  861. PUNCH.CanCollide = true
  862. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
  863. TAUNT = true
  864. local TOUCH = PUNCH.Touched:Connect(function(hit)
  865. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  866. HIT = hit.Parent
  867. end
  868. end)
  869. for i=0, 0.3, 0.1 / Animation_Speed do
  870. Swait()
  871. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
  872. if HIT ~= nil then
  873. break
  874. end
  875. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  876. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  877. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  878. end
  879. PUNCH:remove()
  880. TOUCH:disconnect()
  881. if HIT ~= nil then
  882. for _, c in pairs(HIT:GetChildren()) do
  883. if c:IsA("BasePart") then
  884. c.Anchored = true
  885. end
  886. end
  887. Rooted = true
  888. CreateSound(649634100, Torso, 10, 0.8)
  889. CreateSound(1368573150, RightArm, 3, 1.5)
  890. for i=0, 0.6, 0.1 / Animation_Speed do
  891. Swait()
  892. WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  893. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(25), RAD(-45)), 0.05 / Animation_Speed)
  894. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  895. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-35), RAD(0), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  896. end
  897. for _, c in pairs(HIT:GetChildren()) do
  898. if c:IsA("BasePart") then
  899. c.Anchored = false
  900. end
  901. end
  902. KillChildren(HIT)
  903. end
  904. OFFSET = 0
  905. ATTACK = false
  906. Rooted = false
  907. TAUNT = false
  908. end
  909.  
  910. function Whitelist()
  911. if Mouse.Target ~= nil then
  912. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  913. if game.Players:FindFirstChild(Mouse.Target.Parent.Name) then
  914. table.insert(WHITELIST,Mouse.Target.Parent.Name)
  915. end
  916. end
  917. end
  918. end
  919.  
  920. function Clear_Whitelist()
  921. if Mouse.Target ~= nil then
  922. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  923. for LIST = 1, #WHITELIST do
  924. if WHITELIST[LIST] ~= nil then
  925. if Mouse.Target.Parent.Name == WHITELIST[LIST] then
  926. table.remove(WHITELIST,LIST)
  927. for _, c in pairs(Cam:GetChildren()) do
  928. if c.Name == Mouse.Target.Parent.Name then
  929. c:remove()
  930. end
  931. end
  932. end
  933. end
  934. end
  935. end
  936. end
  937. end
  938.  
  939. function SpawnSmite(POS)
  940. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  941. local EMITPOS = HITPOS
  942. if HITFLOOR ~= nil then
  943. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  944. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  945. EMITPOS = HITPOS
  946. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  947. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  948. EMITPOS = HITPOS
  949. end
  950. end
  951. if HITFLOOR ~= nil then
  952. ApplyAoE(EMITPOS,10)
  953. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  954. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  955. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  956. for i = 1, 5 do
  957. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  958. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  959. end
  960. end
  961. end
  962.  
  963. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  964. coroutine.resume(coroutine.create(function()
  965. local METEOR = IT("Model",Effects)
  966. METEOR.Name = "Meteorite"
  967. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  968. METEOR.PrimaryPart = CENTER
  969. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  970. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  971. for i = 1, 15 do
  972. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
  973. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  974. end
  975. if ISDEBREE ~= true then
  976. METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  977. else
  978. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  979. end
  980. local IMPACT = false
  981. CreateSound(463593339, CENTER, 10, 0.6)
  982. if SIZE >= 3.5 then
  983. for i = 1, MRANDOM(3,7) do
  984. SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p)
  985. end
  986. end
  987. for i = 1, 200 do
  988. Swait()
  989. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  990. if HITFLOOR == nil then
  991. local ORI = CENTER.Orientation
  992. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  993. else
  994. if HITFLOOR.Anchored == true then
  995. CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  996. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  997. end
  998. IMPACT = true
  999. break
  1000. end
  1001. end
  1002. if IMPACT == true then
  1003. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  1004. WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 201858144, SoundPitch = 1, SoundVolume = 5})
  1005. WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 1, SoundVolume = 5})
  1006. ApplyAoE(CENTER.Position,30*SIZE)
  1007. end
  1008. METEOR:remove()
  1009. end))
  1010. end
  1011.  
  1012. function Smite()
  1013. ATTACK = true
  1014. Rooted = false
  1015. CreateSound(1368573150, RightArm, 3, 1.5)
  1016. for i=0, 0.6, 0.1 / Animation_Speed do
  1017. Swait()
  1018. WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1019. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1020. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  1021. end
  1022. local POWER = 0
  1023. repeat
  1024. Swait()
  1025. WACKYEFFECT({EffectType = "Block", Size = VT(3,3,3)/3, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1026. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1027. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  1028. POWER = POWER + 0.5
  1029. if POWER >= 85 then
  1030. POWER = 85
  1031. end
  1032. until KEYHOLD == false
  1033. if POWER < 0.6 then
  1034. SpawnSmite(Mouse.Hit.p)
  1035. else
  1036. if POWER < 15 then
  1037. POWER = 15
  1038. end
  1039. SpawnMeteor(Mouse.Hit.p,POWER/15)
  1040. end
  1041. ATTACK = false
  1042. Rooted = false
  1043. end
  1044.  
  1045. function Meteor_Shower()
  1046. ATTACK = true
  1047. Rooted = false
  1048. CreateSound(1368573150, RightArm, 3, 0.8)
  1049. CreateSound(649634100, Torso, 10, 0.8)
  1050. for i=0, 1.2, 0.1 / Animation_Speed do
  1051. Swait()
  1052. WACKYEFFECT({TIME = 15, EffectType = "Block", Size = VT(3,3,3)/2, Size2 = VT(1,1,1)/3, Transparency = 0.5, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.3,0), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1053. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1054. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  1055. end
  1056. local POS = Mouse.Hit.p
  1057. CreateSound(463593339, Effects, 3, 1)
  1058. coroutine.resume(coroutine.create(function()
  1059. for i = 1, 35 do
  1060. wait(MRANDOM(5,150)/100)
  1061. SpawnMeteor(CF(POS) * ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0))*CF(0,0,MRANDOM(0,1500)/10).p,MRANDOM(10,25)/10)
  1062. end
  1063. end))
  1064. ATTACK = false
  1065. Rooted = false
  1066. end
  1067.  
  1068. function Taunt()
  1069. ATTACK = true
  1070. Rooted = false
  1071. TAUNT = true
  1072. for i=0, 0.1, 0.1 / Animation_Speed do
  1073. Swait()
  1074. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1075. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1076. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1077. end
  1078. for i=0, 3, 0.1 / Animation_Speed do
  1079. Swait()
  1080. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1081. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1082. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(170), RAD(0), RAD(15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1083. end
  1084. CreateSound(363808674, Torso, 10, 1.3)
  1085. for i=0, 1, 0.1 / Animation_Speed do
  1086. Swait()
  1087. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5), RAD(0), RAD(120)), 3 / Animation_Speed)
  1088. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 3/ Animation_Speed)
  1089. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(230), RAD(0), RAD(35)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  1090. end
  1091. WACKYEFFECT({EffectType = "Block", Size = VT(6,6,6), Size2 = VT(15,15,15), Transparency = 0, Transparency2 = 1, CFrame = Torso.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1092. CreateSound(649634100, Torso, 10, 0.8)
  1093. for i=0, 0.01, 0.1 / Animation_Speed do
  1094. Swait()
  1095. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
  1096. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
  1097. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  1098. end
  1099. ATTACK = false
  1100. Rooted = false
  1101. TAUNT = false
  1102. end
  1103.  
  1104. function Teleport()
  1105. ATTACK = true
  1106. Rooted = false
  1107. for i=0, 0.5, 0.1 / Animation_Speed do
  1108. Swait()
  1109. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1110. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-25), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1.5 / Animation_Speed)
  1111. end
  1112. for e = 1, #BODY do
  1113. if BODY[e] ~= nil then
  1114. local STUFF = BODY[e]
  1115. local PART = STUFF[1]
  1116. if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  1117. local PRT = PART:Clone()
  1118. PRT.Anchored = true
  1119. PRT.CanCollide = false
  1120. PRT.Material = "Neon"
  1121. PRT.Color = C3(1,0,0)
  1122. PRT.Name = "WarpEffect"
  1123. PRT.Parent = Effects
  1124. PRT.CFrame = PART.CFrame
  1125. PRT:BreakJoints()
  1126. if PRT:FindFirstChildOfClass("Sound") then
  1127. PRT:FindFirstChildOfClass("Sound"):remove()
  1128. end
  1129. if PRT:FindFirstChildOfClass("Decal") then
  1130. PRT:FindFirstChildOfClass("Decal"):remove()
  1131. end
  1132. coroutine.resume(coroutine.create(function()
  1133. for i = 1, 100 do
  1134. Swait()
  1135. PRT.Transparency = PRT.Transparency + 1/100
  1136. end
  1137. PRT:remove()
  1138. end))
  1139. end
  1140. end
  1141. end
  1142. CreateSound(217767125, Torso, 10, 1)
  1143. local POS = RootPart.Orientation
  1144. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  1145. RootPart.Orientation = POS
  1146. RootJoint.Parent = RootPart
  1147. for i=0, 0.5, 0.1 / Animation_Speed do
  1148. Swait()
  1149. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1150. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.6, 0.75, -0.5) * ANGLES(RAD(0), RAD(-15), RAD(12)) * ANGLES(RAD(175 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed)
  1151. end
  1152. for i=0, 0.1, 0.1 / Animation_Speed do
  1153. Swait()
  1154. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / Animation_Speed)
  1155. end
  1156. ATTACK = false
  1157. Rooted = false
  1158. end
  1159.  
  1160. function Equivalent_Pain()
  1161. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1162. if HITFLOOR then
  1163. ATTACK = true
  1164. Rooted = true
  1165. FULL = true
  1166. local GYRO = IT("BodyGyro",RootPart)
  1167. GYRO.D = 25
  1168. GYRO.P = 20000
  1169. GYRO.MaxTorque = VT(0,math.huge,0)
  1170. for i=0, 0.3, 0.1 / Animation_Speed do
  1171. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1172. Swait()
  1173. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1174. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1175. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1176. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-25), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1177. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-35)), 1 / Animation_Speed)
  1178. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(5)), 1 / Animation_Speed)
  1179. end
  1180. GYRO:remove()
  1181. CreateSound(12222200, RightArm, 10, 1)
  1182. for i=0, 0.4, 0.1 / Animation_Speed do
  1183. Swait()
  1184. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  1185. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1186. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1187. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1188. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  1189. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1190. end
  1191. CreateSound(289842971, RightArm, 10, 1)
  1192. coroutine.resume(coroutine.create(function()
  1193. local HIT,POS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(Mouse.Hit.p+VT(0,1,0), Mouse.Hit.p-VT(0,1,0))).lookVector, 45, Character)
  1194. local ECHO = POS
  1195. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1196. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  1197. ECHO = POS
  1198. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1199. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  1200. ECHO = POS
  1201. end
  1202. if ECHO.Y == HITPOS.Y then
  1203. local DISTANCE = (HITPOS - ECHO).Magnitude/3
  1204. local CFRAME = CF(HITPOS,ECHO)
  1205. local RANGE = math.ceil(DISTANCE)
  1206. for i = 1, RANGE-1 do
  1207. Swait(3)
  1208. local A = CFRAME*CF(0,0,-i*3)
  1209. ApplyAoE(A.p,4)
  1210. CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
  1211. end
  1212. local SIZE = 3
  1213. local POS = CFRAME*CF(0,0,-RANGE*3).p
  1214. WACKYEFFECT({Time = 75, EffectType = "Sphere", Size = VT(55,0,55)*SIZE, Size2 = VT(55,15,55)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 130972023, SoundPitch = 0.8, SoundVolume = 10})
  1215. WACKYEFFECT({EffectType = "Sphere", Size = VT(10,250,10)*SIZE, Size2 = VT(20,1000,20)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  1216. WACKYEFFECT({EffectType = "Sphere", Size = VT(30,150,30)*SIZE, Size2 = VT(50,300,50)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 178452241, SoundPitch = 1, SoundVolume = 10})
  1217. for i = 1, 9 do
  1218. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,15*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  1219. end
  1220. for i = 1, 9 do
  1221. WACKYEFFECT({TIME = 65, EffectType = "Sphere", Size = VT(5,5,0)*SIZE, Size2 = VT(0,0,35)*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-25*SIZE), MoveToPos = CF(POS+VT(0,5*SIZE,0))*ANGLES(RAD(0),RAD((360/9)*i),RAD(0))*ANGLES(RAD(25),RAD(0),RAD(0))*CF(0,0,-55*SIZE).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 0.8, SoundVolume = 5})
  1222. end
  1223. ApplyAoE(POS,30*SIZE)
  1224. CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
  1225. CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
  1226. end
  1227. end))
  1228. for i=0, 0.6, 0.1 / Animation_Speed do
  1229. Swait()
  1230. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  1231. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1232. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  1233. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-25), RAD(-12)) * ANGLES(RAD(-35), RAD(55), RAD(0)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  1234. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.5) * ANGLES(RAD(0), RAD(55), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(65)), 1 / Animation_Speed)
  1235. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(-15)), 1 / Animation_Speed)
  1236. end
  1237. FULL = false
  1238. ATTACK = false
  1239. Rooted = false
  1240. end
  1241. end
  1242.  
  1243. --//=================================\\
  1244. --|| ASSIGN THINGS TO KEYS
  1245. --\\=================================//
  1246.  
  1247. function MouseDown(Mouse)
  1248. if ATTACK == false then
  1249. Click()
  1250. end
  1251. end
  1252.  
  1253. function MouseUp(Mouse)
  1254. HOLD = false
  1255. end
  1256.  
  1257. function KeyDown(Key)
  1258. if Key ~= "w" and Key ~= "a" and Key ~= "s" and Key ~= "d" then
  1259. KEYHOLD = true
  1260. if Key == "z" and ATTACK == false then
  1261. Whitelist()
  1262. end
  1263.  
  1264. if Key == "b" and ATTACK == false then
  1265. Clear_Whitelist()
  1266. end
  1267.  
  1268. if Key == "c" and ATTACK == false then
  1269. Smite()
  1270. end
  1271.  
  1272. if Key == "x" and ATTACK == false then
  1273. Meteor_Shower()
  1274. end
  1275.  
  1276. if Key == "t" and ATTACK == false then
  1277. Taunt()
  1278. end
  1279.  
  1280. if Key == "q" and ATTACK == false then
  1281. Teleport()
  1282. end
  1283.  
  1284. if Key == "p" and ATTACK == false then
  1285. Equivalent_Pain()
  1286. end
  1287. end
  1288. end
  1289.  
  1290. function KeyUp(Key)
  1291. if Key ~= "w" and Key ~= "a" and Key ~= "s" and Key ~= "d" then
  1292. KEYHOLD = false
  1293. end
  1294. end
  1295.  
  1296. Mouse.Button1Down:connect(function(NEWKEY)
  1297. MouseDown(NEWKEY)
  1298. end)
  1299. Mouse.Button1Up:connect(function(NEWKEY)
  1300. MouseUp(NEWKEY)
  1301. end)
  1302. Mouse.KeyDown:connect(function(NEWKEY)
  1303. KeyDown(NEWKEY)
  1304. end)
  1305. Mouse.KeyUp:connect(function(NEWKEY)
  1306. KeyUp(NEWKEY)
  1307. end)
  1308.  
  1309. --//=================================\\
  1310. --\\=================================//
  1311.  
  1312.  
  1313. function unanchor()
  1314. if UNANCHOR == true then
  1315. g = Character:GetChildren()
  1316. for i = 1, #g do
  1317. if g[i].ClassName == "Part" then
  1318. g[i].Anchored = false
  1319. end
  1320. end
  1321. end
  1322. end
  1323.  
  1324.  
  1325. --//=================================\\
  1326. --|| WRAP THE WHOLE SCRIPT UP
  1327. --\\=================================//
  1328.  
  1329. Humanoid.Changed:connect(function(Jump)
  1330. if Jump == "Jump" and (Disable_Jump == true) then
  1331. Humanoid.Jump = false
  1332. end
  1333. end)
  1334.  
  1335. local BLINKLOOP = 0
  1336. script.Parent = WEAPONGUI
  1337. ANIMATE.Parent = nil
  1338.  
  1339. while true do
  1340. Swait()
  1341. ANIMATE.Parent = nil
  1342. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1343. Humanoid = IT("Humanoid",Character)
  1344. end
  1345. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1346. v:Stop();
  1347. end
  1348. SINE = SINE + CHANGE
  1349. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1350. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1351. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1352. local WALKSPEEDVALUE = 12 / (Humanoid.WalkSpeed / 16)
  1353. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1354. 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)
  1355. 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)
  1356. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 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)
  1357. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -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)
  1358. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1359. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1360. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1361. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1362. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1363. end
  1364. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1365. ANIM = "Jump"
  1366. if ATTACK == false then
  1367. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1368. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1369. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1370. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1371. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1372. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1373. end
  1374. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1375. ANIM = "Fall"
  1376. if ATTACK == false then
  1377. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1378. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1379. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1380. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1381. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1382. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1383. end
  1384. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1385. ANIM = "Idle"
  1386. if ATTACK == false then
  1387. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1388. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1) - 1)) * ANGLES(RAD(0 - 5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1389. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.15, 0.5, 0.5) * ANGLES(RAD(-25 - 4 * COS(SINE / 12)), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1390. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, 0.5) * ANGLES(RAD(-30 - 4 * COS(SINE / 12)), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1391. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1392. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  1393. end
  1394. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1395. ANIM = "Walk"
  1396. if ATTACK == false then
  1397. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / Animation_Speed)
  1398. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, -0.025, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1399. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1400. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80 * SIN(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(5), RAD(0 - 40 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1401. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(-5), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1402. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(-5), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  1403. end
  1404. end
  1405. unanchor()
  1406. Humanoid.MaxHealth = "inf"
  1407. Humanoid.Health = "inf"
  1408. if Rooted == false then
  1409. Disable_Jump = false
  1410. Humanoid.WalkSpeed = Speed
  1411. elseif Rooted == true then
  1412. Disable_Jump = true
  1413. Humanoid.WalkSpeed = 0
  1414. end
  1415. sick.Volume = 2
  1416. sick.Pitch = 1
  1417. sick.Playing = true
  1418. sick.Parent = Torso
  1419. Humanoid.Name = MRANDOM(100000000,999999999)
  1420. Humanoid.PlatformStand = false
  1421. for _, c in pairs(Cam:GetChildren()) do
  1422. if game.Players:FindFirstChild(c.Name) == nil and c.ClassName == "BillboardGui" then
  1423. c:remove()
  1424. end
  1425. end
  1426. for LIST = 1, #WHITELIST do
  1427. if WHITELIST[LIST] ~= nil then
  1428. local CHARACTER = workspace:FindFirstChild(WHITELIST[LIST])
  1429. if CHARACTER then
  1430. if Cam:FindFirstChild(WHITELIST[LIST]) == nil then
  1431. local TORSO = CHARACTER:FindFirstChild("Torso") or CHARACTER:FindFirstChild("UpperTorso")
  1432. if TORSO then
  1433. CreateSound(201858045, Cam, 3, 1)
  1434. local GUI = Instance.new("BillboardGui",Cam)
  1435. GUI.Name = WHITELIST[LIST]
  1436. GUI.Size = UDim2.new(5,0,5,0)
  1437. GUI.Adornee = TORSO
  1438. local GUI2 = IT("ImageLabel",GUI)
  1439. GUI2.BackgroundTransparency = 1
  1440. GUI2.BorderSizePixel = 0
  1441. GUI2.ImageTransparency = 1
  1442. GUI2.Size = UDim2.new(1,0,1,0)
  1443. GUI2.SizeConstraint = "RelativeYY"
  1444. GUI.AlwaysOnTop = true
  1445. GUI2.Image = "http://www.roblox.com/asset/?id=142164463"
  1446. end
  1447. else
  1448. local GUI = Cam:FindFirstChild(WHITELIST[LIST])
  1449. if GUI.ImageLabel.ImageTransparency <= 1 then
  1450. GUI.ImageLabel.ImageTransparency = GUI.ImageLabel.ImageTransparency - 0.03
  1451. end
  1452. local TORSO = CHARACTER:FindFirstChild("Torso") or CHARACTER:FindFirstChild("UpperTorso")
  1453. if TORSO then
  1454. GUI.Adornee = TORSO
  1455. end
  1456. end
  1457. else
  1458. if Cam:FindFirstChild(WHITELIST[LIST]) then
  1459. Cam:FindFirstChild(WHITELIST[LIST]):remove()
  1460. end
  1461. end
  1462. else
  1463. if Cam:FindFirstChild(WHITELIST[LIST]) then
  1464. Cam:FindFirstChild(WHITELIST[LIST]):remove()
  1465. end
  1466. table.remove(WHITELIST,LIST)
  1467. end
  1468. end
  1469. if Head:FindFirstChild("face") then
  1470. Head.face.Texture = "rbxassetid://403870689"
  1471. end
  1472. BLINKLOOP = BLINKLOOP + 1
  1473. if BLINKLOOP >=650 then
  1474. BLINKLOOP = 0
  1475. Blink()
  1476. end
  1477. Humanoid.DisplayDistanceType = "None"
  1478. Humanoid.PlatformStand = false
  1479. refit()
  1480. for _, c in pairs(Torso:GetChildren()) do
  1481. if c:IsA("JointInstance") or c.ClassName == "Sound" then
  1482. else
  1483. c:remove()
  1484. end
  1485. end
  1486. end
  1487.  
  1488. --//=================================\\
  1489. --\\=================================//
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495. --//====================================================\\--
  1496. --|| END OF SCRIPT
  1497. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement