Advertisement
PR0J3CT11

Untitled

Aug 3rd, 2019
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local Mouse = Player:GetMouse()
  66. local UIS = game:GetService("UserInputService")
  67. local input = function(io,a)
  68. if a then return end
  69. --Since InputObject is a client-side instance, we create and pass table instead
  70. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  71. end
  72. UIS.InputBegan:Connect(input)
  73. UIS.InputEnded:Connect(input)
  74.  
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84.  
  85. ----Sandboxed game object that allows the usage of client-side methods and services
  86. --Real game object
  87. local _rg = game
  88.  
  89. --Metatable for fake service
  90. local fsmt = {
  91. __index = function(self,k)
  92. local s = rawget(self,"_RealService")
  93. if s then return s[k] end
  94. end,
  95. __newindex = function(self,k,v)
  96. local s = rawget(self,"_RealService")
  97. if s then s[k]=v end
  98. end,
  99. __call = function(self,...)
  100. local s = rawget(self,"_RealService")
  101. if s then return s(...) end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return self[s]
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. }
  120. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  121. g.service = g.GetService
  122.  
  123. g.RunService = FakeService({
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126. self._btrs[name] = self.Heartbeat:Connect(fun)
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132.  
  133. setmetatable(g,{
  134. __index=function(self,s)
  135. return _rg:GetService(s) or typeof(_rg[s])=="function"
  136. and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  137. end,
  138. __newindex = fsmt.__newindex,
  139. __call = fsmt.__call
  140. })
  141. --Changing owner to fake player object to support owner:GetMouse()
  142. game,owner = g,g.Players.LocalPlayer
  143. end
  144.  
  145. local naeeym2 = Instance.new("BillboardGui",Character)
  146. naeeym2.AlwaysOnTop = true
  147. naeeym2.Size = UDim2.new(7,35,3,15)
  148. naeeym2.StudsOffset = Vector3.new(0,2,0)
  149. naeeym2.MaxDistance = 75
  150. naeeym2.Adornee = Character.Head
  151. naeeym2.Name = "Name2"
  152. local tecks2 = Instance.new("TextLabel",naeeym2)
  153. tecks2.BackgroundTransparency = 1
  154. tecks2.TextScaled = true
  155. tecks2.BorderSizePixel = 0
  156. tecks2.Text = "Kickisher Gun V8"
  157. tecks2.Font = "ArialBold"
  158. tecks2.TextSize = 30
  159. glitchy = {"KIcKiSheR gun v8","kicKisHEr GuN V8","KKIICCKKIISSHHEERR GGUUNN VV88","KiCkIsHeR GuN V8","KiCkIshER GuN V8","K̶̺̺͓͇̰͍̦̘̘̇̓͒ͨ̀̅̋ͥí̡̯͔̘̤̅̾͋ͦ̍̊̄͢͡c̢͋̒̃̓҉̷͜ḳ̡͙͎̙ͫͨͧͭ̚͘̚͡҉͂̍̀͢͝ĭ̱̩̮̄̈́̋͢s̷̴̮̮̏̃̊ͨ͆̀̊̑̃h̢̢̡̰͓̎̌̊̆ͥe̸͔͑̋̓ͩ͛͛̀ͣ̅͡r̷͙͂ͪͯ͡ ̼G͛un̘̬͝ ͚͕ͪͯ̀̂̀V̵̛̛̹̰̜͚̭̦͉͎̊̓̀ͮ͂̓7̣̞̜̪̎͌͛̅̆͌̚","KIckISheR GuN V8","KiCkISheR GuN V8","...","BeGoNe","bEgOnE"}
  160. tecks2.TextStrokeTransparency = 0
  161. tecks2.TextColor3 = Color3.fromRGB(.5,0,.5)
  162. tecks2.TextStrokeColor3 = Color3.fromRGB(.5,0,.5)
  163. tecks2.Size = UDim2.new(1,0,0.5,0)
  164. tecks2.Parent = naeeym2
  165. MAINRUINCOLOR = BrickColor.Random()
  166. local ni = Color3.new(0,0,0)
  167. script.Name = "Banisher Gun V3 / 1"
  168. --//====================================================\\--
  169. --|| CREATED BY SHACKLUSTER
  170. --\\====================================================//--
  171.  
  172. script:ClearAllChildren()
  173. wait(0.2)
  174.  
  175. Player = game:GetService("Players").LocalPlayer
  176. PlayerGui = Player.PlayerGui
  177. Cam = workspace.CurrentCamera
  178. Backpack = Player.Backpack
  179. Character = Player.Character
  180. Humanoid = Character.Humanoid
  181. Mouse = Player:GetMouse()
  182. RootPart = Character["HumanoidRootPart"]
  183. Torso = Character["Torso"]
  184. Head = Character["Head"]
  185. RightArm = Character["Right Arm"]
  186. LeftArm = Character["Left Arm"]
  187. RightLeg = Character["Right Leg"]
  188. LeftLeg = Character["Left Leg"]
  189. RootJoint = RootPart["RootJoint"]
  190. Neck = Torso["Neck"]
  191. RightShoulder = Torso["Right Shoulder"]
  192. LeftShoulder = Torso["Left Shoulder"]
  193. RightHip = Torso["Right Hip"]
  194. LeftHip = Torso["Left Hip"]
  195. local TIME = 0
  196. local sick = Instance.new("Sound",Torso)
  197.  
  198. IT = Instance.new
  199. CF = CFrame.new
  200. VT = Vector3.new
  201. RAD = math.rad
  202. C3 = Color3.new
  203. UD2 = UDim2.new
  204. BRICKC = BrickColor.new
  205. ANGLES = CFrame.Angles
  206. EULER = CFrame.fromEulerAnglesXYZ
  207. COS = math.cos
  208. ACOS = math.acos
  209. SIN = math.sin
  210. ASIN = math.asin
  211. ABS = math.abs
  212. MRANDOM = math.random
  213. FLOOR = math.floor
  214.  
  215. --//=================================\\
  216. --|| USEFUL VALUES
  217. --\\=================================//
  218. local SKILLTEXTCOLOR = C3(1,1,1)
  219.  
  220. local naeeym2 = Instance.new("BillboardGui",Character)
  221. naeeym2.AlwaysOnTop = true
  222. naeeym2.Size = UDim2.new(5,35,2,35)
  223. naeeym2.StudsOffset = Vector3.new(0,2,0)
  224. naeeym2.Adornee = Character.Head
  225. naeeym2.Name = "Name"
  226. local tecks2 = Instance.new("TextLabel",naeeym2)
  227. tecks2.BackgroundTransparency = 1
  228. tecks2.TextScaled = true
  229. tecks2.BorderSizePixel = 0
  230. tecks2.Text = "Guardian of light"
  231. tecks2.Font = "Antique"
  232. tecks2.TextSize = 60
  233. tecks2.TextStrokeTransparency = 0
  234. tecks2.TextColor3 = Color3.new(0,0,0)
  235. tecks2.TextStrokeColor3 = Color3.new(0.2,0.2,0.2)
  236. tecks2.Size = UDim2.new(1,0,0.5,0)
  237. tecks2.Parent = naeeym2
  238.  
  239. Animation_Speed = 3
  240. local FORCERESET = false
  241. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  242. local Speed = 16
  243. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  244. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  245. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  246. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  247. local DAMAGEMULTIPLIER = 1
  248. local ANIM = "Idle"
  249. local ATTACK = false
  250. local EQUIPPED = false
  251. local HOLD = false
  252. local COMBO = 1
  253. local Rooted = false
  254. local SINE = 0
  255. local KEYHOLD = false
  256. local CHANGE = 2 / Animation_Speed
  257. local WALKINGANIM = false
  258. local VALUE1 = false
  259. local VALUE2 = false
  260. local ROBLOXIDLEANIMATION = IT("Animation")
  261. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  262. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  263. --ROBLOXIDLEANIMATION.Parent = Humanoid
  264. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  265. WEAPONGUI.Name = "BanishV3Gui"
  266. local Weapon = IT("Model")
  267. Weapon.Name = "Adds"
  268. local Effects = IT("Folder", Weapon)
  269. Effects.Name = "Effects"
  270. local ANIMATOR = Humanoid.Animator
  271. local ANIMATE = Character:FindFirstChild("Animate")
  272. local UNANCHOR = true
  273. local TOBANISH = {}
  274. script.Parent = PlayerGui
  275.  
  276. --//=================================\\
  277. --\\=================================//
  278.  
  279.  
  280. --//=================================\\
  281. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  282. --\\=================================//
  283.  
  284. ArtificialHB = Instance.new("BindableEvent", script)
  285. ArtificialHB.Name = "ArtificialHB"
  286.  
  287. script:WaitForChild("ArtificialHB")
  288.  
  289. frame = Frame_Speed
  290. tf = 0
  291. allowframeloss = false
  292. tossremainder = false
  293. lastframe = tick()
  294. script.ArtificialHB:Fire()
  295.  
  296. game:GetService("RunService").Heartbeat:connect(function(s, p)
  297. tf = tf + s
  298. if tf >= frame then
  299. if allowframeloss then
  300. script.ArtificialHB:Fire()
  301. lastframe = tick()
  302. else
  303. for i = 1, math.floor(tf / frame) do
  304. script.ArtificialHB:Fire()
  305. end
  306. lastframe = tick()
  307. end
  308. if tossremainder then
  309. tf = 0
  310. else
  311. tf = tf - frame * math.floor(tf / frame)
  312. end
  313. end
  314. end)
  315.  
  316. --//=================================\\
  317. --\\=================================//
  318.  
  319. --//=================================\\
  320. --|| SOME FUNCTIONS
  321. --\\=================================//
  322. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  323. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  324. end
  325.  
  326. function PositiveAngle(NUMBER)
  327. if NUMBER >= 0 then
  328. NUMBER = 0
  329. end
  330. return NUMBER
  331. end
  332.  
  333. function NegativeAngle(NUMBER)
  334. if NUMBER <= 0 then
  335. NUMBER = 0
  336. end
  337. return NUMBER
  338. end
  339.  
  340. function Swait(NUMBER)
  341. if NUMBER == 0 or NUMBER == nil then
  342. ArtificialHB.Event:wait()
  343. else
  344. for i = 1, NUMBER do
  345. ArtificialHB.Event:wait()
  346. end
  347. end
  348. end
  349.  
  350. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  351. local NEWMESH = IT(MESH)
  352. if MESH == "SpecialMesh" then
  353. NEWMESH.MeshType = MESHTYPE
  354. if MESHID ~= "nil" and MESHID ~= "" then
  355. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  356. end
  357. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  358. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  359. end
  360. end
  361. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  362. NEWMESH.Scale = SCALE
  363. NEWMESH.Parent = PARENT
  364. return NEWMESH
  365. end
  366.  
  367. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  368. local NEWPART = IT("Part")
  369. NEWPART.formFactor = FORMFACTOR
  370. NEWPART.Reflectance = REFLECTANCE
  371. NEWPART.Transparency = TRANSPARENCY
  372. NEWPART.CanCollide = false
  373. NEWPART.Locked = true
  374. NEWPART.Anchored = true
  375. if ANCHOR == false then
  376. NEWPART.Anchored = false
  377. end
  378. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  379. NEWPART.Name = NAME
  380. NEWPART.Size = SIZE
  381. NEWPART.Position = Torso.Position
  382. NEWPART.Material = MATERIAL
  383. NEWPART:BreakJoints()
  384. NEWPART.Parent = PARENT
  385. return NEWPART
  386. end
  387.  
  388. local function weldBetween(a, b)
  389. local weldd = Instance.new("ManualWeld")
  390. weldd.Part0 = a
  391. weldd.Part1 = b
  392. weldd.C0 = CFrame.new()
  393. weldd.C1 = b.CFrame:inverse() * a.CFrame
  394. weldd.Parent = a
  395. return weldd
  396. end
  397.  
  398.  
  399. function QuaternionFromCFrame(cf)
  400. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  401. local trace = m00 + m11 + m22
  402. if trace > 0 then
  403. local s = math.sqrt(1 + trace)
  404. local recip = 0.5 / s
  405. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  406. else
  407. local i = 0
  408. if m11 > m00 then
  409. i = 1
  410. end
  411. if m22 > (i == 0 and m00 or m11) then
  412. i = 2
  413. end
  414. if i == 0 then
  415. local s = math.sqrt(m00 - m11 - m22 + 1)
  416. local recip = 0.5 / s
  417. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  418. elseif i == 1 then
  419. local s = math.sqrt(m11 - m22 - m00 + 1)
  420. local recip = 0.5 / s
  421. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  422. elseif i == 2 then
  423. local s = math.sqrt(m22 - m00 - m11 + 1)
  424. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  425. end
  426. end
  427. end
  428.  
  429. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  430. local xs, ys, zs = x + x, y + y, z + z
  431. local wx, wy, wz = w * xs, w * ys, w * zs
  432. local xx = x * xs
  433. local xy = x * ys
  434. local xz = x * zs
  435. local yy = y * ys
  436. local yz = y * zs
  437. local zz = z * zs
  438. 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))
  439. end
  440.  
  441. function QuaternionSlerp(a, b, t)
  442. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  443. local startInterp, finishInterp;
  444. if cosTheta >= 0.0001 then
  445. if (1 - cosTheta) > 0.0001 then
  446. local theta = ACOS(cosTheta)
  447. local invSinTheta = 1 / SIN(theta)
  448. startInterp = SIN((1 - t) * theta) * invSinTheta
  449. finishInterp = SIN(t * theta) * invSinTheta
  450. else
  451. startInterp = 1 - t
  452. finishInterp = t
  453. end
  454. else
  455. if (1 + cosTheta) > 0.0001 then
  456. local theta = ACOS(-cosTheta)
  457. local invSinTheta = 1 / SIN(theta)
  458. startInterp = SIN((t - 1) * theta) * invSinTheta
  459. finishInterp = SIN(t * theta) * invSinTheta
  460. else
  461. startInterp = t - 1
  462. finishInterp = t
  463. end
  464. end
  465. 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
  466. end
  467.  
  468. function Clerp(a, b, t)
  469. local qa = {QuaternionFromCFrame(a)}
  470. local qb = {QuaternionFromCFrame(b)}
  471. local ax, ay, az = a.x, a.y, a.z
  472. local bx, by, bz = b.x, b.y, b.z
  473. local _t = 1 - t
  474. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  475. end
  476.  
  477. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  478. local frame = IT("Frame")
  479. frame.BackgroundTransparency = TRANSPARENCY
  480. frame.BorderSizePixel = BORDERSIZEPIXEL
  481. frame.Position = POSITION
  482. frame.Size = SIZE
  483. frame.BackgroundColor3 = COLOR
  484. frame.BorderColor3 = BORDERCOLOR
  485. frame.Name = NAME
  486. frame.Parent = PARENT
  487. return frame
  488. end
  489.  
  490. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  491. local label = IT("TextLabel")
  492. label.BackgroundTransparency = 1
  493. label.Size = UD2(1, 0, 1, 0)
  494. label.Position = UD2(0, 0, 0, 0)
  495. label.TextColor3 = TEXTCOLOR
  496. label.TextStrokeTransparency = STROKETRANSPARENCY
  497. label.TextTransparency = TRANSPARENCY
  498. label.FontSize = TEXTFONTSIZE
  499. label.Font = TEXTFONT
  500. label.BorderSizePixel = BORDERSIZEPIXEL
  501. label.TextScaled = false
  502. label.Text = TEXT
  503. label.Name = NAME
  504. label.Parent = PARENT
  505. return label
  506. end
  507.  
  508. function NoOutlines(PART)
  509. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  510. end
  511.  
  512. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  513. local NEWWELD = IT(TYPE)
  514. NEWWELD.Part0 = PART0
  515. NEWWELD.Part1 = PART1
  516. NEWWELD.C0 = C0
  517. NEWWELD.C1 = C1
  518. NEWWELD.Parent = PARENT
  519. return NEWWELD
  520. end
  521.  
  522. local S = IT("Sound")
  523. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  524. local NEWSOUND = nil
  525. coroutine.resume(coroutine.create(function()
  526. NEWSOUND = S:Clone()
  527. NEWSOUND.Parent = PARENT
  528. NEWSOUND.Volume = VOLUME
  529. NEWSOUND.Pitch = PITCH
  530. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  531. NEWSOUND:play()
  532. if DOESLOOP == true then
  533. NEWSOUND.Looped = true
  534. else
  535. repeat wait(1) until NEWSOUND.Playing == false
  536. NEWSOUND:remove()
  537. end
  538. end))
  539. return NEWSOUND
  540. end
  541.  
  542. function CFrameFromTopBack(at, top, back)
  543. local right = top:Cross(back)
  544. 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)
  545. end
  546.  
  547. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  548. function WACKYEFFECT(Table)
  549. local TYPE = (Table.EffectType or "Sphere")
  550. local SIZE = (Table.Size or VT(1,1,1))
  551. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  552. local TRANSPARENCY = (Table.Transparency or 0)
  553. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  554. local CFRAME = (Table.CFrame or Torso.CFrame)
  555. local MOVEDIRECTION = (Table.MoveToPos or nil)
  556. local ROTATION1 = (Table.RotationX or 0)
  557. local ROTATION2 = (Table.RotationY or 0)
  558. local ROTATION3 = (Table.RotationZ or 0)
  559. local MATERIAL = (Table.Material or "Neon")
  560. local COLOR = (Table.Color or C3(1,1,1))
  561. local TIME = (Table.Time or 45)
  562. local SOUNDID = (Table.SoundID or nil)
  563. local SOUNDPITCH = (Table.SoundPitch or nil)
  564. local SOUNDVOLUME = (Table.SoundVolume or nil)
  565. coroutine.resume(coroutine.create(function()
  566. local PLAYSSOUND = false
  567. local SOUND = nil
  568. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  569. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  570. PLAYSSOUND = true
  571. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  572. end
  573. EFFECT.Color = COLOR
  574. local MSH = nil
  575. if TYPE == "Sphere" then
  576. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  577. elseif TYPE == "Block" then
  578. MSH = IT("BlockMesh",EFFECT)
  579. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  580. elseif TYPE == "Wave" then
  581. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  582. elseif TYPE == "Ring" then
  583. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  584. elseif TYPE == "Slash" then
  585. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  586. elseif TYPE == "Round Slash" then
  587. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  588. elseif TYPE == "Swirl" then
  589. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  590. elseif TYPE == "Skull" then
  591. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  592. elseif TYPE == "Crystal" then
  593. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  594. end
  595. if MSH ~= nil then
  596. local MOVESPEED = nil
  597. if MOVEDIRECTION ~= nil then
  598. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  599. end
  600. local GROWTH = SIZE - ENDSIZE
  601. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  602. if TYPE == "Block" then
  603. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  604. else
  605. EFFECT.CFrame = CFRAME
  606. end
  607. for LOOP = 1, TIME+1 do
  608. Swait()
  609. MSH.Scale = MSH.Scale - GROWTH/TIME
  610. if TYPE == "Wave" then
  611. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  612. end
  613. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  614. if TYPE == "Block" then
  615. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  616. else
  617. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  618. end
  619. if MOVEDIRECTION ~= nil then
  620. local ORI = EFFECT.Orientation
  621. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  622. EFFECT.Orientation = ORI
  623. end
  624. end
  625. if PLAYSSOUND == false then
  626. EFFECT:remove()
  627. else
  628. repeat Swait() until SOUND.Playing == false
  629. EFFECT:remove()
  630. end
  631. else
  632. if PLAYSSOUND == false then
  633. EFFECT:remove()
  634. else
  635. repeat Swait() until SOUND.Playing == false
  636. EFFECT:remove()
  637. end
  638. end
  639. end))
  640. end
  641.  
  642. function MakeForm(PART,TYPE)
  643. if TYPE == "Cyl" then
  644. local MSH = IT("CylinderMesh",PART)
  645. elseif TYPE == "Ball" then
  646. local MSH = IT("SpecialMesh",PART)
  647. MSH.MeshType = "Sphere"
  648. elseif TYPE == "Wedge" then
  649. local MSH = IT("SpecialMesh",PART)
  650. MSH.MeshType = "Wedge"
  651. end
  652. end
  653.  
  654. Debris = game:GetService("Debris")
  655.  
  656. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  657. local DIRECTION = CF(StartPos,EndPos).lookVector
  658. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  659. end
  660.  
  661. function CharacterFade(COLOR,TIMER)
  662. coroutine.resume(coroutine.create(function()
  663. local FADE = IT("Model",Effects)
  664. for _, c in pairs(Character:GetChildren()) do
  665. if c.ClassName == "Part" and c ~= RootPart then
  666. local FADER = c:Clone()
  667. FADER.Color = COLOR
  668. FADER.CFrame = c.CFrame
  669. FADER.Parent = FADE
  670. FADER.Anchored = true
  671. FADER.Transparency = 0.25
  672. FADER:BreakJoints()
  673. FADER.Material = "Glass"
  674. FADER:ClearAllChildren()
  675. if FADER.Name == "Head" then
  676. FADER.Size = VT(1,1,1)
  677. end
  678. end
  679. end
  680. local TRANS = 0.75/TIMER
  681. for i = 1, TIMER do
  682. Swait()
  683. for _, c in pairs(FADE:GetChildren()) do
  684. if c.ClassName == "Part" then
  685. c.Transparency = c.Transparency + TRANS
  686. end
  687. end
  688. end
  689. FADE:remove()
  690. end))
  691. end
  692.  
  693. local PE=Instance.new("ParticleEmitter")
  694. PE.LightEmission=0.3
  695. PE.Size=NumberSequence.new(0)
  696. PE.Transparency=NumberSequence.new(0,1)
  697. PE.Rotation=NumberRange.new(0,360)
  698. PE.LockedToPart = false
  699. PE.Speed = NumberRange.new(0,0,0)
  700. PE.ZOffset = 0.3
  701. PE.Rate = 999
  702. PE.VelocitySpread = 25
  703. PE.Name = "Particles"
  704.  
  705. function CreateParticles(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
  706. local particle = nil
  707. coroutine.resume(coroutine.create(function(PART)
  708. particle = PE:Clone()
  709. Swait()
  710. particle.Rate = 999
  711. particle.Parent = art
  712. particle.Acceleration = accel
  713. if type == "Fire" then
  714. local EyeSizes={
  715. NumberSequenceKeypoint.new(0,size,size/2),
  716. NumberSequenceKeypoint.new(1,size/4,size/8)
  717. }
  718. particle.Size = NumberSequence.new(EyeSizes)
  719. elseif type == "Smoke" then
  720. local EyeSizes={
  721. NumberSequenceKeypoint.new(0,size/5,0),
  722. NumberSequenceKeypoint.new(1,size*2,0.5)
  723. }
  724. particle.Size = NumberSequence.new(EyeSizes)
  725. elseif type == "Solid" then
  726. local EyeSizes={
  727. NumberSequenceKeypoint.new(0,size,0),
  728. NumberSequenceKeypoint.new(1,size,0)
  729. }
  730. particle.Size = NumberSequence.new(EyeSizes)
  731. end
  732. particle.Lifetime=NumberRange.new(lifetime)
  733. particle.Drag = drag
  734. if locked == true then
  735. particle.LockedToPart = true
  736. end
  737. particle.Speed = NumberRange.new(speed*0.8,speed)
  738. particle.Texture = "http://www.roblox.com/asset/?id=1179557490"
  739. particle.Enabled = isenabledbydefault
  740. particle.Color = ColorSequence.new(Color3.new(255/255, 176/255, 0))
  741. end))
  742. return particle
  743. end
  744.  
  745. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  746. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  747. end
  748.  
  749. function PositiveAngle(NUMBER)
  750. if NUMBER >= 0 then
  751. NUMBER = 0
  752. end
  753. return NUMBER
  754. end
  755.  
  756. function NegativeAngle(NUMBER)
  757. if NUMBER <= 0 then
  758. NUMBER = 0
  759. end
  760. return NUMBER
  761. end
  762.  
  763. function Swait(NUMBER)
  764. if NUMBER == 0 or NUMBER == nil then
  765. ArtificialHB.Event:wait()
  766. else
  767. for i = 1, NUMBER do
  768. ArtificialHB.Event:wait()
  769. end
  770. end
  771. end
  772.  
  773. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  774. local NEWMESH = IT(MESH)
  775. if MESH == "SpecialMesh" then
  776. NEWMESH.MeshType = MESHTYPE
  777. if MESHID ~= "nil" and MESHID ~= "" then
  778. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  779. end
  780. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  781. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  782. end
  783. end
  784. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  785. NEWMESH.Scale = SCALE
  786. NEWMESH.Parent = PARENT
  787. return NEWMESH
  788. end
  789.  
  790. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  791. local NEWPART = IT("Part")
  792. NEWPART.formFactor = FORMFACTOR
  793. NEWPART.Reflectance = REFLECTANCE
  794. NEWPART.Transparency = TRANSPARENCY
  795. NEWPART.CanCollide = false
  796. NEWPART.Locked = true
  797. NEWPART.Anchored = true
  798. if ANCHOR == false then
  799. NEWPART.Anchored = false
  800. end
  801. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  802. NEWPART.Name = NAME
  803. NEWPART.Size = SIZE
  804. NEWPART.Position = Torso.Position
  805. NEWPART.Material = MATERIAL
  806. NEWPART:BreakJoints()
  807. NEWPART.Parent = PARENT
  808. return NEWPART
  809. end
  810.  
  811. local function weldBetween(a, b)
  812. local weldd = Instance.new("ManualWeld")
  813. weldd.Part0 = a
  814. weldd.Part1 = b
  815. weldd.C0 = CFrame.new()
  816. weldd.C1 = b.CFrame:inverse() * a.CFrame
  817. weldd.Parent = a
  818. return weldd
  819. end
  820.  
  821.  
  822. function QuaternionFromCFrame(cf)
  823. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  824. local trace = m00 + m11 + m22
  825. if trace > 0 then
  826. local s = math.sqrt(1 + trace)
  827. local recip = 0.5 / s
  828. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  829. else
  830. local i = 0
  831. if m11 > m00 then
  832. i = 1
  833. end
  834. if m22 > (i == 0 and m00 or m11) then
  835. i = 2
  836. end
  837. if i == 0 then
  838. local s = math.sqrt(m00 - m11 - m22 + 1)
  839. local recip = 0.5 / s
  840. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  841. elseif i == 1 then
  842. local s = math.sqrt(m11 - m22 - m00 + 1)
  843. local recip = 0.5 / s
  844. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  845. elseif i == 2 then
  846. local s = math.sqrt(m22 - m00 - m11 + 1)
  847. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  848. end
  849. end
  850. end
  851.  
  852. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  853. local xs, ys, zs = x + x, y + y, z + z
  854. local wx, wy, wz = w * xs, w * ys, w * zs
  855. local xx = x * xs
  856. local xy = x * ys
  857. local xz = x * zs
  858. local yy = y * ys
  859. local yz = y * zs
  860. local zz = z * zs
  861. 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))
  862. end
  863.  
  864. function QuaternionSlerp(a, b, t)
  865. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  866. local startInterp, finishInterp;
  867. if cosTheta >= 0.0001 then
  868. if (1 - cosTheta) > 0.0001 then
  869. local theta = ACOS(cosTheta)
  870. local invSinTheta = 1 / SIN(theta)
  871. startInterp = SIN((1 - t) * theta) * invSinTheta
  872. finishInterp = SIN(t * theta) * invSinTheta
  873. else
  874. startInterp = 1 - t
  875. finishInterp = t
  876. end
  877. else
  878. if (1 + cosTheta) > 0.0001 then
  879. local theta = ACOS(-cosTheta)
  880. local invSinTheta = 1 / SIN(theta)
  881. startInterp = SIN((t - 1) * theta) * invSinTheta
  882. finishInterp = SIN(t * theta) * invSinTheta
  883. else
  884. startInterp = t - 1
  885. finishInterp = t
  886. end
  887. end
  888. 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
  889. end
  890.  
  891. function Clerp(a, b, t)
  892. local qa = {QuaternionFromCFrame(a)}
  893. local qb = {QuaternionFromCFrame(b)}
  894. local ax, ay, az = a.x, a.y, a.z
  895. local bx, by, bz = b.x, b.y, b.z
  896. local _t = 1 - t
  897. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  898. end
  899.  
  900. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  901. local frame = IT("Frame")
  902. frame.BackgroundTransparency = TRANSPARENCY
  903. frame.BorderSizePixel = BORDERSIZEPIXEL
  904. frame.Position = POSITION
  905. frame.Size = SIZE
  906. frame.BackgroundColor3 = COLOR
  907. frame.BorderColor3 = BORDERCOLOR
  908. frame.Name = NAME
  909. frame.Parent = PARENT
  910. return frame
  911. end
  912.  
  913. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  914. local label = IT("TextLabel")
  915. label.BackgroundTransparency = 1
  916. label.Size = UD2(1, 0, 1, 0)
  917. label.Position = UD2(0, 0, 0, 0)
  918. label.TextColor3 = TEXTCOLOR
  919. label.TextStrokeTransparency = STROKETRANSPARENCY
  920. label.TextTransparency = TRANSPARENCY
  921. label.FontSize = TEXTFONTSIZE
  922. label.Font = TEXTFONT
  923. label.BorderSizePixel = BORDERSIZEPIXEL
  924. label.TextScaled = false
  925. label.Text = TEXT
  926. label.Name = NAME
  927. label.Parent = PARENT
  928. return label
  929. end
  930.  
  931. function NoOutlines(PART)
  932. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  933. end
  934.  
  935. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  936. local NEWWELD = IT(TYPE)
  937. NEWWELD.Part0 = PART0
  938. NEWWELD.Part1 = PART1
  939. NEWWELD.C0 = C0
  940. NEWWELD.C1 = C1
  941. NEWWELD.Parent = PARENT
  942. return NEWWELD
  943. end
  944.  
  945. local S = IT("Sound")
  946. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  947. local NEWSOUND = nil
  948. coroutine.resume(coroutine.create(function()
  949. NEWSOUND = S:Clone()
  950. NEWSOUND.Parent = PARENT
  951. NEWSOUND.Volume = VOLUME
  952. NEWSOUND.Pitch = PITCH
  953. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  954. NEWSOUND:play()
  955. if DOESLOOP == true then
  956. NEWSOUND.Looped = true
  957. else
  958. repeat wait(1) until NEWSOUND.Playing == false
  959. NEWSOUND:remove()
  960. end
  961. end))
  962. return NEWSOUND
  963. end
  964.  
  965.  
  966. local EyeSizes={
  967. NumberSequenceKeypoint.new(0,2,0),
  968. NumberSequenceKeypoint.new(1,0,0)
  969. }
  970. local EyeTrans={
  971. NumberSequenceKeypoint.new(0,0.5,0),
  972. NumberSequenceKeypoint.new(1,1,0)
  973. }
  974. local PE=Instance.new("ParticleEmitter",nil)
  975. PE.LightEmission=.8
  976. PE.Color = ColorSequence.new(BRICKC("Lime green").Color,BRICKC("Lime green").Color)
  977. PE.Size=NumberSequence.new(EyeSizes)
  978. PE.Transparency=NumberSequence.new(EyeTrans)
  979. PE.Lifetime=NumberRange.new(0.35,1)
  980. PE.Rotation=NumberRange.new(0,360)
  981. PE.Rate=100
  982. PE.VelocitySpread = 10000
  983. PE.Acceleration = Vector3.new(0,85,0)
  984. PE.Drag = 5
  985. PE.Speed = NumberRange.new(0.1,5)
  986. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  987. PE.ZOffset = 0.5
  988. PE.Name = "PE"
  989. PE.Enabled = false
  990.  
  991. function Fire(art)
  992. local PARTICLES = PE:Clone()
  993. PARTICLES.Parent = art
  994. PARTICLES.Enabled = true
  995. return PARTICLES
  996. end
  997.  
  998. function CFrameFromTopBack(at, top, back)
  999. local right = top:Cross(back)
  1000. 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)
  1001. end
  1002.  
  1003. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1004. function WACKYEFFECT(Table)
  1005. local TYPE = (Table.EffectType or "Sphere")
  1006. local SIZE = (Table.Size or VT(1,1,1))
  1007. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1008. local TRANSPARENCY = (Table.Transparency or 0)
  1009. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1010. local CFRAME = (Table.CFrame or Torso.CFrame)
  1011. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1012. local ROTATION1 = (Table.RotationX or 0)
  1013. local ROTATION2 = (Table.RotationY or 0)
  1014. local ROTATION3 = (Table.RotationZ or 0)
  1015. local MATERIAL = (Table.Material or "Neon")
  1016. local COLOR = (Table.Color or C3(1,1,1))
  1017. local TIME = (Table.Time or 45)
  1018. local SOUNDID = (Table.SoundID or nil)
  1019. local SOUNDPITCH = (Table.SoundPitch or nil)
  1020. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1021. coroutine.resume(coroutine.create(function()
  1022. local PLAYSSOUND = false
  1023. local SOUND = nil
  1024. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Lime green"), "Effect", VT(1,1,1), true)
  1025. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1026. PLAYSSOUND = true
  1027. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1028. end
  1029. EFFECT.Color = COLOR
  1030. local MSH = nil
  1031. if TYPE == "Sphere" then
  1032. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1033. elseif TYPE == "Block" or TYPE == "Box" then
  1034. MSH = IT("BlockMesh",EFFECT)
  1035. MSH.Scale = SIZE
  1036. elseif TYPE == "Wave" then
  1037. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1038. elseif TYPE == "Ring" then
  1039. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1040. elseif TYPE == "Slash" then
  1041. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1042. elseif TYPE == "Round Slash" then
  1043. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1044. elseif TYPE == "Swirl" then
  1045. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1046. elseif TYPE == "Skull" then
  1047. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1048. elseif TYPE == "Crystal" then
  1049. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1050. end
  1051. if MSH ~= nil then
  1052. local MOVESPEED = nil
  1053. if MOVEDIRECTION ~= nil then
  1054. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1055. end
  1056. local GROWTH = SIZE - ENDSIZE
  1057. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1058. if TYPE == "Block" then
  1059. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1060. else
  1061. EFFECT.CFrame = CFRAME
  1062. end
  1063. for LOOP = 1, TIME+1 do
  1064. Swait()
  1065. MSH.Scale = MSH.Scale - GROWTH/TIME
  1066. if TYPE == "Wave" then
  1067. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1068. end
  1069. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1070. if TYPE == "Block" then
  1071. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1072. else
  1073. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1074. end
  1075. if MOVEDIRECTION ~= nil then
  1076. local ORI = EFFECT.Orientation
  1077. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1078. EFFECT.Orientation = ORI
  1079. end
  1080. end
  1081. if PLAYSSOUND == false then
  1082. EFFECT:remove()
  1083. else
  1084. repeat wait(1) until SOUND.Playing == false
  1085. EFFECT:remove()
  1086. end
  1087. else
  1088. if PLAYSSOUND == false then
  1089. EFFECT:remove()
  1090. else
  1091. repeat Swait() until SOUND.Playing == false
  1092. EFFECT:remove()
  1093. end
  1094. end
  1095. end))
  1096. end
  1097.  
  1098. function MakeForm(PART,TYPE)
  1099. if TYPE == "Cyl" then
  1100. local MSH = IT("CylinderMesh",PART)
  1101. elseif TYPE == "Ball" then
  1102. local MSH = IT("SpecialMesh",PART)
  1103. MSH.MeshType = "Sphere"
  1104. elseif TYPE == "Wedge" then
  1105. local MSH = IT("SpecialMesh",PART)
  1106. MSH.MeshType = "Wedge"
  1107. end
  1108. end
  1109.  
  1110. Debris = game:GetService("Debris")
  1111.  
  1112. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1113. local DIRECTION = CF(StartPos,EndPos).lookVector
  1114. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1115. end
  1116.  
  1117. local HATWELD = nil
  1118. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1119. PLAYMAINANIM = false
  1120. if WhichPose == "Cast1" then
  1121. for i=0, Time, 0.1 / Animation_Speed do
  1122. Swait()
  1123. if Magic == true then
  1124. 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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1125. end
  1126. if Gyro ~= nil and Gyro ~= false then
  1127. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1128. end
  1129. 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)
  1130. 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)
  1131. 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)
  1132. 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)
  1133. 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)
  1134. 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)
  1135. end
  1136. elseif WhichPose == "Cast2" then
  1137. for i=0, Time, 0.1 / Animation_Speed do
  1138. Swait()
  1139. if Magic == true then
  1140. 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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1141. 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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1142. end
  1143. if Gyro ~= nil and Gyro ~= false then
  1144. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1145. end
  1146. 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)
  1147. 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)
  1148. 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)
  1149. 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)
  1150. 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)
  1151. 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)
  1152. end
  1153. elseif WhichPose == "RightArmUp" then
  1154. for i=0, Time, 0.1 / Animation_Speed do
  1155. Swait()
  1156. if Magic == true then
  1157. 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"Lime green".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1158. end
  1159. if Gyro ~= nil and Gyro ~= false then
  1160. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1161. end
  1162. 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)
  1163. 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)
  1164. 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)
  1165. 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)
  1166. 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)
  1167. 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)
  1168. end
  1169. elseif WhichPose == "Taunt" then
  1170. for i=0, Time, 0.1 / Animation_Speed do
  1171. Swait()
  1172. 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)
  1173. 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)
  1174. 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)
  1175. 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)
  1176. 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)
  1177. 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)
  1178. end
  1179. HATWELD.Part0 = RightArm
  1180. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  1181. CreateSound(137473066,Torso,10,1,false)
  1182. for i=0, Time*2, 0.1 / Animation_Speed do
  1183. Swait()
  1184. 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)
  1185. 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)
  1186. 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)
  1187. 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)
  1188. 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)
  1189. 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)
  1190. end
  1191. for i=0, Time, 0.1 / Animation_Speed do
  1192. Swait()
  1193. 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)
  1194. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1195. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1196. 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)
  1197. 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)
  1198. 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)
  1199. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  1200. end
  1201. HATWELD.Part0 = Head
  1202. HATWELD.C0 = CF(0,0.35,0)
  1203. elseif WhichPose == "Prepare key" then
  1204. for i=0, Time, 0.1 / Animation_Speed do
  1205. Swait()
  1206. if Gyro ~= nil and Gyro ~= false then
  1207. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1208. end
  1209. 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)
  1210. 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)
  1211. 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)
  1212. 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)
  1213. 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)
  1214. 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)
  1215. end
  1216. elseif WhichPose == "Turn key" then
  1217. for i=0, Time, 0.1 / Animation_Speed do
  1218. Swait()
  1219. if Gyro ~= nil and Gyro ~= false then
  1220. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1221. end
  1222. 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)
  1223. 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)
  1224. 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)
  1225. 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)
  1226. 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)
  1227. 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)
  1228. end
  1229. end
  1230. PLAYMAINANIM = true
  1231. end
  1232.  
  1233. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  1234. function Lightning(Table)
  1235. local Color = Table.Color or C3(1,1,1)
  1236. local StartPos = Table.Start or Torso.Position
  1237. local EndPos = Table.End or Mouse.Hit.p
  1238. local SegmentLength = Table.SegmentL or 2
  1239. local Thickness = Table.Thickness or 0.1
  1240. local Dissapear = Table.DoesFade or false
  1241. local Parent = Table.Ignore or Character
  1242. local MaxDist = Table.MaxDist or 400
  1243. local Branches = Table.Branches or false
  1244. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1245. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1246. local LIGHTNINGMODEL = IT("Model",Effects)
  1247. LIGHTNINGMODEL.Name = "Lightning"
  1248. local LastBolt = nil
  1249. for E = 1, DISTANCE do
  1250. local ExtraSize = (DISTANCE-E)/15
  1251. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Lime green"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1252. PART.Color = Color
  1253. MakeForm(PART,"Cyl")
  1254. if LastBolt == nil then
  1255. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1256. else
  1257. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1258. end
  1259. LastBolt = PART
  1260. if Branches == true then
  1261. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1262. if CHOICE == 1 then
  1263. local LASTBRANCH = nil
  1264. for i = 1, MRANDOM(2,5) do
  1265. local ExtraSize2 = ((DISTANCE-E)/25)/i
  1266. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1267. PART.Color = Color
  1268. MakeForm(PART,"Cyl")
  1269. if LASTBRANCH == nil then
  1270. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1271. else
  1272. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1273. end
  1274. LASTBRANCH = PART
  1275. end
  1276. end
  1277. end
  1278. end
  1279. if Dissapear == true then
  1280. coroutine.resume(coroutine.create(function()
  1281. for i = 1, 10 do
  1282. Swait()
  1283. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1284. if c.ClassName == "Part" then
  1285. c.Transparency = i/10
  1286. end
  1287. end
  1288. end
  1289. LIGHTNINGMODEL:remove()
  1290. end))
  1291. elseif Dissapear == false then
  1292. Debris:AddItem(LIGHTNINGMODEL,0.1)
  1293. end
  1294. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1295. end
  1296.  
  1297. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1298. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1299. end
  1300.  
  1301. function PositiveAngle(NUMBER)
  1302. if NUMBER >= 0 then
  1303. NUMBER = 0
  1304. end
  1305. return NUMBER
  1306. end
  1307.  
  1308. function NegativeAngle(NUMBER)
  1309. if NUMBER <= 0 then
  1310. NUMBER = 0
  1311. end
  1312. return NUMBER
  1313. end
  1314.  
  1315. function Swait(NUMBER)
  1316. if NUMBER == 0 or NUMBER == nil then
  1317. ArtificialHB.Event:wait()
  1318. else
  1319. for i = 1, NUMBER do
  1320. ArtificialHB.Event:wait()
  1321. end
  1322. end
  1323. end
  1324.  
  1325. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1326. local NEWMESH = IT(MESH)
  1327. if MESH == "SpecialMesh" then
  1328. NEWMESH.MeshType = MESHTYPE
  1329. if MESHID ~= "nil" and MESHID ~= "" then
  1330. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1331. end
  1332. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1333. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1334. end
  1335. end
  1336. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1337. NEWMESH.Scale = SCALE
  1338. NEWMESH.Parent = PARENT
  1339. return NEWMESH
  1340. end
  1341.  
  1342. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1343. local NEWPART = IT("Part")
  1344. NEWPART.formFactor = FORMFACTOR
  1345. NEWPART.Reflectance = REFLECTANCE
  1346. NEWPART.Transparency = TRANSPARENCY
  1347. NEWPART.CanCollide = false
  1348. NEWPART.Locked = true
  1349. NEWPART.Anchored = true
  1350. if ANCHOR == false then
  1351. NEWPART.Anchored = false
  1352. end
  1353. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1354. NEWPART.Name = NAME
  1355. NEWPART.Size = SIZE
  1356. NEWPART.Position = Torso.Position
  1357. NEWPART.Material = MATERIAL
  1358. NEWPART:BreakJoints()
  1359. NEWPART.Parent = PARENT
  1360. return NEWPART
  1361. end
  1362.  
  1363. local function weldBetween(a, b)
  1364. local weldd = Instance.new("ManualWeld")
  1365. weldd.Part0 = a
  1366. weldd.Part1 = b
  1367. weldd.C0 = CFrame.new()
  1368. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1369. weldd.Parent = a
  1370. return weldd
  1371. end
  1372.  
  1373.  
  1374. function QuaternionFromCFrame(cf)
  1375. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1376. local trace = m00 + m11 + m22
  1377. if trace > 0 then
  1378. local s = math.sqrt(1 + trace)
  1379. local recip = 0.5 / s
  1380. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1381. else
  1382. local i = 0
  1383. if m11 > m00 then
  1384. i = 1
  1385. end
  1386. if m22 > (i == 0 and m00 or m11) then
  1387. i = 2
  1388. end
  1389. if i == 0 then
  1390. local s = math.sqrt(m00 - m11 - m22 + 1)
  1391. local recip = 0.5 / s
  1392. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1393. elseif i == 1 then
  1394. local s = math.sqrt(m11 - m22 - m00 + 1)
  1395. local recip = 0.5 / s
  1396. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1397. elseif i == 2 then
  1398. local s = math.sqrt(m22 - m00 - m11 + 1)
  1399. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1400. end
  1401. end
  1402. end
  1403.  
  1404. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1405. local xs, ys, zs = x + x, y + y, z + z
  1406. local wx, wy, wz = w * xs, w * ys, w * zs
  1407. local xx = x * xs
  1408. local xy = x * ys
  1409. local xz = x * zs
  1410. local yy = y * ys
  1411. local yz = y * zs
  1412. local zz = z * zs
  1413. 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))
  1414. end
  1415.  
  1416. function QuaternionSlerp(a, b, t)
  1417. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1418. local startInterp, finishInterp;
  1419. if cosTheta >= 0.0001 then
  1420. if (1 - cosTheta) > 0.0001 then
  1421. local theta = ACOS(cosTheta)
  1422. local invSinTheta = 1 / SIN(theta)
  1423. startInterp = SIN((1 - t) * theta) * invSinTheta
  1424. finishInterp = SIN(t * theta) * invSinTheta
  1425. else
  1426. startInterp = 1 - t
  1427. finishInterp = t
  1428. end
  1429. else
  1430. if (1 + cosTheta) > 0.0001 then
  1431. local theta = ACOS(-cosTheta)
  1432. local invSinTheta = 1 / SIN(theta)
  1433. startInterp = SIN((t - 1) * theta) * invSinTheta
  1434. finishInterp = SIN(t * theta) * invSinTheta
  1435. else
  1436. startInterp = t - 1
  1437. finishInterp = t
  1438. end
  1439. end
  1440. 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
  1441. end
  1442.  
  1443. function Clerp(a, b, t)
  1444. local qa = {QuaternionFromCFrame(a)}
  1445. local qb = {QuaternionFromCFrame(b)}
  1446. local ax, ay, az = a.x, a.y, a.z
  1447. local bx, by, bz = b.x, b.y, b.z
  1448. local _t = 1 - t
  1449. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1450. end
  1451.  
  1452. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1453. local frame = IT("Frame")
  1454. frame.BackgroundTransparency = TRANSPARENCY
  1455. frame.BorderSizePixel = BORDERSIZEPIXEL
  1456. frame.Position = POSITION
  1457. frame.Size = SIZE
  1458. frame.BackgroundColor3 = COLOR
  1459. frame.BorderColor3 = BORDERCOLOR
  1460. frame.Name = NAME
  1461. frame.Parent = PARENT
  1462. return frame
  1463. end
  1464.  
  1465. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1466. local label = IT("TextLabel")
  1467. label.BackgroundTransparency = 1
  1468. label.Size = UD2(1, 0, 1, 0)
  1469. label.Position = UD2(0, 0, 0, 0)
  1470. label.TextColor3 = TEXTCOLOR
  1471. label.TextStrokeTransparency = STROKETRANSPARENCY
  1472. label.TextTransparency = TRANSPARENCY
  1473. label.FontSize = TEXTFONTSIZE
  1474. label.Font = TEXTFONT
  1475. label.BorderSizePixel = BORDERSIZEPIXEL
  1476. label.TextScaled = false
  1477. label.Text = TEXT
  1478. label.Name = NAME
  1479. label.Parent = PARENT
  1480. return label
  1481. end
  1482.  
  1483. function NoOutlines(PART)
  1484. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1485. end
  1486.  
  1487. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1488. local NEWWELD = IT(TYPE)
  1489. NEWWELD.Part0 = PART0
  1490. NEWWELD.Part1 = PART1
  1491. NEWWELD.C0 = C0
  1492. NEWWELD.C1 = C1
  1493. NEWWELD.Parent = PARENT
  1494. return NEWWELD
  1495. end
  1496.  
  1497. local S = IT("Sound")
  1498. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1499. local NEWSOUND = nil
  1500. coroutine.resume(coroutine.create(function()
  1501. NEWSOUND = S:Clone()
  1502. NEWSOUND.Parent = PARENT
  1503. NEWSOUND.Volume = VOLUME
  1504. NEWSOUND.Pitch = PITCH
  1505. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1506. NEWSOUND:play()
  1507. if DOESLOOP == true then
  1508. NEWSOUND.Looped = true
  1509. else
  1510. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1511. NEWSOUND:remove()
  1512. end
  1513. end))
  1514. return NEWSOUND
  1515. end
  1516.  
  1517. function CFrameFromTopBack(at, top, back)
  1518. local right = top:Cross(back)
  1519. 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)
  1520. end
  1521.  
  1522. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1523. function WACKYEFFECT(Table)
  1524. local TYPE = (Table.EffectType or "Sphere")
  1525. local SIZE = (Table.Size or VT(1,1,1))
  1526. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1527. local TRANSPARENCY = (Table.Transparency or 0)
  1528. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1529. local CFRAME = (Table.CFrame or Torso.CFrame)
  1530. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1531. local ROTATION1 = (Table.RotationX or 0)
  1532. local ROTATION2 = (Table.RotationY or 0)
  1533. local ROTATION3 = (Table.RotationZ or 0)
  1534. local MATERIAL = (Table.Material or "Neon")
  1535. local COLOR = (Table.Color or C3(1,1,1))
  1536. local TIME = (Table.Time or 45)
  1537. local SOUNDID = (Table.SoundID or nil)
  1538. local SOUNDPITCH = (Table.SoundPitch or nil)
  1539. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1540. coroutine.resume(coroutine.create(function()
  1541. local PLAYSSOUND = false
  1542. local SOUND = nil
  1543. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1544. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1545. PLAYSSOUND = true
  1546. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1547. end
  1548. EFFECT.Color = COLOR
  1549. local MSH = nil
  1550. if TYPE == "Sphere" then
  1551. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1552. elseif TYPE == "Block" then
  1553. MSH = IT("BlockMesh",EFFECT)
  1554. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1555. elseif TYPE == "Wave" then
  1556. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1557. elseif TYPE == "Ring" then
  1558. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1559. elseif TYPE == "Slash" then
  1560. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1561. elseif TYPE == "Round Slash" then
  1562. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1563. elseif TYPE == "Swirl" then
  1564. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1565. elseif TYPE == "Skull" then
  1566. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1567. elseif TYPE == "Crystal" then
  1568. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1569. end
  1570. if MSH ~= nil then
  1571. local MOVESPEED = nil
  1572. if MOVEDIRECTION ~= nil then
  1573. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1574. end
  1575. local GROWTH = SIZE - ENDSIZE
  1576. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1577. if TYPE == "Block" then
  1578. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1579. else
  1580. EFFECT.CFrame = CFRAME
  1581. end
  1582. for LOOP = 1, TIME+1 do
  1583. Swait()
  1584. MSH.Scale = MSH.Scale - GROWTH/TIME
  1585. if TYPE == "Wave" then
  1586. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1587. end
  1588. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1589. if TYPE == "Block" then
  1590. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1591. else
  1592. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1593. end
  1594. if MOVEDIRECTION ~= nil then
  1595. local ORI = EFFECT.Orientation
  1596. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1597. EFFECT.Orientation = ORI
  1598. end
  1599. end
  1600. if PLAYSSOUND == false then
  1601. EFFECT:remove()
  1602. else
  1603. SOUND.Stopped:Connect(function()
  1604. EFFECT:remove()
  1605. end)
  1606. end
  1607. else
  1608. if PLAYSSOUND == false then
  1609. EFFECT:remove()
  1610. else
  1611. repeat Swait() until SOUND.Playing == false
  1612. EFFECT:remove()
  1613. end
  1614. end
  1615. end))
  1616. end
  1617.  
  1618. function MakeForm(PART,TYPE)
  1619. if TYPE == "Cyl" then
  1620. local MSH = IT("CylinderMesh",PART)
  1621. elseif TYPE == "Ball" then
  1622. local MSH = IT("SpecialMesh",PART)
  1623. MSH.MeshType = "Sphere"
  1624. elseif TYPE == "Wedge" then
  1625. local MSH = IT("SpecialMesh",PART)
  1626. MSH.MeshType = "Wedge"
  1627. end
  1628. end
  1629.  
  1630. function SpawnTrail(FROM,TO,BIG)
  1631. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  1632. MakeForm(TRAIL,"Cyl")
  1633. local DIST = (FROM - TO).Magnitude
  1634. if BIG == true then
  1635. TRAIL.Size = VT(0.5,DIST,0.5)
  1636. else
  1637. TRAIL.Size = VT(0.25,DIST,0.25)
  1638. end
  1639. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1640. coroutine.resume(coroutine.create(function()
  1641. for i = 1, 5 do
  1642. Swait()
  1643. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1644. end
  1645. TRAIL:remove()
  1646. end))
  1647. end
  1648.  
  1649. Debris = game:GetService("Debris")
  1650.  
  1651. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1652. local DIRECTION = CF(StartPos,EndPos).lookVector
  1653. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1654. end
  1655.  
  1656. function turnto(position)
  1657. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1658. end
  1659.  
  1660. --//=================================\\
  1661. --|| WEAPON CREATION
  1662. --\\=================================//
  1663. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
  1664. MakeForm(EYE,"Ball")
  1665. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
  1666. local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
  1667. MakeForm(EYE2,"Ball")
  1668. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
  1669. local LASTPART = Head
  1670. for i = 1, 20 do
  1671. local MATH = (1-(i/25))
  1672. if LASTPART == Head then
  1673. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1674. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(15), RAD(-15)), CF(0, 0, 0))
  1675. LASTPART = Horn
  1676. Horn.Color = C3((i*3-3)/255,0,0)
  1677. else
  1678. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1679. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(-0.3), RAD(0)), CF(0, 0, 0))
  1680. LASTPART = Horn
  1681. Horn.Color = C3((i*3-3)/255,0,0)
  1682. end
  1683. end
  1684. local LASTPART = Head
  1685. for i = 1, 20 do
  1686. local MATH = (1-(i/25))
  1687. if LASTPART == Head then
  1688. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1689. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(-0.3, 0.7, -0.35) * ANGLES(RAD(-55), RAD(-15), RAD(15)), CF(0, 0, 0))
  1690. LASTPART = Horn
  1691. Horn.Color = C3((i*3-3)/255,0,0)
  1692. else
  1693. local Horn = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Dirt brown", "Horn", VT(0.25*MATH,0.25,0.25*MATH),false)
  1694. CreateWeldOrSnapOrMotor("Weld", LASTPART, LASTPART, Horn, CF(0, Horn.Size.Y/1.8, 0) * ANGLES(RAD(6), RAD(0.3), RAD(0)), CF(0, 0, 0))
  1695. LASTPART = Horn
  1696. Horn.Color = C3((i*3-3)/255,0,0)
  1697. end
  1698. end
  1699.  
  1700. local Particle = IT("ParticleEmitter",nil)
  1701. Particle.Enabled = false
  1702. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1703. Particle.LightEmission = 0.5
  1704. Particle.Rate = 150
  1705. Particle.ZOffset = 0.2
  1706. Particle.Rotation = NumberRange.new(-180, 180)
  1707. Particle.RotSpeed = NumberRange.new(-180, 180)
  1708. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1709. Particle.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
  1710. local Particle2 = IT("ParticleEmitter",nil)
  1711. Particle2.Enabled = false
  1712. Particle2.Texture = "http://www.roblox.com/asset/?id=1369397597"
  1713. Particle2.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
  1714. Particle2.LightEmission = 0
  1715. Particle2.RotSpeed = NumberRange.new(0, 180)
  1716. Particle2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1717. Particle2.LightEmission = 1
  1718. Particle2.Rate = 20
  1719. Particle2.RotSpeed = NumberRange.new(-20, 20)
  1720. local Particle3 = IT("ParticleEmitter",nil)
  1721. Particle3.Enabled = false
  1722. Particle3.Texture = "http://www.roblox.com/asset/?id=1546470121"
  1723. Particle3.Color = ColorSequence.new(C3(255,0,0),C3(255,0,0))
  1724. Particle3.LightEmission = 0
  1725. Particle3.RotSpeed = NumberRange.new(0, 180)
  1726. Particle3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.7),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
  1727. Particle3.LightEmission = 1
  1728. Particle3.Rate = 20
  1729. Particle3.RotSpeed = NumberRange.new(-20, 20)
  1730. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1731. function ParticleEmitter(Table)
  1732. local PRTCL = Particle:Clone()
  1733. local Speed = Table.Speed or 5
  1734. local Drag = Table.Drag or 0
  1735. local Size1 = Table.Size1 or 1
  1736. local Size2 = Table.Size2 or 5
  1737. local Lifetime1 = Table.Lifetime1 or 1
  1738. local Lifetime2 = Table.Lifetime2 or 1.5
  1739. local Parent = Table.Parent or Torso
  1740. local Emit = Table.Emit or 100
  1741. local Offset = Table.Offset or 360
  1742. local Acel = Table.Acel or VT(0,0,0)
  1743. local Enabled = Table.Enabled or false
  1744. PRTCL.Parent = Parent
  1745. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1746. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1747. PRTCL.Speed = NumberRange.new(Speed)
  1748. PRTCL.VelocitySpread = Offset
  1749. PRTCL.Drag = Drag
  1750. PRTCL.Acceleration = Acel
  1751. if Enabled == false then
  1752. PRTCL:Emit(Emit)
  1753. Debris:AddItem(PRTCL,Lifetime2)
  1754. else
  1755. PRTCL.Enabled = true
  1756. end
  1757. return PRTCL
  1758. end
  1759. function ParticleEmitter2(Table)
  1760. local PRTCL2 = Particle2:Clone()
  1761. local LockedToPart = Table.LTP or true
  1762. local Speed = Table.Speed or 0
  1763. local Drag = Table.Drag or 0
  1764. local Size1 = Table.Size1 or 1
  1765. local Size2 = Table.Size2 or 2
  1766. local Lifetime1 = Table.Lifetime1 or 1
  1767. local Lifetime2 = Table.Lifetime2 or 1
  1768. local Parent = Table.Parent or Torso
  1769. local Emit = Table.Emit or 100
  1770. local Offset = Table.Offset or 360
  1771. local Acel = Table.Acel or VT(0,0,0)
  1772. local Enabled = Table.Enabled or false
  1773. PRTCL2.Parent = Parent
  1774. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  1775. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1776. PRTCL2.Speed = NumberRange.new(Speed)
  1777. PRTCL2.VelocitySpread = Offset
  1778. PRTCL2.Drag = Drag
  1779. PRTCL2.Acceleration = Acel
  1780. PRTCL2.Parent = Parent
  1781. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  1782. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1783. PRTCL2.Speed = NumberRange.new(Speed)
  1784. PRTCL2.VelocitySpread = Offset
  1785. PRTCL2.Drag = Drag
  1786. PRTCL2.Acceleration = Acel
  1787. PRTCL2.LockedToPart = true
  1788. if Enabled == false then
  1789. PRTCL2:Emit(Emit)
  1790. Debris:AddItem(PRTCL2,Lifetime2)
  1791. else
  1792. PRTCL2.Enabled = true
  1793. end
  1794. return PRTCL2
  1795. end
  1796. function ParticleEmitter3(Table)
  1797. local PRTCL3 = Particle2:Clone()
  1798. local Speed = Table.Speed or 0
  1799. local Drag = Table.Drag or 0
  1800. local Size1 = Table.Size1 or 1
  1801. local Size2 = Table.Size2 or 2
  1802. local Lifetime1 = Table.Lifetime1 or 1
  1803. local Lifetime2 = Table.Lifetime2 or 1
  1804. local Parent = Table.Parent or Torso
  1805. local Emit = Table.Emit or 100
  1806. local Offset = Table.Offset or 0
  1807. local Acel = Table.Acel or VT(0,0,0)
  1808. local Enabled = Table.Enabled or false
  1809. PRTCL3.Parent = Parent
  1810. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  1811. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1812. PRTCL3.Speed = NumberRange.new(Speed)
  1813. PRTCL3.VelocitySpread = Offset
  1814. PRTCL3.Drag = Drag
  1815. PRTCL3.Acceleration = Acel
  1816. PRTCL3.Parent = Parent
  1817. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  1818. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1819. PRTCL3.Speed = NumberRange.new(Speed)
  1820. PRTCL3.VelocitySpread = Offset
  1821. PRTCL3.Drag = Drag
  1822. PRTCL3.Acceleration = Acel
  1823. if Enabled == false then
  1824. PRTCL3:Emit(Emit)
  1825. Debris:AddItem(PRTCL3,Lifetime2)
  1826. else
  1827. PRTCL3.Enabled = true
  1828. end
  1829. return PRTCL3
  1830. end
  1831.  
  1832. local Particle = IT("ParticleEmitter",nil)
  1833. Particle.Enabled = false
  1834. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1835. Particle.LightEmission = 0.5
  1836. Particle.Rate = 150
  1837. Particle.ZOffset = 0.2
  1838. Particle.Rotation = NumberRange.new(-180, 180)
  1839. Particle.RotSpeed = NumberRange.new(-180, 180)
  1840. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1841. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1842.  
  1843. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1844. function ParticleEmitter(Table)
  1845. local PRTCL = Particle:Clone()
  1846. local Speed = Table.Speed or 5
  1847. local Drag = Table.Drag or 0
  1848. local Size1 = Table.Size1 or 1
  1849. local Size2 = Table.Size2 or 5
  1850. local Lifetime1 = Table.Lifetime1 or 1
  1851. local Lifetime2 = Table.Lifetime2 or 1.5
  1852. local Parent = Table.Parent or Torso
  1853. local Emit = Table.Emit or 100
  1854. local Offset = Table.Offset or 360
  1855. local Acel = Table.Acel or VT(0,0,0)
  1856. local Enabled = Table.Enabled or false
  1857. PRTCL.Parent = Parent
  1858. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1859. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1860. PRTCL.Speed = NumberRange.new(Speed)
  1861. PRTCL.VelocitySpread = Offset
  1862. PRTCL.Drag = Drag
  1863. PRTCL.Acceleration = Acel
  1864. if Enabled == false then
  1865. PRTCL:Emit(Emit)
  1866. Debris:AddItem(PRTCL,Lifetime2)
  1867. else
  1868. PRTCL.Enabled = true
  1869. end
  1870. return PRTCL
  1871. end
  1872.  
  1873. local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
  1874. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
  1875. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
  1876. MakeForm(Part,"Wedge")
  1877. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1878. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
  1879. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1880. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
  1881. MakeForm(Part,"Cyl")
  1882. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1883. for i = 1, 8 do
  1884. local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
  1885. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1886. end
  1887. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
  1888. MakeForm(Part,"Wedge")
  1889. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1890. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
  1891. MakeForm(Part,"Cyl")
  1892. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1893. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
  1894. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1895. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
  1896. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1897. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
  1898. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
  1899. local RightBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
  1900. MakeForm(RightBarrel,"Cyl")
  1901. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, RightBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
  1902. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
  1903. MakeForm(Part,"Wedge")
  1904. CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1905. local RightHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
  1906. MakeForm(RightHole,"Cyl")
  1907. CreateWeldOrSnapOrMotor("Weld", Handle, RightBarrel, RightHole, CF(0, 2.5, 0), CF(0, 0, 0))
  1908. local Handle = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,1.2,0.2),false)
  1909. local LeftArmGraps = CreateWeldOrSnapOrMotor("Weld", Handle, LeftArm, Handle, CF(0,-0.8, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.3, 0))
  1910. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.8,0.2),false)
  1911. MakeForm(Part,"Wedge")
  1912. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0.2, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1913. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.6),false)
  1914. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1915. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.4,0.4,0.4),false)
  1916. MakeForm(Part,"Cyl")
  1917. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1918. for i = 1, 8 do
  1919. local Piece = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0,0.35,0.41),false)
  1920. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1921. end
  1922. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0.5,0.2),false)
  1923. MakeForm(Part,"Wedge")
  1924. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1925. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.39,0.41,0.39),false)
  1926. MakeForm(Part,"Cyl")
  1927. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.45, 0.4) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1928. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.5,0.5),false)
  1929. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1930. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.3,0.4,0.5),false)
  1931. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.65) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1932. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.2,0,0.6),false)
  1933. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, 0, 0) * ANGLES(RAD(45), RAD(0), RAD(0)), CF(0, -0.2, -0.3))
  1934. local LeftBarrel = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0.28,5,0.28),false)
  1935. MakeForm(LeftBarrel,"Cyl")
  1936. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, LeftBarrel, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -2.5, 0))
  1937. local Part = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Part", VT(0,0.2,0.2),false)
  1938. MakeForm(Part,"Wedge")
  1939. CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, Part, CF(0, 2.415, 0.15) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1940. local LeftHole = CreatePart(3, Character, "Metal", 0, 0, "Really black", "Eye", VT(0.2,0,0.2),false)
  1941. MakeForm(LeftHole,"Cyl")
  1942. CreateWeldOrSnapOrMotor("Weld", Handle, LeftBarrel, LeftHole, CF(0, 2.5, 0), CF(0, 0, 0))
  1943. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
  1944. MakeForm(Eye,"Ball")
  1945. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1946. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.6,0.1,1)/2,false)
  1947. MakeForm(Eye,"Ball")
  1948. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1949. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
  1950. MakeForm(Eye,"Ball")
  1951. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1952. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Eye", VT(0.1,1,1)/2,false)
  1953. MakeForm(Eye,"Ball")
  1954. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1955. local LASTPART = Handle
  1956. for i = 1, 10 do
  1957. if LASTPART == Handle then
  1958. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  1959. LASTPART = Part
  1960. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1961. else
  1962. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  1963. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1964. LASTPART = Part
  1965. end
  1966. end
  1967.  
  1968. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  1969. MakeForm(Barrel,"Cyl")
  1970. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1971. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  1972. MakeForm(Part,"Cyl")
  1973. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1974. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  1975. MakeForm(Part,"Wedge")
  1976. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1977. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  1978. MakeForm(Hole,"Cyl")
  1979. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1980. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  1981. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1982. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1983. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1984. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1985. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1986. coroutine.resume(coroutine.create(function()
  1987. while wait() do
  1988. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1989. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1990. end
  1991. end))
  1992.  
  1993. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1994. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1995.  
  1996. for _, c in pairs(Weapon:GetDescendants()) do
  1997. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1998. c.Material = "Glass"
  1999. c.Color = C3(0,0,0)
  2000. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2001. c.Color = C3(1,0,0)
  2002. c.Material = "Neon"
  2003. end
  2004. end
  2005.  
  2006. Weapon.Parent = Character
  2007. for _, c in pairs(Weapon:GetChildren()) do
  2008. if c.ClassName == "Part" then
  2009. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2010. end
  2011. end
  2012.  
  2013. local BODY = {}
  2014. for _, c in pairs(Character:GetDescendants()) do
  2015. if c:IsA("BasePart") and c.Name ~= "Handle" then
  2016. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2017. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2018. end
  2019. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency,c.Size,c.Name})
  2020. elseif c:IsA("JointInstance") then
  2021. table.insert(BODY,{c,c.Parent,nil,nil,nil,nil,nil})
  2022. end
  2023. end
  2024. function refit()
  2025. Character.Parent = workspace
  2026. for e = 1, #BODY do
  2027. if BODY[e] ~= nil then
  2028. local STUFF = BODY[e]
  2029. local PART = STUFF[1]
  2030. local PARENT = STUFF[2]
  2031. local MATERIAL = STUFF[3]
  2032. local COLOR = STUFF[4]
  2033. local TRANSPARENCY = STUFF[5]
  2034. --local SIZE = STUFF[6]
  2035. local NAME = STUFF[7]
  2036. if PART.ClassName == "Part" and PART ~= RootPart then
  2037. PART.Material = MATERIAL
  2038. PART.Transparency = TRANSPARENCY
  2039. PART.Name = NAME
  2040. end
  2041. if PART.Parent ~= PARENT then
  2042. Humanoid:remove()
  2043. PART.Parent = PARENT
  2044. Humanoid = IT("Humanoid",Character)
  2045. end
  2046. end
  2047. end
  2048. end
  2049.  
  2050. local SKILLTEXTCOLOR = C3(1,0,0)
  2051. local SKILLFONT = "Antique"
  2052. local SKILLTEXTSIZE = 7
  2053.  
  2054. Humanoid.Died:connect(function()
  2055. ATTACK = true
  2056. end)
  2057.  
  2058. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2059. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2060. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2061. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2062. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2063. ]]
  2064. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  2065. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  2066. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  2067. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  2068. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  2069. ]]
  2070. function printbye(Name)
  2071. local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  2072. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2073. end
  2074.  
  2075. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2076. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2077. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2078. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2079. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2080.  
  2081. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[E] Warp", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
  2082. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Lock of truth", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
  2083. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[Q] Lift", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
  2084. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] FINAL ATTACK", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
  2085.  
  2086. workspace.ChildAdded:connect(function(instance)
  2087. for BANISH = 1, #TOBANISH do
  2088. if TOBANISH[BANISH] ~= nil then
  2089. if instance.Name == TOBANISH[BANISH] then
  2090. coroutine.resume(coroutine.create(function()
  2091. printbye(instance.Name)
  2092. instance:ClearAllChildren()
  2093. Debris:AddItem(instance,0.0005)
  2094. end))
  2095. end
  2096. end
  2097. end
  2098. end)
  2099.  
  2100. --//=================================\\
  2101. --|| DAMAGING
  2102. --\\=================================//
  2103. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  2104. local CHILDREN = workspace:GetDescendants()
  2105. for index, CHILD in pairs(CHILDREN) do
  2106. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2107. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2108. if HUM then
  2109. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2110. if TORSO then
  2111. if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  2112. CHILD:BreakJoints()
  2113. if FLING ~= 0 then
  2114. for _, c in pairs(CHILD:GetChildren()) do
  2115. if c:IsA("BasePart") and c.Transparency == 0 then
  2116. if BURN == true then
  2117. Fire(c)
  2118. end
  2119. local bv = Instance.new("BodyVelocity")
  2120. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2121. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2122. bv.Parent = c
  2123. Debris:AddItem(bv,0.05)
  2124. end
  2125. end
  2126. end
  2127. end
  2128. end
  2129. end
  2130. end
  2131. end
  2132. end
  2133.  
  2134. function Banish(Foe)
  2135. if Foe then
  2136. coroutine.resume(coroutine.create(function()
  2137. --if game.Players:FindFirstChild(Foe.Name) then
  2138. table.insert(TOBANISH,Foe.Name)
  2139. printbye(Foe.Name)
  2140. --end
  2141. Foe.Archivable = true
  2142. local CLONE = Foe:Clone()
  2143. Foe:Destroy()
  2144. CLONE.Parent = Effects
  2145. CLONE:BreakJoints()
  2146. local MATERIALS = {"Glass","Neon"}
  2147. for _, c in pairs(CLONE:GetDescendants()) do
  2148. if c:IsA("BasePart") then
  2149. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2150. CreateSound(340722848, c, 10, 1, false)
  2151. end
  2152. c.Anchored = true
  2153. c.Transparency = c.Transparency + 0.2
  2154. c.Material = MATERIALS[MRANDOM(1,2)]
  2155. c.Color = C3(1,0,0)
  2156. if c.ClassName == "MeshPart" then
  2157. c.TextureID = ""
  2158. end
  2159. if c:FindFirstChildOfClass("SpecialMesh") then
  2160. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2161. end
  2162. if c:FindFirstChildOfClass("Decal") then
  2163. c:FindFirstChildOfClass("Decal"):remove()
  2164. end
  2165. c.Name = "Banished"
  2166. c.CanCollide = false
  2167. else
  2168. c:remove()
  2169. end
  2170. end
  2171. local A = false
  2172. for i = 1, 35 do
  2173. if A == false then
  2174. A = true
  2175. elseif A == true then
  2176. A = false
  2177. end
  2178. for _, c in pairs(CLONE:GetDescendants()) do
  2179. if c:IsA("BasePart") then
  2180. c.Anchored = true
  2181. c.Material = MATERIALS[MRANDOM(1,2)]
  2182. c.Transparency = c.Transparency + 0.8/35
  2183. if A == false then
  2184. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2185. elseif A == true then
  2186. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2187. end
  2188. end
  2189. end
  2190. Swait()
  2191. end
  2192. CLONE:remove()
  2193. end))
  2194. end
  2195. end
  2196.  
  2197. function ApplyAoE(POSITION,RANGE,ISBANISH)
  2198. local CHILDREN = workspace:GetDescendants()
  2199. for index, CHILD in pairs(CHILDREN) do
  2200. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2201. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2202. if HUM then
  2203. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2204. if TORSO then
  2205. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2206. if ISBANISH == true then
  2207. Banish(CHILD)
  2208. else
  2209. if ISBANISH == "Gravity" then
  2210. HUM.PlatformStand = true
  2211. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2212. local grav = Instance.new("BodyPosition",TORSO)
  2213. grav.D = 15
  2214. grav.P = 20000
  2215. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2216. grav.position = TORSO.Position
  2217. grav.Name = "V3BanishForce"..Player.Name
  2218. else
  2219. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  2220. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  2221. end
  2222. else
  2223. HUM.PlatformStand = false
  2224. end
  2225. end
  2226. elseif ISBANISH == "Gravity" then
  2227. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  2228. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  2229. HUM.PlatformStand = false
  2230. end
  2231. end
  2232. end
  2233. end
  2234. end
  2235. end
  2236. end
  2237.  
  2238. --//=================================\\
  2239. --|| ATTACK FUNCTIONS AND STUFF
  2240. --\\=================================//
  2241. Player_Size = 1
  2242.  
  2243. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  2244. if DoesCourontine == false then
  2245. local Direction = CF(Part.Position,ToLocation)
  2246. local Distance = (Part.Position - ToLocation).magnitude
  2247. for i = 1, AmountOfTime do
  2248. Swait()
  2249. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2250. Direction = Part.CFrame
  2251. end
  2252. Part:remove()
  2253. elseif DoesCourontine == true then
  2254. coroutine.resume(coroutine.create(function()
  2255. local Direction = CF(Part.Position,ToLocation)
  2256. local Distance = (Part.Position - ToLocation).magnitude
  2257. for i = 1, AmountOfTime do
  2258. Swait()
  2259. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  2260. Direction = Part.CFrame
  2261. end
  2262. Part:remove()
  2263. end))
  2264. end
  2265. end
  2266.  
  2267. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  2268. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2269. wave.Color = COLOR
  2270. local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  2271. wave.CFrame = CFRAME
  2272. coroutine.resume(coroutine.create(function(PART)
  2273. for i = 1, WAIT do
  2274. Swait()
  2275. mesh.Scale = mesh.Scale + GROW
  2276. wave.Transparency = wave.Transparency + (1/WAIT)
  2277. if wave.Transparency > 0.99 then
  2278. wave:remove()
  2279. end
  2280. end
  2281. end))
  2282. end
  2283.  
  2284. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  2285. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  2286. wave.Color = COLOR
  2287. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2288. wave.CFrame = CFRAME
  2289. coroutine.resume(coroutine.create(function(PART)
  2290. for i = 1, WAIT do
  2291. Swait()
  2292. mesh.Scale = mesh.Scale + GROW
  2293. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  2294. if DOESROT == true then
  2295. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  2296. end
  2297. wave.Transparency = wave.Transparency + (0.5/WAIT)
  2298. if wave.Transparency > 0.99 then
  2299. wave:remove()
  2300. end
  2301. end
  2302. end))
  2303. end
  2304.  
  2305. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  2306. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  2307. local mesh = nil
  2308. if KIND == "Base" then
  2309. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  2310. elseif KIND == "Thin" then
  2311. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2312. elseif KIND == "Round" then
  2313. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  2314. end
  2315. wave.CFrame = CFRAME
  2316. coroutine.resume(coroutine.create(function(PART)
  2317. for i = 1, WAIT do
  2318. Swait()
  2319. mesh.Scale = mesh.Scale + GROW/10
  2320. wave.Transparency = wave.Transparency + (0.5/WAIT)
  2321. if wave.Transparency > 0.99 then
  2322. wave:remove()
  2323. end
  2324. end
  2325. end))
  2326. end
  2327.  
  2328. function killnearest(position,range,maxstrength)
  2329. for i,v in ipairs(workspace:GetChildren()) do
  2330. local body = v:GetChildren()
  2331. for part = 1, #body do
  2332. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2333. if(body[part].Position - position).Magnitude < range then
  2334. if v.ClassName == "Model" then
  2335. v:BreakJoints()
  2336. end
  2337. --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  2338. local bv = Instance.new("BodyVelocity")
  2339. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2340. bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  2341. bv.Parent = body[part]
  2342. Debris:AddItem(bv,0.2)
  2343. end
  2344. end
  2345. end
  2346. if v.ClassName == "Part" then
  2347. if v.Anchored == false and (v.Position - position).Magnitude < range then
  2348. --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  2349. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  2350. end
  2351. end
  2352. end
  2353. end
  2354.  
  2355. function Supernova()
  2356. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  2357. if HITFLOOR ~= nil then
  2358. local HITBODIES = {}
  2359. ATTACK = true
  2360. Rooted = true
  2361. local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Star", VT(0,0,0))
  2362. MakeForm(ABSOLUTE,"Ball")
  2363. CreateSound("429459101", ABSOLUTE, 10, 1)
  2364. for i=0, 4, 0.1 / Animation_Speed do
  2365. Swait()
  2366. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  2367. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  2368. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  2369. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Lime green", "Star", VT(1,1,1))
  2370. MakeForm(CHARGE,"Ball")
  2371. CHARGE.Color = C3(255,0,0)
  2372. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  2373. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  2374. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2375. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2376. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2377. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2378. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2379. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2380. end
  2381. CreateSound("907330103", Head, 10, 1.2)
  2382. for i = 1, 75 do
  2383. Swait()
  2384. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2385. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2386. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2387. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2388. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2389. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2390. end
  2391. coroutine.resume(coroutine.create(function()
  2392. for i = 1, 13 do
  2393. for e = 1, 8 do
  2394. Swait()
  2395. MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(255,0,0),VT(0,0,0))
  2396. CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Reakky red".Color,VT(i,0.3,i)*2)
  2397. end
  2398. for i = 1, 5 do
  2399. Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(1,1,1),VT(i,0,i)/3)
  2400. Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(255,0,0),VT(0,0,0))
  2401. end
  2402. CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
  2403. CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(255,0,0),VT(i,i*2,i))
  2404. CreateSound("168586621", ABSOLUTE, 4, 0.8)
  2405. CreateSound("201858144", ABSOLUTE, 10, 0.8)
  2406. killnearest(ABSOLUTE.Position,i*18,i)
  2407. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  2408. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
  2409. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(255,0,0),VT(i,i,i))
  2410. end
  2411. ABSOLUTE.Transparency = 1
  2412. Debris:AddItem(ABSOLUTE,10)
  2413. end))
  2414. ATTACK = false
  2415. Rooted = false
  2416. end
  2417. end
  2418.  
  2419.  
  2420. local ENERGYSOUND = 1417051162
  2421. local BEAMSOUND = 1417056781
  2422. local EXPLOSIONSOUND = 1417056081
  2423. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Lime green", "BraceletPart", VT(1.01,0.3,1.01),false)
  2424.  
  2425. function Charge(TIME,GYRO)
  2426. local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  2427. local G = nil
  2428. if GYRO == true then
  2429. G = IT("BodyGyro",RootPart)
  2430. G.D = 250
  2431. G.P = 200000
  2432. G.MaxTorque = VT(math.huge,math.huge,math.huge)
  2433. end
  2434. for i=0, TIME, 0.1 / Animation_Speed do
  2435. Swait()
  2436. if G then
  2437. G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2438. end
  2439. WACKYEFFECT({TIME = 25, EffectType = "Sphere", Size = VT(1.2,1.2,1.2), Size2 = VT(0,0,0), Transparency = 0.5, Transparency2 = 1, CFrame = BasePart.CFrame, MoveToPos = BasePart.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-4).p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2440. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2441. 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)
  2442. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2443. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2444. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2445. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2446. end
  2447. SND:remove()
  2448. if G then
  2449. return G
  2450. end
  2451. end
  2452.  
  2453. function Warp()
  2454. local HITFLOOR,HITPOS = Raycast(Mouse.Hit.p+VT(0,1,0), (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 100, Character)
  2455. if HITFLOOR then
  2456. CharacterFade(C3(0.5,0,0),50)
  2457. HITPOS = HITPOS + VT(0,3.5,0)
  2458. local POS = RootPart.Position
  2459. RootPart.CFrame = CF(HITPOS,CF(POS,HITPOS)*CF(0,0,-100000).p)
  2460. CreateSound(289556450,Torso,2,MRANDOM(8,13)/10,false)
  2461. end
  2462. end
  2463.  
  2464. function Prison_Key()
  2465. if Mouse.Target ~= nil then
  2466. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  2467. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  2468. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  2469. local GYRO = IT("BodyGyro",RootPart)
  2470. GYRO.D = 750
  2471. GYRO.P = 20000
  2472. GYRO.MaxTorque = VT(0,40000000,0)
  2473. local grav = Instance.new("BodyPosition",TORSO)
  2474. grav.D = 15
  2475. grav.P = 20000
  2476. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2477. grav.position = TORSO.Position
  2478. local GYRO2 = IT("BodyGyro",TORSO)
  2479. GYRO2.D = 750
  2480. GYRO2.P = 20000
  2481. GYRO2.MaxTorque = VT(0,40000000,0)
  2482. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  2483. grav.Name = "Jail"
  2484. local LOCKPARTS = {}
  2485. ATTACK = true
  2486. Rooted = false
  2487. local LOCK = IT("Model",Effects)
  2488. LOCK.Name = "Lock"
  2489. local LOCK2 = IT("Model",LOCK)
  2490. LOCK2.Name = "Metal"
  2491. --CREATE LOCK--
  2492. local BASE = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 2.5, 1))
  2493. LOCK.PrimaryPart = BASE
  2494. BASE.CFrame = CF(TORSO.Position,RootPart.Position)*CF(0,0,-4)
  2495. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "Gold", "Keylock", VT(3, 1, 3))
  2496. PRT.CFrame = BASE.CFrame*CF(0,-1.25,0)*ANGLES(RAD(90),RAD(0),RAD(0))
  2497. MakeForm(PRT,"Cyl")
  2498. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(1, 1, 1))
  2499. PRT.Color = C3(0,0,0)
  2500. PRT.CFrame = BASE.CFrame*CF(0,0.3,-0.01)*ANGLES(RAD(90),RAD(0),RAD(0))
  2501. MakeForm(PRT,"Cyl")
  2502. local PRT = CreatePart(3, LOCK, "Glass", 0, 0, "White", "Hole", VT(0.5, 1, 1))
  2503. PRT.Color = C3(0,0,0)
  2504. PRT.CFrame = BASE.CFrame*CF(0,-0.2,-0.01)
  2505. for i = 1, 45 do
  2506. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  2507. PRT.CFrame = BASE.CFrame*CF(0,2,0)*ANGLES(RAD(0),RAD(0),RAD(-90+(360/90*i)))*CF(0,1,0)
  2508. end
  2509. local PRT = CreatePart(3, LOCK2, "Glass", 0, 0, "Grey", "Keylock", VT(0.5, 0.5, 0.5))
  2510. PRT.CFrame = BASE.CFrame*CF(0,1.5,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0)
  2511. LOCK2.PrimaryPart = PRT
  2512. ---------------
  2513. local CHILDREN = LOCK:GetDescendants()
  2514. for index, CHILD in pairs(CHILDREN) do
  2515. if CHILD:IsA("BasePart") then
  2516. CHILD.Transparency = 1
  2517. end
  2518. end
  2519. for i = 1, 75 do
  2520. LOCK:SetPrimaryPartCFrame(CF(TORSO.Position,RootPart.Position)*CF(0,0,-4))
  2521. Swait()
  2522. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  2523. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  2524. local CHILDREN = LOCK:GetDescendants()
  2525. for index, CHILD in pairs(CHILDREN) do
  2526. if CHILD:IsA("BasePart") then
  2527. CHILD.Transparency = CHILD.Transparency - 1/75
  2528. end
  2529. end
  2530. end
  2531. HUM.DisplayDistanceType = "None"
  2532. local KEY = IT("Model",Effects)
  2533. KEY.Name = "Key"
  2534. --CREATE KEY--
  2535. local KBASE = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "KeyBase", VT(0.1, 1, 0.1),false)
  2536. KEY.PrimaryPart = KBASE
  2537. KBASE.CFrame = RightArm.CFrame*CF(0,-2.1,0)*ANGLES(RAD(0),RAD(90),RAD(0))
  2538. local WLD = weldBetween(RightArm,KBASE)
  2539. for i = 1, 45 do
  2540. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.1, 0.1, 0.1),false)
  2541. PRT.CFrame = KBASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD((360/45*i)))*CF(0,0.25,0)
  2542. weldBetween(KBASE,PRT)
  2543. end
  2544. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
  2545. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.45,0)
  2546. weldBetween(KBASE,PRT)
  2547. local PRT = CreatePart(3, KEY, "Neon", 0, 0, "Really red", "Key", VT(0.3, 0.1, 0.1),false)
  2548. PRT.CFrame = KBASE.CFrame*CF(-0.15,-0.25,0)
  2549. weldBetween(KBASE,PRT)
  2550. --------------
  2551. Rooted = true
  2552. Pose("Prepare key",1.5,1.2,false,GYRO,TORSO)
  2553. coroutine.resume(coroutine.create(function()
  2554. for i = 1, 10 do
  2555. Swait()
  2556. GYRO2.cframe = CF(TORSO.Position,RootPart.Position)
  2557. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  2558. end
  2559. CreateSound(1149318312,BASE,5,1,false)
  2560. CreateSound(160772554,BASE,3,1,false)
  2561. LOCK2:SetPrimaryPartCFrame(BASE.CFrame*CF(0,0.8,0)*ANGLES(RAD(0),RAD(0),RAD(90))*CF(0,1,0))
  2562. for i = 1, 4 do
  2563. WACKYEFFECT({Time = 35, EffectType = "Crystal", Size = VT(1,1,1), Size2 = VT(0,15,0), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(1,1.45,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2564. end
  2565. WACKYEFFECT({Time = 35, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1)*25, Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = MRANDOM(8,12)/10, SoundVolume = 5})
  2566. wait(1)
  2567. TORSO.Parent.Parent = LOCK
  2568. for i = 1, 75 do
  2569. Swait()
  2570. local CHILDREN = KEY:GetDescendants()
  2571. for index, CHILD in pairs(CHILDREN) do
  2572. if CHILD:IsA("BasePart") then
  2573. CHILD.Transparency = i/25
  2574. end
  2575. end
  2576. local CHILDREN = LOCK:GetDescendants()
  2577. for index, CHILD in pairs(CHILDREN) do
  2578. if CHILD:IsA("BasePart") and CHILD.Name ~= "HumanoidRootPart" then
  2579. CHILD.Transparency = CHILD.Transparency + 1/75
  2580. elseif CHILD.ClassName == "Decal" then
  2581. CHILD.Transparency = CHILD.Transparency + 1/75
  2582. end
  2583. end
  2584. end
  2585. TORSO.Parent:ClearAllChildren()
  2586. KEY:remove()
  2587. LOCK:remove()
  2588. end))
  2589. Pose("Turn key",0.8,1.2,false,GYRO,TORSO)
  2590. GYRO:remove()
  2591. ATTACK = false
  2592. Rooted = false
  2593. end
  2594. end
  2595. end
  2596.  
  2597. function Lift()
  2598. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  2599. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  2600. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  2601. if TORSO and HUM.Health > 0 then
  2602. ATTACK = true
  2603. Rooted = false
  2604. local GYRO = IT("BodyGyro",RootPart)
  2605. GYRO.D = 275
  2606. GYRO.P = 20000
  2607. GYRO.MaxTorque = VT(0,40000,0)
  2608. for i=0, 0.8, 0.1 / Animation_Speed do
  2609. Swait()
  2610. GYRO.cframe = CF(RootPart.Position,TORSO.Position)
  2611. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2612. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2613. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2614. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2615. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2616. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2617. end
  2618. local MAGIC = ParticleEmitter({Speed = 5, Drag = 3, Size1 = 1.7, Size2 = 0, Lifetime1 = 1, Lifetime2 = 3, Parent = TORSO, Emit = 100, Offset = 360, Enabled = true})
  2619. MAGIC.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(1,0)})
  2620. local grav = Instance.new("BodyPosition",TORSO)
  2621. grav.D = 1500
  2622. grav.P = 20000
  2623. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2624. grav.position = TORSO.Position+VT(0,15,0)
  2625. Debris:AddItem(grav,10)
  2626. Debris:AddItem(MAGIC,10)
  2627. CreateSound(902204346, Torso, 7, 1, false)
  2628. CreateSound(902204346, TORSO, 7, 1, false)
  2629. for i=0, 1, 0.1 / Animation_Speed do
  2630. Swait()
  2631. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 1 / Animation_Speed)
  2632. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2633. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(125), RAD(-45), RAD(15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2634. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(125), RAD(45), RAD(-15)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2635. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2636. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-35-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2637. end
  2638. GYRO:remove()
  2639. ATTACK = false
  2640. Rooted = false
  2641. end
  2642. end
  2643. end
  2644.  
  2645. function TAUNT1()
  2646. ATTACK = true
  2647. Rooted = false
  2648. CreateSound(865772398, Torso, 6, 1, false)
  2649. for i=0, 0.1, 0.1 / Animation_Speed do
  2650. Swait()
  2651. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2652. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2653. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2654. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2655. end
  2656. for i=0, 1, 0.1 / Animation_Speed do
  2657. Swait()
  2658. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2659. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2660. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2661. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.15, 0.5, -0.4) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(25), RAD(90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2662. end
  2663. for i=0, 1, 0.1 / Animation_Speed do
  2664. Swait()
  2665. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2666. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2667. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2668. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25-3 * COS(SINE / 6)), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2669. end
  2670. ATTACK = false
  2671. Rooted = false
  2672. end
  2673.  
  2674. function TAUNT2()
  2675. ATTACK = true
  2676. Rooted = false
  2677. for i=0, 1, 0.1 / Animation_Speed do
  2678. Swait()
  2679. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2680. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2681. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2682. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.25 * COS(SINE / 12), 0.4) * ANGLES(RAD(-45), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2683. end
  2684. ATTACK = false
  2685. Rooted = false
  2686. end
  2687.  
  2688. function EMOTE()
  2689. ATTACK = true
  2690. Rooted = false
  2691. local LOOP = 0
  2692. for i=0, 0.1, 0.1 / Animation_Speed do
  2693. Swait()
  2694. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2695. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2696. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2697. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2698. end
  2699. for i=0, 3, 0.1 / Animation_Speed do
  2700. Swait()
  2701. LOOP = LOOP + 1
  2702. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2703. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2704. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2705. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.8, 0.4) * ANGLES(RAD(170), RAD(0), RAD(-25 - 25 * SIN(LOOP / 5))) * ANGLES(RAD(0), RAD(-45), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2706. end
  2707. for i=0, 0.1, 0.1 / Animation_Speed do
  2708. Swait()
  2709. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2710. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2711. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.15 + 0.25 * COS(SINE / 12), -0.3) * ANGLES(RAD(140), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2712. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.4) * ANGLES(RAD(5-3 * COS(SINE / 6)), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2713. end
  2714. ATTACK = false
  2715. Rooted = false
  2716. end
  2717.  
  2718. function Banisher_Bullet()
  2719. ATTACK = true
  2720. Rooted = false
  2721. for i=0, 0.01, 0.1 / Animation_Speed do
  2722. Swait()
  2723. turnto(Mouse.Hit.p)
  2724. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  2725. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  2726. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2727. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2728. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2729. --LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2730. end
  2731. repeat
  2732. for i=0, 0.01, 0.1 / Animation_Speed do
  2733. Swait()
  2734. turnto(Mouse.Hit.p)
  2735. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  2736. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  2737. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(83), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2738. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2739. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2740. --LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2741. end
  2742. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2743. SpawnTrail(Hole.Position,POS)
  2744. WACKYEFFECT({Time = 25, EffectType = "Ring", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2745. WACKYEFFECT({Time = 25, EffectType = "Ring", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,1), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2746. WACKYEFFECT({Time = 25, EffectType = "Ring", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2747. WACKYEFFECT({Time = 25, EffectType = "Ring", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2748. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2749. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2750. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2751. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2752. if HIT ~= nil then
  2753. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2754. Banish(HIT.Parent)
  2755. end
  2756. end
  2757.  
  2758. for i=0, 0.01, 0.1 / Animation_Speed do
  2759. Swait()
  2760. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.45 * COS(SINE / 12)) * ANGLES(RAD(7 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 1 * SIN(SINE / 12))), 1 / Animation_Speed)
  2761. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 22)), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  2762. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2763. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2764. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2765. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2766. end
  2767. until KEYHOLD == false
  2768. ATTACK = false
  2769. Rooted = false
  2770. end
  2771.  
  2772. function AttackTemplate()
  2773. ATTACK = true
  2774. Rooted = false
  2775. for i=0, 1, 0.1 / Animation_Speed do
  2776. Swait()
  2777. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2778. 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)
  2779. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2780. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2781. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2782. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2783. end
  2784. ATTACK = false
  2785. Rooted = false
  2786. end
  2787.  
  2788. --//=================================\\
  2789. --|| ASSIGN THINGS TO KEYS
  2790. --\\=================================//
  2791.  
  2792. function MouseDown(Mouse)
  2793. HOLD = true
  2794. if ATTACK == false then
  2795. end
  2796. end
  2797.  
  2798. function MouseUp(Mouse)
  2799. HOLD = false
  2800. end
  2801.  
  2802. function KeyDown(Key)
  2803. KEYHOLD = true
  2804. if Key == "z" and ATTACK == false then
  2805. Banisher_Bullet()
  2806. end
  2807.  
  2808. if Key == "b" and ATTACK == false then
  2809. end
  2810.  
  2811. if Key == "t" and ATTACK == false then
  2812. TAUNT1()
  2813. end
  2814.  
  2815. if Key == "q" and ATTACK == false then
  2816. Lift()
  2817. end
  2818.  
  2819. if Key == "e" and ATTACK == false then
  2820. Warp()
  2821. end
  2822.  
  2823. if Key == "r" and ATTACK == false then
  2824. Supernova()
  2825. end
  2826.  
  2827. if Key == "x" and ATTACK == false then
  2828. Prison_Key()
  2829. end
  2830.  
  2831. if Key == "c" and ATTACK == false then
  2832. end
  2833.  
  2834. if Key == "v" and ATTACK == false then
  2835. end
  2836.  
  2837. if Key == "x" and ATTACK == false then
  2838. end
  2839. end
  2840.  
  2841. function KeyUp(Key)
  2842. KEYHOLD = false
  2843. end
  2844.  
  2845. Mouse.Button1Down:connect(function(NEWKEY)
  2846. MouseDown(NEWKEY)
  2847. end)
  2848. Mouse.Button1Up:connect(function(NEWKEY)
  2849. MouseUp(NEWKEY)
  2850. end)
  2851. Mouse.KeyDown:connect(function(NEWKEY)
  2852. KeyDown(NEWKEY)
  2853. end)
  2854. Mouse.KeyUp:connect(function(NEWKEY)
  2855. KeyUp(NEWKEY)
  2856. end)
  2857.  
  2858. --//=================================\\
  2859. --\\=================================//
  2860.  
  2861.  
  2862. function unanchor()
  2863. if UNANCHOR == true then
  2864. g = Character:GetChildren()
  2865. for i = 1, #g do
  2866. if g[i].ClassName == "Part" then
  2867. g[i].Anchored = false
  2868. end
  2869. end
  2870. end
  2871. end
  2872.  
  2873.  
  2874. --//=================================\\
  2875. --|| WRAP THE WHOLE SCRIPT UP
  2876. --\\=================================//
  2877.  
  2878. Humanoid.Changed:connect(function(Jump)
  2879. if Jump == "Jump" and (Disable_Jump == true) then
  2880. Humanoid.Jump = false
  2881. end
  2882. end)
  2883.  
  2884. while true do
  2885. Swait()
  2886. Humanoid.HipHeight = 1.5
  2887. script.Parent = WEAPONGUI
  2888. ANIMATE.Parent = nil
  2889. if Humanoid then
  2890. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2891. IDLEANIMATION:Play()
  2892. end
  2893. SINE = SINE + CHANGE
  2894. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2895. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2896. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2897. if ATTACK == false then
  2898. if TORSOVELOCITY < 1 then
  2899. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
  2900. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
  2901. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(110), RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(35 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2902. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2903. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2904. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2905. elseif TORSOVELOCITY > 1 then
  2906. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(25)), 1 / Animation_Speed)
  2907. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed)
  2908. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(110), RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(35 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2909. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35 + 0.15 * COS(SINE / 12), 0) * ANGLES(RAD(140 - 12 * SIN(SINE / 12)), RAD(15 + 2.5 * SIN(SINE / 12)), RAD(-35 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2910. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2911. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2912. end
  2913. end
  2914. RightArmGrasp.C0 = Clerp(RightArmGrasp.C0, CF(0, -0.815+0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(90-4.5 * SIN(SINE / 12)), RAD(-1.5 * SIN(SINE / 12)), RAD(0)), 1 / Animation_Speed)
  2915. unanchor()
  2916. Humanoid.MaxHealth = "inf"
  2917. Humanoid.Health = "inf"
  2918. if Rooted == false then
  2919. Disable_Jump = false
  2920. Humanoid.WalkSpeed = Speed
  2921. elseif Rooted == true then
  2922. Disable_Jump = true
  2923. Humanoid.WalkSpeed = 0
  2924. end
  2925. for _, c in pairs(Character:GetDescendants()) do
  2926. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2927. c.Material = "Neon"
  2928. c.Color = C3(1,1,1)
  2929. if c:FindFirstChildOfClass("SpecialMesh") then
  2930. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2931. end
  2932. if c == Head then
  2933. if c:FindFirstChild("face") then
  2934. c.face:remove()
  2935. end
  2936. end
  2937. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2938. c.Color = C3(1,0,0)
  2939. c.Material = "Neon"
  2940. elseif c.ClassName == "CharacterMesh" or c.Name == "Body Colors" then
  2941. c:remove()
  2942. elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  2943. c:remove()
  2944. end
  2945. end
  2946. refit()
  2947. Humanoid.Name = "Deadeyes"
  2948. sick.Parent = Torso
  2949. sick:resume()
  2950. sick.Volume = 5
  2951. sick.Pitch = 1
  2952. sick.SoundId = "rbxassetid://356064698"
  2953. if Head:FindFirstChildOfClass("Sound") then
  2954. Head:FindFirstChildOfClass("Sound"):remove()
  2955. end
  2956. end
  2957.  
  2958. --//=================================\\
  2959. --\\=================================//
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965. --//====================================================\\--
  2966. --|| END OF SCRIPT
  2967. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement