pakin2549

Untitled

Jan 1st, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --//====================================================\\--
  2. --|| Templates BY Aom[WCR]
  3. --\\====================================================//--
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,game,owner = owner,game
  6. local RealPlayer = Player
  7. do
  8. print("FE Compatibility code by Mokiros")
  9. local rp = RealPlayer
  10. script.Parent = rp.Character
  11.  
  12. --RemoteEvent for communicating
  13. local Event = Instance.new("RemoteEvent")
  14. Event.Name = "UserInput_Event"
  15.  
  16. --Fake event to make stuff like Mouse.KeyDown work
  17. local function fakeEvent()
  18. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  19. t.connect = t.Connect
  20. return t
  21. end
  22.  
  23. --Creating fake input objects with fake variables
  24. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  25. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  26. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  27. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  28. end}
  29. --Merged 2 functions into one by checking amount of arguments
  30. CAS.UnbindAction = CAS.BindAction
  31.  
  32. --This function will trigger the events that have been :Connect()'ed
  33. local function te(self,ev,...)
  34. local t = m[ev]
  35. if t and t._fakeEvent then
  36. for _,f in pairs(t.Functions) do
  37. f(...)
  38. end
  39. end
  40. end
  41. m.TrigEvent = te
  42. UIS.TrigEvent = te
  43.  
  44. Event.OnServerEvent:Connect(function(plr,io)
  45. if plr~=rp then return end
  46. m.Target = io.Target
  47. m.Hit = io.Hit
  48. if not io.isMouse then
  49. local b = io.UserInputState == Enum.UserInputState.Begin
  50. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  51. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67.  
  68. local Mouse = Player:GetMouse()
  69. local UIS = game:GetService("UserInputService")
  70. local input = function(io,a)
  71. if a then return end
  72. --Since InputObject is a client-side instance, we create and pass table instead
  73. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  74. end
  75. UIS.InputBegan:Connect(input)
  76. UIS.InputEnded:Connect(input)
  77.  
  78. local h,t
  79. --Give the server mouse data 30 times every second, but only if the values changed
  80. --If player is not moving their mouse, client won't fire events
  81. while wait(1/30) do
  82. if h~=Mouse.Hit or t~=Mouse.Target then
  83. h,t=Mouse.Hit,Mouse.Target
  84. Event:FireServer({isMouse=true,Target=t,Hit=h})
  85. end
  86. end]==],Player.Character)
  87.  
  88. ----Sandboxed game object that allows the usage of client-side methods and services
  89. --Real game object
  90. local _rg = game
  91.  
  92. --Metatable for fake service
  93. local fsmt = {
  94. __index = function(self,k)
  95. local s = rawget(self,"_RealService")
  96. if s then return s[k] end
  97. end,
  98. __newindex = function(self,k,v)
  99. local s = rawget(self,"_RealService")
  100. if s then s[k]=v end
  101. end,
  102. __call = function(self,...)
  103. local s = rawget(self,"_RealService")
  104. if s then return s(...) end
  105. end
  106. }
  107. local function FakeService(t,RealService)
  108. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  109. return setmetatable(t,fsmt)
  110. end
  111.  
  112. --Fake game object
  113. local g = {
  114. GetService = function(self,s)
  115. return self[s]
  116. end,
  117. Players = FakeService({
  118. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  119. },"Players"),
  120. UserInputService = FakeService(UIS,"UserInputService"),
  121. ContextActionService = FakeService(CAS,"ContextActionService"),
  122. }
  123. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  124. g.service = g.GetService
  125.  
  126. g.RunService = FakeService({
  127. RenderStepped = _rg:GetService("RunService").Heartbeat,
  128. BindToRenderStep = function(self,name,_,fun)
  129.  
  130. end,
  131. UnbindFromRenderStep = function(self,name)
  132. self._btrs[name]:Disconnect()
  133. end,
  134. },"RunService")
  135.  
  136. setmetatable(g,{
  137. __index=function(self,s)
  138. return _rg:GetService(s) or typeof(_rg[s])=="function"
  139. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  140. end,
  141. __newindex = fsmt.__newindex,
  142. __call = fsmt.__call
  143. })
  144. --Changing owner to fake player object to support owner:GetMouse()
  145. game,owner = g,g.Players.LocalPlayer
  146. end
  147.  
  148. Player = owner
  149. PlayerGui = Player.PlayerGui
  150. Cam = workspace.CurrentCamera
  151. Backpack = Player.Backpack
  152. Character = Player.Character
  153. Humanoid = Character.Humanoid
  154. Mouse = Player:GetMouse()
  155. RootPart = Character["HumanoidRootPart"]
  156. Torso = Character["Torso"]
  157. Head = Character["Head"]
  158. RightArm = Character["Right Arm"]
  159. LeftArm = Character["Left Arm"]
  160. RightLeg = Character["Right Leg"]
  161. LeftLeg = Character["Left Leg"]
  162. RootJoint = RootPart["RootJoint"]
  163. Neck = Torso["Neck"]
  164. RightShoulder = Torso["Right Shoulder"]
  165. LeftShoulder = Torso["Left Shoulder"]
  166. RightHip = Torso["Right Hip"]
  167. LeftHip = Torso["Left Hip"]
  168. local sick = Instance.new("Sound",Torso)
  169. sick.SoundId = "rbxassetid://1696333234"
  170. sick.Looped = true
  171. sick.Pitch = 1
  172. sick.Volume = 3
  173. sick.TimePosition = 0
  174. Character.Archivable = true
  175. Humanoid.DisplayDistanceType = "None"
  176. Head.BrickColor = BrickColor.new("Lavender")
  177. RightArm.BrickColor = BrickColor.new("Lavender")
  178. LeftArm.BrickColor = BrickColor.new("Lavender")
  179. Head.face.Texture = "rbxassetid://1211126983"
  180. Torso.BrickColor = BrickColor.new("Lavender")
  181. for i,v in pairs(Character:GetChildren()) do
  182. if v.ClassName == "Accessory" then
  183. v:Destroy()
  184. end
  185. end
  186.  
  187. if Character:FindFirstChild("Shirt") then
  188. Character["Shirt"]:remove()
  189. end
  190. if Character:FindFirstChild("Pants") then
  191. Character["Pants"]:remove()
  192. end
  193. local shirt = Instance.new("Shirt",Character)
  194. shirt.ShirtTemplate = "rbxassetid://1164502809"
  195. local pants = Instance.new("Pants",Character)
  196. pants.PantsTemplate = "rbxassetid://1164518521"
  197. local ll3part2 = Instance.new("Part")
  198. ll3part2.Parent = RightArm
  199. ll3part2.BrickColor = BrickColor.new("Pearl")
  200. ll3part2.CanCollide = false
  201. ll3part2.CFrame = RightArm.CFrame
  202. ll3part2.Size = Vector3.new(0.05, 0.05, 0.05)
  203. local mesh = Instance.new("SpecialMesh")
  204. mesh.MeshId = "rbxassetid://3660690278"
  205. mesh.TextureId = "rbxassetid://3660682316"
  206. mesh.Parent = ll3part2
  207. local weldll2 = Instance.new("Weld")
  208. weldll2.Part0 = ll3part2
  209. weldll2.Part1 = RightArm
  210. weldll2.C0 = CFrame.new(0,2,0)
  211. weldll2.Parent = RightArm
  212. ParticleEmitter0 = Instance.new("ParticleEmitter")
  213. ParticleEmitter1 = Instance.new("ParticleEmitter")
  214. ParticleEmitter2 = Instance.new("ParticleEmitter")
  215. ParticleEmitter3 = Instance.new("ParticleEmitter")
  216. ParticleEmitter0.Name = "Divine Pulse"
  217. ParticleEmitter0.Parent = ll3part2
  218. ParticleEmitter0.Speed = NumberRange.new(0, 0)
  219. ParticleEmitter0.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745))
  220. ParticleEmitter0.LightEmission = 1
  221. ParticleEmitter0.Texture = "rbxassetid://48315270"
  222. ParticleEmitter0.Transparency = NumberSequence.new(1,0,1)
  223. ParticleEmitter0.Size = NumberSequence.new(2,2)
  224. ParticleEmitter0.Lifetime = NumberRange.new(1, 1)
  225. ParticleEmitter0.LockedToPart = true
  226. ParticleEmitter0.Rate = 3
  227. ParticleEmitter1.Name = "Heaven's Rings"
  228. ParticleEmitter1.Parent = ll3part2
  229. ParticleEmitter1.Speed = NumberRange.new(0, 0)
  230. ParticleEmitter1.Rotation = NumberRange.new(9, 37)
  231. ParticleEmitter1.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
  232. ParticleEmitter1.LightEmission = 1
  233. ParticleEmitter1.Texture = "rbxassetid://1084976679"
  234. ParticleEmitter1.Transparency = NumberSequence.new(1,0.49374997615814,1)
  235. ParticleEmitter1.ZOffset = 0.10000000149012
  236. ParticleEmitter1.Size = NumberSequence.new(3,3)
  237. ParticleEmitter1.Lifetime = NumberRange.new(1, 1)
  238. ParticleEmitter1.LockedToPart = true
  239. ParticleEmitter1.Rate = 45
  240. ParticleEmitter1.RotSpeed = NumberRange.new(8, 37)
  241. ParticleEmitter2.Name = "Holy Rays"
  242. ParticleEmitter2.Parent = ll3part2
  243. ParticleEmitter2.Speed = NumberRange.new(0, 0)
  244. ParticleEmitter2.Rotation = NumberRange.new(-360, 360)
  245. ParticleEmitter2.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824))
  246. ParticleEmitter2.LightEmission = 1
  247. ParticleEmitter2.Texture = "rbxassetid://1053548563"
  248. ParticleEmitter2.Transparency = NumberSequence.new(1,0.73749995231628,1)
  249. ParticleEmitter2.Size = NumberSequence.new(4,4)
  250. ParticleEmitter2.Lifetime = NumberRange.new(1, 1)
  251. ParticleEmitter2.LockedToPart = true
  252. ParticleEmitter2.Rate = 12
  253. ParticleEmitter2.RotSpeed = NumberRange.new(-10, -10)
  254. ParticleEmitter3.Name = "Shrine"
  255. ParticleEmitter3.Parent = ll3part2
  256. ParticleEmitter3.Speed = NumberRange.new(0, 0)
  257. ParticleEmitter3.Rotation = NumberRange.new(37, 999)
  258. ParticleEmitter3.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706))
  259. ParticleEmitter3.LightEmission = 1
  260. ParticleEmitter3.Texture = "rbxassetid://270446290"
  261. ParticleEmitter3.ZOffset = 0.10000000149012
  262. ParticleEmitter3.Lifetime = NumberRange.new(1, 1)
  263. ParticleEmitter3.Rate = 45
  264. ParticleEmitter3.RotSpeed = NumberRange.new(-100, -100)
  265.  
  266. local naeeym2 = Instance.new("BillboardGui",Character)
  267. naeeym2.AlwaysOnTop = true
  268. naeeym2.Size = UDim2.new(5,35,2,35)
  269. naeeym2.StudsOffset = Vector3.new(0,3,0)
  270. naeeym2.Adornee = Character.Head
  271. naeeym2.Name = "Name"
  272. local tecks2 = Instance.new("TextLabel",naeeym2)
  273. tecks2.BackgroundTransparency = 1
  274. tecks2.TextScaled = true
  275. tecks2.BorderSizePixel = 0
  276. tecks2.Text = "Thanos"
  277. tecks2.Font = "Code"
  278. tecks2.TextSize = 35
  279. tecks2.TextTransparency = 1
  280. tecks2.TextStrokeTransparency = 1
  281. tecks2.TextColor3 = Color3.new(22,29,50)
  282. tecks2.Size = UDim2.new(1,0,0.5,0)
  283. tecks2.Parent = naeeym2
  284.  
  285. IT = Instance.new
  286. CF = CFrame.new
  287. VT = Vector3.new
  288. RAD = math.rad
  289. C3 = Color3.new
  290. UD2 = UDim2.new
  291. BRICKC = BrickColor.new
  292. ANGLES = CFrame.Angles
  293. EULER = CFrame.fromEulerAnglesXYZ
  294. COS = math.cos
  295. ACOS = math.acos
  296. SIN = math.sin
  297. ASIN = math.asin
  298. ABS = math.abs
  299. MRANDOM = math.random
  300. FLOOR = math.floor
  301.  
  302. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  303. local NEWMESH = IT(MESH)
  304. if MESH == "SpecialMesh" then
  305. NEWMESH.MeshType = MESHTYPE
  306. if MESHID ~= "nil" and MESHID ~= "" then
  307. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  308. end
  309. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  310. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  311. end
  312. end
  313. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  314. NEWMESH.Scale = SCALE
  315. NEWMESH.Parent = PARENT
  316. return NEWMESH
  317. end
  318.  
  319. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  320. local NEWPART = IT("Part")
  321. NEWPART.formFactor = FORMFACTOR
  322. NEWPART.Reflectance = REFLECTANCE
  323. NEWPART.Transparency = TRANSPARENCY
  324. NEWPART.CanCollide = false
  325. NEWPART.Locked = true
  326. NEWPART.Anchored = true
  327. if ANCHOR == false then
  328. NEWPART.Anchored = false
  329. end
  330. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  331. NEWPART.Name = NAME
  332. NEWPART.Size = SIZE
  333. NEWPART.Position = Torso.Position
  334. NEWPART.Material = MATERIAL
  335. NEWPART:BreakJoints()
  336. NEWPART.Parent = PARENT
  337. return NEWPART
  338. end
  339.  
  340. --//=================================\\
  341. --|| CUSTOMIZATION
  342. --\\=================================//
  343.  
  344. Player_Size = 1 --Size of the player.
  345. Animation_Speed = 3
  346. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  347.  
  348. local Speed = 16
  349. local Effects2 = {}
  350.  
  351. --//=================================\\
  352. --|| END OF CUSTOMIZATION
  353. --\\=================================//
  354.  
  355. local function weldBetween(a, b)
  356. local weldd = Instance.new("ManualWeld")
  357. weldd.Part0 = a
  358. weldd.Part1 = b
  359. weldd.C0 = CFrame.new()
  360. weldd.C1 = b.CFrame:inverse() * a.CFrame
  361. weldd.Parent = a
  362. return weldd
  363. end
  364.  
  365. --//=================================\\
  366. --|| USEFUL VALUES
  367. --\\=================================//
  368.  
  369. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  370. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  371. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  372. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  373. local CHANGEDEFENSE = 0
  374. local CHANGEDAMAGE = 0
  375. local CHANGEMOVEMENT = 0
  376. local ANIM = "Idle"
  377. local ATTACK = false
  378. local EQUIPPED = false
  379. local HOLD = false
  380. local COMBO = 1
  381. local Rooted = false
  382. local SINE = 0
  383. local KEYHOLD = false
  384. local CHANGE = 2 / Animation_Speed
  385. local WALKINGANIM = false
  386. local WALK = 0
  387. local VALUE1 = false
  388. local VALUE2 = false
  389. local ROBLOXIDLEANIMATION = IT("Animation")
  390. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  391. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  392. --ROBLOXIDLEANIMATION.Parent = Humanoid
  393. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  394. WEAPONGUI.Name = "Weapon GUI"
  395. local Weapon = IT("Folder", Character)
  396. Weapon.Name = "Weapon"
  397. local Effects = IT("Folder", Character)
  398. Effects.Name = "Effects"
  399. local Weapon2 = IT("Folder",Character)
  400. Weapon2.Name = "Weapon2"
  401. local ANIMATOR = Humanoid.Animator
  402. local ANIMATE = Character.Animate
  403. local UNANCHOR = true
  404. local LAUGHS = {834001699,834001752,834001797,834001828}
  405. local SONGS = {534861083,530959353,1534958855,0}
  406. local CHOICE = MRANDOM(1,4)
  407. local PLAYMAINANIM = true
  408. local INTRO = false
  409. local TRANSFORMED = false
  410. local INSTANT = false
  411. local MODE = "GoodCop"
  412.  
  413. --//=================================\\
  414. --\\=================================//
  415.  
  416.  
  417. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  418. local DIRECTION = CF(StartPos,EndPos).lookVector
  419. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  420. end
  421.  
  422. --//=================================\\
  423. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  424. --\\=================================//
  425.  
  426. ArtificialHB = Instance.new("BindableEvent", script)
  427. ArtificialHB.Name = "ArtificialHB"
  428.  
  429. script:WaitForChild("ArtificialHB")
  430.  
  431. frame = Frame_Speed
  432. tf = 0
  433. allowframeloss = false
  434. tossremainder = false
  435. lastframe = tick()
  436. script.ArtificialHB:Fire()
  437.  
  438. game:GetService("RunService").Heartbeat:connect(function(s, p)
  439. tf = tf + s
  440. if tf >= frame then
  441. if allowframeloss then
  442. script.ArtificialHB:Fire()
  443. lastframe = tick()
  444. else
  445. for i = 1, math.floor(tf / frame) do
  446. script.ArtificialHB:Fire()
  447. end
  448. lastframe = tick()
  449. end
  450. if tossremainder then
  451. tf = 0
  452. else
  453. tf = tf - frame * math.floor(tf / frame)
  454. end
  455. end
  456. end)
  457.  
  458. --//=================================\\
  459. --\\=================================//
  460.  
  461.  
  462.  
  463.  
  464.  
  465. --//=================================\\
  466. --|| SOME FUNCTIONS
  467. --\\=================================//
  468.  
  469. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  470. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  471. end
  472.  
  473. function PositiveAngle(NUMBER)
  474. if NUMBER >= 0 then
  475. NUMBER = 0
  476. end
  477. return NUMBER
  478. end
  479.  
  480. function NegativeAngle(NUMBER)
  481. if NUMBER <= 0 then
  482. NUMBER = 0
  483. end
  484. return NUMBER
  485. end
  486.  
  487. function Swait(NUMBER)
  488. if NUMBER == 0 or NUMBER == nil then
  489. ArtificialHB.Event:wait()
  490. else
  491. for i = 1, NUMBER do
  492. ArtificialHB.Event:wait()
  493. end
  494. end
  495. end
  496.  
  497. function QuaternionFromCFrame(cf)
  498. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  499. local trace = m00 + m11 + m22
  500. if trace > 0 then
  501. local s = math.sqrt(1 + trace)
  502. local recip = 0.5 / s
  503. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  504. else
  505. local i = 0
  506. if m11 > m00 then
  507. i = 1
  508. end
  509. if m22 > (i == 0 and m00 or m11) then
  510. i = 2
  511. end
  512. if i == 0 then
  513. local s = math.sqrt(m00 - m11 - m22 + 1)
  514. local recip = 0.5 / s
  515. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  516. elseif i == 1 then
  517. local s = math.sqrt(m11 - m22 - m00 + 1)
  518. local recip = 0.5 / s
  519. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  520. elseif i == 2 then
  521. local s = math.sqrt(m22 - m00 - m11 + 1)
  522. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  523. end
  524. end
  525. end
  526.  
  527. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  528. local xs, ys, zs = x + x, y + y, z + z
  529. local wx, wy, wz = w * xs, w * ys, w * zs
  530. local xx = x * xs
  531. local xy = x * ys
  532. local xz = x * zs
  533. local yy = y * ys
  534. local yz = y * zs
  535. local zz = z * zs
  536. 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))
  537. end
  538.  
  539. function QuaternionSlerp(a, b, t)
  540. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  541. local startInterp, finishInterp;
  542. if cosTheta >= 0.0001 then
  543. if (1 - cosTheta) > 0.0001 then
  544. local theta = ACOS(cosTheta)
  545. local invSinTheta = 1 / SIN(theta)
  546. startInterp = SIN((1 - t) * theta) * invSinTheta
  547. finishInterp = SIN(t * theta) * invSinTheta
  548. else
  549. startInterp = 1 - t
  550. finishInterp = t
  551. end
  552. else
  553. if (1 + cosTheta) > 0.0001 then
  554. local theta = ACOS(-cosTheta)
  555. local invSinTheta = 1 / SIN(theta)
  556. startInterp = SIN((t - 1) * theta) * invSinTheta
  557. finishInterp = SIN(t * theta) * invSinTheta
  558. else
  559. startInterp = t - 1
  560. finishInterp = t
  561. end
  562. end
  563. 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
  564. end
  565.  
  566. function Clerp(a, b, t)
  567. local qa = {QuaternionFromCFrame(a)}
  568. local qb = {QuaternionFromCFrame(b)}
  569. local ax, ay, az = a.x, a.y, a.z
  570. local bx, by, bz = b.x, b.y, b.z
  571. local _t = 1 - t
  572. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  573. end
  574.  
  575. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  576. local frame = IT("Frame")
  577. frame.BackgroundTransparency = TRANSPARENCY
  578. frame.BorderSizePixel = BORDERSIZEPIXEL
  579. frame.Position = POSITION
  580. frame.Size = SIZE
  581. frame.BackgroundColor3 = COLOR
  582. frame.BorderColor3 = BORDERCOLOR
  583. frame.Name = NAME
  584. frame.Parent = PARENT
  585. return frame
  586. end
  587.  
  588. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  589. local label = IT("TextLabel")
  590. label.BackgroundTransparency = 1
  591. label.Size = UD2(1, 0, 1, 0)
  592. label.Position = UD2(0, 0, 0, 0)
  593. label.TextColor3 = TEXTCOLOR
  594. label.TextStrokeTransparency = STROKETRANSPARENCY
  595. label.TextTransparency = TRANSPARENCY
  596. label.FontSize = TEXTFONTSIZE
  597. label.Font = TEXTFONT
  598. label.BorderSizePixel = BORDERSIZEPIXEL
  599. label.TextScaled = false
  600. label.Text = TEXT
  601. label.Name = NAME
  602. label.Parent = PARENT
  603. return label
  604. end
  605.  
  606. function NoOutlines(PART)
  607. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  608. end
  609.  
  610.  
  611. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  612. local NEWWELD = IT(TYPE)
  613. NEWWELD.Part0 = PART0
  614. NEWWELD.Part1 = PART1
  615. NEWWELD.C0 = C0
  616. NEWWELD.C1 = C1
  617. NEWWELD.Parent = PARENT
  618. return NEWWELD
  619. end
  620.  
  621. function CreateSound(ID, PARENT, VOLUME, PITCH)
  622. local NEWSOUND = nil
  623. coroutine.resume(coroutine.create(function()
  624. NEWSOUND = IT("Sound", PARENT)
  625. NEWSOUND.Volume = VOLUME
  626. NEWSOUND.Pitch = PITCH
  627. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  628. Swait()
  629. NEWSOUND:play()
  630. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  631. end))
  632. return NEWSOUND
  633. end
  634.  
  635. function CFrameFromTopBack(at, top, back)
  636. local right = top:Cross(back)
  637. 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)
  638. end
  639.  
  640. function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
  641. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  642. local mesh = IT("SpecialMesh",wave)
  643. mesh.MeshType = "FileMesh"
  644. mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  645. mesh.Scale = SIZE
  646. mesh.Offset = VT(0,0,0)
  647. wave.CFrame = CFRAME
  648. coroutine.resume(coroutine.create(function(PART)
  649. for i = 1, WAIT do
  650. Swait()
  651. mesh.Scale = mesh.Scale + GROW
  652. if DOESROT == true then
  653. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  654. end
  655. wave.Transparency = wave.Transparency + (0.5/WAIT)
  656. if wave.Transparency > 0.99 then
  657. wave:remove()
  658. end
  659. end
  660. end))
  661. end
  662.  
  663. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  664. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  665. local mesh = IT("SpecialMesh",wave)
  666. mesh.MeshType = "Sphere"
  667. mesh.Scale = SIZE
  668. mesh.Offset = VT(0,0,0)
  669. wave.CFrame = CFRAME
  670. coroutine.resume(coroutine.create(function(PART)
  671. for i = 1, WAIT do
  672. Swait()
  673. mesh.Scale = mesh.Scale + GROW
  674. wave.Transparency = wave.Transparency + (1/WAIT)
  675. if wave.Transparency > 0.99 then
  676. wave:remove()
  677. end
  678. end
  679. end))
  680. end
  681.  
  682. function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
  683. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  684. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  685. wave.CFrame = CFRAME
  686. coroutine.resume(coroutine.create(function(PART)
  687. for i = 1, WAIT do
  688. Swait()
  689. mesh.Scale = mesh.Scale * GROW
  690. wave.Transparency = wave.Transparency + (0.5/WAIT)
  691. if wave.Transparency > 0.99 then
  692. wave:remove()
  693. end
  694. end
  695. end))
  696. end
  697.  
  698. function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
  699. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
  700. local mesh = IT("BlockMesh",wave)
  701. wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
  702. coroutine.resume(coroutine.create(function(PART)
  703. for i = 1, WAIT do
  704. Swait()
  705. mesh.Scale = mesh.Scale + GROW
  706. wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
  707. wave.Transparency = wave.Transparency + (1/WAIT)
  708. if wave.Transparency > 0.99 then
  709. wave:remove()
  710. end
  711. end
  712. end))
  713. end
  714.  
  715. function MakeForm(PART,TYPE)
  716. if TYPE == "Cyl" then
  717. local MSH = IT("CylinderMesh",PART)
  718. elseif TYPE == "Ball" then
  719. local MSH = IT("SpecialMesh",PART)
  720. MSH.MeshType = "Sphere"
  721. elseif TYPE == "Wedge" then
  722. local MSH = IT("SpecialMesh",PART)
  723. MSH.MeshType = "Wedge"
  724. end
  725. end
  726.  
  727. function CheckTableForString(Table, String)
  728. for i, v in pairs(Table) do
  729. if string.find(string.lower(String), string.lower(v)) then
  730. return true
  731. end
  732. end
  733. return false
  734. end
  735.  
  736.  
  737.  
  738. Debris = game:GetService("Debris")
  739.  
  740. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  741. local Direction = CFrame.new(StartPos, Vec).lookVector
  742. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  743. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  744. if RayHit and CheckIntangible(RayHit) then
  745. if DelayIfHit then
  746. wait()
  747. end
  748. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  749. end
  750. return RayHit, RayPos, RayNormal
  751. end
  752.  
  753. function RayCast(Position, Direction, MaxDistance, IgnoreList)
  754. return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList)
  755. end
  756.  
  757. function turnto(position)
  758. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  759. end
  760.  
  761. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  762. PLAYMAINANIM = false
  763. if WhichPose == "Cast1" then
  764. for i=0, Time, 0.1 / Animation_Speed do
  765. Swait()
  766. if Magic == true then
  767. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  768. end
  769. if Gyro ~= nil and Gyro ~= false then
  770. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  771. end
  772. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  773. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  774. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  775. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  776. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  777. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  778. end
  779. elseif WhichPose == "Cast2" then
  780. for i=0, Time, 0.1 / Animation_Speed do
  781. Swait()
  782. if Magic == true then
  783. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  784. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  785. end
  786. if Gyro ~= nil and Gyro ~= false then
  787. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  788. end
  789. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  790. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  791. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  792. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  793. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  794. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  795. end
  796. elseif WhichPose == "RightArmUp" then
  797. for i=0, Time, 0.1 / Animation_Speed do
  798. Swait()
  799. if Magic == true then
  800. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  801. end
  802. if Gyro ~= nil and Gyro ~= false then
  803. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  804. end
  805. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  806. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  807. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  808. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  809. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  810. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  811. end
  812. elseif WhichPose == "Taunt" then
  813. for i=0, Time, 0.1 / Animation_Speed do
  814. Swait()
  815. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  816. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  817. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  818. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  819. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  820. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  821. end
  822. CreateSound(221057812,Torso,10,1,false)
  823. for i=0, Time*2, 0.1 / Animation_Speed do
  824. Swait()
  825. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  826. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  827. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  828. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  829. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  830. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  831. end
  832. for i=0, Time, 0.1 / Animation_Speed do
  833. Swait()
  834. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  835. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  836. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  837. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  838. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  839. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  840. end
  841. elseif WhichPose == "Prepare key" then
  842. for i=0, Time, 0.1 / Animation_Speed do
  843. Swait()
  844. if Gyro ~= nil and Gyro ~= false then
  845. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  846. end
  847. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  848. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  849. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  850. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  851. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  852. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  853. end
  854. elseif WhichPose == "Turn key" then
  855. for i=0, Time, 0.1 / Animation_Speed do
  856. Swait()
  857. if Gyro ~= nil and Gyro ~= false then
  858. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  859. end
  860. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  861. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  862. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  863. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  864. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  865. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  866. end
  867. end
  868. PLAYMAINANIM = true
  869. end
  870.  
  871. --//=================================\\
  872. --|| SPEECH
  873. --\\=================================//
  874.  
  875. function Chatter(Text,Timer)
  876. local chat = coroutine.wrap(function()
  877. if Character:FindFirstChild("SpeechBoard")~= nil then
  878. Character:FindFirstChild("SpeechBoard"):destroy()
  879. end
  880. local naeeym2 = IT("BillboardGui",Character)
  881. naeeym2.Size = UD2(0,100,0,40)
  882. naeeym2.StudsOffset = Vector3.new(0,2,0)
  883. naeeym2.Adornee = Character.Head
  884. naeeym2.Name = "SpeechBoard"
  885. naeeym2.AlwaysOnTop = true
  886. local tecks2 = IT("TextLabel",naeeym2)
  887. tecks2.BackgroundTransparency = 1
  888. tecks2.BorderSizePixel = 0
  889. tecks2.Text = ""
  890. tecks2.Font = "Legacy"
  891. tecks2.TextSize = 15
  892. tecks2.TextStrokeTransparency = 1
  893. tecks2.TextColor3 = Color3.new(242,243,243)
  894. tecks2.TextStrokeColor3 = Color3.new(242,243,243)
  895. tecks2.Size = UDim2.new(1,0,0.5,0)
  896. for i = 1,string.len(Text),1 do
  897. CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false)
  898. tecks2.Text = string.sub(Text,1,i)
  899. wait(Timer)
  900. end
  901. wait(1)
  902. naeeym2:Destroy()
  903. end)
  904. chat()
  905. end
  906.  
  907. function chatfunc(text,waitt)
  908. local chat = coroutine.wrap(function()
  909. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  910. Character:FindFirstChild("TalkingBillBoard"):destroy()
  911. end
  912. local naeeym2 = Instance.new("BillboardGui",Character)
  913. naeeym2.Size = UDim2.new(0,100,0,40)
  914. naeeym2.StudsOffset = Vector3.new(0,5,0)
  915. naeeym2.Adornee = Character.Head
  916. naeeym2.Name = "TalkingBillBoard"
  917. naeeym2.AlwaysOnTop = true
  918. local tecks2 = Instance.new("TextLabel",naeeym2)
  919. tecks2.BackgroundTransparency = 1
  920. tecks2.BorderSizePixel = 0
  921. tecks2.Text = ""
  922. tecks2.Font = "SciFi"
  923. tecks2.TextSize = 30
  924. tecks2.TextStrokeTransparency = 1
  925. tecks2.TextColor3 = SKILLTEXTCOLOR
  926. tecks2.TextStrokeColor3 = Color3.new(27,42,53)
  927. tecks2.Size = UDim2.new(1,0,0.5,0)
  928. for i = 1,string.len(text),1 do
  929. tecks2.Text = string.sub(text,1,i)
  930. Swait()
  931. end
  932. wait(waitt)
  933. coroutine.resume(coroutine.create(function()
  934. for i = 1, 10 do
  935. tecks2.TextTransparency = tecks2.TextTransparency + 0.1
  936. Swait()
  937. end
  938. naeeym2:Destroy()
  939. end))
  940. end)
  941. chat()
  942. end
  943.  
  944.  
  945. function SpawnTrail(FROM,TO,BIG)
  946. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  947. MakeForm(TRAIL,"Cyl")
  948. local DIST = (FROM - TO).Magnitude
  949. if BIG == true then
  950. TRAIL.Size = VT(10,DIST,10)
  951. else
  952. TRAIL.Size = VT(0.25,DIST,0.25)
  953. end
  954. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  955. coroutine.resume(coroutine.create(function()
  956. for i = 1, 5 do
  957. Swait()
  958. TRAIL.Transparency = TRAIL.Transparency + 0.1
  959. end
  960. TRAIL:remove()
  961. end))
  962. end
  963.  
  964. function WACKYEFFECT(Table)
  965. local TYPE = (Table.EffectType or "Sphere")
  966. local SIZE = (Table.Size or VT(1,1,1))
  967. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  968. local TRANSPARENCY = (Table.Transparency or 0)
  969. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  970. local CFRAME = (Table.CFrame or Torso.CFrame)
  971. local MOVEDIRECTION = (Table.MoveToPos or nil)
  972. local ROTATION1 = (Table.RotationX or 0)
  973. local ROTATION2 = (Table.RotationY or 0)
  974. local ROTATION3 = (Table.RotationZ or 0)
  975. local MATERIAL = (Table.Material or "Neon")
  976. local COLOR = (Table.Color or C3(242,243,243))
  977. local TIME = (Table.Time or 45)
  978. local SOUNDID = (Table.SoundID or nil)
  979. local SOUNDPITCH = (Table.SoundPitch or nil)
  980. local SOUNDVOLUME = (Table.SoundVolume or nil)
  981. coroutine.resume(coroutine.create(function()
  982. local PLAYSSOUND = false
  983. local SOUND = nil
  984. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  985. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  986. PLAYSSOUND = true
  987. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  988. end
  989. EFFECT.Color = COLOR
  990. local MSH = nil
  991. if TYPE == "Sphere" then
  992. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  993. elseif TYPE == "Block" then
  994. MSH = IT("BlockMesh",EFFECT)
  995. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  996. elseif TYPE == "Wave" then
  997. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,-SIZE.X/8))
  998. elseif TYPE == "Ring" then
  999. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1000. elseif TYPE == "Slash" then
  1001. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1002. elseif TYPE == "Round Slash" then
  1003. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1004. elseif TYPE == "Swirl" then
  1005. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
  1006. elseif TYPE == "Skull" then
  1007. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
  1008. elseif TYPE == "Crystal" then
  1009. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0))
  1010. end
  1011. if MSH ~= nil then
  1012. local MOVESPEED = nil
  1013. if MOVEDIRECTION ~= nil then
  1014. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1015. end
  1016. local GROWTH = SIZE - ENDSIZE
  1017. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1018. if TYPE == "Block" then
  1019. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1020. else
  1021. EFFECT.CFrame = CFRAME
  1022. end
  1023. for LOOP = 1, TIME+1 do
  1024. Swait()
  1025. MSH.Scale = MSH.Scale - GROWTH/TIME
  1026. if TYPE == "Wave" then
  1027. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1028. end
  1029. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1030. if TYPE == "Block" then
  1031. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1032. else
  1033. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1034. end
  1035. if MOVEDIRECTION ~= nil then
  1036. local ORI = EFFECT.Orientation
  1037. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1038. EFFECT.Orientation = ORI
  1039. end
  1040. end
  1041. if PLAYSSOUND == false then
  1042. EFFECT:remove()
  1043. else
  1044. SOUND.Stopped:Connect(function()
  1045. EFFECT:remove()
  1046. end)
  1047. end
  1048. else
  1049. if PLAYSSOUND == false then
  1050. EFFECT:remove()
  1051. else
  1052. repeat Swait() until SOUND.Playing == false
  1053. EFFECT:remove()
  1054. end
  1055. end
  1056. end))
  1057. end
  1058.  
  1059.  
  1060. --//=================================\\
  1061. --|| DAMAGING
  1062. --\\=================================//
  1063.  
  1064. function ApplyDamage(Humanoid,Damage,OneShot)
  1065. Damage = Damage * DAMAGEMULTIPLIER
  1066. local DEAD = false
  1067. if Humanoid.Health < 2000 and OneShot == false then
  1068. if Humanoid.Health - Damage > 0 then
  1069. Humanoid.Health = Humanoid.Health - Damage
  1070. else
  1071. Humanoid.Parent:BreakJoints()
  1072. DEAD = true
  1073. end
  1074. else
  1075. DEAD = true
  1076. Humanoid.Parent:BreakJoints()
  1077. end
  1078. if DEAD == true then
  1079. local PARTS = {}
  1080. for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
  1081. if CHILD:IsA("BasePart") then
  1082. table.insert(PARTS,CHILD)
  1083. end
  1084. end
  1085. coroutine.resume(coroutine.create(function()
  1086. wait(2)
  1087. repeat
  1088. Swait()
  1089. local PIECE = nil
  1090. if MRANDOM(1,5) == 1 then
  1091. for E = 1, #PARTS do
  1092. if MRANDOM(1,5) == 1 then
  1093. PIECE = PARTS[E]
  1094. table.remove(PARTS,E)
  1095. break
  1096. end
  1097. end
  1098. end
  1099. if PIECE ~= nil then
  1100. if PIECE.Name == "Head" then
  1101. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(242,243,243), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1102. else
  1103. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(242,243,243), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1104. end
  1105. PIECE:remove()
  1106. end
  1107. until #PARTS == 0
  1108. end))
  1109. end
  1110. end
  1111.  
  1112.  
  1113. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1114. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1115. defence.Name = ("HitBy"..Player.Name)
  1116. game:GetService("Debris"):AddItem(defence, 0.001)
  1117. Damage = Damage * DAMAGEMULTIPLIER
  1118. if Humanoid.Health ~= 0 then
  1119. local CritChance = MRANDOM(1,100)
  1120. if Damage > Humanoid.Health then
  1121. Damage = math.ceil(Humanoid.Health)
  1122. if Damage == 0 then
  1123. Damage = 0.1
  1124. end
  1125. end
  1126. Humanoid.Health = Humanoid.Health - Damage
  1127. end
  1128. end
  1129.  
  1130. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1131. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1132. defence.Name = ("HitBy"..Player.Name)
  1133. game:GetService("Debris"):AddItem(defence, 0.001)
  1134. Damage = Damage * DAMAGEMULTIPLIER
  1135. if Humanoid.Health ~= 0 then
  1136. local CritChance = MRANDOM(1,100)
  1137. if Damage > Humanoid.Health then
  1138. Damage = math.ceil(Humanoid.Health)
  1139. if Damage == 0 then
  1140. Damage = 0.1
  1141. end
  1142. end
  1143. Humanoid.Health = Humanoid.Health - Damage
  1144. end
  1145. end
  1146.  
  1147. function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  1148. local CHILDREN = workspace:GetDescendants()
  1149. for index, CHILD in pairs(CHILDREN) do
  1150. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1151. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1152. if HUM then
  1153. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1154. if TORSO then
  1155. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1156. if INSTAKILL == true then
  1157. CHILD:BreakJoints()
  1158. else
  1159. local DMG = MRANDOM(MINDMG,MAXDMG)
  1160. ApplyDamage(HUM,DMG,TORSO)
  1161. end
  1162. if FLING > 0 then
  1163. for _, c in pairs(CHILD:GetChildren()) do
  1164. if c:IsA("BasePart") then
  1165. local bv = Instance.new("BodyVelocity")
  1166. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1167. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1168. bv.Parent = c
  1169. Debris:AddItem(bv,0.05)
  1170. end
  1171. end
  1172. end
  1173. end
  1174. end
  1175. end
  1176. end
  1177. end
  1178. end
  1179.  
  1180. function CameraEnshaking(Length, Intensity)
  1181. coroutine.resume(coroutine.create(function()
  1182. local intensity = 1 * Intensity
  1183. local rotM = 0.01 * Intensity
  1184. for i = 0, Length, 0.1 do
  1185. Swait()
  1186. intensity = intensity - 0.05 * Intensity / Length
  1187. rotM = rotM - 5.0E-4 * Intensity / Length
  1188. Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)))
  1189. Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM)
  1190. end
  1191. Humanoid.CameraOffset = Vector3.new(0, 0, 0)
  1192. end))
  1193. end
  1194.  
  1195. function KillChildren(v)
  1196. v:BreakJoints()
  1197. for _, c in pairs(v:GetChildren()) do
  1198. if c:IsA("BasePart") then
  1199. if c.Transparency < 1 then
  1200. if c:FindFirstChildOfClass("Decal") then
  1201. c:FindFirstChildOfClass("Decal"):remove()
  1202. end
  1203. particles(c)
  1204. c.PE.Enabled = true
  1205. c.Parent = Effects
  1206. c.CanCollide = false
  1207. c.Material = "Neon"
  1208. c.Color = C3(242,243,243)
  1209. c.Transparency = 1
  1210. local grav = Instance.new("BodyPosition",c)
  1211. grav.P = 20000
  1212. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1213. grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  1214. grav.Name = "GravityForce"
  1215. coroutine.resume(coroutine.create(function()
  1216. for i = 1, 20 do
  1217. Swait()
  1218. c.Transparency = c.Transparency + 1/20
  1219. end
  1220. c.PE.Enabled = false
  1221. Debris:AddItem(c,2)
  1222. end))
  1223. end
  1224. end
  1225. end
  1226. end
  1227.  
  1228. function ApplyAoE(POSITION,RANGE)
  1229. local CHILDREN = workspace:GetDescendants()
  1230. for index, CHILD in pairs(CHILDREN) do
  1231. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1232. local LISTED = false
  1233. for LIST = 1, #WHITELIST do
  1234. if WHITELIST[LIST] ~= nil then
  1235. if CHILD.Name == WHITELIST[LIST] then
  1236. LISTED = true
  1237. end
  1238. end
  1239. end
  1240. if LISTED == false then
  1241. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1242. if HUM then
  1243. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1244. if TORSO then
  1245. if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  1246. KillChildren(CHILD)
  1247. end
  1248. end
  1249. end
  1250. end
  1251. end
  1252. end
  1253. end
  1254.  
  1255. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  1256. coroutine.resume(coroutine.create(function()
  1257. local METEOR = IT("Model",Effects)
  1258. METEOR.Name = "Meteorite"
  1259. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  1260. METEOR.PrimaryPart = CENTER
  1261. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  1262. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1263. for i = 1, 15 do
  1264. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE)
  1265. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1266. end
  1267. if ISDEBREE ~= true then
  1268. 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))))
  1269. else
  1270. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  1271. end
  1272. local IMPACT = false
  1273. CreateSound(463593339, CENTER, 10, 0.6)
  1274. if SIZE >= 3.5 then
  1275. for i = 1, MRANDOM(3,7) do
  1276. 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)
  1277. end
  1278. end
  1279. for i = 1, 200 do
  1280. Swait()
  1281. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  1282. if HITFLOOR == nil then
  1283. local ORI = CENTER.Orientation
  1284. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  1285. else
  1286. if HITFLOOR.Anchored == true then
  1287. CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  1288. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  1289. end
  1290. IMPACT = true
  1291. break
  1292. end
  1293. end
  1294. if IMPACT == true then
  1295. 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(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5})
  1296. 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(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5})
  1297. 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(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5})
  1298. ApplyAoE(CENTER.Position,30*SIZE)
  1299. end
  1300. METEOR:remove()
  1301. end))
  1302. end
  1303.  
  1304. function ApplyAoE4(POSITION,RANGE,BRUTAL)
  1305. local CHILDREN = workspace:GetDescendants()
  1306. for index, CHILD in pairs(CHILDREN) do
  1307. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1308. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1309. if HUM then
  1310. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1311. if TORSO then
  1312. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1313. if BRUTAL == true then
  1314. Kill(CHILD)
  1315. else
  1316. CHILD:BreakJoints()
  1317. end
  1318. end
  1319. end
  1320. end
  1321. end
  1322. end
  1323. end
  1324.  
  1325. function Kill(Char)
  1326. local NewCharacter = IT("Model",Effects)
  1327. NewCharacter.Name = "Ow im ded ;-;"
  1328. for _, c in pairs(Char:GetDescendants()) do
  1329. if c:IsA("BasePart") and c.Transparency == 0 then
  1330. c:BreakJoints()
  1331. c.Material = "Glass"
  1332. c.Color = C3(245,205,48)
  1333. c.CanCollide = true
  1334. c.Transparency = 0.3
  1335. if c:FindFirstChildOfClass("SpecialMesh") then
  1336. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1337. end
  1338. if c.Name == "Head" then
  1339. c:ClearAllChildren()
  1340. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1341. end
  1342. if c.ClassName == "MeshPart" then
  1343. c.TextureID = ""
  1344. end
  1345. if c:FindFirstChildOfClass("BodyPosition") then
  1346. c:FindFirstChildOfClass("BodyPosition"):remove()
  1347. end
  1348. if c:FindFirstChildOfClass("ParticleEmitter") then
  1349. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1350. end
  1351. c.Parent = NewCharacter
  1352. c.Name = "DeadPart"
  1353. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1354. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1355. end
  1356. end
  1357. Char:remove()
  1358. Debris:AddItem(NewCharacter,5)
  1359. end
  1360.  
  1361. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1362. local CHILDREN = workspace:GetDescendants()
  1363. for index, CHILD in pairs(CHILDREN) do
  1364. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1365. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1366. if HUM then
  1367. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1368. if TORSO then
  1369. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1370. if BRUTAL == true then
  1371. Kill(CHILD)
  1372. else
  1373. CHILD:BreakJoints()
  1374. end
  1375. end
  1376. end
  1377. end
  1378. end
  1379. end
  1380. end
  1381.  
  1382. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1383. local CHILDREN = workspace:GetDescendants()
  1384. for index, CHILD in pairs(CHILDREN) do
  1385. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1386. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1387. if HUM then
  1388. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1389. if TORSO then
  1390. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1391. if BRUTAL == true then
  1392. Kill(CHILD)
  1393. else
  1394. CHILD:BreakJoints()
  1395. end
  1396. end
  1397. end
  1398. end
  1399. end
  1400. end
  1401. end
  1402.  
  1403.  
  1404.  
  1405. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1406. local CHILDREN = workspace:GetDescendants()
  1407. for index, CHILD in pairs(CHILDREN) do
  1408. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1409. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1410. if HUM then
  1411. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1412. if TORSO then
  1413. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1414. if ISBANISH == true then
  1415. Banish(CHILD)
  1416. else
  1417. if ISBANISH == "Gravity" then
  1418. HUM.PlatformStand = true
  1419. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1420. local grav = Instance.new("BodyPosition",TORSO)
  1421. grav.D = 15
  1422. grav.P = 20000
  1423. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1424. grav.position = TORSO.Position
  1425. grav.Name = "V3BanishForce"..Player.Name
  1426. else
  1427. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1428. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1429. end
  1430. else
  1431. HUM.PlatformStand = false
  1432. end
  1433. end
  1434. elseif ISBANISH == "Gravity" then
  1435. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1436. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1437. HUM.PlatformStand = false
  1438. end
  1439. end
  1440. end
  1441. end
  1442. end
  1443. end
  1444. end
  1445.  
  1446. function SpawnSmite(POS)
  1447. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  1448. local EMITPOS = HITPOS
  1449. if HITFLOOR ~= nil then
  1450. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1451. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  1452. EMITPOS = HITPOS
  1453. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1454. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  1455. EMITPOS = HITPOS
  1456. end
  1457. end
  1458. if HITFLOOR ~= nil then
  1459. ApplyAoE(EMITPOS,10)
  1460. 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(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5})
  1461. 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(245,205,48), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1462. 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(245,205,48), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1463. for i = 1, 5 do
  1464. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  1465. 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(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5})
  1466. end
  1467. end
  1468. end
  1469.  
  1470. --//=================================\\
  1471. --|| TRANSFORMATIONS
  1472. --\\=================================//
  1473.  
  1474. function Switch()
  1475. ATTACK = true
  1476. Rooted = true
  1477. if MODE == "GoodCop" then
  1478. CreateSound("649634100", Head, 10, 0.5)
  1479. for i = 0, 3, 0.1 / Animation_Speed do
  1480. Swait()
  1481. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1482. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1483. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1484. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1485. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1486. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1487. end
  1488. CreateSound("289842971", RightArm, 10, 1)
  1489. for i = 0, 6, 0.1 / Animation_Speed do
  1490. Swait()
  1491. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 0.5 / Animation_Speed)
  1492. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1493. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(8)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1494. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1495. RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1496. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1497. end
  1498. Weapon.Parent = nil
  1499. Weapon2.Parent = Character
  1500. for i = 0, 1, 0.1 / Animation_Speed do
  1501. Swait()
  1502. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed)
  1503. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1504. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.25, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1505. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1506. RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1507. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1508. end
  1509. for i=0, 0.6, 0.1 / Animation_Speed do
  1510. Swait()
  1511. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
  1512. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  1513. if MRANDOM(1,7) == 1 then
  1514. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1515. end
  1516. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1517. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1518. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1519. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1520. end
  1521. MODE = "BadCop"
  1522. tecks2.Text = "Skid Gun"
  1523. sick.SoundId = "rbxassetid://212675193"
  1524. sick.TimePosition = 0
  1525. elseif MODE == "BadCop" then
  1526. CreateSound(147722227, Torso, 4, 1.3, false)
  1527. for i=0, 0.3, 0.1 / Animation_Speed do
  1528. Swait()
  1529. 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)
  1530. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed)
  1531. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.4, 0.75, -0.3) * 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)
  1532. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1533. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1534. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  1535. end
  1536. MODE = "GoodCop"
  1537. Weapon.Parent = Character
  1538. Weapon2.Parent = nil
  1539. tecks2.Text = "Final Gun"
  1540. sick.SoundId = "rbxassetid://1696333234"
  1541. sick.TimePosition = 22
  1542. end
  1543. ATTACK = false
  1544. Rooted = false
  1545. end
  1546. --//=================================\\
  1547. --|| ATTACK FUNCTIONS AND STUFF
  1548. --\\=================================//
  1549.  
  1550. function Intro()
  1551. ATTACK = true
  1552. Rooted = true
  1553. repeat
  1554. Swait()
  1555. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1556. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-3.5 * COS(SINE / 12)), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1557. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed)
  1558. 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, 0.15 / Animation_Speed)
  1559. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
  1560. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(5), RAD(15-2.5 * COS(SINE / 12))), 0.8 / Animation_Speed)
  1561. until sick.TimePosition > 1
  1562. repeat
  1563. Swait()
  1564. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1565. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1566. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1567. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1568. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1569. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1570. until sick.TimePosition > 1
  1571. repeat
  1572. Swait()
  1573. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1574. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1575. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1576. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1577. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1578. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1579. until sick.TimePosition > 1
  1580. tecks2.TextTransparency = 0
  1581. for i = 1, 100 do
  1582. Swait()
  1583.  
  1584.  
  1585. end
  1586. TRANSFORMED = true
  1587. ATTACK = false
  1588. Rooted = false
  1589. end
  1590.  
  1591. function Shot1()
  1592. ATTACK = true
  1593. Rooted = false
  1594. local HIT,POS = CastProperRay(ll3part2.Position, Mouse.Hit.p, 1000, Character)
  1595. SpawnTrail(ll3part2.Position,POS)
  1596. if HIT ~= nil then
  1597. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1598. Banish(HIT.Parent)
  1599. end
  1600. end
  1601. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = ll3part2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1602. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = 2930668938, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1603. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1604. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1605. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  1606. ATTACK = false
  1607. Rooted = false
  1608. end
  1609.  
  1610. function Shot2()
  1611. ATTACK = true
  1612. Rooted = false
  1613. local HIT,POS = CastProperRay(ll3part2.Position, Mouse.Hit.p, 1000, Character)
  1614. SpawnTrail(ll3part2.Position,POS)
  1615. if HIT ~= nil then
  1616. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1617. Kill(HIT.Parent)
  1618. end
  1619. end
  1620. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = ll3part2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1621. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = 2930668938, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1622. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1623. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1624. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  1625. ATTACK = false
  1626. Rooted = false
  1627. end
  1628.  
  1629. function ScrewThis()
  1630. ATTACK = true
  1631. Rooted = true
  1632. Weapon.Parent = nil
  1633. sick.Volume = 0
  1634. CreateSound("1238240145", Effects, 10, 0.9)
  1635. CreateSound(363808674, Effects, 10, 1, false)
  1636. for i=0, 0.6, 0.1 / Animation_Speed do
  1637. Swait()
  1638. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1639. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
  1640. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1641. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1642. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1643. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1644. end
  1645. CreateSound(363808674, Effects, 10, 1, false)
  1646. for i=0, 0.6, 0.1 / Animation_Speed do
  1647. Swait()
  1648. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1649. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
  1650. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1651. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1652. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1653. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1654. end
  1655. CreateSound(363808674, Effects, 10, 1, false)
  1656. for i=0, 0.6, 0.1 / Animation_Speed do
  1657. Swait()
  1658. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1659. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
  1660. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1661. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1662. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1663. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1664. end
  1665. CreateSound(363808674, Effects, 10, 1, false)
  1666. for i=0, 0.6, 0.1 / Animation_Speed do
  1667. Swait()
  1668. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1669. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
  1670. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1671. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1672. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1673. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1674. end
  1675. CreateSound(363808674, Effects, 10, 1, false)
  1676. for i=0, 0.6, 0.1 / Animation_Speed do
  1677. Swait()
  1678. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1679. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed)
  1680. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1681. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1682. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1683. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1684. end
  1685. CreateSound(363808674, Effects, 10, 1, false)
  1686. for i=0, 0.6, 0.1 / Animation_Speed do
  1687. Swait()
  1688. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1689. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed)
  1690. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1691. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1692. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1693. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1694. end
  1695. Weapon.Parent = Character
  1696. sick.Volume = 2
  1697. ATTACK = false
  1698. Rooted = false
  1699. end
  1700. function Taunt()
  1701. ATTACK = true
  1702. Rooted = true
  1703. local L = CreateSound(3378442147,Head,8,1.1,false)
  1704. L.EmitterSize = 25
  1705. ATTACK = false
  1706. Rooted = false
  1707. wait(6)
  1708. local forf = Instance.new("ForceField")
  1709. forf.Parent = Character
  1710. forf.Visible = false
  1711. local geeq = game.Players
  1712. local x = Instance.new("Explosion")
  1713. x.Parent = Character.HumanoidRootPart
  1714. x.BlastRadius = 5000
  1715. x.BlastPressure = 1000
  1716. x.ExplosionType = Enum.ExplosionType.CratersAndDebris
  1717. x.Position = Character.HumanoidRootPart.Position
  1718. x.Visible = false
  1719. wait(1)
  1720. forf:Destroy()
  1721. end
  1722. --//=================================\\
  1723. --|| ASSIGN THINGS TO KEYS
  1724. --\\=================================//
  1725.  
  1726. function MouseDown(Mouse)
  1727. if ATTACK == false then
  1728.  
  1729. end
  1730. end
  1731.  
  1732. function MouseUp(Mouse)
  1733. HOLD = false
  1734. end
  1735.  
  1736. function KeyDown(Key)
  1737. KEYHOLD = true
  1738. if TRANSFORMED == true and Rooted == false then
  1739. if Key == "f" and ATTACK == false then
  1740. Switch()
  1741. end
  1742.  
  1743.  
  1744. if Key == "z" and ATTACK == false then
  1745. if MODE == "GoodCop" then
  1746. Shot2()
  1747. elseif MODE == "BadCop" then
  1748. Shot1()
  1749. end
  1750. end
  1751.  
  1752. if Key == "t" and ATTACK == false then
  1753. if MODE == "GoodCop" then
  1754. Taunt()
  1755. elseif MODE == "BadCop" then
  1756. end
  1757. end
  1758.  
  1759. end
  1760.  
  1761. if Key == "9" and ATTACK == false then
  1762. CreateSound("135017578", Effects, 5, 1)
  1763. end
  1764. end
  1765.  
  1766. function KeyUp(Key)
  1767. KEYHOLD = false
  1768. end
  1769.  
  1770. Mouse.Button1Down:connect(function(NEWKEY)
  1771. MouseDown(NEWKEY)
  1772. end)
  1773. Mouse.Button1Up:connect(function(NEWKEY)
  1774. MouseUp(NEWKEY)
  1775. end)
  1776. Mouse.KeyDown:connect(function(NEWKEY)
  1777. KeyDown(NEWKEY)
  1778. end)
  1779. Mouse.KeyUp:connect(function(NEWKEY)
  1780. KeyUp(NEWKEY)
  1781. end)
  1782.  
  1783. --//=================================\\
  1784. --\\=================================//
  1785.  
  1786.  
  1787. function unanchor()
  1788. if UNANCHOR == true then
  1789. RootPart.Anchored = false
  1790. end
  1791. for _, c in pairs(Weapon:GetChildren()) do
  1792. if c.ClassName == "Part" then
  1793. c.Anchored = false
  1794. end
  1795. end
  1796. end
  1797.  
  1798.  
  1799. --//=================================\\
  1800. --|| WRAP THE WHOLE SCRIPT UP
  1801. --\\=================================//
  1802.  
  1803. Humanoid.Changed:connect(function(Jump)
  1804. if Jump == "Jump" and (Disable_Jump == true) then
  1805. Humanoid.Jump = false
  1806. end
  1807. end)
  1808.  
  1809. while true do
  1810. Swait()
  1811. script.Parent = WEAPONGUI
  1812. ANIMATE.Parent = nil
  1813. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1814. v:Stop();
  1815. end
  1816. SINE = SINE + CHANGE
  1817. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1818. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1819. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1820. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1821. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1822. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.05 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1823. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1824. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1825. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed)
  1826. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1827. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1828. 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)
  1829. 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.7 / Animation_Speed)
  1830. 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.7 / Animation_Speed)
  1831. end
  1832. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1833. ANIM = "Jump"
  1834. if ATTACK == false then
  1835. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1836. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1837. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1838. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1839. 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)
  1840. 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)
  1841. end
  1842. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1843. ANIM = "Fall"
  1844. if ATTACK == false then
  1845. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1846. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1847. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1848. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1849. 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)
  1850. 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)
  1851. end
  1852. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1853. ANIM = "Idle"
  1854. if ATTACK == false then
  1855. if MODE == "GoodCop" then
  1856. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0.05 * COS(SINE / 12), 0, 0 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1857. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
  1858. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  1859. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1860. RightHip.C0 = Clerp(RightHip.C0, CF(1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1861. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1862. elseif MODE == "BadCop" then
  1863. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
  1864. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  1865. if MRANDOM(1,7) == 1 then
  1866. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1867. end
  1868. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1869. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1870. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1871. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1872. end
  1873. end
  1874. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1875. ANIM = "Walk"
  1876. if ATTACK == false then
  1877. if MODE == "GoodCop" then
  1878. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1879. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1880. elseif MODE == "BadCop" then
  1881. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1882. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1883. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, -0.15) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1884. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  1885. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1886. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1887. end
  1888. end
  1889. end
  1890. Humanoid.DisplayDistanceType = "None"
  1891. unanchor()
  1892. tecks2.TextStrokeColor3 = BrickColor.Random().Color
  1893. Humanoid.MaxHealth = "inf"
  1894. Humanoid.Health = "inf"
  1895. if Rooted == false then
  1896. Disable_Jump = false
  1897. Humanoid.WalkSpeed = Speed
  1898. elseif Rooted == true then
  1899. Disable_Jump = true
  1900. Humanoid.WalkSpeed = 0
  1901. end
  1902. Humanoid.PlatformStand = false
  1903. if INTRO == false and INSTANT == false then
  1904. INTRO = true
  1905. coroutine.resume(coroutine.create(function()
  1906. sick:Play()
  1907. Intro()
  1908. end))
  1909. end
  1910. if INSTANT == true then
  1911. if TRANSFORMED == false then
  1912. sick.TimePosition = 60
  1913. sick:Play()
  1914. end
  1915. TRANSFORMED = true
  1916. end
  1917. script.Parent = PlayerGui
  1918. Character.Parent = workspace
  1919. Humanoid.Parent = Character
  1920. end
  1921. --//=================================\\
  1922. --\\=================================//
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928. --//====================================================\\--
  1929. --|| END OF SCRIPT
  1930. --\\====================================================//--
Add Comment
Please, Sign In to add comment