Advertisement
sawgamer1

Untitled

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