Advertisement
yougotoof

yuuuiii

Jan 1st, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 154.46 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code by Mokiros")
  7. local rp = RealPlayer
  8. script.Parent = rp.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent then
  34. for _,f in pairs(t.Functions) do
  35. f(...)
  36. end
  37. end
  38. end
  39. m.TrigEvent = te
  40. UIS.TrigEvent = te
  41.  
  42. Event.OnServerEvent:Connect(function(plr,io)
  43. if plr~=rp then return end
  44. m.Target = io.Target
  45. m.Hit = io.Hit
  46. if not io.isMouse then
  47. local b = io.UserInputState == Enum.UserInputState.Begin
  48. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  49. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  50. end
  51. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  52. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  53. end
  54. for _,t in pairs(CAS.Actions) do
  55. for _,k in pairs(t.Keys) do
  56. if k==io.KeyCode then
  57. t.Function(t.Name,io.UserInputState,io)
  58. end
  59. end
  60. end
  61. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  62. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  63. end
  64. end)
  65. Event.Parent = NLS([==[
  66. local Player = game:GetService("Players").LocalPlayer
  67. local Event = script:WaitForChild("UserInput_Event")
  68.  
  69. local Mouse = Player:GetMouse()
  70. local UIS = game:GetService("UserInputService")
  71. local input = function(io,a)
  72. if a then return end
  73. --Since InputObject is a client-side instance, we create and pass table instead
  74. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  75. end
  76. UIS.InputBegan:Connect(input)
  77. UIS.InputEnded:Connect(input)
  78.  
  79. local h,t
  80. --Give the server mouse data 30 times every second, but only if the values changed
  81. --If player is not moving their mouse, client won't fire events
  82. while wait(1/30) do
  83. if h~=Mouse.Hit or t~=Mouse.Target then
  84. h,t=Mouse.Hit,Mouse.Target
  85. Event:FireServer({isMouse=true,Target=t,Hit=h})
  86. end
  87. end]==],Player.Character)
  88.  
  89. ----Sandboxed game object that allows the usage of client-side methods and services
  90. --Real game object
  91. local _rg = game
  92.  
  93. --Metatable for fake service
  94. local fsmt = {
  95. __index = function(self,k)
  96. local s = rawget(self,"_RealService")
  97. if s then
  98. return typeof(s[k])=="function"
  99. and function(_,...)return s[k](s,...)end or s[k]
  100. end
  101. end,
  102. __newindex = function(self,k,v)
  103. local s = rawget(self,"_RealService")
  104. if s then s[k]=v end
  105. end
  106. }
  107. local function FakeService(t,RealService)
  108. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  109. return setmetatable(t,fsmt)
  110. end
  111.  
  112. --Fake game object
  113. local g = {
  114. GetService = function(self,s)
  115. return rawget(self,s) or _rg:GetService(s)
  116. end,
  117. Players = FakeService({
  118. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  119. },"Players"),
  120. UserInputService = FakeService(UIS,"UserInputService"),
  121. ContextActionService = FakeService(CAS,"ContextActionService"),
  122. RunService = FakeService({
  123. _btrs = {},
  124. RenderStepped = _rg:GetService("RunService").Heartbeat,
  125. BindToRenderStep = function(self,name,_,fun)
  126. self._btrs[name] = self.Heartbeat:Connect(fun)
  127. end,
  128. UnbindFromRenderStep = function(self,name)
  129. self._btrs[name]:Disconnect()
  130. end,
  131. },"RunService")
  132. }
  133. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  134. g.service = g.GetService
  135. FakeService(g,game)
  136. --Changing owner to fake player object to support owner:GetMouse()
  137. game,owner = g,g.Players.LocalPlayer
  138. end
  139.  
  140. Player = game.Players.LocalPlayer
  141. Character = Player.Character
  142. local txt = Instance.new("BillboardGui", Character)
  143. txt.Adornee = Character.Head
  144. txt.Name = "_status"
  145. txt.Size = UDim2.new(2, 0, 1.2, 0)
  146. txt.StudsOffset = Vector3.new(-9, 8, 0)
  147. local text = Instance.new("TextLabel", txt)
  148. text.Size = UDim2.new(10, 0, 7, 0)
  149. text.FontSize = "Size24"
  150. text.TextScaled = true
  151. text.TextTransparency = 0
  152. text.BackgroundTransparency = 1
  153. text.TextTransparency = 0
  154. text.TextStrokeTransparency = 0
  155. text.Font = "Antique"
  156. text.TextStrokeColor3 = Color3.new(196, 40, 28)
  157. text.Text = "The Last God"
  158. script.Name = "Banisher Gun V3 / 1"
  159. --//====================================================\\--
  160. --|| CREATED BY SHACKLUSTER
  161. --\\====================================================//--
  162.  
  163. script:ClearAllChildren()
  164. wait(0.2)
  165.  
  166. Player = game:GetService("Players").LocalPlayer
  167. PlayerGui = Player.PlayerGui
  168. Cam = workspace.CurrentCamera
  169. Backpack = Player.Backpack
  170. Character = Player.Character
  171. Humanoid = Character.Humanoid
  172. Mouse = Player:GetMouse()
  173. RootPart = Character["HumanoidRootPart"]
  174. Torso = Character["Torso"]
  175. Head = Character["Head"]
  176. RightArm = Character["Right Arm"]
  177. LeftArm = Character["Left Arm"]
  178. RightLeg = Character["Right Leg"]
  179. LeftLeg = Character["Left Leg"]
  180. RootJoint = RootPart["RootJoint"]
  181. Neck = Torso["Neck"]
  182. RightShoulder = Torso["Right Shoulder"]
  183. LeftShoulder = Torso["Left Shoulder"]
  184. RightHip = Torso["Right Hip"]
  185. LeftHip = Torso["Left Hip"]
  186. local TIME = 0
  187. local sick = Instance.new("Sound",Torso)
  188.  
  189.  
  190. for i,v in pairs(Character:GetChildren()) do
  191. if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "CharacterMesh" then
  192. v:Destroy()
  193. end
  194. end
  195.  
  196. for i,v in pairs(Character:GetChildren()) do
  197. if v.ClassName == "Accessory" or v.ClassName == "Hat" then
  198. v:Destroy()
  199. end
  200. end
  201.  
  202. local Shirt = Instance.new("Shirt",Character)
  203. local Pants = Instance.new("Pants",Character)
  204. Shirt.ShirtTemplate = "rbxassetid://1390096242"
  205. Pants.PantsTemplate = "rbxassetid://1756876037"
  206.  
  207. IT = Instance.new
  208. CF = CFrame.new
  209. VT = Vector3.new
  210. RAD = math.rad
  211. C3 = Color3.new
  212. UD2 = UDim2.new
  213. BRICKC = BrickColor.new
  214. ANGLES = CFrame.Angles
  215. EULER = CFrame.fromEulerAnglesXYZ
  216. COS = math.cos
  217. ACOS = math.acos
  218. SIN = math.sin
  219. ASIN = math.asin
  220. ABS = math.abs
  221. MRANDOM = math.random
  222. FLOOR = math.floor
  223.  
  224. Player = game:GetService("Players").LocalPlayer
  225. PlayerGui = Player.PlayerGui
  226. Cam = workspace.CurrentCamera
  227. Backpack = Player.Backpack
  228. Character = Player.Character
  229. Humanoid = Character.Humanoid
  230. Mouse = Player:GetMouse()
  231. RootPart = Character["HumanoidRootPart"]
  232. Torso = Character["Torso"]
  233. Head = Character["Head"]
  234. RightArm = Character["Right Arm"]
  235. LeftArm = Character["Left Arm"]
  236. RightLeg = Character["Right Leg"]
  237. LeftLeg = Character["Left Leg"]
  238. RootJoint = RootPart["RootJoint"]
  239. Neck = Torso["Neck"]
  240. RightShoulder = Torso["Right Shoulder"]
  241. LeftShoulder = Torso["Left Shoulder"]
  242. RightHip = Torso["Right Hip"]
  243. LeftHip = Torso["Left Hip"]
  244. warn("Anti-Death Loaded (edited by promlg112)")
  245.  
  246. IT = Instance.new
  247. CF = CFrame.new
  248. VT = Vector3.new
  249. RAD = math.rad
  250. C3 = Color3.new
  251. UD2 = UDim2.new
  252. BRICKC = BrickColor.new
  253. ANGLES = CFrame.Angles
  254. EULER = CFrame.fromEulerAnglesXYZ
  255. COS = math.cos
  256. ACOS = math.acos
  257. SIN = math.sin
  258. ASIN = math.asin
  259. ABS = math.abs
  260. MRANDOM = math.random
  261. FLOOR = math.floor
  262.  
  263. local Speed = 55
  264. local Rooted = false
  265. local Effects = IT("Folder", Character)
  266. Effects.Name = "Effects"
  267. local UNANCHOR = true
  268. local HITPOS = nil
  269. local HITFLOOR = nil
  270. local LEFTWINGS = {}
  271. local RIGHTWINGS = {}
  272. local BODY = {}
  273.  
  274. for _, c in pairs(Character:GetChildren()) do
  275. if c.ClassName == "Part" then
  276. table.insert(BODY,{c,Character})
  277. for _, q in pairs(c:GetChildren()) do
  278. if q.ClassName == "Motor6D" or q.ClassName == "Weld" or q.ClassName == "ManualWeld" then
  279. table.insert(BODY,{q,c})
  280. end
  281. end
  282. end
  283. end
  284.  
  285. function refit()
  286. Character.Parent = workspace
  287. for e = 1, #BODY do
  288. if BODY[e] ~= nil then
  289. local STUFF = BODY[e]
  290. local PART = STUFF[1]
  291. local PARENT = STUFF[2]
  292. PART.Parent = PARENT
  293. end
  294. end
  295. end
  296.  
  297. Humanoid.HealthChanged:connect(function()
  298. Humanoid.Parent = nil
  299. Humanoid.MaxHealth = "inf"
  300. Humanoid.Health = "inf"
  301. refit()
  302. Humanoid.Parent = Character
  303. end)
  304.  
  305. Humanoid.Died:connect(function()
  306. Humanoid.Parent = nil
  307. Humanoid.MaxHealth = "inf"
  308. Humanoid.Health = "inf"
  309. refit()
  310. Humanoid.Parent = Character
  311. end)
  312. --//=================================\\
  313. --|| CUSTOMIZATION
  314. --\\=================================//
  315.  
  316. Player_Size = 1 --Size of the player.
  317. Animation_Speed = 3
  318. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  319.  
  320. local Speed = 16
  321. local Effects2 = {}
  322.  
  323. --//=================================\\
  324. --|| END OF CUSTOMIZATION
  325. --\\=================================//
  326.  
  327. local function weldBetween(a, b)
  328. local weldd = Instance.new("ManualWeld")
  329. weldd.Part0 = a
  330. weldd.Part1 = b
  331. weldd.C0 = CFrame.new()
  332. weldd.C1 = b.CFrame:inverse() * a.CFrame
  333. weldd.Parent = a
  334. return weldd
  335. end
  336. --//=================================\\
  337. --|| PARTICLES N STUFF
  338. --\\=================================//
  339.  
  340. local particleemitter = Instance.new('ParticleEmitter', LeftArm)
  341. particleemitter.VelocitySpread = 350
  342. particleemitter.Lifetime = NumberRange.new(1)
  343. particleemitter.Speed = NumberRange.new(0)
  344. cringememe= {}
  345. for i=0, 19 do
  346. cringememe[#cringememe + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
  347. end
  348. particleemitter.Size = NumberSequence.new(cringememe)
  349. particleemitter.Rate = 20
  350. particleemitter.LockedToPart = true
  351. particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
  352. particleemitter.LightEmission = 1
  353. particleemitter.Texture = "rbxassetid://38727848"
  354. particleemitter.Color = ColorSequence.new(BrickColor.new("Really red").Color)
  355.  
  356. local particleemitter = Instance.new('ParticleEmitter', Torso)
  357. particleemitter.VelocitySpread = 250
  358. particleemitter.Lifetime = NumberRange.new(3)
  359. particleemitter.Speed = NumberRange.new(1.5)
  360. youAreATHOT = {}
  361. for i=0, 19 do
  362. youAreATHOT[#youAreATHOT + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
  363. end
  364. particleemitter.Size = NumberSequence.new(youAreATHOT)
  365. particleemitter.Rate = 10
  366. particleemitter.LockedToPart = false
  367. particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
  368. particleemitter.LightEmission = 1
  369. particleemitter.Texture = "rbxassetid://253188763"
  370. particleemitter.Color = ColorSequence.new(BrickColor.new("Really red").Color)
  371.  
  372. local particleemitter = Instance.new('ParticleEmitter', RightArm)
  373. particleemitter.VelocitySpread = 350
  374. particleemitter.Lifetime = NumberRange.new(1)
  375. particleemitter.Speed = NumberRange.new(0)
  376. cringememe2= {}
  377. for i=0, 19 do
  378. cringememe2[#cringememe2 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
  379. end
  380. particleemitter.Size = NumberSequence.new(cringememe2)
  381. particleemitter.Rate = 20
  382. particleemitter.LockedToPart = true
  383. particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
  384. particleemitter.LightEmission = 1
  385. particleemitter.Texture = "rbxassetid://38727848"
  386. particleemitter.Color = ColorSequence.new(BrickColor.new("Really red").Color)
  387.  
  388. local particleemitter = Instance.new('ParticleEmitter', RightLeg)
  389. particleemitter.VelocitySpread = 350
  390. particleemitter.Lifetime = NumberRange.new(1)
  391. particleemitter.Speed = NumberRange.new(0)
  392. cringememe3= {}
  393. for i=0, 19 do
  394. cringememe3[#cringememe3 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
  395. end
  396. particleemitter.Size = NumberSequence.new(cringememe3)
  397. particleemitter.Rate = 30
  398. particleemitter.LockedToPart = true
  399. particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
  400. particleemitter.LightEmission = 1
  401. particleemitter.Texture = "rbxassetid://38727848"
  402. particleemitter.Color = ColorSequence.new(BrickColor.new("Really red").Color)
  403.  
  404. local particleemitter = Instance.new('ParticleEmitter', LeftLeg)
  405. particleemitter.VelocitySpread = 350
  406. particleemitter.Lifetime = NumberRange.new(1)
  407. particleemitter.Speed = NumberRange.new(0)
  408. cringememe4= {}
  409. for i=0, 19 do
  410. cringememe4[#cringememe4 + 1] = NumberSequenceKeypoint.new(i/19, math.random(1, 1))
  411. end
  412. particleemitter.Size = NumberSequence.new(cringememe4)
  413. particleemitter.Rate = 30
  414. particleemitter.LockedToPart = true
  415. particleemitter.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.8, 0), NumberSequenceKeypoint.new(1, 1)})
  416. particleemitter.LightEmission = 1
  417. particleemitter.Texture = "rbxassetid://38727848"
  418. particleemitter.Color = ColorSequence.new(BrickColor.new("Really red").Color)
  419. --//=================================\\
  420. --|| USEFUL VALUES
  421. --\\=================================//
  422.  
  423. Animation_Speed = 3
  424. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  425. local Speed = 35
  426. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  427. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  428. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  429. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  430. local DAMAGEMULTIPLIER = 1
  431. local ANIM = "Idle"
  432. local ATTACK = false
  433. local EQUIPPED = false
  434. local HOLD = false
  435. local COMBO = 1
  436. local Rooted = false
  437. local SINE = 0
  438. local KEYHOLD = false
  439. local CHANGE = 2 / Animation_Speed
  440. local WALKINGANIM = false
  441. local VALUE1 = false
  442. local VALUE2 = false
  443. local ROBLOXIDLEANIMATION = IT("Animation")
  444. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  445. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  446. --ROBLOXIDLEANIMATION.Parent = Humanoid
  447. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  448. WEAPONGUI.Name = "Weapon GUI"
  449. local Effects = IT("Folder", Character)
  450. Effects.Name = "Effects"
  451. local ANIMATOR = Humanoid.Animator
  452. local ANIMATE = Character.Animate
  453. local UNANCHOR = true
  454. local LAUGHS = {834001699,834001752,834001797,834001828}
  455.  
  456. Animation_Speed = 3
  457. local FORCERESET = false
  458. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  459. local Speed = 16
  460. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  461. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  462. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  463. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  464. local DAMAGEMULTIPLIER = 1
  465. local ANIM = "Idle"
  466. local ATTACK = false
  467. local EQUIPPED = false
  468. local HOLD = true
  469. local COMBO = 3
  470. local Rooted = false
  471. local SINE = 5
  472. local KEYHOLD = false
  473. local CHANGE = 2 / Animation_Speed
  474. local WALKINGANIM = false
  475. local VALUE1 = false
  476. local VALUE2 = false
  477. local ROBLOXIDLEANIMATION = IT("Animation")
  478. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  479. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  480. --ROBLOXIDLEANIMATION.Parent = Humanoid
  481. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  482. WEAPONGUI.Name = "BanishV4Gui"
  483. local Weapon = IT("Model")
  484. Weapon.Name = "Adds"
  485. local Effects = IT("Folder", Weapon)
  486. Effects.Name = "Effects"
  487. local ANIMATOR = Humanoid.Animator
  488. local ANIMATE = Character:FindFirstChild("Animate")
  489. local UNANCHOR = true
  490. local TOBANISH = {}
  491. script.Parent = PlayerGui
  492.  
  493. --//=================================\\
  494. --\\=================================//
  495.  
  496.  
  497. --//=================================\\
  498. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  499. --\\=================================//
  500.  
  501. ArtificialHB = Instance.new("BindableEvent", script)
  502. ArtificialHB.Name = "ArtificialHB"
  503.  
  504. script:WaitForChild("ArtificialHB")
  505.  
  506. frame = Frame_Speed
  507. tf = 0
  508. allowframeloss = false
  509. tossremainder = false
  510. lastframe = tick()
  511. script.ArtificialHB:Fire()
  512.  
  513. game:GetService("RunService").Heartbeat:connect(function(s, p)
  514. tf = tf + s
  515. if tf >= frame then
  516. if allowframeloss then
  517. script.ArtificialHB:Fire()
  518. lastframe = tick()
  519. else
  520. for i = 1, math.floor(tf / frame) do
  521. script.ArtificialHB:Fire()
  522. end
  523. lastframe = tick()
  524. end
  525. if tossremainder then
  526. tf = 0
  527. else
  528. tf = tf - frame * math.floor(tf / frame)
  529. end
  530. end
  531. end)
  532.  
  533. --//=================================\\
  534. --\\=================================//
  535.  
  536. --//=================================\\
  537. --|| SOME FUNCTIONS
  538. --\\=================================//
  539. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  540. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  541. end
  542.  
  543. function PositiveAngle(NUMBER)
  544. if NUMBER >= 0 then
  545. NUMBER = 0
  546. end
  547. return NUMBER
  548. end
  549.  
  550. function NegativeAngle(NUMBER)
  551. if NUMBER <= 0 then
  552. NUMBER = 0
  553. end
  554. return NUMBER
  555. end
  556.  
  557. function Swait(NUMBER)
  558. if NUMBER == 0 or NUMBER == nil then
  559. ArtificialHB.Event:wait()
  560. else
  561. for i = 1, NUMBER do
  562. ArtificialHB.Event:wait()
  563. end
  564. end
  565. end
  566.  
  567. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  568. local NEWMESH = IT(MESH)
  569. if MESH == "SpecialMesh" then
  570. NEWMESH.MeshType = MESHTYPE
  571. if MESHID ~= "nil" and MESHID ~= "" then
  572. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  573. end
  574. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  575. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  576. end
  577. end
  578. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  579. NEWMESH.Scale = SCALE
  580. NEWMESH.Parent = PARENT
  581. return NEWMESH
  582. end
  583.  
  584. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  585. local NEWPART = IT("Part")
  586. NEWPART.formFactor = FORMFACTOR
  587. NEWPART.Reflectance = REFLECTANCE
  588. NEWPART.Transparency = TRANSPARENCY
  589. NEWPART.CanCollide = false
  590. NEWPART.Locked = true
  591. NEWPART.Anchored = true
  592. if ANCHOR == false then
  593. NEWPART.Anchored = false
  594. end
  595. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  596. NEWPART.Name = NAME
  597. NEWPART.Size = SIZE
  598. NEWPART.Position = Torso.Position
  599. NEWPART.Material = MATERIAL
  600. NEWPART:BreakJoints()
  601. NEWPART.Parent = PARENT
  602. return NEWPART
  603. end
  604.  
  605. local function weldBetween(a, b)
  606. local weldd = Instance.new("ManualWeld")
  607. weldd.Part0 = a
  608. weldd.Part1 = b
  609. weldd.C0 = CFrame.new()
  610. weldd.C1 = b.CFrame:inverse() * a.CFrame
  611. weldd.Parent = a
  612. return weldd
  613. end
  614.  
  615.  
  616. function QuaternionFromCFrame(cf)
  617. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  618. local trace = m00 + m11 + m22
  619. if trace > 0 then
  620. local s = math.sqrt(1 + trace)
  621. local recip = 0.5 / s
  622. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  623. else
  624. local i = 0
  625. if m11 > m00 then
  626. i = 1
  627. end
  628. if m22 > (i == 0 and m00 or m11) then
  629. i = 2
  630. end
  631. if i == 0 then
  632. local s = math.sqrt(m00 - m11 - m22 + 1)
  633. local recip = 0.5 / s
  634. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  635. elseif i == 1 then
  636. local s = math.sqrt(m11 - m22 - m00 + 1)
  637. local recip = 0.5 / s
  638. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  639. elseif i == 2 then
  640. local s = math.sqrt(m22 - m00 - m11 + 1)
  641. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  642. end
  643. end
  644. end
  645.  
  646. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  647. local xs, ys, zs = x + x, y + y, z + z
  648. local wx, wy, wz = w * xs, w * ys, w * zs
  649. local xx = x * xs
  650. local xy = x * ys
  651. local xz = x * zs
  652. local yy = y * ys
  653. local yz = y * zs
  654. local zz = z * zs
  655. 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))
  656. end
  657.  
  658. function QuaternionSlerp(a, b, t)
  659. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  660. local startInterp, finishInterp;
  661. if cosTheta >= 0.0001 then
  662. if (1 - cosTheta) > 0.0001 then
  663. local theta = ACOS(cosTheta)
  664. local invSinTheta = 1 / SIN(theta)
  665. startInterp = SIN((1 - t) * theta) * invSinTheta
  666. finishInterp = SIN(t * theta) * invSinTheta
  667. else
  668. startInterp = 1 - t
  669. finishInterp = t
  670. end
  671. else
  672. if (1 + cosTheta) > 0.0001 then
  673. local theta = ACOS(-cosTheta)
  674. local invSinTheta = 1 / SIN(theta)
  675. startInterp = SIN((t - 1) * theta) * invSinTheta
  676. finishInterp = SIN(t * theta) * invSinTheta
  677. else
  678. startInterp = t - 1
  679. finishInterp = t
  680. end
  681. end
  682. 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
  683. end
  684.  
  685. function Clerp(a, b, t)
  686. local qa = {QuaternionFromCFrame(a)}
  687. local qb = {QuaternionFromCFrame(b)}
  688. local ax, ay, az = a.x, a.y, a.z
  689. local bx, by, bz = b.x, b.y, b.z
  690. local _t = 1 - t
  691. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  692. end
  693.  
  694. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  695. local frame = IT("Frame")
  696. frame.BackgroundTransparency = TRANSPARENCY
  697. frame.BorderSizePixel = BORDERSIZEPIXEL
  698. frame.Position = POSITION
  699. frame.Size = SIZE
  700. frame.BackgroundColor3 = COLOR
  701. frame.BorderColor3 = BORDERCOLOR
  702. frame.Name = NAME
  703. frame.Parent = PARENT
  704. return frame
  705. end
  706.  
  707. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  708. local label = IT("TextLabel")
  709. label.BackgroundTransparency = 1
  710. label.Size = UD2(1, 0, 1, 0)
  711. label.Position = UD2(0, 0, 0, 0)
  712. label.TextColor3 = TEXTCOLOR
  713. label.TextStrokeTransparency = STROKETRANSPARENCY
  714. label.TextTransparency = TRANSPARENCY
  715. label.FontSize = TEXTFONTSIZE
  716. label.Font = TEXTFONT
  717. label.BorderSizePixel = BORDERSIZEPIXEL
  718. label.TextScaled = false
  719. label.Text = TEXT
  720. label.Name = NAME
  721. label.Parent = PARENT
  722. return label
  723. end
  724.  
  725. function NoOutlines(PART)
  726. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  727. end
  728.  
  729. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  730. local NEWWELD = IT(TYPE)
  731. NEWWELD.Part0 = PART0
  732. NEWWELD.Part1 = PART1
  733. NEWWELD.C0 = C0
  734. NEWWELD.C1 = C1
  735. NEWWELD.Parent = PARENT
  736. return NEWWELD
  737. end
  738.  
  739. local S = IT("Sound")
  740. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  741. local NEWSOUND = nil
  742. coroutine.resume(coroutine.create(function()
  743. NEWSOUND = S:Clone()
  744. NEWSOUND.Parent = PARENT
  745. NEWSOUND.Volume = VOLUME
  746. NEWSOUND.Pitch = PITCH
  747. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  748. NEWSOUND:play()
  749. if DOESLOOP == true then
  750. NEWSOUND.Looped = true
  751. else
  752. repeat wait(1) until NEWSOUND.Playing == false
  753. NEWSOUND:remove()
  754. end
  755. end))
  756. return NEWSOUND
  757. end
  758.  
  759.  
  760. local EyeSizes={
  761. NumberSequenceKeypoint.new(0,2,0),
  762. NumberSequenceKeypoint.new(1,0,0)
  763. }
  764. local EyeTrans={
  765. NumberSequenceKeypoint.new(0,0.5,0),
  766. NumberSequenceKeypoint.new(1,1,0)
  767. }
  768. local PE=Instance.new("ParticleEmitter",nil)
  769. PE.LightEmission=.8
  770. PE.Color = ColorSequence.new(BRICKC("Lime green").Color,BRICKC("Lime green").Color)
  771. PE.Size=NumberSequence.new(EyeSizes)
  772. PE.Transparency=NumberSequence.new(EyeTrans)
  773. PE.Lifetime=NumberRange.new(0.35,1)
  774. PE.Rotation=NumberRange.new(0,360)
  775. PE.Rate=100
  776. PE.VelocitySpread = 10000
  777. PE.Acceleration = Vector3.new(0,85,0)
  778. PE.Drag = 5
  779. PE.Speed = NumberRange.new(0.1,5)
  780. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  781. PE.ZOffset = 0.5
  782. PE.Name = "PE"
  783. PE.Enabled = false
  784.  
  785. function Fire(art)
  786. local PARTICLES = PE:Clone()
  787. PARTICLES.Parent = art
  788. PARTICLES.Enabled = true
  789. return PARTICLES
  790. end
  791.  
  792. function CFrameFromTopBack(at, top, back)
  793. local right = top:Cross(back)
  794. 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)
  795. end
  796.  
  797. --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})
  798. function WACKYEFFECT(Table)
  799. local TYPE = (Table.EffectType or "Sphere")
  800. local SIZE = (Table.Size or VT(1,1,1))
  801. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  802. local TRANSPARENCY = (Table.Transparency or 0)
  803. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  804. local CFRAME = (Table.CFrame or Torso.CFrame)
  805. local MOVEDIRECTION = (Table.MoveToPos or nil)
  806. local ROTATION1 = (Table.RotationX or 0)
  807. local ROTATION2 = (Table.RotationY or 0)
  808. local ROTATION3 = (Table.RotationZ or 0)
  809. local MATERIAL = (Table.Material or "Neon")
  810. local COLOR = (Table.Color or C3(1,1,1))
  811. local TIME = (Table.Time or 45)
  812. local SOUNDID = (Table.SoundID or nil)
  813. local SOUNDPITCH = (Table.SoundPitch or nil)
  814. local SOUNDVOLUME = (Table.SoundVolume or nil)
  815. coroutine.resume(coroutine.create(function()
  816. local PLAYSSOUND = false
  817. local SOUND = nil
  818. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Lime green"), "Effect", VT(1,1,1), true)
  819. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  820. PLAYSSOUND = true
  821. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  822. end
  823. EFFECT.Color = COLOR
  824. local MSH = nil
  825. if TYPE == "Sphere" then
  826. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  827. elseif TYPE == "Block" or TYPE == "Box" then
  828. MSH = IT("BlockMesh",EFFECT)
  829. MSH.Scale = SIZE
  830. elseif TYPE == "Wave" then
  831. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  832. elseif TYPE == "Ring" then
  833. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  834. elseif TYPE == "Slash" then
  835. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  836. elseif TYPE == "Round Slash" then
  837. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  838. elseif TYPE == "Swirl" then
  839. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  840. elseif TYPE == "Skull" then
  841. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  842. elseif TYPE == "Crystal" then
  843. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  844. end
  845. if MSH ~= nil then
  846. local MOVESPEED = nil
  847. if MOVEDIRECTION ~= nil then
  848. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  849. end
  850. local GROWTH = SIZE - ENDSIZE
  851. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  852. if TYPE == "Block" then
  853. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  854. else
  855. EFFECT.CFrame = CFRAME
  856. end
  857. for LOOP = 1, TIME+1 do
  858. Swait()
  859. MSH.Scale = MSH.Scale - GROWTH/TIME
  860. if TYPE == "Wave" then
  861. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  862. end
  863. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  864. if TYPE == "Block" then
  865. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  866. else
  867. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  868. end
  869. if MOVEDIRECTION ~= nil then
  870. local ORI = EFFECT.Orientation
  871. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  872. EFFECT.Orientation = ORI
  873. end
  874. end
  875. if PLAYSSOUND == false then
  876. EFFECT:remove()
  877. else
  878. repeat wait(1) until SOUND.Playing == false
  879. EFFECT:remove()
  880. end
  881. else
  882. if PLAYSSOUND == false then
  883. EFFECT:remove()
  884. else
  885. repeat Swait() until SOUND.Playing == false
  886. EFFECT:remove()
  887. end
  888. end
  889. end))
  890. end
  891.  
  892. function MakeForm(PART,TYPE)
  893. if TYPE == "Cyl" then
  894. local MSH = IT("CylinderMesh",PART)
  895. elseif TYPE == "Ball" then
  896. local MSH = IT("SpecialMesh",PART)
  897. MSH.MeshType = "Sphere"
  898. elseif TYPE == "Wedge" then
  899. local MSH = IT("SpecialMesh",PART)
  900. MSH.MeshType = "Wedge"
  901. end
  902. end
  903.  
  904. Debris = game:GetService("Debris")
  905.  
  906. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  907. local DIRECTION = CF(StartPos,EndPos).lookVector
  908. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  909. end
  910.  
  911. local HATWELD = nil
  912. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  913. PLAYMAINANIM = false
  914. if WhichPose == "Cast1" then
  915. for i=0, Time, 0.1 / Animation_Speed do
  916. Swait()
  917. if Magic == true then
  918. 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})
  919. end
  920. if Gyro ~= nil and Gyro ~= false then
  921. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  922. end
  923. 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)
  924. 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)
  925. 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)
  926. 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)
  927. 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)
  928. 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)
  929. end
  930. elseif WhichPose == "Cast2" then
  931. for i=0, Time, 0.1 / Animation_Speed do
  932. Swait()
  933. if Magic == true then
  934. 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})
  935. 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})
  936. end
  937. if Gyro ~= nil and Gyro ~= false then
  938. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  939. end
  940. 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)
  941. 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)
  942. 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)
  943. 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)
  944. 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)
  945. 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)
  946. end
  947. elseif WhichPose == "RightArmUp" then
  948. for i=0, Time, 0.1 / Animation_Speed do
  949. Swait()
  950. if Magic == true then
  951. 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})
  952. end
  953. if Gyro ~= nil and Gyro ~= false then
  954. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  955. end
  956. 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)
  957. 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)
  958. 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)
  959. 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)
  960. 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)
  961. 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)
  962. end
  963. elseif WhichPose == "Taunt" then
  964. for i=0, Time, 0.1 / Animation_Speed do
  965. Swait()
  966. 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)
  967. 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)
  968. 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)
  969. 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)
  970. 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)
  971. 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)
  972. end
  973. HATWELD.Part0 = RightArm
  974. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  975. CreateSound(137473066,Torso,10,1,false)
  976. for i=0, Time*2, 0.1 / Animation_Speed do
  977. Swait()
  978. 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)
  979. 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)
  980. 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)
  981. 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)
  982. 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)
  983. 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)
  984. end
  985. for i=0, Time, 0.1 / Animation_Speed do
  986. Swait()
  987. 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)
  988. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  989. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  990. 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)
  991. 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)
  992. 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)
  993. 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)
  994. end
  995. HATWELD.Part0 = Head
  996. HATWELD.C0 = CF(0,0.35,0)
  997. elseif WhichPose == "Prepare key" then
  998. for i=0, Time, 0.1 / Animation_Speed do
  999. Swait()
  1000. if Gyro ~= nil and Gyro ~= false then
  1001. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1002. end
  1003. 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)
  1004. 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)
  1005. 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)
  1006. 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)
  1007. 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)
  1008. 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)
  1009. end
  1010. elseif WhichPose == "Turn key" then
  1011. for i=0, Time, 0.1 / Animation_Speed do
  1012. Swait()
  1013. if Gyro ~= nil and Gyro ~= false then
  1014. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1015. end
  1016. 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)
  1017. 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)
  1018. 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)
  1019. 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)
  1020. 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)
  1021. 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)
  1022. end
  1023. end
  1024. PLAYMAINANIM = true
  1025. end
  1026.  
  1027. --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})
  1028. function Lightning(Table)
  1029. local Color = Table.Color or C3(1,1,1)
  1030. local StartPos = Table.Start or Torso.Position
  1031. local EndPos = Table.End or Mouse.Hit.p
  1032. local SegmentLength = Table.SegmentL or 2
  1033. local Thickness = Table.Thickness or 0.1
  1034. local Dissapear = Table.DoesFade or false
  1035. local Parent = Table.Ignore or Character
  1036. local MaxDist = Table.MaxDist or 400
  1037. local Branches = Table.Branches or false
  1038. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1039. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1040. local LIGHTNINGMODEL = IT("Model",Effects)
  1041. LIGHTNINGMODEL.Name = "Lightning"
  1042. local LastBolt = nil
  1043. for E = 1, DISTANCE do
  1044. local ExtraSize = (DISTANCE-E)/15
  1045. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Lime green"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1046. PART.Color = Color
  1047. MakeForm(PART,"Cyl")
  1048. if LastBolt == nil then
  1049. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1050. else
  1051. 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)
  1052. end
  1053. LastBolt = PART
  1054. if Branches == true then
  1055. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1056. if CHOICE == 1 then
  1057. local LASTBRANCH = nil
  1058. for i = 1, MRANDOM(2,5) do
  1059. local ExtraSize2 = ((DISTANCE-E)/25)/i
  1060. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1061. PART.Color = Color
  1062. MakeForm(PART,"Cyl")
  1063. if LASTBRANCH == nil then
  1064. 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)
  1065. else
  1066. 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)
  1067. end
  1068. LASTBRANCH = PART
  1069. end
  1070. end
  1071. end
  1072. end
  1073. if Dissapear == true then
  1074. coroutine.resume(coroutine.create(function()
  1075. for i = 1, 10 do
  1076. Swait()
  1077. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1078. if c.ClassName == "Part" then
  1079. c.Transparency = i/10
  1080. end
  1081. end
  1082. end
  1083. LIGHTNINGMODEL:remove()
  1084. end))
  1085. elseif Dissapear == false then
  1086. Debris:AddItem(LIGHTNINGMODEL,0.1)
  1087. end
  1088. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1089. end
  1090.  
  1091. function PositiveAngle(NUMBER)
  1092. if NUMBER >= 0 then
  1093. NUMBER = 0
  1094. end
  1095. return NUMBER
  1096. end
  1097.  
  1098. function NegativeAngle(NUMBER)
  1099. if NUMBER <= 0 then
  1100. NUMBER = 0
  1101. end
  1102. return NUMBER
  1103. end
  1104.  
  1105. function Swait(NUMBER)
  1106. if NUMBER == 0 or NUMBER == nil then
  1107. ArtificialHB.Event:wait()
  1108. else
  1109. for i = 1, NUMBER do
  1110. ArtificialHB.Event:wait()
  1111. end
  1112. end
  1113. end
  1114.  
  1115. function QuaternionFromCFrame(cf)
  1116. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1117. local trace = m00 + m11 + m22
  1118. if trace > 0 then
  1119. local s = math.sqrt(1 + trace)
  1120. local recip = 0.5 / s
  1121. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1122. else
  1123. local i = 0
  1124. if m11 > m00 then
  1125. i = 1
  1126. end
  1127. if m22 > (i == 0 and m00 or m11) then
  1128. i = 2
  1129. end
  1130. if i == 0 then
  1131. local s = math.sqrt(m00 - m11 - m22 + 1)
  1132. local recip = 0.5 / s
  1133. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1134. elseif i == 1 then
  1135. local s = math.sqrt(m11 - m22 - m00 + 1)
  1136. local recip = 0.5 / s
  1137. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1138. elseif i == 2 then
  1139. local s = math.sqrt(m22 - m00 - m11 + 1)
  1140. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1141. end
  1142. end
  1143. end
  1144.  
  1145. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1146. local xs, ys, zs = x + x, y + y, z + z
  1147. local wx, wy, wz = w * xs, w * ys, w * zs
  1148. local xx = x * xs
  1149. local xy = x * ys
  1150. local xz = x * zs
  1151. local yy = y * ys
  1152. local yz = y * zs
  1153. local zz = z * zs
  1154. 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))
  1155. end
  1156.  
  1157. function QuaternionSlerp(a, b, t)
  1158. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1159. local startInterp, finishInterp;
  1160. if cosTheta >= 0.0001 then
  1161. if (1 - cosTheta) > 0.0001 then
  1162. local theta = ACOS(cosTheta)
  1163. local invSinTheta = 1 / SIN(theta)
  1164. startInterp = SIN((1 - t) * theta) * invSinTheta
  1165. finishInterp = SIN(t * theta) * invSinTheta
  1166. else
  1167. startInterp = 1 - t
  1168. finishInterp = t
  1169. end
  1170. else
  1171. if (1 + cosTheta) > 0.0001 then
  1172. local theta = ACOS(-cosTheta)
  1173. local invSinTheta = 1 / SIN(theta)
  1174. startInterp = SIN((t - 1) * theta) * invSinTheta
  1175. finishInterp = SIN(t * theta) * invSinTheta
  1176. else
  1177. startInterp = t - 1
  1178. finishInterp = t
  1179. end
  1180. end
  1181. 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
  1182. end
  1183.  
  1184. function Clerp(a, b, t)
  1185. local qa = {QuaternionFromCFrame(a)}
  1186. local qb = {QuaternionFromCFrame(b)}
  1187. local ax, ay, az = a.x, a.y, a.z
  1188. local bx, by, bz = b.x, b.y, b.z
  1189. local _t = 1 - t
  1190. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1191. end
  1192.  
  1193. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1194. local frame = IT("Frame")
  1195. frame.BackgroundTransparency = TRANSPARENCY
  1196. frame.BorderSizePixel = BORDERSIZEPIXEL
  1197. frame.Position = POSITION
  1198. frame.Size = SIZE
  1199. frame.BackgroundColor3 = COLOR
  1200. frame.BorderColor3 = BORDERCOLOR
  1201. frame.Name = NAME
  1202. frame.Parent = PARENT
  1203. return frame
  1204. end
  1205.  
  1206. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1207. local label = IT("TextLabel")
  1208. label.BackgroundTransparency = 1
  1209. label.Size = UD2(1, 0, 1, 0)
  1210. label.Position = UD2(0, 0, 0, 0)
  1211. label.TextColor3 = TEXTCOLOR
  1212. label.TextStrokeTransparency = STROKETRANSPARENCY
  1213. label.TextTransparency = TRANSPARENCY
  1214. label.FontSize = TEXTFONTSIZE
  1215. label.Font = TEXTFONT
  1216. label.BorderSizePixel = BORDERSIZEPIXEL
  1217. label.TextScaled = false
  1218. label.Text = TEXT
  1219. label.Name = NAME
  1220. label.Parent = PARENT
  1221. return label
  1222. end
  1223.  
  1224. function NoOutlines(PART)
  1225. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1226. end
  1227.  
  1228.  
  1229. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1230. local NEWWELD = IT(TYPE)
  1231. NEWWELD.Part0 = PART0
  1232. NEWWELD.Part1 = PART1
  1233. NEWWELD.C0 = C0
  1234. NEWWELD.C1 = C1
  1235. NEWWELD.Parent = PARENT
  1236. return NEWWELD
  1237. end
  1238.  
  1239. function CreateSound(ID, PARENT, VOLUME, PITCH)
  1240. local NEWSOUND = nil
  1241. coroutine.resume(coroutine.create(function()
  1242. NEWSOUND = IT("Sound", PARENT)
  1243. NEWSOUND.Volume = VOLUME
  1244. NEWSOUND.Pitch = PITCH
  1245. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1246. Swait()
  1247. NEWSOUND:play()
  1248. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  1249. end))
  1250. return NEWSOUND
  1251. end
  1252.  
  1253. function CFrameFromTopBack(at, top, back)
  1254. local right = top:Cross(back)
  1255. 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)
  1256. end
  1257.  
  1258. function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  1259. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  1260. local mesh = IT("SpecialMesh",wave)
  1261. mesh.MeshType = "FileMesh"
  1262. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  1263. mesh.Scale = SIZE
  1264. mesh.Offset = VT(0,0,-SIZE.X/8)
  1265. wave.CFrame = CFRAME
  1266. coroutine.resume(coroutine.create(function(PART)
  1267. for i = 1, WAIT do
  1268. Swait()
  1269. mesh.Scale = mesh.Scale + GROW
  1270. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  1271. if DOESROT == true then
  1272. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  1273. end
  1274. wave.Transparency = wave.Transparency + (0.5/WAIT)
  1275. if wave.Transparency > 0.99 then
  1276. wave:remove()
  1277. end
  1278. end
  1279. end))
  1280. end
  1281.  
  1282. function CreateWave2(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  1283. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  1284. local mesh = IT("SpecialMesh",wave)
  1285. mesh.MeshType = "FileMesh"
  1286. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  1287. mesh.Scale = SIZE
  1288. --mesh.Offset = VT(0,0,-SIZE.X/8)
  1289. wave.CFrame = CFRAME
  1290. coroutine.resume(coroutine.create(function(PART)
  1291. for i = 1, WAIT do
  1292. Swait()
  1293. mesh.Scale = mesh.Scale + GROW
  1294. --mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  1295. if DOESROT == true then
  1296. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  1297. end
  1298. wave.Transparency = wave.Transparency + (0.5/WAIT)
  1299. if wave.Transparency > 0.99 then
  1300. wave:remove()
  1301. end
  1302. end
  1303. end))
  1304. end
  1305.  
  1306. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  1307. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  1308. local mesh = IT("SpecialMesh",wave)
  1309. mesh.MeshType = "FileMesh"
  1310. mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
  1311. mesh.Scale = SIZE
  1312. wave.CFrame = CFRAME
  1313. coroutine.resume(coroutine.create(function(PART)
  1314. for i = 1, WAIT do
  1315. Swait()
  1316. mesh.Scale = mesh.Scale + GROW
  1317. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  1318. if DOESROT == true then
  1319. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  1320. end
  1321. wave.Transparency = wave.Transparency + (0.5/WAIT)
  1322. if wave.Transparency > 0.99 then
  1323. wave:remove()
  1324. end
  1325. end
  1326. end))
  1327. end
  1328.  
  1329.  
  1330. function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
  1331. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  1332. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  1333. wave.CFrame = CFRAME
  1334. coroutine.resume(coroutine.create(function(PART)
  1335. for i = 1, WAIT do
  1336. Swait()
  1337. mesh.Scale = mesh.Scale * GROW
  1338. wave.Transparency = wave.Transparency + (0.5/WAIT)
  1339. if wave.Transparency > 0.99 then
  1340. wave:remove()
  1341. end
  1342. end
  1343. end))
  1344. end
  1345.  
  1346. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  1347. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  1348. local mesh = IT("SpecialMesh",wave)
  1349. mesh.MeshType = "Sphere"
  1350. mesh.Scale = SIZE
  1351. mesh.Offset = VT(0,0,0)
  1352. wave.CFrame = CFRAME
  1353. coroutine.resume(coroutine.create(function(PART)
  1354. for i = 1, WAIT do
  1355. Swait()
  1356. mesh.Scale = mesh.Scale + GROW
  1357. wave.Transparency = wave.Transparency + (1/WAIT)
  1358. if wave.Transparency > 0.99 then
  1359. wave:remove()
  1360. end
  1361. end
  1362. end))
  1363. end
  1364.  
  1365. function MakeForm(PART,TYPE)
  1366. if TYPE == "Cyl" then
  1367. local MSH = IT("CylinderMesh",PART)
  1368. elseif TYPE == "Ball" then
  1369. local MSH = IT("SpecialMesh",PART)
  1370. MSH.MeshType = "Sphere"
  1371. elseif TYPE == "Wedge" then
  1372. local MSH = IT("SpecialMesh",PART)
  1373. MSH.MeshType = "Wedge"
  1374. end
  1375. end
  1376.  
  1377. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  1378. if FLOOR ~= nil then
  1379. coroutine.resume(coroutine.create(function()
  1380. local PART = CreatePart(3, Effects, "Neon", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  1381. PART.CFrame = CF(POSITION)
  1382. for i = 1, 45 do
  1383. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  1384. RingPiece.Material = FLOOR.Material
  1385. RingPiece.Color = FLOOR.Color
  1386. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  1387. Debris:AddItem(RingPiece,SWAIT/100)
  1388. end
  1389. PART:remove()
  1390. end))
  1391. end
  1392. end
  1393.  
  1394. function CheckTableForString(Table, String)
  1395. for i, v in pairs(Table) do
  1396. if string.find(string.lower(String), string.lower(v)) then
  1397. return true
  1398. end
  1399. end
  1400. return false
  1401. end
  1402.  
  1403. function CheckIntangible(Hit)
  1404. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  1405. if Hit and Hit.Parent then
  1406. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  1407. return true
  1408. end
  1409. end
  1410. return false
  1411. end
  1412.  
  1413. Debris = game:GetService("Debris")
  1414.  
  1415. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  1416. local Direction = CFrame.new(StartPos, Vec).lookVector
  1417. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1418. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  1419. if RayHit and CheckIntangible(RayHit) then
  1420. if DelayIfHit then
  1421. wait()
  1422. end
  1423. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  1424. end
  1425. return RayHit, RayPos, RayNormal
  1426. end
  1427.  
  1428. function turnto(position)
  1429. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1430. end
  1431.  
  1432. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1433. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1434. end
  1435.  
  1436. function PositiveAngle(NUMBER)
  1437. if NUMBER >= 0 then
  1438. NUMBER = 0
  1439. end
  1440. return NUMBER
  1441. end
  1442.  
  1443. function NegativeAngle(NUMBER)
  1444. if NUMBER <= 0 then
  1445. NUMBER = 0
  1446. end
  1447. return NUMBER
  1448. end
  1449.  
  1450. function Swait(NUMBER)
  1451. if NUMBER == 0 or NUMBER == nil then
  1452. ArtificialHB.Event:wait()
  1453. else
  1454. for i = 1, NUMBER do
  1455. ArtificialHB.Event:wait()
  1456. end
  1457. end
  1458. end
  1459.  
  1460. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1461. local NEWMESH = IT(MESH)
  1462. if MESH == "SpecialMesh" then
  1463. NEWMESH.MeshType = MESHTYPE
  1464. if MESHID ~= "nil" and MESHID ~= "" then
  1465. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1466. end
  1467. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1468. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1469. end
  1470. end
  1471. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1472. NEWMESH.Scale = SCALE
  1473. NEWMESH.Parent = PARENT
  1474. return NEWMESH
  1475. end
  1476.  
  1477. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1478. local NEWPART = IT("Part")
  1479. NEWPART.formFactor = FORMFACTOR
  1480. NEWPART.Reflectance = REFLECTANCE
  1481. NEWPART.Transparency = TRANSPARENCY
  1482. NEWPART.CanCollide = false
  1483. NEWPART.Locked = true
  1484. NEWPART.Anchored = true
  1485. if ANCHOR == false then
  1486. NEWPART.Anchored = false
  1487. end
  1488. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1489. NEWPART.Name = NAME
  1490. NEWPART.Size = SIZE
  1491. NEWPART.Position = Torso.Position
  1492. NEWPART.Material = MATERIAL
  1493. NEWPART:BreakJoints()
  1494. NEWPART.Parent = PARENT
  1495. return NEWPART
  1496. end
  1497.  
  1498. local function weldBetween(a, b)
  1499. local weldd = IT("Weld")
  1500. weldd.Part0 = a
  1501. weldd.Part1 = b
  1502. weldd.C0 = CF()
  1503. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1504. weldd.Parent = a
  1505. return weldd
  1506. end
  1507.  
  1508.  
  1509. function QuaternionFromCFrame(cf)
  1510. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1511. local trace = m00 + m11 + m22
  1512. if trace > 0 then
  1513. local s = math.sqrt(1 + trace)
  1514. local recip = 0.5 / s
  1515. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1516. else
  1517. local i = 0
  1518. if m11 > m00 then
  1519. i = 1
  1520. end
  1521. if m22 > (i == 0 and m00 or m11) then
  1522. i = 2
  1523. end
  1524. if i == 0 then
  1525. local s = math.sqrt(m00 - m11 - m22 + 1)
  1526. local recip = 0.5 / s
  1527. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1528. elseif i == 1 then
  1529. local s = math.sqrt(m11 - m22 - m00 + 1)
  1530. local recip = 0.5 / s
  1531. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1532. elseif i == 2 then
  1533. local s = math.sqrt(m22 - m00 - m11 + 1)
  1534. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1535. end
  1536. end
  1537. end
  1538.  
  1539. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1540. local xs, ys, zs = x + x, y + y, z + z
  1541. local wx, wy, wz = w * xs, w * ys, w * zs
  1542. local xx = x * xs
  1543. local xy = x * ys
  1544. local xz = x * zs
  1545. local yy = y * ys
  1546. local yz = y * zs
  1547. local zz = z * zs
  1548. 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))
  1549. end
  1550.  
  1551. function QuaternionSlerp(a, b, t)
  1552. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1553. local startInterp, finishInterp;
  1554. if cosTheta >= 0.0001 then
  1555. if (1 - cosTheta) > 0.0001 then
  1556. local theta = ACOS(cosTheta)
  1557. local invSinTheta = 1 / SIN(theta)
  1558. startInterp = SIN((1 - t) * theta) * invSinTheta
  1559. finishInterp = SIN(t * theta) * invSinTheta
  1560. else
  1561. startInterp = 1 - t
  1562. finishInterp = t
  1563. end
  1564. else
  1565. if (1 + cosTheta) > 0.0001 then
  1566. local theta = ACOS(-cosTheta)
  1567. local invSinTheta = 1 / SIN(theta)
  1568. startInterp = SIN((t - 1) * theta) * invSinTheta
  1569. finishInterp = SIN(t * theta) * invSinTheta
  1570. else
  1571. startInterp = t - 1
  1572. finishInterp = t
  1573. end
  1574. end
  1575. 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
  1576. end
  1577.  
  1578. function Clerp(a, b, t)
  1579. local qa = {QuaternionFromCFrame(a)}
  1580. local qb = {QuaternionFromCFrame(b)}
  1581. local ax, ay, az = a.x, a.y, a.z
  1582. local bx, by, bz = b.x, b.y, b.z
  1583. local _t = 1 - t
  1584. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1585. end
  1586.  
  1587. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1588. local frame = IT("Frame")
  1589. frame.BackgroundTransparency = TRANSPARENCY
  1590. frame.BorderSizePixel = BORDERSIZEPIXEL
  1591. frame.Position = POSITION
  1592. frame.Size = SIZE
  1593. frame.BackgroundColor3 = COLOR
  1594. frame.BorderColor3 = BORDERCOLOR
  1595. frame.Name = NAME
  1596. frame.Parent = PARENT
  1597. return frame
  1598. end
  1599.  
  1600. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1601. local label = IT("TextLabel")
  1602. label.BackgroundTransparency = 1
  1603. label.Size = UD2(1, 0, 1, 0)
  1604. label.Position = UD2(0, 0, 0, 0)
  1605. label.TextColor3 = TEXTCOLOR
  1606. label.TextStrokeTransparency = STROKETRANSPARENCY
  1607. label.TextTransparency = TRANSPARENCY
  1608. label.FontSize = TEXTFONTSIZE
  1609. label.Font = TEXTFONT
  1610. label.BorderSizePixel = BORDERSIZEPIXEL
  1611. label.TextScaled = false
  1612. label.Text = TEXT
  1613. label.Name = NAME
  1614. label.Parent = PARENT
  1615. return label
  1616. end
  1617.  
  1618. function NoOutlines(PART)
  1619. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1620. end
  1621.  
  1622. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1623. local NEWWELD = IT(TYPE)
  1624. NEWWELD.Part0 = PART0
  1625. NEWWELD.Part1 = PART1
  1626. NEWWELD.C0 = C0
  1627. NEWWELD.C1 = C1
  1628. NEWWELD.Parent = PARENT
  1629. return NEWWELD
  1630. end
  1631.  
  1632. local S = IT("Sound")
  1633. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1634. local NEWSOUND = nil
  1635. coroutine.resume(coroutine.create(function()
  1636. NEWSOUND = S:Clone()
  1637. NEWSOUND.Parent = PARENT
  1638. NEWSOUND.Volume = VOLUME
  1639. NEWSOUND.Pitch = PITCH
  1640. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1641. NEWSOUND:play()
  1642. if DOESLOOP == true then
  1643. NEWSOUND.Looped = true
  1644. else
  1645. repeat wait(1) until NEWSOUND.Playing == false
  1646. NEWSOUND:remove()
  1647. end
  1648. end))
  1649. return NEWSOUND
  1650. end
  1651.  
  1652. function CFrameFromTopBack(at, top, back)
  1653. local right = top:Cross(back)
  1654. 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)
  1655. end
  1656.  
  1657. --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})
  1658. function WACKYEFFECT(Table)
  1659. local TYPE = (Table.EffectType or "Sphere")
  1660. local SIZE = (Table.Size or VT(1,1,1))
  1661. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1662. local TRANSPARENCY = (Table.Transparency or 0)
  1663. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1664. local CFRAME = (Table.CFrame or Torso.CFrame)
  1665. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1666. local ROTATION1 = (Table.RotationX or 0)
  1667. local ROTATION2 = (Table.RotationY or 0)
  1668. local ROTATION3 = (Table.RotationZ or 0)
  1669. local MATERIAL = (Table.Material or "Neon")
  1670. local COLOR = (Table.Color or C3(1,1,1))
  1671. local TIME = (Table.Time or 45)
  1672. local SOUNDID = (Table.SoundID or nil)
  1673. local SOUNDPITCH = (Table.SoundPitch or nil)
  1674. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1675. coroutine.resume(coroutine.create(function()
  1676. local PLAYSSOUND = false
  1677. local SOUND = nil
  1678. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1679. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1680. PLAYSSOUND = true
  1681. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1682. end
  1683. EFFECT.Color = COLOR
  1684. local MSH = nil
  1685. if TYPE == "Sphere" then
  1686. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1687. elseif TYPE == "Block" then
  1688. MSH = IT("BlockMesh",EFFECT)
  1689. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1690. elseif TYPE == "Wave" then
  1691. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1692. elseif TYPE == "Ring" then
  1693. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1694. elseif TYPE == "Slash" then
  1695. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1696. elseif TYPE == "Round Slash" then
  1697. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1698. elseif TYPE == "Swirl" then
  1699. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1700. elseif TYPE == "Skull" then
  1701. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1702. elseif TYPE == "Crystal" then
  1703. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1704. end
  1705. if MSH ~= nil then
  1706. local MOVESPEED = nil
  1707. if MOVEDIRECTION ~= nil then
  1708. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1709. end
  1710. local GROWTH = SIZE - ENDSIZE
  1711. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1712. if TYPE == "Block" then
  1713. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1714. else
  1715. EFFECT.CFrame = CFRAME
  1716. end
  1717. for LOOP = 1, TIME+1 do
  1718. Swait()
  1719. MSH.Scale = MSH.Scale - GROWTH/TIME
  1720. if TYPE == "Wave" then
  1721. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1722. end
  1723. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1724. if TYPE == "Block" then
  1725. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1726. else
  1727. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1728. end
  1729. if MOVEDIRECTION ~= nil then
  1730. local ORI = EFFECT.Orientation
  1731. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1732. EFFECT.Orientation = ORI
  1733. end
  1734. end
  1735. if PLAYSSOUND == false then
  1736. EFFECT:remove()
  1737. else
  1738. SOUND.Stopped:Connect(function()
  1739. EFFECT:remove()
  1740. end)
  1741. end
  1742. else
  1743. if PLAYSSOUND == false then
  1744. EFFECT:remove()
  1745. else
  1746. repeat Swait() until SOUND.Playing == false
  1747. EFFECT:remove()
  1748. end
  1749. end
  1750. end))
  1751. end
  1752.  
  1753. function MakeForm(PART,TYPE)
  1754. if TYPE == "Cyl" then
  1755. local MSH = IT("CylinderMesh",PART)
  1756. elseif TYPE == "Ball" then
  1757. local MSH = IT("SpecialMesh",PART)
  1758. MSH.MeshType = "Sphere"
  1759. elseif TYPE == "Wedge" then
  1760. local MSH = IT("SpecialMesh",PART)
  1761. MSH.MeshType = "Wedge"
  1762. end
  1763. end
  1764.  
  1765. Debris = game:GetService("Debris")
  1766.  
  1767. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1768. local DIRECTION = CF(StartPos,EndPos).lookVector
  1769. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1770. end
  1771.  
  1772. function turnto(position)
  1773. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1774. end
  1775.  
  1776. function SpawnTrail(FROM,TO,BIG)
  1777. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  1778. MakeForm(TRAIL,"Cyl")
  1779. local DIST = (FROM - TO).Magnitude
  1780. if BIG == true then
  1781. TRAIL.Size = VT(0.5,DIST,0.5)
  1782. else
  1783. TRAIL.Size = VT(0.25,DIST,0.25)
  1784. end
  1785. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1786. coroutine.resume(coroutine.create(function()
  1787. for i = 1, 5 do
  1788. Swait()
  1789. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1790. end
  1791. TRAIL:remove()
  1792. end))
  1793. end
  1794.  
  1795. local asd = Instance.new("ParticleEmitter")
  1796. asd.Color = ColorSequence.new(Color3.new(0.5, 0, 0), Color3.new(.3, 0, 0))
  1797. asd.LightEmission = .1
  1798. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  1799. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.6),NumberSequenceKeypoint.new(1, 2)})
  1800. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  1801. asd.Transparency = bbb
  1802. asd.Size = aaa
  1803. asd.ZOffset = .9
  1804. asd.Acceleration = Vector3.new(0, -15, 0)
  1805. asd.LockedToPart = false
  1806. asd.EmissionDirection = "Back"
  1807. asd.Lifetime = NumberRange.new(1, 2)
  1808. asd.Rotation = NumberRange.new(-100, 100)
  1809. asd.RotSpeed = NumberRange.new(-100, 100)
  1810. asd.Speed = NumberRange.new(10)
  1811. asd.Enabled = false
  1812. asd.VelocitySpread = 999
  1813.  
  1814. function getbloody(victim,amount)
  1815. local PART = CreatePart(3, Effects, "Metal", 0, 1, "Mid gray", "Blood", victim.Size)
  1816. PART.CFrame = victim.CFrame
  1817. local HITPLAYERSOUNDS = {"356551938","264486467"}
  1818. Debris:AddItem(PART,5)
  1819. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1820. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1821. CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], PART, 1, (math.random(8,12)/10))
  1822. local prtcl = asd:Clone()
  1823. prtcl.Parent = PART
  1824. prtcl:Emit(amount*10)
  1825. end
  1826.  
  1827. local Particle = IT("ParticleEmitter",nil)
  1828. Particle.Enabled = false
  1829. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.3,0.95),NumberSequenceKeypoint.new(1,1)})
  1830. Particle.LightEmission = 0.5
  1831. Particle.Rate = 150
  1832. Particle.ZOffset = 1
  1833. Particle.Rotation = NumberRange.new(-180, 180)
  1834. Particle.RotSpeed = NumberRange.new(-180, 180)
  1835. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1836. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  1837.  
  1838. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1839. function ParticleEmitter(Table)
  1840. local PRTCL = Particle:Clone()
  1841. local Speed = Table.Speed or 5
  1842. local Drag = Table.Drag or 0
  1843. local Size1 = Table.Size1 or 1
  1844. local Size2 = Table.Size2 or 5
  1845. local Lifetime1 = Table.Lifetime1 or 1
  1846. local Lifetime2 = Table.Lifetime2 or 1.5
  1847. local Parent = Table.Parent or Torso
  1848. local Emit = Table.Emit or 100
  1849. local Offset = Table.Offset or 360
  1850. local Acel = Table.Acel or VT(0,0,0)
  1851. local Enabled = Table.Enabled or false
  1852. PRTCL.Parent = Parent
  1853. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1854. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1855. PRTCL.Speed = NumberRange.new(Speed)
  1856. PRTCL.VelocitySpread = Offset
  1857. PRTCL.Drag = Drag
  1858. PRTCL.Acceleration = Acel
  1859. if Enabled == false then
  1860. PRTCL:Emit(Emit)
  1861. Debris:AddItem(PRTCL,Lifetime2)
  1862. else
  1863. PRTCL.Enabled = true
  1864. end
  1865. return PRTCL
  1866. end
  1867.  
  1868. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1869. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1870. end
  1871.  
  1872. function PositiveAngle(NUMBER)
  1873. if NUMBER >= 0 then
  1874. NUMBER = 0
  1875. end
  1876. return NUMBER
  1877. end
  1878.  
  1879. function NegativeAngle(NUMBER)
  1880. if NUMBER <= 0 then
  1881. NUMBER = 0
  1882. end
  1883. return NUMBER
  1884. end
  1885.  
  1886. function Swait(NUMBER)
  1887. if NUMBER == 0 or NUMBER == nil then
  1888. ArtificialHB.Event:wait()
  1889. else
  1890. for i = 1, NUMBER do
  1891. ArtificialHB.Event:wait()
  1892. end
  1893. end
  1894. end
  1895.  
  1896. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1897. local NEWMESH = IT(MESH)
  1898. if MESH == "SpecialMesh" then
  1899. NEWMESH.MeshType = MESHTYPE
  1900. if MESHID ~= "nil" and MESHID ~= "" then
  1901. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1902. end
  1903. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1904. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1905. end
  1906. end
  1907. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1908. NEWMESH.Scale = SCALE
  1909. NEWMESH.Parent = PARENT
  1910. return NEWMESH
  1911. end
  1912.  
  1913. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1914. local NEWPART = IT("Part")
  1915. NEWPART.formFactor = FORMFACTOR
  1916. NEWPART.Reflectance = REFLECTANCE
  1917. NEWPART.Transparency = TRANSPARENCY
  1918. NEWPART.CanCollide = false
  1919. NEWPART.Locked = true
  1920. NEWPART.Anchored = true
  1921. if ANCHOR == false then
  1922. NEWPART.Anchored = false
  1923. end
  1924. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1925. NEWPART.Name = NAME
  1926. NEWPART.Size = SIZE
  1927. NEWPART.Position = Torso.Position
  1928. NEWPART.Material = MATERIAL
  1929. NEWPART:BreakJoints()
  1930. NEWPART.Parent = PARENT
  1931. return NEWPART
  1932. end
  1933.  
  1934. local function weldBetween(a, b)
  1935. local weldd = Instance.new("ManualWeld")
  1936. weldd.Part0 = a
  1937. weldd.Part1 = b
  1938. weldd.C0 = CFrame.new()
  1939. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1940. weldd.Parent = a
  1941. return weldd
  1942. end
  1943.  
  1944.  
  1945. function QuaternionFromCFrame(cf)
  1946. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1947. local trace = m00 + m11 + m22
  1948. if trace > 0 then
  1949. local s = math.sqrt(1 + trace)
  1950. local recip = 0.5 / s
  1951. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1952. else
  1953. local i = 0
  1954. if m11 > m00 then
  1955. i = 1
  1956. end
  1957. if m22 > (i == 0 and m00 or m11) then
  1958. i = 2
  1959. end
  1960. if i == 0 then
  1961. local s = math.sqrt(m00 - m11 - m22 + 1)
  1962. local recip = 0.5 / s
  1963. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1964. elseif i == 1 then
  1965. local s = math.sqrt(m11 - m22 - m00 + 1)
  1966. local recip = 0.5 / s
  1967. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1968. elseif i == 2 then
  1969. local s = math.sqrt(m22 - m00 - m11 + 1)
  1970. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1971. end
  1972. end
  1973. end
  1974.  
  1975. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1976. local xs, ys, zs = x + x, y + y, z + z
  1977. local wx, wy, wz = w * xs, w * ys, w * zs
  1978. local xx = x * xs
  1979. local xy = x * ys
  1980. local xz = x * zs
  1981. local yy = y * ys
  1982. local yz = y * zs
  1983. local zz = z * zs
  1984. 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))
  1985. end
  1986.  
  1987. function QuaternionSlerp(a, b, t)
  1988. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1989. local startInterp, finishInterp;
  1990. if cosTheta >= 0.0001 then
  1991. if (1 - cosTheta) > 0.0001 then
  1992. local theta = ACOS(cosTheta)
  1993. local invSinTheta = 1 / SIN(theta)
  1994. startInterp = SIN((1 - t) * theta) * invSinTheta
  1995. finishInterp = SIN(t * theta) * invSinTheta
  1996. else
  1997. startInterp = 1 - t
  1998. finishInterp = t
  1999. end
  2000. else
  2001. if (1 + cosTheta) > 0.0001 then
  2002. local theta = ACOS(-cosTheta)
  2003. local invSinTheta = 1 / SIN(theta)
  2004. startInterp = SIN((t - 1) * theta) * invSinTheta
  2005. finishInterp = SIN(t * theta) * invSinTheta
  2006. else
  2007. startInterp = t - 1
  2008. finishInterp = t
  2009. end
  2010. end
  2011. 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
  2012. end
  2013.  
  2014. function Clerp(a, b, t)
  2015. local qa = {QuaternionFromCFrame(a)}
  2016. local qb = {QuaternionFromCFrame(b)}
  2017. local ax, ay, az = a.x, a.y, a.z
  2018. local bx, by, bz = b.x, b.y, b.z
  2019. local _t = 1 - t
  2020. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  2021. end
  2022.  
  2023. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  2024. local frame = IT("Frame")
  2025. frame.BackgroundTransparency = TRANSPARENCY
  2026. frame.BorderSizePixel = BORDERSIZEPIXEL
  2027. frame.Position = POSITION
  2028. frame.Size = SIZE
  2029. frame.BackgroundColor3 = COLOR
  2030. frame.BorderColor3 = BORDERCOLOR
  2031. frame.Name = NAME
  2032. frame.Parent = PARENT
  2033. return frame
  2034. end
  2035.  
  2036. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  2037. local label = IT("TextLabel")
  2038. label.BackgroundTransparency = 1
  2039. label.Size = UD2(1, 0, 1, 0)
  2040. label.Position = UD2(0, 0, 0, 0)
  2041. label.TextColor3 = TEXTCOLOR
  2042. label.TextStrokeTransparency = STROKETRANSPARENCY
  2043. label.TextTransparency = TRANSPARENCY
  2044. label.FontSize = TEXTFONTSIZE
  2045. label.Font = TEXTFONT
  2046. label.BorderSizePixel = BORDERSIZEPIXEL
  2047. label.TextScaled = false
  2048. label.Text = TEXT
  2049. label.Name = NAME
  2050. label.Parent = PARENT
  2051. return label
  2052. end
  2053.  
  2054. function NoOutlines(PART)
  2055. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  2056. end
  2057.  
  2058. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  2059. local NEWWELD = IT(TYPE)
  2060. NEWWELD.Part0 = PART0
  2061. NEWWELD.Part1 = PART1
  2062. NEWWELD.C0 = C0
  2063. NEWWELD.C1 = C1
  2064. NEWWELD.Parent = PARENT
  2065. return NEWWELD
  2066. end
  2067.  
  2068. local S = IT("Sound")
  2069. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  2070. local NEWSOUND = nil
  2071. coroutine.resume(coroutine.create(function()
  2072. NEWSOUND = S:Clone()
  2073. NEWSOUND.Parent = PARENT
  2074. NEWSOUND.Volume = VOLUME
  2075. NEWSOUND.Pitch = PITCH
  2076. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  2077. NEWSOUND:play()
  2078. if DOESLOOP == true then
  2079. NEWSOUND.Looped = true
  2080. else
  2081. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  2082. NEWSOUND:remove()
  2083. end
  2084. end))
  2085. return NEWSOUND
  2086. end
  2087.  
  2088. function CFrameFromTopBack(at, top, back)
  2089. local right = top:Cross(back)
  2090. 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)
  2091. end
  2092.  
  2093. --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})
  2094. function WACKYEFFECT(Table)
  2095. local TYPE = (Table.EffectType or "Sphere")
  2096. local SIZE = (Table.Size or VT(1,1,1))
  2097. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  2098. local TRANSPARENCY = (Table.Transparency or 0)
  2099. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  2100. local CFRAME = (Table.CFrame or Torso.CFrame)
  2101. local MOVEDIRECTION = (Table.MoveToPos or nil)
  2102. local ROTATION1 = (Table.RotationX or 0)
  2103. local ROTATION2 = (Table.RotationY or 0)
  2104. local ROTATION3 = (Table.RotationZ or 0)
  2105. local MATERIAL = (Table.Material or "Neon")
  2106. local COLOR = (Table.Color or C3(1,1,1))
  2107. local TIME = (Table.Time or 45)
  2108. local SOUNDID = (Table.SoundID or nil)
  2109. local SOUNDPITCH = (Table.SoundPitch or nil)
  2110. local SOUNDVOLUME = (Table.SoundVolume or nil)
  2111. coroutine.resume(coroutine.create(function()
  2112. local PLAYSSOUND = false
  2113. local SOUND = nil
  2114. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  2115. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  2116. PLAYSSOUND = true
  2117. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  2118. end
  2119. EFFECT.Color = COLOR
  2120. local MSH = nil
  2121. if TYPE == "Sphere" then
  2122. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  2123. elseif TYPE == "Block" then
  2124. MSH = IT("BlockMesh",EFFECT)
  2125. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  2126. elseif TYPE == "Wave" then
  2127. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  2128. elseif TYPE == "Ring" then
  2129. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  2130. elseif TYPE == "Slash" then
  2131. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2132. elseif TYPE == "Round Slash" then
  2133. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  2134. elseif TYPE == "Swirl" then
  2135. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  2136. elseif TYPE == "Skull" then
  2137. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  2138. elseif TYPE == "Crystal" then
  2139. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  2140. end
  2141. if MSH ~= nil then
  2142. local MOVESPEED = nil
  2143. if MOVEDIRECTION ~= nil then
  2144. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  2145. end
  2146. local GROWTH = SIZE - ENDSIZE
  2147. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  2148. if TYPE == "Block" then
  2149. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2150. else
  2151. EFFECT.CFrame = CFRAME
  2152. end
  2153. for LOOP = 1, TIME+1 do
  2154. Swait()
  2155. MSH.Scale = MSH.Scale - GROWTH/TIME
  2156. if TYPE == "Wave" then
  2157. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  2158. end
  2159. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  2160. if TYPE == "Block" then
  2161. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2162. else
  2163. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  2164. end
  2165. if MOVEDIRECTION ~= nil then
  2166. local ORI = EFFECT.Orientation
  2167. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  2168. EFFECT.Orientation = ORI
  2169. end
  2170. end
  2171. if PLAYSSOUND == false then
  2172. EFFECT:remove()
  2173. else
  2174. SOUND.Stopped:Connect(function()
  2175. EFFECT:remove()
  2176. end)
  2177. end
  2178. else
  2179. if PLAYSSOUND == false then
  2180. EFFECT:remove()
  2181. else
  2182. repeat Swait() until SOUND.Playing == false
  2183. EFFECT:remove()
  2184. end
  2185. end
  2186. end))
  2187. end
  2188.  
  2189. function MakeForm(PART,TYPE)
  2190. if TYPE == "Cyl" then
  2191. local MSH = IT("CylinderMesh",PART)
  2192. elseif TYPE == "Ball" then
  2193. local MSH = IT("SpecialMesh",PART)
  2194. MSH.MeshType = "Sphere"
  2195. elseif TYPE == "Wedge" then
  2196. local MSH = IT("SpecialMesh",PART)
  2197. MSH.MeshType = "Wedge"
  2198. end
  2199. end
  2200.  
  2201. function SpawnTrail(FROM,TO,BIG)
  2202. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  2203. MakeForm(TRAIL,"Cyl")
  2204. local DIST = (FROM - TO).Magnitude
  2205. if BIG == true then
  2206. TRAIL.Size = VT(0.5,DIST,0.5)
  2207. else
  2208. TRAIL.Size = VT(0.25,DIST,0.25)
  2209. end
  2210. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  2211. coroutine.resume(coroutine.create(function()
  2212. for i = 1, 5 do
  2213. Swait()
  2214. TRAIL.Transparency = TRAIL.Transparency + 0.1
  2215. end
  2216. TRAIL:remove()
  2217. end))
  2218. end
  2219.  
  2220. Debris = game:GetService("Debris")
  2221.  
  2222. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  2223. local DIRECTION = CF(StartPos,EndPos).lookVector
  2224. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  2225. end
  2226.  
  2227. function turnto(position)
  2228. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  2229. end
  2230.  
  2231. --//=================================\\
  2232. --|| WEAPON CREATION
  2233. --\\=================================//
  2234.  
  2235.  
  2236. local FIST = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Neon Gauntlet Part", VT(1.01*Player_Size,1.4*Player_Size,1.01*Player_Size),false)
  2237. local weld = CreateWeldOrSnapOrMotor("Weld", FIST, RightArm, FIST, CF(0 * Player_Size, -0.25 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2238. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.2*Player_Size,0.3*Player_Size,1.2*Player_Size),false)
  2239. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.6 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2240.  
  2241. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
  2242. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2243. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
  2244. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2245. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
  2246. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2247. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
  2248. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2249.  
  2250. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1.1*Player_Size),false)
  2251. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2252. local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Neon Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1*Player_Size),false)
  2253. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.05 * Player_Size, -0.375 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2254. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
  2255. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2256. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
  2257. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2258. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
  2259. local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, -0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2260.  
  2261. 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)})
  2262. --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)})
  2263.  
  2264. for _, c in pairs(Weapon:GetDescendants()) do
  2265. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2266. c.Material = "Glass"
  2267. c.Color = C3(0,0,0)
  2268. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2269. c.Color = C3(1,0,0)
  2270. c.Material = "Neon"
  2271. end
  2272. end
  2273.  
  2274. Weapon.Parent = Character
  2275. for _, c in pairs(Weapon:GetChildren()) do
  2276. if c.ClassName == "Part" then
  2277. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2278. end
  2279. end
  2280.  
  2281. New = function(Object, Parent, Name, Data)
  2282. local Object = Instance.new(Object)
  2283. for Index, Value in pairs(Data or {}) do
  2284. Object[Index] = Value
  2285. end
  2286. Object.Parent = Parent
  2287. Object.Name = Name
  2288. return Object
  2289. end
  2290.  
  2291.  
  2292. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000252, 0.660000384, 0.0500000007),CFrame = CFrame.new(-67.6787415, 1.33912802, 93.9772263, 0, 0, -1, 0, 1, 0, 1, 0, 0),})
  2293. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = LeftLeg,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.0127105713, 0.339127064, 0.487541199, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
  2294. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000252, 0.660000384, 0.0500000007),CFrame = CFrame.new(-66.6787415, 1.33912802, 93.9772263, 0, 0, -1, 0, 1, 0, 1, 0, 0),})
  2295. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = LeftLeg,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.0127105713, 0.339127064, -0.512458801, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
  2296.  
  2297. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.140000015, 0.0500000007),CFrame = CFrame.new(-67.6787415, 3.12643075, 92.6921463, -9.31322575e-10, -1.86264515e-09, -0.999999285, 0.777135551, 0.629333496, 9.31322575e-10, 0.6293329, -0.777134895, 0),})
  2298. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, -1, 0, 0),C1 = CFrame.new(-0.766067505, 0.138611317, 0.515716553, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2299. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.12999988, 1.12000012, 0.0500000007),CFrame = CFrame.new(-67.6951752, 3.43133378, 93.991272, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2300. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.533157349, 0.443484068, 0.50994873, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2301. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.450000018, 0.590000272, 0.0500000007),CFrame = CFrame.new(-67.6951752, 2.60608268, 94.3512573, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2302. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.893096924, -0.381786108, 0.509513855, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2303. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.330000013, 0.590000272, 0.0500000007),CFrame = CFrame.new(-66.6951752, 2.60608268, 94.2912598, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2304. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.817497253, -0.388065577, -0.489402771, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2305. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.220000237, 0.660000384, 0.0500000007),CFrame = CFrame.new(-66.6787338, 2.57395577, 93.9222183, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2306. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.448242188, -0.420258999, -0.49987793, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2307. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.07999992, 1.12000012, 0.0500000007),CFrame = CFrame.new(-66.6951752, 3.43133354, 93.9662704, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2308. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(0.492546082, 0.437201023, -0.489517212, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2309. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.340000302, 0.0500000007),CFrame = CFrame.new(-66.6787415, 3.2281816, 93.1287689, 0, -9.31322575e-10, -0.999999285, 0, 1, 9.31322575e-10, 0.999999225, 0, 0),})
  2310. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0),C1 = CFrame.new(-0.345108032, 0.234031916, -0.491600037, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2311. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(1.0999999, 0.0500000007, 1.00999975),CFrame = CFrame.new(-67.1759109, 3.99574399, 93.9762726, 0, -0.0260759834, -0.999659359, 0, 0.999660075, -0.0260760002, 0.999999225, -2.91038305e-11, -9.31322575e-10),})
  2312. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = Torso,C0 = CFrame.new(0, 0, 0, 0, 0, 1, -0.0260760002, 0.999660015, 0, -0.999660015, -0.0260760002, 0),C1 = CFrame.new(0.510047913, 1.00462079, -0.0125579834, -0.0156119959, -4.38656264e-11, 0.999877751, -0.0062854127, 0.999980271, -9.81397825e-05, -0.999858022, -0.00628618058, -0.0156116877),})
  2313.  
  2314. Corruption = New("Part",Character,"Corruption",{BrickColor = BrickColor.new("Really red"),Material = Enum.Material.Neon,FormFactor = Enum.FormFactor.Symmetric,Size = Vector3.new(0.740000069, 0.419999987, 0.870000064),CFrame = CFrame.new(-67.0815201, 2.81366396, 91.9528885, 0, 0, -1, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, 0),})
  2315. mot = New("Motor",Corruption,"mot",{Part0 = Corruption,Part1 = LeftArm,C0 = CFrame.new(0, 0, 0, 0, 0.777135491, 0.629333377, 0, 0.629333377, -0.777135491, -1, 0, 0),C1 = CFrame.new(-0.00936126709, -0.184385061, -0.0693511963, 0, 0, 1, 0, 1, 0, -1, 0, 0),})
  2316.  
  2317. local Trail = IT("Trail",Leftbarrel)
  2318. Trail.Attachment0 = A
  2319. Trail.Attachment1 = B
  2320. Trail.Lifetime = 0.2
  2321. Trail.Color = ColorSequence.new(BRICKC"Really red".Color)
  2322. Trail.Transparency = NumberSequence.new(0, 1)
  2323. Trail.Enabled = true
  2324.  
  2325. local PRT = ParticleEmitter({Speed = 3, Drag = 3, Size1 = 1, Size2 = 3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightLeg, Emit = 100, Offset = 360, Enabled = true})
  2326. PRT.LockedToPart = true
  2327. local PRT = ParticleEmitter({Speed = 3, Drag = 3, Size1 = 1, Size2 = 3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftLeg, Emit = 100, Offset = 360, Enabled = true})
  2328. PRT.LockedToPart = true
  2329. local PRT = ParticleEmitter({Speed = 3, Drag = 3, Size1 = 1, Size2 = 3, Lifetime1 = 0.3, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = true})
  2330. PRT.LockedToPart = true
  2331. local PRT = ParticleEmitter({Speed = 3, Drag = 3, Size1 = 1, Size2 = 3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = RightArm, Emit = 100, Offset = 360, Enabled = true})
  2332. PRT.LockedToPart = true
  2333. local PRT = ParticleEmitter({Speed = 3, Drag = 3, Size1 = 1, Size2 = 3, Lifetime1 = 0.2, Lifetime2 = 1, Parent = LeftArm, Emit = 100, Offset = 360, Enabled = true})
  2334. PRT.LockedToPart = true
  2335.  
  2336. local HAT = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Tophat", VT(1,1,1),false)
  2337. local Hatweld = CreateWeldOrSnapOrMotor("Weld", Head, Head, HAT, CF(0,1,0), CF(0, 0, 0))
  2338. CreateMesh("SpecialMesh", HAT, "FileMesh", "97094619", "97094572", VT(1,1,1), VT(0,0,0))
  2339. for i = 1, 16 do
  2340. local FACE = CreatePart(3, Character, "Neon", 0, 0+(i-1)/16.2, "White", "FaceGradient", VT(1.01,0.65,1.01),false)
  2341. FACE.Color = C3(0,0,0)
  2342. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  2343. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.45-(i-1)/25,0), CF(0, 0, 0))
  2344. end
  2345. local EYE = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
  2346. MakeForm(EYE,"Ball")
  2347. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(0.15,0.26,-0.55), CF(0, 0, 0))
  2348. local EYE2 = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eyeball", VT(0.15,0.15,0.15),false)
  2349. MakeForm(EYE2,"Ball")
  2350. CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE2, CF(-0.15,0.26,-0.55), CF(0, 0, 0))
  2351.  
  2352. local Particle = IT("ParticleEmitter",nil)
  2353. Particle.Enabled = false
  2354. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  2355. Particle.LightEmission = 5
  2356. Particle.Rate = 300
  2357. Particle.ZOffset = 0.2
  2358. Particle.Rotation = NumberRange.new(-180, 180)
  2359. Particle.RotSpeed = NumberRange.new(-180, 180)
  2360. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  2361. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0),C3(1,0,0),C3(0,4,0),C3(1,0,0),C3(1,0,0),C3(1,0,0),C3(1,0,0))
  2362.  
  2363. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  2364. function ParticleEmitter(Table)
  2365. local PRTCL = Particle:Clone()
  2366. local Speed = Table.Speed or 5
  2367. local Drag = Table.Drag or 0
  2368. local Size1 = Table.Size1 or 1
  2369. local Size2 = Table.Size2 or 5
  2370. local Lifetime1 = Table.Lifetime1 or 1
  2371. local Lifetime2 = Table.Lifetime2 or 1.5
  2372. local Parent = Table.Parent or Torso
  2373. local Emit = Table.Emit or 100
  2374. local Offset = Table.Offset or 360
  2375. local Acel = Table.Acel or VT(0,0,0)
  2376. local Enabled = Table.Enabled or false
  2377. PRTCL.Parent = Parent
  2378. PRTCL.Size = NumberSequence.new(Size1,Size2)
  2379. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  2380. PRTCL.Speed = NumberRange.new(Speed)
  2381. PRTCL.VelocitySpread = Offset
  2382. PRTCL.Drag = Drag
  2383. PRTCL.Acceleration = Acel
  2384. if Enabled == false then
  2385. PRTCL:Emit(Emit)
  2386. Debris:AddItem(PRTCL,Lifetime2)
  2387. else
  2388. PRTCL.Enabled = true
  2389. end
  2390. return PRTCL
  2391. end
  2392.  
  2393. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  2394. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  2395. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  2396. MakeForm(Part,"Wedge")
  2397. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  2398. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  2399. MakeForm(Part,"Wedge")
  2400. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  2401. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  2402. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2403. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  2404. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2405. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  2406. MakeForm(Part,"Cyl")
  2407. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2408. for i = 1, 8 do
  2409. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  2410. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  2411. end
  2412. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  2413. MakeForm(Part,"Cyl")
  2414. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2415. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  2416. MakeForm(Part,"Ball")
  2417. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2418. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  2419. MakeForm(Part,"Wedge")
  2420. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  2421. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  2422. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2423. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  2424. MakeForm(Part,"Cyl")
  2425. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2426. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  2427. MakeForm(Part,"Cyl")
  2428. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2429. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  2430. MakeForm(Part,"Cyl")
  2431. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2432. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  2433. MakeForm(Part,"Wedge")
  2434. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  2435. local LASTPART = Handle
  2436. for i = 1, 10 do
  2437. if LASTPART == Handle then
  2438. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  2439. LASTPART = Part
  2440. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2441. else
  2442. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  2443. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  2444. LASTPART = Part
  2445. end
  2446. end
  2447.  
  2448. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  2449. MakeForm(Barrel,"Cyl")
  2450. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2451. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  2452. MakeForm(Part,"Cyl")
  2453. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  2454. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  2455. MakeForm(Part,"Wedge")
  2456. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  2457. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  2458. MakeForm(Hole,"Cyl")
  2459. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  2460. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  2461. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2462. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  2463. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  2464. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2465. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  2466. coroutine.resume(coroutine.create(function()
  2467. while wait() do
  2468. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  2469. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  2470. end
  2471. end))
  2472.  
  2473. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.7, Size2 = 0, Lifetime1 = 0.7, Lifetime2 = 0.7, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2474. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 10, Size2 = 0, Lifetime1 = 0.8, Lifetime2 = 0.9, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2475.  
  2476. for _, c in pairs(Weapon:GetDescendants()) do
  2477. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2478. c.Material = "Glass"
  2479. c.Color = C3(0,0,0)
  2480. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2481. c.Color = C3(1,0,0)
  2482. c.Material = "Neon"
  2483. end
  2484. end
  2485.  
  2486. Weapon.Parent = Character
  2487. for _, c in pairs(Weapon:GetChildren()) do
  2488. if c.ClassName == "Part" then
  2489. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2490. end
  2491. end
  2492.  
  2493. local SKILLTEXTCOLOR = C3(1,0,0)
  2494. local SKILLFONT = "Antique"
  2495. local SKILLTEXTSIZE = 7
  2496.  
  2497. Humanoid.Died:connect(function()
  2498. ATTACK = true
  2499. end)
  2500.  
  2501. 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")
  2502. --[[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")
  2503. 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")
  2504. 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")
  2505. 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")
  2506. ]]
  2507. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  2508. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  2509. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  2510. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  2511. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  2512. ]]
  2513. function printbye(Name)
  2514. 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, "}
  2515. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2516. end
  2517.  
  2518. workspace.ChildAdded:connect(function(instance)
  2519. for BANISH = 1, #TOBANISH do
  2520. if TOBANISH[BANISH] ~= nil then
  2521. if instance.Name == TOBANISH[BANISH] then
  2522. coroutine.resume(coroutine.create(function()
  2523. printbye(instance.Name)
  2524. instance:ClearAllChildren()
  2525. Debris:AddItem(instance,0.0005)
  2526. end))
  2527. end
  2528. end
  2529. end
  2530. end)
  2531.  
  2532. function refit()
  2533. Character.Parent = workspace
  2534. for e = 1, #BODY do
  2535. if BODY[e] ~= nil then
  2536. local STUFF = BODY[e]
  2537. local PART = STUFF[1]
  2538. local PARENT = STUFF[2]
  2539. local MATERIAL = STUFF[3]
  2540. local COLOR = STUFF[4]
  2541. local TRANSPARENCY = STUFF[5]
  2542. if PART.ClassName == "Part" and PART ~= RootPart then
  2543. PART.Material = MATERIAL
  2544. PART.Color = COLOR
  2545. PART.Transparency = TRANSPARENCY
  2546. end
  2547. if PART.Parent ~= PARENT then
  2548. Humanoid:remove()
  2549. PART.Parent = PARENT
  2550. Humanoid = IT("Humanoid",Character)
  2551. end
  2552. end
  2553. end
  2554. end
  2555. --//=================================\\
  2556. --|| DAMAGE FUNCTIONS
  2557. --\\=================================//
  2558. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  2559. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2560. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  2561. local BODYGYRO = IT("BodyGyro", STATPART)
  2562. local BODYPOSITION = IT("BodyPosition", STATPART)
  2563. BODYPOSITION.P = 2000
  2564. BODYPOSITION.D = 100
  2565. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  2566. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  2567. game:GetService("Debris"):AddItem(STATPART ,5)
  2568. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2569. BILLBOARDGUI.Adornee = STATPART
  2570. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2571. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2572. BILLBOARDGUI.AlwaysOnTop = false
  2573. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2574. TEXTLABEL.BackgroundTransparency = 1
  2575. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2576. TEXTLABEL.Text = TEXT
  2577. TEXTLABEL.Font = "SciFi"
  2578. TEXTLABEL.FontSize="Size42"
  2579. TEXTLABEL.TextColor3 = ("255,215,0")
  2580. TEXTLABEL.TextStrokeTransparency = 1
  2581. TEXTLABEL.TextScaled = true
  2582. TEXTLABEL.TextWrapped = true
  2583. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2584. if LABELTYPE == "Normal" then
  2585. for i = 1, 30 do
  2586. Swait()
  2587. STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
  2588. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  2589. end
  2590. elseif LABELTYPE == "Debuff" then
  2591. for i = 1, 30 do
  2592. Swait()
  2593. STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
  2594. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  2595. end
  2596. elseif LABELTYPE == "Shock" then
  2597. local ORIGIN = STATPART.Position
  2598. for i = 1, 30 do
  2599. Swait()
  2600. STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
  2601. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
  2602. end
  2603. end
  2604. THEPART.Parent = nil
  2605. end),STATPART, BODYPOSITION, TEXTLABEL)
  2606. end
  2607.  
  2608. function StatLabel(CFRAME, TEXT, COLOR)
  2609. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2610. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2611. local BODYGYRO = IT("BodyGyro", STATPART)
  2612. game:GetService("Debris"):AddItem(STATPART ,5)
  2613. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2614. BILLBOARDGUI.Adornee = STATPART
  2615. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2616. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2617. BILLBOARDGUI.AlwaysOnTop = false
  2618. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2619. TEXTLABEL.BackgroundTransparency = 1
  2620. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2621. TEXTLABEL.Text = TEXT
  2622. TEXTLABEL.Font = SKILLFONT
  2623. TEXTLABEL.FontSize="Size42"
  2624. TEXTLABEL.TextColor3 = COLOR
  2625. TEXTLABEL.TextStrokeTransparency = 0
  2626. TEXTLABEL.TextScaled = true
  2627. TEXTLABEL.TextWrapped = true
  2628. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2629. for i = 1, 50 do
  2630. Swait()
  2631. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2632. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2633. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2634. end
  2635. THEPART.Parent = nil
  2636. end),STATPART, TEXTLABEL)
  2637. end
  2638.  
  2639. function StatLabel(CFRAME, TEXT, COLOR)
  2640. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2641. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2642. local BODYGYRO = IT("BodyGyro", STATPART)
  2643. game:GetService("Debris"):AddItem(STATPART ,5)
  2644. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2645. BILLBOARDGUI.Adornee = STATPART
  2646. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2647. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2648. BILLBOARDGUI.AlwaysOnTop = false
  2649. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2650. TEXTLABEL.BackgroundTransparency = 1
  2651. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2652. TEXTLABEL.Text = TEXT
  2653. TEXTLABEL.Font = SKILLFONT
  2654. TEXTLABEL.FontSize="Size42"
  2655. TEXTLABEL.TextColor3 = COLOR
  2656. TEXTLABEL.TextStrokeTransparency = 0
  2657. TEXTLABEL.TextScaled = true
  2658. TEXTLABEL.TextWrapped = true
  2659. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2660. for i = 1, 50 do
  2661. Swait()
  2662. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2663. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2664. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2665. end
  2666. THEPART.Parent = nil
  2667. end),STATPART, TEXTLABEL)
  2668. end
  2669.  
  2670. function StatLabel(CFRAME, TEXT, COLOR)
  2671. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2672. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2673. local BODYGYRO = IT("BodyGyro", STATPART)
  2674. game:GetService("Debris"):AddItem(STATPART ,5)
  2675. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2676. BILLBOARDGUI.Adornee = STATPART
  2677. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2678. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2679. BILLBOARDGUI.AlwaysOnTop = false
  2680. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2681. TEXTLABEL.BackgroundTransparency = 1
  2682. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2683. TEXTLABEL.Text = TEXT
  2684. TEXTLABEL.Font = SKILLFONT
  2685. TEXTLABEL.FontSize="Size42"
  2686. TEXTLABEL.TextColor3 = COLOR
  2687. TEXTLABEL.TextStrokeTransparency = 1
  2688. TEXTLABEL.TextScaled = true
  2689. TEXTLABEL.TextWrapped = true
  2690. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2691. for i = 1, 50 do
  2692. Swait()
  2693. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2694. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2695. end
  2696. THEPART.Parent = nil
  2697. end),STATPART, TEXTLABEL)
  2698. end
  2699. --//=================================\\
  2700. --|| DAMAGING
  2701. --\\=================================//
  2702. function killnearest(position,range,maxstrength,direction)
  2703. for i,v in ipairs(workspace:GetChildren()) do
  2704. local body = v:GetChildren()
  2705. for part = 1, #body do
  2706. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2707. if(body[part].Position - position).Magnitude < range then
  2708. if v.ClassName == "Model" then
  2709. --v:BreakJoints()
  2710. end
  2711. local POS = position
  2712. coroutine.resume(coroutine.create(function()
  2713. body[part].Anchored = true
  2714. body[part].Parent = Effects
  2715. body[part].CanCollide = true
  2716. local SIZE = body[part].Size
  2717. body[part].Material = "Neon"
  2718. CreateSound("952306739", body[part], 2, MRANDOM(7, 12) / 10)
  2719. for i = 1, 75 do
  2720. Swait()
  2721. body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
  2722. body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
  2723. end
  2724. coroutine.resume(coroutine.create(function()
  2725. while true do
  2726. Swait()
  2727. body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
  2728. body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
  2729. end
  2730. end))
  2731. body[part].Anchored = false
  2732. body[part].Velocity = direction.lookVector*maxstrength
  2733. end))
  2734. end
  2735. end
  2736. end
  2737. if v.ClassName == "Part" then
  2738. if v.Anchored == false and (v.Position - position).Magnitude < range then
  2739. local POS = position
  2740. coroutine.resume(coroutine.create(function()
  2741. v.Anchored = true
  2742. v.Parent = Effects
  2743. local SIZE = v.Size
  2744. v.Material = "Neon"
  2745. CreateSound("952306739", v, 2, MRANDOM(7, 12) / 10)
  2746. for i = 1, 75 do
  2747. Swait()
  2748. v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
  2749. v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
  2750. end
  2751. coroutine.resume(coroutine.create(function()
  2752. while true do
  2753. Swait()
  2754. v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
  2755. v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
  2756. end
  2757. end))
  2758. v.Anchored = false
  2759. v.Velocity = direction.lookVector*maxstrength
  2760. end))
  2761. end
  2762. end
  2763. end
  2764. end
  2765.  
  2766. function Kill(Char)
  2767. local NewCharacter = IT("Model",Effects)
  2768. NewCharacter.Name = "Ow im ded ;-;"
  2769. for _, c in pairs(Char:GetDescendants()) do
  2770. if c:IsA("BasePart") and c.Transparency == 0 then
  2771. if c.Parent == Char then
  2772. getbloody(c,5)
  2773. end
  2774. c:BreakJoints()
  2775. c.Material = "Glass"
  2776. c.Color = C3(0.5,0,0)
  2777. c.CanCollide = true
  2778. c.Transparency = 0.3
  2779. if c:FindFirstChildOfClass("SpecialMesh") then
  2780. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2781. end
  2782. if c.Name == "Head" then
  2783. c:ClearAllChildren()
  2784. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2785. end
  2786. if c.ClassName == "MeshPart" then
  2787. c.TextureID = ""
  2788. end
  2789. if c:FindFirstChildOfClass("BodyPosition") then
  2790. c:FindFirstChildOfClass("BodyPosition"):remove()
  2791. end
  2792. if c:FindFirstChildOfClass("ParticleEmitter") then
  2793. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2794. end
  2795. c.Parent = NewCharacter
  2796. c.Name = "DeadPart"
  2797. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2798. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2799. end
  2800. end
  2801. Char:remove()
  2802. Debris:AddItem(NewCharacter,5)
  2803. end
  2804.  
  2805. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2806. local CHILDREN = workspace:GetDescendants()
  2807. for index, CHILD in pairs(CHILDREN) do
  2808. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2809. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2810. if HUM then
  2811. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2812. if TORSO then
  2813. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2814. if BRUTAL == true then
  2815. Kill(CHILD)
  2816. else
  2817. CHILD:BreakJoints()
  2818. end
  2819. end
  2820. end
  2821. end
  2822. end
  2823. end
  2824. end
  2825.  
  2826. function Kill(Char)
  2827. local NewCharacter = IT("Model",Effects)
  2828. NewCharacter.Name = "Ow im ded ;-;"
  2829. for _, c in pairs(Char:GetDescendants()) do
  2830. if c:IsA("BasePart") and c.Transparency == 0 then
  2831. if c.Parent == Char then
  2832. getbloody(c,5)
  2833. end
  2834. c:BreakJoints()
  2835. c.Material = "Glass"
  2836. c.Color = C3(0.5,0,0)
  2837. c.CanCollide = true
  2838. c.Transparency = 0.3
  2839. if c:FindFirstChildOfClass("SpecialMesh") then
  2840. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2841. end
  2842. if c.Name == "Head" then
  2843. c:ClearAllChildren()
  2844. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2845. end
  2846. if c.ClassName == "MeshPart" then
  2847. c.TextureID = ""
  2848. end
  2849. if c:FindFirstChildOfClass("BodyPosition") then
  2850. c:FindFirstChildOfClass("BodyPosition"):remove()
  2851. end
  2852. if c:FindFirstChildOfClass("ParticleEmitter") then
  2853. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2854. end
  2855. c.Parent = NewCharacter
  2856. c.Name = "DeadPart"
  2857. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2858. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2859. end
  2860. end
  2861. Char:remove()
  2862. Debris:AddItem(NewCharacter,5)
  2863. end
  2864.  
  2865. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2866. local CHILDREN = workspace:GetDescendants()
  2867. for index, CHILD in pairs(CHILDREN) do
  2868. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2869. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2870. if HUM then
  2871. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2872. if TORSO then
  2873. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2874. if BRUTAL == true then
  2875. Kill(CHILD)
  2876. else
  2877. CHILD:BreakJoints()
  2878. end
  2879. end
  2880. end
  2881. end
  2882. end
  2883. end
  2884. end
  2885.  
  2886. function Kill(Char)
  2887. local NewCharacter = IT("Model",Effects)
  2888. NewCharacter.Name = "Ow im ded ;-;"
  2889. for _, c in pairs(Char:GetDescendants()) do
  2890. if c:IsA("BasePart") and c.Transparency == 0 then
  2891. if c.Parent == Char then
  2892. getbloody(c,5)
  2893. end
  2894. c:BreakJoints()
  2895. c.Material = "Glass"
  2896. c.Color = C3(0.5,0,0)
  2897. c.CanCollide = true
  2898. c.Transparency = 0.3
  2899. if c:FindFirstChildOfClass("SpecialMesh") then
  2900. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2901. end
  2902. if c.Name == "Head" then
  2903. c:ClearAllChildren()
  2904. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2905. end
  2906. if c.ClassName == "MeshPart" then
  2907. c.TextureID = ""
  2908. end
  2909. if c:FindFirstChildOfClass("BodyPosition") then
  2910. c:FindFirstChildOfClass("BodyPosition"):remove()
  2911. end
  2912. if c:FindFirstChildOfClass("ParticleEmitter") then
  2913. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2914. end
  2915. c.Parent = NewCharacter
  2916. c.Name = "DeadPart"
  2917. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2918. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2919. end
  2920. end
  2921. Char:remove()
  2922. Debris:AddItem(NewCharacter,5)
  2923. end
  2924.  
  2925. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2926. local CHILDREN = workspace:GetDescendants()
  2927. for index, CHILD in pairs(CHILDREN) do
  2928. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2929. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2930. if HUM then
  2931. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2932. if TORSO then
  2933. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2934. if BRUTAL == true then
  2935. Kill(CHILD)
  2936. else
  2937. CHILD:BreakJoints()
  2938. end
  2939. end
  2940. end
  2941. end
  2942. end
  2943. end
  2944. end
  2945.  
  2946. function BulletDetection(FROM,TO,BRUTAL)
  2947. local AIMHIT,AIMPOS,NORMAL = CastProperRay(FROM,TO,2000,Character)
  2948. coroutine.resume(coroutine.create(function()
  2949. if AIMHIT ~= nil then
  2950. if AIMHIT.Parent ~= Character then
  2951. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") or AIMHIT.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2952. if AIMHIT.Parent:FindFirstChildOfClass("Humanoid") then
  2953. if BRUTAL == true then
  2954. Kill(AIMHIT.Parent)
  2955. else
  2956. getbloody(AIMHIT,15)
  2957. AIMHIT.Parent:BreakJoints()
  2958. if AIMHIT.Name == "Head" then
  2959. AIMHIT.Name = "HEADSHOT"
  2960. AIMHIT:remove()
  2961. end
  2962. end
  2963. else
  2964. if BRUTAL == true then
  2965. Kill(AIMHIT.Parent.Parent)
  2966. else
  2967. AIMHIT.Parent.Parent:BreakJoints()
  2968. end
  2969. end
  2970. end
  2971. end
  2972. end
  2973. end))
  2974. SpawnTrail(FROM,AIMPOS)
  2975. return AIMHIT,AIMPOS,NORMAL
  2976. end
  2977.  
  2978. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier,DoesOneShot)
  2979. coroutine.resume(coroutine.create(function()
  2980. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2981. defence.Name = ("HitBy"..Player.Name)
  2982. game:GetService("Debris"):AddItem(defence, 0.001)
  2983. Damage = Damage * DAMAGEMULTIPLIER
  2984. if Humanoid.Health ~= 0 then
  2985. local CritChance = MRANDOM(1,100)
  2986. if CritChance < CritRate + 1 then
  2987. Damage = Damage*CritMultiplier
  2988. end
  2989. if Damage > Humanoid.Health then
  2990. Damage = math.ceil(Humanoid.Health)
  2991. if Damage == 0 then
  2992. Damage = 0.1
  2993. end
  2994. end
  2995. if DoesOneShot == false then
  2996. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  2997. if c.Name ~= "HumanoidRootPart" and c.Name ~= "Torso" and c.Name ~= "Head" and c.Name ~= "UpperTorso" and c.Name ~= "LowerTorso" then
  2998. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  2999. if MRANDOM(1,20) == 1 then
  3000. Shatter(c)
  3001. end
  3002. end
  3003. end
  3004. end
  3005. Humanoid.Health = Humanoid.Health - Damage
  3006. if Humanoid.Parent:FindFirstChild("Head") then
  3007. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  3008. if CritChance < CritRate + 1 then
  3009. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  3010. else
  3011. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, C3(0, 0, 0))
  3012. end
  3013. end
  3014. elseif DoesOneShot == true then
  3015. --print("["..Humanoid.Parent.Name.."]: One shot!? Really!?!?")
  3016. Humanoid.Parent:BreakJoints()
  3017. if Humanoid.Parent:FindFirstChild("Head") then
  3018. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "INF", C3(1, 0, 0))
  3019. end
  3020. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  3021. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  3022. Shatter(c)
  3023. end
  3024. end
  3025. end
  3026. if Humanoid.Health == 0 then
  3027. --print("["..Humanoid.Parent.Name.."]: It's like stepping on glass, but worse!")
  3028. SpawnSoul(Humanoid)
  3029. for _, c in pairs(Humanoid.Parent:GetChildren()) do
  3030. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  3031. Shatter(c)
  3032. end
  3033. end
  3034. end
  3035. end
  3036. end))
  3037. end
  3038.  
  3039. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,BESERK)
  3040. local dmg = math.random(10000,100000)
  3041. for i,v in ipairs(workspace:GetChildren()) do
  3042. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  3043. local body = v:GetChildren()
  3044. for part = 1, #body do
  3045. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  3046. if(body[part].Position - position).Magnitude < radius then
  3047. if v.ClassName == "Model" then
  3048. if v:FindFirstChildOfClass("Humanoid") then
  3049. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier,BESERK)
  3050. local bv = Instance.new("BodyVelocity")
  3051. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3052. bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  3053. bv.Parent = body[part]
  3054. Debris:AddItem(bv,0.2)
  3055. end
  3056. end
  3057. end
  3058. end
  3059. end
  3060. end
  3061. if v:FindFirstChild("HitBy"..Player.Name) then
  3062. v:FindFirstChild("HitBy"..Player.Name):remove()
  3063. end
  3064. end
  3065. end
  3066.  
  3067. function Banish(Foe)
  3068. if Foe then
  3069. coroutine.resume(coroutine.create(function()
  3070. --if game.Players:FindFirstChild(Foe.Name) then
  3071. table.insert(TOBANISH,Foe.Name)
  3072. printbye(Foe.Name)
  3073. --end
  3074. Foe.Archivable = true
  3075. local CLONE = Foe:Clone()
  3076. Foe:Destroy()
  3077. CLONE.Parent = Effects
  3078. CLONE:BreakJoints()
  3079. local MATERIALS = {"Glass","Neon"}
  3080. for _, c in pairs(CLONE:GetDescendants()) do
  3081. if c:IsA("BasePart") then
  3082. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  3083. CreateSound(340722848, c, 10, 1, false)
  3084. end
  3085. c.Anchored = true
  3086. c.Transparency = c.Transparency + 0.2
  3087. c.Material = MATERIALS[MRANDOM(1,2)]
  3088. c.Color = C3(1,0,0)
  3089. if c.ClassName == "MeshPart" then
  3090. c.TextureID = ""
  3091. end
  3092. if c:FindFirstChildOfClass("SpecialMesh") then
  3093. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  3094. end
  3095. if c:FindFirstChildOfClass("Decal") then
  3096. c:FindFirstChildOfClass("Decal"):remove()
  3097. end
  3098. c.Name = "Banished"
  3099. c.CanCollide = false
  3100. else
  3101. c:remove()
  3102. end
  3103. end
  3104. local A = false
  3105. for i = 1, 35 do
  3106. if A == false then
  3107. A = true
  3108. elseif A == true then
  3109. A = false
  3110. end
  3111. for _, c in pairs(CLONE:GetDescendants()) do
  3112. if c:IsA("BasePart") then
  3113. c.Anchored = true
  3114. c.Material = MATERIALS[MRANDOM(1,2)]
  3115. c.Transparency = c.Transparency + 0.8/35
  3116. if A == false then
  3117. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  3118. elseif A == true then
  3119. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  3120. end
  3121. end
  3122. end
  3123. Swait()
  3124. end
  3125. CLONE:remove()
  3126. end))
  3127. end
  3128. end
  3129.  
  3130. function ApplyAoE(POSITION,RANGE,ISBANISH)
  3131. local CHILDREN = workspace:GetDescendants()
  3132. for index, CHILD in pairs(CHILDREN) do
  3133. if CHILD.ClassName == "Model" and CHILD ~= Character then
  3134. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3135. if HUM then
  3136. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3137. if TORSO then
  3138. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  3139. if ISBANISH == true then
  3140. Banish(CHILD)
  3141. else
  3142. if ISBANISH == "Gravity" then
  3143. HUM.PlatformStand = true
  3144. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  3145. local grav = Instance.new("BodyPosition",TORSO)
  3146. grav.D = 15
  3147. grav.P = 20000
  3148. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  3149. grav.position = TORSO.Position
  3150. grav.Name = "V3BanishForce"..Player.Name
  3151. else
  3152. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  3153. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  3154. end
  3155. else
  3156. HUM.PlatformStand = false
  3157. end
  3158. end
  3159. elseif ISBANISH == "Gravity" then
  3160. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  3161. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  3162. HUM.PlatformStand = false
  3163. end
  3164. end
  3165. end
  3166. end
  3167. end
  3168. end
  3169. end
  3170.  
  3171. --//=================================\\
  3172. --|| ATTACK FUNCTIONS AND STUFF
  3173. --\\=================================//
  3174. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  3175. if DoesCourontine == false then
  3176. local Direction = CF(Part.Position,ToLocation)
  3177. local Distance = (Part.Position - ToLocation).magnitude
  3178. for i = 1, AmountOfTime do
  3179. Swait()
  3180. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  3181. Direction = Part.CFrame
  3182. end
  3183. Part:remove()
  3184. elseif DoesCourontine == true then
  3185. coroutine.resume(coroutine.create(function()
  3186. local Direction = CF(Part.Position,ToLocation)
  3187. local Distance = (Part.Position - ToLocation).magnitude
  3188. for i = 1, AmountOfTime do
  3189. Swait()
  3190. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  3191. Direction = Part.CFrame
  3192. end
  3193. Part:remove()
  3194. end))
  3195. end
  3196. end
  3197.  
  3198. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  3199. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  3200. local mesh = nil
  3201. if KIND == "Base" then
  3202. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  3203. elseif KIND == "Thin" then
  3204. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  3205. elseif KIND == "Round" then
  3206. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  3207. end
  3208. wave.CFrame = CFRAME
  3209. coroutine.resume(coroutine.create(function(PART)
  3210. for i = 1, WAIT do
  3211. Swait()
  3212. mesh.Scale = mesh.Scale + GROW/10
  3213. wave.Transparency = wave.Transparency + (0.5/WAIT)
  3214. if wave.Transparency > 0.99 then
  3215. wave:remove()
  3216. end
  3217. end
  3218. end))
  3219. end
  3220.  
  3221. function killnearest(position,range,maxstrength)
  3222. for i,v in ipairs(workspace:GetChildren()) do
  3223. local body = v:GetChildren()
  3224. for part = 1, #body do
  3225. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  3226. if(body[part].Position - position).Magnitude < range then
  3227. if v.ClassName == "Model" then
  3228. v:BreakJoints()
  3229. end
  3230. --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  3231. local bv = Instance.new("BodyVelocity")
  3232. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3233. bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  3234. bv.Parent = body[part]
  3235. Debris:AddItem(bv,0.2)
  3236. end
  3237. end
  3238. end
  3239. if v.ClassName == "Part" then
  3240. if v.Anchored == false and (v.Position - position).Magnitude < range then
  3241. --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  3242. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  3243. end
  3244. end
  3245. end
  3246. end
  3247.  
  3248. function Supernova()
  3249. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  3250. if HITFLOOR ~= nil then
  3251. local HITBODIES = {}
  3252. ATTACK = true
  3253. Rooted = true
  3254. local ABSOLUTE = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Star", VT(0,0,0))
  3255. MakeForm(ABSOLUTE,"Ball")
  3256. CreateSound("429459101", ABSOLUTE, 10, 1)
  3257. for i=0, 4, 0.1 / Animation_Speed do
  3258. Swait()
  3259. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  3260. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  3261. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  3262. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Star", VT(1,1,1))
  3263. MakeForm(CHARGE,"Ball")
  3264. CHARGE.Color = C3(1,0,0)
  3265. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  3266. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  3267. 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)
  3268. 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)
  3269. 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)
  3270. 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)
  3271. 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)
  3272. 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)
  3273. end
  3274. CreateSound("907330103", Head, 10, 1.2)
  3275. for i = 1, 75 do
  3276. Swait()
  3277. 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)
  3278. 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)
  3279. 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)
  3280. 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)
  3281. 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)
  3282. 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)
  3283. end
  3284. coroutine.resume(coroutine.create(function()
  3285. for i = 1, 13 do
  3286. for e = 1, 8 do
  3287. Swait()
  3288. 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))
  3289. CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Reakky red".Color,VT(i,0.3,i)*2)
  3290. end
  3291. for i = 1, 5 do
  3292. 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)
  3293. 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))
  3294. end
  3295. CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
  3296. CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(255,0,0),VT(i,i*2,i))
  3297. CreateSound("168586621", ABSOLUTE, 4, 0.8)
  3298. CreateSound("201858144", ABSOLUTE, 10, 0.8)
  3299. killnearest(ABSOLUTE.Position,i*18,i)
  3300. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  3301. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
  3302. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(255,0,0),VT(i,i,i))
  3303. end
  3304. ABSOLUTE.Transparency = 1
  3305. Debris:AddItem(ABSOLUTE,10)
  3306. end))
  3307. ATTACK = false
  3308. Rooted = false
  3309. end
  3310. end
  3311.  
  3312. function DeathAgreement()
  3313. ATTACK = true
  3314. Rooted = false
  3315. local SPEED = Speed
  3316. Speed = 8
  3317. CreateSound("357202141", RightArm, 10, 1.1)
  3318. for i=0, 0, 0.01 / Animation_Speed do
  3319. Swait()
  3320. turnto(Mouse.Hit.p)
  3321. MagicSphere(VT(1,1,1),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Deep orange",VT(-1/15,-1/15,-1/15))
  3322. MagicSphere(VT(2,2,2),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Deep orange",VT(-2/15,-2/15,-2/15))
  3323. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-85)), 0.15 / Animation_Speed)
  3324. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(85)), 0.2 / Animation_Speed)
  3325. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90+(MRANDOM(-45,45)/10)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
  3326. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3327. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3328. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3329. end
  3330. for i=0, 0, 0.01 / Animation_Speed do
  3331. Swait()
  3332. turnto(Mouse.Hit.p)
  3333. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 1 / Animation_Speed)
  3334. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
  3335. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3336. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3337. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3338. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3339. end
  3340. local PART = CreatePart(3, Effects, "Neon", 0, 0.8, "Deep orange", "Punch", VT(50,50,50),false)
  3341. PART.CFrame = RootPart.CFrame * CF(0,0,-25)
  3342. PART.Shape = "Ball"
  3343. local bv = Instance.new("BodyVelocity")
  3344. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3345. bv.velocity = RootPart.CFrame.lookVector*600
  3346. bv.Parent = PART
  3347. bv.Name = "PROJECTILEVELOCITY"
  3348. CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Lime green",VT(3,0.2,3))
  3349. CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Lime green",VT(2.2,0.6,2.2))
  3350. CreateSound("414517163", Effects, 10, MRANDOM(7, 12) / 10)
  3351. coroutine.resume(coroutine.create(function()
  3352. for i = 1, 3 do
  3353. Swait()
  3354. PART.Transparency = PART.Transparency + 0.2/10
  3355. PART.Size = PART.Size + VT(5,5,5)
  3356. killnearest(PART.Position,PART.Size.Y/2+15,100,RootPart.CFrame)
  3357. end
  3358. PART:Destroy()
  3359. end))
  3360. for i=0, 0, 0.01 / Animation_Speed do
  3361. Swait()
  3362. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(95)), 2 / Animation_Speed)
  3363. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 3 / Animation_Speed)
  3364. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
  3365. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 3 / Animation_Speed)
  3366. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 3 / Animation_Speed)
  3367. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
  3368. end
  3369. Speed = SPEED
  3370. ATTACK = false
  3371. Rooted = false
  3372. end
  3373.  
  3374. function Morning_Star()
  3375. ATTACK = true
  3376. Rooted = true
  3377. CreateSound(LAUGHS[MRANDOM(1,#LAUGHS)], Torso, 7, 1, false)
  3378. for i=0, 1, 0.1 / Animation_Speed do
  3379. Swait()
  3380. 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)
  3381. 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)
  3382. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(0), RAD(0), RAD(-85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3383. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.15, -0.5) * ANGLES(RAD(-15), RAD(0), RAD(85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3384. 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)
  3385. 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)
  3386. end
  3387. coroutine.resume(coroutine.create(function()
  3388. local POS = Mouse.Hit.p
  3389. local RAY = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(0,2000,0))
  3390. MakeForm(RAY,"Cyl")
  3391. local SPHERE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Strike", VT(0,0,0))
  3392. MakeForm(SPHERE,"Ball")
  3393. local SHIELD = CreatePart(3, Effects, "Neon", 0, 0.5, "Really black", "Strike", VT(0,0,0))
  3394. MakeForm(SHIELD,"Ball")
  3395. SHIELD.CFrame = CF(POS)
  3396. RAY.CFrame = CF(POS)
  3397. SPHERE.CFrame = CF(POS)
  3398. CreateSound(440145570, SPHERE, 10, 0.8, false)
  3399. CreateSound(415700134, SPHERE, 10, 0.8, false)
  3400. for i = 1, 200 do
  3401. Swait()
  3402. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(SPHERE.Size.X*1.2,5+(i),SPHERE.Size.X*1.2), Transparency = 0, Transparency2 = 1, CFrame = SPHERE.CFrame*ANGLES(RAD(0), RAD(i), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = i, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  3403. RAY.Size = RAY.Size + VT(0.05,0,0.05)
  3404. SPHERE.Size = SPHERE.Size + VT(2,2,2)
  3405. SHIELD.Size = SPHERE.Size + VT(3,3,3)
  3406. ApplyAoE(SPHERE.Position,SPHERE.Size.X/2,true)
  3407. end
  3408. for i = 1, 45 do
  3409. Swait()
  3410. RAY.Transparency = RAY.Transparency + 1/45
  3411. SPHERE.Transparency = RAY.Transparency
  3412. SHIELD.Transparency = SPHERE.Transparency + 1/45
  3413. end
  3414. RAY:remove()
  3415. SHIELD:remove()
  3416. SPHERE:remove()
  3417. end))
  3418. for i=0, 1, 0.1 / Animation_Speed do
  3419. Swait()
  3420. 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)
  3421. 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)
  3422. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(-45), RAD(85)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3423. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.15) * ANGLES(RAD(65), RAD(45), RAD(-85)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3424. 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)
  3425. 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)
  3426. end
  3427. ATTACK = false
  3428. Rooted = false
  3429. end
  3430.  
  3431. function Shot()
  3432. ATTACK = true
  3433. Rooted = false
  3434. for i=0, 0.05, 0.1 / Animation_Speed do
  3435. Swait()
  3436. turnto(Mouse.Hit.p)
  3437. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3438. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3439. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3440. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3441. 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)
  3442. 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)
  3443. end
  3444. repeat
  3445. for i=0, 0.05, 0.1 / Animation_Speed do
  3446. Swait()
  3447. turnto(Mouse.Hit.p)
  3448. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3449. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  3450. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3451. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3452. 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)
  3453. 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)
  3454. end
  3455. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  3456. SpawnTrail(Hole.Position,POS)
  3457. if HIT ~= nil then
  3458. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  3459. Banish(HIT.Parent)
  3460. end
  3461. end
  3462. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,7.5,6), 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})
  3463. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), 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})
  3464. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), 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})
  3465. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(1,0,1), Size2 = VT(6,6.5,6), 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})
  3466. for i=0, 0.05, 0.1 / Animation_Speed do
  3467. Swait()
  3468. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  3469. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  3470. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  3471. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  3472. 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)
  3473. 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)
  3474. end
  3475. until KEYHOLD == false
  3476. ATTACK = false
  3477. Rooted = false
  3478. end
  3479.  
  3480. function AttackTemplate()
  3481. ATTACK = true
  3482. Rooted = false
  3483. for i=0, 1, 0.1 / Animation_Speed do
  3484. Swait()
  3485. 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)
  3486. 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)
  3487. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3488. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3489. 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)
  3490. 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)
  3491. end
  3492. ATTACK = false
  3493. Rooted = false
  3494. end
  3495.  
  3496. --//=================================\\
  3497. --|| ASSIGN THINGS TO KEYS
  3498. --\\=================================//
  3499.  
  3500. function MouseDown(Mouse)
  3501. if ATTACK == false then
  3502. end
  3503. end
  3504.  
  3505. function MouseUp(Mouse)
  3506. HOLD = false
  3507. end
  3508.  
  3509. function KeyDown(Key)
  3510. KEYHOLD = true
  3511. if Key == "z" and ATTACK == false then
  3512. Shot()
  3513. end
  3514.  
  3515. if Key == "q" and ATTACK == false then
  3516. Morning_Star()
  3517. end
  3518.  
  3519. if Key == "f" and ATTACK == false then
  3520. Supernova()
  3521. end
  3522.  
  3523. if Key == "e" and ATTACK == false then
  3524. DeathAgreement()
  3525. end
  3526.  
  3527. if Key == "b" and ATTACK == false then
  3528. end
  3529.  
  3530. if Key == "c" and ATTACK == false then
  3531. end
  3532.  
  3533. if Key == "q" and ATTACK == false then
  3534. end
  3535.  
  3536. if Key == "x" and ATTACK == false then
  3537. end
  3538. end
  3539.  
  3540. function KeyUp(Key)
  3541. KEYHOLD = false
  3542. end
  3543.  
  3544. Mouse.Button1Down:connect(function(NEWKEY)
  3545. MouseDown(NEWKEY)
  3546. end)
  3547. Mouse.Button1Up:connect(function(NEWKEY)
  3548. MouseUp(NEWKEY)
  3549. end)
  3550. Mouse.KeyDown:connect(function(NEWKEY)
  3551. KeyDown(NEWKEY)
  3552. end)
  3553. Mouse.KeyUp:connect(function(NEWKEY)
  3554. KeyUp(NEWKEY)
  3555. end)
  3556.  
  3557. --//=================================\\
  3558. --\\=================================//
  3559.  
  3560.  
  3561. function unanchor()
  3562. if UNANCHOR == true then
  3563. g = Character:GetChildren()
  3564. for i = 1, #g do
  3565. if g[i].ClassName == "Part" then
  3566. g[i].Anchored = false
  3567. end
  3568. end
  3569. end
  3570. end
  3571.  
  3572.  
  3573. --//=================================\\
  3574. --|| WRAP THE WHOLE SCRIPT UP
  3575. --\\=================================//
  3576.  
  3577. Humanoid.Changed:connect(function(Jump)
  3578. if Jump == "Jump" and (Disable_Jump == true) then
  3579. Humanoid.Jump = false
  3580. end
  3581. end)
  3582.  
  3583. local CONNECT = nil
  3584.  
  3585. while true do
  3586. Swait()
  3587. ANIMATE.Parent = nil
  3588. if Character:FindFirstChildOfClass("Humanoid") == nil then
  3589. Humanoid = IT("Humanoid",Character)
  3590. end
  3591. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  3592. v:Stop();
  3593. end
  3594. SINE = SINE + CHANGE
  3595. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  3596. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  3597. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  3598. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  3599. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  3600. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3601. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3602. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3603. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3604. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  3605. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3606. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3607. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3608. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3609. end
  3610. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  3611. ANIM = "Jump"
  3612. if ATTACK == false then
  3613. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3614. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3615. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3616. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3617. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  3618. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  3619. end
  3620. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3621. ANIM = "Fall"
  3622. if ATTACK == false then
  3623. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3624. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3625. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3626. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  3627. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  3628. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  3629. end
  3630. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  3631. ANIM = "Idle"
  3632. if ATTACK == false then
  3633. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  3634. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  3635. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3636. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  3637. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3638. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3639. end
  3640. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  3641. ANIM = "Walk"
  3642. if ATTACK == false then
  3643. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3644. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  3645. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  3646. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  3647. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  3648. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  3649. end
  3650. end
  3651. unanchor()
  3652. Humanoid.MaxHealth = "inf"
  3653. Humanoid.Health = "inf"
  3654. if Rooted == false then
  3655. Disable_Jump = false
  3656. Humanoid.WalkSpeed = Speed
  3657. elseif Rooted == true then
  3658. Disable_Jump = true
  3659. Humanoid.WalkSpeed = 0
  3660. end
  3661. sick.Parent = Torso
  3662. sick:resume()
  3663. sick.Volume = 8.2
  3664. sick.Pitch = 1
  3665. sick.SoundId = "rbxassetid://151224226"
  3666. sick.Name = "Dead"
  3667. end
  3668.  
  3669. --//=================================\\
  3670. --\\=================================//
  3671.  
  3672.  
  3673.  
  3674.  
  3675.  
  3676. --//====================================================\\--
  3677. --|| END OF SCRIPT
  3678. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement