Bunnele

Untitled

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