Advertisement
valentino2016

Banisher Gun V3

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