Mitko1223tm

idk god test

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