Advertisement
13242

Untitled

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