Tetezaza1542

กาเดี้ยน

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