Advertisement
uor

Untitled

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