Advertisement
Guest User

custom astra

a guest
May 20th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 75.67 KB | None | 0 0
  1. --//====================================================\\--
  2. --|| CREATED BY SHACKLUSTER
  3. --\\====================================================//--
  4.  
  5.  
  6.  
  7. wait(0.2)
  8.  
  9.  
  10.  
  11. Player = game:GetService("Players").LocalPlayer
  12. PlayerGui = Player.PlayerGui
  13. Cam = workspace.CurrentCamera
  14. Backpack = Player.Backpack
  15. Character = Player.Character
  16. Humanoid = Character.Humanoid
  17. Mouse = Player:GetMouse()
  18. RootPart = Character["HumanoidRootPart"]
  19. Torso = Character["Torso"]
  20. Head = Character["Head"]
  21. RightArm = Character["Right Arm"]
  22. LeftArm = Character["Left Arm"]
  23. RightLeg = Character["Right Leg"]
  24. LeftLeg = Character["Left Leg"]
  25. RootJoint = RootPart["RootJoint"]
  26. Neck = Torso["Neck"]
  27. RightShoulder = Torso["Right Shoulder"]
  28. LeftShoulder = Torso["Left Shoulder"]
  29. RightHip = Torso["Right Hip"]
  30. LeftHip = Torso["Left Hip"]
  31. local sick = Instance.new("Sound",Character)
  32. sick.SoundId = "rbxassetid://195900687"
  33. sick.Looped = true
  34. sick.Pitch = 1
  35. sick.Volume = 3
  36. sick:Play()
  37.  
  38. IT = Instance.new
  39. CF = CFrame.new
  40. VT = Vector3.new
  41. RAD = math.rad
  42. C3 = Color3.new
  43. UD2 = UDim2.new
  44. BRICKC = BrickColor.new
  45. ANGLES = CFrame.Angles
  46. EULER = CFrame.fromEulerAnglesXYZ
  47. COS = math.cos
  48. ACOS = math.acos
  49. SIN = math.sin
  50. ASIN = math.asin
  51. ABS = math.abs
  52. MRANDOM = math.random
  53. FLOOR = math.floor
  54.  
  55. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  56. local NEWMESH = IT(MESH)
  57. if MESH == "SpecialMesh" then
  58. NEWMESH.MeshType = MESHTYPE
  59. if MESHID ~= "nil" and MESHID ~= "" then
  60. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  61. end
  62. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  63. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  64. end
  65. end
  66. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  67. NEWMESH.Scale = SCALE
  68. NEWMESH.Parent = PARENT
  69. return NEWMESH
  70. end
  71.  
  72. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  73. local NEWPART = IT("Part")
  74. NEWPART.formFactor = FORMFACTOR
  75. NEWPART.Reflectance = REFLECTANCE
  76. NEWPART.Transparency = TRANSPARENCY
  77. NEWPART.CanCollide = false
  78. NEWPART.Locked = true
  79. NEWPART.Anchored = true
  80. if ANCHOR == false then
  81. NEWPART.Anchored = false
  82. end
  83. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  84. NEWPART.Name = NAME
  85. NEWPART.Size = SIZE
  86. NEWPART.Position = Torso.Position
  87. NEWPART.Material = MATERIAL
  88. NEWPART:BreakJoints()
  89. NEWPART.Parent = PARENT
  90. return NEWPART
  91. end
  92.  
  93. --//=================================\\
  94. --|| CUSTOMIZATION
  95. --\\=================================//
  96.  
  97. Player_Size = 1 --Size of the player.
  98. Animation_Speed = 3
  99. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  100.  
  101. local Speed = 16
  102. local Effects2 = {}
  103.  
  104. --//=================================\\
  105. --|| END OF CUSTOMIZATION
  106. --\\=================================//
  107.  
  108. local function weldBetween(a, b)
  109. local weldd = Instance.new("ManualWeld")
  110. weldd.Part0 = a
  111. weldd.Part1 = b
  112. weldd.C0 = CFrame.new()
  113. weldd.C1 = b.CFrame:inverse() * a.CFrame
  114. weldd.Parent = a
  115. return weldd
  116. end
  117.  
  118. --//=================================\\
  119. --|| USEFUL VALUES
  120. --\\=================================//
  121.  
  122. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  123. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  124. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  125. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  126. local CHANGEDEFENSE = 0
  127. local CHANGEDAMAGE = 0
  128. local CHANGEMOVEMENT = 0
  129. local ANIM = "Idle"
  130. local ATTACK = false
  131. local EQUIPPED = false
  132. local HOLD = false
  133. local COMBO = 1
  134. local Rooted = false
  135. local SINE = 0
  136. local KEYHOLD = false
  137. local CHANGE = 2 / Animation_Speed
  138. local WALKINGANIM = false
  139. local WALK = 0
  140. local VALUE1 = false
  141. local VALUE2 = false
  142. local ROBLOXIDLEANIMATION = IT("Animation")
  143. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  144. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  145. --ROBLOXIDLEANIMATION.Parent = Humanoid
  146. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  147. WEAPONGUI.Name = "Weapon GUI"
  148. local Effects = IT("Folder", Character)
  149. Effects.Name = "Effects"
  150. local ANIMATOR = Humanoid.Animator
  151. local ANIMATE = Character.Animate
  152. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  153. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  154. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  155. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  156. local UNANCHOR = true
  157.  
  158. local SKILLTEXTCOLOR = C3(0.05,0.05,0.15)
  159.  
  160. --//=================================\\
  161. --\\=================================//
  162.  
  163.  
  164. --//=================================\\
  165. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  166. --\\=================================//
  167.  
  168. ArtificialHB = Instance.new("BindableEvent", script)
  169. ArtificialHB.Name = "ArtificialHB"
  170.  
  171. script:WaitForChild("ArtificialHB")
  172.  
  173. frame = Frame_Speed
  174. tf = 0
  175. allowframeloss = false
  176. tossremainder = false
  177. lastframe = tick()
  178. script.ArtificialHB:Fire()
  179.  
  180. game:GetService("RunService").Heartbeat:connect(function(s, p)
  181. tf = tf + s
  182. if tf >= frame then
  183. if allowframeloss then
  184. script.ArtificialHB:Fire()
  185. lastframe = tick()
  186. else
  187. for i = 1, math.floor(tf / frame) do
  188. script.ArtificialHB:Fire()
  189. end
  190. lastframe = tick()
  191. end
  192. if tossremainder then
  193. tf = 0
  194. else
  195. tf = tf - frame * math.floor(tf / frame)
  196. end
  197. end
  198. end)
  199.  
  200. --//=================================\\
  201. --\\=================================//
  202.  
  203.  
  204.  
  205.  
  206.  
  207. --//=================================\\
  208. --|| SOME FUNCTIONS
  209. --\\=================================//
  210.  
  211. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  212. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  213. end
  214.  
  215. function PositiveAngle(NUMBER)
  216. if NUMBER >= 0 then
  217. NUMBER = 0
  218. end
  219. return NUMBER
  220. end
  221.  
  222. function NegativeAngle(NUMBER)
  223. if NUMBER <= 0 then
  224. NUMBER = 0
  225. end
  226. return NUMBER
  227. end
  228.  
  229. function Swait(NUMBER)
  230. if NUMBER == 0 or NUMBER == nil then
  231. ArtificialHB.Event:wait()
  232. else
  233. for i = 1, NUMBER do
  234. ArtificialHB.Event:wait()
  235. end
  236. end
  237. end
  238.  
  239. function QuaternionFromCFrame(cf)
  240. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  241. local trace = m00 + m11 + m22
  242. if trace > 0 then
  243. local s = math.sqrt(1 + trace)
  244. local recip = 0.5 / s
  245. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  246. else
  247. local i = 0
  248. if m11 > m00 then
  249. i = 1
  250. end
  251. if m22 > (i == 0 and m00 or m11) then
  252. i = 2
  253. end
  254. if i == 0 then
  255. local s = math.sqrt(m00 - m11 - m22 + 1)
  256. local recip = 0.5 / s
  257. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  258. elseif i == 1 then
  259. local s = math.sqrt(m11 - m22 - m00 + 1)
  260. local recip = 0.5 / s
  261. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  262. elseif i == 2 then
  263. local s = math.sqrt(m22 - m00 - m11 + 1)
  264. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  265. end
  266. end
  267. end
  268.  
  269. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  270. local xs, ys, zs = x + x, y + y, z + z
  271. local wx, wy, wz = w * xs, w * ys, w * zs
  272. local xx = x * xs
  273. local xy = x * ys
  274. local xz = x * zs
  275. local yy = y * ys
  276. local yz = y * zs
  277. local zz = z * zs
  278. 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))
  279. end
  280.  
  281. function QuaternionSlerp(a, b, t)
  282. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  283. local startInterp, finishInterp;
  284. if cosTheta >= 0.0001 then
  285. if (1 - cosTheta) > 0.0001 then
  286. local theta = ACOS(cosTheta)
  287. local invSinTheta = 1 / SIN(theta)
  288. startInterp = SIN((1 - t) * theta) * invSinTheta
  289. finishInterp = SIN(t * theta) * invSinTheta
  290. else
  291. startInterp = 1 - t
  292. finishInterp = t
  293. end
  294. else
  295. if (1 + cosTheta) > 0.0001 then
  296. local theta = ACOS(-cosTheta)
  297. local invSinTheta = 1 / SIN(theta)
  298. startInterp = SIN((t - 1) * theta) * invSinTheta
  299. finishInterp = SIN(t * theta) * invSinTheta
  300. else
  301. startInterp = t - 1
  302. finishInterp = t
  303. end
  304. end
  305. 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
  306. end
  307.  
  308. function Clerp(a, b, t)
  309. local qa = {QuaternionFromCFrame(a)}
  310. local qb = {QuaternionFromCFrame(b)}
  311. local ax, ay, az = a.x, a.y, a.z
  312. local bx, by, bz = b.x, b.y, b.z
  313. local _t = 1 - t
  314. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  315. end
  316.  
  317. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  318. local frame = IT("Frame")
  319. frame.BackgroundTransparency = TRANSPARENCY
  320. frame.BorderSizePixel = BORDERSIZEPIXEL
  321. frame.Position = POSITION
  322. frame.Size = SIZE
  323. frame.BackgroundColor3 = COLOR
  324. frame.BorderColor3 = BORDERCOLOR
  325. frame.Name = NAME
  326. frame.Parent = PARENT
  327. return frame
  328. end
  329.  
  330. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  331. local label = IT("TextLabel")
  332. label.BackgroundTransparency = 1
  333. label.Size = UD2(1, 0, 1, 0)
  334. label.Position = UD2(0, 0, 0, 0)
  335. label.TextColor3 = TEXTCOLOR
  336. label.TextStrokeTransparency = STROKETRANSPARENCY
  337. label.TextTransparency = TRANSPARENCY
  338. label.FontSize = TEXTFONTSIZE
  339. label.Font = TEXTFONT
  340. label.BorderSizePixel = BORDERSIZEPIXEL
  341. label.TextScaled = false
  342. label.Text = TEXT
  343. label.Name = NAME
  344. label.Parent = PARENT
  345. return label
  346. end
  347.  
  348. function NoOutlines(PART)
  349. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  350. end
  351.  
  352.  
  353. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  354. local NEWWELD = IT(TYPE)
  355. NEWWELD.Part0 = PART0
  356. NEWWELD.Part1 = PART1
  357. NEWWELD.C0 = C0
  358. NEWWELD.C1 = C1
  359. NEWWELD.Parent = PARENT
  360. return NEWWELD
  361. end
  362.  
  363. function CreateSound(ID, PARENT, VOLUME, PITCH)
  364. local NEWSOUND = nil
  365. coroutine.resume(coroutine.create(function()
  366. NEWSOUND = IT("Sound", PARENT)
  367. NEWSOUND.Volume = VOLUME
  368. NEWSOUND.Pitch = PITCH
  369. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  370. Swait()
  371. NEWSOUND:play()
  372. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  373. end))
  374. return NEWSOUND
  375. end
  376.  
  377. function CFrameFromTopBack(at, top, back)
  378. local right = top:Cross(back)
  379. 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)
  380. end
  381.  
  382. function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  383. local wave = CreatePart(3, Effects, "Red", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  384. wave.Color = COLOR
  385. local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  386. wave.CFrame = CFRAME
  387. coroutine.resume(coroutine.create(function(PART)
  388. for i = 1, WAIT do
  389. Swait()
  390. mesh.Scale = mesh.Scale + GROW
  391. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  392. if DOESROT == true then
  393. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  394. end
  395. wave.Transparency = wave.Transparency + (0.5/WAIT)
  396. if wave.Transparency > 0.99 then
  397. wave:remove()
  398. end
  399. end
  400. end))
  401. end
  402.  
  403. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  404. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  405. wave.Color = COLOR
  406. local mesh = CreateMesh("SpecialMesh", wave, "Sphere", "", "", SIZE, VT(0,0,0))
  407. wave.CFrame = CFRAME
  408. coroutine.resume(coroutine.create(function(PART)
  409. for i = 1, WAIT do
  410. Swait()
  411. mesh.Scale = mesh.Scale + GROW
  412. wave.Transparency = wave.Transparency + (1/WAIT)
  413. if wave.Transparency > 0.99 then
  414. wave:remove()
  415. end
  416. end
  417. end))
  418. end
  419.  
  420. function Slice(KIND,SIZE,WAIT,CFRAME,COLOR,GROW)
  421. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  422. local mesh = nil
  423. if KIND == "Base" then
  424. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
  425. elseif KIND == "Thin" then
  426. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662586858", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  427. elseif KIND == "Round" then
  428. mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "662585058", "", VT(SIZE/10,0,SIZE/10), VT(0,0,0))
  429. end
  430. wave.CFrame = CFRAME
  431. coroutine.resume(coroutine.create(function(PART)
  432. for i = 1, WAIT do
  433. Swait()
  434. mesh.Scale = mesh.Scale + GROW/10
  435. wave.Transparency = wave.Transparency + (0.5/WAIT)
  436. if wave.Transparency > 0.99 then
  437. wave:remove()
  438. end
  439. end
  440. end))
  441. end
  442.  
  443. function MakeForm(PART,TYPE)
  444. if TYPE == "Cyl" then
  445. local MSH = IT("CylinderMesh",PART)
  446. elseif TYPE == "Ball" then
  447. local MSH = IT("SpecialMesh",PART)
  448. MSH.MeshType = "Sphere"
  449. elseif TYPE == "Wedge" then
  450. local MSH = IT("SpecialMesh",PART)
  451. MSH.MeshType = "Wedge"
  452. end
  453. end
  454.  
  455. function CheckTableForString(Table, String)
  456. for i, v in pairs(Table) do
  457. if string.find(string.lower(String), string.lower(v)) then
  458. return true
  459. end
  460. end
  461. return false
  462. end
  463.  
  464. function CheckIntangible(Hit)
  465. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  466. if Hit and Hit.Parent then
  467. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  468. return true
  469. end
  470. end
  471. return false
  472. end
  473.  
  474. Debris = game:GetService("Debris")
  475.  
  476. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  477. local Direction = CFrame.new(StartPos, Vec).lookVector
  478. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  479. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  480. if RayHit and CheckIntangible(RayHit) then
  481. if DelayIfHit then
  482. wait()
  483. end
  484. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  485. end
  486. return RayHit, RayPos, RayNormal
  487. end
  488.  
  489. function FireArc(Part,ToLocation,AmountOfTime,Height,DoesCourontine)
  490. if DoesCourontine == false then
  491. local Direction = CF(Part.Position,ToLocation)
  492. local Distance = (Part.Position - ToLocation).magnitude
  493. for i = 1, AmountOfTime do
  494. Swait()
  495. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  496. Direction = Part.CFrame
  497. end
  498. Part:remove()
  499. elseif DoesCourontine == true then
  500. coroutine.resume(coroutine.create(function()
  501. local Direction = CF(Part.Position,ToLocation)
  502. local Distance = (Part.Position - ToLocation).magnitude
  503. for i = 1, AmountOfTime do
  504. Swait()
  505. Part.CFrame = Direction*CF(0,(AmountOfTime/200)+((AmountOfTime/Height)-((i*2)/Height)),-Distance/AmountOfTime)
  506. Direction = Part.CFrame
  507. end
  508. Part:remove()
  509. end))
  510. end
  511. end
  512.  
  513. function turnto(position)
  514. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  515. end
  516.  
  517. --//=================================\\
  518. --|| WEAPON CREATION
  519. --\\=================================//
  520.  
  521. local naeeym2 = Instance.new("BillboardGui",Character)
  522. naeeym2.AlwaysOnTop = true
  523. naeeym2.Size = UDim2.new(5,35,2,15)
  524. naeeym2.StudsOffset = Vector3.new(0,3,0)
  525. naeeym2.Adornee = Character.Head
  526. naeeym2.Name = "Name"
  527. naeeym2.PlayerToHideFrom = Player
  528. local tecks2 = Instance.new("TextLabel",naeeym2)
  529. tecks2.BackgroundTransparency = 1
  530. tecks2.TextScaled = true
  531. tecks2.BorderSizePixel = 0
  532. tecks2.Text = "Dominus Astra"
  533. tecks2.Font = "Fantasy"
  534. tecks2.TextSize = 30
  535. tecks2.TextStrokeTransparency = 0
  536. tecks2.TextColor3 = Color3.new(0.05,0.05,0.15)
  537. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  538. tecks2.Size = UDim2.new(1,0,0.5,0)
  539. tecks2.Parent = naeeym2
  540.  
  541. function Transparency(TRANS)
  542. tecks2.TextTransparency = TRANS
  543. tecks2.TextStrokeTransparency = TRANS
  544. for _, c in pairs(Character:GetChildren()) do
  545. if c.ClassName == "Part" and c ~= RootPart then
  546. c.Transparency = TRANS
  547. if c:FindFirstChildOfClass("Decal") then
  548. c:FindFirstChildOfClass("Decal").Transparency = TRANS
  549. end
  550. elseif c.ClassName == "Accessory" then
  551. c.Handle.Transparency = TRANS
  552. elseif c.ClassName == "Model" then
  553. for _, q in pairs(c:GetChildren()) do
  554. if q.ClassName == "Part" then
  555. q.Transparency = TRANS
  556. if q:FindFirstChildOfClass("Decal") then
  557. q:FindFirstChildOfClass("Decal").Transparency = TRANS
  558. end
  559. end
  560. end
  561. end
  562. end
  563. end
  564.  
  565. Humanoid.Died:connect(function()
  566. Humanoid.Parent = nil
  567. Humanoid.MaxHealth = "inf"
  568. Humanoid.Health = "inf"
  569. refit()
  570. Humanoid.Parent = Character
  571. CreateSound("907330011", Head, 10, 1.2)
  572. end)
  573.  
  574. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  575. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  576. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  577. local SKILLEFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Warp Frame")
  578.  
  579. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Lunar Blast", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 1")
  580. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Star Cutter", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 2")
  581. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Supernova", SKILLTEXTCOLOR, 10, "Fantasy", 0, 2, 0, "Text 3")
  582. local SKILLETEXT = CreateLabel(SKILLEFRAME, "[Q] Astral Hop", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text Warp")
  583.  
  584. --//=================================\\
  585. --|| DAMAGING
  586. --\\=================================//
  587.  
  588. function killnearest(position,range,maxstrength)
  589. for i,v in ipairs(workspace:GetChildren()) do
  590. local body = v:GetChildren()
  591. for part = 1, #body do
  592. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  593. if(body[part].Position - position).Magnitude < range then
  594. if v.ClassName == "Model" then
  595. v:BreakJoints()
  596. end
  597. --table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  598. local bv = Instance.new("BodyVelocity")
  599. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  600. bv.velocity = CF(position,body[part].Position).lookVector*maxstrength
  601. bv.Parent = body[part]
  602. Debris:AddItem(bv,0.2)
  603. end
  604. end
  605. end
  606. if v.ClassName == "Part" then
  607. if v.Anchored == false and (v.Position - position).Magnitude < range then
  608. --table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  609. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  610. end
  611. end
  612. end
  613. end
  614.  
  615. --//=================================\\
  616. --|| ATTACK FUNCTIONS AND STUFF
  617. --\\=================================//
  618.  
  619. function Lunar_Blast()
  620. local HITBODIES = {}
  621. local CENTER = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly red", "CenterPart", VT(0,0,0))
  622. local HITFLOOR,ECH,NORMAL = Raycast(Mouse.Hit.p+VT(0,2,0), (CF(Mouse.Hit.p, Mouse.Hit.p + VT(0, -1, 0))).lookVector, 10000000, Character)
  623. CENTER.CFrame = CF(ECH)
  624. local RAY = CreatePart(3, Effects, "Neon", 0, 1, "Relly red", "Laser01", VT(25,99999,25))
  625. RAY.Color = C3(0.05,0.05,0.15)
  626. MakeForm(RAY,"Cyl")
  627. RAY.CFrame = CF(ECH)
  628. for i = 1, 75 do
  629. Swait()
  630. RAY.Transparency = RAY.Transparency - 1/75
  631. RAY.Size = RAY.Size - VT(25/75,0,25/75)
  632. MagicSphere(VT(1,1,1),15,CF(ECH)*CF(MRANDOM(-15,15),MRANDOM(0,100),MRANDOM(-15,15)),C3(1,1,1),VT(0,0,0))
  633. end
  634. killnearest(ECH,25,25)
  635. MagicSphere(VT(0,0,0),55,CF(ECH),C3(0.05,0.05,0.15),VT(2,2,2))
  636. for i = 1, 25 do
  637. MagicSphere(VT(1,1,1),i*3,CF(ECH)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
  638. end
  639. CreateSound("168586621", CENTER, 10, 0.8)
  640. RAY:remove()
  641. Debris:AddItem(CENTER,5)
  642. end
  643.  
  644. function Star_Cutter()
  645. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  646. if HITFLOOR ~= nil then
  647. ATTACK = true
  648. Rooted = true
  649. local GYRO = IT("BodyGyro",RootPart)
  650. GYRO.D = 100
  651. GYRO.P = 2000
  652. GYRO.MaxTorque = VT(0,4000000,0)
  653. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  654. CreateSound("429459101", RightArm, 10, 0.8)
  655. for i=0, 3.5, 0.1 / Animation_Speed do
  656. Swait()
  657. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  658. Slice("Thin",0.3,5,RightArm.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-0.01,0,-0.01))
  659. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(-15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  660. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  661. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-45), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(32 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  662. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(5), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  663. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  664. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  665. end
  666. GYRO:remove()
  667. for i=0, 0.15, 0.1 / Animation_Speed do
  668. Swait()
  669. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  670. Slice("Thin",0.3,5,RightArm.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),"Really red",VT(-0.01,0,-0.01))
  671. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(85 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  672. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-85 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  673. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(90 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  674. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(5), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  675. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  676. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  677. end
  678. local BOMBSPOTS = {}
  679. for i = 1, 25 do
  680. local SPOT = CreatePart(3, Effects, "Really red", 0, 0, "Relly red", "Blade", VT(8,1,8))
  681. SPOT.Color = SKILLTEXTCOLOR
  682. SPOT.CFrame = RootPart.CFrame*CF((MRANDOM(-15,15)/40)*i,-5,-i*5)
  683. table.insert(BOMBSPOTS,SPOT)
  684. MakeForm(SPOT,"Cyl")
  685. end
  686. for i=0, 0.2, 0.1 / Animation_Speed do
  687. Swait()
  688. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(85 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  689. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-85 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  690. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(145), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-15 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  691. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  692. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  693. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  694. end
  695. ATTACK = false
  696. Rooted = false
  697. coroutine.resume(coroutine.create(function()
  698. Swait(3)
  699. for i = 1, #BOMBSPOTS do
  700. if BOMBSPOTS[i] ~= nil then
  701. local E = BOMBSPOTS[i]
  702. coroutine.resume(coroutine.create(function()
  703. local BLADE = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Relly blue", "Blade", VT(0,0,0))
  704. BLADE.Color = SKILLTEXTCOLOR
  705. CreateMesh("SpecialMesh", BLADE, "FileMesh", "93108071", "", VT(0.6,1,0.4)*3, VT(0,0,0))
  706. CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], BLADE, 4, 0.6)
  707. BLADE.CFrame = E.CFrame*CF(0,-3,0)*ANGLES(RAD(MRANDOM(-15,15)),RAD(90),RAD(MRANDOM(-15,15)))
  708. for i = 1, 10 do
  709. Swait()
  710. MagicSphere(VT(1,1,1)/5,65,CF(E.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,MRANDOM(3,6),0),C3(1,1,1),VT(0,0,0))
  711. killnearest(BLADE.Position,6,80)
  712. BLADE.CFrame = BLADE.CFrame*CF(0,0.3,0)
  713. BLADE.Transparency = BLADE.Transparency - 0.1
  714. end
  715. Swait(45)
  716. for i = 1, 100 do
  717. Swait()
  718. BLADE.Transparency = BLADE.Transparency + 0.01
  719. E.Transparency = E.Transparency + 0.01
  720. end
  721. BLADE:remove()
  722. E:remove()
  723. end))
  724. end
  725. end
  726. end))
  727. end
  728. end
  729.  
  730. function Supernova()
  731. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  732. if HITFLOOR ~= nil then
  733. local HITBODIES = {}
  734. ATTACK = true
  735. Rooted = true
  736. local ABSOLUTE = CreatePart(3, Effects, "Really red", 0, 1, "Relly red", "Star", VT(0,0,0))
  737. MakeForm(ABSOLUTE,"Ball")
  738. CreateSound("429459101", ABSOLUTE, 10, 1)
  739. for i=0, 4, 0.1 / Animation_Speed do
  740. Swait()
  741. ABSOLUTE.Size = ABSOLUTE.Size + VT(0.2,0.2,0.2)
  742. ABSOLUTE.CFrame = RootPart.CFrame*CF(0,5+(ABSOLUTE.Size.Y/2),0)
  743. ABSOLUTE.Transparency = ABSOLUTE.Transparency - 0.01
  744. local CHARGE = CreatePart(3, Effects, "Neon", 0, 0, "Really red", "Star", VT(1,1,1))
  745. MakeForm(CHARGE,"Ball")
  746. CHARGE.Color = C3(1,1,1)
  747. CHARGE.CFrame = CF(RootPart.Position) * CF(MRANDOM(-15,15),-6,MRANDOM(-15,15))
  748. FireArc(CHARGE,ABSOLUTE.Position,45,45,true)
  749. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  750. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  751. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  752. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  753. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  754. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  755. end
  756. CreateSound("907330103", Head, 10, 1.2)
  757. for i = 1, 75 do
  758. Swait()
  759. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(15 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  760. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(25), RAD(-15 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  761. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 1.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(170), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(-12 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  762. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  763. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  764. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  765. end
  766. coroutine.resume(coroutine.create(function()
  767. for i = 1, 13 do
  768. for e = 1, 8 do
  769. Swait()
  770. MagicSphere(VT(1,1,1),15,CF(ABSOLUTE.Position)*CF(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45)),C3(1,1,1),VT(0,0,0))
  771. CreateSwirl(ABSOLUTE.Size/2,15,CF(HITPOS),true,15,BRICKC"Slime green".Color,VT(i,0.3,i)*2)
  772. end
  773. for i = 1, 5 do
  774. Slice("Round",0,35,CF(ABSOLUTE.Position)*ANGLES(RAD(MRANDOM(-18,18)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-18,18))),C3(1,1,1),VT(i,0,i)/3)
  775. Slice("Thin",i,55,ABSOLUTE.CFrame * CF(0,-1.1,0) * ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180))),C3(1,0,0),VT(0,0,0))
  776. end
  777. CreateSwirl(ABSOLUTE.Size/2,25,CF(ABSOLUTE.Position),true,-25,BRICKC"Relly red".Color,VT(i,i*2,i))
  778. CreateSwirl(ABSOLUTE.Size/2,55,CF(ABSOLUTE.Position),true,25,C3(0.05,0.05,0.15),VT(i,i*2,i))
  779. CreateSound("168586621", ABSOLUTE, 4, 0.8)
  780. CreateSound("201858144", ABSOLUTE, 10, 0.8)
  781. killnearest(ABSOLUTE.Position,i*18,i)
  782. ABSOLUTE.Size = ABSOLUTE.Size*0.9
  783. MagicSphere(ABSOLUTE.Size,25,CF(ABSOLUTE.Position),BRICKC"Relly red".Color,VT(i,i,i)/1.1)
  784. MagicSphere(ABSOLUTE.Size,45,CF(ABSOLUTE.Position),C3(0.05,0.05,0.15),VT(i,i,i))
  785. end
  786. ABSOLUTE.Transparency = 1
  787. Debris:AddItem(ABSOLUTE,10)
  788. end))
  789. ATTACK = false
  790. Rooted = false
  791. end
  792. end
  793.  
  794. local Decal = IT("Decal")
  795.  
  796. function Astral_Hop()
  797. ATTACK = true
  798. Rooted = false
  799. local O1 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  800. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(0),RAD(0))
  801. local decal = Decal:Clone()
  802. decal.Parent = O1
  803. decal.Face = "Top"
  804. decal.Texture = "http://www.roblox.com/asset/?id=349165228"
  805. local decal2 = Decal:Clone()
  806. decal2.Parent = O1
  807. decal2.Face = "Bottom"
  808. decal2.Texture = "http://www.roblox.com/asset/?id=349165228"
  809. local O2 = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  810. local POS = VT(RootPart.Position.X,Mouse.Hit.p.Y+6,RootPart.Position.Z)
  811. O2.CFrame = CF(Mouse.Hit.p+VT(0,6,0),POS)*ANGLES(RAD(90),RAD(0),RAD(0))
  812. local ROOT = CreatePart(3, Effects, "Neon", 0, 1, "Really red", "Warphole", VT(0,0,0))
  813. ROOT.CFrame = CF(O2.Position,RootPart.Position)
  814. local decal = Decal:Clone()
  815. decal.Parent = O2
  816. decal.Face = "Top"
  817. decal.Texture = "http://www.roblox.com/asset/?id=349165228"
  818. local decal2 = Decal:Clone()
  819. decal2.Parent = O2
  820. decal2.Face = "Bottom"
  821. decal2.Texture = "http://www.roblox.com/asset/?id=349165228"
  822. CreateSound("84005018", O1, 10, 0.7)
  823. CreateSound("84005018", O2, 10, 0.7)
  824. for i = 1, 75 do
  825. Swait()
  826. O1.Size = O1.Size + VT(0.1,0,0.1)
  827. O1.CFrame = RootPart.CFrame*CF(0,0,-3)*ANGLES(RAD(90),RAD(i),RAD(0))
  828. O2.Size = O2.Size + VT(0.1,0,0.1)
  829. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  830. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  831. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  832. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  833. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(90), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  834. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  835. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  836. end
  837. Rooted = true
  838. UNANCHOR = false
  839. RootPart.Anchored = true
  840. VALUE1 = true
  841. for i = 1, 15 do
  842. Transparency(i/15)
  843. Swait()
  844. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.13)
  845. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  846. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  847. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  848. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  849. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  850. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  851. end
  852. RootPart.CFrame = ROOT.CFrame
  853. ROOT:remove()
  854. for i = 1, 15 do
  855. Transparency(1-(i/15))
  856. Swait()
  857. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.5)
  858. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(16 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  859. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  860. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  861. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-15), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  862. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  863. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  864. end
  865. VALUE1 = false
  866. coroutine.resume(coroutine.create(function()
  867. for i = 1, 75 do
  868. Swait()
  869. O1.Size = O1.Size - VT(0.1,0,0.1)
  870. O1.CFrame = O1.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  871. O2.Size = O2.Size - VT(0.1,0,0.1)
  872. O2.CFrame = O2.CFrame*ANGLES(RAD(0),RAD(i),RAD(0))
  873. end
  874. O1:remove()
  875. O2:remove()
  876. end))
  877. UNANCHOR = true
  878. RootPart.Anchored = false
  879. ATTACK = false
  880. Rooted = false
  881. end
  882.  
  883. --//=================================\\
  884. --|| ASSIGN THINGS TO KEYS
  885. --\\=================================//
  886.  
  887. function MouseDown(Mouse)
  888. if ATTACK == false then
  889. end
  890. end
  891.  
  892. function MouseUp(Mouse)
  893. HOLD = false
  894. end
  895.  
  896. function KeyDown(Key)
  897. KEYHOLD = true
  898. if Key == "z" and ATTACK == false then
  899. Lunar_Blast()
  900. end
  901.  
  902. if Key == "b" and ATTACK == false then
  903. Star_Cutter()
  904. end
  905.  
  906. if Key == "c" and ATTACK == false then
  907. Supernova()
  908. end
  909.  
  910. if Key == "q" and ATTACK == false then
  911. Astral_Hop()
  912. end
  913. end
  914.  
  915. function KeyUp(Key)
  916. KEYHOLD = false
  917. end
  918.  
  919. Mouse.Button1Down:connect(function(NEWKEY)
  920. MouseDown(NEWKEY)
  921. end)
  922. Mouse.Button1Up:connect(function(NEWKEY)
  923. MouseUp(NEWKEY)
  924. end)
  925. Mouse.KeyDown:connect(function(NEWKEY)
  926. KeyDown(NEWKEY)
  927. end)
  928. Mouse.KeyUp:connect(function(NEWKEY)
  929. KeyUp(NEWKEY)
  930. end)
  931.  
  932. --//=================================\\
  933. --\\=================================//
  934.  
  935.  
  936. function unanchor()
  937. if UNANCHOR == true then
  938. g = Character:GetChildren()
  939. for i = 1, #g do
  940. if g[i].ClassName == "Part" then
  941. g[i].Anchored = false
  942. end
  943. end
  944. end
  945. end
  946.  
  947.  
  948. --//=================================\\
  949. --|| WRAP THE WHOLE SCRIPT UP
  950. --\\=================================//
  951.  
  952. Humanoid.Changed:connect(function(Jump)
  953. if Jump == "Jump" and (Disable_Jump == true) then
  954. Humanoid.Jump = false
  955. end
  956. end)
  957.  
  958. Humanoid.HipHeight = 2
  959. Head:ClearAllChildren()
  960. local FF = IT("ForceField",Character)
  961. FF.Visible = false
  962. Speed = 35
  963.  
  964. function refit()
  965. RootJoint.Parent = RootPart
  966. Neck.Parent = Torso
  967. RightShoulder.Parent = Torso
  968. LeftShoulder.Parent = Torso
  969. RightHip.Parent = Torso
  970. LeftHip.Parent = Torso
  971. RootPart.Parent = Character
  972. LeftArm.Parent = Character
  973. RightArm.Parent = Character
  974. RightLeg.Parent = Character
  975. LeftLeg.Parent = Character
  976. Torso.Parent = Character
  977. Head.Parent = Character
  978. end
  979.  
  980. local FOUNDFORGOTTEN = false
  981.  
  982. while true do
  983. Swait()
  984. ANIMATE.Parent = nil
  985. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  986. IDLEANIMATION:Play()
  987. SINE = SINE + CHANGE
  988. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  989. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  990. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  991. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 7 * Player_Size, Character)
  992. if ATTACK == false then
  993. if TORSOVELOCITY < 1 then
  994. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(4 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  995. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  996. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(5 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  997. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-5 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  998. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  999. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1000. elseif TORSOVELOCITY > 1 then
  1001. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(5 + 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1002. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-5 - 2.5 * SIN(SINE / 12))), 1 / Animation_Speed)
  1003. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 - 2.5 * SIN(SINE / 12)), RAD(15 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1004. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.25 * COS(SINE / 12), 0) * ANGLES(RAD(-25), RAD(0 + 2.5 * SIN(SINE / 12)), RAD(-15 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1005. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(-25-2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 5.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1006. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(-2.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  1007. end
  1008. end
  1009. unanchor()
  1010. Humanoid.MaxHealth = "inf"
  1011. Humanoid.Health = "inf"
  1012. if Rooted == false then
  1013. Disable_Jump = false
  1014. Humanoid.WalkSpeed = Speed
  1015. elseif Rooted == true then
  1016. Disable_Jump = true
  1017. Humanoid.WalkSpeed = 0
  1018. end
  1019. for _, c in pairs(Character:GetChildren()) do
  1020. if c.ClassName == "Part" then
  1021. c.Material = "Neon"
  1022. if c:FindFirstChildOfClass("ParticleEmitter") then
  1023. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1024. end
  1025. if c == Torso then
  1026. c.Color = C3(0,0,0)
  1027. elseif c == RightArm then
  1028. c.Color = C3(0.05,0.05,0.15)
  1029. elseif c == LeftArm then
  1030. c.Color = C3(0.05,0.05,0.15)
  1031. elseif c == RightLeg then
  1032. c.Color = C3(0,0,0.05)
  1033. elseif c == LeftLeg then
  1034. c.Color = C3(0,0,0.05)
  1035. elseif c == Head then
  1036. if c:FindFirstChild("Dominus") == nil then
  1037. local M = CreateMesh("SpecialMesh", c, "FileMesh", "162384581", "162384608", VT(1,1,1)*1.1, VT(0,0,0))
  1038. M.Name = "Dominus"
  1039. end
  1040. if c:FindFirstChild("face") then
  1041. c.face:remove()
  1042. end
  1043. end
  1044. elseif c.ClassName == "Shirt" or c.ClassName == "Pants" or c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  1045. c:remove()
  1046. end
  1047. end
  1048. FF.Parent = Character
  1049. sick.Parent = Character
  1050. refit()
  1051. script.Parent = WEAPONGUI
  1052. Character.Parent = workspace
  1053. Humanoid.PlatformStand = false
  1054. Humanoid.Name = "Astra"
  1055. for _, c in pairs(game.Players:GetChildren()) do
  1056. if c.Character ~= nil then
  1057. if c.Character.Parent ~= workspace and c.Character.Parent ~= nil then
  1058. c.Character:BreakJoints()
  1059. end
  1060. end
  1061. end
  1062. FOUNDFORGOTTEN = false
  1063. Humanoid.DisplayDistanceType = "None"
  1064. for _, c in pairs(workspace:GetChildren()) do
  1065. if c.ClassName == "Model" then
  1066. for _, q in pairs(c:GetChildren()) do
  1067. if q.Name == ("Forgotten Dominus") then
  1068. FOUNDFORGOTTEN = true
  1069. end
  1070. end
  1071. end
  1072. end
  1073. if FOUNDFORGOTTEN == true then
  1074. sick:Stop()
  1075. else
  1076. sick.Playing = true
  1077. end
  1078. if VALUE1 == false then
  1079. MagicSphere(VT(1,1,1)/5,35,CF(Torso.Position)*ANGLES(RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)),RAD(MRANDOM(-180,180)))*CF(0,MRANDOM(3,6),0),C3(1,1,1),VT(0,0,0))
  1080.  
  1081. --//=================================\\
  1082. --|| USEFUL VALUES
  1083. --\\=================================//
  1084.  
  1085. Animation_Speed = 3
  1086. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  1087. local Speed = 25
  1088. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1089. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1090. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  1091. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  1092. local DAMAGEMULTIPLIER = 1
  1093. local ANIM = "Idle"
  1094. local ATTACK = false
  1095. local EQUIPPED = false
  1096. local HOLD = false
  1097. local COMBO = 1
  1098. local Rooted = false
  1099. local SINE = 0
  1100. local KEYHOLD = false
  1101. local CHANGE = 2 / Animation_Speed
  1102. local WALKINGANIM = false
  1103. local VALUE1 = false
  1104. local VALUE2 = false
  1105. local ROBLOXIDLEANIMATION = IT("Animation")
  1106. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  1107. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  1108. --ROBLOXIDLEANIMATION.Parent = Humanoid
  1109. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  1110. WEAPONGUI.Name = "Weapon GUI"
  1111. local Effects = IT("Folder", Character)
  1112. Effects.Name = "Effects"
  1113. local ANIMATOR = Humanoid.Animator
  1114. local ANIMATE = Character.Animate
  1115. local UNANCHOR = true
  1116. local PLAYMAINANIM = true
  1117. local BOLTSOUNDS = {168586621,168586586,178452241}
  1118.  
  1119. --//=================================\\
  1120. --\\=================================//
  1121.  
  1122.  
  1123. --//=================================\\
  1124. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  1125. --\\=================================//
  1126.  
  1127. ArtificialHB = Instance.new("BindableEvent", script)
  1128. ArtificialHB.Name = "ArtificialHB"
  1129.  
  1130. script:WaitForChild("ArtificialHB")
  1131.  
  1132. frame = Frame_Speed
  1133. tf = 0
  1134. allowframeloss = false
  1135. tossremainder = false
  1136. lastframe = tick()
  1137. script.ArtificialHB:Fire()
  1138.  
  1139. game:GetService("RunService").Heartbeat:connect(function(s, p)
  1140. tf = tf + s
  1141. if tf >= frame then
  1142. if allowframeloss then
  1143. script.ArtificialHB:Fire()
  1144. lastframe = tick()
  1145. else
  1146. for i = 1, math.floor(tf / frame) do
  1147. script.ArtificialHB:Fire()
  1148. end
  1149. lastframe = tick()
  1150. end
  1151. if tossremainder then
  1152. tf = 0
  1153. else
  1154. tf = tf - frame * math.floor(tf / frame)
  1155. end
  1156. end
  1157. end)
  1158.  
  1159. --//=================================\\
  1160. --\\=================================//
  1161.  
  1162. --//=================================\\
  1163. --|| SOME FUNCTIONS
  1164. --\\=================================//
  1165.  
  1166. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1167. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1168. end
  1169.  
  1170. function PositiveAngle(NUMBER)
  1171. if NUMBER >= 0 then
  1172. NUMBER = 0
  1173. end
  1174. return NUMBER
  1175. end
  1176.  
  1177. function NegativeAngle(NUMBER)
  1178. if NUMBER <= 0 then
  1179. NUMBER = 0
  1180. end
  1181. return NUMBER
  1182. end
  1183.  
  1184. function Swait(NUMBER)
  1185. if NUMBER == 0 or NUMBER == nil then
  1186. ArtificialHB.Event:wait()
  1187. else
  1188. for i = 1, NUMBER do
  1189. ArtificialHB.Event:wait()
  1190. end
  1191. end
  1192. end
  1193.  
  1194. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1195. local NEWMESH = IT(MESH)
  1196. if MESH == "SpecialMesh" then
  1197. NEWMESH.MeshType = MESHTYPE
  1198. if MESHID ~= "nil" and MESHID ~= "" then
  1199. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1200. end
  1201. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1202. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1203. end
  1204. end
  1205. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1206. NEWMESH.Scale = SCALE
  1207. NEWMESH.Parent = PARENT
  1208. return NEWMESH
  1209. end
  1210.  
  1211. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1212. local NEWPART = IT("Part")
  1213. NEWPART.formFactor = FORMFACTOR
  1214. NEWPART.Reflectance = REFLECTANCE
  1215. NEWPART.Transparency = TRANSPARENCY
  1216. NEWPART.CanCollide = false
  1217. NEWPART.Locked = true
  1218. NEWPART.Anchored = true
  1219. if ANCHOR == false then
  1220. NEWPART.Anchored = false
  1221. end
  1222. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1223. NEWPART.Name = NAME
  1224. NEWPART.Size = SIZE
  1225. NEWPART.Position = Torso.Position
  1226. NEWPART.Material = MATERIAL
  1227. NEWPART:BreakJoints()
  1228. NEWPART.Parent = PARENT
  1229. return NEWPART
  1230. end
  1231.  
  1232. local function weldBetween(a, b)
  1233. local weldd = Instance.new("ManualWeld")
  1234. weldd.Part0 = a
  1235. weldd.Part1 = b
  1236. weldd.C0 = CFrame.new()
  1237. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1238. weldd.Parent = a
  1239. return weldd
  1240. end
  1241.  
  1242.  
  1243. function QuaternionFromCFrame(cf)
  1244. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1245. local trace = m00 + m11 + m22
  1246. if trace > 0 then
  1247. local s = math.sqrt(1 + trace)
  1248. local recip = 0.5 / s
  1249. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1250. else
  1251. local i = 0
  1252. if m11 > m00 then
  1253. i = 1
  1254. end
  1255. if m22 > (i == 0 and m00 or m11) then
  1256. i = 2
  1257. end
  1258. if i == 0 then
  1259. local s = math.sqrt(m00 - m11 - m22 + 1)
  1260. local recip = 0.5 / s
  1261. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1262. elseif i == 1 then
  1263. local s = math.sqrt(m11 - m22 - m00 + 1)
  1264. local recip = 0.5 / s
  1265. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1266. elseif i == 2 then
  1267. local s = math.sqrt(m22 - m00 - m11 + 1)
  1268. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1269. end
  1270. end
  1271. end
  1272.  
  1273. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1274. local xs, ys, zs = x + x, y + y, z + z
  1275. local wx, wy, wz = w * xs, w * ys, w * zs
  1276. local xx = x * xs
  1277. local xy = x * ys
  1278. local xz = x * zs
  1279. local yy = y * ys
  1280. local yz = y * zs
  1281. local zz = z * zs
  1282. 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))
  1283. end
  1284.  
  1285. function QuaternionSlerp(a, b, t)
  1286. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1287. local startInterp, finishInterp;
  1288. if cosTheta >= 0.0001 then
  1289. if (1 - cosTheta) > 0.0001 then
  1290. local theta = ACOS(cosTheta)
  1291. local invSinTheta = 1 / SIN(theta)
  1292. startInterp = SIN((1 - t) * theta) * invSinTheta
  1293. finishInterp = SIN(t * theta) * invSinTheta
  1294. else
  1295. startInterp = 1 - t
  1296. finishInterp = t
  1297. end
  1298. else
  1299. if (1 + cosTheta) > 0.0001 then
  1300. local theta = ACOS(-cosTheta)
  1301. local invSinTheta = 1 / SIN(theta)
  1302. startInterp = SIN((t - 1) * theta) * invSinTheta
  1303. finishInterp = SIN(t * theta) * invSinTheta
  1304. else
  1305. startInterp = t - 1
  1306. finishInterp = t
  1307. end
  1308. end
  1309. 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
  1310. end
  1311.  
  1312. function Clerp(a, b, t)
  1313. local qa = {QuaternionFromCFrame(a)}
  1314. local qb = {QuaternionFromCFrame(b)}
  1315. local ax, ay, az = a.x, a.y, a.z
  1316. local bx, by, bz = b.x, b.y, b.z
  1317. local _t = 1 - t
  1318. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1319. end
  1320.  
  1321. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1322. local frame = IT("Frame")
  1323. frame.BackgroundTransparency = TRANSPARENCY
  1324. frame.BorderSizePixel = BORDERSIZEPIXEL
  1325. frame.Position = POSITION
  1326. frame.Size = SIZE
  1327. frame.BackgroundColor3 = COLOR
  1328. frame.BorderColor3 = BORDERCOLOR
  1329. frame.Name = NAME
  1330. frame.Parent = PARENT
  1331. return frame
  1332. end
  1333.  
  1334. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1335. local label = IT("TextLabel")
  1336. label.BackgroundTransparency = 1
  1337. label.Size = UD2(1, 0, 1, 0)
  1338. label.Position = UD2(0, 0, 0, 0)
  1339. label.TextColor3 = TEXTCOLOR
  1340. label.TextStrokeTransparency = STROKETRANSPARENCY
  1341. label.TextTransparency = TRANSPARENCY
  1342. label.FontSize = TEXTFONTSIZE
  1343. label.Font = TEXTFONT
  1344. label.BorderSizePixel = BORDERSIZEPIXEL
  1345. label.TextScaled = false
  1346. label.Text = TEXT
  1347. label.Name = NAME
  1348. label.Parent = PARENT
  1349. return label
  1350. end
  1351.  
  1352. function NoOutlines(PART)
  1353. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1354. end
  1355.  
  1356. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1357. local NEWWELD = IT(TYPE)
  1358. NEWWELD.Part0 = PART0
  1359. NEWWELD.Part1 = PART1
  1360. NEWWELD.C0 = C0
  1361. NEWWELD.C1 = C1
  1362. NEWWELD.Parent = PARENT
  1363. return NEWWELD
  1364. end
  1365.  
  1366. local S = IT("Sound")
  1367. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1368. local NEWSOUND = nil
  1369. coroutine.resume(coroutine.create(function()
  1370. NEWSOUND = S:Clone()
  1371. NEWSOUND.Parent = PARENT
  1372. NEWSOUND.Volume = VOLUME
  1373. NEWSOUND.Pitch = PITCH
  1374. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1375. NEWSOUND:play()
  1376. if DOESLOOP == true then
  1377. NEWSOUND.Looped = true
  1378. else
  1379. repeat wait(1) until NEWSOUND.Playing == false
  1380. NEWSOUND:remove()
  1381. end
  1382. end))
  1383. return NEWSOUND
  1384. end
  1385.  
  1386. local EyeSizes={
  1387. NumberSequenceKeypoint.new(0,2,0),
  1388. NumberSequenceKeypoint.new(1,0,0)
  1389. }
  1390. local EyeTrans={
  1391. NumberSequenceKeypoint.new(0,0.5,0),
  1392. NumberSequenceKeypoint.new(1,1,0)
  1393. }
  1394. local PE=Instance.new("ParticleEmitter",nil)
  1395. PE.LightEmission=.8
  1396. PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
  1397. PE.Size=NumberSequence.new(EyeSizes)
  1398. PE.Transparency=NumberSequence.new(EyeTrans)
  1399. PE.Lifetime=NumberRange.new(0.35,1)
  1400. PE.Rotation=NumberRange.new(0,360)
  1401. PE.Rate=100
  1402. PE.VelocitySpread = 10000
  1403. PE.Acceleration = Vector3.new(0,85,0)
  1404. PE.Drag = 5
  1405. PE.Speed = NumberRange.new(0.1,5)
  1406. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  1407. PE.ZOffset = 0.5
  1408. PE.Name = "PE"
  1409. PE.Enabled = false
  1410.  
  1411. function Fire(art)
  1412. local PARTICLES = PE:Clone()
  1413. PARTICLES.Parent = art
  1414. PARTICLES.Enabled = true
  1415. return PARTICLES
  1416. end
  1417.  
  1418. function CFrameFromTopBack(at, top, back)
  1419. local right = top:Cross(back)
  1420. 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)
  1421. end
  1422.  
  1423. --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})
  1424. function WACKYEFFECT(Table)
  1425. local TYPE = (Table.EffectType or "Sphere")
  1426. local SIZE = (Table.Size or VT(1,1,1))
  1427. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1428. local TRANSPARENCY = (Table.Transparency or 0)
  1429. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1430. local CFRAME = (Table.CFrame or Torso.CFrame)
  1431. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1432. local ROTATION1 = (Table.RotationX or 0)
  1433. local ROTATION2 = (Table.RotationY or 0)
  1434. local ROTATION3 = (Table.RotationZ or 0)
  1435. local MATERIAL = (Table.Material or "Neon")
  1436. local COLOR = (Table.Color or C3(1,1,1))
  1437. local TIME = (Table.Time or 45)
  1438. local SOUNDID = (Table.SoundID or nil)
  1439. local SOUNDPITCH = (Table.SoundPitch or nil)
  1440. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1441. coroutine.resume(coroutine.create(function()
  1442. local PLAYSSOUND = false
  1443. local SOUND = nil
  1444. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Crimson"), "Effect", VT(1,1,1), true)
  1445. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1446. PLAYSSOUND = true
  1447. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1448. end
  1449. EFFECT.Color = COLOR
  1450. local MSH = nil
  1451. if TYPE == "Sphere" then
  1452. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1453. elseif TYPE == "Block" or TYPE == "Box" then
  1454. MSH = IT("BlockMesh",EFFECT)
  1455. MSH.Scale = SIZE
  1456. elseif TYPE == "Wave" then
  1457. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1458. elseif TYPE == "Ring" then
  1459. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1460. elseif TYPE == "Slash" then
  1461. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1462. elseif TYPE == "Round Slash" then
  1463. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1464. elseif TYPE == "Swirl" then
  1465. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1466. elseif TYPE == "Skull" then
  1467. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1468. elseif TYPE == "Crystal" then
  1469. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1470. end
  1471. if MSH ~= nil then
  1472. local MOVESPEED = nil
  1473. if MOVEDIRECTION ~= nil then
  1474. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1475. end
  1476. local GROWTH = SIZE - ENDSIZE
  1477. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1478. if TYPE == "Block" then
  1479. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1480. else
  1481. EFFECT.CFrame = CFRAME
  1482. end
  1483. for LOOP = 1, TIME+1 do
  1484. Swait()
  1485. MSH.Scale = MSH.Scale - GROWTH/TIME
  1486. if TYPE == "Wave" then
  1487. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1488. end
  1489. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1490. if TYPE == "Block" then
  1491. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1492. else
  1493. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1494. end
  1495. if MOVEDIRECTION ~= nil then
  1496. local ORI = EFFECT.Orientation
  1497. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1498. EFFECT.Orientation = ORI
  1499. end
  1500. end
  1501. if PLAYSSOUND == false then
  1502. EFFECT:remove()
  1503. else
  1504. repeat wait(1) until SOUND.Playing == false
  1505. EFFECT:remove()
  1506. end
  1507. else
  1508. if PLAYSSOUND == false then
  1509. EFFECT:remove()
  1510. else
  1511. repeat Swait() until SOUND.Playing == false
  1512. EFFECT:remove()
  1513. end
  1514. end
  1515. end))
  1516. end
  1517.  
  1518. function MakeForm(PART,TYPE)
  1519. if TYPE == "Cyl" then
  1520. local MSH = IT("CylinderMesh",PART)
  1521. elseif TYPE == "Ball" then
  1522. local MSH = IT("SpecialMesh",PART)
  1523. MSH.MeshType = "Sphere"
  1524. elseif TYPE == "Wedge" then
  1525. local MSH = IT("SpecialMesh",PART)
  1526. MSH.MeshType = "Wedge"
  1527. end
  1528. end
  1529.  
  1530. Debris = game:GetService("Debris")
  1531.  
  1532. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1533. local DIRECTION = CF(StartPos,EndPos).lookVector
  1534. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1535. end
  1536.  
  1537. local HATWELD = nil
  1538. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1539. PLAYMAINANIM = false
  1540. if WhichPose == "Cast1" then
  1541. for i=0, Time, 0.1 / Animation_Speed do
  1542. Swait()
  1543. if Magic == true then
  1544. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1545. end
  1546. if Gyro ~= nil and Gyro ~= false then
  1547. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1548. end
  1549. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  1550. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  1551. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1552. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1553. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1554. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1555. end
  1556. elseif WhichPose == "Cast2" then
  1557. for i=0, Time, 0.1 / Animation_Speed do
  1558. Swait()
  1559. if Magic == true then
  1560. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1561. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1562. end
  1563. if Gyro ~= nil and Gyro ~= false then
  1564. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1565. end
  1566. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1567. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1568. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1569. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1570. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1571. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1572. end
  1573. elseif WhichPose == "RightArmUp" then
  1574. for i=0, Time, 0.1 / Animation_Speed do
  1575. Swait()
  1576. if Magic == true then
  1577. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1578. end
  1579. if Gyro ~= nil and Gyro ~= false then
  1580. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1581. end
  1582. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  1583. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1584. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1585. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1586. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1587. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1588. end
  1589. elseif WhichPose == "Taunt" then
  1590. for i=0, Time, 0.1 / Animation_Speed do
  1591. Swait()
  1592. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1593. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1594. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1595. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1596. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1597. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1598. end
  1599. HATWELD.Part0 = RightArm
  1600. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  1601. CreateSound(221057812,Torso,10,1,false)
  1602. for i=0, Time*2, 0.1 / Animation_Speed do
  1603. Swait()
  1604. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1605. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1606. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1607. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1608. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1609. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1610. end
  1611. for i=0, Time, 0.1 / Animation_Speed do
  1612. Swait()
  1613. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1614. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1615. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1616. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1617. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1618. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1619. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  1620. end
  1621. HATWELD.Part0 = Head
  1622. HATWELD.C0 = CF(0,0.35,0)
  1623. elseif WhichPose == "Prepare key" then
  1624. for i=0, Time, 0.1 / Animation_Speed do
  1625. Swait()
  1626. if Gyro ~= nil and Gyro ~= false then
  1627. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1628. end
  1629. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  1630. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  1631. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1632. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1633. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1634. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1635. end
  1636. elseif WhichPose == "Turn key" then
  1637. for i=0, Time, 0.1 / Animation_Speed do
  1638. Swait()
  1639. if Gyro ~= nil and Gyro ~= false then
  1640. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1641. end
  1642. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  1643. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  1644. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1645. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1646. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1647. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1648. end
  1649. end
  1650. PLAYMAINANIM = true
  1651. end
  1652.  
  1653. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  1654. function Lightning(Table)
  1655. local Color = Table.Color or C3(1,1,1)
  1656. local StartPos = Table.Start or Torso.Position
  1657. local EndPos = Table.End or Mouse.Hit.p
  1658. local SegmentLength = Table.SegmentL or 2
  1659. local Thickness = Table.Thickness or 0.1
  1660. local Dissapear = Table.DoesFade or false
  1661. local Parent = Table.Ignore or Character
  1662. local MaxDist = Table.MaxDist or 400
  1663. local Branches = Table.Branches or false
  1664. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1665. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1666. local LIGHTNINGMODEL = IT("Model",Effects)
  1667. LIGHTNINGMODEL.Name = "Lightning"
  1668. local LastBolt = nil
  1669. for E = 1, DISTANCE do
  1670. local ExtraSize = (DISTANCE-E)/15
  1671. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1672. PART.Color = Color
  1673. MakeForm(PART,"Cyl")
  1674. if LastBolt == nil then
  1675. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1676. else
  1677. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1678. end
  1679. LastBolt = PART
  1680. if Branches == true then
  1681. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1682. if CHOICE == 1 then
  1683. local LASTBRANCH = nil
  1684. for i = 1, MRANDOM(2,5) do
  1685. local ExtraSize2 = ((DISTANCE-E)/25)/i
  1686. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1687. PART.Color = Color
  1688. MakeForm(PART,"Cyl")
  1689. if LASTBRANCH == nil then
  1690. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1691. else
  1692. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1693. end
  1694. LASTBRANCH = PART
  1695. end
  1696. end
  1697. end
  1698. end
  1699. if Dissapear == true then
  1700. coroutine.resume(coroutine.create(function()
  1701. for i = 1, 10 do
  1702. Swait()
  1703. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1704. if c.ClassName == "Part" then
  1705. c.Transparency = i/10
  1706. end
  1707. end
  1708. end
  1709. LIGHTNINGMODEL:remove()
  1710. end))
  1711. elseif Dissapear == false then
  1712. Debris:AddItem(LIGHTNINGMODEL,0.1)
  1713. end
  1714. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1715. end
  1716. end
  1717.  
  1718. --//=================================\\
  1719. --\\=================================//
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725. --//====================================================\\--
  1726. --|| END OF SCRIPT
  1727. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement