Advertisement
PR0J3CT11

Untitled

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