Advertisement
sawgamer1

Untitled

Jul 10th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 119.11 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. -------------------------------------------------------
  1515. local Orbd = Instance.new("Part", Character)
  1516. Orbd.Name = "Orbd"
  1517. Orbd.Shape = Enum.PartType.Ball
  1518. Orbd.CanCollide = false
  1519. Orbd.BrickColor = BrickColor.new("Really black")
  1520. Orbd.Transparency = 0
  1521. Orbd.Material = "Neon"
  1522. Orbd.Size = Vector3.new(0.3, 0.3, 0.3)
  1523. Orbd.TopSurface = Enum.SurfaceType.Smooth
  1524. Orbd.BottomSurface = Enum.SurfaceType.Smooth
  1525.  
  1526. local Weld = Instance.new("Weld", Orbd)
  1527. Weld.Part0 = Character.Head
  1528. Weld.Part1 = Orbd
  1529. Weld.C1 = CFrame.new(-0.26, -0.24, 0.55)
  1530.  
  1531. --------------------------------------------------------
  1532. local Orbvc = Instance.new("Part", Character)
  1533. Orbvc.Name = "Orbvc"
  1534. Orbvc.Shape = Enum.PartType.Ball
  1535. Orbvc.CanCollide = false
  1536. Orbvc.BrickColor = BrickColor.new("Really black")
  1537. Orbvc.Transparency = 0
  1538. Orbvc.Material = "Neon"
  1539. Orbvc.Size = Vector3.new(0.3, 0.3, 0.3)
  1540. Orbvc.TopSurface = Enum.SurfaceType.Smooth
  1541. Orbvc.BottomSurface = Enum.SurfaceType.Smooth
  1542.  
  1543. local Weld = Instance.new("Weld", Orbvc)
  1544. Weld.Part0 = Character.Head
  1545. Weld.Part1 = Orbvc
  1546. Weld.C1 = CFrame.new(0.26, -0.24, 0.55)
  1547. ---------------------------------------------------------
  1548. local Mask = Instance.new("Part", Character)
  1549. Mask.Name = "Mask"
  1550. Mask.CanCollide = false
  1551. Mask.BrickColor = BrickColor.new("Medium stone grey")
  1552. Mask.Transparency = 0
  1553. Mask.Material = "Neon"
  1554. Mask.Size = Vector3.new(0.1, 0.1, 0.1)
  1555. Mask.TopSurface = Enum.SurfaceType.Smooth
  1556. Mask.BottomSurface = Enum.SurfaceType.Smooth
  1557.  
  1558. local Weld = Instance.new("Weld", Mask)
  1559. Weld.Part0 = Character.Head
  1560. Weld.Part1 = Mask
  1561. Weld.C1 = CFrame.new(0, -0.1, 0.8)
  1562.  
  1563. local M1 = Instance.new("SpecialMesh")
  1564. M1.Parent = Mask
  1565. M1.MeshId = "http://www.roblox.com/asset/?id=62679079"
  1566. M1.Scale = Vector3.new( 1, 1, 2)
  1567. ----------------------------------------------------------
  1568. local Hood = Instance.new("Part", Character)
  1569. Hood.Name = "Hood"
  1570. Hood.CanCollide = false
  1571. Hood.BrickColor = BrickColor.new("Really black")
  1572. Hood.Transparency = 0
  1573. Hood.Material = "Plastic"
  1574. Hood.Size = Vector3.new(0.1, 0.1, 0.1)
  1575. Hood.TopSurface = Enum.SurfaceType.Smooth
  1576. Hood.BottomSurface = Enum.SurfaceType.Smooth
  1577.  
  1578. local Weld = Instance.new("Weld", Hood)
  1579. Weld.Part0 = Character.Head
  1580. Weld.Part1 = Hood
  1581. Weld.C1 = CFrame.new(0, -0.2, 0)
  1582.  
  1583. local M2 = Instance.new("SpecialMesh")
  1584. M2.Parent = Hood
  1585. M2.MeshId = "http://www.roblox.com/asset/?id=83499032"
  1586. M2.Scale = Vector3.new( 1, 1.2, 1.1)
  1587. ------------------------------------------------------
  1588. --[[
  1589. Thanks for using Build-To-Lua by jarredbcv.
  1590. ]]--
  1591.  
  1592. New = function(Object, Parent, Name, Data)
  1593. local Object = Instance.new(Object)
  1594. for Index, Value in pairs(Data or {}) do
  1595. Object[Index] = Value
  1596. end
  1597. Object.Parent = Parent
  1598. Object.Name = Name
  1599. return Object
  1600. end
  1601.  
  1602. for i = 1, 35 do
  1603. local FACE = CreatePart(3, Character, "Fabric", 0, 0+(i-1)/35.2, "Dark stone grey", "FaceGradient", VT(1.01,0.5,1.01),false)
  1604. FACE.Color = C3(0,0,0)
  1605. Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FACE
  1606. CreateWeldOrSnapOrMotor("Weld", Head, Head, FACE, CF(0,0.35-(i-1)/75,0), CF(0, 0, 0))
  1607. end
  1608.  
  1609. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Really red", "Eye", VT(0.6,0.1,1)/2,false)
  1610. MakeForm(Eye,"Ball")
  1611. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(-18), RAD(15)), CF(0, 0, 0.4))
  1612. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.6,0.1,1)/2,false)
  1613. MakeForm(Eye,"Ball")
  1614. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.2,0) * ANGLES(RAD(0), RAD(18), RAD(-15)), CF(0, 0, 0.4))
  1615. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1616. MakeForm(Eye,"Ball")
  1617. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(-18), RAD(0)), CF(0, 0, 0.4))
  1618. local Eye = CreatePart(3, Character, "Neon", 0, 0, "Black", "Eye", VT(0.1,1,1)/2,false)
  1619. MakeForm(Eye,"Ball")
  1620. CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0,0.15,0) * ANGLES(RAD(0), RAD(18), RAD(0)), CF(0, 0, 0.4))
  1621.  
  1622. local BasePart = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(1.01,0.3,1.01),false)
  1623. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, BasePart, CF(0, -0.2, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1624. for i = 1, 3 do
  1625. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1626. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0, 0, 0.6-0.3*i) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0, 0, 0))
  1627. MakeForm(Part,"Cyl")
  1628. end
  1629. for i = 1, 3 do
  1630. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.2,1.02,0.2),false)
  1631. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.6-0.3*i, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(90)), CF(0, 0, 0))
  1632. MakeForm(Part,"Cyl")
  1633. end
  1634. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1635. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(-0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(90), RAD(180)), CF(0, 0, 0))
  1636. MakeForm(Part,"Wedge")
  1637. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.51,0.6,0.25),false)
  1638. CreateWeldOrSnapOrMotor("Weld", BasePart, BasePart, Part, CF(0.125, -0.4, -0.25) * ANGLES(RAD(0), RAD(-90), RAD(180)), CF(0, 0, 0))
  1639. MakeForm(Part,"Wedge")
  1640. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1641. 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))
  1642. MakeForm(Part,"Wedge")
  1643. local Part = CreatePart(3, Weapon, "SmoothPlastic", 1, 1, "Black", "BraceletPart", VT(0.52,0.5,0.25/2.3),false)
  1644. 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))
  1645. MakeForm(Part,"Wedge")
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653. for _, c in pairs(Weapon:GetChildren()) do
  1654. if c.ClassName == "Part" then
  1655. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1656. local AURA = c:Clone()
  1657. AURA:BreakJoints()
  1658. AURA.Parent = c
  1659. AURA.CFrame = c.CFrame
  1660. AURA.Size = AURA.Size*1.001
  1661. AURA.Transparency = 0.8
  1662. AURA.BrickColor = BRICKC"Royal purple"
  1663. AURA.Material = "Neon"
  1664. weldBetween(c,AURA)
  1665. end
  1666. end
  1667. function refit()
  1668. Character.Parent = workspace
  1669. for e = 1, #BODY do
  1670. if BODY[e] ~= nil then
  1671. local STUFF = BODY[e]
  1672. local PART = STUFF[1]
  1673. local PARENT = STUFF[2]
  1674. local MATERIAL = STUFF[3]
  1675. local COLOR = STUFF[4]
  1676. local TRANSPARENCY = STUFF[5]
  1677. if PART.ClassName == "Part" and PART ~= RootPart then
  1678. PART.Material = MATERIAL
  1679. PART.Color = COLOR
  1680. PART.Transparency = TRANSPARENCY
  1681. end
  1682. if PART.Parent ~= PARENT then
  1683. Humanoid:remove()
  1684. PART.Parent = PARENT
  1685. Humanoid = IT("Humanoid",Character)
  1686. end
  1687. end
  1688. end
  1689. end
  1690.  
  1691. local SKILLTEXTCOLOR = BRICKC"Black".Color
  1692. local SKILLFONT = "Bodoni"
  1693. local SKILLTEXTSIZE = 7
  1694.  
  1695. Weapon.Parent = Character
  1696.  
  1697. Humanoid.Died:connect(function()
  1698.  
  1699. ATTACK = true
  1700. end)
  1701.  
  1702. 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")
  1703. 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")
  1704. 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")
  1705. 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")
  1706. 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")
  1707. 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")
  1708.  
  1709.  
  1710. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] BEAM OF CORRUPTION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 1")
  1711. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] EXPLOSION", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 2")
  1712. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] STUN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 3")
  1713. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[E] SCREAM", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 4")
  1714. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[R] WARP", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 5")
  1715. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[Q] PAIN", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 0, 0, "Text 6")
  1716.  
  1717. --//=================================\\
  1718. --|| RAGDOLL STUFF
  1719. --\\=================================//
  1720.  
  1721. function recurse(root,callback,i)
  1722. i= i or 0
  1723. for _,v in pairs(root:GetChildren()) do
  1724. i = i + 1
  1725. callback(i,v)
  1726.  
  1727. if #v:GetChildren() > 0 then
  1728. i = recurse(v,callback,i)
  1729. end
  1730. end
  1731.  
  1732. return i
  1733. end
  1734.  
  1735. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1736. attachmentName = attachmentName.."RigAttachment"
  1737. local constraint = Instance.new(className.."Constraint")
  1738. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1739. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1740. constraint.Name = "RagdollConstraint"..part1.Name
  1741.  
  1742. for _,propertyData in next,properties or {} do
  1743. constraint[propertyData[1]] = propertyData[2]
  1744. end
  1745.  
  1746. constraint.Parent = character
  1747. end
  1748.  
  1749. function getAttachment0(character, attachmentName)
  1750. for _,child in next,character:GetChildren() do
  1751. local attachment = child:FindFirstChild(attachmentName)
  1752. if attachment then
  1753. return attachment
  1754. end
  1755. end
  1756. end
  1757.  
  1758. function ArtificialHitbox(Part)
  1759. local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1760. HITBOX.CanCollide = true
  1761. HITBOX.CFrame = Part.CFrame
  1762. weldBetween(Part,HITBOX)
  1763. end
  1764.  
  1765. function R15Ragdoll(character,KeepArms)
  1766. character:BreakJoints()
  1767. coroutine.resume(coroutine.create(function()
  1768. recurse(character, function(_,v)
  1769. if v:IsA("Attachment") then
  1770. v.Axis = Vector3.new(0, 1, 0)
  1771. v.SecondaryAxis = Vector3.new(0, 0, 1)
  1772. v.Rotation = Vector3.new(0, 0, 0)
  1773. end
  1774. end)
  1775. for _,child in next,character:GetChildren() do
  1776. if child:IsA("Accoutrement") then
  1777. for _,part in next,child:GetChildren() do
  1778. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1779. local attachment1 = part:FindFirstChildOfClass("Attachment")
  1780. local attachment0 = getAttachment0(character,attachment1.Name)
  1781. if attachment0 and attachment1 then
  1782. local constraint = Instance.new("HingeConstraint")
  1783. constraint.Attachment0 = attachment0
  1784. constraint.Attachment1 = attachment1
  1785. constraint.LimitsEnabled = true
  1786. constraint.UpperAngle = 0
  1787. constraint.LowerAngle = 0
  1788. constraint.Parent = character
  1789. end
  1790. ArtificialHitbox(part)
  1791. elseif part.Name == "HumanoidRootPart" then
  1792. part:remove()
  1793. end
  1794. end
  1795. end
  1796. end
  1797.  
  1798. ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1799. {"LimitsEnabled",true};
  1800. {"UpperAngle",5};
  1801. })
  1802. if character:FindFirstChild("Head") then
  1803. ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1804. {"LimitsEnabled",true};
  1805. {"UpperAngle",15};
  1806. })
  1807. end
  1808.  
  1809. local handProperties = {
  1810. {"LimitsEnabled", true};
  1811. {"UpperAngle",0};
  1812. {"LowerAngle",0};
  1813. }
  1814. ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1815. ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1816.  
  1817. local shinProperties = {
  1818. {"LimitsEnabled", true};
  1819. {"UpperAngle", 0};
  1820. {"LowerAngle", -75};
  1821. }
  1822. ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1823. ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1824.  
  1825. local footProperties = {
  1826. {"LimitsEnabled", true};
  1827. {"UpperAngle", 15};
  1828. {"LowerAngle", -45};
  1829. }
  1830. ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1831. ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1832. if KeepArms == true then
  1833. ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1834. ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1835. ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1836. ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1837. end
  1838. ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1839. ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1840. Debris:AddItem(character,5)
  1841. end))
  1842. end
  1843.  
  1844. function Ragdoll(Character2,CharTorso,KeepArms)
  1845. coroutine.resume(coroutine.create(function()
  1846. Character2:BreakJoints()
  1847. local hum = Character2:findFirstChild("Humanoid")
  1848. hum:remove()
  1849. local function Scan(ch)
  1850. local e
  1851. for e = 1,#ch do
  1852. Scan(ch[e]:GetChildren())
  1853. if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1854. ch[e]:remove()
  1855. end
  1856. end
  1857. end
  1858. local NEWHUM = IT("Humanoid")
  1859. NEWHUM.Name = "Corpse"
  1860. NEWHUM.Health = 0
  1861. NEWHUM.MaxHealth = 0
  1862. NEWHUM.PlatformStand = true
  1863. NEWHUM.Parent = Character2
  1864. NEWHUM.DisplayDistanceType = "None"
  1865.  
  1866. local ch = Character2:GetChildren()
  1867. local i
  1868. for i = 1,#ch do
  1869. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1870. ch[i]:remove()
  1871. end
  1872. end
  1873.  
  1874. local Torso2 = Character2.Torso
  1875. local movevector = Vector3.new()
  1876.  
  1877. if Torso2 then
  1878. movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1879. local Head = Character2:FindFirstChild("Head")
  1880. if Head then
  1881. local Neck = Instance.new("Weld")
  1882. Neck.Name = "Neck"
  1883. Neck.Part0 = Torso2
  1884. Neck.Part1 = Head
  1885. Neck.C0 = CFrame.new(0, 1.5, 0)
  1886. Neck.C1 = CFrame.new()
  1887. Neck.Parent = Torso2
  1888.  
  1889. end
  1890. local Limb = Character2:FindFirstChild("Right Arm")
  1891. if Limb and KeepArms == true then
  1892.  
  1893. Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1894. local Joint = Instance.new("Glue")
  1895. Joint.Name = "RightShoulder"
  1896. Joint.Part0 = Torso2
  1897. Joint.Part1 = Limb
  1898. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1899. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1900. Joint.Parent = Torso2
  1901.  
  1902. local B = Instance.new("Part")
  1903. B.TopSurface = 0
  1904. B.BottomSurface = 0
  1905. B.formFactor = "Symmetric"
  1906. B.Size = Vector3.new(1, 1, 1)
  1907. B.Transparency = 1
  1908. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1909. B.Parent = Character2
  1910. local W = Instance.new("Weld")
  1911. W.Part0 = Limb
  1912. W.Part1 = B
  1913. W.C0 = CFrame.new(0, -0.5, 0)
  1914. W.Parent = Limb
  1915.  
  1916. end
  1917. local Limb = Character2:FindFirstChild("Left Arm")
  1918. if Limb and KeepArms == true then
  1919.  
  1920. Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1921. local Joint = Instance.new("Glue")
  1922. Joint.Name = "LeftShoulder"
  1923. Joint.Part0 = Torso2
  1924. Joint.Part1 = Limb
  1925. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1926. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1927. Joint.Parent = Torso2
  1928.  
  1929. local B = Instance.new("Part")
  1930. B.TopSurface = 0
  1931. B.BottomSurface = 0
  1932. B.formFactor = "Symmetric"
  1933. B.Size = Vector3.new(1, 1, 1)
  1934. B.Transparency = 1
  1935. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1936. B.Parent = Character2
  1937. local W = Instance.new("Weld")
  1938. W.Part0 = Limb
  1939. W.Part1 = B
  1940. W.C0 = CFrame.new(0, -0.5, 0)
  1941. W.Parent = Limb
  1942.  
  1943. end
  1944. local Limb = Character2:FindFirstChild("Right Leg")
  1945. if Limb then
  1946.  
  1947. Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1948. local Joint = Instance.new("Glue")
  1949. Joint.Name = "RightHip"
  1950. Joint.Part0 = Torso2
  1951. Joint.Part1 = Limb
  1952. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1953. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1954. Joint.Parent = Torso2
  1955.  
  1956. local B = Instance.new("Part")
  1957. B.TopSurface = 0
  1958. B.BottomSurface = 0
  1959. B.formFactor = "Symmetric"
  1960. B.Size = Vector3.new(1, 1, 1)
  1961. B.Transparency = 1
  1962. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1963. B.Parent = Character2
  1964. local W = Instance.new("Weld")
  1965. W.Part0 = Limb
  1966. W.Part1 = B
  1967. W.C0 = CFrame.new(0, -0.5, 0)
  1968. W.Parent = Limb
  1969.  
  1970. end
  1971. local Limb = Character2:FindFirstChild("Left Leg")
  1972. if Limb then
  1973.  
  1974. Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1975. local Joint = Instance.new("Glue")
  1976. Joint.Name = "LeftHip"
  1977. Joint.Part0 = Torso2
  1978. Joint.Part1 = Limb
  1979. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1980. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1981. Joint.Parent = Torso2
  1982.  
  1983. local B = Instance.new("Part")
  1984. B.TopSurface = 0
  1985. B.BottomSurface = 0
  1986. B.formFactor = "Symmetric"
  1987. B.Size = Vector3.new(1, 1, 1)
  1988. B.Transparency = 1
  1989. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1990. B.Parent = Character2
  1991. local W = Instance.new("Weld")
  1992. W.Part0 = Limb
  1993. W.Part1 = B
  1994. W.C0 = CFrame.new(0, -0.5, 0)
  1995. W.Parent = Limb
  1996.  
  1997. end
  1998. --[
  1999. local Bar = Instance.new("Part")
  2000. Bar.TopSurface = 0
  2001. Bar.BottomSurface = 0
  2002. Bar.formFactor = "Symmetric"
  2003. Bar.Size = Vector3.new(1, 1, 1)
  2004. Bar.Transparency = 1
  2005. Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  2006. Bar.Parent = Character2
  2007. local Weld = Instance.new("Weld")
  2008. Weld.Part0 = Torso2
  2009. Weld.Part1 = Bar
  2010. Weld.C0 = CFrame.new(0, 0.5, 0)
  2011. Weld.Parent = Torso2
  2012. --]]
  2013. end
  2014. Character2.Parent = workspace
  2015. Debris:AddItem(Character2,5)
  2016.  
  2017. return Character2,Torso2
  2018. end))
  2019. end
  2020.  
  2021. --//=================================\\
  2022. --|| DAMAGE FUNCTIONS
  2023. --\\=================================//
  2024. function StatLabel(CFRAME, TEXT, COLOR)
  2025. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2026. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2027. local BODYGYRO = IT("BodyGyro", STATPART)
  2028. game:GetService("Debris"):AddItem(STATPART ,5)
  2029. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2030. BILLBOARDGUI.Adornee = STATPART
  2031. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2032. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2033. BILLBOARDGUI.AlwaysOnTop = false
  2034. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2035. TEXTLABEL.BackgroundTransparency = 1
  2036. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2037. TEXTLABEL.Text = TEXT
  2038. TEXTLABEL.Font = SKILLFONT
  2039. TEXTLABEL.FontSize="Size42"
  2040. TEXTLABEL.TextColor3 = COLOR
  2041. TEXTLABEL.TextStrokeTransparency = 0
  2042. TEXTLABEL.TextScaled = true
  2043. TEXTLABEL.TextWrapped = true
  2044. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2045. for i = 1, 50 do
  2046. Swait()
  2047. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2048. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2049. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2050. end
  2051. THEPART.Parent = nil
  2052. end),STATPART, TEXTLABEL)
  2053. end
  2054.  
  2055. function StatLabel(CFRAME, TEXT, COLOR)
  2056. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2057. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2058. local BODYGYRO = IT("BodyGyro", STATPART)
  2059. game:GetService("Debris"):AddItem(STATPART ,5)
  2060. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2061. BILLBOARDGUI.Adornee = STATPART
  2062. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2063. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2064. BILLBOARDGUI.AlwaysOnTop = false
  2065. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2066. TEXTLABEL.BackgroundTransparency = 1
  2067. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2068. TEXTLABEL.Text = TEXT
  2069. TEXTLABEL.Font = "Fantasy"
  2070. TEXTLABEL.FontSize="Size42"
  2071. TEXTLABEL.TextColor3 = COLOR
  2072. TEXTLABEL.TextStrokeTransparency = 0
  2073. TEXTLABEL.TextScaled = true
  2074. TEXTLABEL.TextWrapped = true
  2075. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2076. for i = 1, 50 do
  2077. Swait()
  2078. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2079. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2080. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2081. end
  2082. THEPART.Parent = nil
  2083. end),STATPART, TEXTLABEL)
  2084. end
  2085.  
  2086. function StatLabel(CFRAME, TEXT, COLOR)
  2087. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2088. STATPART.CFrame = CF(CFRAME.p,CFRAME.p+VT(MRANDOM(-5,5),MRANDOM(0,5),MRANDOM(-5,5)))
  2089. local BODYGYRO = IT("BodyGyro", STATPART)
  2090. game:GetService("Debris"):AddItem(STATPART ,5)
  2091. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  2092. BILLBOARDGUI.Adornee = STATPART
  2093. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  2094. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  2095. BILLBOARDGUI.AlwaysOnTop = false
  2096. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  2097. TEXTLABEL.BackgroundTransparency = 1
  2098. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  2099. TEXTLABEL.Text = TEXT
  2100. TEXTLABEL.Font = SKILLFONT
  2101. TEXTLABEL.FontSize="Size42"
  2102. TEXTLABEL.TextColor3 = COLOR
  2103. TEXTLABEL.TextStrokeTransparency = 0
  2104. TEXTLABEL.TextScaled = true
  2105. TEXTLABEL.TextWrapped = true
  2106. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  2107. for i = 1, 50 do
  2108. Swait()
  2109. STATPART.CFrame = STATPART.CFrame * CF(0,0,-0.2)
  2110. TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/50)
  2111. TEXTLABEL.TextStrokeTransparency = TEXTLABEL.TextTransparency
  2112. end
  2113. THEPART.Parent = nil
  2114. end),STATPART, TEXTLABEL)
  2115. end
  2116.  
  2117. --//=================================\\
  2118. --|| DAMAGING
  2119. --\\=================================//
  2120. function ApplyDamage(Humanoid,Damage,TorsoPart)
  2121. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2122. defence.Name = ("HitBy"..Player.Name)
  2123. game:GetService("Debris"):AddItem(defence, 0.001)
  2124. Damage = Damage * DAMAGEMULTIPLIER
  2125. if Humanoid.Health ~= 0 then
  2126. local CritChance = MRANDOM(1,100)
  2127. if Damage > Humanoid.Health then
  2128. Damage = math.ceil(Humanoid.Health)
  2129. if Damage == 0 then
  2130. Damage = 0.1
  2131. end
  2132. end
  2133. Humanoid.Health = Humanoid.Health - Damage
  2134. end
  2135. end
  2136.  
  2137. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  2138. local CHILDREN = workspace:GetDescendants()
  2139. for index, CHILD in pairs(CHILDREN) do
  2140. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  2141. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2142. if HUM then
  2143. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2144. if TORSO then
  2145. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2146. if INSTAKILL == false then
  2147. CHILD:BreakJoints()
  2148. else
  2149. local DMG = MRANDOM(MINDMG,MAXDMG)
  2150. ApplyDamage(HUM,DMG,TORSO)
  2151. end
  2152. if FLING > 0 then
  2153. for _, c in pairs(CHILD:GetChildren()) do
  2154. if c:IsA("BasePart") then
  2155. local bv = Instance.new("BodyVelocity")
  2156. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2157. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2158. bv.Parent = c
  2159. Debris:AddItem(bv,0.05)
  2160. end
  2161. end
  2162. end
  2163. end
  2164. end
  2165. end
  2166. end
  2167. end
  2168. end
  2169.  
  2170. function KillChildren(v)
  2171. v:BreakJoints()
  2172. for _, c in pairs(v:GetChildren()) do
  2173. if c:IsA("BasePart") then
  2174. if c.Transparency < 1 then
  2175. if c:FindFirstChildOfClass("Decal") then
  2176. c:FindFirstChildOfClass("Decal"):remove()
  2177. end
  2178. particles(c)
  2179. c.PE.Enabled = true
  2180. c.Parent = Effects
  2181. c.CanCollide = false
  2182. c.Material = "Neon"
  2183. c.Color = C3(0,0,0)
  2184. c.Transparency = 1
  2185. local grav = Instance.new("BodyPosition",c)
  2186. grav.P = 20000
  2187. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  2188. grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5))
  2189. grav.Name = "GravityForce"
  2190. coroutine.resume(coroutine.create(function()
  2191. for i = 1, 20 do
  2192. Swait()
  2193. c.Transparency = c.Transparency + 1/20
  2194. end
  2195. c.PE.Enabled = false
  2196. Debris:AddItem(c,2)
  2197. end))
  2198. end
  2199. end
  2200. end
  2201. end
  2202.  
  2203. function ApplyAoE(POSITION,RANGE)
  2204. local CHILDREN = workspace:GetDescendants()
  2205. for index, CHILD in pairs(CHILDREN) do
  2206. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2207. local LISTED = false
  2208. for LIST = 1, #WHITELIST do
  2209. if WHITELIST[LIST] ~= nil then
  2210. if CHILD.Name == WHITELIST[LIST] then
  2211. LISTED = true
  2212. end
  2213. end
  2214. end
  2215. if LISTED == false then
  2216. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2217. if HUM then
  2218. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2219. if TORSO then
  2220. if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then
  2221. KillChildren(CHILD)
  2222. end
  2223. end
  2224. end
  2225. end
  2226. end
  2227. end
  2228. end
  2229.  
  2230. function ApplyDamage(Humanoid,Damage,CritRate,CritMultiplier)
  2231. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2232. defence.Name = ("HitBy"..Player.Name)
  2233. game:GetService("Debris"):AddItem(defence, 0.001)
  2234. if Humanoid.Health ~= 0 then
  2235. local CritChance = MRANDOM(1,100)
  2236. if CritChance < CritRate + 1 then
  2237. Damage = Damage*CritMultiplier
  2238. end
  2239. if Damage > Humanoid.Health then
  2240. Damage = math.ceil(Humanoid.Health)
  2241. if Damage == 0 then
  2242. Damage = 0.1
  2243. end
  2244. end
  2245. Humanoid.Health = Humanoid.Health - Damage
  2246. if Humanoid.Parent:FindFirstChild("Head") then
  2247. CreateSound(HITPLAYERSOUNDS[MRANDOM(1,#HITPLAYERSOUNDS)], Humanoid.Parent.Head, 5, 1)
  2248. if CritChance < CritRate + 1 then
  2249. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), "CRIT//"..Damage, C3(1, 0, 0))
  2250. else
  2251. StatLabel(Humanoid.Parent.Head.CFrame * CF(0, 0 + (Humanoid.Parent.Head.Size.z - 1), 0), Damage, SKILLTEXTCOLOR)
  2252. end
  2253. end
  2254. end
  2255. end
  2256.  
  2257. function AoEDamage(position,radius,min,max,maxstrength,critrate,critmultiplier,CanBeDodgedByJumping)
  2258. local dmg = math.random(min,max)
  2259. for i,v in ipairs(workspace:GetChildren()) do
  2260. if v:FindFirstChild("HitBy"..Player.Name) == nil then
  2261. local body = v:GetChildren()
  2262. for part = 1, #body do
  2263. if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2264. if(body[part].Position - position).Magnitude < radius then
  2265. if v.ClassName == "Model" then
  2266. if v:FindFirstChildOfClass("Humanoid") then
  2267. if CanBeDodgedByJumping == true then
  2268. if body[part].Position.Y < position.Y+5 then
  2269. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2270. end
  2271. else
  2272. ApplyDamage(v:FindFirstChildOfClass("Humanoid"),dmg,critrate,critmultiplier)
  2273. end
  2274. local bv = Instance.new("BodyVelocity")
  2275. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2276. bv.velocity = RootPart.CFrame.lookVector*maxstrength
  2277. bv.Parent = body[part]
  2278. Debris:AddItem(bv,0.2)
  2279. end
  2280. end
  2281. end
  2282. end
  2283. end
  2284. end
  2285. if v:FindFirstChild("HitBy"..Player.Name) then
  2286. v:FindFirstChild("HitBy"..Player.Name):remove()
  2287. end
  2288. end
  2289. end
  2290.  
  2291. function Kill(Char)
  2292. local NewCharacter = IT("Model",Effects)
  2293. NewCharacter.Name = "Ow im ded ;-;"
  2294. for _, c in pairs(Char:GetDescendants()) do
  2295. if c:IsA("BasePart") and c.Transparency == 0 then
  2296. if c.Parent == Char then
  2297. getbloody(c,5)
  2298. end
  2299. c:BreakJoints()
  2300. c.Material = "Glass"
  2301. c.Color = C3(0.5,0,0)
  2302. c.CanCollide = true
  2303. c.Transparency = 0.3
  2304. if c:FindFirstChildOfClass("SpecialMesh") then
  2305. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2306. end
  2307. if c.Name == "Head" then
  2308. c:ClearAllChildren()
  2309. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  2310. end
  2311. if c.ClassName == "MeshPart" then
  2312. c.TextureID = ""
  2313. end
  2314. if c:FindFirstChildOfClass("BodyPosition") then
  2315. c:FindFirstChildOfClass("BodyPosition"):remove()
  2316. end
  2317. if c:FindFirstChildOfClass("ParticleEmitter") then
  2318. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  2319. end
  2320. c.Parent = NewCharacter
  2321. c.Name = "DeadPart"
  2322. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  2323. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  2324. end
  2325. end
  2326. Char:remove()
  2327. Debris:AddItem(NewCharacter,5)
  2328. end
  2329.  
  2330. function ApplyAoE(POSITION,RANGE,BRUTAL)
  2331. local CHILDREN = workspace:GetDescendants()
  2332. for index, CHILD in pairs(CHILDREN) do
  2333. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2334. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2335. if HUM then
  2336. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2337. if TORSO then
  2338. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2339. if BRUTAL == true then
  2340. Kill(CHILD)
  2341. else
  2342. CHILD:BreakJoints()
  2343. end
  2344. end
  2345. end
  2346. end
  2347. end
  2348. end
  2349. end
  2350.  
  2351. --//=================================\\
  2352. --|| ATTACK FUNCTIONS AND STUFF
  2353. --\\=================================//
  2354. function Click()
  2355. ATTACK = true
  2356. Rooted = false
  2357. local HIT = nil
  2358. OFFSET = -45
  2359. for i=0, 1, 0.1 / Animation_Speed do
  2360. Swait()
  2361. 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)
  2362. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2363. end
  2364. OFFSET = 45
  2365. local PUNCH = CreatePart(3, Effects, "Granite", 0, 1, "Really black", "Hit", VT(0.7,0.7,0.7),false)
  2366. PUNCH.CanCollide = true
  2367. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PUNCH, CF(0,-1,0), CF(0, 0, 0))
  2368. TAUNT = true
  2369. local TOUCH = PUNCH.Touched:Connect(function(hit)
  2370. if hit.Parent:FindFirstChildOfClass("Humanoid") then
  2371. HIT = hit.Parent
  2372. end
  2373. end)
  2374. for i=0, 0.3, 0.1 / Animation_Speed do
  2375. Swait()
  2376. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.3)
  2377. if HIT ~= nil then
  2378. break
  2379. end
  2380. 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)
  2381. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2382. 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)
  2383. end
  2384. PUNCH:remove()
  2385. TOUCH:disconnect()
  2386. if HIT ~= nil then
  2387. for _, c in pairs(HIT:GetChildren()) do
  2388. if c:IsA("BasePart") then
  2389. c.Anchored = true
  2390. end
  2391. end
  2392. Rooted = true
  2393. CreateSound(649634100, Torso, 10, 0.8)
  2394. CreateSound(1368573150, RightArm, 3, 1.5)
  2395. for i=0, 0.6, 0.1 / Animation_Speed do
  2396. Swait()
  2397. 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})
  2398. 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)
  2399. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.45, 0.5, -0.75) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2400. 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)
  2401. end
  2402. for _, c in pairs(HIT:GetChildren()) do
  2403. if c:IsA("BasePart") then
  2404. c.Anchored = false
  2405. end
  2406. end
  2407. KillChildren(HIT)
  2408. end
  2409. OFFSET = 0
  2410. ATTACK = false
  2411. Rooted = false
  2412. TAUNT = false
  2413. end
  2414.  
  2415. function Teleport()
  2416. ATTACK = true
  2417. Rooted = false
  2418. for i=0, 0.5, 0.1 / Animation_Speed do
  2419. Swait()
  2420. 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)
  2421. 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)
  2422. end
  2423. for e = 1, #BODY do
  2424. if BODY[e] ~= nil then
  2425. local STUFF = BODY[e]
  2426. local PART = STUFF[1]
  2427. if PART:IsA("BasePart") and PART ~= RootPart and PART.Name ~= "FaceGradient" and PART.Name ~= "Hair" and PART.Transparency ~= 1 then
  2428. local PRT = PART:Clone()
  2429. PRT.Anchored = true
  2430. PRT.CanCollide = false
  2431. PRT.Material = "Neon"
  2432. PRT.Color = C3(0,0,0)
  2433. PRT.Name = "WarpEffect"
  2434. PRT.Parent = Effects
  2435. PRT.CFrame = PART.CFrame
  2436. PRT:BreakJoints()
  2437. if PRT:FindFirstChildOfClass("Sound") then
  2438. PRT:FindFirstChildOfClass("Sound"):remove()
  2439. end
  2440. if PRT:FindFirstChildOfClass("Decal") then
  2441. PRT:FindFirstChildOfClass("Decal"):remove()
  2442. end
  2443. coroutine.resume(coroutine.create(function()
  2444. for i = 1, 100 do
  2445. Swait()
  2446. PRT.Transparency = PRT.Transparency + 1/100
  2447. end
  2448. PRT:remove()
  2449. end))
  2450. end
  2451. end
  2452. end
  2453. CreateSound(217767125, Torso, 10, 1)
  2454. local POS = RootPart.Orientation
  2455. RootPart.CFrame = CF(Mouse.Hit.p+VT(0,6,0))
  2456. RootPart.Orientation = POS
  2457. RootJoint.Parent = RootPart
  2458. for i=0, 0.5, 0.1 / Animation_Speed do
  2459. Swait()
  2460. 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)
  2461. 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)
  2462. end
  2463. for i=0, 0.1, 0.1 / Animation_Speed do
  2464. Swait()
  2465. 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)
  2466. end
  2467. ATTACK = false
  2468. Rooted = false
  2469. end
  2470.  
  2471. function SpawnSmite(POS)
  2472. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  2473. local EMITPOS = HITPOS
  2474. if HITFLOOR ~= nil then
  2475. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2476. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2477. EMITPOS = HITPOS
  2478. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2479. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2480. EMITPOS = HITPOS
  2481. end
  2482. end
  2483. if HITFLOOR ~= nil then
  2484. ApplyAoE(EMITPOS,10)
  2485. 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})
  2486. 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})
  2487. 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})
  2488. for i = 1, 5 do
  2489. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  2490. 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})
  2491. end
  2492. end
  2493. end
  2494.  
  2495. function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS)
  2496. coroutine.resume(coroutine.create(function()
  2497. local METEOR = IT("Model",Effects)
  2498. METEOR.Name = "Meteorite"
  2499. local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2500. METEOR.PrimaryPart = CENTER
  2501. local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE)
  2502. PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2503. for i = 1, 15 do
  2504. local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really black", "Fire", VT(5.1,1,5.1)*SIZE)
  2505. FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  2506. end
  2507. if ISDEBREE ~= true then
  2508. 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))))
  2509. else
  2510. METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2511. end
  2512. local IMPACT = false
  2513. CreateSound(463593339, CENTER, 10, 0.6)
  2514. if SIZE >= 3.5 then
  2515. for i = 1, MRANDOM(3,7) do
  2516. 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)
  2517. end
  2518. end
  2519. for i = 1, 200 do
  2520. Swait()
  2521. local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character)
  2522. if HITFLOOR == nil then
  2523. local ORI = CENTER.Orientation
  2524. METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))))
  2525. else
  2526. if HITFLOOR.Anchored == true then
  2527. CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5)
  2528. CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175)
  2529. end
  2530. IMPACT = true
  2531. break
  2532. end
  2533. end
  2534. if IMPACT == true then
  2535. 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})
  2536. 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})
  2537. 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})
  2538. ApplyAoE(CENTER.Position,30*SIZE)
  2539. end
  2540. METEOR:remove()
  2541. end))
  2542. end
  2543. function Equivalent_Pain()
  2544. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2545. if HITFLOOR then
  2546. ATTACK = true
  2547. Rooted = true
  2548. FULL = true
  2549. local GYRO = IT("BodyGyro",RootPart)
  2550. GYRO.D = 25
  2551. GYRO.P = 20000
  2552. GYRO.MaxTorque = VT(0,math.huge,0)
  2553. for i=0, 0.3, 0.1 / Animation_Speed do
  2554. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2555. Swait()
  2556. 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)
  2557. 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)
  2558. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2559. 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)
  2560. 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)
  2561. 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)
  2562. end
  2563. GYRO:remove()
  2564. CreateSound(12222200, RightArm, 10, 1)
  2565. for i=0, 0.4, 0.1 / Animation_Speed do
  2566. Swait()
  2567. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2568. 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)
  2569. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2570. 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)
  2571. 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)
  2572. 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)
  2573. end
  2574. CreateSound(289842971, RightArm, 10, 1)
  2575. coroutine.resume(coroutine.create(function()
  2576. 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)
  2577. local ECHO = POS
  2578. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  2579. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  2580. ECHO = POS
  2581. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2582. HIT,POS = Raycast(ECHO+VT(0,1,0), (CF(ECHO, ECHO + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  2583. ECHO = POS
  2584. end
  2585. if ECHO.Y == HITPOS.Y then
  2586. local DISTANCE = (HITPOS - ECHO).Magnitude/3
  2587. local CFRAME = CF(HITPOS,ECHO)
  2588. local RANGE = math.ceil(DISTANCE)
  2589. for i = 1, RANGE-1 do
  2590. Swait(3)
  2591. local A = CFRAME*CF(0,0,-i*3)
  2592. ApplyAoE(A.p,4)
  2593. CreateFlyingDebree(HITFLOOR,A,2,VT(2,2,2),2,65)
  2594. end
  2595. local SIZE = 3
  2596. local POS = CFRAME*CF(0,0,-RANGE*3).p
  2597. 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})
  2598. 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})
  2599. 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})
  2600. for i = 1, 9 do
  2601. 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})
  2602. end
  2603. for i = 1, 9 do
  2604. 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})
  2605. end
  2606. ApplyAoE(POS,30*SIZE)
  2607. CreateDebreeRing(HITFLOOR,POS,30*SIZE,VT(8,8,8)*SIZE,5)
  2608. CreateDebreeRing(HITFLOOR,POS,50*SIZE,VT(2,2,2)*SIZE,5)
  2609. end
  2610. end))
  2611. for i=0, 0.6, 0.1 / Animation_Speed do
  2612. Swait()
  2613. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, -0.75) * ANGLES(RAD(40), RAD(0), RAD(35)), 1.5 / Animation_Speed)
  2614. 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)
  2615. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.45, -1.45) * ANGLES(RAD(75), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2616. 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)
  2617. 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)
  2618. 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)
  2619. end
  2620. FULL = false
  2621. ATTACK = false
  2622. Rooted = false
  2623. end
  2624. end
  2625.  
  2626. function ReeeEEEEEE()
  2627. ATTACK = true
  2628. Rooted = false
  2629. Speed = 12
  2630. local FX = CreateSound(198165368, Head, 4, 0.5, false)
  2631. repeat
  2632. Swait()
  2633. FX.Parent = Head
  2634. local CHILDREN = workspace:GetDescendants()
  2635. for index, CHILD in pairs(CHILDREN) do
  2636. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2637. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2638. if HUM then
  2639. local TORSO = CHILD:FindFirstChild("Head")
  2640. if TORSO then
  2641. if (TORSO.Position - Head.Position).Magnitude <= 25 then
  2642. 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})
  2643. TORSO:remove()
  2644. if CHILD:FindFirstChild("Torso") then
  2645. Ragdoll(CHILD,Torso,true)
  2646. elseif CHILD:FindFirstChild("UpperTorso") then
  2647. R15Ragdoll(CHILD,true)
  2648. end
  2649. end
  2650. end
  2651. end
  2652. end
  2653. end
  2654. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0.5, 0) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2655. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-45), RAD(0), RAD(0)), 1 / Animation_Speed)
  2656. 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)
  2657. 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)
  2658. 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)
  2659. 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)
  2660. until FX.Playing == false
  2661. Speed = 16
  2662. ATTACK = false
  2663. Rooted = false
  2664. end
  2665.  
  2666. function Charge(TIME,GYRO)
  2667. local SND = CreateSound(ENERGYSOUND,Torso,6,TIME,false)
  2668. local G = nil
  2669. if GYRO == true then
  2670. G = IT("BodyGyro",RootPart)
  2671. G.D = 250
  2672. G.P = 200000
  2673. G.MaxTorque = VT(math.huge,math.huge,math.huge)
  2674. end
  2675. for i=0, TIME, 0.1 / Animation_Speed do
  2676. Swait()
  2677. if G then
  2678. G.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2679. end
  2680. 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})
  2681. 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)
  2682. 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)
  2683. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2684. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2685. 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)
  2686. 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)
  2687. end
  2688. SND:remove()
  2689. if G then
  2690. return G
  2691. end
  2692. end
  2693.  
  2694. function Corrupted_Beam()
  2695. ATTACK = true
  2696. Rooted = false
  2697. local GRAV = IT("BodyPosition",RootPart)
  2698. GRAV.D = 75
  2699. GRAV.P = 20000
  2700. GRAV.MaxForce = VT(math.huge,math.huge,math.huge)
  2701. GRAV.Position = RootPart.Position
  2702. local GYRO = Charge(2,true)
  2703. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(15,15,0))
  2704. MakeForm(BEAM,"Ball")
  2705. CreateSound(BEAMSOUND,BEAM,10,1,false)
  2706. CreateSound(BEAMSOUND,BEAM,10,0.9,false)
  2707. CreateSound(BEAMSOUND,BEAM,10,0.8,false)
  2708. for i = 1, 150 do
  2709. Swait()
  2710. BEAM.Size = BEAM.Size + VT(-0.1,-0.1,2)
  2711. ApplyAoE(BEAM.CFrame*CF(0,0,-BEAM.Size.Z/2).p,BEAM.Size.Y/2,50,200,0,false)
  2712. 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})
  2713. BEAM.CFrame = CF(Torso.Position,Torso.CFrame*CF(0,0,-1).p)*CF(0,0,-2-(BEAM.Size.Z/2))
  2714. 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)
  2715. 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)
  2716. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
  2717. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
  2718. 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)
  2719. 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)
  2720. end
  2721. GRAV:remove()
  2722. BEAM:remove()
  2723. GYRO:remove()
  2724. ATTACK = false
  2725. Rooted = false
  2726. end
  2727.  
  2728. function Corrupted_Explosion()
  2729. ATTACK = true
  2730. Rooted = true
  2731. for i=0, 1, 0.1 / Animation_Speed do
  2732. Swait()
  2733. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -0.3, 0) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.6 / Animation_Speed)
  2734. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.6 / Animation_Speed)
  2735. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  2736. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  2737. 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)
  2738. 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)
  2739. end
  2740. for i=0, 0.4, 0.1 / Animation_Speed do
  2741. Swait()
  2742. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2743. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2744. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2745. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2746. 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)
  2747. 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)
  2748. end
  2749. local BEAM = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2750. local BEAM2 = CreatePart(3, Effects, "Neon", 0, 0, "Black", "Beam", VT(0,0,0))
  2751. MakeForm(BEAM,"Ball")
  2752. MakeForm(BEAM2,"Ball")
  2753. BEAM.CFrame = CF(RootPart.Position)
  2754. BEAM2.CFrame = CF(RootPart.Position)
  2755. CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2756. for i=1, 100 do
  2757. Swait()
  2758. BEAM.Size = BEAM.Size + VT(0.7,8,0.7)
  2759. BEAM2.Size = BEAM2.Size + VT(2,2,2)
  2760. ApplyAoE(BEAM2.Position,BEAM2.Size.Z/2,5,5,15,true)
  2761. BEAM.CFrame = CF(RootPart.Position)
  2762. BEAM2.CFrame = CF(RootPart.Position)
  2763. 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})
  2764. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, -1, -0.3) * ANGLES(RAD(75), RAD(0), RAD(75)), 1 / Animation_Speed)
  2765. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 1/ Animation_Speed)
  2766. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2767. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2768. 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)
  2769. 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)
  2770. end
  2771. 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})
  2772. 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})
  2773. BEAM2:remove()
  2774. BEAM:remove()
  2775. ATTACK = false
  2776. Rooted = false
  2777. end
  2778.  
  2779. function Corrupted_Immobilization()
  2780. ATTACK = true
  2781. Rooted = true
  2782. Charge(2,false)
  2783. local SND = CreateSound(EXPLOSIONSOUND,RootPart,10,1,false)
  2784. local SND2 = CreateSound(ENERGYSOUND,RootPart,10,1,false)
  2785. for i = 1, 60 do
  2786. Swait()
  2787. ApplyAoE(RootPart.Position,i*1.3,10,20,-200,true)
  2788. SND.Pitch = SND.Pitch - 1/60
  2789. SND2.Pitch = SND.Pitch
  2790. 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})
  2791. 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})
  2792. 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})
  2793. 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)
  2794. 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)
  2795. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(-45), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2796. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-45), RAD(45), RAD(-45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2797. 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)
  2798. 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)
  2799. end
  2800. SND:remove()
  2801. SND2:remove()
  2802. ATTACK = false
  2803. Rooted = false
  2804. end
  2805.  
  2806. --//=================================\\
  2807. --|| ASSIGN THINGS TO KEYS
  2808. --\\=================================//
  2809.  
  2810. function MouseDown(Mouse)
  2811. if ATTACK == false then
  2812. Click()
  2813. end
  2814. end
  2815.  
  2816. function MouseUp(Mouse)
  2817. HOLD = false
  2818. end
  2819.  
  2820. function KeyDown(Key)
  2821. KEYHOLD = true
  2822. if Key == "z" and ATTACK == false then
  2823. Corrupted_Beam()
  2824. end
  2825.  
  2826. if Key == "e" and ATTACK == false then
  2827. ReeeEEEEEE()
  2828. end
  2829.  
  2830. if Key == "r" and ATTACK == false then
  2831. Teleport()
  2832. end
  2833.  
  2834. if Key == "q" and ATTACK == false then
  2835. Equivalent_Pain()
  2836. end
  2837.  
  2838. if Key == "x" and ATTACK == false then
  2839. Corrupted_Explosion()
  2840. end
  2841.  
  2842. if Key == "c" and ATTACK == false then
  2843. Corrupted_Immobilization()
  2844. elseif Key == "1" and ATTACK == false then
  2845. if CHOICE ~= 1 then
  2846. CHOICE = 1
  2847. sick:Play()
  2848. end
  2849. elseif Key == "2" and ATTACK == false then
  2850. if CHOICE ~= 2 then
  2851. CHOICE = 2
  2852. sick:Play()
  2853. end
  2854. elseif Key == "3" and ATTACK == false then
  2855. if CHOICE ~= 3 then
  2856. CHOICE = 3
  2857. sick:Play()
  2858. end
  2859. elseif Key == "4" and ATTACK == false then
  2860. if CHOICE ~= 4 then
  2861. CHOICE = 4
  2862. sick:Play()
  2863. end
  2864.  
  2865. end
  2866. end
  2867.  
  2868.  
  2869.  
  2870. function KeyUp(Key)
  2871. KEYHOLD = false
  2872. end
  2873.  
  2874. Mouse.Button1Down:connect(function(NEWKEY)
  2875. MouseDown(NEWKEY)
  2876. end)
  2877. Mouse.Button1Up:connect(function(NEWKEY)
  2878. MouseUp(NEWKEY)
  2879. end)
  2880. Mouse.KeyDown:connect(function(NEWKEY)
  2881. KeyDown(NEWKEY)
  2882. end)
  2883. Mouse.KeyUp:connect(function(NEWKEY)
  2884. KeyUp(NEWKEY)
  2885. end)
  2886.  
  2887. --//=================================\\
  2888. --\\=================================//
  2889.  
  2890. function unanchor()
  2891. if UNANCHOR == true then
  2892. g = Character:GetChildren()
  2893. for i = 1, #g do
  2894. if g[i].ClassName == "Part" then
  2895. g[i].Anchored = false
  2896. end
  2897. end
  2898. end
  2899. end
  2900.  
  2901. --//=================================\\
  2902. --|| WRAP THE WHOLE SCRIPT UP
  2903. --\\=================================//
  2904.  
  2905. Humanoid.Changed:connect(function(Jump)
  2906. if Jump == "Jump" and (Disable_Jump == true) then
  2907. Humanoid.Jump = false
  2908. end
  2909. end)
  2910.  
  2911. while true do
  2912. Swait()
  2913. if Humanoid then
  2914. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2915. IDLEANIMATION:Play()
  2916. end
  2917. SINE = SINE + CHANGE*2
  2918. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2919. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2920. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  2921. local WALKSPEEDVALUE = 12 / (Humanoid.WalkSpeed / 16)
  2922. HairWeld1.C1 = Clerp(HairWeld1.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 1.5 * SIN(SINE / 12) - 2.5 * COS(SINE / 12)), RAD(4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2923. HairWeld2.C1 = Clerp(HairWeld2.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 - 1.5 * SIN(SINE / 12) + 2.5 * COS(SINE / 12)), RAD(-4.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  2924. HoodWeld.C1 = Clerp(HoodWeld.C1, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0 + 0.75 * SIN(SINE / 12) - 1.75 * COS(SINE / 12)), RAD(2.75 * SIN(SINE / 12))), 1 / Animation_Speed)
  2925. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2926. 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)
  2927. 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)
  2928. 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)
  2929. 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)
  2930. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2931. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2932. 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)
  2933. 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)
  2934. 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)
  2935. end
  2936. if FULL == false then
  2937. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2938. ANIM = "Jump"
  2939. if ATTACK == false then
  2940. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  2941. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-15), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2942. end
  2943. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2944. if TAUNT == false then
  2945. LeftShoulder.C0 = Clerp(LeftShoulder.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)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2946. end
  2947. 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)
  2948. 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)
  2949. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2950. ANIM = "Fall"
  2951. if ATTACK == false then
  2952. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2953. 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.15 / Animation_Speed)
  2954. end
  2955. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(15), RAD(0), RAD(OFFSET)), 0.2 / Animation_Speed)
  2956. if TAUNT == false then
  2957. LeftShoulder.C0 = Clerp(LeftShoulder.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)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2958. end
  2959. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.25, -0.5) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.4 / Animation_Speed)
  2960. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  2961. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2962. ANIM = "Idle"
  2963. if ATTACK == false then
  2964. Torso.Neck.C0=Clerp(Torso.Neck.C0,NECKC0*ANGLES(0,math.rad(-25),0)*ANGLES(math.rad(0 - 25 * math.cos(SINE / 0.1164)),math.rad(0 - 30 * math.cos(SINE / 0.25)),math.rad(0 - 30 * math.cos(SINE / 0.465))),.1)
  2965. 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)
  2966. 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)
  2967. 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)
  2968. 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)
  2969. 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)
  2970. end
  2971. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2972. ANIM = "Walk"
  2973. if ATTACK == false then
  2974. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2975. 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)
  2976. 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)
  2977. 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)
  2978. 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)
  2979. 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)
  2980. end
  2981. end
  2982. end
  2983. unanchor()
  2984. Humanoid.MaxHealth = "inf"
  2985. Humanoid.Health = "inf"
  2986. if Rooted == false then
  2987. Disable_Jump = false
  2988. Humanoid.WalkSpeed = Speed
  2989. elseif Rooted == true then
  2990. Disable_Jump = true
  2991. Humanoid.WalkSpeed = 0
  2992. end
  2993. end
  2994. --//=================================\\
  2995. --\\=================================//
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001. --//====================================================\\--
  3002. --|| END OF SCRIPT
  3003. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement