Advertisement
JacksoMykalJunior

THE LAST

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