Advertisement
dsniper

Untitled

Jun 11th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 126.08 KB | None | 0 0
  1. thx
  2.  
  3. script.Name = "nigga srsly"
  4. ArtificialHB = Instance.new("BindableEvent", script)
  5. ArtificialHB.Name = "Heartbeat"
  6. script:WaitForChild("Heartbeat")
  7. Player = game:GetService("Players").LocalPlayer
  8. Character = Player.Character
  9. PlayerGui = Player.PlayerGui
  10. script.Parent = PlayerGui
  11. Backpack = Player.Backpack
  12. Torso = Character.Torso
  13. Head = Character.Head
  14. Humanoid = Character.Humanoid
  15. LeftArm = Character["Left Arm"]
  16. LeftLeg = Character["Left Leg"]
  17. RightArm = Character["Right Arm"]
  18. RightLeg = Character["Right Leg"]
  19. ch = Character
  20. RootPart = Character.HumanoidRootPart
  21. RootJoint = RootPart.RootJoint
  22. it = Instance.new
  23. vt = Vector3.new
  24. cf = CFrame.new
  25. euler = CFrame.fromEulerAnglesXYZ
  26. angles = CFrame.Angles
  27. local decreaseatk = 0
  28. local decreasedef = 0
  29. local decreasemvmt = 0
  30. local Anim = "Idle"
  31. local Effects = {}
  32. local armorparts = {}
  33. local armorwelds = {}
  34. local weaponparts = {}
  35. local weaponwelds = {}
  36. local necko = euler(0, 0, 0) * cf(0, 3, 0)
  37. local attack = false
  38. local jump = false
  39. local hitfloor, posfloor, target, distance
  40. local meleecooldown = 0
  41. local mcdadd = 1
  42. local summoncrystals = 0
  43. local crystals = false
  44. local stunanim = false
  45. if workspace:findFirstChild("Neflhelm", true) ~= nil then
  46. workspace:findFirstChild("Neflhelm", true).Parent = nil
  47. end
  48. function NoOutline(Part)
  49. Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
  50. end
  51. function swait(num)
  52. if num == 0 or num == nil then
  53. script.Heartbeat.Event:wait()
  54. else
  55. for i = 0, num do
  56. script.Heartbeat.Event:wait()
  57. end
  58. end
  59. end
  60. frame = 0.03333333333333333
  61. tf = 0
  62. allowframeloss = false
  63. tossremainder = false
  64. lastframe = tick()
  65. script.Heartbeat:Fire()
  66. game:GetService("RunService").Heartbeat:connect(function(s, p)
  67. tf = tf + s
  68. if tf >= frame then
  69. if allowframeloss then
  70. script.Heartbeat:Fire()
  71. lastframe = tick()
  72. else
  73. for i = 1, math.floor(tf / frame) do
  74. script.Heartbeat:Fire()
  75. end
  76. lastframe = tick()
  77. end
  78. if tossremainder then
  79. tf = 0
  80. else
  81. tf = tf - frame * math.floor(tf / frame)
  82. end
  83. end
  84. end)
  85. function clerp(a, b, t)
  86. local qa = {
  87. QuaternionFromCFrame(a)
  88. }
  89. local qb = {
  90. QuaternionFromCFrame(b)
  91. }
  92. local ax, ay, az = a.x, a.y, a.z
  93. local bx, by, bz = b.x, b.y, b.z
  94. local _t = 1 - t
  95. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  96. end
  97. function QuaternionFromCFrame(cf)
  98. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  99. local trace = m00 + m11 + m22
  100. if trace > 0 then
  101. local s = math.sqrt(1 + trace)
  102. local recip = 0.5 / s
  103. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  104. else
  105. local i = 0
  106. if m00 < m11 then
  107. i = 1
  108. end
  109. if m22 > (i == 0 and m00 or m11) then
  110. i = 2
  111. end
  112. if i == 0 then
  113. local s = math.sqrt(m00 - m11 - m22 + 1)
  114. local recip = 0.5 / s
  115. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  116. elseif i == 1 then
  117. local s = math.sqrt(m11 - m22 - m00 + 1)
  118. local recip = 0.5 / s
  119. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  120. elseif i == 2 then
  121. local s = math.sqrt(m22 - m00 - m11 + 1)
  122. local recip = 0.5 / s
  123. return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  124. end
  125. end
  126. end
  127. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  128. local xs, ys, zs = x + x, y + y, z + z
  129. local wx, wy, wz = w * xs, w * ys, w * zs
  130. local xx = x * xs
  131. local xy = x * ys
  132. local xz = x * zs
  133. local yy = y * ys
  134. local yz = y * zs
  135. local zz = z * zs
  136. 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))
  137. end
  138. function QuaternionSlerp(a, b, t)
  139. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  140. local startInterp, finishInterp
  141. if cosTheta >= 1.0E-4 then
  142. if 1 - cosTheta > 1.0E-4 then
  143. local theta = math.acos(cosTheta)
  144. local invSinTheta = 1 / math.sin(theta)
  145. startInterp = math.sin((1 - t) * theta) * invSinTheta
  146. finishInterp = math.sin(t * theta) * invSinTheta
  147. else
  148. startInterp = 1 - t
  149. finishInterp = t
  150. end
  151. elseif 1 + cosTheta > 1.0E-4 then
  152. local theta = math.acos(-cosTheta)
  153. local invSinTheta = 1 / math.sin(theta)
  154. startInterp = math.sin((t - 1) * theta) * invSinTheta
  155. finishInterp = math.sin(t * theta) * invSinTheta
  156. else
  157. startInterp = t - 1
  158. finishInterp = t
  159. end
  160. 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
  161. end
  162. function part(formfactor, parent, reflectance, transparency, brickcolor, name, size)
  163. local fp = it("Part")
  164. fp.formFactor = formfactor
  165. fp.Parent = parent
  166. fp.Reflectance = reflectance
  167. fp.Transparency = transparency
  168. fp.CanCollide = false
  169. fp.Locked = true
  170. fp.BrickColor = brickcolor
  171. fp.Name = name
  172. fp.Size = size
  173. NoOutline(fp)
  174. fp.Material = "SmoothPlastic"
  175. fp:BreakJoints()
  176. return fp
  177. end
  178. function mesh(Mesh, part, meshtype, meshid, offset, scale)
  179. local mesh = it(Mesh)
  180. mesh.Parent = part
  181. if Mesh == "SpecialMesh" then
  182. mesh.MeshType = meshtype
  183. if meshid ~= "nil" then
  184. mesh.MeshId = "http://www.roblox.com/asset/?id=" .. meshid
  185. end
  186. end
  187. mesh.Offset = offset
  188. mesh.Scale = scale
  189. return mesh
  190. end
  191. function weld(parent, part0, part1, c0)
  192. local weld = it("Motor")
  193. weld.Parent = parent
  194. weld.Part0 = part0
  195. weld.Part1 = part1
  196. weld.C0 = c0
  197. return weld
  198. end
  199. function gui(GuiType, parent, text, backtrans, backcol, pos, size, image)
  200. local gui = it(GuiType)
  201. gui.Parent = parent
  202. gui.BackgroundTransparency = backtrans
  203. gui.BackgroundColor3 = backcol
  204. gui.SizeConstraint = "RelativeXY"
  205. gui.Position = pos
  206. gui.Size = size
  207. if GuiType == "TextLabel" then
  208. gui.Text = text
  209. gui.TextXAlignment = "Center"
  210. gui.TextYAlignment = "Center"
  211. gui.Font = "SourceSans"
  212. gui.FontSize = "Size14"
  213. gui.TextWrapped = false
  214. gui.TextStrokeTransparency = 0
  215. gui.TextColor = BrickColor.new("White")
  216. elseif GuiType == "ImageLabel" then
  217. gui.Image = "rbxassetid://" .. image
  218. gui.ImageColor3 = backcol
  219. end
  220. return gui
  221. end
  222. local nr = NumberRange.new
  223. local ns = NumberSequence.new
  224. local cs = ColorSequence.new
  225. local nsk = NumberSequenceKeypoint.new
  226. function particle(parent, col1, col2, lightemis, size, texture, transparency, zoffset, accel, drag, ltp, velinher, emisdir, enabled, lifetime, rate, rotation, rotspeed, speed, velspread)
  227. local fp = it("ParticleEmitter")
  228. fp.Parent = parent
  229. fp.Color = cs(col1, col2)
  230. fp.LightEmission = lightemis
  231. fp.Size = size
  232. fp.Texture = texture
  233. fp.Transparency = transparency
  234. fp.ZOffset = zoffset
  235. fp.Acceleration = accel
  236. fp.Drag = drag
  237. fp.LockedToPart = ltp
  238. fp.VelocityInheritance = velinher
  239. fp.EmissionDirection = emisdir
  240. fp.Enabled = enabled
  241. fp.Lifetime = lifetime
  242. fp.Rate = rate
  243. fp.Rotation = rotation
  244. fp.RotSpeed = rotspeed
  245. fp.Speed = speed
  246. fp.VelocitySpread = velspread
  247. return fp
  248. end
  249. Head.Size = vt(2, 2, 2)
  250. Torso.Size = vt(2, 2, 2)
  251. Head.BrickColor = BrickColor.new("Pearl")
  252. Torso.BrickColor = BrickColor.new("Pearl")
  253. Head.Material = "Sand"
  254. Torso.Material = "Sand"
  255. Head.face:Destroy()
  256. workspace.CurrentCamera.CameraSubject = Torso
  257. local Back = part(0, Character, 0, 0, BrickColor.new("Pearl"), "Back", vt(2, 2, 2))
  258. Back.Material = "Sand"
  259. local Lower1 = part(0, Character, 0, 0, BrickColor.new("Pearl"), "Lower1", vt(2, 2, 2))
  260. Lower1.Material = "Sand"
  261. local Lower2 = part(0, Character, 0, 0, BrickColor.new("Pearl"), "Lower2", vt(2, 2, 2))
  262. Lower2.Material = "Sand"
  263. local HMesh = mesh("SpecialMesh", Head, "Sphere", "nil", vt(0, 0, 0), vt(59.5, 59.5, 59.5))
  264. local TMesh = mesh("SpecialMesh", Torso, "Sphere", "nil", vt(0, 0, 0), vt(105, 105, 105))
  265. local BMesh = mesh("SpecialMesh", Back, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  266. local L1Mesh = mesh("SpecialMesh", Lower1, "Sphere", "nil", vt(0, 0, 0), vt(90, 90, 90))
  267. local L2Mesh = mesh("SpecialMesh", Lower2, "Sphere", "nil", vt(0, 0, 0), vt(90, 90, 90))
  268. local Neck = weld(Torso, Torso, Head, euler(0, 0, 0) * cf(0, 35, 0))
  269. Neck.C1 = cf(0, -80, 0)
  270. local RootJoint = weld(Torso, Torso, RootPart, cf(-1.749, -200, 0))
  271. local BackJoint = weld(Torso, Torso, Back, cf(0, 51, -87.75))
  272. local L1Joint = weld(Torso, Torso, Lower1, cf(0, -42, -7.75))
  273. local L2Joint = weld(Torso, Torso, Lower2, cf(0, -54.75, -16.749))
  274. RootPart.Anchored = true
  275. for d = 10, 180, 10 do
  276. for i = 10, 360, 10 do
  277. local Hitbox1 = part(0, Character, 0, 1, BrickColor.new("Black"), "Left Arm", vt(1, 1, 1))
  278. Hitbox1.Material = "Sand"
  279. local HbMesh = mesh("SpecialMesh", Hitbox1, "Sphere", "nil", vt(0, 0, 0), vt(1, 1, 1))
  280. local HHJoint = weld(Hitbox1, Hitbox1, Head, cf(60, 0, 0) * euler(0, math.rad(i), math.rad(d)))
  281. end
  282. end
  283. Humanoid.Animator:Destroy()
  284. Character.Animate:Destroy()
  285. local armor = Instance.new("Model")
  286. armor.Parent = Character
  287. armor.Name = "Body"
  288. prt1 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part01", vt(2, 2, 2))
  289. prt1.Material = "Sand"
  290. prt2 = part(3, armor, 0, 0, BrickColor.new("Really black"), "Part02", vt(2, 2, 2))
  291. prt3 = part(3, armor, 0, 0, BrickColor.new("Bright blue"), "Part03", vt(2, 2, 2))
  292. prt3.Material = "Neon"
  293. prt4 = part(3, armor, 0, 0, BrickColor.new("Really black"), "Part04", vt(2, 2, 2))
  294. prt5 = part(3, armor, 0, 0, BrickColor.new("Bright blue"), "Part05", vt(2, 2, 2))
  295. prt5.Material = "Neon"
  296. prt6 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part06", vt(2, 2, 2))
  297. prt6.Material = "Sand"
  298. prt7 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part07", vt(2, 2, 2))
  299. prt7.Material = "Sand"
  300. prt8 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part08", vt(2, 2, 2))
  301. prt8.Material = "Sand"
  302. prt9 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part09", vt(2, 2, 2))
  303. prt9.Material = "Sand"
  304. prt10 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part10", vt(2, 2, 2))
  305. prt10.Material = "Sand"
  306. prt11 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part11", vt(2, 2, 2))
  307. prt12 = part(3, armor, 0.4, 0, BrickColor.new("Pastel light blue"), "Part12", vt(2, 2, 2))
  308. prt13 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part13", vt(2, 2, 2))
  309. prt14 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part14", vt(2, 2, 2))
  310. prt15 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part15", vt(2, 2, 2))
  311. prt16 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part16", vt(2, 2, 2))
  312. prt17 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part17", vt(2, 2, 2))
  313. prt18 = part(3, armor, 0.4, 0, BrickColor.new("Pearl"), "Part18", vt(2, 2, 2))
  314. prt19 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part19", vt(2, 2, 2))
  315. prt19.Material = "Sand"
  316. prt20 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part20", vt(2, 2, 2))
  317. prt20.Material = "Sand"
  318. prt21 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part21", vt(2, 2, 2))
  319. prt21.Material = "Sand"
  320. prt22 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part22", vt(2, 2, 2))
  321. prt22.Material = "Sand"
  322. prt23 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part23", vt(2, 2, 2))
  323. prt23.Material = "Sand"
  324. prt24 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part24", vt(2, 2, 2))
  325. prt24.Material = "Sand"
  326. prt25 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part25", vt(2, 2, 2))
  327. prt25.Material = "Sand"
  328. prt26 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part26", vt(2, 2, 2))
  329. prt26.Material = "Sand"
  330. prt27 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part27", vt(2, 2, 2))
  331. prt27.Material = "Sand"
  332. prt28 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part28", vt(2, 2, 2))
  333. prt28.Material = "Sand"
  334. prt29 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part29", vt(2, 2, 2))
  335. prt29.Material = "Sand"
  336. prt30 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part30", vt(2, 2, 2))
  337. prt30.Material = "Sand"
  338. prt31 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part31", vt(2, 2, 2))
  339. prt31.Material = "Sand"
  340. prt32 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part32", vt(2, 2, 2))
  341. prt32.Material = "Sand"
  342. prt33 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part33", vt(2, 2, 2))
  343. prt33.Material = "Sand"
  344. prt34 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part34", vt(2, 2, 2))
  345. prt34.Material = "Sand"
  346. prt35 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part35", vt(2, 2, 2))
  347. prt35.Material = "Sand"
  348. prt36 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part36", vt(2, 2, 2))
  349. prt36.Material = "Sand"
  350. prt37 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part37", vt(2, 2, 2))
  351. prt37.Material = "Sand"
  352. prt38 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part38", vt(2, 2, 2))
  353. prt38.Material = "Sand"
  354. prt39 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part39", vt(2, 2, 2))
  355. prt39.Material = "Sand"
  356. prt40 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part40", vt(2, 2, 2))
  357. prt40.Material = "Sand"
  358. prt41 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part41", vt(2, 2, 2))
  359. prt41.Material = "Sand"
  360. prt42 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part42", vt(2, 2, 2))
  361. prt42.Material = "Sand"
  362. prt43 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part43", vt(2, 2, 2))
  363. prt43.Material = "Sand"
  364. prt44 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part44", vt(2, 2, 2))
  365. prt44.Material = "Sand"
  366. prt45 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part45", vt(2, 2, 2))
  367. prt45.Material = "Sand"
  368. prt46 = part(3, armor, 0, 0, BrickColor.new("Pearl"), "Part46", vt(2, 2, 2))
  369. prt46.Material = "Sand"
  370. msh1 = mesh("SpecialMesh", prt1, "FileMesh", "62740878", vt(0, 0, 0), vt(80, 50, 80))
  371. msh2 = mesh("SpecialMesh", prt2, "Sphere", "nil", vt(0, 0, 0), vt(5, 10, 10))
  372. msh3 = mesh("SpecialMesh", prt3, "Sphere", "nil", vt(0, 0, 0), vt(4, 8.5, 8.5))
  373. msh4 = mesh("SpecialMesh", prt4, "Sphere", "nil", vt(0, 0, 0), vt(5, 10, 10))
  374. msh5 = mesh("SpecialMesh", prt5, "Sphere", "nil", vt(0, 0, 0), vt(4, 8.5, 8.5))
  375. msh6 = mesh("SpecialMesh", prt6, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  376. msh7 = mesh("SpecialMesh", prt7, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  377. msh8 = mesh("SpecialMesh", prt8, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  378. msh9 = mesh("SpecialMesh", prt9, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  379. msh10 = mesh("SpecialMesh", prt10, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  380. msh11 = mesh("SpecialMesh", prt11, "FileMesh", "9756362", vt(0, 0, 0), vt(20, 90, 20))
  381. msh12 = mesh("SpecialMesh", prt12, "FileMesh", "9756362", vt(0, 0, 0), vt(20, 100, 27.5))
  382. msh13 = mesh("SpecialMesh", prt13, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  383. msh14 = mesh("SpecialMesh", prt14, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  384. msh15 = mesh("SpecialMesh", prt15, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  385. msh16 = mesh("SpecialMesh", prt16, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  386. msh17 = mesh("SpecialMesh", prt17, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  387. msh18 = mesh("SpecialMesh", prt18, "FileMesh", "9756362", vt(0, 0, 0), vt(12.5, 90, 12.5))
  388. msh19 = mesh("SpecialMesh", prt19, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  389. msh20 = mesh("SpecialMesh", prt20, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  390. msh21 = mesh("CylinderMesh", prt21, "nil", "nil", vt(0, 0, 0), vt(50, 30, 50))
  391. msh22 = mesh("SpecialMesh", prt22, "Sphere", "nil", vt(0, 0, 0), vt(50, 50, 50))
  392. msh23 = mesh("SpecialMesh", prt23, "Sphere", "nil", vt(0, 0, 0), vt(50, 50, 50))
  393. msh24 = mesh("CylinderMesh", prt24, "nil", "nil", vt(0, 0, 0), vt(65, 10, 65))
  394. msh25 = mesh("SpecialMesh", prt25, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  395. msh26 = mesh("SpecialMesh", prt26, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  396. msh27 = mesh("SpecialMesh", prt27, "FileMesh", "1033714", vt(0, 0, 0), vt(12.5, 160, 12.5))
  397. msh28 = mesh("SpecialMesh", prt28, "FileMesh", "1033714", vt(0, 0, 0), vt(12.5, 160, 12.5))
  398. msh29 = mesh("CylinderMesh", prt29, "nil", "nil", vt(0, 0, 0), vt(52.5, 60, 52.5))
  399. msh30 = mesh("SpecialMesh", prt30, "Sphere", "nil", vt(0, 0, 0), vt(52.5, 52.5, 52.5))
  400. msh31 = mesh("SpecialMesh", prt31, "Sphere", "nil", vt(0, 0, 0), vt(85, 85, 85))
  401. msh32 = mesh("SpecialMesh", prt32, "FileMesh", "1290033", vt(0, 0, 0), vt(90, 90, 90))
  402. msh33 = mesh("SpecialMesh", prt33, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  403. msh34 = mesh("SpecialMesh", prt34, "FileMesh", "1323306", vt(0, 0, 0), vt(100, 100, 100))
  404. msh35 = mesh("CylinderMesh", prt35, "nil", "nil", vt(0, 0, 0), vt(50, 30, 50))
  405. msh36 = mesh("SpecialMesh", prt36, "Sphere", "nil", vt(0, 0, 0), vt(50, 50, 50))
  406. msh37 = mesh("SpecialMesh", prt37, "Sphere", "nil", vt(0, 0, 0), vt(50, 50, 50))
  407. msh38 = mesh("CylinderMesh", prt38, "nil", "nil", vt(0, 0, 0), vt(65, 10, 65))
  408. msh39 = mesh("SpecialMesh", prt39, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  409. msh40 = mesh("SpecialMesh", prt40, "Sphere", "nil", vt(0, 0, 0), vt(65, 65, 65))
  410. msh41 = mesh("SpecialMesh", prt41, "FileMesh", "1033714", vt(0, 0, 0), vt(12.5, 160, 12.5))
  411. msh42 = mesh("SpecialMesh", prt42, "FileMesh", "1033714", vt(0, 0, 0), vt(12.5, 160, 12.5))
  412. msh43 = mesh("CylinderMesh", prt43, "nil", "nil", vt(0, 0, 0), vt(52.5, 60, 52.5))
  413. msh44 = mesh("SpecialMesh", prt44, "Sphere", "nil", vt(0, 0, 0), vt(52.5, 52.5, 52.5))
  414. msh45 = mesh("SpecialMesh", prt45, "Sphere", "nil", vt(0, 0, 0), vt(85, 85, 85))
  415. msh46 = mesh("SpecialMesh", prt46, "FileMesh", "1290033", vt(0, 0, 0), vt(90, 90, 90))
  416. local wld1 = weld(prt1, prt1, Head, euler(0, math.rad(180), 0) * cf(-4.597, -46.367, 0))
  417. local wld2 = weld(prt1, prt2, Head, euler(0, math.rad(115), 0) * cf(23.772, 0, -50.979))
  418. local wld3 = weld(prt1, prt3, Head, euler(0, math.rad(115), 0) * cf(24.406, 0, -52.339))
  419. local wld4 = weld(prt1, prt4, Head, euler(0, math.rad(65), 0) * cf(-23.772, 0, -50.979))
  420. local wld5 = weld(prt1, prt5, Head, euler(0, math.rad(65), 0) * cf(-24.406, 0, -52.339))
  421. local wld6 = weld(prt1, prt6, Torso, euler(math.rad(63.644), 0, 0) * cf(0, -118.531, 124.184))
  422. local wld7 = weld(prt1, prt7, Torso, euler(math.rad(-255.516), 0, 0) * cf(0, -1.816, 157.992))
  423. local wld8 = weld(prt1, prt8, Torso, euler(math.rad(171.785), 0, 0) * cf(-3.372, 67.659, 3.285))
  424. local wld9 = weld(prt1, prt9, Torso, euler(math.rad(-145), math.rad(-155), 0) * cf(-32.5, 66.459, 35.483))
  425. local wld10 = weld(prt1, prt10, Torso, euler(math.rad(-150), math.rad(-205), 0) * cf(32.5, 66.459, 35.483))
  426. local wld11 = weld(prt1, prt11, Torso, euler(0, math.rad(45), 0) * cf(0, 0, -104.75))
  427. local wld12 = weld(prt1, prt12, Torso, euler(0, math.rad(90), 0) * cf(0, 0, -104.75))
  428. local wld13 = weld(prt1, prt13, Torso, euler(0, math.rad(90), math.rad(-35)) * cf(32.009, -22.413, -88.007))
  429. local wld14 = weld(prt1, prt14, Torso, euler(0, math.rad(90), math.rad(35)) * cf(-32.009, -22.413, -88.007))
  430. local wld15 = weld(prt1, prt15, Torso, euler(0, math.rad(90), math.rad(90)) * cf(32.075, 0, -88.007))
  431. local wld16 = weld(prt1, prt16, Torso, euler(0, math.rad(90), math.rad(-90)) * cf(-32.075, 0, -88.007))
  432. local wld17 = weld(prt1, prt17, Torso, euler(0, math.rad(90), math.rad(55)) * cf(32.009, 22.413, -88.007))
  433. local wld18 = weld(prt1, prt18, Torso, euler(0, math.rad(90), math.rad(-55)) * cf(-32.009, 22.413, -88.007))
  434. local wld19 = weld(prt1, prt19, Torso, euler(0, 0, 0) * cf(94, -47.5, -2.248))
  435. local wld20 = weld(prt1, prt20, prt19, euler(math.rad(90), math.rad(-15), 0) * cf(21.417, 0, 79.93))
  436. local wld21 = weld(prt1, prt21, prt19, euler(0, 0, math.rad(90)) * cf(74.25, 0, 0))
  437. local wld22 = weld(prt1, prt22, prt21, euler(0, 0, 0) * cf(0, -30, 0))
  438. local wld23 = weld(prt1, prt23, prt21, euler(0, 0, 0) * cf(0, 30, 0))
  439. local wld24 = weld(prt1, prt24, prt21, euler(0, 0, 0) * cf(0, 90.25, 0))
  440. local wld25 = weld(prt1, prt25, prt24, euler(0, 0, 0) * cf(0, 10, 0))
  441. local wld26 = weld(prt1, prt26, prt24, euler(0, 0, 0) * cf(0, -10, 0))
  442. local wld27 = weld(prt1, prt27, prt24, euler(0, 0, math.rad(-90)) * cf(88.5, 0, 0))
  443. local wld28 = weld(prt1, prt28, prt24, euler(0, 0, math.rad(90)) * cf(-88.5, 0, 0))
  444. local wld29 = weld(prt1, prt29, prt24, euler(0, 0, 0) * cf(0, 125, 0))
  445. local wld30 = weld(prt1, prt30, prt29, euler(0, 0, 0) * cf(0, -60, 0))
  446. local wld31 = weld(prt1, prt31, prt29, euler(0, 0, 0) * cf(0, 130, 0))
  447. local wld32 = weld(prt1, prt32, prt29, euler(0, 0, 0) * cf(0, 130, 0))
  448. local wld33 = weld(prt1, prt33, Torso, euler(0, 0, 0) * cf(-94, -47.5, -2.248))
  449. local wld34 = weld(prt1, prt34, prt33, euler(math.rad(-90), math.rad(-165), 0) * cf(-21.417, 0, 79.93))
  450. local wld35 = weld(prt1, prt35, prt33, euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0))
  451. local wld36 = weld(prt1, prt36, prt35, euler(0, 0, 0) * cf(0, 30, 0))
  452. local wld37 = weld(prt1, prt37, prt35, euler(0, 0, 0) * cf(0, -30, 0))
  453. local wld38 = weld(prt1, prt38, prt35, euler(0, 0, 0) * cf(0, -90.25, 0))
  454. local wld39 = weld(prt1, prt39, prt38, euler(0, 0, 0) * cf(0, -10, 0))
  455. local wld40 = weld(prt1, prt40, prt38, euler(0, 0, 0) * cf(0, 10, 0))
  456. local wld41 = weld(prt1, prt41, prt38, euler(0, 0, math.rad(-90)) * cf(88.5, 0, 0))
  457. local wld42 = weld(prt1, prt42, prt38, euler(0, 0, math.rad(90)) * cf(-88.5, 0, 0))
  458. local wld43 = weld(prt1, prt43, prt38, euler(0, 0, 0) * cf(0, -125, 0))
  459. local wld44 = weld(prt1, prt44, prt43, euler(0, 0, 0) * cf(0, 60, 0))
  460. local wld45 = weld(prt1, prt45, prt43, euler(0, 0, 0) * cf(0, -130, 0))
  461. local wld46 = weld(prt1, prt46, prt43, euler(0, 0, 0) * cf(0, -130, 0))
  462. local effects = it("Model", Character)
  463. effects.Name = "Effects"
  464. local refs2 = {}
  465. local createref = true
  466. if workspace:findFirstChild("SnowfRef", true) ~= nil then
  467. createref = false
  468. end
  469. local refs = it("Model", nil)
  470. refs.Name = "SnowfRef"
  471. Ref1 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref1", vt(210, 210, 210))
  472. Ref1.CanCollide = true
  473. Ref1.Anchored = true
  474. Ref1.Shape = "Ball"
  475. Ref2 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref2", vt(119, 119, 119))
  476. Ref2.CanCollide = true
  477. Ref2.Anchored = true
  478. Ref2.Shape = "Ball"
  479. Ref3 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref3", vt(130, 130, 130))
  480. Ref3.CanCollide = true
  481. Ref3.Anchored = true
  482. Ref3.Shape = "Ball"
  483. Ref4 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref4", vt(130, 100, 100))
  484. Ref4.CanCollide = true
  485. Ref4.Anchored = true
  486. Ref4.Shape = "Cylinder"
  487. Ref5 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref5", vt(130, 130, 130))
  488. Ref5.CanCollide = true
  489. Ref5.Anchored = true
  490. Ref5.Shape = "Ball"
  491. Ref6 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref6", vt(160, 105, 105))
  492. Ref6.CanCollide = true
  493. Ref6.Anchored = true
  494. Ref6.Shape = "Cylinder"
  495. Ref7 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref7", vt(170, 170, 170))
  496. Ref7.CanCollide = true
  497. Ref7.Anchored = true
  498. Ref7.Shape = "Ball"
  499. Ref8 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref8", vt(130, 130, 130))
  500. Ref8.CanCollide = true
  501. Ref8.Anchored = true
  502. Ref8.Shape = "Ball"
  503. Ref9 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref9", vt(130, 100, 100))
  504. Ref9.CanCollide = true
  505. Ref9.Anchored = true
  506. Ref9.Shape = "Cylinder"
  507. Ref10 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref10", vt(130, 130, 130))
  508. Ref10.CanCollide = true
  509. Ref10.Anchored = true
  510. Ref10.Shape = "Ball"
  511. Ref11 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref11", vt(160, 105, 105))
  512. Ref11.CanCollide = true
  513. Ref11.Anchored = true
  514. Ref11.Shape = "Cylinder"
  515. Ref12 = part(0, refs, 0, 1, BrickColor.new("Black"), "Ref12", vt(170, 170, 170))
  516. Ref12.CanCollide = true
  517. Ref12.Anchored = true
  518. Ref12.Shape = "Ball"
  519. if createref == false then
  520. refs = workspace.SnowfRef
  521. Ref1 = refs.Ref1
  522. Ref2 = refs.Ref2
  523. Ref3 = refs.Ref3
  524. Ref4 = refs.Ref4
  525. Ref5 = refs.Ref5
  526. Ref6 = refs.Ref6
  527. Ref7 = refs.Ref7
  528. Ref8 = refs.Ref8
  529. Ref9 = refs.Ref9
  530. Ref10 = refs.Ref10
  531. Ref11 = refs.Ref11
  532. Ref12 = refs.Ref12
  533. else
  534. end
  535. table.insert(refs2, {
  536. Ref1,
  537. Torso,
  538. cf(0, 0, 0)
  539. })
  540. table.insert(refs2, {
  541. Ref2,
  542. Head,
  543. cf(0, 0, 0)
  544. })
  545. table.insert(refs2, {
  546. Ref3,
  547. prt19,
  548. cf(0, 0, 0)
  549. })
  550. table.insert(refs2, {
  551. Ref4,
  552. prt21,
  553. euler(0, 0, math.rad(90))
  554. })
  555. table.insert(refs2, {
  556. Ref5,
  557. prt24,
  558. cf(0, 0, 0)
  559. })
  560. table.insert(refs2, {
  561. Ref6,
  562. prt29,
  563. euler(0, 0, math.rad(90))
  564. })
  565. table.insert(refs2, {
  566. Ref7,
  567. prt31,
  568. cf(0, 0, 0)
  569. })
  570. table.insert(refs2, {
  571. Ref8,
  572. prt33,
  573. cf(0, 0, 0)
  574. })
  575. table.insert(refs2, {
  576. Ref9,
  577. prt35,
  578. euler(0, 0, math.rad(90))
  579. })
  580. table.insert(refs2, {
  581. Ref10,
  582. prt38,
  583. cf(0, 0, 0)
  584. })
  585. table.insert(refs2, {
  586. Ref11,
  587. prt43,
  588. euler(0, 0, math.rad(90))
  589. })
  590. table.insert(refs2, {
  591. Ref12,
  592. prt45,
  593. cf(0, 0, 0)
  594. })
  595. for _, c in pairs(armor:children()) do
  596. table.insert(armorparts, c)
  597. end
  598. for _, c in pairs(prt1:children()) do
  599. table.insert(weaponwelds, c)
  600. end
  601. local hitbox = part(3, nil, 0, 1, BrickColor.new("Black"), "Hitbox", vt(1, 1, 1))
  602. local hitbox2 = part(3, nil, 0, 1, BrickColor.new("Black"), "Hitbox", vt(1, 1, 1))
  603. hitbox2.Anchored = true
  604. local hitboxCF = cf(0, 0, 0)
  605. local CurrentHealth = 3000
  606. Humanoid.MaxHealth = CurrentHealth
  607. Humanoid.Health = CurrentHealth
  608. local Stats = Instance.new("BoolValue")
  609. Stats.Name = "Stats"
  610. Stats.Parent = Character
  611. local Alive = Instance.new("BoolValue")
  612. Alive.Name = "Alive"
  613. Alive.Parent = Character
  614. Alive.Value = true
  615. local Atk = Instance.new("NumberValue")
  616. Atk.Name = "Damage"
  617. Atk.Parent = Stats
  618. Atk.Value = 1
  619. local Def = Instance.new("NumberValue")
  620. Def.Name = "Defense"
  621. Def.Parent = Stats
  622. Def.Value = 1
  623. local Mvmt = Instance.new("NumberValue")
  624. Mvmt.Name = "Movement"
  625. Mvmt.Parent = Stats
  626. Mvmt.Value = 1
  627. local Block = Instance.new("BoolValue")
  628. Block.Name = "Block"
  629. Block.Parent = Stats
  630. Block.Value = false
  631. local Stun = Instance.new("NumberValue")
  632. Stun.Name = "Stun"
  633. Stun.Parent = Stats
  634. Stun.Value = 0
  635. local StunT = Instance.new("NumberValue")
  636. StunT.Name = "StunThreshold"
  637. StunT.Parent = Stats
  638. StunT.Value = 800
  639. local Rooted = Instance.new("BoolValue")
  640. Rooted.Name = "Rooted"
  641. Rooted.Parent = Stats
  642. Rooted.Value = false
  643. local Stunned = Instance.new("BoolValue")
  644. Stunned.Name = "Stunned"
  645. Stunned.Parent = Stats
  646. Stunned.Value = false
  647. local Stagger = Instance.new("BoolValue")
  648. Stagger.Name = "Stagger"
  649. Stagger.Parent = Stats
  650. Stagger.Value = false
  651. local StaggerHit = Instance.new("BoolValue")
  652. StaggerHit.Name = "StaggerHit"
  653. StaggerHit.Parent = Stats
  654. StaggerHit.Value = false
  655. local Decrease = Instance.new("BoolValue")
  656. Decrease.Name = "Decrease"
  657. Decrease.Parent = Stats
  658. Decrease.Value = false
  659. local mana = Instance.new("NumberValue")
  660. mana.Name = "Mana"
  661. mana.Parent = Stats
  662. mana.Value = 0
  663. local boss = Instance.new("BoolValue")
  664. boss.Name = "Boss"
  665. boss.Parent = Stats
  666. boss.Value = true
  667. local ungrab = Instance.new("BoolValue")
  668. ungrab.Name = "Ungrabbable"
  669. ungrab.Parent = Stats
  670. ungrab.Value = true
  671. local Cryst1 = it("Model", nil)
  672. Cryst1.Name = "Crystal"
  673. local C1Head = part(0, Cryst1, 0, 0, BrickColor.new("Pastel light blue"), "Head", vt(5, 10, 5))
  674. C1Head.Anchored = true
  675. local C1msh = mesh("SpecialMesh", C1Head, "FileMesh", "9756362", vt(0, 0, 0), vt(10, 20, 10))
  676. local C1Torso = part(0, Cryst1, 0, 0.5, BrickColor.new("Pastel light blue"), "Torso", vt())
  677. C1Torso.Anchored = true
  678. local C1msh = mesh("SpecialMesh", C1Torso, "FileMesh", "9756362", vt(0, 0, 0), vt(-20, -50, -20))
  679. local C1S = Stats:Clone()
  680. C1S.Parent = Cryst1
  681. local Cryst2 = it("Model", nil)
  682. Cryst2.Name = "Crystal"
  683. local C2Head = C1Head:Clone()
  684. C2Head.Parent = Cryst2
  685. local C2Torso = C1Torso:Clone()
  686. C2Torso.Parent = Cryst2
  687. local C2S = Stats:Clone()
  688. C2S.Parent = Cryst2
  689. local Cryst3 = it("Model", nil)
  690. Cryst3.Name = "Crystal"
  691. local C3Head = C1Head:Clone()
  692. C3Head.Parent = Cryst3
  693. local C3Torso = C1Torso:Clone()
  694. C3Torso.Parent = Cryst3
  695. local C3S = Stats:Clone()
  696. C3S.Parent = Cryst3
  697. local Cryst4 = it("Model", nil)
  698. Cryst4.Name = "Crystal"
  699. local C4Head = C1Head:Clone()
  700. C4Head.Parent = Cryst4
  701. local C4Torso = C1Torso:Clone()
  702. C4Torso.Parent = Cryst4
  703. local C4S = Stats:Clone()
  704. C4S.Parent = Cryst4
  705. local C1Neck = weld(C1Torso, C1Torso, C1Head, euler(0, 0, 0) * cf(0, 0, 0))
  706. local C2Neck = weld(C2Torso, C2Torso, C2Head, euler(0, 0, 0) * cf(0, 0, 0))
  707. local C3Neck = weld(C3Torso, C3Torso, C3Head, euler(0, 0, 0) * cf(0, 0, 0))
  708. local C4Neck = weld(C4Torso, C4Torso, C4Head, euler(0, 0, 0) * cf(0, 0, 0))
  709. local C1Hum = it("Humanoid")
  710. local C2Hum = it("Humanoid")
  711. local C3Hum = it("Humanoid")
  712. local C4Hum = it("Humanoid")
  713. local C1a = false
  714. local C2a = false
  715. local C3a = false
  716. local C4a = false
  717. function so(id, par, vol, pit)
  718. local sou = Instance.new("Sound", par or workspace)
  719. sou.Volume = vol
  720. sou.Pitch = pit or 1
  721. sou.SoundId = "http://www.roblox.com/asset/?id=" .. id
  722. sou:play()
  723. game:GetService("Debris"):AddItem(sou, 6)
  724. end
  725. local CFrameFromTopBack = function(at, top, back)
  726. local right = top:Cross(back)
  727. return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  728. end
  729. function Triangle(a, b, c)
  730. local edg1 = c - a:Dot(b - a.unit)
  731. local edg2 = a - b:Dot(c - b.unit)
  732. local edg3 = b - c:Dot(a - c.unit)
  733. if edg1 <= b - a.magnitude and edg1 >= 0 then
  734. a, b = a, b
  735. elseif edg2 <= c - b.magnitude and edg2 >= 0 then
  736. a, b, c = b, c, a
  737. elseif edg3 <= a - c.magnitude and edg3 >= 0 then
  738. a, b, c = c, a, b
  739. else
  740. assert(false, "unreachable")
  741. end
  742. local len1 = c - a:Dot(b - a.unit)
  743. local len2 = b - a.magnitude - len1
  744. local width = a + b - a.unit * len1 - c.magnitude
  745. local maincf = CFrameFromTopBack(a, b - a:Cross(c - b).unit, -b - a.unit)
  746. local list = {}
  747. if len1 > 0.01 then
  748. local w1 = Instance.new("WedgePart", m)
  749. w1.Name = "Triangle"
  750. game:GetService("Debris"):AddItem(w1, 5)
  751. w1.Material = "SmoothPlastic"
  752. w1.FormFactor = "Custom"
  753. w1.BrickColor = BrickColor.new("Teal")
  754. w1.Transparency = 0
  755. w1.Reflectance = 0
  756. w1.Material = "SmoothPlastic"
  757. w1.CanCollide = false
  758. NoOutline(w1)
  759. local sz = Vector3.new(0.2, width, len1)
  760. w1.Size = sz
  761. local sp = Instance.new("SpecialMesh", w1)
  762. sp.MeshType = "Wedge"
  763. sp.Scale = Vector3.new(0, 1, 1) * sz / w1.Size
  764. w1:BreakJoints()
  765. w1.Anchored = true
  766. w1.Parent = workspace
  767. w1.Transparency = 0.7
  768. table.insert(Effects, {
  769. w1,
  770. "Disappear",
  771. 0.05
  772. })
  773. w1.CFrame = maincf * CFrame.Angles(math.pi, 0, math.pi / 2) * CFrame.new(0, width / 2, len1 / 2)
  774. table.insert(list, w1)
  775. end
  776. if len2 > 0.01 then
  777. local w2 = Instance.new("WedgePart", m)
  778. w2.Name = "Triangle"
  779. game:GetService("Debris"):AddItem(w2, 5)
  780. w2.Material = "SmoothPlastic"
  781. w2.FormFactor = "Custom"
  782. w2.BrickColor = BrickColor.new("Teal")
  783. w2.Transparency = 0
  784. w2.Reflectance = 0
  785. w2.Material = "SmoothPlastic"
  786. w2.CanCollide = false
  787. NoOutline(w2)
  788. local sz = Vector3.new(0.2, width, len2)
  789. w2.Size = sz
  790. local sp = Instance.new("SpecialMesh", w2)
  791. sp.MeshType = "Wedge"
  792. sp.Scale = Vector3.new(0, 1, 1) * sz / w2.Size
  793. w2:BreakJoints()
  794. w2.Anchored = true
  795. w2.Parent = workspace
  796. w2.Transparency = 0.7
  797. table.insert(Effects, {
  798. w2,
  799. "Disappear",
  800. 0.05
  801. })
  802. w2.CFrame = maincf * CFrame.Angles(math.pi, math.pi, -math.pi / 2) * CFrame.new(0, width / 2, -len1 - len2 / 2)
  803. table.insert(list, w2)
  804. end
  805. return unpack(list)
  806. end
  807. function MagicBlock(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
  808. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  809. prt.Anchored = true
  810. prt.CFrame = cframe
  811. msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
  812. game:GetService("Debris"):AddItem(prt, 10)
  813. if Type == 1 or Type == nil then
  814. table.insert(Effects, {
  815. prt,
  816. "Block1",
  817. delay,
  818. x3,
  819. y3,
  820. z3,
  821. msh
  822. })
  823. elseif Type == 2 then
  824. table.insert(Effects, {
  825. prt,
  826. "Block2",
  827. delay,
  828. x3,
  829. y3,
  830. z3,
  831. msh
  832. })
  833. end
  834. end
  835. function MagicCircle(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  836. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  837. prt.Anchored = true
  838. prt.CFrame = cframe
  839. local msh = mesh("SpecialMesh", prt, "Sphere", "nil", vt(0, 0, 0), vt(x1, y1, z1))
  840. game:GetService("Debris"):AddItem(prt, 10)
  841. table.insert(Effects, {
  842. prt,
  843. "Cylinder",
  844. delay,
  845. x3,
  846. y3,
  847. z3,
  848. msh
  849. })
  850. end
  851. function MagicCircle2(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, push)
  852. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  853. prt.Anchored = true
  854. prt.CFrame = cframe
  855. local msh = mesh("SpecialMesh", prt, "Sphere", "nil", vt(0, 0, 0), vt(x1, y1, z1))
  856. game:GetService("Debris"):AddItem(prt, 10)
  857. table.insert(Effects, {
  858. prt,
  859. "Blood",
  860. delay,
  861. x3,
  862. y3,
  863. z3,
  864. msh,
  865. push
  866. })
  867. end
  868. function MagicRing(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  869. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
  870. prt.Anchored = true
  871. prt.CFrame = cframe * cf(x2, y2, z2)
  872. local msh = mesh("SpecialMesh", prt, "FileMesh", "3270017", vt(0, 0, 0), vt(x1, y1, z1))
  873. game:GetService("Debris"):AddItem(prt, 10)
  874. table.insert(Effects, {
  875. prt,
  876. "Cylinder",
  877. delay,
  878. x3,
  879. y3,
  880. z3,
  881. msh
  882. })
  883. end
  884. function MagicCylinder(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  885. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  886. prt.Anchored = true
  887. prt.CFrame = cframe
  888. local msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
  889. game:GetService("Debris"):AddItem(prt, 10)
  890. table.insert(Effects, {
  891. prt,
  892. "Cylinder",
  893. delay,
  894. x3,
  895. y3,
  896. z3,
  897. msh
  898. })
  899. end
  900. function MagicHead(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  901. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  902. prt.Anchored = true
  903. prt.CFrame = cframe
  904. local msh = mesh("SpecialMesh", prt, "Head", "nil", vt(0, 0, 0), vt(x1, y1, z1))
  905. game:GetService("Debris"):AddItem(prt, 10)
  906. table.insert(Effects, {
  907. prt,
  908. "Cylinder",
  909. delay,
  910. x3,
  911. y3,
  912. z3,
  913. msh
  914. })
  915. end
  916. function ClangEffect(brickcolor, cframe, duration, decrease, size, power)
  917. local prt = part(3, effects, 0, 1, brickcolor, "Effect", vt())
  918. prt.Anchored = true
  919. prt.CFrame = cframe
  920. local msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(5, 5, 5))
  921. game:GetService("Debris"):AddItem(prt, 10)
  922. table.insert(Effects, {
  923. prt,
  924. "CylinderClang",
  925. duration,
  926. decrease,
  927. size,
  928. power,
  929. prt.CFrame,
  930. nil
  931. })
  932. end
  933. function MagicWave(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  934. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  935. prt.Anchored = true
  936. prt.CFrame = cframe
  937. local msh = mesh("SpecialMesh", prt, "FileMesh", "20329976", vt(0, 0, 0), vt(x1, y1, z1))
  938. game:GetService("Debris"):AddItem(prt, 10)
  939. table.insert(Effects, {
  940. prt,
  941. "Cylinder",
  942. delay,
  943. x3,
  944. y3,
  945. z3,
  946. msh
  947. })
  948. end
  949. function MagicWave2(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  950. local prt = part(3, workspace, 0, 0, brickcolor, "Effect", vt())
  951. prt.Anchored = true
  952. prt.CFrame = cframe
  953. local msh = mesh("SpecialMesh", prt, "FileMesh", "1323306", vt(0, 0, 0), vt(x1, y1, z1))
  954. game:GetService("Debris"):AddItem(prt, 10)
  955. table.insert(Effects, {
  956. prt,
  957. "Cylinder2",
  958. delay,
  959. x3,
  960. y3,
  961. z3,
  962. msh,
  963. 0
  964. })
  965. end
  966. function MagicCrystal(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
  967. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt())
  968. prt.Anchored = true
  969. prt.CFrame = cframe
  970. local msh = mesh("SpecialMesh", prt, "FileMesh", "9756362", vt(0, 0, 0), vt(x1, y1, z1))
  971. game:GetService("Debris"):AddItem(prt, 10)
  972. table.insert(Effects, {
  973. prt,
  974. "Cylinder",
  975. delay,
  976. x3,
  977. y3,
  978. z3,
  979. msh
  980. })
  981. end
  982. function BreakEffect(brickcolor, cframe, x1, y1, z1)
  983. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
  984. prt.Anchored = true
  985. prt.CFrame = cframe * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  986. game:GetService("Debris"):AddItem(prt, 10)
  987. local msh = mesh("SpecialMesh", prt, "Sphere", "nil", vt(0, 0, 0), vt(x1, y1, z1))
  988. local num = math.random(10, 50) / 1000
  989. table.insert(Effects, {
  990. prt,
  991. "Shatter",
  992. num,
  993. prt.CFrame,
  994. math.random() - math.random(),
  995. 0,
  996. math.random(50, 100) / 100
  997. })
  998. end
  999. function BreakEffect2(brickcolor, cframe, x1, y1, z1)
  1000. local prt = part(3, effects, 0, 0, brickcolor, "Effect", vt(0.5, 0.5, 0.5))
  1001. prt.Anchored = true
  1002. prt.CFrame = cframe * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  1003. game:GetService("Debris"):AddItem(prt, 10)
  1004. local msh = mesh("SpecialMesh", prt, "Sphere", "nil", vt(0, 0, 0), vt(x1, y1, z1))
  1005. local num = math.random(10, 50) / 1000
  1006. table.insert(Effects, {
  1007. prt,
  1008. "Shatter",
  1009. num,
  1010. prt.CFrame,
  1011. math.random() - math.random(),
  1012. 0,
  1013. math.random(300, 1000) / 100
  1014. })
  1015. end
  1016. local MaxPieces = 10
  1017. local Explode = true
  1018. local Connection
  1019. function IsWhole(Number)
  1020. return math.ceil(Number) == Number
  1021. end
  1022. function ChangeAxis(Vector, Axis, Value)
  1023. if Axis == "x" then
  1024. return Vector3.new(Value, Vector.y, Vector.z)
  1025. end
  1026. if Axis == "y" then
  1027. return Vector3.new(Vector.x, Value, Vector.z)
  1028. end
  1029. if Axis == "z" then
  1030. return Vector3.new(Vector.x, Vector.y, Value)
  1031. end
  1032. end
  1033. function Break(mouse)
  1034. local Targ = mouse
  1035. local oldParent = mouse.Parent
  1036. local FF = 1
  1037. if Targ.formFactor == Enum.FormFactor.Symmetric then
  1038. FF = 1
  1039. end
  1040. if Targ.formFactor == Enum.FormFactor.Brick then
  1041. FF = 1.2
  1042. end
  1043. if Targ.formFactor == Enum.FormFactor.Plate then
  1044. FF = 0.4
  1045. end
  1046. local New = Targ:Clone()
  1047. local Rotation = Targ.CFrame - Targ.CFrame.p
  1048. local SizeFactorX = 1
  1049. local SizeFactorY = FF
  1050. local SizeFactorZ = 1
  1051. local Extra = Targ.Size.x * Targ.Size.y * Targ.Size.z / (SizeFactorX * SizeFactorY * SizeFactorZ) / MaxPieces
  1052. while Extra > 1 do
  1053. SizeFactorX = SizeFactorX * 2
  1054. SizeFactorY = SizeFactorY * 2
  1055. SizeFactorZ = SizeFactorZ * 2
  1056. if SizeFactorX > Targ.Size.x then
  1057. SizeFactorX = Targ.Size.x
  1058. end
  1059. if SizeFactorY > Targ.Size.y then
  1060. SizeFactorY = Targ.Size.y
  1061. end
  1062. if SizeFactorZ > Targ.Size.z then
  1063. SizeFactorZ = Targ.Size.z
  1064. end
  1065. Extra = Targ.Size.x * Targ.Size.y * Targ.Size.z / (SizeFactorX * SizeFactorY * SizeFactorZ) / MaxPieces
  1066. end
  1067. local Start = Targ.Position - Targ.CFrame.lookVector * (Targ.Size.z / 2 + SizeFactorZ / 2) - Targ.CFrame * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0).lookVector * (Targ.Size.x / 2 + SizeFactorX / 2) - Targ.CFrame * CFrame.fromEulerAnglesXYZ(math.pi / 2, 0, 0).lookVector * (Targ.Size.y / 2 + SizeFactorY / 2)
  1068. New.Size = Vector3.new(SizeFactorX, SizeFactorY, SizeFactorZ)
  1069. New.Anchored = false
  1070. local OverShootZ = Targ.Size.z / SizeFactorZ - math.floor(Targ.Size.z / SizeFactorZ)
  1071. local OverShootX = Targ.Size.x / SizeFactorX - math.floor(Targ.Size.x / SizeFactorX)
  1072. local OverShootY = Targ.Size.y / SizeFactorY - math.floor(Targ.Size.y / SizeFactorY)
  1073. for z = 1, math.ceil(Targ.Size.z / SizeFactorZ) do
  1074. if OverShootZ > 0 then
  1075. if z == math.ceil(Targ.Size.z / SizeFactorZ) then
  1076. z = z - (1 - OverShootZ) / 2
  1077. New.Size = ChangeAxis(New.Size, "z", OverShootZ * SizeFactorZ)
  1078. else
  1079. New.Size = ChangeAxis(New.Size, "z", SizeFactorZ)
  1080. end
  1081. end
  1082. for y = 1, math.ceil(Targ.Size.y / SizeFactorY) do
  1083. if OverShootY > 0 then
  1084. if y == math.ceil(Targ.Size.y / SizeFactorY) then
  1085. y = y - (1 - OverShootY) / 2
  1086. New.Size = ChangeAxis(New.Size, "y", OverShootY * SizeFactorY)
  1087. else
  1088. New.Size = ChangeAxis(New.Size, "y", SizeFactorY)
  1089. end
  1090. end
  1091. for x = 1, math.ceil(Targ.Size.x / SizeFactorX) do
  1092. if OverShootX > 0 then
  1093. if x == math.ceil(Targ.Size.x / SizeFactorX) then
  1094. x = x - (1 - OverShootX) / 2
  1095. New.Size = ChangeAxis(New.Size, "x", OverShootX * SizeFactorX)
  1096. else
  1097. New.Size = ChangeAxis(New.Size, "x", SizeFactorX)
  1098. end
  1099. end
  1100. local N = New:Clone()
  1101. N.CFrame = CFrame.new(Start + Targ.CFrame.lookVector * z * SizeFactorZ + Targ.CFrame * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0).lookVector * x * SizeFactorX + Targ.CFrame * CFrame.fromEulerAnglesXYZ(math.pi / 2, 0, 0).lookVector * y * SizeFactorY) * Rotation
  1102. N.Parent = workspace
  1103. N.CanCollide = false
  1104. N.Velocity = vt(math.random(-300, 300), math.random(-20, 40), math.random(-300, 300))
  1105. N.RotVelocity = vt(math.random(-100, 100) / 100, math.random(-100, 100) / 100, math.random(-100, 100) / 100)
  1106. game:GetService("Debris"):AddItem(N, 5)
  1107. end
  1108. end
  1109. end
  1110. Targ:Remove()
  1111. end
  1112. local BodGy = Instance.new("BodyGyro")
  1113. BodGy.maxTorque = Vector3.new(0, 400000, 0)
  1114. BodGy.P = 2000
  1115. BodGy.D = 100
  1116. BodGy.Name = "SiegmundGyro"
  1117. CF = RootPart.CFrame
  1118. BodGy.Parent = RootPart
  1119. BodGy.cframe = CF
  1120. sizeseq = ns({
  1121. nsk(0, 4),
  1122. nsk(0.027, 8.5),
  1123. nsk(0.184, 9),
  1124. nsk(1, 10)
  1125. })
  1126. transseq = ns({
  1127. nsk(0, 0.375),
  1128. nsk(0.4, 1),
  1129. nsk(1, 1)
  1130. })
  1131. local icicleparti1 = particle(Torso, Color3.new(1, 1, 1), Color3.new(0.39215686274509803, 0.39215686274509803, 1), 0.2, sizeseq, "http://www.roblox.com/asset/?id=329766994", transseq, 0, vt(0, -0.5, 0), 0, false, 0, "Bottom", false, nr(7, 10), 15, nr(-360, 360), nr(-30, 30), nr(3), 20)
  1132. sizeseq = ns({
  1133. nsk(0, 5),
  1134. nsk(0.025, 7.7),
  1135. nsk(0.192, 9),
  1136. nsk(1, 10)
  1137. })
  1138. transseq = ns({
  1139. nsk(0, 0.8),
  1140. nsk(0.3, 1),
  1141. nsk(1, 1)
  1142. })
  1143. local icicleparti2 = particle(Torso, Color3.new(1, 1, 1), Color3.new(0.39215686274509803, 0.39215686274509803, 1), 0.3, sizeseq, "http://www.roblox.com/asset/?id=241594419", transseq, 0, vt(0, -0.5, 0), 0, false, 0, "Bottom", false, nr(7, 10), 80, nr(-360, 360), nr(-30, 30), nr(3), 20)
  1144. sizeseq = ns({
  1145. nsk(0, 0.328),
  1146. nsk(0.075, 3.11),
  1147. nsk(0.206, 4.97),
  1148. nsk(1, 10)
  1149. })
  1150. transseq = ns({
  1151. nsk(0, 0.363),
  1152. nsk(0.107, 1),
  1153. nsk(1, 1)
  1154. })
  1155. msh3.Scale = vt(4, 0, 8.5)
  1156. msh5.Scale = vt(4, 0, 8.5)
  1157. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.4, 0, 0), 1)
  1158. RootJoint.C0 = RootJoint.C0:lerp(euler(-0.2, 0, 0.1) * cf(-1.749, -60, -30), 1)
  1159. wld19.C0 = wld19.C0:lerp(euler(-0.4, 0.3, 0) * cf(94, -47.5, -2.248), 1)
  1160. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, -0.6) * euler(0, -0.8, 0) * euler(0, 0, 0), 1)
  1161. wld24.C0 = wld24.C0:lerp(euler(1.4, 0.5, 0) * cf(0, 90.25, 0), 1)
  1162. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 1)
  1163. wld33.C0 = wld33.C0:lerp(euler(-0.4, -0.3, 0) * cf(-94, -47.5, -2.248), 1)
  1164. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.8) * euler(0, 0.8, 0) * euler(0.8, 0, 0), 1)
  1165. wld38.C0 = wld38.C0:lerp(euler(-0.6, 1, 0) * cf(0, -90.25, 0), 1)
  1166. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 1)
  1167. for i = 0, 1, 0.05 do
  1168. swait()
  1169. msh3.Scale = vt(4, 1 + 7.5 * i, 8.5)
  1170. msh5.Scale = vt(4, 1 + 7.5 * i, 8.5)
  1171. end
  1172. msh3.Scale = vt(4, 8.5, 8.5)
  1173. msh5.Scale = vt(4, 8.5, 8.5)
  1174. stunanim = true
  1175. attack = true
  1176. stunanim = false
  1177. attack = false
  1178. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.4, 0, 0), 1)
  1179. function TriIceShards()
  1180. local dacfm = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1181. local dacf = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1182. local dacf2 = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1183. local dacf3 = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1184. local icepart1 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1185. icepart1.Anchored = true
  1186. i1msh = mesh("SpecialMesh", icepart1, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1187. icepart1.CFrame = dacf
  1188. local icepart2 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1189. icepart2.Anchored = true
  1190. i2msh = mesh("SpecialMesh", icepart2, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1191. icepart2.CFrame = dacf2
  1192. local icepart3 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1193. icepart3.Anchored = true
  1194. i3msh = mesh("SpecialMesh", icepart3, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1195. icepart3.CFrame = dacf3
  1196. local partic1 = icicleparti1:Clone()
  1197. partic1.Parent = icepart1
  1198. partic1.Enabled = true
  1199. local partic2 = icicleparti2:Clone()
  1200. partic2.Parent = icepart1
  1201. partic2.Enabled = true
  1202. local partic3 = icicleparti1:Clone()
  1203. partic3.Parent = icepart2
  1204. partic3.Enabled = true
  1205. local partic4 = icicleparti2:Clone()
  1206. partic4.Parent = icepart2
  1207. partic4.Enabled = true
  1208. local partic5 = icicleparti1:Clone()
  1209. partic5.Parent = icepart3
  1210. partic5.Enabled = true
  1211. local partic6 = icicleparti2:Clone()
  1212. partic6.Parent = icepart3
  1213. partic6.Enabled = true
  1214. for i = 0, 1, 0.1 do
  1215. swait()
  1216. icepart1.CFrame = dacf
  1217. icepart2.CFrame = dacf2
  1218. icepart3.CFrame = dacf3
  1219. dacf = dacf * cf(0, math.random(500, 1000) / 10, 0)
  1220. dacf2 = dacf2 * cf(0, math.random(500, 1000) / 10, 0)
  1221. dacf3 = dacf3 * cf(0, math.random(500, 1000) / 10, 0)
  1222. end
  1223. local target1, distance1 = findRandomTorso(icepart1.Position)
  1224. local target2, distance2 = findRandomTorso(icepart2.Position)
  1225. local target3, distance3 = findRandomTorso(icepart3.Position)
  1226. MagicBlock(BrickColor.new("Cyan"), cf(icepart1.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1227. MagicBlock(BrickColor.new("Cyan"), cf(icepart2.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1228. MagicBlock(BrickColor.new("Cyan"), cf(icepart3.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1229. if target1 ~= nil then
  1230. so("333475957", icepart1, 1, 0.9)
  1231. local MouseLook = cf((icepart1.Position + target1.Position) / 2, target1.Position + vt(math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100))
  1232. table.insert(Effects, {
  1233. MouseLook,
  1234. "ShootIce",
  1235. 200,
  1236. icepart1.Position,
  1237. 5,
  1238. 7,
  1239. 0,
  1240. icepart1,
  1241. 10,
  1242. 1,
  1243. partic1,
  1244. partic2
  1245. })
  1246. else
  1247. icepart1.Parent = nil
  1248. end
  1249. if target2 ~= nil then
  1250. so("333475957", icepart2, 1, 0.9)
  1251. local MouseLook = cf((icepart2.Position + target2.Position) / 2, target2.Position + vt(math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100))
  1252. table.insert(Effects, {
  1253. MouseLook,
  1254. "ShootIce",
  1255. 200,
  1256. icepart2.Position,
  1257. 5,
  1258. 7,
  1259. 0,
  1260. icepart2,
  1261. 10,
  1262. 1,
  1263. partic3,
  1264. partic4
  1265. })
  1266. else
  1267. icepart2.Parent = nil
  1268. end
  1269. if target3 ~= nil then
  1270. so("333475957", icepart3, 1, 0.9)
  1271. local MouseLook = cf((icepart3.Position + target3.Position) / 2, target3.Position + vt(math.random(-200, 200) / 100, math.random(-200, 200) / 100, math.random(-200, 200) / 100))
  1272. table.insert(Effects, {
  1273. MouseLook,
  1274. "ShootIce",
  1275. 200,
  1276. icepart3.Position,
  1277. 8,
  1278. 10,
  1279. 0,
  1280. icepart3,
  1281. 10,
  1282. 1,
  1283. partic5,
  1284. partic6
  1285. })
  1286. else
  1287. icepart3.Parent = nil
  1288. end
  1289. end
  1290. function TriIceShards2()
  1291. local dacfm = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1292. local dacf = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1293. local dacf2 = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1294. local dacf3 = Torso.CFrame * euler(-1.57 + math.random(60, 120) / 100, 0, math.random(-80, 80) / 100)
  1295. local icepart1 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1296. icepart1.Anchored = true
  1297. i1msh = mesh("SpecialMesh", icepart1, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1298. icepart1.CFrame = dacf
  1299. local icepart2 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1300. icepart2.Anchored = true
  1301. i2msh = mesh("SpecialMesh", icepart2, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1302. icepart2.CFrame = dacf2
  1303. local icepart3 = part(3, effects, 0.5, 0, BrickColor.new("Pearl"), "Ice", vt())
  1304. icepart3.Anchored = true
  1305. i3msh = mesh("SpecialMesh", icepart3, "FileMesh", "1778999", vt(0, 0, 0), vt(6, 18, 6))
  1306. icepart3.CFrame = dacf3
  1307. local partic1 = icicleparti1:Clone()
  1308. partic1.Parent = icepart1
  1309. partic1.Enabled = true
  1310. local partic2 = icicleparti2:Clone()
  1311. partic2.Parent = icepart1
  1312. partic2.Enabled = true
  1313. local partic3 = icicleparti1:Clone()
  1314. partic3.Parent = icepart2
  1315. partic3.Enabled = true
  1316. local partic4 = icicleparti2:Clone()
  1317. partic4.Parent = icepart2
  1318. partic4.Enabled = true
  1319. local partic5 = icicleparti1:Clone()
  1320. partic5.Parent = icepart3
  1321. partic5.Enabled = true
  1322. local partic6 = icicleparti2:Clone()
  1323. partic6.Parent = icepart3
  1324. partic6.Enabled = true
  1325. for i = 0, 1, 0.1 do
  1326. swait()
  1327. icepart1.CFrame = dacf
  1328. icepart2.CFrame = dacf2
  1329. icepart3.CFrame = dacf3
  1330. dacf = dacf * cf(0, math.random(500, 1000) / 10, 0)
  1331. dacf2 = dacf2 * cf(0, math.random(500, 1000) / 10, 0)
  1332. dacf3 = dacf3 * cf(0, math.random(500, 1000) / 10, 0)
  1333. end
  1334. local target1, distance1 = findNearestTorso(Head.Position)
  1335. local target2, distance2 = findNearestTorso(Head.Position)
  1336. local target3, distance3 = findNearestTorso(Head.Position)
  1337. MagicBlock(BrickColor.new("Cyan"), cf(icepart1.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1338. MagicBlock(BrickColor.new("Cyan"), cf(icepart2.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1339. MagicBlock(BrickColor.new("Cyan"), cf(icepart3.Position), 60, 60, 60, 20, 20, 20, 0.1, 1)
  1340. if target1 ~= nil then
  1341. so("333475957", icepart1, 1, 0.9)
  1342. local MouseLook = cf((icepart1.Position + target1.Position) / 2, target1.Position + vt(math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100))
  1343. table.insert(Effects, {
  1344. MouseLook,
  1345. "ShootIce",
  1346. 200,
  1347. icepart1.Position,
  1348. 5,
  1349. 7,
  1350. 0,
  1351. icepart1,
  1352. 10,
  1353. 1,
  1354. partic1,
  1355. partic2
  1356. })
  1357. else
  1358. icepart1.Parent = nil
  1359. end
  1360. if target2 ~= nil then
  1361. so("333475957", icepart2, 1, 0.9)
  1362. local MouseLook = cf((icepart2.Position + target2.Position) / 2, target2.Position + vt(math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100, math.random(-1000, 1000) / 100))
  1363. table.insert(Effects, {
  1364. MouseLook,
  1365. "ShootIce",
  1366. 200,
  1367. icepart2.Position,
  1368. 5,
  1369. 7,
  1370. 0,
  1371. icepart2,
  1372. 10,
  1373. 1,
  1374. partic3,
  1375. partic4
  1376. })
  1377. else
  1378. icepart2.Parent = nil
  1379. end
  1380. if target3 ~= nil then
  1381. so("333475957", icepart3, 1, 0.9)
  1382. local MouseLook = cf((icepart3.Position + target3.Position) / 2, target3.Position + vt(math.random(-200, 200) / 100, math.random(-200, 200) / 100, math.random(-200, 200) / 100))
  1383. table.insert(Effects, {
  1384. MouseLook,
  1385. "ShootIce",
  1386. 200,
  1387. icepart3.Position,
  1388. 8,
  1389. 10,
  1390. 0,
  1391. icepart3,
  1392. 10,
  1393. 1,
  1394. partic5,
  1395. partic6
  1396. })
  1397. else
  1398. icepart3.Parent = nil
  1399. end
  1400. end
  1401. function TriOrbs()
  1402. local dacf = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1403. local dacf2 = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1404. local dacf3 = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1405. local icepart1 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1406. icepart1.Anchored = true
  1407. i1msh = mesh("SpecialMesh", icepart1, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1408. icepart1.CFrame = dacf
  1409. local icepart2 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1410. icepart2.Anchored = true
  1411. i2msh = mesh("SpecialMesh", icepart2, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1412. icepart2.CFrame = dacf2
  1413. local icepart3 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1414. icepart3.Anchored = true
  1415. i3msh = mesh("SpecialMesh", icepart3, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1416. icepart3.CFrame = dacf3
  1417. local partic1 = icicleparti2:Clone()
  1418. partic1.Parent = icepart1
  1419. partic1.Enabled = true
  1420. local partic3 = icicleparti2:Clone()
  1421. partic3.Parent = icepart2
  1422. partic3.Enabled = true
  1423. local partic5 = icicleparti2:Clone()
  1424. partic5.Parent = icepart3
  1425. partic5.Enabled = true
  1426. for i = 0, 1, 0.1 do
  1427. swait()
  1428. icepart1.CFrame = dacf
  1429. icepart2.CFrame = dacf2
  1430. icepart3.CFrame = dacf3
  1431. dacf = dacf * cf(0, math.random(400, 800) / 10, 0)
  1432. dacf2 = dacf2 * cf(0, math.random(400, 800) / 10, 0)
  1433. dacf3 = dacf3 * cf(0, math.random(400, 800) / 10, 0)
  1434. end
  1435. local target1, distance1 = findRandomTorso(icepart1.Position)
  1436. local target2, distance2 = findRandomTorso(icepart2.Position)
  1437. local target3, distance3 = findRandomTorso(icepart3.Position)
  1438. local test1, dist1 = findNearestTorso(Head.Position)
  1439. local pos1, pos2, pos3
  1440. local refpart1 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1441. refpart1.Anchored = true
  1442. local refpart2 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1443. refpart2.Anchored = true
  1444. local refpart3 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1445. refpart3.Anchored = true
  1446. if target1 ~= nil then
  1447. pos1 = target1.Position
  1448. refpart1.CFrame = cf(pos1) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1449. end
  1450. if target2 ~= nil then
  1451. pos2 = target2.Position
  1452. refpart2.CFrame = cf(pos2) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1453. end
  1454. if target3 ~= nil then
  1455. pos3 = target3.Position
  1456. refpart3.CFrame = cf(pos3) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1457. end
  1458. local move = 40
  1459. for i = 0, 1, 0.1 do
  1460. swait()
  1461. move = 40 - 40 * i
  1462. if target1 ~= nil then
  1463. refpart1.CFrame = cf(refpart1.Position, target1.Position)
  1464. MagicCircle2(BrickColor.new("Cyan"), icepart1.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1465. icepart1.CFrame = dacf
  1466. dacf = dacf * cf(0, move, 0)
  1467. end
  1468. if target2 ~= nil then
  1469. refpart2.CFrame = cf(refpart2.Position, target2.Position)
  1470. MagicCircle2(BrickColor.new("Cyan"), icepart2.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1471. icepart2.CFrame = dacf2
  1472. dacf2 = dacf2 * cf(0, move, 0)
  1473. end
  1474. if target3 ~= nil then
  1475. refpart3.CFrame = cf(refpart3.Position, target3.Position)
  1476. MagicCircle2(BrickColor.new("Cyan"), icepart3.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1477. icepart3.CFrame = dacf3
  1478. dacf3 = dacf3 * cf(0, move, 0)
  1479. end
  1480. end
  1481. local laser1 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1482. laser1.Anchored = true
  1483. local lmsh1 = mesh("SpecialMesh", laser1, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1484. local laser2 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1485. laser2.Anchored = true
  1486. local lmsh2 = mesh("SpecialMesh", laser2, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1487. local laser3 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1488. laser3.Anchored = true
  1489. local lmsh3 = mesh("SpecialMesh", laser3, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1490. local ref = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1491. ref.Anchored = true
  1492. ref.CFrame = cf(0, 0, 0)
  1493. game:GetService("Debris"):AddItem(ref, 1)
  1494. local ref1 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1495. ref1.Anchored = true
  1496. ref1.CFrame = cf(0, 0, 0)
  1497. game:GetService("Debris"):AddItem(ref1, 5)
  1498. local ice1 = 0
  1499. local ref2 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1500. ref2.Anchored = true
  1501. ref2.CFrame = cf(0, 0, 0)
  1502. game:GetService("Debris"):AddItem(ref2, 5)
  1503. local ice2 = 2
  1504. local ref3 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1505. ref3.Anchored = true
  1506. ref3.CFrame = cf(0, 0, 0)
  1507. game:GetService("Debris"):AddItem(ref3, 5)
  1508. local ice3 = 4
  1509. for i = 0, 3, 0.05 do
  1510. swait()
  1511. ice1 = ice1 + 1
  1512. ice2 = ice2 + 1
  1513. ice3 = ice3 + 1
  1514. if target1 ~= nil then
  1515. if i > 1 then
  1516. refpart1.CFrame = refpart1.CFrame * cf(0, 0, -1.5)
  1517. end
  1518. local cfnew = cf(icepart1.Position, refpart1.Position)
  1519. local hit1, pos1 = rayCast(icepart1.Position, cfnew.lookVector, 9999, Character)
  1520. local mag1 = icepart1.Position - pos1.magnitude
  1521. laser1.CFrame = CFrame.new((icepart1.Position + pos1) / 2, pos1) * angles(1.57, 0, 0)
  1522. lmsh1.Scale = vt(10, mag1 * 5, 10)
  1523. MagicBlock(BrickColor.new("Cyan"), cf(pos1), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1524. ref.CFrame = cf(pos1)
  1525. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1526. ref1.CFrame = cf(ref.Position)
  1527. if ice1 % 2 == 0 then
  1528. so("333476017", ref1, 0.3, 1.4)
  1529. end
  1530. end
  1531. if target2 ~= nil then
  1532. if i > 1 then
  1533. refpart2.CFrame = refpart2.CFrame * cf(0, 0, -1.5)
  1534. end
  1535. local cfnew = cf(icepart2.Position, refpart2.Position)
  1536. local hit2, pos2 = rayCast(icepart2.Position, cfnew.lookVector, 9999, Character)
  1537. local mag2 = icepart2.Position - pos2.magnitude
  1538. laser2.CFrame = CFrame.new((icepart2.Position + pos2) / 2, pos2) * angles(1.57, 0, 0)
  1539. lmsh2.Scale = vt(10, mag2 * 5, 10)
  1540. MagicBlock(BrickColor.new("Cyan"), cf(pos2), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1541. ref.CFrame = cf(pos2)
  1542. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1543. ref2.CFrame = cf(ref.Position)
  1544. if ice2 % 2 == 0 then
  1545. so("333476017", ref2, 0.3, 1.4)
  1546. end
  1547. end
  1548. if target3 ~= nil then
  1549. if i > 1 then
  1550. refpart3.CFrame = refpart3.CFrame * cf(0, 0, -1.5)
  1551. end
  1552. local cfnew = cf(icepart3.Position, refpart3.Position)
  1553. local hit3, pos3 = rayCast(icepart3.Position, cfnew.lookVector, 9999, Character)
  1554. local mag3 = icepart3.Position - pos3.magnitude
  1555. laser3.CFrame = CFrame.new((icepart3.Position + pos3) / 2, pos3) * angles(1.57, 0, 0)
  1556. lmsh3.Scale = vt(10, mag3 * 5, 10)
  1557. MagicBlock(BrickColor.new("Cyan"), cf(pos3), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1558. ref.CFrame = cf(pos3)
  1559. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1560. ref3.CFrame = cf(ref.Position)
  1561. if ice3 % 2 == 0 then
  1562. so("333476017", ref3, 0.3, 1.4)
  1563. end
  1564. end
  1565. end
  1566. if target1 ~= nil then
  1567. local pos1 = laser1.CFrame
  1568. local x1 = lmsh1.Scale.X
  1569. local y1 = lmsh1.Scale.Y
  1570. local z1 = lmsh1.Scale.Z
  1571. MagicHead(BrickColor.new("Cyan"), pos1, x1, y1, z1, 1, 1, 1, 0.1)
  1572. end
  1573. if target2 ~= nil then
  1574. local pos2 = laser2.CFrame
  1575. local x2 = lmsh2.Scale.X
  1576. local y2 = lmsh2.Scale.Y
  1577. local z2 = lmsh2.Scale.Z
  1578. MagicHead(BrickColor.new("Cyan"), pos2, x2, y2, z2, 1, 1, 1, 0.1)
  1579. end
  1580. if target3 ~= nil then
  1581. local pos3 = laser3.CFrame
  1582. local x3 = lmsh3.Scale.X
  1583. local y3 = lmsh3.Scale.Y
  1584. local z3 = lmsh3.Scale.Z
  1585. MagicHead(BrickColor.new("Cyan"), pos3, x3, y3, z3, 1, 1, 1, 0.1)
  1586. end
  1587. MagicCircle(BrickColor.new("Cyan"), cf(icepart1.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1588. MagicCircle(BrickColor.new("Cyan"), cf(icepart2.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1589. MagicCircle(BrickColor.new("Cyan"), cf(icepart3.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1590. icepart1.Parent = nil
  1591. icepart2.Parent = nil
  1592. icepart3.Parent = nil
  1593. refpart1.Parent = nil
  1594. refpart2.Parent = nil
  1595. refpart3.Parent = nil
  1596. laser1.Parent = nil
  1597. laser2.Parent = nil
  1598. laser3.Parent = nil
  1599. ref.Parent = nil
  1600. end
  1601. function TriOrbs2()
  1602. local dacf = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1603. local dacf2 = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1604. local dacf3 = Torso.CFrame * euler(-1.57 + math.random(100, 150) / 100, 0, math.random(-80, 80) / 100)
  1605. local icepart1 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1606. icepart1.Anchored = true
  1607. i1msh = mesh("SpecialMesh", icepart1, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1608. icepart1.CFrame = dacf
  1609. local icepart2 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1610. icepart2.Anchored = true
  1611. i2msh = mesh("SpecialMesh", icepart2, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1612. icepart2.CFrame = dacf2
  1613. local icepart3 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1614. icepart3.Anchored = true
  1615. i3msh = mesh("SpecialMesh", icepart3, "Sphere", "nil", vt(0, 0, 0), vt(100, 100, 100))
  1616. icepart3.CFrame = dacf3
  1617. local partic1 = icicleparti2:Clone()
  1618. partic1.Parent = icepart1
  1619. partic1.Enabled = true
  1620. local partic3 = icicleparti2:Clone()
  1621. partic3.Parent = icepart2
  1622. partic3.Enabled = true
  1623. local partic5 = icicleparti2:Clone()
  1624. partic5.Parent = icepart3
  1625. partic5.Enabled = true
  1626. for i = 0, 1, 0.1 do
  1627. swait()
  1628. icepart1.CFrame = dacf
  1629. icepart2.CFrame = dacf2
  1630. icepart3.CFrame = dacf3
  1631. dacf = dacf * cf(0, math.random(400, 800) / 10, 0)
  1632. dacf2 = dacf2 * cf(0, math.random(400, 800) / 10, 0)
  1633. dacf3 = dacf3 * cf(0, math.random(400, 800) / 10, 0)
  1634. end
  1635. local target1, distance1 = findNearestTorso(Head.Position)
  1636. local target2, distance2 = findNearestTorso(Head.Position)
  1637. local target3, distance3 = findNearestTorso(Head.Position)
  1638. local test1, dist1 = findNearestTorso(Head.Position)
  1639. local pos1, pos2, pos3
  1640. local refpart1 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1641. refpart1.Anchored = true
  1642. local refpart2 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1643. refpart2.Anchored = true
  1644. local refpart3 = part(3, effects, 0, 1, BrickColor.new("Cyan"), "Ref", vt())
  1645. refpart3.Anchored = true
  1646. if target1 ~= nil then
  1647. pos1 = target1.Position
  1648. refpart1.CFrame = cf(pos1) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1649. end
  1650. if target2 ~= nil then
  1651. pos2 = target2.Position
  1652. refpart2.CFrame = cf(pos2) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1653. end
  1654. if target3 ~= nil then
  1655. pos3 = target3.Position
  1656. refpart3.CFrame = cf(pos3) * cf(math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100, math.random(-3000, 3000) / 100)
  1657. end
  1658. local move = 40
  1659. for i = 0, 1, 0.1 do
  1660. swait()
  1661. move = 40 - 40 * i
  1662. if target1 ~= nil then
  1663. refpart1.CFrame = cf(refpart1.Position, target1.Position)
  1664. MagicCircle2(BrickColor.new("Cyan"), icepart1.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1665. icepart1.CFrame = dacf
  1666. dacf = dacf * cf(0, move, 0)
  1667. end
  1668. if target2 ~= nil then
  1669. refpart2.CFrame = cf(refpart2.Position, target2.Position)
  1670. MagicCircle2(BrickColor.new("Cyan"), icepart2.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1671. icepart2.CFrame = dacf2
  1672. dacf2 = dacf2 * cf(0, move, 0)
  1673. end
  1674. if target3 ~= nil then
  1675. refpart3.CFrame = cf(refpart3.Position, target3.Position)
  1676. MagicCircle2(BrickColor.new("Cyan"), icepart3.CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) * cf(0, 60, 0), 15, 40, 15, -1, 20, -1, 0.1, -5)
  1677. icepart3.CFrame = dacf3
  1678. dacf3 = dacf3 * cf(0, move, 0)
  1679. end
  1680. end
  1681. local laser1 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1682. laser1.Anchored = true
  1683. local lmsh1 = mesh("SpecialMesh", laser1, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1684. local laser2 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1685. laser2.Anchored = true
  1686. local lmsh2 = mesh("SpecialMesh", laser2, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1687. local laser3 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Effect", vt())
  1688. laser3.Anchored = true
  1689. local lmsh3 = mesh("SpecialMesh", laser3, "Head", "nil", vt(0, 0, 0), vt(10, 1, 10))
  1690. local ref = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1691. ref.Anchored = true
  1692. ref.CFrame = cf(0, 0, 0)
  1693. game:GetService("Debris"):AddItem(ref, 1)
  1694. local ref1 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1695. ref1.Anchored = true
  1696. ref1.CFrame = cf(0, 0, 0)
  1697. game:GetService("Debris"):AddItem(ref1, 5)
  1698. local ice1 = 0
  1699. local ref2 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1700. ref2.Anchored = true
  1701. ref2.CFrame = cf(0, 0, 0)
  1702. game:GetService("Debris"):AddItem(ref2, 5)
  1703. local ice2 = 2
  1704. local ref3 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1705. ref3.Anchored = true
  1706. ref3.CFrame = cf(0, 0, 0)
  1707. game:GetService("Debris"):AddItem(ref3, 5)
  1708. local ice3 = 4
  1709. for i = 0, 3, 0.1 do
  1710. swait()
  1711. ice1 = ice1 + 1
  1712. ice2 = ice2 + 1
  1713. ice3 = ice3 + 1
  1714. if target1 ~= nil then
  1715. if i > 1 then
  1716. refpart1.CFrame = refpart1.CFrame * cf(0, 0, -2)
  1717. end
  1718. local cfnew = cf(icepart1.Position, refpart1.Position)
  1719. local hit1, pos1 = rayCast(icepart1.Position, cfnew.lookVector, 9999, Character)
  1720. local mag1 = icepart1.Position - pos1.magnitude
  1721. laser1.CFrame = CFrame.new((icepart1.Position + pos1) / 2, pos1) * angles(1.57, 0, 0)
  1722. lmsh1.Scale = vt(10, mag1 * 5, 10)
  1723. MagicBlock(BrickColor.new("Cyan"), cf(pos1), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1724. ref.CFrame = cf(pos1)
  1725. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1726. ref1.CFrame = cf(ref.Position)
  1727. if ice1 % 2 == 0 then
  1728. so("333476017", ref1, 0.3, 1.4)
  1729. end
  1730. end
  1731. if target2 ~= nil then
  1732. if i > 1 then
  1733. refpart2.CFrame = refpart2.CFrame * cf(0, 0, -2)
  1734. end
  1735. local cfnew = cf(icepart2.Position, refpart2.Position)
  1736. local hit2, pos2 = rayCast(icepart2.Position, cfnew.lookVector, 9999, Character)
  1737. local mag2 = icepart2.Position - pos2.magnitude
  1738. laser2.CFrame = CFrame.new((icepart2.Position + pos2) / 2, pos2) * angles(1.57, 0, 0)
  1739. lmsh2.Scale = vt(10, mag2 * 5, 10)
  1740. MagicBlock(BrickColor.new("Cyan"), cf(pos2), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1741. ref.CFrame = cf(pos2)
  1742. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1743. ref2.CFrame = cf(ref.Position)
  1744. if ice2 % 2 == 0 then
  1745. so("333476017", ref2, 0.3, 1.4)
  1746. end
  1747. end
  1748. if target3 ~= nil then
  1749. if i > 1 then
  1750. refpart3.CFrame = refpart3.CFrame * cf(0, 0, -2)
  1751. end
  1752. local cfnew = cf(icepart3.Position, refpart3.Position)
  1753. local hit3, pos3 = rayCast(icepart3.Position, cfnew.lookVector, 9999, Character)
  1754. local mag3 = icepart3.Position - pos3.magnitude
  1755. laser3.CFrame = CFrame.new((icepart3.Position + pos3) / 2, pos3) * angles(1.57, 0, 0)
  1756. lmsh3.Scale = vt(10, mag3 * 5, 10)
  1757. MagicBlock(BrickColor.new("Cyan"), cf(pos3), 5, 5, 5, 5, 5, 5, 0.1, 1)
  1758. ref.CFrame = cf(pos3)
  1759. MagniDamage(ref, 5, 8, 14, 0, "Normal", RootPart, 0.2, 1, math.random(6, 8), nil, nil, true)
  1760. ref3.CFrame = cf(ref.Position)
  1761. if ice3 % 2 == 0 then
  1762. so("333476017", ref3, 0.3, 1.4)
  1763. end
  1764. end
  1765. end
  1766. if target1 ~= nil then
  1767. local pos1 = laser1.CFrame
  1768. local x1 = lmsh1.Scale.X
  1769. local y1 = lmsh1.Scale.Y
  1770. local z1 = lmsh1.Scale.Z
  1771. MagicHead(BrickColor.new("Cyan"), pos1, x1, y1, z1, 1, 1, 1, 0.1)
  1772. end
  1773. if target2 ~= nil then
  1774. local pos2 = laser2.CFrame
  1775. local x2 = lmsh2.Scale.X
  1776. local y2 = lmsh2.Scale.Y
  1777. local z2 = lmsh2.Scale.Z
  1778. MagicHead(BrickColor.new("Cyan"), pos2, x2, y2, z2, 1, 1, 1, 0.1)
  1779. end
  1780. if target3 ~= nil then
  1781. local pos3 = laser3.CFrame
  1782. local x3 = lmsh3.Scale.X
  1783. local y3 = lmsh3.Scale.Y
  1784. local z3 = lmsh3.Scale.Z
  1785. MagicHead(BrickColor.new("Cyan"), pos3, x3, y3, z3, 1, 1, 1, 0.1)
  1786. end
  1787. MagicCircle(BrickColor.new("Cyan"), cf(icepart1.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1788. MagicCircle(BrickColor.new("Cyan"), cf(icepart2.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1789. MagicCircle(BrickColor.new("Cyan"), cf(icepart3.Position), 100, 100, 100, 5, 5, 5, 0.2)
  1790. icepart1.Parent = nil
  1791. icepart2.Parent = nil
  1792. icepart3.Parent = nil
  1793. refpart1.Parent = nil
  1794. refpart2.Parent = nil
  1795. refpart3.Parent = nil
  1796. laser1.Parent = nil
  1797. laser2.Parent = nil
  1798. laser3.Parent = nil
  1799. ref.Parent = nil
  1800. end
  1801. function IceMortar()
  1802. for i = 1, math.random(2, 3) do
  1803. local dacf = Torso.CFrame * euler(-1.57 + math.random(40, 80) / 100, 0, math.random(-80, 80) / 100)
  1804. local icepart1 = part(3, effects, 0, 0, BrickColor.new("Cyan"), "Ice", vt())
  1805. icepart1.Anchored = true
  1806. i1msh = mesh("SpecialMesh", icepart1, "Sphere", "nil", vt(0, 0, 0), vt(200, 200, 200))
  1807. icepart1.CFrame = dacf
  1808. local inc = 100
  1809. for i = 0, 1, 0.1 do
  1810. swait()
  1811. icepart1.CFrame = dacf
  1812. dacf = dacf * cf(0, inc, 0)
  1813. inc = 100 - 100 * i
  1814. end
  1815. local cfinc = 99999
  1816. MagicHead(BrickColor.new("Cyan"), cf(icepart1.Position) * cf(0, cfinc / 10, 0), 200, cfinc, 200, -10, 1, -10, 0.1)
  1817. MagicCircle(BrickColor.new("Cyan"), cf(icepart1.Position), 200, 200, 200, -10, 0, -10, 0.1)
  1818. icepart1.Transparency = 1
  1819. so("334325056", icepart1, 1, 1)
  1820. game:GetService("Debris"):AddItem(icepart1, 1)
  1821. local target1, distance1 = findRandomTorso(icepart1.Position)
  1822. local test1, dist1 = findNearestTorso(Head.Position)
  1823. if target1 ~= nil then
  1824. cfda = target1.Position + vt(math.random(-3000, 3000) / 100, 0, math.random(-3000, 3000) / 100)
  1825. local hit2, pos2 = rayCast(cfda, CFrame.new(cfda, cfda - Vector3.new(0, 1, 0)).lookVector, 999, Character)
  1826. local d1 = part(3, effects, 0, 0.5, BrickColor.new("Medium blue"), "Effect", vt())
  1827. d1.Anchored = true
  1828. d1.CFrame = cf(pos2)
  1829. msh = mesh("CylinderMesh", d1, "nil", "nil", vt(0, 0, 0), vt(200, 5, 200))
  1830. d2 = d1:Clone()
  1831. d2.Parent = d1
  1832. d2.CFrame = cf(d1.Position)
  1833. d2.BrickColor = BrickColor.new("White")
  1834. d2.Mesh.Scale = vt(0, 5, 0)
  1835. table.insert(Effects, {
  1836. d1,
  1837. "SatelliteStrike",
  1838. d2,
  1839. d2.Mesh,
  1840. 0
  1841. })
  1842. end
  1843. end
  1844. end
  1845. function TurnSlam()
  1846. attack = true
  1847. local target, distance = findRandomTorso(RootPart.Position)
  1848. if target ~= nil or target == nil then
  1849. local x, y, z = 0, 0, 0
  1850. for i = 0, 1, 0.02 do
  1851. swait()
  1852. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0), 0.05)
  1853. wld19.C0 = wld19.C0:lerp(euler(-0.6, 0.3, 0) * cf(94, -47.5, -2.248), 0.01)
  1854. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0.4, -0.6), 0.01)
  1855. wld24.C0 = wld24.C0:lerp(euler(2.4, 0.2, 0) * cf(0, 90.25, 0), 0.01)
  1856. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.01)
  1857. wld33.C0 = wld33.C0:lerp(euler(-0.6, -0.3, 0) * cf(-94, -47.5, -2.248), 0.01)
  1858. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, -0.4, 0.6), 0.01)
  1859. wld38.C0 = wld38.C0:lerp(euler(-2.4, 0.2, 0) * cf(0, -90.25, 0), 0.01)
  1860. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.01)
  1861. if Stun.Value >= StunT.Value then
  1862. break
  1863. end
  1864. end
  1865. for i = 0, 1, 0.01 do
  1866. swait()
  1867. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(-0.2, 0, 0), 0.02)
  1868. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0), 0.05)
  1869. wld19.C0 = wld19.C0:lerp(euler(0.2, 0.3, 0) * cf(94, -47.5, -2.248), 0.02)
  1870. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -1, -1.2), 0.02)
  1871. wld24.C0 = wld24.C0:lerp(euler(2, -1, 0) * cf(0, 90.25, 0), 0.02)
  1872. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0) * euler(0.5, 0, 1), 0.02)
  1873. wld33.C0 = wld33.C0:lerp(euler(0.2, -0.3, 0) * cf(-94, -47.5, -2.248), 0.02)
  1874. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 1, 1.2), 0.02)
  1875. wld38.C0 = wld38.C0:lerp(euler(-2, -1, 0) * cf(0, -90.25, 0), 0.02)
  1876. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0) * euler(-0.5, 0, -1), 0.02)
  1877. if Stun.Value >= StunT.Value then
  1878. break
  1879. end
  1880. end
  1881. shockwave = false
  1882. ref1a = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1883. ref1a.Anchored = true
  1884. ref1a.CFrame = cf(0, -50, 0)
  1885. game:GetService("Debris"):AddItem(ref1a, 3)
  1886. ref2a = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1887. ref2a.Anchored = true
  1888. ref2a.CFrame = cf(0, -50, 0)
  1889. game:GetService("Debris"):AddItem(ref2a, 3)
  1890. incda = 80
  1891. for i = 0, 3, 0.03 do
  1892. swait()
  1893. dan = 0.1
  1894. if shockwave == true then
  1895. incda = incda + 10
  1896. if i < 1.5 then
  1897. MagniDamage(ref1a, incda, 10, 15, math.random(0, 0), "Knockdown2", RootPart, 1.5, 1, math.random(8, 10), nil, nil, false, "Movement", 0.1, 300)
  1898. MagniDamage(ref2a, incda, 10, 15, math.random(0, 0), "Knockdown2", RootPart, 1.5, 1, math.random(8, 10), nil, nil, false, "Movement", 0.1, 300)
  1899. end
  1900. end
  1901. if i > 1 then
  1902. dan = 0.05
  1903. if shockwave == false then
  1904. for i = 1, 2 do
  1905. so("157878578", ref1a, 1, 0.4)
  1906. so("2101148", ref1a, 1, 0.6)
  1907. end
  1908. for i = 1, 2 do
  1909. so("157878578", ref2a, 1, 0.4)
  1910. so("2101148", ref2a, 1, 0.6)
  1911. end
  1912. shockwave = true
  1913. refcam = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  1914. refcam.Anchored = true
  1915. refcam.CFrame = cf(prt31.Position)
  1916. refcam.CFrame = refcam.CFrame:lerp(cf(prt45.Position), 0.5)
  1917. game:GetService("Debris"):AddItem(refcam, 1)
  1918. hitfl1, posfl1 = rayCast(prt31.Position, CFrame.new(prt31.Position, prt31.Position - Vector3.new(0, 1, 0)).lookVector, 50, Character)
  1919. MagicRing(BrickColor.new("Pearl"), cf(posfl1) * euler(1.57, 0, 0), 160, 160, 1, 20, 20, 1, 0.1)
  1920. ref1a.CFrame = cf(posfl1)
  1921. hitfl2, posfl2 = rayCast(prt45.Position, CFrame.new(prt45.Position, prt45.Position - Vector3.new(0, 1, 0)).lookVector, 50, Character)
  1922. MagicRing(BrickColor.new("Pearl"), cf(posfl2) * euler(1.57, 0, 0), 160, 160, 1, 20, 20, 1, 0.1)
  1923. ref2a.CFrame = cf(posfl2)
  1924. end
  1925. else
  1926. MagniDamage(prt31, 90, 50, 70, math.random(40, 60), "Knockdown2", RootPart, 2, 1, math.random(25, 40), nil, nil, false)
  1927. MagniDamage(prt45, 90, 50, 70, math.random(40, 60), "Knockdown2", RootPart, 2, 1, math.random(25, 40), nil, nil, false)
  1928. end
  1929. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.4, 0, 0), dan)
  1930. wld19.C0 = wld19.C0:lerp(euler(-0.6, 0.3, 0) * cf(94, -47.5, -2.248), dan)
  1931. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -1, -1.2), dan)
  1932. wld24.C0 = wld24.C0:lerp(euler(1.2, -1, 0) * cf(0, 90.25, 0), dan)
  1933. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0) * euler(-0.5, 0, 0) * euler(0, -0.6, 0) * euler(0.3, 0, 0), dan)
  1934. wld33.C0 = wld33.C0:lerp(euler(-0.6, -0.3, 0) * cf(-94, -47.5, -2.248), dan)
  1935. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 1, 1.2), dan)
  1936. wld38.C0 = wld38.C0:lerp(euler(-1.2, -1, 0) * cf(0, -90.25, 0), dan)
  1937. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0) * euler(0.5, 0, 0) * euler(0, -0.6, 0) * euler(-0.3, 0, 0), dan)
  1938. if Stun.Value >= StunT.Value then
  1939. break
  1940. end
  1941. end
  1942. meleecooldown = 0
  1943. mcdadd = 0.05
  1944. if CurrentHealth <= 1500 then
  1945. mcdadd = 1
  1946. end
  1947. end
  1948. attack = false
  1949. end
  1950. function GrandPunch()
  1951. attack = true
  1952. local target, distance = findRandomTorso(RootPart.Position)
  1953. if target ~= nil or target == nil then
  1954. local x, y, z = 0, 0, 0
  1955. for i = 0, 1, 0.01 do
  1956. swait()
  1957. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0.5, 0), 0.02)
  1958. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0) * euler(0, 0.5, 0), 0.02)
  1959. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.02)
  1960. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0.3, -0.4) * euler(0, -0.2, 0), 0.02)
  1961. wld24.C0 = wld24.C0:lerp(euler(2, 0, 0) * euler(0, 0, 0) * cf(0, 90.25, 0), 0.02)
  1962. wld29.C0 = wld29.C0:lerp(euler(0, 0.5, 0) * cf(0, 125, 0), 0.02)
  1963. wld33.C0 = wld33.C0:lerp(euler(-0.4, -0.8, 0) * cf(-94, -47.5, -2.248), 0.02)
  1964. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0.2, 0.2) * euler(0, 0, 0), 0.02)
  1965. wld38.C0 = wld38.C0:lerp(euler(-1, -0.4, 0) * cf(0, -90.25, 0), 0.02)
  1966. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.02)
  1967. if Stun.Value >= StunT.Value then
  1968. break
  1969. end
  1970. end
  1971. da = 0
  1972. local oldpos = prt31.Position
  1973. for i = 0, 1.5, 0.01 do
  1974. swait()
  1975. da = da + 1
  1976. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, -0.5, 0), 0.04)
  1977. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0) * euler(0, -0.5, 0), 0.04)
  1978. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.6, 0) * cf(94, -47.5, -2.248), 0.04)
  1979. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -1.2, -0.2) * euler(0, -0.2, 0), 0.04)
  1980. wld24.C0 = wld24.C0:lerp(euler(0.8, 0, 0) * euler(0, 0, 0) * cf(0, 90.25, 0), 0.04)
  1981. wld29.C0 = wld29.C0:lerp(euler(0, 3, 0) * cf(0, 125, 0), 0.04)
  1982. wld33.C0 = wld33.C0:lerp(euler(-0.4, -0.1, 0) * cf(-94, -47.5, -2.248), 0.04)
  1983. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, -0.2, 0.2) * euler(0, 0, 0), 0.04)
  1984. wld38.C0 = wld38.C0:lerp(euler(-1.8, -0.4, 0) * cf(0, -90.25, 0), 0.04)
  1985. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.04)
  1986. if i < 0.5 and da % 4 == 0 then
  1987. MagniDamage(prt31, 95, 15, 20, math.random(60, 100), "Knockdown2", prt31, 0.5, 1, math.random(25, 40), nil, nil, false)
  1988. MagicWave(BrickColor.new("Cyan"), cf(prt31.Position, oldpos) * euler(-1.57, 0, 0), 100, 100, 100, 10, 10, 10, 0.1)
  1989. oldpos = prt31.Position
  1990. end
  1991. if Stun.Value >= StunT.Value then
  1992. break
  1993. end
  1994. end
  1995. meleecooldown = 0
  1996. mcdadd = 0.1
  1997. if CurrentHealth <= 1500 then
  1998. mcdadd = 1
  1999. end
  2000. end
  2001. attack = false
  2002. end
  2003. function FrostSlam()
  2004. attack = true
  2005. local target, distance = findRandomTorso(RootPart.Position)
  2006. if target ~= nil or target == nil then
  2007. local x, y, z = 0, 0, 0
  2008. for i = 0, 1, 0.008 do
  2009. swait()
  2010. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0) * euler(0, 0.3, -0.2), 0.015)
  2011. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0) * euler(0, 0.3, 0), 0.015)
  2012. wld19.C0 = wld19.C0:lerp(euler(-0.4, -0.3, 0) * cf(94, -47.5, -2.248), 0.015)
  2013. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(-1, 0, 0) * euler(0, -0.4, 0) * euler(0, 0, -0.4), 0.015)
  2014. wld24.C0 = wld24.C0:lerp(euler(0.8, 0.8, 0) * euler(0, -0.2, 0) * cf(0, 90.25, 0), 0.015)
  2015. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.015)
  2016. wld33.C0 = wld33.C0:lerp(euler(0.4, -0.3, 0) * cf(-94, -47.5, -2.248), 0.015)
  2017. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 1) * euler(0.5, 0, 0) * euler(0, 0.2, 0), 0.015)
  2018. wld38.C0 = wld38.C0:lerp(euler(-1, -0.2, 0) * cf(0, -90.25, 0), 0.015)
  2019. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.015)
  2020. if Stun.Value >= StunT.Value then
  2021. break
  2022. end
  2023. end
  2024. da = 0
  2025. local oldpos = prt45.Position
  2026. shockwave = false
  2027. ref2a = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  2028. ref2a.Anchored = true
  2029. ref2a.CFrame = cf(0, -50, 0)
  2030. game:GetService("Debris"):AddItem(ref2a, 3)
  2031. incda = 80
  2032. for i = 0, 10, 0.02 do
  2033. swait()
  2034. da = da + 1
  2035. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0) * euler(0, 0.3, -0.2), 0.025)
  2036. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -190, 0) * euler(0, 0.3, 0) * euler(-0.1, 0, 0), 0.025)
  2037. wld19.C0 = wld19.C0:lerp(euler(-0.4, -0.3, 0) * cf(94, -47.5, -2.248), 0.025)
  2038. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(-1, 0, 0) * euler(0, -0.4, 0) * euler(0, 0, 0), 0.025)
  2039. wld24.C0 = wld24.C0:lerp(euler(1, 0, 0) * euler(0, 0.3, 0) * cf(0, 90.25, 0), 0.025)
  2040. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.025)
  2041. wld33.C0 = wld33.C0:lerp(euler(-0.2, -0.3, 0) * cf(-94, -47.5, -2.248), 0.025)
  2042. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.6) * euler(0, 1.4, 0) * euler(0, 0, 0), 0.025)
  2043. wld38.C0 = wld38.C0:lerp(euler(-0.5, 0, 0) * euler(0, 0, -0.2) * cf(0, -90.25, 0), 0.025)
  2044. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.025)
  2045. if i > 1 and i < 8 and da % 10 == 0 then
  2046. local do1 = 0
  2047. local do2 = 0
  2048. local rand1 = math.random(1, 2)
  2049. if rand1 == 1 then
  2050. do1 = math.random(5000, 15000) / 100
  2051. elseif rand1 == 2 then
  2052. do1 = math.random(-15000, -5000) / 100
  2053. end
  2054. local rand2 = math.random(1, 2)
  2055. if rand2 == 1 then
  2056. do2 = math.random(5000, 15000) / 100
  2057. elseif rand2 == 2 then
  2058. do2 = math.random(-15000, -5000) / 100
  2059. end
  2060. cfda = ref2a.Position + vt(do1, 10, do2)
  2061. local hit2, pos2 = rayCast(cfda, CFrame.new(cfda, cfda - Vector3.new(0, 1, 0)).lookVector, 999, Character)
  2062. local d1 = part(3, effects, 0, 0.5, BrickColor.new("Cyan"), "Effect", vt())
  2063. d1.Anchored = true
  2064. d1.CFrame = cf(pos2)
  2065. msh = mesh("CylinderMesh", d1, "nil", "nil", vt(0, 0, 0), vt(300, 5, 300))
  2066. d2 = d1:Clone()
  2067. d2.Parent = d1
  2068. d2.CFrame = cf(d1.Position)
  2069. d2.BrickColor = BrickColor.new("White")
  2070. d2.Mesh.Scale = vt(0, 5, 0)
  2071. table.insert(Effects, {
  2072. d1,
  2073. "SatelliteStrike2",
  2074. d2,
  2075. d2.Mesh,
  2076. 0
  2077. })
  2078. end
  2079. if i > 1 and i < 1.3 then
  2080. incda = incda + 10
  2081. MagniDamage(ref2a, incda, 6, 8, math.random(0, 0), "Knockdown2", RootPart, 1.5, 1, math.random(8, 10), nil, nil, false, "Movement", 0.1, 300)
  2082. end
  2083. if i < 1 then
  2084. if da % 4 == 0 then
  2085. MagniDamage(prt45, 95, 15, 20, math.random(40, 60), "Knockdown2", prt45, 0.5, 1, math.random(25, 40), nil, nil, false)
  2086. MagicWave(BrickColor.new("Cyan"), cf(prt45.Position, oldpos) * euler(-1.57, 0, 0), 100, 100, 100, 10, 10, 10, 0.1)
  2087. oldpos = prt45.Position
  2088. end
  2089. elseif shockwave == false then
  2090. shockwave = true
  2091. so("157878578", ref2a, 1, 0.4)
  2092. so("2101148", ref2a, 1, 0.6)
  2093. hitfl2, posfl2 = rayCast(prt45.Position, CFrame.new(prt45.Position, prt45.Position - Vector3.new(0, 1, 0)).lookVector, 50, Character)
  2094. refaa = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  2095. refaa.Anchored = true
  2096. refaa.CFrame = cf(posfl2)
  2097. game:GetService("Debris"):AddItem(refaa, 1)
  2098. MagicRing(BrickColor.new("Pearl"), cf(posfl2) * euler(1.57, 0, 0), 160, 160, 1, 20, 20, 1, 0.1)
  2099. ref2a.CFrame = cf(posfl2)
  2100. end
  2101. if Stun.Value >= StunT.Value then
  2102. break
  2103. end
  2104. end
  2105. meleecooldown = 0
  2106. mcdadd = 0.08
  2107. if CurrentHealth <= 1500 then
  2108. mcdadd = 1
  2109. end
  2110. end
  2111. attack = false
  2112. end
  2113. function StunAnim()
  2114. attack = true
  2115. for i = 0, 1, 0.06 do
  2116. swait()
  2117. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.7, 0, 0), 0.06)
  2118. RootJoint.C0 = RootJoint.C0:lerp(euler(-0.2, 0, 0) * cf(-1.749, -180, 0), 0.06)
  2119. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.06)
  2120. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, 0.6) * euler(0, -0.2, 0) * euler(-0.5, 0, 0), 0.06)
  2121. wld24.C0 = wld24.C0:lerp(euler(1, 0.1, 0) * cf(0, 90.25, 0), 0.06)
  2122. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.06)
  2123. wld33.C0 = wld33.C0:lerp(euler(-0.8, -0.3, 0) * cf(-94, -47.5, -2.248), 0.06)
  2124. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, -0.6) * euler(0, 0.2, 0) * euler(-0.5, 0, 0), 0.06)
  2125. wld38.C0 = wld38.C0:lerp(euler(-1, 0.1, 0) * cf(0, -90.25, 0), 0.06)
  2126. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.06)
  2127. if 0 >= Humanoid.Health then
  2128. break
  2129. end
  2130. end
  2131. for i = 0, 1, 0.04 do
  2132. swait()
  2133. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.2, 0, 0) * euler(0, 0, 0.2), 0.07)
  2134. RootJoint.C0 = RootJoint.C0:lerp(euler(-0.5, 0.2, 0) * cf(-1.749, -140, 0), 0.07)
  2135. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.07)
  2136. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, 0.8) * euler(0, 0.2, 0) * euler(-0.4, 0, 0), 0.07)
  2137. wld24.C0 = wld24.C0:lerp(euler(1.2, 0.3, 0) * cf(0, 90.25, 0), 0.07)
  2138. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.07)
  2139. wld33.C0 = wld33.C0:lerp(euler(-0.8, -0.3, 0) * cf(-94, -47.5, -2.248), 0.07)
  2140. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.6) * euler(0, 0.2, 0) * euler(0.7, 0, 0), 0.07)
  2141. wld38.C0 = wld38.C0:lerp(euler(-1.4, 0.1, 0) * cf(0, -90.25, 0), 0.07)
  2142. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.07)
  2143. if 0 >= Humanoid.Health then
  2144. break
  2145. end
  2146. end
  2147. for i = 0, 1, 0.01 do
  2148. swait()
  2149. msh3.Scale = vt(4, 8.5 - 8 * i, 8.5)
  2150. msh5.Scale = vt(4, 8.5 - 8 * i, 8.5)
  2151. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0) * euler(0, 1.5, 0), 0.02)
  2152. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -100, 0) * euler(-1.3, 0, 0), 0.05)
  2153. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.05)
  2154. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, 1) * euler(0, 0.2, 0) * euler(-0.1, 0, 0), 0.05)
  2155. wld24.C0 = wld24.C0:lerp(euler(0.5, 2.2, 0) * cf(0, 90.25, 0), 0.05)
  2156. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.05)
  2157. wld33.C0 = wld33.C0:lerp(euler(-0.8, -0.3, 0) * cf(-94, -47.5, -2.248), 0.05)
  2158. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.6) * euler(0, -0.6, 0) * euler(1.6, 0, 0), 0.05)
  2159. wld38.C0 = wld38.C0:lerp(euler(-1.6, 0.1, 0) * cf(0, -90.25, 0), 0.05)
  2160. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.05)
  2161. if 0 >= Humanoid.Health then
  2162. break
  2163. end
  2164. end
  2165. msh3.Scale = vt(4, 0.5, 8.5)
  2166. msh5.Scale = vt(4, 0.5, 8.5)
  2167. local numb = 1300
  2168. if CurrentHealth <= 1500 then
  2169. numb = 1000
  2170. end
  2171. local removedeb = 8
  2172. for i = 0, numb do
  2173. swait()
  2174. removedeb = removedeb + 1
  2175. if removedeb > 8 then
  2176. removedeb = 0
  2177. for _, c in pairs(Character:children()) do
  2178. if c.Name == "DebounceHit" then
  2179. c.Parent = nil
  2180. end
  2181. end
  2182. end
  2183. if 0 >= Humanoid.Health then
  2184. break
  2185. end
  2186. end
  2187. for i = 0, 1, 0.1 do
  2188. swait()
  2189. msh3.Scale = vt(4, 0.5 + 8 * i, 8.5)
  2190. msh5.Scale = vt(4, 0.5 + 8 * i, 8.5)
  2191. end
  2192. msh3.Scale = vt(4, 8.5, 8.5)
  2193. msh5.Scale = vt(4, 8.5, 8.5)
  2194. for i = 0, 1, 0.02 do
  2195. swait()
  2196. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -100, 0) * euler(-1.3, 0, 0), 0.05)
  2197. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.05)
  2198. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, 0.1) * euler(0, 0.4, 0) * euler(1, 0, 0), 0.05)
  2199. wld24.C0 = wld24.C0:lerp(euler(1.6, 0.1, 0) * cf(0, 90.25, 0), 0.05)
  2200. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.05)
  2201. wld33.C0 = wld33.C0:lerp(euler(-0.8, -0.3, 0) * cf(-94, -47.5, -2.248), 0.05)
  2202. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, -0.1) * euler(0, -0.4, 0) * euler(1, 0, 0), 0.05)
  2203. wld38.C0 = wld38.C0:lerp(euler(-1.6, 0.1, 0) * cf(0, -90.25, 0), 0.05)
  2204. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.05)
  2205. if 0 >= Humanoid.Health then
  2206. break
  2207. end
  2208. end
  2209. for i = 0, 1, 0.03 do
  2210. swait()
  2211. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -180, 0) * euler(-0.6, 0, 0), 0.06)
  2212. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0), 0.06)
  2213. wld19.C0 = wld19.C0:lerp(euler(0.2, 0.3, 0) * cf(94, -47.5, -2.248), 0.06)
  2214. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, -0.4) * euler(0, -0.2, 0) * euler(-0.3, 0, 0), 0.06)
  2215. wld24.C0 = wld24.C0:lerp(euler(1.2, 0.1, 0) * cf(0, 90.25, 0), 0.06)
  2216. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.06)
  2217. wld33.C0 = wld33.C0:lerp(euler(0.2, -0.3, 0) * cf(-94, -47.5, -2.248), 0.06)
  2218. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.4) * euler(0, 0.2, 0) * euler(-0.3, 0, 0), 0.06)
  2219. wld38.C0 = wld38.C0:lerp(euler(-1.2, 0.1, 0) * cf(0, -90.25, 0), 0.06)
  2220. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.06)
  2221. if 0 >= Humanoid.Health then
  2222. break
  2223. end
  2224. end
  2225. for i = 0, 1, 0.008 do
  2226. swait()
  2227. if i < 0.4 then
  2228. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(-0.1, 0, 0), 0.06)
  2229. else
  2230. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0), 0.06)
  2231. end
  2232. RootJoint.C0 = RootJoint.C0:lerp(cf(5, -210, 0) * euler(0.1, 0, 0), 0.06)
  2233. wld19.C0 = wld19.C0:lerp(euler(0.2, 0.3, 0) * cf(94, -47.5, -2.248), 0.06)
  2234. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, 0, -0.8) * euler(0, -0.6, 0) * euler(-0.5, 0, 0), 0.06)
  2235. wld24.C0 = wld24.C0:lerp(euler(0.6, 0.3, 0) * cf(0, 90.25, 0), 0.06)
  2236. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.06)
  2237. wld33.C0 = wld33.C0:lerp(euler(0.2, -0.3, 0) * cf(-94, -47.5, -2.248), 0.06)
  2238. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0, 0.8) * euler(0, 0.6, 0) * euler(-0.5, 0, 0), 0.06)
  2239. wld38.C0 = wld38.C0:lerp(euler(-0.6, 0.3, 0) * cf(0, -90.25, 0), 0.06)
  2240. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.06)
  2241. if 0 >= Humanoid.Health then
  2242. break
  2243. end
  2244. end
  2245. attack = false
  2246. end
  2247. function SummonCrystals()
  2248. attack = true
  2249. for i = 0, 1, 0.01 do
  2250. swait()
  2251. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.5, 0, 0), 0.03)
  2252. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -210, 0) * euler(0.05, 0, 0), 0.03)
  2253. wld19.C0 = wld19.C0:lerp(euler(-0.4, 0.3, 0) * cf(94, -47.5, -2.248), 0.03)
  2254. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -0.2, -0.8) * euler(0.2, 0, 0), 0.03)
  2255. wld24.C0 = wld24.C0:lerp(euler(1.8, -0.2, 0) * cf(0, 90.25, 0), 0.03)
  2256. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.03)
  2257. wld33.C0 = wld33.C0:lerp(euler(-0.4, -0.3, 0) * cf(-94, -47.5, -2.248), 0.03)
  2258. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0.2, 0.8) * euler(0.2, 0, 0), 0.03)
  2259. wld38.C0 = wld38.C0:lerp(euler(-1.8, -0.2, 0) * cf(0, -90.25, 0), 0.03)
  2260. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.03)
  2261. end
  2262. for i = 0, 1, 0.04 do
  2263. swait()
  2264. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.6, 0, 0), 0.05)
  2265. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0) * euler(-0.05, 0, 0), 0.05)
  2266. wld19.C0 = wld19.C0:lerp(euler(-0.8, 0.3, 0) * cf(94, -47.5, -2.248), 0.05)
  2267. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -0.2, -0.8) * euler(0.2, 0, 0) * euler(0, -0.2, 0), 0.05)
  2268. wld24.C0 = wld24.C0:lerp(euler(1.4, -0.2, 0) * cf(0, 90.25, 0), 0.05)
  2269. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.05)
  2270. wld33.C0 = wld33.C0:lerp(euler(-0.8, -0.3, 0) * cf(-94, -47.5, -2.248), 0.05)
  2271. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0.2, 0.8) * euler(0.2, 0, 0) * euler(0, 0.2, 0), 0.05)
  2272. wld38.C0 = wld38.C0:lerp(euler(-1.4, -0.2, 0) * cf(0, -90.25, 0), 0.05)
  2273. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.05)
  2274. end
  2275. Cryst1.Parent = workspace
  2276. C1Head.CFrame = RootPart.CFrame * cf(math.random(-2000, 2000) / 100, 0, math.random(-2000, 2000) / 100)
  2277. C1Torso.CFrame = C1Head.CFrame
  2278. C1Neck.Parent = C1Head
  2279. C1S.Parent = Cryst1
  2280. C1Hum.Parent = Cryst1
  2281. C1Hum.MaxHealth = 200
  2282. C1Hum.Health = 200
  2283. C1Hum.Parent = Cryst1
  2284. C1Hum:TakeDamage(1)
  2285. C1a = true
  2286. for _, c in pairs(Cryst1:children()) do
  2287. if c.Name == "DebounceHit" then
  2288. c.Parent = nil
  2289. end
  2290. end
  2291. Cryst2.Parent = workspace
  2292. C2Head.CFrame = RootPart.CFrame * cf(math.random(-2000, 2000) / 100, 0, math.random(-2000, 2000) / 100)
  2293. C2Torso.CFrame = C2Head.CFrame
  2294. C2Neck.Parent = C2Head
  2295. C2S.Parent = Cryst2
  2296. C2Hum.Parent = Cryst2
  2297. C2Hum.MaxHealth = 200
  2298. C2Hum.Health = 200
  2299. C2Hum.Parent = Cryst2
  2300. C2Hum:TakeDamage(1)
  2301. C2a = true
  2302. for _, c in pairs(Cryst2:children()) do
  2303. if c.Name == "DebounceHit" then
  2304. c.Parent = nil
  2305. end
  2306. end
  2307. Cryst3.Parent = workspace
  2308. C3Head.CFrame = RootPart.CFrame * cf(math.random(-2000, 2000) / 100, 0, math.random(-2000, 2000) / 100)
  2309. C3Torso.CFrame = C3Head.CFrame
  2310. C3Neck.Parent = C3Head
  2311. C3S.Parent = Cryst3
  2312. C3Hum.Parent = Cryst3
  2313. C3Hum.MaxHealth = 200
  2314. C3Hum.Health = 200
  2315. C3Hum.Parent = Cryst3
  2316. C3Hum:TakeDamage(1)
  2317. C3a = true
  2318. for _, c in pairs(Cryst3:children()) do
  2319. if c.Name == "DebounceHit" then
  2320. c.Parent = nil
  2321. end
  2322. end
  2323. Cryst4.Parent = workspace
  2324. C4Head.CFrame = RootPart.CFrame * cf(math.random(-2000, 2000) / 100, 0, math.random(-2000, 2000) / 100)
  2325. C4Torso.CFrame = C4Head.CFrame
  2326. C4Neck.Parent = C4Head
  2327. C4S.Parent = Cryst4
  2328. C4Hum.Parent = Cryst4
  2329. C4Hum.MaxHealth = 200
  2330. C4Hum.Health = 200
  2331. C4Hum.Parent = Cryst4
  2332. C4Hum:TakeDamage(1)
  2333. C4a = true
  2334. for _, c in pairs(Cryst4:children()) do
  2335. if c.Name == "DebounceHit" then
  2336. c.Parent = nil
  2337. end
  2338. end
  2339. MagicCircle(BrickColor.new("Cyan"), cf(C1Head.Position), 150, 400, 150, 5, 10, 5, 0.05)
  2340. MagicCircle(BrickColor.new("Cyan"), cf(C2Head.Position), 150, 400, 150, 5, 10, 5, 0.05)
  2341. MagicCircle(BrickColor.new("Cyan"), cf(C3Head.Position), 150, 400, 150, 5, 10, 5, 0.05)
  2342. MagicCircle(BrickColor.new("Cyan"), cf(C4Head.Position), 150, 400, 150, 5, 10, 5, 0.05)
  2343. crystals = true
  2344. if CurrentHealth > 1500 then
  2345. else
  2346. end
  2347. swait(50)
  2348. attack = false
  2349. end
  2350. function HeavySlam()
  2351. attack = true
  2352. for i = 0, 1, 0.05 do
  2353. swait()
  2354. wld1.C0 = clerp(wld1.C0, euler(1.57, 0, 0) * cf(0, 3, 0), 0.1)
  2355. wld2.C0 = clerp(wld2.C0, euler(0, 0, 0) * cf(0, 1, 0), 0.1)
  2356. Neck.C0 = clerp(Neck.C0, necko * euler(0, 1, 0) * euler(-0.3, 0, 0), 0.1)
  2357. RootJoint.C0 = clerp(RootJoint.C0, cf(0, -2, 0) * euler(0, 1, 0), 0.1)
  2358. RW.C0 = clerp(RW.C0, cf(4.5, 1.5, 0) * euler(2, 0, 0.3), 0.1)
  2359. RW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.1)
  2360. LW.C0 = clerp(LW.C0, cf(-4.5, 1.5, 0) * euler(-0.2, 0, -0.6), 0.1)
  2361. LW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.1)
  2362. LH.C0 = clerp(LH.C0, cf(-1.5, -3, 0) * euler(0, 1, 0) * euler(0.1, 0, 0), 0.1)
  2363. RH.C0 = clerp(RH.C0, cf(1.5, -3, 0) * euler(0, -1, 0) * euler(0.1, 0, 0), 0.1)
  2364. end
  2365. for i = 0, 1, 0.04 do
  2366. swait()
  2367. wld1.C0 = clerp(wld1.C0, euler(1, 0, 0) * cf(0, 3, 0), 0.1)
  2368. wld2.C0 = clerp(wld2.C0, euler(0, 0, 0) * cf(0, 1, 0), 0.1)
  2369. Neck.C0 = clerp(Neck.C0, necko * euler(0, -0.2, 0) * euler(-0.4, 0, 0), 0.1)
  2370. RootJoint.C0 = clerp(RootJoint.C0, cf(0, -2, 0) * euler(0, -0.2, 0), 0.1)
  2371. RW.C0 = clerp(RW.C0, cf(4.5, 1.5, 0) * euler(3.5, 0, 0) * euler(0, 0.2, 0), 0.1)
  2372. RW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.1)
  2373. LW.C0 = clerp(LW.C0, cf(-4.5, 1.5, 0) * euler(-0.4, 0, -0.6), 0.1)
  2374. LW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.1)
  2375. LH.C0 = clerp(LH.C0, cf(-1.5, -3, 0) * euler(0, 0, 0) * euler(-0.3, 0, 0), 0.1)
  2376. RH.C0 = clerp(RH.C0, cf(1.5, -3, -1) * euler(0, 0, 0) * euler(-0.1, 0, 0), 0.1)
  2377. end
  2378. so("161006212", prt9, 1, 0.6)
  2379. con1 = hitbox.Touched:connect(function(hit)
  2380. Damagefunc(hit, 10, 15, math.random(50, 70), "Knockdown2", RootPart, 2, 1, math.random(20, 40), nil, true)
  2381. end)
  2382. hitbox.Parent = modelzorz
  2383. hitbox.Size = vt(2, 20, 8)
  2384. hitboxCF = prt9.CFrame * cf(0, 0, 0)
  2385. hitbox.CFrame = hitboxCF
  2386. blcf = nil
  2387. scfr = nil
  2388. for i = 0, 1, 0.02 do
  2389. swait()
  2390. hitboxCF = prt9.CFrame * cf(0, 0, 0)
  2391. hitbox.CFrame = hitboxCF
  2392. wld1.C0 = clerp(wld1.C0, euler(2.5, 0, 0) * cf(0, 3, 0), 0.4)
  2393. wld2.C0 = clerp(wld2.C0, euler(0, 0, 0) * cf(0, 1, 0), 0.4)
  2394. Neck.C0 = clerp(Neck.C0, necko * euler(0, 0, 0) * euler(-0.6, 0, 0), 0.2)
  2395. RootJoint.C0 = clerp(RootJoint.C0, cf(0, 0, 0) * euler(0, 0, 0), 0.2)
  2396. RW.C0 = clerp(RW.C0, cf(2.5, 1.5, -1) * euler(0.5, 0, -0.2) * euler(0, 0, 0), 0.4)
  2397. RW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.2)
  2398. LW.C0 = clerp(LW.C0, cf(-4.5, 1.5, 0) * euler(-0.8, 0, -0.6), 0.2)
  2399. LW.C1 = clerp(LW.C1, cf(0, 1.5, 0) * euler(0, 0, 0), 0.2)
  2400. LH.C0 = clerp(LH.C0, cf(-1.5, -3, 0) * euler(0, 0, 0) * euler(-1, 0, 0), 0.2)
  2401. RH.C0 = clerp(RH.C0, cf(1.5, -1, -1.5) * euler(0, 0, 0) * euler(-0.1, 0, 0), 0.2)
  2402. if i >= 0.16 and i <= 0.17 then
  2403. hit, pos = rayCast(prt9.Position, CFrame.new(prt9.Position, prt9.Position - Vector3.new(0, 1, 0)).lookVector, 10, Character)
  2404. if hit ~= nil then
  2405. ref = part(3, workspace, 0, 1, BrickColor.new("Black"), "Reference", vt())
  2406. ref.Anchored = true
  2407. ref.CFrame = cf(pos)
  2408. so("199145477", prt9, 1, 0.8)
  2409. game:GetService("Debris"):AddItem(ref, 1)
  2410. MagniDamage(ref, 30, 1, 5, math.random(200, 400), "Knockdown2", false, "Movement", 0.2, 200, math.random(90, 100))
  2411. MagicWave(BrickColor.new("Bright stone grey"), cf(ref.Position), 1, 1, 1, 2, 2, 2, 0.05)
  2412. end
  2413. end
  2414. end
  2415. con1:disconnect()
  2416. hitbox.Parent = nil
  2417. attack = false
  2418. end
  2419. local magref = part(3, effects, 0, 0.5, BrickColor.new("Black"), "Effect", vt())
  2420. magref.Anchored = true
  2421. magref.CFrame = cf(0, 0, 0)
  2422. magref.Parent = nil
  2423. local mrmsh = mesh("SpecialMesh", magref, "Sphere", "nil", vt(0, 0, 0), vt(1, 1, 1))
  2424. function MagniDamage(Part, magni, minim, maxim, knockback, Type, Property, Delay, KnockbackType, incstun, stagger, staghit, ranged, DecreaseState, DecreaseAmount, Duration)
  2425. for _, c in pairs(workspace:children()) do
  2426. local hum = c:findFirstChild("Humanoid")
  2427. if hum ~= nil then
  2428. local head
  2429. for _, d in pairs(c:children()) do
  2430. if d.className == "Part" then
  2431. head = d
  2432. if head ~= nil then
  2433. local targ = head.Position - Part.Position
  2434. local mag = targ.magnitude
  2435. if magni >= mag and c.Name ~= Character.Name and c.Name ~= "Crystal" then
  2436. if stun == nil then
  2437. stun = math.random(5, 10)
  2438. end
  2439. local Rang
  2440. if Ranged == false then
  2441. Rang = true
  2442. end
  2443. local stag
  2444. if shbash == true then
  2445. stag = true
  2446. end
  2447. Damagefunc(head, minim, maxim, knockback, Type, Property, Delay, KnockbackType, incstun, stagger, staghit, ranged, DecreaseState, DecreaseAmount, Duration)
  2448. end
  2449. end
  2450. end
  2451. end
  2452. end
  2453. end
  2454. end
  2455. function DecreaseStat(Model, Stat, Amount, Duration)
  2456. if Model:findFirstChild("Stats") ~= nil and Model.Stats[Stat] ~= nil then
  2457. Model.Stats[Stat].Value = Model.Stats[Stat].Value - Amount
  2458. d = Instance.new("NumberValue", Model.Stats.Decrease)
  2459. dur = Instance.new("NumberValue", d)
  2460. dur.Name = "Duration"
  2461. dur.Value = Duration
  2462. game:GetService("Debris"):AddItem(d, 40)
  2463. if Stat == "Damage" then
  2464. d.Name = "DecreaseAtk"
  2465. elseif Stat == "Defense" then
  2466. d.Name = "DecreaseDef"
  2467. elseif Stat == "Movement" then
  2468. d.Name = "DecreaseMvmt"
  2469. end
  2470. if Model:findFirstChild("Torso") ~= nil then
  2471. display = ""
  2472. if Stat == "Damage" then
  2473. if Amount > 0 then
  2474. display = "-Damage"
  2475. else
  2476. display = "+Damage"
  2477. end
  2478. elseif Stat == "Defense" then
  2479. if Amount > 0 then
  2480. display = "-Defense"
  2481. else
  2482. display = "+Defense"
  2483. end
  2484. elseif Stat == "Movement" then
  2485. if Amount > 0 then
  2486. display = "-Movement"
  2487. else
  2488. display = "+Movement"
  2489. end
  2490. end
  2491. showDamage(Model, display, "Debuff")
  2492. end
  2493. d.Value = Amount
  2494. table.insert(Effects, {
  2495. Model,
  2496. "DecreaseStat",
  2497. Stat,
  2498. Amount,
  2499. Duration,
  2500. d
  2501. })
  2502. end
  2503. end
  2504. function rayCast(Pos, Dir, Max, Ignore)
  2505. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  2506. end
  2507. function findNearestTorso(pos)
  2508. local list = game.Workspace:children()
  2509. local torso
  2510. local dist = 10000
  2511. local temp, human, temp2
  2512. for x = 1, #list do
  2513. temp2 = list[x]
  2514. if temp2.className == "Model" and temp2.Name ~= Character.Name and temp2.Name ~= "Crystal" then
  2515. temp = temp2:findFirstChild("Torso")
  2516. human = temp2:findFirstChild("Humanoid")
  2517. if temp ~= nil and human ~= nil and human.Health > 0 and dist > temp.Position - pos.magnitude then
  2518. local dohit = true
  2519. if temp2:findFirstChild("Stats") ~= nil and temp2.Stats:findFirstChild("Boss") ~= nil and temp2.Stats.Boss.Value == true then
  2520. dohit = false
  2521. end
  2522. if temp2:findFirstChild("Alive") == nil then
  2523. dohit = false
  2524. end
  2525. if dohit == true then
  2526. torso = temp
  2527. dist = temp.Position - pos.magnitude
  2528. end
  2529. end
  2530. end
  2531. end
  2532. return torso, dist
  2533. end
  2534. function findRandomTorso(pos)
  2535. local list = game.Workspace:children()
  2536. local torso
  2537. local dist = 10000
  2538. local temp, human, temp2
  2539. local list2 = {}
  2540. for x = 1, #list do
  2541. temp2 = list[x]
  2542. if temp2.className == "Model" and temp2.Name ~= Character.Name and temp2.Name ~= "Crystal" then
  2543. temp = temp2:findFirstChild("Torso")
  2544. human = temp2:findFirstChild("Humanoid")
  2545. if temp ~= nil and human ~= nil and human.Health > 0 and dist > pos.magnitude then
  2546. local dohit = true
  2547. if temp2:findFirstChild("Stats") ~= nil and temp2.Stats:findFirstChild("Boss") ~= nil and temp2.Stats.Boss.Value == true then
  2548. dohit = false
  2549. end
  2550. if temp2:findFirstChild("Alive") == nil then
  2551. dohit = false
  2552. end
  2553. if dohit == true then
  2554. torso = temp
  2555. table.insert(list2, temp)
  2556. end
  2557. end
  2558. end
  2559. end
  2560. if #list2 > 0 then
  2561. rand = math.random(1, #list2)
  2562. return list2[rand], dist
  2563. else
  2564. return nil, dist
  2565. end
  2566. end
  2567. function Damagefunc(hit, minim, maxim, knockback, Type, Property, Delay, KnockbackType, incstun, stagger, staghit, ranged, DecreaseState, DecreaseAmount, Duration, Sound)
  2568. if hit.Parent == nil then
  2569. return
  2570. end
  2571. h = hit.Parent:FindFirstChild("Humanoid")
  2572. if hit.Parent.className == "Hat" then
  2573. hit = hit.Parent.Parent:findFirstChild("Head")
  2574. end
  2575. if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent.Name ~= "Crystal" and hit.Parent:FindFirstChild("Torso") ~= nil then
  2576. if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
  2577. return
  2578. end
  2579. if Sound == "GreatHit" then
  2580. so("200632875", hit, 1, 1)
  2581. end
  2582. game:GetService("Debris"):AddItem(c, 0.5)
  2583. minim = minim * Atk.Value
  2584. maxim = maxim * Atk.Value
  2585. Damage = 0
  2586. if minim == maxim or minim > maxim then
  2587. Damage = maxim
  2588. else
  2589. Damage = math.random(minim, maxim)
  2590. end
  2591. blocked = false
  2592. enblock = nil
  2593. Stats = hit.Parent:findFirstChild("Stats")
  2594. if Stats ~= nil then
  2595. enblock = Stats:findFirstChild("Block")
  2596. if enblock ~= nil and enblock.Value == true then
  2597. blocked = true
  2598. end
  2599. if Stats:findFirstChild("Defense") ~= nil then
  2600. Damage = Damage / Stats.Defense.Value
  2601. if Damage <= 3 and (ranged == false or ranged == nil) and blocked ~= true then
  2602. hitnum = math.random(1, 5)
  2603. if hitnum == 1 then
  2604. so("199149321", hit, 1, 0.7)
  2605. elseif hitnum == 2 then
  2606. so("199149338", hit, 1, 0.7)
  2607. elseif hitnum == 3 then
  2608. so("199149367", hit, 1, 0.7)
  2609. elseif hitnum == 4 then
  2610. so("199149409", hit, 1, 0.7)
  2611. elseif hitnum == 5 then
  2612. so("199149452", hit, 1, 0.7)
  2613. end
  2614. elseif ranged == false or ranged == nil and blocked ~= true then
  2615. hitnum = math.random(1, 6)
  2616. if hitnum == 1 then
  2617. so("199149137", hit, 1, 0.7)
  2618. elseif hitnum == 2 then
  2619. so("199149186", hit, 1, 0.7)
  2620. elseif hitnum == 3 then
  2621. so("199149221", hit, 1, 0.7)
  2622. elseif hitnum == 4 then
  2623. so("199149235", hit, 1, 0.7)
  2624. elseif hitnum == 5 then
  2625. so("199149269", hit, 1, 0.7)
  2626. elseif hitnum == 6 then
  2627. so("199149297", hit, 1, 0.7)
  2628. end
  2629. end
  2630. end
  2631. if Stats:findFirstChild("Stun") ~= nil then
  2632. if blocked == true then
  2633. incstun = math.floor(incstun / 2)
  2634. end
  2635. Stats.Stun.Value = Stats.Stun.Value + incstun
  2636. end
  2637. if Stats:findFirstChild("Stagger") ~= nil and stagger == true then
  2638. Stats.Stagger.Value = true
  2639. end
  2640. end
  2641. if blocked == true then
  2642. showDamage(hit.Parent, "Block", "Damage")
  2643. hitnum = math.random(1, 2)
  2644. if hitnum == 1 then
  2645. so("199148933", hit, 1, 1)
  2646. elseif hitnum == 2 then
  2647. so("199148947", hit, 1, 1)
  2648. end
  2649. enblock.Value = false
  2650. else
  2651. Damage = math.floor(Damage)
  2652. h:TakeDamage(Damage)
  2653. showDamage(hit.Parent, Damage, "Damage")
  2654. if DecreaseState ~= nil then
  2655. if DecreaseState == "Shatter" then
  2656. DecreaseStat(hit.Parent, "Movement", DecreaseAmount, Duration)
  2657. DecreaseStat(hit.Parent, "Damage", DecreaseAmount, Duration)
  2658. else
  2659. DecreaseStat(hit.Parent, DecreaseState, DecreaseAmount, Duration)
  2660. end
  2661. end
  2662. if Type == "Knockdown" then
  2663. hum = hit.Parent.Humanoid
  2664. hum.PlatformStand = true
  2665. coroutine.resume(coroutine.create(function(HHumanoid)
  2666. swait(1)
  2667. HHumanoid.PlatformStand = false
  2668. end), hum)
  2669. local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
  2670. local bodvol = Instance.new("BodyVelocity")
  2671. bodvol.velocity = angle * knockback
  2672. bodvol.P = 5000
  2673. bodvol.maxForce = Vector3.new(8000, 8000, 8000)
  2674. bodvol.Parent = hit
  2675. rl = Instance.new("BodyAngularVelocity")
  2676. rl.P = 3000
  2677. rl.maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000
  2678. rl.angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10))
  2679. rl.Parent = hit
  2680. game:GetService("Debris"):AddItem(bodvol, 0.5)
  2681. game:GetService("Debris"):AddItem(rl, 0.5)
  2682. elseif Type == "Shatter" then
  2683. for i = 1, 10 do
  2684. BreakEffect(BrickColor.new("Cyan"), hit.CFrame, math.random(20, 80) / 100, math.random(2, 10), math.random(20, 80) / 100)
  2685. end
  2686. elseif Type == "Knockdown2" then
  2687. hum = hit.Parent.Humanoid
  2688. local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit
  2689. local bodvol = Instance.new("BodyVelocity")
  2690. bodvol.velocity = angle * knockback
  2691. bodvol.P = 5000
  2692. bodvol.maxForce = Vector3.new(8000, 8000, 8000)
  2693. bodvol.Parent = hit
  2694. game:GetService("Debris"):AddItem(bodvol, 0.5)
  2695. elseif Type == "Normal" then
  2696. vp = Instance.new("BodyVelocity")
  2697. vp.P = 500
  2698. vp.maxForce = Vector3.new(math.huge, 0, math.huge)
  2699. if KnockbackType == 1 then
  2700. vp.velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05
  2701. elseif KnockbackType == 2 then
  2702. vp.velocity = Property.CFrame.lookVector * knockback
  2703. end
  2704. game:GetService("Debris"):AddItem(vp, 0.5)
  2705. if knockback > 0 then
  2706. vp.Parent = hit.Parent.Torso
  2707. end
  2708. end
  2709. end
  2710. debounce = Instance.new("BoolValue")
  2711. debounce.Name = "DebounceHit"
  2712. debounce.Parent = hit.Parent
  2713. debounce.Value = true
  2714. game:GetService("Debris"):AddItem(debounce, Delay)
  2715. CRIT = false
  2716. end
  2717. end
  2718. function showDamage(Char, Dealt, Type)
  2719. m = Instance.new("Model")
  2720. m.Name = "Effect"
  2721. c = Instance.new("Part")
  2722. c.Transparency = 1
  2723. c.Name = "Head"
  2724. c.TopSurface = 0
  2725. c.BottomSurface = 0
  2726. c.formFactor = "Plate"
  2727. c.Size = Vector3.new(1, 0.4, 1)
  2728. b = Instance.new("BillboardGui", c)
  2729. b.Size = UDim2.new(5, 0, 5, 0)
  2730. b.AlwaysOnTop = true
  2731. damgui = gui("TextLabel", b, tostring(Dealt), 1, Color3.new(0, 0, 0), UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0))
  2732. if Type == "Damage" then
  2733. damgui.Font = "SourceSans"
  2734. if Dealt == "Block" then
  2735. damgui.TextColor3 = BrickColor.new("Bright blue").Color
  2736. elseif Dealt < 3 then
  2737. damgui.TextColor3 = BrickColor.new("White").Color
  2738. elseif Dealt >= 3 and Dealt < 20 then
  2739. damgui.TextColor3 = BrickColor.new("Bright yellow").Color
  2740. else
  2741. damgui.TextColor3 = BrickColor.new("Really red").Color
  2742. damgui.Font = "SourceSansBold"
  2743. end
  2744. elseif Type == "Debuff" then
  2745. damgui.TextColor3 = BrickColor.new("White").Color
  2746. elseif Type == "Interrupt" then
  2747. damgui.TextColor3 = BrickColor.new("New Yeller").Color
  2748. end
  2749. damgui.TextScaled = true
  2750. ms = Instance.new("CylinderMesh")
  2751. ms.Scale = Vector3.new(0.8, 0.8, 0.8)
  2752. ms.Parent = c
  2753. c.Reflectance = 0
  2754. Instance.new("BodyGyro").Parent = c
  2755. c.Parent = m
  2756. if Char:findFirstChild("Head") ~= nil then
  2757. c.CFrame = cf(Char.Head.CFrame.p + Vector3.new(math.random(-100, 100) / 100, 3, math.random(-100, 100) / 100))
  2758. elseif Char.Parent:findFirstChild("Head") ~= nil then
  2759. c.CFrame = cf(Char.Parent.Head.CFrame.p + Vector3.new(math.random(-100, 100) / 100, 3, math.random(-100, 100) / 100))
  2760. end
  2761. f = Instance.new("BodyPosition")
  2762. f.P = 2000
  2763. f.D = 100
  2764. f.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  2765. if Type == "Damage" then
  2766. f.position = c.Position + Vector3.new(0, 3, 0)
  2767. elseif Type == "Debuff" or Type == "Interrupt" then
  2768. f.position = c.Position + Vector3.new(0, 5, 0)
  2769. end
  2770. f.Parent = c
  2771. game:GetService("Debris"):AddItem(m, 5)
  2772. table.insert(Effects, {
  2773. m,
  2774. "showDamage",
  2775. damgui,
  2776. f,
  2777. 10,
  2778. 1,
  2779. 15,
  2780. 50,
  2781. 100
  2782. })
  2783. c.CanCollide = false
  2784. m.Parent = effects
  2785. c.CanCollide = false
  2786. end
  2787. Player:GetMouse().KeyDown:connect(function(kek)
  2788. kek = kek:lower()
  2789. if kek == "z" then
  2790. TurnSlam()
  2791. end
  2792. if kek == "x" then
  2793. GrandPunch()
  2794. end
  2795. if kek == "c" then
  2796. FrostSlam()
  2797. end
  2798. if kek == "v" then
  2799. TriIceShards()
  2800. end
  2801. if kek == "q" then
  2802. TriOrbs()
  2803. end
  2804. if kek == "e" then
  2805. IceMortar()
  2806. end
  2807. if kek == "r" then
  2808. TriIceShards2()
  2809. end
  2810. if kek == "f" then
  2811. TriOrbs2()
  2812. end
  2813. end)
  2814. local stunnum = 0
  2815. local animnum = 0
  2816. local idle = 1
  2817. local animlimit = 120
  2818. local attacking = false
  2819. while Humanoid.Health > 0 do
  2820. swait()
  2821. for _, c in pairs(C1S:children()) do
  2822. if c.Name == "Defense" then
  2823. c.Value = 1
  2824. end
  2825. if c.Name == "Decrease" then
  2826. for _, d in pairs(c:children()) do
  2827. d.Parent = nil
  2828. end
  2829. end
  2830. end
  2831. for _, c in pairs(C2S:children()) do
  2832. if c.Name == "Defense" then
  2833. c.Value = 1
  2834. end
  2835. if c.Name == "Decrease" then
  2836. for _, d in pairs(c:children()) do
  2837. d.Parent = nil
  2838. end
  2839. end
  2840. end
  2841. for _, c in pairs(C3S:children()) do
  2842. if c.Name == "Defense" then
  2843. c.Value = 1
  2844. end
  2845. if c.Name == "Decrease" then
  2846. for _, d in pairs(c:children()) do
  2847. d.Parent = nil
  2848. end
  2849. end
  2850. end
  2851. for _, c in pairs(C4S:children()) do
  2852. if c.Name == "Defense" then
  2853. c.Value = 1
  2854. end
  2855. if c.Name == "Decrease" then
  2856. for _, d in pairs(c:children()) do
  2857. d.Parent = nil
  2858. end
  2859. end
  2860. end
  2861. if stunanim == false then
  2862. Humanoid.Health = CurrentHealth
  2863. else
  2864. CurrentHealth = Humanoid.Health
  2865. end
  2866. for i = 1, #refs2 do
  2867. refs2[i][1].CFrame = refs2[i][2].CFrame * refs2[i][3]
  2868. end
  2869. if meleecooldown < 100 then
  2870. meleecooldown = meleecooldown + mcdadd
  2871. end
  2872. hitbox2.Parent = hitbox.Parent
  2873. hitbox2.Size = hitbox.Size
  2874. hitbox2.CFrame = hitboxCF
  2875. Humanoid.WalkSpeed = 0
  2876. if Stun.Value >= StunT.Value and stunanim == false and attack == false then
  2877. coroutine.resume(coroutine.create(function()
  2878. stunanim = true
  2879. while attack == true do
  2880. swait()
  2881. Stun.Value = StunT.Value
  2882. end
  2883. summoncrystals = 0
  2884. StunAnim()
  2885. Stun.Value = 0
  2886. stunanim = false
  2887. end))
  2888. end
  2889. local torvel = RootPart.Velocity * Vector3.new(1, 0, 1).magnitude
  2890. local velderp = RootPart.Velocity.y
  2891. hitfloor, posfloor = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 10, Character)
  2892. for _, c in pairs(Decrease:children()) do
  2893. c.Parent = nil
  2894. if c:findFirstChild("Duration") ~= nil then
  2895. c.Duration.Value = c.Duration.Value - 9999
  2896. if c.Duration.Value <= 0 then
  2897. c.Parent = nil
  2898. end
  2899. end
  2900. if c.Name == "DecreaseAtk" then
  2901. decreaseatk = decreaseatk + c.Value
  2902. elseif c.Name == "DecreaseDef" then
  2903. decreasedef = decreasedef + c.Value
  2904. elseif c.Name == "DecreaseMvmt" then
  2905. decreasemvmt = decreasemvmt + c.Value
  2906. end
  2907. end
  2908. Atk.Value = 2 - decreaseatk
  2909. if Atk.Value <= 0 then
  2910. Atk.Value = 0
  2911. end
  2912. Def.Value = 2 - decreasedef
  2913. if Def.Value <= 0 then
  2914. Def.Value = 0.01
  2915. end
  2916. Mvmt.Value = 0 - decreasemvmt
  2917. if Mvmt.Value <= 0 then
  2918. Mvmt.Value = 0
  2919. end
  2920. decreaseatk = 0
  2921. decreasedef = 0
  2922. decreasemvmt = 0
  2923. AtkVal = Atk.Value * 100
  2924. AtkVal = math.floor(AtkVal)
  2925. AtkVal = AtkVal / 100
  2926. DefVal = Def.Value * 100
  2927. DefVal = math.floor(DefVal)
  2928. DefVal = DefVal / 100
  2929. MvmtVal = Mvmt.Value * 100
  2930. MvmtVal = math.floor(MvmtVal)
  2931. MvmtVal = MvmtVal / 100
  2932. if MvmtVal <= 0 then
  2933. MvmtVal = 0
  2934. end
  2935. animnum = animnum + 1
  2936. if animnum >= animlimit * 5 then
  2937. idle = 1
  2938. animnum = 0
  2939. elseif animnum >= animlimit * 4 then
  2940. idle = 1
  2941. animnum = 0
  2942. elseif animnum >= animlimit * 3 then
  2943. idle = 4
  2944. elseif animnum >= animlimit * 2 then
  2945. idle = 3
  2946. elseif animnum >= animlimit * 1 then
  2947. idle = 2
  2948. end
  2949. if attack == false then
  2950. if idle == 1 or idle == 2 then
  2951. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.4, 0, 0), 0.005)
  2952. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -200, 0), 0.005)
  2953. wld19.C0 = wld19.C0:lerp(euler(-0.4, 0.3, 0) * cf(94, -47.5, -2.248), 0.005)
  2954. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -0.1, -0.6) * euler(0, -0.4, 0), 0.005)
  2955. wld24.C0 = wld24.C0:lerp(euler(0.8, 0.1, 0) * cf(0, 90.25, 0), 0.005)
  2956. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.005)
  2957. wld33.C0 = wld33.C0:lerp(euler(-0.4, -0.3, 0) * cf(-94, -47.5, -2.248), 0.005)
  2958. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0.1, 0.6) * euler(0, 0.4, 0), 0.005)
  2959. wld38.C0 = wld38.C0:lerp(euler(-0.8, 0.1, 0) * cf(0, -90.25, 0), 0.005)
  2960. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.005)
  2961. else
  2962. Neck.C0 = Neck.C0:lerp(euler(0, 0, 0) * cf(0, 35, 0) * euler(0.4, 0, 0), 0.005)
  2963. RootJoint.C0 = RootJoint.C0:lerp(cf(-1.749, -180, 10) * euler(-0.2, 0, 0), 0.005)
  2964. wld19.C0 = wld19.C0:lerp(euler(-0.2, 0.3, 0) * cf(94, -47.5, -2.248), 0.005)
  2965. wld21.C0 = wld21.C0:lerp(euler(0, 0, math.rad(90)) * cf(74.25, 0, 0) * euler(0, -0.1, -0.6) * euler(0, 0, 0), 0.005)
  2966. wld24.C0 = wld24.C0:lerp(euler(1.2, -0.2, 0) * cf(0, 90.25, 0), 0.005)
  2967. wld29.C0 = wld29.C0:lerp(euler(0, 0, 0) * cf(0, 125, 0), 0.005)
  2968. wld33.C0 = wld33.C0:lerp(euler(-0.2, -0.3, 0) * cf(-94, -47.5, -2.248), 0.005)
  2969. wld35.C0 = wld35.C0:lerp(euler(0, 0, math.rad(90)) * cf(-74.25, 0, 0) * euler(0, 0.1, 0.6) * euler(0, 0, 0), 0.005)
  2970. wld38.C0 = wld38.C0:lerp(euler(-1.2, -0.2, 0) * cf(0, -90.25, 0), 0.005)
  2971. wld43.C0 = wld43.C0:lerp(euler(0, 0, 0) * cf(0, -125, 0), 0.005)
  2972. end
  2973. end
  2974. if #Effects > 0 then
  2975. for e = 1, #Effects do
  2976. if Effects[e] ~= nil then
  2977. local Thing = Effects[e]
  2978. if Thing ~= nil then
  2979. local Part = Thing[1]
  2980. local Mode = Thing[2]
  2981. local Delay = Thing[3]
  2982. local IncX = Thing[4]
  2983. local IncY = Thing[5]
  2984. local IncZ = Thing[6]
  2985. if Thing[2] == "DecreaseStat" then
  2986. Thing[5] = Thing[5] - 1
  2987. if Thing[5] <= 0 then
  2988. if Thing[1]:findFirstChild("Stats") == nil or Thing[1].Stats:findFirstChild("Decrease") ~= nil then
  2989. end
  2990. Thing[6].Parent = nil
  2991. table.remove(Effects, e)
  2992. end
  2993. end
  2994. if Thing[2] == "CylinderClang" then
  2995. if Thing[3] <= 1 then
  2996. Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 2.5 * Thing[5], 0) * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
  2997. Thing[7] = Thing[1].CFrame
  2998. effect("New Yeller", 0, Thing[8], Thing[7])
  2999. Thing[8] = Thing[7]
  3000. Thing[3] = Thing[3] + Thing[4]
  3001. else
  3002. Part.Parent = nil
  3003. table.remove(Effects, e)
  3004. end
  3005. end
  3006. if Thing[2] == "showDamage" then
  3007. if Thing[6] < Thing[5] then
  3008. Thing[6] = Thing[6] + 1
  3009. elseif Thing[6] < Thing[7] then
  3010. Thing[4].position = Thing[4].position + vt(0, -0.2, 0)
  3011. Thing[6] = Thing[6] + 1
  3012. elseif Thing[6] < Thing[8] then
  3013. Thing[6] = Thing[6] + 1
  3014. elseif Thing[6] < Thing[9] then
  3015. Thing[6] = Thing[6] + 1
  3016. Thing[4].position = Thing[4].position + vt(0, 0.2, 0)
  3017. Thing[3].TextStrokeTransparency = Thing[3].TextStrokeTransparency + 0.1
  3018. Thing[3].TextTransparency = Thing[3].TextTransparency + 0.1
  3019. else
  3020. Thing[1].Parent = nil
  3021. table.remove(Effects, e)
  3022. end
  3023. end
  3024. if Thing[2] == "ShootIce" then
  3025. local Look = Thing[1]
  3026. local hit, pos = rayCast(Thing[4], Look.lookVector, Thing[9], Character)
  3027. local mag = Thing[4] - pos.magnitude
  3028. Thing[8].CFrame = CFrame.new((Thing[4] + pos) / 2, pos) * euler(-1.57, 0, 0)
  3029. Thing[4] = Thing[4] + Look.lookVector * Thing[9]
  3030. Thing[3] = Thing[3] - 1
  3031. Thing[9] = Thing[9] + 0.2
  3032. if hit ~= nil then
  3033. Thing[3] = 0
  3034. ref = part(3, effects, 0, 1, BrickColor.new("Really red"), "Reference", vt())
  3035. ref.Anchored = true
  3036. ref.CFrame = cf(pos)
  3037. game:GetService("Debris"):AddItem(ref, 1)
  3038. ref2 = part(3, effects, 0, 1, BrickColor.new("Really red"), "Reference", vt(5, 5, 5))
  3039. ref2.Anchored = true
  3040. ref2.CFrame = cf(pos)
  3041. so("199146181", ref2, 1, 1.6)
  3042. game:GetService("Debris"):AddItem(ref2, 5)
  3043. freeze = true
  3044. MagicCircle(BrickColor.new("Cyan"), cf(ref.Position), 20, 20, 20, 20, 20, 20, 0.1)
  3045. MagniDamage(ref, 15, Thing[5], Thing[6], Thing[7], "Normal", RootPart, 0, 2, math.random(10, 15), nil, nil, true, "Movement", 0.1, 100)
  3046. freeze = false
  3047. for i = 1, 8 do
  3048. BreakEffect(BrickColor.new("Pearl"), ref.CFrame * cf(math.random(-100, 100) / 100, math.random(-100, 100) / 100, math.random(-100, 100) / 100), math.random(60, 120) / 100, math.random(3, 20), math.random(60, 120) / 100)
  3049. end
  3050. end
  3051. if Thing[3] <= 0 then
  3052. Thing[8].Transparency = 1
  3053. Thing[11].Enabled = false
  3054. Thing[12].Enabled = false
  3055. game:GetService("Debris"):AddItem(Thing[8], 5)
  3056. table.remove(Effects, e)
  3057. end
  3058. end
  3059. if Thing[2] == "SatelliteStrike" then
  3060. if Thing[5] < 200 then
  3061. Thing[5] = Thing[5] + 2
  3062. Thing[4].Scale = vt(Thing[5], 5, Thing[5])
  3063. else
  3064. refda = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  3065. refda.Anchored = true
  3066. refda.CFrame = cf(Thing[1].Position)
  3067. game:GetService("Debris"):AddItem(refda, 1)
  3068. so("334325056", refda, 1, 1)
  3069. so("199145739", refda, 0.8, 2)
  3070. MagniDamage(refda, 20, 8, 10, 0, "Knockdown2", refda, 0, 1, math.random(10, 12), nil, nil, true, "Movement", 0.4, 100)
  3071. MagicHead(BrickColor.new("Medium blue"), cf(refda.Position), 50, 99999, 50, -4, 1, -4, 0.1)
  3072. MagicBlock(BrickColor.new("Medium blue"), cf(refda.Position), 120, 120, 120, -5, -5, -5, 0.07, 1)
  3073. for i = 1, 15 do
  3074. local freezepart = part(3, effects, 0.5, 0.5, BrickColor.new("Bright blue"), "Ice Part", vt(math.random(500, 800) / 100, math.random(500, 800) / 100, math.random(500, 800) / 100))
  3075. freezepart.Anchored = true
  3076. freezepart.CanCollide = true
  3077. freezepart.CFrame = cf(refda.Position) * cf(math.random(-2000, 2000) / 100, 0, math.random(-2000, 2000) / 100) * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3078. game:GetService("Debris"):AddItem(freezepart, 5)
  3079. end
  3080. Thing[1].Parent = nil
  3081. table.remove(Effects, e)
  3082. end
  3083. end
  3084. if Thing[2] == "SatelliteStrike2" then
  3085. if Thing[5] < 300 then
  3086. Thing[5] = Thing[5] + 2
  3087. Thing[4].Scale = vt(Thing[5], 5, Thing[5])
  3088. else
  3089. refda = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  3090. refda.Anchored = true
  3091. refda.CFrame = cf(Thing[1].Position)
  3092. game:GetService("Debris"):AddItem(refda, 1)
  3093. refda2 = part(3, effects, 0, 1, BrickColor.new("Black"), "Reference", vt())
  3094. refda2.Anchored = true
  3095. refda2.CFrame = refda.CFrame * cf(0, -10, 0)
  3096. game:GetService("Debris"):AddItem(refda2, 1)
  3097. so("178452221", refda, 1, 1.2)
  3098. so("334325056", refda, 1, 1)
  3099. MagniDamage(refda, 30, 8, 10, math.random(40, 60), "Knockdown2", refda2, 0, 1, math.random(15, 20), nil, nil, true, "Damage", 0.4, 300)
  3100. MagicBlock(BrickColor.new("Medium blue"), cf(refda.Position), 120, 120, 120, -5, -5, -5, 0.07, 1)
  3101. MagicWave2(BrickColor.new("Cyan"), cf(refda.Position), 40, 30, 40, 5, 8, 5, 0.07)
  3102. Thing[1].Parent = nil
  3103. table.remove(Effects, e)
  3104. end
  3105. end
  3106. if Thing[2] ~= "DecreaseStat" and Thing[2] ~= "showDamage" and Thing[2] ~= "ShootIce" and Thing[2] ~= "SatelliteStrike" and Thing[2] ~= "SatelliteStrike2" then
  3107. if Thing[1].Transparency <= 1 then
  3108. if Thing[2] == "Block1" then
  3109. Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
  3110. Mesh = Thing[7]
  3111. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  3112. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3113. elseif Thing[2] == "Block2" then
  3114. Thing[1].CFrame = Thing[1].CFrame
  3115. Mesh = Thing[7]
  3116. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  3117. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3118. elseif Thing[2] == "Cylinder" then
  3119. Mesh = Thing[7]
  3120. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  3121. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3122. elseif Thing[2] == "Cylinder2" then
  3123. Mesh = Thing[7]
  3124. if Thing[1].Transparency <= 0.5 then
  3125. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  3126. Thing[8] = Thing[8] + 0.2
  3127. Thing[1].CFrame = Thing[1].CFrame * cf(0, 1, 0) * euler(0, Thing[8], 0)
  3128. else
  3129. Mesh.Scale = Mesh.Scale + vt(Thing[4] / 2, -Thing[5] / 1, Thing[6] / 2)
  3130. Thing[1].CFrame = Thing[1].CFrame * cf(0, -1, 0)
  3131. end
  3132. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3133. elseif Thing[2] == "Shatter" then
  3134. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3135. Thing[4] = Thing[4] * cf(0, Thing[7], 0)
  3136. Thing[1].CFrame = Thing[4] * euler(Thing[6], 0, 0)
  3137. Thing[6] = Thing[6] + Thing[5]
  3138. elseif Thing[2] == "Blood" then
  3139. Mesh = Thing[7]
  3140. Thing[1].CFrame = Thing[1].CFrame * cf(0, Thing[8], 0)
  3141. Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
  3142. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3143. elseif Thing[2] == "Elec" then
  3144. Mesh = Thing[7]
  3145. Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
  3146. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3147. elseif Thing[2] == "Disappear" then
  3148. Thing[1].Transparency = Thing[1].Transparency + Thing[3]
  3149. end
  3150. else
  3151. table.remove(Effects, e)
  3152. end
  3153. end
  3154. end
  3155. end
  3156. end
  3157. end
  3158. end
  3159. refs.Parent = nil
  3160. effects.Parent = nil
  3161. Humanoid.Parent = nil
  3162. for _, c in pairs(Character:children()) do
  3163. if c.className == "Part" then
  3164. c.Anchored = true
  3165. end
  3166. end
  3167. for _, c in pairs(armor:children()) do
  3168. if c.className == "Part" then
  3169. c.Anchored = true
  3170. end
  3171. end
  3172. for _, c in pairs(Character:children()) do
  3173. if c.className == "Part" then
  3174. if c.Name ~= "Left Arm" then
  3175. swait()
  3176. end
  3177. c:BreakJoints()
  3178. c.CanCollide = false
  3179. c.Anchored = false
  3180. end
  3181. end
  3182. for _, c in pairs(armor:children()) do
  3183. if c.className == "Part" then
  3184. swait()
  3185. c:BreakJoints()
  3186. c.CanCollide = false
  3187. c.Anchored = false
  3188. end
  3189. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement