Advertisement
Okkkkk

FE banisher script

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