AnormalPerson

Untitled

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