scriptshocasereditor

Untitled

Aug 10th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 171.62 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  3. do
  4. print("FE Compatibility code by Mokiros")
  5. script.Parent = Player.Character
  6.  
  7. --RemoteEvent for communicating
  8. local Event = Instance.new("RemoteEvent")
  9. Event.Name = "UserInput_Event"
  10.  
  11. --Fake event to make stuff like Mouse.KeyDown work
  12. local function fakeEvent()
  13. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  14. t.connect = t.Connect
  15. return t
  16. end
  17.  
  18. --Creating fake input objects with fake variables
  19. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  20. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  21. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  22. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  23. end}
  24. --Merged 2 functions into one by checking amount of arguments
  25. CAS.UnbindAction = CAS.BindAction
  26.  
  27. --This function will trigger the events that have been :Connect()'ed
  28. local function te(self,ev,...)
  29. local t = m[ev]
  30. if t and t._fakeEvent and t.Function then
  31. t.Function(...)
  32. end
  33. end
  34. m.TrigEvent = te
  35. UIS.TrigEvent = te
  36.  
  37. Event.OnServerEvent:Connect(function(plr,io)
  38. if plr~=Player then return end
  39. if io.isMouse then
  40. m.Target = io.Target
  41. m.Hit = io.Hit
  42. else
  43. local b = io.UserInputState == Enum.UserInputState.Begin
  44. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  45. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  46. end
  47. for _,t in pairs(CAS.Actions) do
  48. for _,k in pairs(t.Keys) do
  49. if k==io.KeyCode then
  50. t.Function(t.Name,io.UserInputState,io)
  51. end
  52. end
  53. end
  54. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  55. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  56. end
  57. end)
  58. Event.Parent = NLS([==[
  59. local Player = game:GetService("Players").LocalPlayer
  60. local Event = script:WaitForChild("UserInput_Event")
  61.  
  62. local UIS = game:GetService("UserInputService")
  63. local input = function(io,a)
  64. if a then return end
  65. --Since InputObject is a client-side instance, we create and pass table instead
  66. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  67. end
  68. UIS.InputBegan:Connect(input)
  69. UIS.InputEnded:Connect(input)
  70.  
  71. local Mouse = Player:GetMouse()
  72. local h,t
  73. --Give the server mouse data 30 times every second, but only if the values changed
  74. --If player is not moving their mouse, client won't fire events
  75. while wait(1/30) do
  76. if h~=Mouse.Hit or t~=Mouse.Target then
  77. h,t=Mouse.Hit,Mouse.Target
  78. Event:FireServer({isMouse=true,Target=t,Hit=h})
  79. end
  80. end]==],Player.Character)
  81. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  82. end
  83.  
  84.  
  85. local Player = owner
  86. local Character = Player.Character
  87. local Humanoid = Character.Humanoid
  88. local LeftArm = Character["Left Arm"]
  89. local RightArm = Character["Right Arm"]
  90. local LeftLeg = Character["Left Leg"]
  91. local RightLeg = Character["Right Leg"]
  92. local Head = Character.Head
  93. local Torso = Character.Torso
  94. local Camera = game.Workspace.CurrentCamera
  95. local RootPart = Character.HumanoidRootPart
  96. local RootJoint = RootPart.RootJoint
  97. local attack = false
  98. local Anim = 'Idle'
  99. local Lighty = game:GetService"Lighting"
  100. local attacktype = 1
  101. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  102. local velocity = RootPart.Velocity.y
  103. local sine = 0
  104. local change = 1
  105. local Create = LoadLibrary("RbxUtility").Create
  106.  
  107. warn("Credit goes to ExplosiveDaniel or Sammylad298 for the banisher gun")
  108.  
  109. local chara = Character
  110. local m = Create("Model"){
  111. Parent = Character,
  112. Name = "WeaponModel",
  113. }
  114. function chat(...)
  115. local txxt = {...}
  116. local ch = coroutine.wrap(function()
  117. if chara:FindFirstChild("Chatt")~= nil then
  118. Character:FindFirstChild("Chatt"):destroy()
  119. end
  120. local txt = Instance.new("BillboardGui", chara)
  121. txt.Adornee = chara.Head
  122. txt.Name = "Chatt"
  123. txt.Size = UDim2.new(2, 0, 1.2, 0)
  124. txt.StudsOffset = Vector3.new(-9, 7, 0)
  125. local text = Instance.new("TextLabel", txt)
  126. text.Size = UDim2.new(10, 0, 7, 0)
  127. text.TextSize = 32
  128. text.Font = Enum.Font.SciFi
  129. text.TextScaled = false
  130. text.BackgroundTransparency = 1
  131. text.TextColor3 = Color3.new(6,5,0)
  132. text.TextStrokeTransparency = 0
  133. text.TextStrokeColor3 = Color3.new(66/255, 0/255, 127/255)
  134. text.Text = ""
  135. txxt = table.concat(txxt,"\t")
  136. for i = 1, #txxt do
  137. text.Text = txxt:sub(1,i)
  138.  
  139. end
  140. wait(2)
  141. for trans = 0,1,00.1 do
  142. text.TextTransparency = trans
  143. text.TextStrokeTransparency = trans
  144. wait()
  145. end
  146. wait()
  147. txt:destroy()
  148. end)
  149.  
  150. ch(...)
  151. end
  152. Player.Chatted:connect(chat)
  153.  
  154. wait(0.2)
  155.  
  156. Player = game:GetService("Players").LocalPlayer
  157. PlayerGui = Player.PlayerGui
  158. Cam = workspace.CurrentCamera
  159. Backpack = Player.Backpack
  160. Character = Player.Character
  161. Humanoid = Character.Humanoid
  162. Mouse = Player:GetMouse()
  163. RootPart = Character["HumanoidRootPart"]
  164. Torso = Character["Torso"]
  165. Head = Character["Head"]
  166. RightArm = Character["Right Arm"]
  167. LeftArm = Character["Left Arm"]
  168. RightLeg = Character["Right Leg"]
  169. LeftLeg = Character["Left Leg"]
  170. RootJoint = RootPart["RootJoint"]
  171. Neck = Torso["Neck"]
  172. RightShoulder = Torso["Right Shoulder"]
  173. LeftShoulder = Torso["Left Shoulder"]
  174. RightHip = Torso["Right Hip"]
  175. LeftHip = Torso["Left Hip"]
  176. Character.Archivable = true
  177. Player:ClearCharacterAppearance()
  178.  
  179. IT = Instance.new
  180. CF = CFrame.new
  181. VT = Vector3.new
  182. RAD = math.rad
  183. C3 = Color3.new
  184. UD2 = UDim2.new
  185. BRICKC = BrickColor.new
  186. ANGLES = CFrame.Angles
  187. EULER = CFrame.fromEulerAnglesXYZ
  188. COS = math.cos
  189. ACOS = math.acos
  190. SIN = math.sin
  191. ASIN = math.asin
  192. ABS = math.abs
  193. MRANDOM = math.random
  194. FLOOR = math.floor
  195.  
  196. --//=================================\\
  197. --|| USEFUL VALUES
  198. --\\=================================//
  199.  
  200. Animation_Speed = 3
  201. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  202. local Speed = 30
  203. local SIZE = 1.4
  204. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  205. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  206. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  207. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  208. local DAMAGEMULTIPLIER = 5
  209. local ANIM = "Idle"
  210. local ATTACK = false
  211. local EQUIPPED = false
  212. local HOLD = false
  213. local COMBO = 1
  214. local Rooted = false
  215. local SINE = 0
  216. local KEYHOLD = false
  217. local CHANGE = 2 / Animation_Speed
  218. local WALKINGANIM = false
  219. local VALUE1 = false
  220. local VALUE2 = false
  221. local ROBLOXIDLEANIMATION = IT("Animation")
  222. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  223. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  224. local ATANIM = IT("Animation")
  225. ATANIM.Name = "Attack Animation"
  226. ATANIM.AnimationId = "http://www.roblox.com/asset/?id=74894663"
  227. --ROBLOXIDLEANIMATION.Parent = Humanoid
  228. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  229. WEAPONGUI.Name = "Weapon GUI"
  230. local Weapon = IT("Model")
  231. Weapon.Name = "Adds"
  232. local Effects = IT("Folder", Weapon)
  233. Effects.Name = "Effects"
  234. local ANIMATOR = Humanoid.Animator
  235. local ANIMATE = Character.Animate
  236. local UNANCHOR = true
  237. local CLOCKLOOP = 0
  238. local SONG = 1836012327
  239. local CLOCKTARGET = nil
  240. local CLOCKSPEED = 0
  241. script.Parent = WEAPONGUI
  242. local CLONE = Character:Clone()
  243. CLONE.Parent = nil
  244. Character.Archivable = false
  245. local sick = Instance.new("Sound",Torso)
  246. sick.Volume = 50
  247.  
  248. --//=================================\\
  249. --\\=================================//
  250.  
  251.  
  252. --//=================================\\
  253. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  254. --\\=================================//
  255.  
  256. ArtificialHB = Instance.new("BindableEvent", script)
  257. ArtificialHB.Name = "ArtificialHB"
  258.  
  259. script:WaitForChild("ArtificialHB")
  260.  
  261. frame = Frame_Speed
  262. tf = 0
  263. allowframeloss = false
  264. tossremainder = false
  265. lastframe = tick()
  266. script.ArtificialHB:Fire()
  267.  
  268. game:GetService("RunService").Heartbeat:connect(function(s, p)
  269. tf = tf + s
  270. if tf >= frame then
  271. if allowframeloss then
  272. script.ArtificialHB:Fire()
  273. lastframe = tick()
  274. else
  275. for i = 1, math.floor(tf / frame) do
  276. script.ArtificialHB:Fire()
  277. end
  278. lastframe = tick()
  279. end
  280. if tossremainder then
  281. tf = 0
  282. else
  283. tf = tf - frame * math.floor(tf / frame)
  284. end
  285. end
  286. end)
  287.  
  288. --//=================================\\
  289. --\\=================================//
  290.  
  291. --//=================================\\
  292. --|| SOME FUNCTIONS
  293. --\\=================================//
  294.  
  295. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  296. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  297. end
  298.  
  299. function PositiveAngle(NUMBER)
  300. if NUMBER >= 0 then
  301. NUMBER = 0
  302. end
  303. return NUMBER
  304. end
  305.  
  306. function NegativeAngle(NUMBER)
  307. if NUMBER <= 0 then
  308. NUMBER = 0
  309. end
  310. return NUMBER
  311. end
  312.  
  313. function Swait(NUMBER)
  314. if NUMBER == 0 or NUMBER == nil then
  315. ArtificialHB.Event:wait()
  316. else
  317. for i = 1, NUMBER do
  318. ArtificialHB.Event:wait()
  319. end
  320. end
  321. end
  322.  
  323. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  324. local NEWMESH = IT(MESH)
  325. if MESH == "SpecialMesh" then
  326. NEWMESH.MeshType = MESHTYPE
  327. if MESHID ~= "nil" and MESHID ~= "" then
  328. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  329. end
  330. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  331. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  332. end
  333. end
  334. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  335. NEWMESH.Scale = SCALE
  336. NEWMESH.Parent = PARENT
  337. return NEWMESH
  338. end
  339.  
  340. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  341. local NEWPART = IT("Part")
  342. NEWPART.formFactor = FORMFACTOR
  343. NEWPART.Reflectance = REFLECTANCE
  344. NEWPART.Transparency = TRANSPARENCY
  345. NEWPART.CanCollide = false
  346. NEWPART.Locked = true
  347. NEWPART.Anchored = true
  348. if ANCHOR == false then
  349. NEWPART.Anchored = false
  350. end
  351. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  352. NEWPART.Name = NAME
  353. NEWPART.Size = SIZE
  354. NEWPART.Position = Torso.Position
  355. NEWPART.Material = MATERIAL
  356. NEWPART:BreakJoints()
  357. NEWPART.Parent = PARENT
  358. return NEWPART
  359. end
  360.  
  361. local function weldBetween(a, b)
  362. local weldd = Instance.new("ManualWeld")
  363. weldd.Part0 = a
  364. weldd.Part1 = b
  365. weldd.C0 = CFrame.new()
  366. weldd.C1 = b.CFrame:inverse() * a.CFrame
  367. weldd.Parent = a
  368. return weldd
  369. end
  370.  
  371.  
  372. function QuaternionFromCFrame(cf)
  373. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  374. local trace = m00 + m11 + m22
  375. if trace > 0 then
  376. local s = math.sqrt(1 + trace)
  377. local recip = 0.5 / s
  378. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  379. else
  380. local i = 0
  381. if m11 > m00 then
  382. i = 1
  383. end
  384. if m22 > (i == 0 and m00 or m11) then
  385. i = 2
  386. end
  387. if i == 0 then
  388. local s = math.sqrt(m00 - m11 - m22 + 1)
  389. local recip = 0.5 / s
  390. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  391. elseif i == 1 then
  392. local s = math.sqrt(m11 - m22 - m00 + 1)
  393. local recip = 0.5 / s
  394. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  395. elseif i == 2 then
  396. local s = math.sqrt(m22 - m00 - m11 + 1)
  397. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  398. end
  399. end
  400. end
  401.  
  402. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  403. local xs, ys, zs = x + x, y + y, z + z
  404. local wx, wy, wz = w * xs, w * ys, w * zs
  405. local xx = x * xs
  406. local xy = x * ys
  407. local xz = x * zs
  408. local yy = y * ys
  409. local yz = y * zs
  410. local zz = z * zs
  411. 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))
  412. end
  413.  
  414. function QuaternionSlerp(a, b, t)
  415. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  416. local startInterp, finishInterp;
  417. if cosTheta >= 0.0001 then
  418. if (1 - cosTheta) > 0.0001 then
  419. local theta = ACOS(cosTheta)
  420. local invSinTheta = 1 / SIN(theta)
  421. startInterp = SIN((1 - t) * theta) * invSinTheta
  422. finishInterp = SIN(t * theta) * invSinTheta
  423. else
  424. startInterp = 1 - t
  425. finishInterp = t
  426. end
  427. else
  428. if (1 + cosTheta) > 0.0001 then
  429. local theta = ACOS(-cosTheta)
  430. local invSinTheta = 1 / SIN(theta)
  431. startInterp = SIN((t - 1) * theta) * invSinTheta
  432. finishInterp = SIN(t * theta) * invSinTheta
  433. else
  434. startInterp = t - 1
  435. finishInterp = t
  436. end
  437. end
  438. 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
  439. end
  440.  
  441. function Clerp(a, b, t)
  442. local qa = {QuaternionFromCFrame(a)}
  443. local qb = {QuaternionFromCFrame(b)}
  444. local ax, ay, az = a.x, a.y, a.z
  445. local bx, by, bz = b.x, b.y, b.z
  446. local _t = 1 - t
  447. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  448. end
  449.  
  450. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  451. local frame = IT("Frame")
  452. frame.BackgroundTransparency = TRANSPARENCY
  453. frame.BorderSizePixel = BORDERSIZEPIXEL
  454. frame.Position = POSITION
  455. frame.Size = SIZE
  456. frame.BackgroundColor3 = COLOR
  457. frame.BorderColor3 = BORDERCOLOR
  458. frame.Name = NAME
  459. frame.Parent = PARENT
  460. return frame
  461. end
  462.  
  463. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  464. local label = IT("TextLabel")
  465. label.BackgroundTransparency = 1
  466. label.Size = UD2(1, 0, 1, 0)
  467. label.Position = UD2(0, 0, 0, 0)
  468. label.TextColor3 = TEXTCOLOR
  469. label.TextStrokeColor3 = BRICKC"Earth green".Color
  470. label.TextStrokeTransparency = STROKETRANSPARENCY
  471. label.TextTransparency = TRANSPARENCY
  472. label.FontSize = TEXTFONTSIZE
  473. label.Font = TEXTFONT
  474. label.BorderSizePixel = BORDERSIZEPIXEL
  475. label.TextScaled = false
  476. label.Text = TEXT
  477. label.Name = NAME
  478. label.Parent = PARENT
  479. return label
  480. end
  481.  
  482. function NoOutlines(PART)
  483. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  484. end
  485.  
  486. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  487. local NEWWELD = IT(TYPE)
  488. NEWWELD.Part0 = PART0
  489. NEWWELD.Part1 = PART1
  490. NEWWELD.C0 = C0
  491. NEWWELD.C1 = C1
  492. NEWWELD.Parent = PARENT
  493. return NEWWELD
  494. end
  495.  
  496. local S = IT("Sound")
  497. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  498. local NEWSOUND = nil
  499. coroutine.resume(coroutine.create(function()
  500. NEWSOUND = S:Clone()
  501. NEWSOUND.Parent = PARENT
  502. NEWSOUND.Volume = VOLUME
  503. NEWSOUND.Pitch = PITCH
  504. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  505. NEWSOUND:play()
  506. NEWSOUND.Name = "Audio"
  507. if DOESLOOP == true then
  508. NEWSOUND.Looped = true
  509. else
  510. repeat Swait() until NEWSOUND.Playing == false
  511. NEWSOUND:remove()
  512. end
  513. end))
  514. return NEWSOUND
  515. end
  516.  
  517. function CFrameFromTopBack(at, top, back)
  518. local right = top:Cross(back)
  519. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  520. end
  521.  
  522. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  523. function WACKYEFFECT(Table)
  524. local TYPE = (Table.EffectType or "Sphere")
  525. local SIZE = (Table.Size or VT(1,1,1))
  526. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  527. local TRANSPARENCY = (Table.Transparency or 0)
  528. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  529. local CFRAME = (Table.CFrame or Torso.CFrame)
  530. local MOVEDIRECTION = (Table.MoveToPos or nil)
  531. local ROTATION1 = (Table.RotationX or 0)
  532. local ROTATION2 = (Table.RotationY or 0)
  533. local ROTATION3 = (Table.RotationZ or 0)
  534. local MATERIAL = (Table.Material or "Neon")
  535. local COLOR = (Table.Color or C3(1,1,1))
  536. local TIME = (Table.Time or 45)
  537. local SOUNDID = (Table.SoundID or nil)
  538. local SOUNDPITCH = (Table.SoundPitch or nil)
  539. local SOUNDVOLUME = (Table.SoundVolume or nil)
  540. coroutine.resume(coroutine.create(function()
  541. local PLAYSSOUND = false
  542. local SOUND = nil
  543. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  544. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  545. PLAYSSOUND = true
  546. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  547. end
  548. EFFECT.Color = COLOR
  549. local MSH = nil
  550. if TYPE == "Sphere" then
  551. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  552. elseif TYPE == "Block" then
  553. MSH = IT("BlockMesh",EFFECT)
  554. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  555. elseif TYPE == "Box" then
  556. MSH = IT("BlockMesh",EFFECT)
  557. MSH.Scale = SIZE
  558. elseif TYPE == "Wave" then
  559. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  560. elseif TYPE == "Ring" then
  561. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  562. elseif TYPE == "Slash" then
  563. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  564. elseif TYPE == "Round Slash" then
  565. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  566. elseif TYPE == "Swirl" then
  567. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  568. elseif TYPE == "Skull" then
  569. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  570. elseif TYPE == "Crystal" then
  571. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  572. end
  573. if MSH ~= nil then
  574. local MOVESPEED = nil
  575. if MOVEDIRECTION ~= nil then
  576. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  577. end
  578. local GROWTH = SIZE - ENDSIZE
  579. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  580. if TYPE == "Block" then
  581. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  582. else
  583. EFFECT.CFrame = CFRAME
  584. end
  585. for LOOP = 1, TIME do
  586. Swait()
  587. MSH.Scale = MSH.Scale - GROWTH/TIME
  588. if TYPE == "Wave" then
  589. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  590. end
  591. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  592. if TYPE == "Block" then
  593. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  594. else
  595. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  596. end
  597. if MOVEDIRECTION ~= nil then
  598. local ORI = EFFECT.Orientation
  599. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  600. EFFECT.Orientation = ORI
  601. end
  602. end
  603. if PLAYSSOUND == false then
  604. EFFECT:remove()
  605. else
  606. repeat Swait() until SOUND.Playing == false
  607. EFFECT:remove()
  608. end
  609. else
  610. if PLAYSSOUND == false then
  611. EFFECT:remove()
  612. else
  613. repeat Swait() until SOUND.Playing == false
  614. EFFECT:remove()
  615. end
  616. end
  617. end))
  618. end
  619.  
  620. function Shatter(Part)
  621. if Part.Transparency == 0 then
  622. local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, Part.BrickColor, "OOF", VT(0,0,0))
  623. Debris:AddItem(SOUNDPART,5)
  624. CreateSound("84005018", SOUNDPART, 3, MRANDOM(8,12)/10, false)
  625. local SIZE = Part.Size.X + Part.Size.Y + Part.Size.Z
  626. local SIZESET = SIZE/4
  627. local XOffset = Part.Size.X*1.5/SIZESET
  628. local YOffset = Part.Size.Y*1.5/SIZESET
  629. local ZOffset = Part.Size.Z*1.5/SIZESET
  630. for x = 1, math.ceil(XOffset) do
  631. for y = 1, math.ceil(YOffset) do
  632. for z = 1, math.ceil(ZOffset) do
  633. local SHARD = CreatePart(3, Effects, "Neon", 0, 0, Part.BrickColor, "Shard", VT(SIZE,SIZE,SIZE)/10, false)
  634. SHARD.CanCollide = true
  635. SHARD.CFrame = Part.CFrame*CF((Part.Size.X/2-x/4),(Part.Size.Y/2-y/4),(Part.Size.Z/2-z/4))
  636. SHARD.Velocity = VT(MRANDOM(-15,15),MRANDOM(-15,15),MRANDOM(-15,15))*3
  637. Debris:AddItem(SHARD,MRANDOM(10,25)/3)
  638. end
  639. end
  640. end
  641. end
  642. Part:remove()
  643. end
  644.  
  645. function MakeForm(PART,TYPE)
  646. if TYPE == "Cyl" then
  647. local MSH = IT("CylinderMesh",PART)
  648. elseif TYPE == "Ball" then
  649. local MSH = IT("SpecialMesh",PART)
  650. MSH.MeshType = "Sphere"
  651. elseif TYPE == "Wedge" then
  652. local MSH = IT("SpecialMesh",PART)
  653. MSH.MeshType = "Wedge"
  654. end
  655. end
  656.  
  657. Debris = game:GetService("Debris")
  658.  
  659. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  660. local DIRECTION = CF(StartPos,EndPos).lookVector
  661. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  662. end
  663.  
  664. function turnto(position)
  665. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  666. end
  667.  
  668. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  669. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  670. end
  671.  
  672. function PositiveAngle(NUMBER)
  673. if NUMBER >= 0 then
  674. NUMBER = 0
  675. end
  676. return NUMBER
  677. end
  678.  
  679. function NegativeAngle(NUMBER)
  680. if NUMBER <= 0 then
  681. NUMBER = 0
  682. end
  683. return NUMBER
  684. end
  685.  
  686. function Swait(NUMBER)
  687. if NUMBER == 0 or NUMBER == nil then
  688. ArtificialHB.Event:wait()
  689. else
  690. for i = 1, NUMBER do
  691. ArtificialHB.Event:wait()
  692. end
  693. end
  694. end
  695.  
  696. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  697. local NEWMESH = IT(MESH)
  698. if MESH == "SpecialMesh" then
  699. NEWMESH.MeshType = MESHTYPE
  700. if MESHID ~= "nil" and MESHID ~= "" then
  701. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  702. end
  703. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  704. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  705. end
  706. end
  707. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  708. NEWMESH.Scale = SCALE
  709. NEWMESH.Parent = PARENT
  710. return NEWMESH
  711. end
  712.  
  713. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  714. local NEWPART = IT("Part")
  715. NEWPART.formFactor = FORMFACTOR
  716. NEWPART.Reflectance = REFLECTANCE
  717. NEWPART.Transparency = TRANSPARENCY
  718. NEWPART.CanCollide = false
  719. NEWPART.Locked = true
  720. NEWPART.Anchored = true
  721. if ANCHOR == false then
  722. NEWPART.Anchored = false
  723. end
  724. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  725. NEWPART.Name = NAME
  726. NEWPART.Size = SIZE
  727. NEWPART.Position = Torso.Position
  728. NEWPART.Material = MATERIAL
  729. NEWPART:BreakJoints()
  730. NEWPART.Parent = PARENT
  731. return NEWPART
  732. end
  733.  
  734. local function weldBetween(a, b)
  735. local weldd = Instance.new("ManualWeld")
  736. weldd.Part0 = a
  737. weldd.Part1 = b
  738. weldd.C0 = CFrame.new()
  739. weldd.C1 = b.CFrame:inverse() * a.CFrame
  740. weldd.Parent = a
  741. return weldd
  742. end
  743.  
  744.  
  745. function QuaternionFromCFrame(cf)
  746. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  747. local trace = m00 + m11 + m22
  748. if trace > 0 then
  749. local s = math.sqrt(1 + trace)
  750. local recip = 0.5 / s
  751. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  752. else
  753. local i = 0
  754. if m11 > m00 then
  755. i = 1
  756. end
  757. if m22 > (i == 0 and m00 or m11) then
  758. i = 2
  759. end
  760. if i == 0 then
  761. local s = math.sqrt(m00 - m11 - m22 + 1)
  762. local recip = 0.5 / s
  763. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  764. elseif i == 1 then
  765. local s = math.sqrt(m11 - m22 - m00 + 1)
  766. local recip = 0.5 / s
  767. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  768. elseif i == 2 then
  769. local s = math.sqrt(m22 - m00 - m11 + 1)
  770. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  771. end
  772. end
  773. end
  774.  
  775. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  776. local xs, ys, zs = x + x, y + y, z + z
  777. local wx, wy, wz = w * xs, w * ys, w * zs
  778. local xx = x * xs
  779. local xy = x * ys
  780. local xz = x * zs
  781. local yy = y * ys
  782. local yz = y * zs
  783. local zz = z * zs
  784. 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))
  785. end
  786.  
  787. function QuaternionSlerp(a, b, t)
  788. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  789. local startInterp, finishInterp;
  790. if cosTheta >= 0.0001 then
  791. if (1 - cosTheta) > 0.0001 then
  792. local theta = ACOS(cosTheta)
  793. local invSinTheta = 1 / SIN(theta)
  794. startInterp = SIN((1 - t) * theta) * invSinTheta
  795. finishInterp = SIN(t * theta) * invSinTheta
  796. else
  797. startInterp = 1 - t
  798. finishInterp = t
  799. end
  800. else
  801. if (1 + cosTheta) > 0.0001 then
  802. local theta = ACOS(-cosTheta)
  803. local invSinTheta = 1 / SIN(theta)
  804. startInterp = SIN((t - 1) * theta) * invSinTheta
  805. finishInterp = SIN(t * theta) * invSinTheta
  806. else
  807. startInterp = t - 1
  808. finishInterp = t
  809. end
  810. end
  811. 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
  812. end
  813.  
  814. function Clerp(a, b, t)
  815. local qa = {QuaternionFromCFrame(a)}
  816. local qb = {QuaternionFromCFrame(b)}
  817. local ax, ay, az = a.x, a.y, a.z
  818. local bx, by, bz = b.x, b.y, b.z
  819. local _t = 1 - t
  820. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  821. end
  822.  
  823. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  824. local frame = IT("Frame")
  825. frame.BackgroundTransparency = TRANSPARENCY
  826. frame.BorderSizePixel = BORDERSIZEPIXEL
  827. frame.Position = POSITION
  828. frame.Size = SIZE
  829. frame.BackgroundColor3 = COLOR
  830. frame.BorderColor3 = BORDERCOLOR
  831. frame.Name = NAME
  832. frame.Parent = PARENT
  833. return frame
  834. end
  835.  
  836. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  837. local label = IT("TextLabel")
  838. label.BackgroundTransparency = 1
  839. label.Size = UD2(1, 0, 1, 0)
  840. label.Position = UD2(0, 0, 0, 0)
  841. label.TextColor3 = TEXTCOLOR
  842. label.TextStrokeTransparency = STROKETRANSPARENCY
  843. label.TextTransparency = TRANSPARENCY
  844. label.FontSize = TEXTFONTSIZE
  845. label.Font = TEXTFONT
  846. label.BorderSizePixel = BORDERSIZEPIXEL
  847. label.TextStrokeColor3 = C3(1,1,1)
  848. label.TextScaled = false
  849. label.Text = TEXT
  850. label.Name = NAME
  851. label.Parent = PARENT
  852. return label
  853. end
  854.  
  855. function NoOutlines(PART)
  856. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  857. end
  858.  
  859. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  860. local NEWWELD = IT(TYPE)
  861. NEWWELD.Part0 = PART0
  862. NEWWELD.Part1 = PART1
  863. NEWWELD.C0 = C0
  864. NEWWELD.C1 = C1
  865. NEWWELD.Parent = PARENT
  866. return NEWWELD
  867. end
  868.  
  869. local S = IT("Sound")
  870. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  871. local NEWSOUND = nil
  872. coroutine.resume(coroutine.create(function()
  873. NEWSOUND = S:Clone()
  874. NEWSOUND.Parent = PARENT
  875. NEWSOUND.Volume = VOLUME
  876. NEWSOUND.Pitch = PITCH
  877. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  878. NEWSOUND:play()
  879. if DOESLOOP == true then
  880. NEWSOUND.Looped = true
  881. else
  882. repeat wait(1) until NEWSOUND.Playing == false
  883. NEWSOUND:remove()
  884. end
  885. end))
  886. return NEWSOUND
  887. end
  888.  
  889. function CFrameFromTopBack(at, top, back)
  890. local right = top:Cross(back)
  891. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  892. end
  893.  
  894. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(5,6,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  895. function WACKYEFFECT(Table)
  896. local TYPE = (Table.EffectType or "Sphere")
  897. local SIZE = (Table.Size or VT(1,1,1))
  898. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  899. local TRANSPARENCY = (Table.Transparency or 0)
  900. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  901. local CFRAME = (Table.CFrame or Torso.CFrame)
  902. local MOVEDIRECTION = (Table.MoveToPos or nil)
  903. local ROTATION1 = (Table.RotationX or 0)
  904. local ROTATION2 = (Table.RotationY or 0)
  905. local ROTATION3 = (Table.RotationZ or 0)
  906. local MATERIAL = (Table.Material or "Neon")
  907. local COLOR = (Table.Color or C3(5,6,0))
  908. local TIME = (Table.Time or 45)
  909. local SOUNDID = (Table.SoundID or nil)
  910. local SOUNDPITCH = (Table.SoundPitch or nil)
  911. local SOUNDVOLUME = (Table.SoundVolume or nil)
  912. coroutine.resume(coroutine.create(function()
  913. local PLAYSSOUND = false
  914. local SOUND = nil
  915. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(0,0,0), true)
  916. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  917. PLAYSSOUND = true
  918. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  919. end
  920. EFFECT.Color = COLOR
  921. local MSH = nil
  922. if TYPE == "Sphere" then
  923. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  924. elseif TYPE == "Block" then
  925. MSH = IT("BlockMesh",EFFECT)
  926. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  927. elseif TYPE == "Wave" then
  928. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  929. elseif TYPE == "Ring" then
  930. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  931. elseif TYPE == "Slash" then
  932. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  933. elseif TYPE == "Round Slash" then
  934. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  935. elseif TYPE == "Swirl" then
  936. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  937. elseif TYPE == "Skull" then
  938. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  939. elseif TYPE == "Crystal" then
  940. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  941. end
  942. if MSH ~= nil then
  943. local MOVESPEED = nil
  944. if MOVEDIRECTION ~= nil then
  945. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  946. end
  947. local GROWTH = SIZE - ENDSIZE
  948. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  949. if TYPE == "Block" then
  950. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  951. else
  952. EFFECT.CFrame = CFRAME
  953. end
  954. for LOOP = 1, TIME+1 do
  955. Swait()
  956. MSH.Scale = MSH.Scale - GROWTH/TIME
  957. if TYPE == "Wave" then
  958. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  959. end
  960. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  961. if TYPE == "Block" then
  962. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  963. else
  964. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  965. end
  966. if MOVEDIRECTION ~= nil then
  967. local ORI = EFFECT.Orientation
  968. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  969. EFFECT.Orientation = ORI
  970. end
  971. end
  972. if PLAYSSOUND == false then
  973. EFFECT:remove()
  974. else
  975. repeat Swait() until SOUND.Playing == false
  976. EFFECT:remove()
  977. end
  978. else
  979. if PLAYSSOUND == false then
  980. EFFECT:remove()
  981. else
  982. repeat Swait() until SOUND.Playing == false
  983. EFFECT:remove()
  984. end
  985. end
  986. end))
  987. end
  988.  
  989. function MakeForm(PART,TYPE)
  990. if TYPE == "Cyl" then
  991. local MSH = IT("CylinderMesh",PART)
  992. elseif TYPE == "Ball" then
  993. local MSH = IT("SpecialMesh",PART)
  994. MSH.MeshType = "Sphere"
  995. elseif TYPE == "Wedge" then
  996. local MSH = IT("SpecialMesh",PART)
  997. MSH.MeshType = "Wedge"
  998. end
  999. end
  1000.  
  1001. Debris = game:GetService("Debris")
  1002.  
  1003. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1004. local DIRECTION = CF(StartPos,EndPos).lookVector
  1005. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1006. end
  1007.  
  1008. function turnto(position)
  1009. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1010. end
  1011. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1012. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1013. end
  1014.  
  1015. function PositiveAngle(NUMBER)
  1016. if NUMBER >= 0 then
  1017. NUMBER = 0
  1018. end
  1019. return NUMBER
  1020. end
  1021.  
  1022. function NegativeAngle(NUMBER)
  1023. if NUMBER <= 0 then
  1024. NUMBER = 0
  1025. end
  1026. return NUMBER
  1027. end
  1028.  
  1029. function Swait(NUMBER)
  1030. if NUMBER == 0 or NUMBER == nil then
  1031. ArtificialHB.Event:wait()
  1032. else
  1033. for i = 1, NUMBER do
  1034. ArtificialHB.Event:wait()
  1035. end
  1036. end
  1037. end
  1038.  
  1039. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1040. local NEWMESH = IT(MESH)
  1041. if MESH == "SpecialMesh" then
  1042. NEWMESH.MeshType = MESHTYPE
  1043. if MESHID ~= "nil" and MESHID ~= "" then
  1044. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1045. end
  1046. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1047. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1048. end
  1049. end
  1050. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1051. NEWMESH.Scale = SCALE
  1052. NEWMESH.Parent = PARENT
  1053. return NEWMESH
  1054. end
  1055.  
  1056. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1057. local NEWPART = IT("Part")
  1058. NEWPART.formFactor = FORMFACTOR
  1059. NEWPART.Reflectance = REFLECTANCE
  1060. NEWPART.Transparency = TRANSPARENCY
  1061. NEWPART.CanCollide = false
  1062. NEWPART.Locked = true
  1063. NEWPART.Anchored = true
  1064. if ANCHOR == false then
  1065. NEWPART.Anchored = false
  1066. end
  1067. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1068. NEWPART.Name = NAME
  1069. NEWPART.Size = SIZE
  1070. NEWPART.Position = Torso.Position
  1071. NEWPART.Material = MATERIAL
  1072. NEWPART:BreakJoints()
  1073. NEWPART.Parent = PARENT
  1074. return NEWPART
  1075. end
  1076.  
  1077. local function weldBetween(a, b)
  1078. local weldd = Instance.new("ManualWeld")
  1079. weldd.Part0 = a
  1080. weldd.Part1 = b
  1081. weldd.C0 = CFrame.new()
  1082. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1083. weldd.Parent = a
  1084. return weldd
  1085. end
  1086.  
  1087.  
  1088. function QuaternionFromCFrame(cf)
  1089. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1090. local trace = m00 + m11 + m22
  1091. if trace > 0 then
  1092. local s = math.sqrt(1 + trace)
  1093. local recip = 0.5 / s
  1094. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1095. else
  1096. local i = 0
  1097. if m11 > m00 then
  1098. i = 1
  1099. end
  1100. if m22 > (i == 0 and m00 or m11) then
  1101. i = 2
  1102. end
  1103. if i == 0 then
  1104. local s = math.sqrt(m00 - m11 - m22 + 1)
  1105. local recip = 0.5 / s
  1106. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1107. elseif i == 1 then
  1108. local s = math.sqrt(m11 - m22 - m00 + 1)
  1109. local recip = 0.5 / s
  1110. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1111. elseif i == 2 then
  1112. local s = math.sqrt(m22 - m00 - m11 + 1)
  1113. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1114. end
  1115. end
  1116. end
  1117.  
  1118. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1119. local xs, ys, zs = x + x, y + y, z + z
  1120. local wx, wy, wz = w * xs, w * ys, w * zs
  1121. local xx = x * xs
  1122. local xy = x * ys
  1123. local xz = x * zs
  1124. local yy = y * ys
  1125. local yz = y * zs
  1126. local zz = z * zs
  1127. 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))
  1128. end
  1129.  
  1130. function QuaternionSlerp(a, b, t)
  1131. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1132. local startInterp, finishInterp;
  1133. if cosTheta >= 0.0001 then
  1134. if (1 - cosTheta) > 0.0001 then
  1135. local theta = ACOS(cosTheta)
  1136. local invSinTheta = 1 / SIN(theta)
  1137. startInterp = SIN((1 - t) * theta) * invSinTheta
  1138. finishInterp = SIN(t * theta) * invSinTheta
  1139. else
  1140. startInterp = 1 - t
  1141. finishInterp = t
  1142. end
  1143. else
  1144. if (1 + cosTheta) > 0.0001 then
  1145. local theta = ACOS(-cosTheta)
  1146. local invSinTheta = 1 / SIN(theta)
  1147. startInterp = SIN((t - 1) * theta) * invSinTheta
  1148. finishInterp = SIN(t * theta) * invSinTheta
  1149. else
  1150. startInterp = t - 1
  1151. finishInterp = t
  1152. end
  1153. end
  1154. 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
  1155. end
  1156.  
  1157. function Clerp(a, b, t)
  1158. local qa = {QuaternionFromCFrame(a)}
  1159. local qb = {QuaternionFromCFrame(b)}
  1160. local ax, ay, az = a.x, a.y, a.z
  1161. local bx, by, bz = b.x, b.y, b.z
  1162. local _t = 1 - t
  1163. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1164. end
  1165.  
  1166. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1167. local frame = IT("Frame")
  1168. frame.BackgroundTransparency = TRANSPARENCY
  1169. frame.BorderSizePixel = BORDERSIZEPIXEL
  1170. frame.Position = POSITION
  1171. frame.Size = SIZE
  1172. frame.BackgroundColor3 = COLOR
  1173. frame.BorderColor3 = BORDERCOLOR
  1174. frame.Name = NAME
  1175. frame.Parent = PARENT
  1176. return frame
  1177. end
  1178.  
  1179. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1180. local label = IT("TextLabel")
  1181. label.BackgroundTransparency = 1
  1182. label.Size = UD2(1, 0, 1, 0)
  1183. label.Position = UD2(0, 0, 0, 0)
  1184. label.TextColor3 = TEXTCOLOR
  1185. label.TextStrokeTransparency = STROKETRANSPARENCY
  1186. label.TextTransparency = TRANSPARENCY
  1187. label.FontSize = TEXTFONTSIZE
  1188. label.Font = TEXTFONT
  1189. label.BorderSizePixel = BORDERSIZEPIXEL
  1190. label.TextScaled = false
  1191. label.Text = TEXT
  1192. label.Name = NAME
  1193. label.Parent = PARENT
  1194. return label
  1195. end
  1196.  
  1197. function NoOutlines(PART)
  1198. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1199. end
  1200.  
  1201. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1202. local NEWWELD = IT(TYPE)
  1203. NEWWELD.Part0 = PART0
  1204. NEWWELD.Part1 = PART1
  1205. NEWWELD.C0 = C0
  1206. NEWWELD.C1 = C1
  1207. NEWWELD.Parent = PARENT
  1208. return NEWWELD
  1209. end
  1210.  
  1211. local S = IT("Sound")
  1212. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1213. local NEWSOUND = nil
  1214. coroutine.resume(coroutine.create(function()
  1215. NEWSOUND = S:Clone()
  1216. NEWSOUND.Parent = PARENT
  1217. NEWSOUND.Volume = VOLUME
  1218. NEWSOUND.Pitch = PITCH
  1219. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1220. NEWSOUND:play()
  1221. if DOESLOOP == true then
  1222. NEWSOUND.Looped = true
  1223. else
  1224. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  1225. NEWSOUND:remove()
  1226. end
  1227. end))
  1228. return NEWSOUND
  1229. end
  1230.  
  1231. function CFrameFromTopBack(at, top, back)
  1232. local right = top:Cross(back)
  1233. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1234. end
  1235.  
  1236. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1237. function WACKYEFFECT(Table)
  1238. local TYPE = (Table.EffectType or "Sphere")
  1239. local SIZE = (Table.Size or VT(1,1,1))
  1240. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1241. local TRANSPARENCY = (Table.Transparency or 0)
  1242. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1243. local CFRAME = (Table.CFrame or Torso.CFrame)
  1244. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1245. local ROTATION1 = (Table.RotationX or 0)
  1246. local ROTATION2 = (Table.RotationY or 0)
  1247. local ROTATION3 = (Table.RotationZ or 0)
  1248. local MATERIAL = (Table.Material or "Neon")
  1249. local COLOR = (Table.Color or C3(1,1,1))
  1250. local TIME = (Table.Time or 45)
  1251. local SOUNDID = (Table.SoundID or nil)
  1252. local SOUNDPITCH = (Table.SoundPitch or nil)
  1253. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1254. coroutine.resume(coroutine.create(function()
  1255. local PLAYSSOUND = false
  1256. local SOUND = nil
  1257. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  1258. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1259. PLAYSSOUND = true
  1260. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1261. end
  1262. EFFECT.Color = COLOR
  1263. local MSH = nil
  1264. if TYPE == "Sphere" then
  1265. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1266. elseif TYPE == "Block" then
  1267. MSH = IT("BlockMesh",EFFECT)
  1268. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  1269. elseif TYPE == "Wave" then
  1270. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1271. elseif TYPE == "Ring" then
  1272. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1273. elseif TYPE == "Slash" then
  1274. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1275. elseif TYPE == "Round Slash" then
  1276. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1277. elseif TYPE == "Swirl" then
  1278. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1279. elseif TYPE == "Skull" then
  1280. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1281. elseif TYPE == "Crystal" then
  1282. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1283. end
  1284. if MSH ~= nil then
  1285. local MOVESPEED = nil
  1286. if MOVEDIRECTION ~= nil then
  1287. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1288. end
  1289. local GROWTH = SIZE - ENDSIZE
  1290. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1291. if TYPE == "Block" then
  1292. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1293. else
  1294. EFFECT.CFrame = CFRAME
  1295. end
  1296. for LOOP = 1, TIME+1 do
  1297. Swait()
  1298. MSH.Scale = MSH.Scale - GROWTH/TIME
  1299. if TYPE == "Wave" then
  1300. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1301. end
  1302. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1303. if TYPE == "Block" then
  1304. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1305. else
  1306. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1307. end
  1308. if MOVEDIRECTION ~= nil then
  1309. local ORI = EFFECT.Orientation
  1310. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1311. EFFECT.Orientation = ORI
  1312. end
  1313. end
  1314. if PLAYSSOUND == false then
  1315. EFFECT:remove()
  1316. else
  1317. SOUND.Stopped:Connect(function()
  1318. EFFECT:remove()
  1319. end)
  1320. end
  1321. else
  1322. if PLAYSSOUND == false then
  1323. EFFECT:remove()
  1324. else
  1325. repeat Swait() until SOUND.Playing == false
  1326. EFFECT:remove()
  1327. end
  1328. end
  1329. end))
  1330. end
  1331.  
  1332. function MakeForm(PART,TYPE)
  1333. if TYPE == "Cyl" then
  1334. local MSH = IT("CylinderMesh",PART)
  1335. elseif TYPE == "Ball" then
  1336. local MSH = IT("SpecialMesh",PART)
  1337. MSH.MeshType = "Sphere"
  1338. elseif TYPE == "Wedge" then
  1339. local MSH = IT("SpecialMesh",PART)
  1340. MSH.MeshType = "Wedge"
  1341. end
  1342. end
  1343.  
  1344. function SpawnTrail(FROM,TO,BIG)
  1345. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Bright yellow", "Trail", VT(0,0,0))
  1346. MakeForm(TRAIL,"Cyl")
  1347. local DIST = (FROM - TO).Magnitude
  1348. if BIG == true then
  1349. TRAIL.Size = VT(0.5,DIST,0.5)
  1350. else
  1351. TRAIL.Size = VT(0.25,DIST,0.25)
  1352. end
  1353. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  1354. coroutine.resume(coroutine.create(function()
  1355. for i = 1, 5 do
  1356. Swait()
  1357. TRAIL.Transparency = TRAIL.Transparency + 0.1
  1358. end
  1359. TRAIL:remove()
  1360. end))
  1361. end
  1362.  
  1363. Debris = game:GetService("Debris")
  1364.  
  1365. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1366. local DIRECTION = CF(StartPos,EndPos).lookVector
  1367. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1368. end
  1369.  
  1370. function turnto(position)
  1371. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1372. end
  1373.  
  1374. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  1375. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  1376. end
  1377.  
  1378. function PositiveAngle(NUMBER)
  1379. if NUMBER >= 0 then
  1380. NUMBER = 0
  1381. end
  1382. return NUMBER
  1383. end
  1384.  
  1385. function NegativeAngle(NUMBER)
  1386. if NUMBER <= 0 then
  1387. NUMBER = 0
  1388. end
  1389. return NUMBER
  1390. end
  1391.  
  1392. function Swait(NUMBER)
  1393. if NUMBER == 0 or NUMBER == nil then
  1394. ArtificialHB.Event:wait()
  1395. else
  1396. for i = 1, NUMBER do
  1397. ArtificialHB.Event:wait()
  1398. end
  1399. end
  1400. end
  1401.  
  1402. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  1403. local NEWMESH = IT(MESH)
  1404. if MESH == "SpecialMesh" then
  1405. NEWMESH.MeshType = MESHTYPE
  1406. if MESHID ~= "nil" and MESHID ~= "" then
  1407. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  1408. end
  1409. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  1410. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  1411. end
  1412. end
  1413. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  1414. NEWMESH.Scale = SCALE
  1415. NEWMESH.Parent = PARENT
  1416. return NEWMESH
  1417. end
  1418.  
  1419. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  1420. local NEWPART = IT("Part")
  1421. NEWPART.formFactor = FORMFACTOR
  1422. NEWPART.Reflectance = REFLECTANCE
  1423. NEWPART.Transparency = TRANSPARENCY
  1424. NEWPART.CanCollide = false
  1425. NEWPART.Locked = true
  1426. NEWPART.Anchored = true
  1427. if ANCHOR == false then
  1428. NEWPART.Anchored = false
  1429. end
  1430. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  1431. NEWPART.Name = NAME
  1432. NEWPART.Size = SIZE
  1433. NEWPART.Position = Torso.Position
  1434. NEWPART.Material = MATERIAL
  1435. NEWPART:BreakJoints()
  1436. NEWPART.Parent = PARENT
  1437. return NEWPART
  1438. end
  1439.  
  1440. local function weldBetween(a, b)
  1441. local weldd = Instance.new("ManualWeld")
  1442. weldd.Part0 = a
  1443. weldd.Part1 = b
  1444. weldd.C0 = CFrame.new()
  1445. weldd.C1 = b.CFrame:inverse() * a.CFrame
  1446. weldd.Parent = a
  1447. return weldd
  1448. end
  1449.  
  1450.  
  1451. function QuaternionFromCFrame(cf)
  1452. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  1453. local trace = m00 + m11 + m22
  1454. if trace > 0 then
  1455. local s = math.sqrt(1 + trace)
  1456. local recip = 0.5 / s
  1457. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  1458. else
  1459. local i = 0
  1460. if m11 > m00 then
  1461. i = 1
  1462. end
  1463. if m22 > (i == 0 and m00 or m11) then
  1464. i = 2
  1465. end
  1466. if i == 0 then
  1467. local s = math.sqrt(m00 - m11 - m22 + 1)
  1468. local recip = 0.5 / s
  1469. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  1470. elseif i == 1 then
  1471. local s = math.sqrt(m11 - m22 - m00 + 1)
  1472. local recip = 0.5 / s
  1473. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  1474. elseif i == 2 then
  1475. local s = math.sqrt(m22 - m00 - m11 + 1)
  1476. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  1477. end
  1478. end
  1479. end
  1480.  
  1481. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1482. local xs, ys, zs = x + x, y + y, z + z
  1483. local wx, wy, wz = w * xs, w * ys, w * zs
  1484. local xx = x * xs
  1485. local xy = x * ys
  1486. local xz = x * zs
  1487. local yy = y * ys
  1488. local yz = y * zs
  1489. local zz = z * zs
  1490. 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))
  1491. end
  1492.  
  1493. function QuaternionSlerp(a, b, t)
  1494. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  1495. local startInterp, finishInterp;
  1496. if cosTheta >= 0.0001 then
  1497. if (1 - cosTheta) > 0.0001 then
  1498. local theta = ACOS(cosTheta)
  1499. local invSinTheta = 1 / SIN(theta)
  1500. startInterp = SIN((1 - t) * theta) * invSinTheta
  1501. finishInterp = SIN(t * theta) * invSinTheta
  1502. else
  1503. startInterp = 1 - t
  1504. finishInterp = t
  1505. end
  1506. else
  1507. if (1 + cosTheta) > 0.0001 then
  1508. local theta = ACOS(-cosTheta)
  1509. local invSinTheta = 1 / SIN(theta)
  1510. startInterp = SIN((t - 1) * theta) * invSinTheta
  1511. finishInterp = SIN(t * theta) * invSinTheta
  1512. else
  1513. startInterp = t - 1
  1514. finishInterp = t
  1515. end
  1516. end
  1517. 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
  1518. end
  1519.  
  1520. function Clerp(a, b, t)
  1521. local qa = {QuaternionFromCFrame(a)}
  1522. local qb = {QuaternionFromCFrame(b)}
  1523. local ax, ay, az = a.x, a.y, a.z
  1524. local bx, by, bz = b.x, b.y, b.z
  1525. local _t = 1 - t
  1526. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  1527. end
  1528.  
  1529. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  1530. local frame = IT("Frame")
  1531. frame.BackgroundTransparency = TRANSPARENCY
  1532. frame.BorderSizePixel = BORDERSIZEPIXEL
  1533. frame.Position = POSITION
  1534. frame.Size = SIZE
  1535. frame.BackgroundColor3 = COLOR
  1536. frame.BorderColor3 = BORDERCOLOR
  1537. frame.Name = NAME
  1538. frame.Parent = PARENT
  1539. return frame
  1540. end
  1541.  
  1542. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  1543. local label = IT("TextLabel")
  1544. label.BackgroundTransparency = 1
  1545. label.Size = UD2(1, 0, 1, 0)
  1546. label.Position = UD2(0, 0, 0, 0)
  1547. label.TextColor3 = TEXTCOLOR
  1548. label.TextStrokeTransparency = STROKETRANSPARENCY
  1549. label.TextTransparency = TRANSPARENCY
  1550. label.FontSize = TEXTFONTSIZE
  1551. label.Font = TEXTFONT
  1552. label.BorderSizePixel = BORDERSIZEPIXEL
  1553. label.TextScaled = false
  1554. label.Text = TEXT
  1555. label.Name = NAME
  1556. label.Parent = PARENT
  1557. return label
  1558. end
  1559.  
  1560. function NoOutlines(PART)
  1561. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  1562. end
  1563.  
  1564. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  1565. local NEWWELD = IT(TYPE)
  1566. NEWWELD.Part0 = PART0
  1567. NEWWELD.Part1 = PART1
  1568. NEWWELD.C0 = C0
  1569. NEWWELD.C1 = C1
  1570. NEWWELD.Parent = PARENT
  1571. return NEWWELD
  1572. end
  1573.  
  1574. local S = IT("Sound")
  1575. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  1576. local NEWSOUND = nil
  1577. coroutine.resume(coroutine.create(function()
  1578. NEWSOUND = S:Clone()
  1579. NEWSOUND.Parent = PARENT
  1580. NEWSOUND.Volume = VOLUME
  1581. NEWSOUND.Pitch = PITCH
  1582. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  1583. NEWSOUND:play()
  1584. if DOESLOOP == true then
  1585. NEWSOUND.Looped = true
  1586. else
  1587. repeat wait(1) until NEWSOUND.Playing == false
  1588. NEWSOUND:remove()
  1589. end
  1590. end))
  1591. return NEWSOUND
  1592. end
  1593.  
  1594. local EyeSizes={
  1595. NumberSequenceKeypoint.new(0,2,0),
  1596. NumberSequenceKeypoint.new(1,0,0)
  1597. }
  1598. local EyeTrans={
  1599. NumberSequenceKeypoint.new(0,0.5,0),
  1600. NumberSequenceKeypoint.new(1,1,0)
  1601. }
  1602. local PE=Instance.new("ParticleEmitter",nil)
  1603. PE.LightEmission=.8
  1604. PE.Color = ColorSequence.new(BRICKC("Crimson").Color,BRICKC("Really red").Color)
  1605. PE.Size=NumberSequence.new(EyeSizes)
  1606. PE.Transparency=NumberSequence.new(EyeTrans)
  1607. PE.Lifetime=NumberRange.new(0.35,1)
  1608. PE.Rotation=NumberRange.new(0,360)
  1609. PE.Rate=100
  1610. PE.VelocitySpread = 10000
  1611. PE.Acceleration = Vector3.new(0,85,0)
  1612. PE.Drag = 5
  1613. PE.Speed = NumberRange.new(0.1,5)
  1614. PE.Texture="http://www.roblox.com/asset/?id=1460745664"
  1615. PE.ZOffset = 0.5
  1616. PE.Name = "PE"
  1617. PE.Enabled = false
  1618.  
  1619. function Fire(art)
  1620. local PARTICLES = PE:Clone()
  1621. PARTICLES.Parent = art
  1622. PARTICLES.Enabled = true
  1623. return PARTICLES
  1624. end
  1625.  
  1626. function CFrameFromTopBack(at, top, back)
  1627. local right = top:Cross(back)
  1628. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  1629. end
  1630.  
  1631. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1632. function WACKYEFFECT(Table)
  1633. local TYPE = (Table.EffectType or "Sphere")
  1634. local SIZE = (Table.Size or VT(1,1,1))
  1635. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  1636. local TRANSPARENCY = (Table.Transparency or 0)
  1637. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  1638. local CFRAME = (Table.CFrame or Torso.CFrame)
  1639. local MOVEDIRECTION = (Table.MoveToPos or nil)
  1640. local ROTATION1 = (Table.RotationX or 0)
  1641. local ROTATION2 = (Table.RotationY or 0)
  1642. local ROTATION3 = (Table.RotationZ or 0)
  1643. local MATERIAL = (Table.Material or "Neon")
  1644. local COLOR = (Table.Color or C3(1,1,1))
  1645. local TIME = (Table.Time or 45)
  1646. local SOUNDID = (Table.SoundID or nil)
  1647. local SOUNDPITCH = (Table.SoundPitch or nil)
  1648. local SOUNDVOLUME = (Table.SoundVolume or nil)
  1649. coroutine.resume(coroutine.create(function()
  1650. local PLAYSSOUND = false
  1651. local SOUND = nil
  1652. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Crimson"), "Effect", VT(1,1,1), true)
  1653. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  1654. PLAYSSOUND = true
  1655. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  1656. end
  1657. EFFECT.Color = COLOR
  1658. local MSH = nil
  1659. if TYPE == "Sphere" then
  1660. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  1661. elseif TYPE == "Block" or TYPE == "Box" then
  1662. MSH = IT("BlockMesh",EFFECT)
  1663. MSH.Scale = SIZE
  1664. elseif TYPE == "Wave" then
  1665. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  1666. elseif TYPE == "Ring" then
  1667. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  1668. elseif TYPE == "Slash" then
  1669. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1670. elseif TYPE == "Round Slash" then
  1671. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  1672. elseif TYPE == "Swirl" then
  1673. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  1674. elseif TYPE == "Skull" then
  1675. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  1676. elseif TYPE == "Crystal" then
  1677. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  1678. end
  1679. if MSH ~= nil then
  1680. local MOVESPEED = nil
  1681. if MOVEDIRECTION ~= nil then
  1682. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  1683. end
  1684. local GROWTH = SIZE - ENDSIZE
  1685. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  1686. if TYPE == "Block" then
  1687. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1688. else
  1689. EFFECT.CFrame = CFRAME
  1690. end
  1691. for LOOP = 1, TIME+1 do
  1692. Swait()
  1693. MSH.Scale = MSH.Scale - GROWTH/TIME
  1694. if TYPE == "Wave" then
  1695. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  1696. end
  1697. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  1698. if TYPE == "Block" then
  1699. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  1700. else
  1701. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  1702. end
  1703. if MOVEDIRECTION ~= nil then
  1704. local ORI = EFFECT.Orientation
  1705. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  1706. EFFECT.Orientation = ORI
  1707. end
  1708. end
  1709. if PLAYSSOUND == false then
  1710. EFFECT:remove()
  1711. else
  1712. repeat wait(1) until SOUND.Playing == false
  1713. EFFECT:remove()
  1714. end
  1715. else
  1716. if PLAYSSOUND == false then
  1717. EFFECT:remove()
  1718. else
  1719. repeat Swait() until SOUND.Playing == false
  1720. EFFECT:remove()
  1721. end
  1722. end
  1723. end))
  1724. end
  1725.  
  1726. function MakeForm(PART,TYPE)
  1727. if TYPE == "Cyl" then
  1728. local MSH = IT("CylinderMesh",PART)
  1729. elseif TYPE == "Ball" then
  1730. local MSH = IT("SpecialMesh",PART)
  1731. MSH.MeshType = "Sphere"
  1732. elseif TYPE == "Wedge" then
  1733. local MSH = IT("SpecialMesh",PART)
  1734. MSH.MeshType = "Wedge"
  1735. end
  1736. end
  1737.  
  1738. Debris = game:GetService("Debris")
  1739.  
  1740. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1741. local DIRECTION = CF(StartPos,EndPos).lookVector
  1742. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1743. end
  1744.  
  1745. local HATWELD = nil
  1746. function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors)
  1747. PLAYMAINANIM = false
  1748. if WhichPose == "Cast1" then
  1749. for i=0, Time, 0.1 / Animation_Speed do
  1750. Swait()
  1751. if Magic == true then
  1752. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1753. end
  1754. if Gyro ~= nil and Gyro ~= false then
  1755. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1756. end
  1757. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed)
  1758. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed)
  1759. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1760. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1761. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1762. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1763. end
  1764. elseif WhichPose == "Cast2" then
  1765. for i=0, Time, 0.1 / Animation_Speed do
  1766. Swait()
  1767. if Magic == true then
  1768. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1769. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1770. end
  1771. if Gyro ~= nil and Gyro ~= false then
  1772. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1773. end
  1774. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1775. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1776. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1777. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1778. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1779. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1780. end
  1781. elseif WhichPose == "RightArmUp" then
  1782. for i=0, Time, 0.1 / Animation_Speed do
  1783. Swait()
  1784. if Magic == true then
  1785. WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"Really red".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1786. end
  1787. if Gyro ~= nil and Gyro ~= false then
  1788. Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p)
  1789. end
  1790. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed)
  1791. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1792. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1793. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1794. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1795. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1796. end
  1797. elseif WhichPose == "Taunt" then
  1798. for i=0, Time, 0.1 / Animation_Speed do
  1799. Swait()
  1800. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1801. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1802. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1803. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1804. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1805. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1806. end
  1807. HATWELD.Part0 = RightArm
  1808. HATWELD.C0 = CF(0,-1.1,-0.4) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(-20), RAD(0), RAD(0))
  1809. CreateSound(221057812,Torso,10,1,false)
  1810. for i=0, Time*2, 0.1 / Animation_Speed do
  1811. Swait()
  1812. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1813. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed)
  1814. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1815. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1816. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1817. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1818. end
  1819. for i=0, Time, 0.1 / Animation_Speed do
  1820. Swait()
  1821. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed)
  1822. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed)
  1823. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1824. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1825. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1826. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1827. HATWELD.C0 = Clerp(HATWELD.C0, CF(-0.5,-1.2,-0.3) * ANGLES(RAD(0), RAD(0), RAD(180)) * ANGLES(RAD(35), RAD(0), RAD(35)), Speed / Animation_Speed)
  1828. end
  1829. HATWELD.Part0 = Head
  1830. HATWELD.C0 = CF(0,0.35,0)
  1831. elseif WhichPose == "Prepare key" then
  1832. for i=0, Time, 0.1 / Animation_Speed do
  1833. Swait()
  1834. if Gyro ~= nil and Gyro ~= false then
  1835. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1836. end
  1837. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed)
  1838. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed)
  1839. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1840. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1841. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1842. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1843. end
  1844. elseif WhichPose == "Turn key" then
  1845. for i=0, Time, 0.1 / Animation_Speed do
  1846. Swait()
  1847. if Gyro ~= nil and Gyro ~= false then
  1848. Gyro.cframe = CF(RootPart.Position,Tors.Position)
  1849. end
  1850. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed)
  1851. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed)
  1852. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed)
  1853. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed)
  1854. RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed)
  1855. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed)
  1856. end
  1857. end
  1858. PLAYMAINANIM = true
  1859. end
  1860.  
  1861. --Lightning({Color = C3(1,1,1), Start = Torso.Position, End = Mouse.Hit.p, SegmentL = 2, Thickness = 0.1, DoesFade = false, Ignore = Character, MaxDist = 400, Branches = false})
  1862. function Lightning(Table)
  1863. local Color = Table.Color or C3(1,1,1)
  1864. local StartPos = Table.Start or Torso.Position
  1865. local EndPos = Table.End or Mouse.Hit.p
  1866. local SegmentLength = Table.SegmentL or 2
  1867. local Thickness = Table.Thickness or 0.1
  1868. local Dissapear = Table.DoesFade or false
  1869. local Parent = Table.Ignore or Character
  1870. local MaxDist = Table.MaxDist or 400
  1871. local Branches = Table.Branches or false
  1872. local HIT,HITPOS = CastProperRay(StartPos, EndPos, MaxDist, Parent)
  1873. local DISTANCE = math.ceil((StartPos - HITPOS).Magnitude/SegmentLength)
  1874. local LIGHTNINGMODEL = IT("Model",Effects)
  1875. LIGHTNINGMODEL.Name = "Lightning"
  1876. local LastBolt = nil
  1877. for E = 1, DISTANCE do
  1878. local ExtraSize = (DISTANCE-E)/15
  1879. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "LightningPart"..E, VT(Thickness+ExtraSize,SegmentLength,Thickness+ExtraSize))
  1880. PART.Color = Color
  1881. MakeForm(PART,"Cyl")
  1882. if LastBolt == nil then
  1883. PART.CFrame = CF(StartPos,HITPOS)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1884. else
  1885. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,CF(HITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SegmentLength/3+(DISTANCE-E)).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1886. end
  1887. LastBolt = PART
  1888. if Branches == true then
  1889. local CHOICE = MRANDOM(1,7+((DISTANCE-E)*2))
  1890. if CHOICE == 1 then
  1891. local LASTBRANCH = nil
  1892. for i = 1, MRANDOM(2,5) do
  1893. local ExtraSize2 = ((DISTANCE-E)/25)/i
  1894. local PART = CreatePart(3, LIGHTNINGMODEL, "Neon", 0, 0, BRICKC("Crimson"), "Branch"..E.."-"..i, VT(Thickness+ExtraSize2,SegmentLength,Thickness+ExtraSize2))
  1895. PART.Color = Color
  1896. MakeForm(PART,"Cyl")
  1897. if LASTBRANCH == nil then
  1898. PART.CFrame = CF(LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0).p,LastBolt.CFrame*CF(0,-LastBolt.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*7,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1899. else
  1900. PART.CFrame = CF(LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0).p,LASTBRANCH.CFrame*CF(0,-LASTBRANCH.Size.Y/2,0)*ANGLES(RAD(0),RAD(0),RAD(MRANDOM(0,360)))*CF(0,Thickness*3,0)*CF(0,0,-1).p)*ANGLES(RAD(90),RAD(0),RAD(0))*CF(0,-PART.Size.Y/2,0)
  1901. end
  1902. LASTBRANCH = PART
  1903. end
  1904. end
  1905. end
  1906. end
  1907. if Dissapear == true then
  1908. coroutine.resume(coroutine.create(function()
  1909. for i = 1, 10 do
  1910. Swait()
  1911. for _, c in pairs(LIGHTNINGMODEL:GetChildren()) do
  1912. if c.ClassName == "Part" then
  1913. c.Transparency = i/10
  1914. end
  1915. end
  1916. end
  1917. LIGHTNINGMODEL:remove()
  1918. end))
  1919. elseif Dissapear == false then
  1920. Debris:AddItem(LIGHTNINGMODEL,0.1)
  1921. end
  1922. return {End = LastBolt.CFrame*CF(0,0,-LastBolt.Size.Z/2).p,LastBolt = LastBolt,Model = LIGHTNINGMODEL}
  1923. end
  1924.  
  1925. --//=================================\\
  1926. --|| WEAPON CREATION
  1927. --\\=================================//
  1928. Humanoid.Parent = nil
  1929. RootPart.Size = RootPart.Size*SIZE
  1930. Torso.Size = Torso.Size*SIZE
  1931. RightArm.Size = RightArm.Size*SIZE
  1932. RightLeg.Size = RightLeg.Size*SIZE
  1933. LeftArm.Size = LeftArm.Size*SIZE
  1934. LeftLeg.Size = LeftLeg.Size*SIZE
  1935. RootJoint.C0 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1936. RootJoint.C1 = ROOTC0 * CF(0 * SIZE, 0 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(0), RAD(0))
  1937. Neck.C0 = NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1938. Neck.C1 = CF(0 * SIZE, -0.5 * SIZE, 0 * SIZE) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1939. RightShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1940. LeftShoulder.C1 = CF(0 * SIZE, 0.5 * SIZE, -0.35 * SIZE)
  1941. RightHip.C0 = CF(1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1942. LeftHip.C0 = CF(-1 * SIZE, -1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1943. RightHip.C1 = CF(0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1944. LeftHip.C1 = CF(-0.5 * SIZE, 1 * SIZE, 0 * SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1945. Head.Size = Head.Size*SIZE
  1946. RootJoint.Parent = RootPart
  1947. Neck.Parent = Torso
  1948. RightShoulder.Parent = Torso
  1949. LeftShoulder.Parent = Torso
  1950. RightHip.Parent = Torso
  1951. LeftHip.Parent = Torso
  1952.  
  1953. Humanoid.DisplayDistanceType = "None"
  1954. local naeeym2 = IT("BillboardGui",Character)
  1955. naeeym2.AlwaysOnTop = true
  1956. naeeym2.Size = UDim2.new(5,35,2,15)
  1957. naeeym2.StudsOffset = Vector3.new(0,2,0)
  1958. naeeym2.MaxDistance = 75
  1959. naeeym2.Adornee = Character.Head
  1960. naeeym2.Name = "Name"
  1961. local tecks2 = IT("TextLabel",naeeym2)
  1962. tecks2.BackgroundTransparency = 1
  1963. tecks2.TextScaled = true
  1964. tecks2.BorderSizePixel = 0
  1965. tecks2.Text = "The mafia"
  1966. tecks2.Font = "SciFi"
  1967. tecks2.TextSize = 30
  1968. tecks2.TextStrokeTransparency = 0
  1969. tecks2.TextColor3 = C3(5,6,0)
  1970. tecks2.TextStrokeColor3 = C3(66/255, 0/255, 127/255)
  1971. tecks2.Size = UDim2.new(1,0,0.5,0)
  1972. tecks2.Parent = naeeym2
  1973. local top = Instance.new("Shirt")
  1974. top.ShirtTemplate = "rbxassetid://45695443"
  1975. top.Parent = Character
  1976. top.Name = "Cloth"
  1977. local bottom = Instance.new("Pants")
  1978. bottom.PantsTemplate = "rbxassetid://45696190"
  1979. bottom.Parent = Character
  1980. bottom.Name = "Cloth"
  1981. local PRT = CreatePart(3, Weapon, "Fabric", 0, 0, "Bright red", "Hat", VT(1,1,1),false)
  1982. PRT.Color = C3(0,0,0)
  1983. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0.72*SIZE,0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), CF(0, 0, 0))
  1984. CreateMesh("SpecialMesh", PRT, "FileMesh", "", "", VT(1,1,1)*SIZE, VT(0,0,0))
  1985. local PRT = CreatePart(3, Character, "Fabric", 0, 0, "Bright red", "Detail", VT(1,1,1),false)
  1986. PRT.Color = C3(1,1,1)
  1987. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  1988. CreateMesh("SpecialMesh", PRT, "FileMesh", "13520257", "", VT(1,1,1)*SIZE, VT(0,0,0))
  1989. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Bright red", "Detail", VT(1,1.2,0.2),false)
  1990. PRT.Color = C3(25/255, 156/255, 280/164)
  1991.  
  1992. MakeForm(PRT,"Ball")
  1993. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,0,-.5*SIZE), CF(0, 0, 0))
  1994. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.4,0.5),false)
  1995. PRT.Color = C3(25/255, 156/255, 280/164)
  1996. MakeForm(PRT,"Ball")
  1997. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0,-0.3,-.5*SIZE), CF(0, 0, 0))
  1998. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  1999. PRT.Color = C3(25/255, 156/255, 280/164)
  2000. MakeForm(PRT,"Ball")
  2001. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2002. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.5,0.3,0.3),false)
  2003. PRT.Color = C3(25/255, 156/255, 280/164)
  2004. MakeForm(PRT,"Ball")
  2005. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.25,0.25,-.5*SIZE), CF(0, 0, 0))
  2006. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
  2007. PRT.Color = C3(25/255, 156/255, 280/164)
  2008. MakeForm(PRT,"Ball")
  2009. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(-0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(15), RAD(0)), CF(0, 0, 0))
  2010. local PRT = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Detail", VT(0.4,0.4,0.3),false)
  2011. PRT.Color = C3(25/255, 156/255, 280/164)
  2012. MakeForm(PRT,"Ball")
  2013. CreateWeldOrSnapOrMotor("Weld", Head, Head, PRT, CF(0.17,-0.25,-.5*SIZE) * ANGLES(RAD(-15), RAD(-15), RAD(0)), CF(0, 0, 0))
  2014. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(1.05,0.06,1.05)*SIZE,false)
  2015. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2016. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0.5,0.1,0.5)*SIZE,false)
  2017. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2018. MakeForm(PRT,"Cyl")
  2019. local PRT = CreatePart(3, Weapon, "Neon", 0, 0, "Bright red", "Watch", VT(0.45,0.11,0.45)*SIZE,false)
  2020. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2021. MakeForm(PRT,"Cyl")
  2022. PRT.Color = C3(66/255, 0/255, 127/255)
  2023. local RING = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0.055,0.15,0.055)*SIZE,false)
  2024. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, RING, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.5*SIZE, 0))
  2025. MakeForm(RING,"Cyl")
  2026. RING.Color = C3(5,6,0)
  2027. for i = 1, 12 do
  2028. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0)*SIZE,false)
  2029. PRT.Color = C3(5,6,0)
  2030. local MSH = IT("BlockMesh",PRT)
  2031. MSH.Scale = VT(0.6,1,1)
  2032. CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD((360/12)*i), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.2*SIZE))
  2033. end
  2034. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0.15)*SIZE,false)
  2035. PRT.Color = C3(5,6,0)
  2036. local MSH = IT("BlockMesh",PRT)
  2037. MSH.Scale = VT(0.4,1,1)
  2038. local WATCH1 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -0.075*SIZE))
  2039. local PRT = CreatePart(3, Weapon, "Metal", 0, 0, "Bright red", "Watch", VT(0,0.15,0.15/1.5)*SIZE,false)
  2040. PRT.Color = C3(5,6,0)
  2041. local MSH = IT("BlockMesh",PRT)
  2042. MSH.Scale = VT(0.4,1,1)
  2043. local WATCH2 = CreateWeldOrSnapOrMotor("Weld", RightArm, RightArm, PRT, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, -0.49*SIZE, 0) * CF(0, 0, -(0.075/1.5)*SIZE))
  2044. coroutine.resume(coroutine.create(function()
  2045. while true do
  2046. Swait()
  2047. CLOCKLOOP = CLOCKLOOP - 1*CLOCKSPEED
  2048. WATCH1.C0 = Clerp(WATCH1.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5), RAD(0)), 1 / Animation_Speed)
  2049. WATCH2.C0 = Clerp(WATCH2.C0, CF(0,-0.5*SIZE,0) * ANGLES(RAD(90), RAD(CLOCKLOOP*5/2), RAD(0)), 1 / Animation_Speed)
  2050. if CLOCKLOOP <= -150 then
  2051. if VALUE1 == false then
  2052. CLOCKLOOP = 0
  2053. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(3,3,3), Transparency = 0, Transparency2 = 1, CFrame = RING.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = 743521450, SoundPitch = 1.2, SoundVolume = 4})
  2054. local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  2055. ApplyAoE(HITPOS,10,15,45,75,false)
  2056. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(15,2,15), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2057. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0.45,0.11,0.45)*SIZE, Size2 = VT(12,3,12), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2058. if CLOCKTARGET ~= nil then
  2059. CLOCKTARGET.Health = CLOCKTARGET.Health - 20
  2060. if CLOCKTARGET.Torso ~= nil then
  2061. CLOCKTARGET.Torso.CFrame = CLOCKTARGET.Torso.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)))
  2062. end
  2063. if CLOCKTARGET.Health == 0 then
  2064. CLOCKTARGET = nil
  2065. end
  2066. end
  2067. end
  2068. end
  2069. end
  2070. end))
  2071. warn("Promlg112 edit DO NOT STEAL IT")
  2072. for _, c in pairs(Weapon:GetChildren()) do
  2073. if c.ClassName == "Part" then
  2074. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2075. end
  2076. end
  2077.  
  2078. Neck.Name = "Weld"
  2079. RootJoint.Name = "Weld"
  2080. RightShoulder.Name = "Weld"
  2081. LeftShoulder.Name = "Weld"
  2082. RightHip.Name = "Weld"
  2083. LeftHip.Name = "Weld"
  2084.  
  2085. local TOBANISH = {}
  2086.  
  2087. local BODY = {}
  2088. for _, c in pairs(Character:GetDescendants()) do
  2089. if c:IsA("BasePart") and c.Name ~= "Handle" then
  2090. if c ~= RootPart and c ~= Torso and c ~= Head and c ~= RightArm and c ~= LeftArm and c ~= RightLeg and c ~= LeftLeg then
  2091. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2092. end
  2093. table.insert(BODY,{c,c.Parent,c.Material,c.Color,c.Transparency})
  2094. elseif c:IsA("JointInstance") then
  2095. table.insert(BODY,{c,c.Parent,nil,nil,nil})
  2096. end
  2097. end
  2098. for e = 1, #BODY do
  2099. if BODY[e] ~= nil then
  2100. local STUFF = BODY[e]
  2101. local PART = STUFF[1]
  2102. local PARENT = STUFF[2]
  2103. local MATERIAL = STUFF[3]
  2104. local COLOR = STUFF[4]
  2105. local TRANSPARENCY = STUFF[5]
  2106. if PART.ClassName == "Part" and PART ~= RootPart then
  2107. PART.Material = MATERIAL
  2108. PART.Color = COLOR
  2109. PART.Transparency = TRANSPARENCY
  2110. end
  2111. PART.AncestryChanged:Connect(function()
  2112. PART.Parent = PARENT
  2113. end)
  2114. end
  2115. end
  2116.  
  2117. function refit()
  2118. Character.Parent = workspace
  2119. for e = 1, #BODY do
  2120. if BODY[e] ~= nil then
  2121. local STUFF = BODY[e]
  2122. local PART = STUFF[1]
  2123. local PARENT = STUFF[2]
  2124. local MATERIAL = STUFF[3]
  2125. local COLOR = STUFF[4]
  2126. local TRANSPARENCY = STUFF[5]
  2127. if PART.ClassName == "Part" and PART ~= RootPart then
  2128. PART.Material = MATERIAL
  2129. PART.Color = COLOR
  2130. PART.Transparency = TRANSPARENCY
  2131. end
  2132. if PART.Parent ~= PARENT then
  2133. Humanoid:remove()
  2134. PART.Parent = PARENT
  2135. Humanoid = IT("Humanoid",Character)
  2136. end
  2137. end
  2138. end
  2139. end
  2140. local SKILLTEXTCOLOR = C3(66/255, 0/255, 127/255)
  2141. local SKILLFONT = "Fantasy"
  2142. local SKILLTEXTSIZE = 7
  2143.  
  2144. Weapon.Parent = Character
  2145. Humanoid.Parent = Character
  2146.  
  2147. Humanoid.Died:connect(function()
  2148. refit()
  2149. end)
  2150.  
  2151. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23-.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2152. local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50+.20, 0, 0.84, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2153. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2154. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2155. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.86, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2156.  
  2157. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Magic Missiles", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 1")
  2158. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Times up", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 2")
  2159. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Chained Punch", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 3")
  2160. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Warp Meteor", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 4")
  2161. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Pandora's Box", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0, "Text 5")
  2162.  
  2163. local Particle = IT("ParticleEmitter",nil)
  2164. Particle.Enabled = false
  2165. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  2166. Particle.LightEmission = 0.5
  2167. Particle.Rate = 150
  2168. Particle.ZOffset = 0.2
  2169. Particle.Rotation = NumberRange.new(-180, 180)
  2170. Particle.RotSpeed = NumberRange.new(-180, 180)
  2171. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  2172. Particle.Color = ColorSequence.new(C3(1,0,0),C3(0.4,0,0))
  2173.  
  2174. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  2175. function ParticleEmitter(Table)
  2176. local PRTCL = Particle:Clone()
  2177. local Speed = Table.Speed or 5
  2178. local Drag = Table.Drag or 0
  2179. local Size1 = Table.Size1 or 1
  2180. local Size2 = Table.Size2 or 5
  2181. local Lifetime1 = Table.Lifetime1 or 1
  2182. local Lifetime2 = Table.Lifetime2 or 1.5
  2183. local Parent = Table.Parent or Torso
  2184. local Emit = Table.Emit or 100
  2185. local Offset = Table.Offset or 360
  2186. local Acel = Table.Acel or VT(0,0,0)
  2187. local Enabled = Table.Enabled or false
  2188. PRTCL.Parent = Parent
  2189. PRTCL.Size = NumberSequence.new(Size1,Size2)
  2190. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  2191. PRTCL.Speed = NumberRange.new(Speed)
  2192. PRTCL.VelocitySpread = Offset
  2193. PRTCL.Drag = Drag
  2194. PRTCL.Acceleration = Acel
  2195. if Enabled == false then
  2196. PRTCL:Emit(Emit)
  2197. Debris:AddItem(PRTCL,Lifetime2)
  2198. else
  2199. PRTCL.Enabled = true
  2200. end
  2201. return PRTCL
  2202. end
  2203.  
  2204. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.6,0.2),false)
  2205. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  2206. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2207. MakeForm(Part,"Wedge")
  2208. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  2209. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.3,0.2),false)
  2210. MakeForm(Part,"Wedge")
  2211. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  2212. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.3,0.3),false)
  2213. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2214. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.5,0.5),false)
  2215. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2216. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.4,0.4,0.4),false)
  2217. MakeForm(Part,"Cyl")
  2218. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2219. for i = 1, 8 do
  2220. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0,0.35,0.41),false)
  2221. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  2222. end
  2223. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.38,0.41,0.38),false)
  2224. MakeForm(Part,"Cyl")
  2225. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2226. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.37,0.5,0.37),false)
  2227. MakeForm(Part,"Ball")
  2228. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2229. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.7,0.4),false)
  2230. MakeForm(Part,"Wedge")
  2231. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  2232. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.3,0.4,0.2),false)
  2233. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  2234. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.35,0.35,0.35),false)
  2235. MakeForm(Part,"Cyl")
  2236. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2237. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.5),false)
  2238. MakeForm(Part,"Cyl")
  2239. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2240. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.5,0.1,0.45),false)
  2241. MakeForm(Part,"Cyl")
  2242. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2243. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.2,0.5,0.2),false)
  2244. MakeForm(Part,"Wedge")
  2245. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  2246. local LASTPART = Handle
  2247. for i = 1, 10 do
  2248. if LASTPART == Handle then
  2249. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.2,0),false)
  2250. LASTPART = Part
  2251. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2252. else
  2253. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.1,0.05,0),false)
  2254. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  2255. LASTPART = Part
  2256. end
  2257. end
  2258.  
  2259. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.15,2,0.15),false)
  2260. MakeForm(Barrel,"Cyl")
  2261. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  2262. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0.25,1,0.25),false)
  2263. MakeForm(Part,"Cyl")
  2264. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  2265. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0.1,0.2),false)
  2266. MakeForm(Part,"Wedge")
  2267. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  2268. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Eye", VT(0.125,0,0.125),false)
  2269. MakeForm(Hole,"Cyl")
  2270. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  2271. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Brown", "Part", VT(0,0,0),false)
  2272. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2273. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  2274. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Brown", "Eye", VT(0,0,0),false)
  2275. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  2276. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  2277. coroutine.resume(coroutine.create(function()
  2278. while wait() do
  2279. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  2280. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  2281. end
  2282. end))
  2283.  
  2284. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2285. --ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  2286.  
  2287. for _, c in pairs(Weapon:GetDescendants()) do
  2288. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  2289. c.Material = "Glass"
  2290. c.Color = C3(0,0,0)
  2291. elseif c.ClassName == "Part" and c.Name == "Eye" then
  2292. c.Color = C3(1,0,0)
  2293. c.Material = "Neon"
  2294. end
  2295. end
  2296.  
  2297. Weapon.Parent = Character
  2298. for _, c in pairs(Weapon:GetChildren()) do
  2299. if c.ClassName == "Part" then
  2300. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  2301. end
  2302. end
  2303.  
  2304. local SKILLTEXTCOLOR = C3(1,0,0)
  2305. local SKILLFONT = "Antique"
  2306. local SKILLTEXTSIZE = 7
  2307.  
  2308. Humanoid.Died:connect(function()
  2309. ATTACK = true
  2310. end)
  2311.  
  2312. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  2313. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  2314. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  2315. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  2316. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  2317. ]]
  2318. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  2319. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  2320. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  2321. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  2322. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  2323. ]]
  2324. function printbye(Name)
  2325. local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  2326. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  2327. end
  2328.  
  2329. workspace.ChildAdded:connect(function(instance)
  2330. for BANISH = 1, #TOBANISH do
  2331. if TOBANISH[BANISH] ~= nil then
  2332. if instance.Name == TOBANISH[BANISH] then
  2333. coroutine.resume(coroutine.create(function()
  2334. printbye(instance.Name)
  2335. instance:ClearAllChildren()
  2336. Debris:AddItem(instance,0.0005)
  2337. end))
  2338. end
  2339. end
  2340. end
  2341. end)
  2342.  
  2343. --//=================================\\
  2344. --|| DAMAGING
  2345. --\\=================================//
  2346. function killnearest(position,range,EFFECT)
  2347. for i,v in ipairs(workspace:GetChildren()) do
  2348. local body = v:GetChildren()
  2349. for part = 1, #body do
  2350. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  2351. local SIZE = body[part].Size.Magnitude
  2352. if(body[part].Position - position).Magnitude < range + SIZE/2 then
  2353. if v.ClassName == "Model" then
  2354. if v:FindFirstChildOfClass("Humanoid") ~= nil then
  2355. if v:FindFirstChildOfClass("Humanoid").Health > 0 then
  2356. v:BreakJoints()
  2357. if EFFECT == "Glitch" then
  2358. coroutine.resume(coroutine.create(function()
  2359. local ORIGINPOS = body[part].CFrame
  2360. local SIZE = body[part].Size
  2361. for i = 1, 100 do
  2362. Swait()
  2363. local PART = body[part]
  2364. PART.Anchored = true
  2365. PART.Size = SIZE*MRANDOM(5,15)/10
  2366. PART.CFrame = ORIGINPOS*CF(MRANDOM(-15,15)/15,MRANDOM(-15,15)/15,MRANDOM(-15,15)/15)
  2367. end
  2368. body[part]:remove()
  2369. end))
  2370. elseif EFFECT == "Shatter" then
  2371. for _, c in pairs(v:GetChildren()) do
  2372. if c.ClassName == "Part" or c.ClassName == "MeshPart" then
  2373. Shatter(c)
  2374. end
  2375. end
  2376. end
  2377. end
  2378. end
  2379. end
  2380. end
  2381. end
  2382. end
  2383. end
  2384. end
  2385.  
  2386. function ApplyDamage(Humanoid,Damage,TorsoPart)
  2387. local defence = Instance.new("BoolValue",Humanoid.Parent)
  2388. defence.Name = ("HitBy"..Player.Name)
  2389. game:GetService("Debris"):AddItem(defence, 0.001)
  2390. Damage = Damage * DAMAGEMULTIPLIER
  2391. if Humanoid.Health ~= 0 then
  2392. local CritChance = MRANDOM(1,100)
  2393. if Damage > Humanoid.Health then
  2394. Damage = math.ceil(Humanoid.Health)
  2395. if Damage == 0 then
  2396. Damage = 0.1
  2397. end
  2398. end
  2399. Humanoid.Health = Humanoid.Health - Damage
  2400. end
  2401. end
  2402.  
  2403. function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  2404. local CHILDREN = workspace:GetDescendants()
  2405. for index, CHILD in pairs(CHILDREN) do
  2406. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  2407. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2408. if HUM then
  2409. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2410. if TORSO then
  2411. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  2412. if INSTAKILL == false then
  2413. CHILD:BreakJoints()
  2414. else
  2415. local DMG = MRANDOM(MINDMG,MAXDMG)
  2416. ApplyDamage(HUM,DMG,TORSO)
  2417. end
  2418. if FLING > 0 then
  2419. for _, c in pairs(CHILD:GetChildren()) do
  2420. if c:IsA("BasePart") then
  2421. local bv = Instance.new("BodyVelocity")
  2422. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2423. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2424. bv.Parent = c
  2425. Debris:AddItem(bv,0.05)
  2426. end
  2427. end
  2428. end
  2429. end
  2430. end
  2431. end
  2432. end
  2433. end
  2434. end
  2435.  
  2436. function Banish(Foe)
  2437. if Foe then
  2438. coroutine.resume(coroutine.create(function()
  2439. --if game.Players:FindFirstChild(Foe.Name) then
  2440. table.insert(TOBANISH,Foe.Name)
  2441. printbye(Foe.Name)
  2442. --end
  2443. Foe.Archivable = true
  2444. local CLONE = Foe:Clone()
  2445. Foe:Destroy()
  2446. CLONE.Parent = Effects
  2447. CLONE:BreakJoints()
  2448. local MATERIALS = {"Glass","Neon"}
  2449. for _, c in pairs(CLONE:GetDescendants()) do
  2450. if c:IsA("BasePart") then
  2451. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  2452. CreateSound(340722848, c, 10, 1, false)
  2453. end
  2454. c.Anchored = true
  2455. c.Transparency = c.Transparency + 0.2
  2456. c.Material = MATERIALS[MRANDOM(1,2)]
  2457. c.Color = C3(1,0,0)
  2458. if c.ClassName == "MeshPart" then
  2459. c.TextureID = ""
  2460. end
  2461. if c:FindFirstChildOfClass("SpecialMesh") then
  2462. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  2463. end
  2464. if c:FindFirstChildOfClass("Decal") then
  2465. c:FindFirstChildOfClass("Decal"):remove()
  2466. end
  2467. c.Name = "Banished"
  2468. c.CanCollide = false
  2469. else
  2470. c:remove()
  2471. end
  2472. end
  2473. local A = false
  2474. for i = 1, 35 do
  2475. if A == false then
  2476. A = true
  2477. elseif A == true then
  2478. A = false
  2479. end
  2480. for _, c in pairs(CLONE:GetDescendants()) do
  2481. if c:IsA("BasePart") then
  2482. c.Anchored = true
  2483. c.Material = MATERIALS[MRANDOM(1,2)]
  2484. c.Transparency = c.Transparency + 0.8/35
  2485. if A == false then
  2486. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2487. elseif A == true then
  2488. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  2489. end
  2490. end
  2491. end
  2492. Swait()
  2493. end
  2494. CLONE:remove()
  2495. end))
  2496. end
  2497. end
  2498.  
  2499. function ApplyAoE(POSITION,RANGE,FLING,BURN)
  2500. local CHILDREN = workspace:GetDescendants()
  2501. for index, CHILD in pairs(CHILDREN) do
  2502. if CHILD.ClassName == "Model" and CHILD ~= Character then
  2503. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  2504. if HUM then
  2505. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  2506. if TORSO then
  2507. if HUM.Health > 0 and (TORSO.Position - POSITION).Magnitude <= RANGE then
  2508. CHILD:BreakJoints()
  2509. if FLING ~= 0 then
  2510. for _, c in pairs(CHILD:GetChildren()) do
  2511. if c:IsA("BasePart") and c.Transparency == 0 then
  2512. if BURN == true then
  2513. Fire(c)
  2514. end
  2515. local bv = Instance.new("BodyVelocity")
  2516. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  2517. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  2518. bv.Parent = c
  2519. Debris:AddItem(bv,0.05)
  2520. end
  2521. end
  2522. end
  2523. end
  2524. end
  2525. end
  2526. end
  2527. end
  2528. end
  2529.  
  2530. --//=================================\\
  2531. --|| ATTACK FUNCTIONS AND STUFF
  2532. --\\=================================//
  2533. function CyberSmash()
  2534. ATTACK = true
  2535. Rooted = false
  2536. local GYRO = IT("BodyGyro",RootPart)
  2537. GYRO.D = 100
  2538. GYRO.P = 2000
  2539. GYRO.MaxTorque = VT(0,4000000,0)
  2540. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2541. local SMASH = CreatePart(3, Effects, "Neon", 0, 1, "Earth green", "Block", VT(25,25,25))
  2542. SMASH.CanCollide = true
  2543. SMASH.Color = C3(0,0,0)
  2544. local EF = Instance.new("SelectionBox",SMASH)
  2545. EF.Adornee = SMASH
  2546. EF.Color = BrickColor.new("Earth green")
  2547. EF.LineThickness = 0.2
  2548. EF.Transparency = 1
  2549. coroutine.resume(coroutine.create(function()
  2550. for i = 1, 20 do
  2551. Swait()
  2552. SMASH.Transparency = SMASH.Transparency - 0.05
  2553. EF.Transparency = SMASH.Transparency
  2554. end
  2555. end))
  2556. repeat
  2557. SMASH.CFrame = CF(Mouse.Hit.p)*CF(0,35,0)
  2558. Swait()
  2559. GYRO.cframe = CF(RootPart.Position,SMASH.Position)
  2560. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-15 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2561. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2562. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(130), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2563. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2564. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2565. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2566. until HOLD == true and SMASH.Transparency < 0.99
  2567. for i = 1, 25 do
  2568. Swait()
  2569. SMASH.CFrame = SMASH.CFrame*CF(0,15/25,0)
  2570. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2571. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2572. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(160), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2573. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2574. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2575. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2576. end
  2577. local TOCH = SMASH.Touched:Connect(function(hit)
  2578. if hit.Anchored == false and hit.Parent ~= Head and hit.Parent ~= Character and hit.Parent ~= Effects then
  2579. Shatter(hit)
  2580. end
  2581. end)
  2582. local n0 = nil
  2583. local HITFLOOR,HITPOS = Raycast(SMASH.Position, (CF(SMASH.Position, SMASH.Position + VT(0, -1, 0))).lookVector, 25000, Character)
  2584. if HITFLOOR ~= nil then
  2585. if HITFLOOR.Anchored == false and HITFLOOR.Parent ~= workspace then
  2586. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") or HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  2587. if HITFLOOR.Parent.ClassName == "Model" then
  2588. HITFLOOR.Parent:BreakJoints()
  2589. elseif HITFLOOR.Parent.Parent.ClassName == "Model" then
  2590. HITFLOOR.Parent.Parent:BreakJoints()
  2591. end
  2592. end
  2593. local POS = HITPOS
  2594. n0,HITPOS = Raycast(POS, (CF(POS, POS + VT(0, -1, 0))).lookVector, 25000, HITFLOOR.Parent)
  2595. end
  2596. end
  2597. killnearest(HITPOS,SMASH.Size.X/1.3,"Shatter")
  2598. SMASH.CFrame = CF(HITPOS+VT(0,SMASH.Size.Y/2,0))
  2599. WACKYEFFECT({Time = 25, EffectType = "Box", Size = VT(24,0,24), Size2 = VT(75,2,75), Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 130972023, SoundPitch = 1, SoundVolume = 10})
  2600. for i = 1, 25 do
  2601. Swait()
  2602. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 1 / Animation_Speed)
  2603. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 + 4.5 * SIN(SINE / 12)), RAD(0), RAD(-45 - 4 * SIN(SINE / 12))), 1 / Animation_Speed)
  2604. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.025 * COS(SINE / 12), -0.5) * ANGLES(RAD(30), RAD(0 - 7.5 * SIN(SINE / 12)), RAD(45 + 7.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2605. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.025 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(0 + 7.5 * SIN(SINE / 12)), RAD(-12 - 7.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2606. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2607. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.5, -0.5) * ANGLES(RAD(7.5 * SIN(SINE / 12)), RAD(-90), RAD(0)) * ANGLES(RAD(-8 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2608. end
  2609. coroutine.resume(coroutine.create(function()
  2610. wait(0.2)
  2611. TOCH:disconnect()
  2612. wait(1.8)
  2613. for i = 1, 100 do
  2614. Swait()
  2615. SMASH.Transparency = i/100
  2616. end
  2617. for i = 1, 10 do
  2618. Swait()
  2619. EF.Transparency = EF.Transparency + 0.1
  2620. end
  2621. SMASH:remove()
  2622. end))
  2623. GYRO:remove()
  2624. ATTACK = false
  2625. Rooted = false
  2626. end
  2627.  
  2628. function Inferno_Ring()
  2629. ATTACK = true
  2630. Rooted = false
  2631. local GYRO = IT("BodyGyro",RootPart)
  2632. GYRO.D = 750
  2633. GYRO.P = 20000
  2634. GYRO.MaxTorque = VT(0,40000000,0)
  2635. local FIRE = IT("Model",Effects)
  2636. FIRE.Name = "Fire"
  2637. local MAIN = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "Center", VT(0,0,0))
  2638. FIRE.PrimaryPart = MAIN
  2639. local FIRES = {}
  2640. for i = 1, 45 do
  2641. local PRT = CreatePart(3, FIRE, "Neon", 0, 1, "Really red", "RingPart", VT(3,3,3))
  2642. PRT.CFrame = MAIN.CFrame*ANGLES(RAD(0),RAD((360/45)*i),RAD(0))*CF(0,0,20)
  2643. local F = Fire(PRT)
  2644. table.insert(FIRES,F)
  2645. end
  2646. repeat
  2647. FIRE:SetPrimaryPartCFrame(CF(Mouse.Hit.p))
  2648. Pose("Cast1",1.5,0.01,false,GYRO)
  2649. until HOLD == true
  2650. coroutine.resume(coroutine.create(function()
  2651. for i = 1, 4 do
  2652. ApplyAoE(MAIN.Position,21,-15,true)
  2653. CreateSound(463598785,MAIN,3,1,false)
  2654. for E = 1, #FIRES do
  2655. if FIRES[E] ~= nil then
  2656. FIRES[E].Acceleration = VT(0,300,0)
  2657. FIRES[E].Lifetime=NumberRange.new(0.35,1.5)
  2658. end
  2659. end
  2660. wait(0.3)
  2661. end
  2662. for E = 1, #FIRES do
  2663. if FIRES[E] ~= nil then
  2664. FIRES[E].Enabled = false
  2665. end
  2666. end
  2667. Debris:AddItem(FIRE,5)
  2668. end))
  2669. CreateSound(215395388,RightArm,3,2,false)
  2670. Pose("RightArmUp",1.5,0.5,true)
  2671. GYRO:remove()
  2672. ATTACK = false
  2673. Rooted = false
  2674. end
  2675.  
  2676. function Banisher_Bullet()
  2677. ATTACK = true
  2678. Rooted = false
  2679. for i=0, 0.4, 0.1 / Animation_Speed do
  2680. Swait()
  2681. turnto(Mouse.Hit.p)
  2682. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2683. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * SIZE, 0 * SIZE, 0 + ((1 * SIZE) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2684. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2685. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2686. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2687. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2688. end
  2689. repeat
  2690. for i=0, 0.2, 0.1 / Animation_Speed do
  2691. Swait()
  2692. turnto(Mouse.Hit.p)
  2693. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2694. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2695. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2696. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2697. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2698. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2699. end
  2700. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2701. SpawnTrail(Hole.Position,POS)
  2702. if HIT ~= nil then
  2703. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2704. Banish(HIT.Parent)
  2705. end
  2706. end
  2707. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2708. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 904440937, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2709. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2710. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2711. for i=0, 0.3, 0.1 / Animation_Speed do
  2712. Swait()
  2713. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2714. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2715. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2716. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2717. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2718. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  2719. end
  2720. until KEYHOLD == false
  2721. ATTACK = false
  2722. Rooted = false
  2723. end
  2724.  
  2725. function AttackTemplate()
  2726. ATTACK = true
  2727. Rooted = false
  2728. for i=0, 1, 0.1 / Animation_Speed do
  2729. Swait()
  2730. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2731. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2732. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2733. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  2734. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2735. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2736. end
  2737. ATTACK = false
  2738. Rooted = false
  2739. end
  2740. function MagicMissiles()
  2741. ATTACK = true
  2742. Rooted = false
  2743. local SELECTING = true
  2744. local SPOTS = {}
  2745. coroutine.resume(coroutine.create(function()
  2746. local LOOP = 0
  2747. repeat
  2748. LOOP = LOOP + 1
  2749. Swait()
  2750. if LOOP >= 15 then
  2751. LOOP = 0
  2752. for i = 1, #SPOTS do
  2753. if SPOTS[i] ~= nil then
  2754. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2755. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(192,192,192), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2756. end
  2757. end
  2758. end
  2759. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2760. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2761. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2762. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2763. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2764. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2765. until SELECTING == false
  2766. Rooted = false
  2767. repeat
  2768. LOOP = LOOP + 1
  2769. Swait()
  2770. if LOOP >= 15 then
  2771. LOOP = 0
  2772. for i = 1, #SPOTS do
  2773. if SPOTS[i] ~= nil then
  2774. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(8,2,8), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2775. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,3,6), Transparency = 0, Transparency2 = 1, CFrame = SPOTS[i], MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2776. end
  2777. end
  2778. end
  2779. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2780. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
  2781. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2782. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2783. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2784. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2785. until ATTACK == false
  2786. end))
  2787. repeat
  2788. repeat Swait() until HOLD == true
  2789. local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
  2790. if DIST > 9999 then
  2791. DIST = 9999
  2792. end
  2793. local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)
  2794. local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  2795. if HITFLOOR ~= nil then
  2796. table.insert(SPOTS,CF(HITPOS,HITPOS+NORMAL) * ANGLES(RAD(90), RAD(0), RAD(0)))
  2797. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(6,2,6), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = 90655239, SoundPitch = 1, SoundVolume = 6})
  2798. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(4,3,4), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2799. end
  2800. repeat Swait() until HOLD == false
  2801. until #SPOTS == 5
  2802. SELECTING = false
  2803. for i = 1, #SPOTS do
  2804. if SPOTS[i] ~= nil then
  2805. local POS = SPOTS[i]
  2806. coroutine.resume(coroutine.create(function()
  2807. local MISSILE = IT("Model",Effects)
  2808. MISSILE.Name = "Missile"
  2809. local BASEPART = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2,2,2))
  2810. MakeForm(BASEPART,"Cyl")
  2811. MISSILE.PrimaryPart = BASEPART
  2812. BASEPART.CFrame = POS*CF(0,-30*3,0)
  2813. local HEAD = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2,4,2))
  2814. MakeForm(HEAD,"Ball")
  2815. HEAD.CFrame = BASEPART.CFrame*CF(0,1,0)
  2816. local TAIL = CreatePart(3, MISSILE, "Neon", 0, 1, "Bright red", "Part", VT(2.5,0.1,2.5))
  2817. MakeForm(TAIL,"Cyl")
  2818. TAIL.CFrame = BASEPART.CFrame*CF(0,-1,0)
  2819. for i = 1, 15 do
  2820. Swait()
  2821. for _, c in pairs(MISSILE:GetChildren()) do
  2822. if c.ClassName == "Part" then
  2823. c.Transparency = c.Transparency - 1/10
  2824. end
  2825. end
  2826. end
  2827. for i = 1, 15*1.5 do
  2828. Swait()
  2829. MISSILE:SetPrimaryPartCFrame(BASEPART.CFrame*CF(0,1.35*3,0))
  2830. end
  2831. ApplyAoE(BASEPART.CFrame.p,20,35,45,75,false)
  2832. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(75,1,75), Transparency = 0.5, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 1.2, SoundVolume = 4})
  2833. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = BASEPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = 165970126, SoundPitch = MRANDOM(13,15)/10, SoundVolume = 4})
  2834. WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(22,2,22), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2835. WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0)*SIZE, Size2 = VT(20,3,20), Transparency = 0, Transparency2 = 1, CFrame = POS * ANGLES(RAD(180), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 15, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  2836. MISSILE:remove()
  2837. end))
  2838. end
  2839. end
  2840. wait(0.6)
  2841. ATTACK = false
  2842. Rooted = false
  2843. end
  2844.  
  2845. function TimesUp()
  2846. CLOCKTARGET = nil
  2847. if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
  2848. local HUM = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
  2849. local TORSO = HUM.Parent:FindFirstChild("Torso") or HUM.Parent:FindFirstChild("UpperTorso")
  2850. if TORSO then
  2851. ATTACK = true
  2852. Rooted = false
  2853. coroutine.resume(coroutine.create(function()
  2854. repeat
  2855. Swait()
  2856. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2857. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2858. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.5*SIZE, -0.2*SIZE) * ANGLES(RAD(75), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2859. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2860. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2861. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2862. until ATTACK == false
  2863. end))
  2864. if Effects:FindFirstChild("NeonDoll") then
  2865. repeat Swait() until Effects:FindFirstChild("NeonDoll") == nil
  2866. end
  2867. wait(0.5)
  2868. local FAKECHARACTER = IT("Model",Effects)
  2869. FAKECHARACTER.Name = "NeonDoll"
  2870. local TORS = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.3,0.3,0.15),false)
  2871. CreateWeldOrSnapOrMotor("Weld", RING, RING, TORS, CF(0,0.6,0), CF(0,0,0))
  2872. local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2873. CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(15)), CF(0,0.15,0))
  2874. local LEG = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2875. CreateWeldOrSnapOrMotor("Weld", TORS, TORS, LEG, CF(-0.15/2,-0.15,0) * ANGLES(RAD(0), RAD(0), RAD(-15)), CF(0,0.15,0))
  2876. local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2877. CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(90)), CF(0,0.15,0))
  2878. local ARM = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.3,0.15),false)
  2879. CreateWeldOrSnapOrMotor("Weld", TORS, TORS, ARM, CF(-0.15,0.15/2,0) * ANGLES(RAD(0), RAD(0), RAD(-90)), CF(0,0.15,0))
  2880. local HEAD = CreatePart(3, FAKECHARACTER, "Neon", 0, 1, "Mid grey", "Part", VT(0.15,0.15,0.15),false)
  2881. CreateWeldOrSnapOrMotor("Weld", TORS, TORS, HEAD, CF(0,0.225,0), CF(0,0,0))
  2882. CreateSound(201858045, TORS, 5, 0.4, false)
  2883. for i = 1, 50 do
  2884. Swait()
  2885. CLOCKSPEED = 2.5
  2886. for _, c in pairs(FAKECHARACTER:GetChildren()) do
  2887. if c.ClassName == "Part" then
  2888. c.Transparency = c.Transparency - 0.5/150
  2889. end
  2890. end
  2891. end
  2892. CLOCKTARGET = HUM
  2893. coroutine.resume(coroutine.create(function()
  2894. repeat Swait() CLOCKSPEED = 2 until CLOCKTARGET == nil
  2895. for i = 1, 25 do
  2896. Swait()
  2897. for _, c in pairs(FAKECHARACTER:GetChildren()) do
  2898. if c.ClassName == "Part" then
  2899. c.Transparency = c.Transparency + 0.5/25
  2900. end
  2901. end
  2902. end
  2903. CLOCKSPEED = 2.5
  2904. FAKECHARACTER:remove()
  2905. end))
  2906. wait(0.5)
  2907. ATTACK = false
  2908. Rooted = false
  2909. end
  2910. end
  2911. end
  2912.  
  2913. function ChainPunch()
  2914. ATTACK = true
  2915. Rooted = false
  2916. local GYRO = IT("BodyGyro",RootPart)
  2917. GYRO.D = 25
  2918. GYRO.P = 2000
  2919. GYRO.MaxTorque = VT(0,40000,0)
  2920. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2921. repeat
  2922. Swait()
  2923. GYRO.cframe = CF(RootPart.Position,Mouse.Hit.p)
  2924. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  2925. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 4 * SIN(SINE / 12)), RAD(25), RAD(0)), 1 / Animation_Speed)
  2926. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2927. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2928. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2929. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  2930. until HOLD == true
  2931. local POS = Mouse.Hit.p
  2932. local CHAINS = false
  2933. local CHAINLINKS = {}
  2934. local A = IT("Attachment",RightArm)
  2935. A.Position = VT(1,-1,0)*SIZE
  2936. A.Orientation = VT(-90, -89.982, 0)
  2937. local B = IT("Attachment",RightArm)
  2938. B.Position = VT(-1,-1,0)*SIZE
  2939. B.Orientation = VT(-90, 89.988, 0)
  2940. local C = IT("Attachment",RightArm)
  2941. C.Position = VT(0.5,-1.3,0)*SIZE
  2942. C.Orientation = VT(-90, -89.982, 0)
  2943. local D = IT("Attachment",RightArm)
  2944. D.Position = VT(-0.5,-1.3,0)*SIZE
  2945. D.Orientation = VT(-90, 89.988, 0)
  2946. local LIGHT = IT("Attachment",RightArm)
  2947. LIGHT.Position = VT(0,-1,0)*SIZE
  2948. local LIGHT2 = IT("PointLight",LIGHT)
  2949. LIGHT2.Range = 7
  2950. LIGHT2.Brightness = 5
  2951. LIGHT2.Color = SKILLTEXTCOLOR
  2952. for i = 1, 2 do
  2953. local TWIST = -2
  2954. local START = A
  2955. local END = B
  2956. if i == 1 then
  2957. START = B
  2958. END = A
  2959. end
  2960. local ChainLink = IT("Beam",Torso)
  2961. ChainLink.Texture = "rbxassetid://73042633"
  2962. ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  2963. ChainLink.TextureSpeed = 1
  2964. ChainLink.Width0 = 1
  2965. ChainLink.Width1 = 1
  2966. ChainLink.TextureLength = 2.5
  2967. ChainLink.Attachment0 = START
  2968. ChainLink.Attachment1 = END
  2969. ChainLink.CurveSize0 = TWIST
  2970. ChainLink.CurveSize1 = TWIST
  2971. --ChainLink.FaceCamera = true
  2972. ChainLink.Segments = 45
  2973. ChainLink.Transparency = NumberSequence.new(1)
  2974. table.insert(CHAINLINKS,ChainLink)
  2975. end
  2976. for i = 1, 2 do
  2977. local TWIST = -1
  2978. local START = C
  2979. local END = D
  2980. if i == 1 then
  2981. START = D
  2982. END = C
  2983. end
  2984. local ChainLink = IT("Beam",Torso)
  2985. ChainLink.Texture = "rbxassetid://73042633"
  2986. ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  2987. ChainLink.TextureSpeed = 1
  2988. ChainLink.Width0 = 1
  2989. ChainLink.Width1 = 1
  2990. ChainLink.TextureLength = 5
  2991. ChainLink.Attachment0 = START
  2992. ChainLink.Attachment1 = END
  2993. ChainLink.CurveSize0 = TWIST
  2994. ChainLink.CurveSize1 = TWIST
  2995. --ChainLink.FaceCamera = true
  2996. ChainLink.Segments = 25
  2997. ChainLink.LightEmission = 0.5
  2998. ChainLink.Transparency = NumberSequence.new(1)
  2999. table.insert(CHAINLINKS,ChainLink)
  3000. end
  3001. coroutine.resume(coroutine.create(function()
  3002. repeat
  3003. Swait()
  3004. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3005. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  3006. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0.2*SIZE) * ANGLES(RAD(60), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3007. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3008. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3009. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3010. until CHAINS == true
  3011. repeat
  3012. Swait()
  3013. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  3014. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3015. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, -0.2*SIZE) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3016. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3017. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3018. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 1 / Animation_Speed)
  3019. until ATTACK == false
  3020. for e = 1, 15 do
  3021. Swait()
  3022. for i = 1, #CHAINLINKS do
  3023. CHAINLINKS[i].Transparency = NumberSequence.new((e/15))
  3024. end
  3025. end
  3026. A:remove()
  3027. B:remove()
  3028. C:remove()
  3029. D:remove()
  3030. end))
  3031. CreateSound(233856115, RightArm, 5, 1.2, false)
  3032. for e = 1, 15 do
  3033. Swait()
  3034. for i = 1, #CHAINLINKS do
  3035. CHAINLINKS[i].Transparency = NumberSequence.new(1-(e/15))
  3036. end
  3037. end
  3038. CHAINS = true
  3039. Rooted = false
  3040. wait(0.25)
  3041. local FIST = CreatePart(3, Effects, "Neon", 0, 0.5, "Mid grey", "Part", VT(2,2,2))
  3042. FIST.Color = C3(1, 215/255, 1)
  3043. FIST.CFrame = CF(RightArm.CFrame*CF(0,-1.3*SIZE,0).p,POS) * ANGLES(RAD(90), RAD(0), RAD(0))
  3044. local LIGHT3 = IT("PointLight",FIST)
  3045. LIGHT3.Range = 7
  3046. LIGHT3.Brightness = 5
  3047. LIGHT3.Color = SKILLTEXTCOLOR
  3048. CreateMesh("SpecialMesh", FIST, "FileMesh", "90718752", "", VT(10,10,10), VT(0,0,0))
  3049. local FISTA = IT("Attachment",FIST)
  3050. FISTA.Position = VT(0.062, 0.977, 0)
  3051. local ChainLink = IT("Beam",Torso)
  3052. ChainLink.Texture = "rbxassetid://73042633"
  3053. ChainLink.Color = ColorSequence.new(SKILLTEXTCOLOR)
  3054. ChainLink.TextureSpeed = 0
  3055. ChainLink.Width0 = 3
  3056. ChainLink.Width1 = 3
  3057. ChainLink.TextureLength = 12
  3058. ChainLink.Attachment0 = LIGHT
  3059. ChainLink.Attachment1 = FISTA
  3060. ChainLink.FaceCamera = true
  3061. ChainLink.Segments = 45
  3062. ChainLink.LightEmission = 0.5
  3063. ChainLink.Transparency = NumberSequence.new(0.25)
  3064. local FISTSOUND = CreateSound(288641686, FIST, 5, 1.2, false)
  3065. for i = 1, 85 do
  3066. Swait()
  3067. FIST.CFrame = FIST.CFrame*CF(0,-2,0)
  3068. ChainLink.TextureLength = 12+(i*2)
  3069. ApplyAoE(FIST.Position,10,15,25,100,false)
  3070. WACKYEFFECT({Time = 5, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(i*15), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3071. local HITFLOOR = Raycast(FIST.Position, (CF(FIST.Position, FIST.CFrame*CF(0,-1,0).p)).lookVector, 2.1, Character)
  3072. if HITFLOOR ~= nil then
  3073. HITFLOOR:BreakJoints()
  3074. coroutine.resume(coroutine.create(function()
  3075. for i = 1, 15 do
  3076. Swait()
  3077. FISTSOUND.Volume = FISTSOUND.Volume - 0.15
  3078. ApplyAoE(FIST.Position,10+(i*2),5,15,5,false)
  3079. WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIST.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3080. end
  3081. end))
  3082. break
  3083. end
  3084. end
  3085. coroutine.resume(coroutine.create(function()
  3086. for i = 1, 50 do
  3087. Swait()
  3088. FIST.Transparency = FIST.Transparency + 0.5/50
  3089. LIGHT3.Range = LIGHT3.Range - 7/50
  3090. end
  3091. FIST:remove()
  3092. end))
  3093. LIGHT:remove()
  3094. GYRO:remove()
  3095. ATTACK = false
  3096. Rooted = false
  3097. end
  3098.  
  3099. function WarpMeteor()
  3100. local DIST = (RootPart.Position - Mouse.Hit.p).Magnitude
  3101. if DIST > 9999 then
  3102. DIST = 9999
  3103. end
  3104. local RAY,RAYPOS = Raycast(RootPart.Position, (CF(RootPart.Position, Mouse.Hit.p)).lookVector, DIST, workspace)
  3105. local HITFLOOR,HITPOS,NORMAL = Raycast(RAYPOS+VT(0,45,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 75*SIZE, Character)
  3106. if HITFLOOR then
  3107. local POS = HITPOS
  3108. ATTACK = true
  3109. Rooted = false
  3110. local WARPED = false
  3111. local SMASHED = false
  3112. local HITFLOOR,HITPOS,NORMAL = Raycast(RootPart.Position+VT(0,1,0), (CF(RAYPOS, RAYPOS + VT(0, -1, 0))).lookVector, 25*SIZE, Character)
  3113. coroutine.resume(coroutine.create(function()
  3114. repeat
  3115. Swait()
  3116. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3117. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3118. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3119. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3120. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3121. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3122. until WARPED == true
  3123. repeat
  3124. Swait()
  3125. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3126. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3127. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3128. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3129. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -0.5*SIZE + 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.5*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3130. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.1*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3131. until SMASHED == true
  3132. repeat
  3133. Swait()
  3134. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(90), RAD(0), RAD(0)), 1 / Animation_Speed)
  3135. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-40), RAD(0), RAD(0)), 1 / Animation_Speed)
  3136. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(-15), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3137. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(170), RAD(15), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3138. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  3139. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-75), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  3140. until ATTACK == false
  3141. end))
  3142. VALUE1 = true
  3143. CreateSound(233856115, Torso, 5, 1.6, false)
  3144. for i = 1, 25 do
  3145. Swait()
  3146. for _, c in pairs(Character:GetChildren()) do
  3147. if c.ClassName == "Part" then
  3148. c.Transparency = c.Transparency + 1/25
  3149. end
  3150. end
  3151. for _, c in pairs(Weapon:GetChildren()) do
  3152. if c.ClassName == "Part" then
  3153. c.Transparency = c.Transparency + 1/25
  3154. end
  3155. end
  3156. end
  3157. UNANCHOR = false
  3158. RootPart.Anchored = true
  3159. RootPart.Velocity = VT(0,0,0)
  3160. local ROOTPOS = RootPart.Position
  3161. RootPart.CFrame = CF(POS+VT(0,300,0),VT(ROOTPOS.X,POS.Y+300,ROOTPOS.Z))
  3162. WARPED = true
  3163. for i = 1, 25 do
  3164. Swait()
  3165. for _, c in pairs(Character:GetChildren()) do
  3166. if c.ClassName == "Part" then
  3167. c.Transparency = c.Transparency - 1/25
  3168. end
  3169. end
  3170. for _, c in pairs(Weapon:GetChildren()) do
  3171. if c.ClassName == "Part" then
  3172. c.Transparency = c.Transparency - 1/25
  3173. end
  3174. end
  3175. end
  3176. local SHELL = CreatePart(3, Effects, "Neon", 0, 1, "Mid grey", "Part", VT(0,0,0))
  3177. SHELL.CFrame = RootPart.CFrame
  3178. MakeForm(SHELL,"Ball")
  3179. CreateSound(402981977, SHELL, 5, 1.6, false)
  3180. for i = 1, 10 do
  3181. Swait()
  3182. SHELL.Transparency = SHELL.Transparency - 1/10
  3183. SHELL.Size = SHELL.Size + VT(0.6,0.6,0.6)*1.8
  3184. end
  3185. for i = 1, math.ceil(75/2) do
  3186. Swait()
  3187. RootPart.CFrame = RootPart.CFrame*CF(0,-3.5*2,0)
  3188. SHELL.CFrame = CF(RootPart.Position)
  3189. WACKYEFFECT({Time = 5, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(5,3,5), Transparency = 0.5, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = SHELL.Position+VT(0,15,0), RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3190. end
  3191. RootPart.CFrame = CF(POS+VT(0,1,0),VT(ROOTPOS.X,HITPOS.Y+1,ROOTPOS.Z))
  3192. SHELL.CFrame = CF(RootPart.Position)
  3193. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = SHELL.Size, Size2 = VT(35,35,35)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
  3194. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*3.8, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3195. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(SHELL.Size.X,5,SHELL.Size.Z), Size2 = VT(45,3,45)*4, Transparency = 0, Transparency2 = 1, CFrame = SHELL.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = SHELL.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3196. for i = 1, 5 do
  3197. WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*4, Transparency = 0.5, Transparency2 = 1, CFrame = RootPart.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(159/255, 111/255, 183/255), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3198. end
  3199. SHELL:remove()
  3200. ApplyAoE(RootPart.Position,75,35,75,175,false)
  3201. SMASHED = true
  3202. wait(1)
  3203. VALUE1 = false
  3204. UNANCHOR = true
  3205. ATTACK = false
  3206. Rooted = false
  3207. end
  3208. end
  3209.  
  3210. function PandorasBox()
  3211. local HITFLOOR,HITPOS = Raycast(RootPart.CFrame*CF(0,0,-6.5).p, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3212. if HITFLOOR ~= nil then
  3213. ATTACK = false
  3214. Rooted = false
  3215. local RINGSPIN = true
  3216. local CONSTRUCTING = true
  3217. local RING = CreatePart(3, Effects, "Neon", 0, 1, "Alder", "Ring", VT(0,0,0))
  3218. RING.Color = C3(5,6,0)
  3219. MakeForm(RING,"Cyl")
  3220. RING.CFrame = CF(HITPOS)
  3221. CreateSound(402981977, RING, 5, 1.2, false)
  3222. coroutine.resume(coroutine.create(function()
  3223. repeat
  3224. Swait()
  3225. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3226. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3227. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3228. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35*SIZE, 0.65*SIZE, 0*SIZE) * ANGLES(RAD(115), RAD(45), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3229. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3230. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3231. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3232. until CONSTRUCTING == false
  3233. repeat
  3234. Swait()
  3235. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3236. until RINGSPIN == false
  3237. for i = 1, 25 do
  3238. Swait()
  3239. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(5), RAD(0))
  3240. RING.Size = RING.Size - VT(0.15,0,0.15)
  3241. --DECAL.Transparency = DECAL.Transparency + 1/25
  3242. RING.Transparency = RING.Transparency + 1/25
  3243. end
  3244. RING:remove()
  3245. end))
  3246. for i = 1, 15 do
  3247. Swait()
  3248. RING.Size = RING.Size + VT(0.75,0,0.75)
  3249. RING.Transparency = RING.Transparency - 1/15
  3250. end
  3251. local BOXSPIN = true
  3252. local PANDORASBOX = IT("Model",Effects)
  3253. PANDORASBOX.Name = "Box of wonders"
  3254. local BOX = IT("Model",PANDORASBOX)
  3255. BOX.Name = "Body"
  3256. local LID = IT("Model",PANDORASBOX)
  3257. LID.Name = "Lid"
  3258. --BUILDING THE BOX--
  3259. local BASE = CreatePart(3, BOX, "Neon", 0, 0, "Alder", "Black", VT(2,1.8,2))
  3260. BASE.Color = C3(0,0,0)
  3261. PANDORASBOX.PrimaryPart = BASE
  3262. BASE.CFrame = CF(HITPOS+VT(0,-8,0),VT(RootPart.Position.X,HITPOS.Y-8,RootPart.Position.Z))
  3263. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3264. WOOD.CFrame = BASE.CFrame*CF(1,0,1)
  3265. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3266. WOOD.CFrame = BASE.CFrame*CF(1,0,-1)
  3267. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3268. WOOD.CFrame = BASE.CFrame*CF(-1,0,1)
  3269. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,1.9,0.2))
  3270. WOOD.CFrame = BASE.CFrame*CF(-1,0,-1)
  3271. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3272. WOOD.CFrame = BASE.CFrame*CF(0,0.9,1)
  3273. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3274. WOOD.CFrame = BASE.CFrame*CF(0,0.9,-1)
  3275. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3276. WOOD.CFrame = BASE.CFrame*CF(1,0.9,0)
  3277. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3278. WOOD.CFrame = BASE.CFrame*CF(-1,0.9,0)
  3279. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3280. WOOD.CFrame = BASE.CFrame*CF(0,-0.9,1)
  3281. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3282. WOOD.CFrame = BASE.CFrame*CF(0,-0.9,-1)
  3283. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3284. WOOD.CFrame = BASE.CFrame*CF(1,-0.9,0)
  3285. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3286. WOOD.CFrame = BASE.CFrame*CF(-1,-0.9,0)
  3287. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
  3288. WOOD.CFrame = BASE.CFrame*CF(0,0,1)
  3289. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,1.9,0.1))
  3290. WOOD.CFrame = BASE.CFrame*CF(0,0,-1)
  3291. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
  3292. WOOD.CFrame = BASE.CFrame*CF(1,0,0)
  3293. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(0.1,1.9,2.1))
  3294. WOOD.CFrame = BASE.CFrame*CF(-1,0,0)
  3295. local WOOD = CreatePart(3, BOX, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
  3296. WOOD.CFrame = BASE.CFrame*CF(0,-0.9,0)
  3297. -------------
  3298. local LIDPART = CreatePart(3, LID, "Marble", 0, 0, "Daisy orange", "Marble", VT(2.1,0.1,2.1))
  3299. LIDPART.CFrame = BASE.CFrame*CF(0,1,0)
  3300. LID.PrimaryPart = LIDPART
  3301. local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3302. WOOD.CFrame = LIDPART.CFrame*CF(0,0,-1)
  3303. local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(2.1,0.2,0.2))
  3304. WOOD.CFrame = LIDPART.CFrame*CF(0,0,1)
  3305. local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3306. WOOD.CFrame = LIDPART.CFrame*CF(1,0,0)
  3307. local WOOD = CreatePart(3, LID, "Marble", 0, 0, "Bright yellow", "Marble", VT(0.2,0.2,2.1))
  3308. WOOD.CFrame = LIDPART.CFrame*CF(-1,0,0)
  3309. local DECAL = IT("Decal",LIDPART)
  3310. DECAL.Face = "Top"
  3311. DECAL.Texture = "http://www.roblox.com/asset/?id=1501226061"
  3312. DECAL.Color3 = C3(5,6,0)
  3313. --BUILDING THE BOX--
  3314. coroutine.resume(coroutine.create(function()
  3315. repeat
  3316. Swait()
  3317. PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * ANGLES(RAD(0), RAD(2.45), RAD(0)))
  3318. until BOXSPIN == false
  3319. end))
  3320. for i = 1, 25 do
  3321. Swait()
  3322. PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,1.5-(i/12.5),0))
  3323. end
  3324. wait(0.5)
  3325. BOXSPIN = false
  3326. CONSTRUCTING = false
  3327. coroutine.resume(coroutine.create(function()
  3328. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = LIDPART.Size, Size2 = VT(3,0,3)*4, Transparency = 0, Transparency2 = 1, CFrame = LIDPART.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 168586586, SoundPitch = 1.3, SoundVolume = 6})
  3329. --[[for i = 1, 45 do
  3330. Swait()
  3331. LID:SetPrimaryPartCFrame(LIDPART.CFrame * CF(0,1.5-(i/12.5),0.5) * ANGLES(RAD(0.7), RAD(0), RAD(0)))
  3332. end-
  3333. LID:remove()]]--
  3334. for _, c in pairs(LID:GetChildren()) do
  3335. if c.ClassName == "Part" then
  3336. c.Anchored = false
  3337. c.CanCollide = true
  3338. if c ~= LIDPART then
  3339. weldBetween(LIDPART,c)
  3340. end
  3341. end
  3342. end
  3343. LIDPART.Velocity = CF(LIDPART.Position,LIDPART.CFrame*CF(15,25,0).p).lookVector*65
  3344. Debris:AddItem(LID,15)
  3345. wait(0.5)
  3346. local RANDOMEFFECT = MRANDOM(1,4)
  3347. if RANDOMEFFECT == 1 then
  3348. for i = 1, 45 do
  3349. wait((2-(i/15))/15)
  3350. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(1,1,1), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,MRANDOM(12,15),0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,MRANDOM(1,5)), MoveToPos = BASE.Position, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = nil, SoundPitch = 0.8, SoundVolume = 6})
  3351. end
  3352. wait(1)
  3353. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(35,35,35)*12, Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 165970126, SoundPitch = 0.75, SoundVolume = 6})
  3354. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*10, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 469345336, SoundPitch = 0.75, SoundVolume = 6})
  3355. WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(45,3,45)*9, Transparency = 0, Transparency2 = 1, CFrame = CF(HITPOS), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 0.75, SoundVolume = 6})
  3356. for i = 1, 5 do
  3357. WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35)*12, Transparency = 0.5, Transparency2 = 1, CFrame = BASE.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3358. end
  3359. ApplyAoE(BASE.Position,50,1,200,375,false)
  3360. ApplyAoE(BASE.Position,250,35,75,175,false)
  3361. elseif RANDOMEFFECT == 2 then
  3362. local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
  3363. FIELD.CFrame = BASE.CFrame
  3364. MakeForm(FIELD,"Ball")
  3365. for i = 1, 50 do
  3366. Swait()
  3367. FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
  3368. FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
  3369. end
  3370. wait(0.2)
  3371. local LOOP = CreateSound(1393698948, FIELD, 0, 1.2, true)
  3372. coroutine.resume(coroutine.create(function()
  3373. for i = 1, 75 do
  3374. Swait()
  3375. LOOP.Volume = LOOP.Volume + 10/75
  3376. LOOP.Parent = FIELD
  3377. local CHILDREN = workspace:GetDescendants()
  3378. for index, CHILD in pairs(CHILDREN) do
  3379. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3380. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3381. if HUM then
  3382. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3383. if TORSO then
  3384. if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3385. HUM.Health = HUM.Health - 0.1
  3386. TORSO.Velocity = VT(0,5,0)
  3387. HUM.PlatformStand = true
  3388. if TORSO.RotVelocity.Magnitude < 15 then
  3389. TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3390. end
  3391. end
  3392. end
  3393. end
  3394. end
  3395. end
  3396. FIELD.Size = FIELD.Size + VT(3,3,3)
  3397. FIELD.Transparency = FIELD.Transparency + 0.8/75
  3398. end
  3399. for i = 1, 500 do
  3400. Swait()
  3401. LOOP.Parent = FIELD
  3402. local CHILDREN = workspace:GetDescendants()
  3403. for index, CHILD in pairs(CHILDREN) do
  3404. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3405. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3406. if HUM then
  3407. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3408. if TORSO then
  3409. if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/2 then
  3410. TORSO.Velocity = VT(0,5,0)
  3411. HUM.Health = HUM.Health - 0.1
  3412. HUM.PlatformStand = true
  3413. if TORSO.RotVelocity.Magnitude < 15 then
  3414. TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3415. end
  3416. end
  3417. end
  3418. end
  3419. end
  3420. end
  3421. end
  3422. for i = 1, 25 do
  3423. Swait()
  3424. LOOP.Volume = LOOP.Volume + 10/25
  3425. LOOP.Parent = FIELD
  3426. local CHILDREN = workspace:GetDescendants()
  3427. for index, CHILD in pairs(CHILDREN) do
  3428. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3429. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3430. if HUM then
  3431. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3432. if TORSO then
  3433. if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X/1.8 then
  3434. TORSO.Velocity = VT(0,5,0)
  3435. HUM.Health = HUM.Health - 0.1
  3436. HUM.PlatformStand = false
  3437. if TORSO.RotVelocity.Magnitude < 15 then
  3438. TORSO.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))
  3439. end
  3440. end
  3441. end
  3442. end
  3443. end
  3444. end
  3445. FIELD.Size = FIELD.Size - VT(3,3,3)
  3446. FIELD.Transparency = FIELD.Transparency + 0.2/25
  3447. end
  3448. FIELD:remove()
  3449. end))
  3450. elseif RANDOMEFFECT == 3 then
  3451. for i = 1, 10 do
  3452. wait(0.15)
  3453. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(3,8,3), Transparency = 0, Transparency2 = 1, CFrame = BASE.CFrame*CF(0,0.3,0), MoveToPos = BASE.Position+VT(0,6,0), RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 90655239, SoundPitch = 0.8, SoundVolume = 6})
  3454. coroutine.resume(coroutine.create(function()
  3455. local MINION = CLONE:Clone()
  3456. MINION.Parent = Effects
  3457. MINION.Name = "Shadow"
  3458. MINION.HumanoidRootPart.CFrame = BASE.CFrame*CF(0,5,0) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))
  3459. MINION.HumanoidRootPart.Velocity = CF(MINION.HumanoidRootPart.Position,MINION.HumanoidRootPart.CFrame*CF(0,8,-15).p).lookVector*MRANDOM(55,100)
  3460. for _, c in pairs(MINION:GetChildren()) do
  3461. if c.ClassName == "Part" then
  3462. c.Material = "Neon"
  3463. c.Color = C3(0,0,0)
  3464. c.Transparency = 0.25
  3465. if c.Name == "Head" then
  3466. c:ClearAllChildren()
  3467. local MSH = IT("BlockMesh",c)
  3468. MSH.Scale = VT(0.5,1,1)
  3469. end
  3470. end
  3471. end
  3472. local TORSO = MINION.Torso
  3473. local HUMAN = MINION.Humanoid
  3474. HUMAN.WalkSpeed = 100
  3475. HUMAN.MaxHealth = math.huge
  3476. HUMAN.Health = math.huge
  3477. HUMAN.DisplayDistanceType = "None"
  3478. HUMAN.Died:connect(function()
  3479. MINION:remove()
  3480. --CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 3, 0.5, false)
  3481. end)
  3482. wait(1)
  3483. local findNearestTorso = function(POS)
  3484. local list = game.Workspace:GetDescendants()
  3485. local torso = nil
  3486. local dist = 9999
  3487. local temp = nil
  3488. local human = nil
  3489. local temp2 = nil
  3490. for x = 1, #list do
  3491. temp2 = list[x]
  3492. if (temp2.className == "Model") and (temp2 ~= Character) and (temp2.Parent ~= Effects) then
  3493. temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
  3494. human = temp2:findFirstChildOfClass("Humanoid")
  3495. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  3496. if (temp.Position - POS).magnitude < dist then
  3497. torso = temp
  3498. dist = (temp.Position - POS).magnitude
  3499. end
  3500. end
  3501. end
  3502. end
  3503. return torso, dist
  3504. end
  3505. for i = 1, 40 do
  3506. if HUMAN.Health == 0 then
  3507. break
  3508. end
  3509. wait(0.3)
  3510. local target,dist= findNearestTorso(TORSO.Position)
  3511. if target then
  3512. HUMAN:MoveTo(target.Position)
  3513. if dist < 999 then
  3514. CreateSound(348663022, TORSO, 10, 1, true)
  3515. wait(0.5)
  3516. --local ANIM = HUMAN:LoadAnimation(ATANIM)
  3517. --ANIM:Play()
  3518. --CreateSound(SHOUTS[MRANDOM(1,3)], TORSO, 1, 1, false)
  3519. ApplyAoE(TORSO.Position,10,0,0,85,false)
  3520. WACKYEFFECT({Time = 15, EffectType = "Sphere", Size = VT(5,5,5), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = TORSO.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = SKILLTEXTCOLOR, SoundID = 201858087, SoundPitch = 0.8, SoundVolume = 10})
  3521. for i = 1, 5 do
  3522. WACKYEFFECT({Time = 75, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(15,1,15), Transparency = 0.5, Transparency2 = 1, CFrame = TORSO.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = MRANDOM(-15,15)/7.5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3523. end
  3524. break
  3525. end
  3526. end
  3527. end
  3528. MINION:remove()
  3529. end))
  3530. end
  3531. elseif RANDOMEFFECT == 4 then
  3532. local FIELD = CreatePart(3, Effects, "Neon", 0, 0, "Alder", "Field", VT(0.3,0.3,0.3))
  3533. FIELD.Color = C3(0,0,0)
  3534. FIELD.CFrame = BASE.CFrame
  3535. MakeForm(FIELD,"Ball")
  3536. FIELD.CanCollide = true
  3537. for i = 1, 50 do
  3538. Swait()
  3539. FIELD.Size = FIELD.Size + VT(0.01,0.01,0.01)
  3540. FIELD.CFrame = FIELD.CFrame * CF(0,0.75-(i/45),0)
  3541. end
  3542. wait(0.2)
  3543. local LOOP = CreateSound(487214658, FIELD, 0, 1, true)
  3544. coroutine.resume(coroutine.create(function()
  3545. local E = 0
  3546. for i = 1, 75 do
  3547. E = E + 1
  3548. Swait()
  3549. if E >= 35 then
  3550. E = 0
  3551. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
  3552. end
  3553. LOOP.Volume = LOOP.Volume + 10/75
  3554. LOOP.Parent = FIELD
  3555. local CHILDREN = workspace:GetDescendants()
  3556. for index, CHILD in pairs(CHILDREN) do
  3557. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3558. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3559. if HUM then
  3560. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3561. if TORSO then
  3562. if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
  3563. for _, c in pairs(CHILD:GetChildren()) do
  3564. if c:IsA("BasePart") then
  3565. local bv = Instance.new("BodyVelocity")
  3566. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3567. bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
  3568. bv.Parent = c
  3569. Debris:AddItem(bv,0.05)
  3570. end
  3571. end
  3572. HUM.Health = HUM.Health - 0.3
  3573. end
  3574. end
  3575. end
  3576. end
  3577. end
  3578. FIELD.Size = FIELD.Size + VT(0.3,0.3,0.3)/5
  3579. end
  3580. for i = 1, 180 do
  3581. E = E + 1
  3582. Swait()
  3583. if E >= 35 then
  3584. E = 0
  3585. WACKYEFFECT({Time = 25, EffectType = "Sphere", Size = FIELD.Size*30, Size2 = FIELD.Size, Transparency = 0.8, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = nil, SoundPitch = 1, SoundVolume = 6})
  3586. end
  3587. LOOP.Parent = FIELD
  3588. local CHILDREN = workspace:GetDescendants()
  3589. for index, CHILD in pairs(CHILDREN) do
  3590. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  3591. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  3592. if HUM then
  3593. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  3594. if TORSO then
  3595. if (TORSO.Position - FIELD.Position).Magnitude <= FIELD.Size.X*30 then
  3596. for _, c in pairs(CHILD:GetChildren()) do
  3597. if c:IsA("BasePart") then
  3598. local bv = Instance.new("BodyVelocity")
  3599. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  3600. bv.velocity = CF(FIELD.Position,c.Position).lookVector*-50
  3601. bv.Parent = c
  3602. Debris:AddItem(bv,0.05)
  3603. end
  3604. end
  3605. HUM.Health = HUM.Health - 0.3
  3606. end
  3607. end
  3608. end
  3609. end
  3610. end
  3611. end
  3612. ApplyAoE(FIELD.Position,40,15,20,375,false)
  3613. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = FIELD.Size, Size2 = VT(35,35,35), Transparency = 0, Transparency2 = 1, CFrame = FIELD.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = BASE.Color, SoundID = 231917744, SoundPitch = 1, SoundVolume = 6})
  3614. for i = 1, 5 do
  3615. WACKYEFFECT({Time = 35, EffectType = "Wave", Size = VT(5,0,5)*SIZE, Size2 = VT(35,3,35), Transparency = 0.5, Transparency2 = 1, CFrame = FIELD.CFrame * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 0.5, SoundVolume = 6})
  3616. end
  3617. FIELD:remove()
  3618. end))
  3619. elseif RANDOMEFFECT == 5 then
  3620. end
  3621. wait(0.5)
  3622. for i = 1, 25 do
  3623. Swait()
  3624. PANDORASBOX:SetPrimaryPartCFrame(BASE.CFrame * CF(0,-0.3,0))
  3625. end
  3626. PANDORASBOX:remove()
  3627. RINGSPIN = false
  3628. end))
  3629. ATTACK = false
  3630. Rooted = false
  3631. end
  3632. end
  3633.  
  3634. function Taunt()
  3635. ATTACK = true
  3636. local LAUGH = nil
  3637. coroutine.resume(coroutine.create(function()
  3638. repeat
  3639. Swait()
  3640. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3641. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3642. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE, -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3643. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3644. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3645. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3646. until LAUGH ~= nil
  3647. repeat
  3648. Swait()
  3649. LAUGH.Parent = Head
  3650. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0+(0.1*LAUGH.PlaybackLoudness/75) + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3651. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE+(0.1*LAUGH.PlaybackLoudness/75)) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-45)), 1 / Animation_Speed)
  3652. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.15*SIZE+(0.1*LAUGH.PlaybackLoudness/75), -0.5*SIZE) * ANGLES(RAD(170), RAD(-25), RAD(-15)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3653. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE+(0.1*LAUGH.PlaybackLoudness/75), 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3654. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3655. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE-(0.1*LAUGH.PlaybackLoudness/75) - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3656. until LAUGH.Playing == false
  3657. ATTACK = false
  3658. end))
  3659. wait(0.1)
  3660. sick:Pause()
  3661. LAUGH = CreateSound(137473066, Head, 10, 1, false)
  3662. wait(1.5)
  3663. sick:Resume()
  3664. end
  3665.  
  3666. --//=================================\\
  3667. --|| ASSIGN THINGS TO KEYS
  3668. --\\=================================//
  3669. function MouseDown(Mouse)
  3670. HOLD = true
  3671. if ATTACK == false then
  3672. end
  3673. end
  3674.  
  3675. function MouseUp(Mouse)
  3676. HOLD = false
  3677. end
  3678.  
  3679. function KeyDown(Key)
  3680. KEYHOLD = true
  3681. if Key == "z" and ATTACK == false then
  3682. MagicMissiles()
  3683. end
  3684.  
  3685. if Key == "b" and ATTACK == false then
  3686. TimesUp()
  3687. end
  3688.  
  3689. if Key == "q" and ATTACK == false then
  3690. CyberSmash()
  3691. end
  3692.  
  3693. if Key == "c" and ATTACK == false then
  3694. ChainPunch()
  3695. end
  3696.  
  3697. if Key == "v" and ATTACK == false then
  3698. WarpMeteor()
  3699. end
  3700.  
  3701. if Key == "e" and ATTACK == false then
  3702. Inferno_Ring()
  3703. end
  3704.  
  3705. if Key == "x" and ATTACK == false then
  3706. PandorasBox()
  3707. end
  3708.  
  3709. KEYHOLD = true
  3710. if Key == "f" and ATTACK == false then
  3711. Banisher_Bullet()
  3712. end
  3713.  
  3714. if Key == "t" and ATTACK == false then
  3715. Taunt()
  3716. end
  3717. end
  3718.  
  3719. function KeyUp(Key)
  3720. KEYHOLD = false
  3721. end
  3722.  
  3723. Mouse.Button1Down:connect(function(NEWKEY)
  3724. MouseDown(NEWKEY)
  3725. end)
  3726. Mouse.Button1Up:connect(function(NEWKEY)
  3727. MouseUp(NEWKEY)
  3728. end)
  3729. Mouse.KeyDown:connect(function(NEWKEY)
  3730. KeyDown(NEWKEY)
  3731. end)
  3732. Mouse.KeyUp:connect(function(NEWKEY)
  3733. KeyUp(NEWKEY)
  3734. end)
  3735.  
  3736. --//=================================\\
  3737. --\\=================================//
  3738.  
  3739.  
  3740. function unanchor()
  3741. if UNANCHOR == true then
  3742. RootPart.Anchored = false
  3743. end
  3744. g = Character:GetChildren()
  3745. for i = 1, #g do
  3746. if g[i].ClassName == "Part" and g[i] ~= RootPart then
  3747. g[i].Anchored = false
  3748. end
  3749. end
  3750. g = Weapon:GetChildren()
  3751. for i = 1, #g do
  3752. if g[i].ClassName == "Part" then
  3753. g[i].Anchored = false
  3754. end
  3755. end
  3756. end
  3757.  
  3758.  
  3759. --//=================================\\
  3760. --|| WRAP THE WHOLE SCRIPT UP
  3761. --\\=================================//
  3762.  
  3763. Humanoid.Changed:connect(function(Jump)
  3764. if Jump == "Jump" and (Disable_Jump == true) then
  3765. Humanoid.Jump = false
  3766. end
  3767. end)
  3768.  
  3769. local CONNECT = nil
  3770.  
  3771. while true do
  3772. Swait()
  3773. refit()
  3774. script.Parent = WEAPONGUI
  3775. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  3776. v:Stop();
  3777. end
  3778. ANIMATE.Parent = nil
  3779. SINE = SINE + CHANGE*1.5
  3780. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  3781. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  3782. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4*SIZE, Character)
  3783. local WALKSPEEDVALUE = 10 / (Humanoid.WalkSpeed / 16)
  3784. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  3785. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3786. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3787. RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 0.875*SIZE - 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3788. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 0.875*SIZE + 0.125 * SIN(SINE / WALKSPEEDVALUE)*SIZE - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0 +0.5+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(-25+80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  3789. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  3790. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  3791. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3792. RightHip.C1 = Clerp(RightHip.C1, CF(0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3793. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5*SIZE, 1*SIZE, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3794. end
  3795. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  3796. ANIM = "Jump"
  3797. if ATTACK == false then
  3798. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3799. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3800. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3801. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3802. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 1 / Animation_Speed)
  3803. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, -0.3*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 1 / Animation_Speed)
  3804. end
  3805. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  3806. ANIM = "Fall"
  3807. if ATTACK == false then
  3808. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0*SIZE, 0*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  3809. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0*SIZE, 0*SIZE, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / Animation_Speed)
  3810. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3811. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5*SIZE, 0.5*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3812. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / Animation_Speed)
  3813. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / Animation_Speed)
  3814. end
  3815. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  3816. ANIM = "Idle"
  3817. if ATTACK == false then
  3818. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 - 0.04 * SIN(SINE / 24)*SIZE, 0 + 0.04 * SIN(SINE / 12)*SIZE, 0 + 0.05*SIZE * COS(SINE / 12)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0 - 2.5 * SIN(SINE / 24)), RAD(0)), 1 / Animation_Speed)
  3819. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(25 - 4 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3820. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / 12)), RAD(-55 + 2.5 * SIN(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3821. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / 12)), RAD(55 - 2.5 * SIN(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3822. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE, -1*SIZE + 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(75), RAD(0)) * ANGLES(RAD(-2 - 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3823. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE - 0.06 * SIN(SINE / 24) - 0.05*SIZE * COS(SINE / 12), -0.01*SIZE) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-75), RAD(0)) * ANGLES(RAD(-2 + 2.5 * SIN(SINE / 24)), RAD(0), RAD(0)), 1 / Animation_Speed)
  3824. end
  3825. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  3826. ANIM = "Walk"
  3827. if ATTACK == false then
  3828. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0*SIZE, 0*SIZE, -0.1*SIZE) * ANGLES(RAD(5), RAD(0), RAD(0)), 1 / Animation_Speed)
  3829. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1.1*SIZE) - 1)) * ANGLES(RAD(15 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 1/ Animation_Speed)
  3830. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(-25 + 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(-55 + 2.5 * SIN(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  3831. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25*SIZE, 0.5*SIZE, 0.5*SIZE) * ANGLES(RAD(-35), RAD(25 - 2.5 * SIN(SINE / WALKSPEEDVALUE)), RAD(55 - 2.5 * SIN(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
  3832. RightHip.C0 = Clerp(RightHip.C0, CF(1*SIZE , -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  3833. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1*SIZE, -1*SIZE, 0*SIZE) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
  3834. end
  3835. end
  3836. unanchor()
  3837. Humanoid.MaxHealth = "inf"
  3838. Humanoid.Health = "inf"
  3839. if Rooted == false then
  3840. Disable_Jump = false
  3841. Humanoid.WalkSpeed = Speed
  3842. elseif Rooted == true then
  3843. Disable_Jump = true
  3844. Humanoid.WalkSpeed = 0
  3845. end
  3846. for _, c in pairs(Character:GetChildren()) do
  3847. if c.ClassName == "Part" and c.Name ~= "Detail" then
  3848. c.Material = "Fabric"
  3849. if c:FindFirstChildOfClass("ParticleEmitter") then
  3850. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  3851. end
  3852. if c ~= Head then
  3853. c.Color = C3(1,1,1)
  3854. else
  3855. c.Color = C3(1,1,1)
  3856. end
  3857. if c == Head then
  3858. if c:FindFirstChild("face") then
  3859. c.face:remove()
  3860. end
  3861. end
  3862. elseif c.ClassName == "CharacterMesh" or c.ClassName == "Accessory" or c.Name == "Body Colors" then
  3863. c:remove()
  3864. elseif (c.ClassName == "Shirt" or c.ClassName == "Pants") and c.Name ~= "Cloth" then
  3865. c:remove()
  3866. end
  3867. end
  3868. sick.SoundId = "rbxassetid://"..SONG
  3869. sick.Looped = true
  3870. sick.Pitch = 1
  3871. sick.Volume = 5
  3872. sick.Parent = Torso
  3873. sick:Resume()
  3874. --sick.Playing = false
  3875. Humanoid.Name = "Corrupted Pandora = "..Player.Name
  3876. end
  3877.  
  3878. --//=================================\\
  3879. --\\=================================//
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885. --//====================================================\\--
  3886. --|| END OF SCRIPT
  3887. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment