Advertisement
Tetezaza1542

GOD

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