Advertisement
sawgamer1

Untitled

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