Bunnele

Untitled

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