PR0J3CT11

Untitled

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