Guest User

Goner Script

a guest
Feb 15th, 2020
420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 70.13 KB | None | 0 0
  1. --//====================================================\\--
  2. --|| BASIS
  3. --\\====================================================//--
  4.  
  5. local MODULE = script.Parent
  6. local CHARACTER = MODULE.Parent
  7. local PLAYER = game:GetService("Players"):GetPlayerFromCharacter(CHARACTER)
  8. local HUM = CHARACTER.Humanoid
  9. local REMOTE = MODULE.Event
  10.  
  11. local ROOT = HUM.Torso
  12. local HEAD = CHARACTER.Head
  13. local TORSO = CHARACTER.Torso
  14. local RIGHTARM = CHARACTER["Right Arm"]
  15. local LEFTARM = CHARACTER["Left Arm"]
  16. local RIGHTLEG = CHARACTER["Right Leg"]
  17. local LEFTLEG = CHARACTER["Left Leg"]
  18. local ROOTJOINT = ROOT["RootJoint"]
  19. local NECK = TORSO["Neck"]
  20. local RIGHTSHOULDER = TORSO["Right Shoulder"]
  21. local LEFTSHOULDER = TORSO["Left Shoulder"]
  22. local RIGHTHIP = TORSO["Right Hip"]
  23. local LEFTHIP = TORSO["Left Hip"]
  24. local MOUSEPOS = ROOT.Position
  25.  
  26. IT = Instance.new
  27. CF = CFrame.new
  28. VT = Vector3.new
  29. RAD = math.rad
  30. C3 = Color3.new
  31. UD2 = UDim2.new
  32. BRICKC = BrickColor.new
  33. ANGLES = CFrame.Angles
  34. EULER = CFrame.fromEulerAnglesXYZ
  35. COS = math.cos
  36. ACOS = math.acos
  37. SIN = math.sin
  38. ASIN = math.asin
  39. ABS = math.abs
  40. MRANDOM = math.random
  41. FLOOR = math.floor
  42.  
  43. --//====================================================\\--
  44. --|| FE CODE
  45. --\\====================================================//--
  46.  
  47. local FakeMouse = script.FakeMouse:Clone();
  48. FakeMouse.Parent = PLAYER.Character;
  49. script.FakeMouse:Destroy()
  50. do
  51. local GUID = {}
  52. do
  53. GUID.IDs = {};
  54. function GUID:new(len)
  55. local id;
  56. if(not len)then
  57. id = (tostring(function() end))
  58. id = id:gsub("function: ","")
  59. else
  60. local function genID(len)
  61. local newID = ""
  62. for i = 1,len do
  63. newID = newID..string.char(math.random(48,90))
  64. end
  65. return newID
  66. end
  67. repeat id = genID(len) until not GUID.IDs[id]
  68. local oid = id;
  69. id = {Trash=function() GUID.IDs[oid]=nil; end;Get=function() return oid; end}
  70. GUID.IDs[oid]=true;
  71. end
  72. return id
  73. end
  74. end
  75.  
  76. local AHB = Instance.new("BindableEvent")
  77.  
  78. local FPS = 30
  79.  
  80. local TimeFrame = 0
  81.  
  82. local LastFrame = tick()
  83. local Frame = 1/FPS
  84.  
  85. game:service'RunService'.Heartbeat:connect(function(s,p)
  86. TimeFrame = TimeFrame + s
  87. if(TimeFrame >= Frame)then
  88. for i = 1,math.floor(TimeFrame/Frame) do
  89. AHB:Fire()
  90. end
  91. LastFrame=tick()
  92. TimeFrame=TimeFrame-Frame*math.floor(TimeFrame/Frame)
  93. end
  94. end)
  95.  
  96.  
  97. function swait(dur)
  98. if(dur == 0 or typeof(dur) ~= 'number')then
  99. AHB.Event:wait()
  100. else
  101. for i = 1, dur*FPS do
  102. AHB.Event:wait()
  103. end
  104. end
  105. end
  106.  
  107. local oPlayer = PLAYER
  108. local Player = oPlayer
  109.  
  110. local loudnesses={}
  111. script.Parent = Player.Character
  112. local CoAS = {Actions={}}
  113. local Event = Instance.new("RemoteEvent")
  114. Event.Name = "UserInputEvent"
  115. Event.Parent = Player.Character
  116. local Func = Instance.new("RemoteFunction")
  117. Func.Name = "GetClientProperty"
  118. Func.Parent = Player.Character
  119. local fakeEvent = function()
  120. local t = {_fakeEvent=true,Waited={},Connected={}}
  121. t.Connect = function(self,f)
  122. local ft={}
  123. ft={Disconnected=false;disconnect=function(s) if(self.Function==ft)then self.Function=nil end s.Disconnected=true end}
  124. ft.Disconnect=ft.disconnect
  125.  
  126. ft.Func=function(...)
  127. for id,_ in next, t.Waited do
  128. t.Waited[id] = true
  129. end
  130. return f(...)
  131. end;
  132.  
  133. table.insert(self.Connected,ft)
  134. return ft;
  135. end
  136. t.connect = t.Connect
  137. t.Wait = function()
  138. local guid = GUID:new(25)
  139. local waitingId = guid:Get()
  140. t.Waited[waitingId]=false
  141. repeat swait() until t.Waited[waitingId]==true
  142. t.Waited[waitingId]=nil;
  143. guid:Trash()
  144. end
  145. t.wait = t.Wait
  146. return t
  147. end
  148. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  149. local UsIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  150. local Run = {RenderStepped=fakeEvent()}
  151.  
  152. function CoAS:BindAction(name,fun,touch,...)
  153. CoAS.Actions[name] = {Name=name,Function=fun,Keys={...}}
  154. end
  155. function CoAS:UnbindAction(name)
  156. CoAS.Actions[name] = nil
  157. end
  158. local function te(self,ev,...)
  159. local t = self[ev]
  160. if t and t._fakeEvent and t.Connected then
  161. for i,v in next, t.Connected do
  162. if(v.Func and not v.Disconnected)then
  163. v.Func(...)
  164. else
  165. t.Connected[i]=nil
  166. end
  167. end
  168. end
  169. end
  170. m.TrigEvent = te
  171. UsIS.TrigEvent = te
  172. Run.TrigEvent = te
  173. Event.OnServerEvent:Connect(function(plr,io)
  174. if plr~=Player then return end
  175. --[[table.foreach(io,print)
  176. print'---']]
  177. if io.Mouse then
  178. m.Target = io.Target
  179. m.Hit = io.Hit
  180. MOUSEPOS = m.Hit.p
  181. elseif io.KeyEvent then
  182. m:TrigEvent('Key'..io.KeyEvent,io.Key)
  183. elseif io.UserInputType == Enum.UserInputType.MouseButton1 then
  184. if io.UserInputState == Enum.UserInputState.Begin then
  185. m:TrigEvent("Button1Down")
  186. else
  187. m:TrigEvent("Button1Up")
  188. end
  189. end
  190. if(not io.KeyEvent and not io.Mouse)then
  191.  
  192. for n,t in pairs(CoAS.Actions) do
  193. for _,k in pairs(t.Keys) do
  194. if k==io.KeyCode then
  195. t.Function(t.Name,io.UserInputState,io)
  196. end
  197. end
  198. end
  199. if io.UserInputState == Enum.UserInputState.Begin then
  200. UsIS:TrigEvent("InputBegan",io,false)
  201. else
  202. UsIS:TrigEvent("InputEnded",io,false)
  203. end
  204. end
  205. end)
  206.  
  207. Func.OnServerInvoke = function(plr,inst,play)
  208. if plr~=Player then return end
  209. if(inst and typeof(inst) == 'Instance' and inst:IsA'Sound')then
  210. loudnesses[inst]=play
  211. end
  212. end
  213.  
  214. function GetClientProperty(inst,prop)
  215. if(prop == 'PlaybackLoudness' and loudnesses[inst])then
  216. return loudnesses[inst]
  217. elseif(prop == 'PlaybackLoudness')then
  218. return Func:InvokeClient(Player,'RegSound',inst)
  219. end
  220. return Func:InvokeClient(Player,inst,prop)
  221. end
  222. local oldGame = game;
  223. function GetFakePlayer()
  224. local oldPlayer = Player;
  225. local fakePlayer = newproxy(true)
  226. getmetatable(fakePlayer).__index = function(s,i)
  227. if(i == 'GetMouse')then
  228. return function() return m; end
  229. end
  230. return Player[i]
  231. end
  232. getmetatable(fakePlayer).__newindex = function(s,i,v)
  233. Player[i]=v
  234. end
  235. getmetatable(fakePlayer).__call=function(self,...)
  236. if(self == fakePlayer)then self = Player end
  237. local wh = {...}
  238. local name = table.remove(wh,1)
  239. for i,v in next, wh do
  240. wh[i]=v
  241. end
  242. if(name == 'GetMouse')then
  243. return m;
  244. end
  245. return self(name,unpack(wh))
  246. end
  247. getmetatable(fakePlayer).__namecall=function(self,...)
  248. if(self == fakePlayer)then self = Player end
  249. local tuple={...}
  250. local name = table.remove(tuple,#tuple)
  251.  
  252. if(name == 'GetMouse')then
  253. return m;
  254. else
  255. return self[name](self,unpack(tuple))
  256. end
  257. end
  258.  
  259. return fakePlayer
  260. end
  261. local oll = LoadLibrary;
  262. function LoadLibrary(libtard)
  263. local libtarddestroyed=oll(libtard)
  264. if(libtard=='RbxUtility')then
  265. local library={Create=function(obj)
  266. local inst = Instance.new(obj)
  267. return function(props)
  268. for prop,valu in next, props do
  269. inst[prop]=valu
  270. end
  271. return inst
  272. end
  273. end}
  274. setmetatable(library,{__index=libtarddestroyed,__newindex=function(s,i,v) libtarddestroyed[i]=v end})
  275.  
  276. return library
  277. else
  278. return libtarddestroyed
  279. end
  280. end
  281. fakePlayer = GetFakePlayer()
  282. local function GetService(s,i)
  283. local service = s:GetService(i)
  284. if(i == 'Players')then
  285. local oldService = service;
  286. local fakeService = newproxy(true)
  287. getmetatable(fakeService).__index = function(s,i)
  288. if(s == fakeService)then s=oldService end
  289. if(i == 'LocalPlayer' or i == 'localPlayer')then
  290. return fakePlayer
  291. elseif(i == 'oPlayer')then
  292. return oPlayer
  293. else
  294. return s[i]
  295. end
  296. end
  297. getmetatable(fakeService).__newindex = function(s,i,v)
  298. if(s == fakeService)then s=oldService end
  299. s[i]=v
  300. end
  301. getmetatable(fakeService).__call=function(self,...)
  302. if(self == fakeService)then self = oldService end
  303. local wh = {...}
  304. local name = table.remove(wh,1)
  305. for i,v in next, wh do
  306. wh[i]=v
  307. end
  308. return self(name,unpack(wh))
  309. end
  310. getmetatable(fakeService).__namecall=function(self,...)
  311. if(self == fakeService)then self = oldService end
  312. local tuple={...}
  313. local name = table.remove(tuple,#tuple)
  314.  
  315. return self[name](self,unpack(tuple))
  316. end
  317. getmetatable(fakeService).__metatable = 'gay'
  318. return fakeService
  319. elseif(i == 'RunService')then
  320. local oldService = service;
  321. local fakeService = newproxy(true)
  322. getmetatable(fakeService).__index = function(s,i)
  323. if(s == fakeService)then s=oldService end
  324. return Run[i] or s[i]
  325. end
  326. getmetatable(fakeService).__newindex = function(s,i,v)
  327. if(s == fakeService)then s=oldService end
  328. s[i]=v
  329. end
  330. getmetatable(fakeService).__call=function(self,...)
  331. if(self == fakeService)then self = oldService end
  332. local wh = {...}
  333. local name = table.remove(wh,1)
  334. for i,v in next, wh do
  335. wh[i]=v
  336. end
  337. return self(name,unpack(wh))
  338. end
  339. getmetatable(fakeService).__namecall=function(self,...)
  340. if(self == fakeService)then self = oldService end
  341. local tuple={...}
  342. local name = table.remove(tuple,#tuple)
  343.  
  344. return self[name](self,unpack(tuple))
  345. end
  346. getmetatable(fakeService).__metatable = 'gay'
  347. return fakeService
  348. elseif(i == 'UserInputService')then
  349. return UsIS
  350. elseif(i == 'ContextActionService')then
  351. return CoAS;
  352. else
  353. return service
  354. end
  355. end
  356.  
  357. local new = Instance.new;
  358. Instance = {}
  359. Instance.new = function(inst,obje)
  360. local lp = GetService(oldGame,'Players').localPlayer
  361. local instance = new(inst)
  362. if(inst=='ObjectValue')then
  363. local fake = newproxy(true)
  364. getmetatable(fake).__index=function(self,index)
  365. if(self==fake)then self=instance end
  366. return self[index]
  367. end
  368. getmetatable(fake).__newindex=function(self,index,value)
  369. if(self==fake)then self=instance end
  370. if(index=='Value' and typeof(value)~='Instance' and value==fakePlayer)then
  371. self[index]=oPlayer
  372. else
  373. self[index]=value
  374. end
  375. end
  376. getmetatable(fake).__call=function(self,...)
  377. if(self == fake)then self = instance end
  378. local wh = {...}
  379. local name = table.remove(wh,1)
  380. for i,v in next, wh do
  381. if(v == fake)then v = instance end
  382. wh[i]=v
  383. end
  384. return self(name,unpack(wh))
  385. end
  386. getmetatable(fake). __namecall=function(self,...)
  387. if(self == fake)then self = instance end
  388. local tuple={...}
  389. local name = table.remove(tuple,#tuple)
  390. return self[name](self,unpack(tuple))
  391. end
  392. return fake
  393. elseif(inst=='aaa')then
  394. local fake = newproxy(true)
  395. getmetatable(fake).__index=function(self,index)
  396. if(self==fake)then self=instance end
  397. if(index=='PlaybackLoudnes')then
  398. return GetClientProperty(instance,'PlaybackLoudness')
  399. end
  400. return self[index]
  401. end
  402. getmetatable(fake).__newindex=function(self,index,value)
  403. if(self==fake)then self=instance end
  404. self[index]=value
  405. end
  406. getmetatable(fake).__call=function(self,...)
  407. if(self == fake)then self = instance end
  408. local wh = {...}
  409. local name = table.remove(wh,1)
  410. for i,v in next, wh do
  411. if(v == fake)then v = instance end
  412. wh[i]=v
  413. end
  414. return self(name,unpack(wh))
  415. end
  416. getmetatable(fake). __namecall=function(self,...)
  417. if(self == fake)then self = instance end
  418. local tuple={...}
  419. local name = table.remove(tuple,#tuple)
  420. return self[name](self,unpack(tuple))
  421. end
  422. return fake
  423. else
  424. instance.Parent = obje
  425. return instance;
  426. end
  427.  
  428. end
  429. local serviceFunctions={
  430. service=true,
  431. GetService=true,
  432. }
  433. local fakeGame = newproxy(true)
  434. getmetatable(fakeGame).__index = function(s,i)
  435. if(s == fakeGame)then s=oldGame end
  436. local serv = GetService(oldGame,i)
  437. if serviceFunctions[i] then
  438. return GetService
  439. elseif(serv)then
  440. return serv
  441. else
  442. return s[i]
  443. end
  444. end
  445. getmetatable(fakeGame).__newindex = function(s,i,v)
  446. if(s == fakeGame)then s=oldGame end
  447. s[i]=v
  448. end
  449. getmetatable(fakeGame).__call=function(self,...)
  450. if(self == fakeGame)then self = oldGame end
  451. local wh = {...}
  452. local name = table.remove(wh,1)
  453. for i,v in next, wh do
  454. if(v == fakeGame)then v = oldGame end
  455. wh[i]=v
  456. end
  457. if serviceFunctions[name] then
  458. return GetService(self,unpack(wh))
  459. else
  460. return self(name,unpack(wh))
  461. end
  462. end
  463. getmetatable(fakeGame). __namecall=function(self,...)
  464. if(self == fakeGame)then self = oldGame end
  465. local tuple={...}
  466. local name = table.remove(tuple,#tuple)
  467.  
  468. local funcToCall=self[name]
  469.  
  470. if serviceFunctions[name] then
  471. return GetService(self,unpack(tuple))
  472. else
  473. return self[name](self,unpack(tuple))
  474. end
  475. end
  476. getmetatable(fakeGame).__metatable = 'gay'
  477.  
  478. coroutine.wrap(function()
  479. while true do
  480. Run:TrigEvent('RenderStepped')
  481. swait()
  482. end
  483. end)()
  484. game=fakeGame
  485. UserInputService,ContextActionService = UsIS,CoAS
  486. end
  487.  
  488. --//====================================================\\--
  489. --|| BACKGROUND VALUES
  490. --\\====================================================//--
  491.  
  492. local ANIM_SPEED = 3
  493. local MOUSE = PLAYER:GetMouse()
  494. local FRAME_SPEED = 1 / 60 -- (1 / 30) OR (1 / 60)
  495. local CHANGE = 2 / ANIM_SPEED
  496. local DAMAGEMULTIPLIER = 1
  497. local ANIM = "Idle"
  498. local KEYHOLD = false
  499. local MOUSEHOLD = false
  500. local SINE = 0
  501. local ATTACKING = false
  502. local Debris = game:GetService("Debris")
  503. local Effects = IT("Folder",CHARACTER)
  504. Effects.Name = "FXFolder"
  505. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  506. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  507. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  508. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  509.  
  510. --//====================================================\\--
  511. --|| HEARTBEAT
  512. --\\====================================================//--
  513.  
  514. ArtificialHB = Instance.new("BindableEvent", script)
  515. ArtificialHB.Name = "ArtificialHB"
  516.  
  517. script:WaitForChild("ArtificialHB")
  518.  
  519. frame = FRAME_SPEED
  520. tf = 0
  521. allowframeloss = false
  522. tossremainder = false
  523. lastframe = tick()
  524. script.ArtificialHB:Fire()
  525.  
  526. game:GetService("RunService").Heartbeat:connect(function(s, p)
  527. tf = tf + s
  528. if tf >= frame then
  529. if allowframeloss then
  530. ArtificialHB:Fire()
  531. lastframe = tick()
  532. else
  533. for i = 1, math.floor(tf / frame) do
  534. ArtificialHB:Fire()
  535. end
  536. lastframe = tick()
  537. end
  538. if tossremainder then
  539. tf = 0
  540. else
  541. tf = tf - frame * math.floor(tf / frame)
  542. end
  543. end
  544. end)
  545.  
  546. function PositiveAngle(NUMBER)
  547. if NUMBER >= 0 then
  548. NUMBER = 0
  549. end
  550. return NUMBER
  551. end
  552.  
  553. function NegativeAngle(NUMBER)
  554. if NUMBER <= 0 then
  555. NUMBER = 0
  556. end
  557. return NUMBER
  558. end
  559.  
  560. function Swait(NUMBER)
  561. if NUMBER == 0 or NUMBER == nil then
  562. ArtificialHB.Event:wait()
  563. else
  564. for i = 1, NUMBER do
  565. ArtificialHB.Event:wait()
  566. end
  567. end
  568. end
  569.  
  570. --//====================================================\\--
  571. --|| CLERP
  572. --\\====================================================//--
  573.  
  574. function QuaternionFromCFrame(cf)
  575. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  576. local trace = m00 + m11 + m22
  577. if trace > 0 then
  578. local s = math.sqrt(1 + trace)
  579. local recip = 0.5 / s
  580. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  581. else
  582. local i = 0
  583. if m11 > m00 then
  584. i = 1
  585. end
  586. if m22 > (i == 0 and m00 or m11) then
  587. i = 2
  588. end
  589. if i == 0 then
  590. local s = math.sqrt(m00 - m11 - m22 + 1)
  591. local recip = 0.5 / s
  592. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  593. elseif i == 1 then
  594. local s = math.sqrt(m11 - m22 - m00 + 1)
  595. local recip = 0.5 / s
  596. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  597. elseif i == 2 then
  598. local s = math.sqrt(m22 - m00 - m11 + 1)
  599. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  600. end
  601. end
  602. end
  603.  
  604. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  605. local xs, ys, zs = x + x, y + y, z + z
  606. local wx, wy, wz = w * xs, w * ys, w * zs
  607. local xx = x * xs
  608. local xy = x * ys
  609. local xz = x * zs
  610. local yy = y * ys
  611. local yz = y * zs
  612. local zz = z * zs
  613. 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))
  614. end
  615.  
  616. function QuaternionSlerp(a, b, t)
  617. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  618. local startInterp, finishInterp;
  619. if cosTheta >= 0.0001 then
  620. if (1 - cosTheta) > 0.0001 then
  621. local theta = ACOS(cosTheta)
  622. local invSinTheta = 1 / SIN(theta)
  623. startInterp = SIN((1 - t) * theta) * invSinTheta
  624. finishInterp = SIN(t * theta) * invSinTheta
  625. else
  626. startInterp = 1 - t
  627. finishInterp = t
  628. end
  629. else
  630. if (1 + cosTheta) > 0.0001 then
  631. local theta = ACOS(-cosTheta)
  632. local invSinTheta = 1 / SIN(theta)
  633. startInterp = SIN((t - 1) * theta) * invSinTheta
  634. finishInterp = SIN(t * theta) * invSinTheta
  635. else
  636. startInterp = t - 1
  637. finishInterp = t
  638. end
  639. end
  640. 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
  641. end
  642.  
  643. function Clerp(a, b, t)
  644. local qa = {QuaternionFromCFrame(a)}
  645. local qb = {QuaternionFromCFrame(b)}
  646. local ax, ay, az = a.x, a.y, a.z
  647. local bx, by, bz = b.x, b.y, b.z
  648. local _t = 1 - t
  649. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  650. end
  651.  
  652. --//====================================================\\--
  653. --|| FUNCTIONS
  654. --\\====================================================//--
  655.  
  656. function WeldParts(A,B)
  657. local WLD = IT("ManualWeld")
  658. WLD.Part0 = A
  659. WLD.Part1 = B
  660. WLD.C1 = B.CFrame:inverse() * A.CFrame
  661. WLD.Parent = A
  662. return WLD
  663. end
  664.  
  665. --NewSound({ID = 0,PARENT = ROOT,VOLUME = 0.5,PITCH = 1,LOOP = false,MAXDISTANCE = 1000,EMITTERSIZE = 10,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  666. function NewSound(TABLE)
  667. local ID = "rbxassetid://"..(TABLE.ID or 0)
  668. local PARENT = (TABLE.PARENT or ROOT)
  669. local VOLUME = (TABLE.VOLUME or 0.5)
  670. local PITCH = (TABLE.PITCH or 1)
  671. local LOOP = (TABLE.LOOP or false)
  672. local MAXDISTANCE = (TABLE.MAXDISTANCE or 100)
  673. local EMITTERSIZE = (TABLE.EMITTERSIZE or 10)
  674. local PLAYING = (TABLE.PLAYING or true)
  675. local PLAYONREMOVE = (TABLE.PLAYONREMOVE or false)
  676. local DOESDEBRIS = (TABLE.DOESDEBRIS or true)
  677. if ID ~= "rbxassetid://0" then
  678. local SOUND = IT("Sound",PARENT)
  679. SOUND.SoundId = ID
  680. SOUND.Volume = VOLUME
  681. SOUND.Pitch = PITCH
  682. SOUND.Looped = LOOP
  683. SOUND.MaxDistance = MAXDISTANCE
  684. SOUND.EmitterSize = EMITTERSIZE
  685. SOUND.PlayOnRemove = PLAYONREMOVE
  686. if DOESDEBRIS == true and PLAYING == true and LOOP == false then
  687. Debris:AddItem(SOUND,SOUND.TimeLength+5)
  688. end
  689. if PLAYING == true then
  690. SOUND:Play()
  691. end
  692. return SOUND
  693. end
  694. end
  695.  
  696. function OofOuchBlood(LOCATION,TO,AMOUNT)
  697. local P = CreatePart(3, Effects, "Granite", 0, 1, BRICKC("Pearl"), "Blood", VT(0,0,0), true)
  698. P.CFrame = CF(LOCATION,TO)
  699. local BLOOD = MODULE.Blood:Clone()
  700. BLOOD.Parent = P
  701. BLOOD:Emit(AMOUNT)
  702. Debris:AddItem(P,2)
  703. end
  704.  
  705. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  706. local NEWMESH = IT(MESH)
  707. if MESH == "SpecialMesh" then
  708. NEWMESH.MeshType = MESHTYPE
  709. if MESHID ~= "nil" and MESHID ~= "" then
  710. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  711. end
  712. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  713. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  714. end
  715. end
  716. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  717. NEWMESH.Scale = SCALE
  718. NEWMESH.Parent = PARENT
  719. return NEWMESH
  720. end
  721.  
  722. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  723. local NEWPART = IT("Part")
  724. NEWPART.formFactor = FORMFACTOR
  725. NEWPART.Reflectance = REFLECTANCE
  726. NEWPART.Transparency = TRANSPARENCY
  727. NEWPART.CanCollide = false
  728. NEWPART.Locked = true
  729. NEWPART.Anchored = true
  730. if ANCHOR == false then
  731. NEWPART.Anchored = false
  732. end
  733. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  734. NEWPART.Name = NAME
  735. NEWPART.Size = SIZE
  736. NEWPART.Position = ROOT.Position
  737. NEWPART.Material = MATERIAL
  738. NEWPART:BreakJoints()
  739. NEWPART.Parent = PARENT
  740. return NEWPART
  741. end
  742.  
  743. function Raycast(POSITION, DIRECTION, RANGE, TABLE)
  744. local TABLE = ((type(TABLE) == "table" and TABLE) or {TABLE})
  745. return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(POSITION, DIRECTION * RANGE), TABLE)
  746. end
  747.  
  748. function CameraShake(AREA,RANGE,SHAKE,TIMER)
  749. for index, CHILD in pairs(workspace:GetChildren()) do
  750. if CHILD:FindFirstChildOfClass("Humanoid") then
  751. local HUMAN = CHILD:FindFirstChildOfClass("Humanoid")
  752. local ROOT = HUMAN.Torso
  753. if ROOT and game.Players:GetPlayerFromCharacter(CHILD) then
  754. if (ROOT.Position - AREA).Magnitude <= RANGE then
  755. if CHILD:FindFirstChild("CamShake") then
  756. Debris:AddItem(CHILD:FindFirstChild("CamShake"),0.05)
  757. end
  758. local CAMSHAKE = script.CamShake:Clone()
  759. CAMSHAKE.Parent = CHILD
  760. local TIMER_V = IT("NumberValue",CAMSHAKE)
  761. TIMER_V.Name = "Timer"
  762. TIMER_V.Value = TIMER
  763. local SHAKE_V = IT("NumberValue",CAMSHAKE)
  764. SHAKE_V.Name = "Shake"
  765. SHAKE_V.Value = SHAKE
  766. CAMSHAKE.Disabled = false
  767. Debris:AddItem(CAMSHAKE,15)
  768. end
  769. end
  770. end
  771. end
  772. end
  773.  
  774. --Debree({Delay = 1.5,Variant = "",Location = ROOT.Position,Color = C3(1,1,1),Size = 1,Distance = 1,Material = "Slate",Scatter = 1,Amount = 1,DebreeCount = 1})
  775. function Debree(Table)
  776. local KindOf = (Table.Variant or "Ring")
  777. local Position = (Table.Location or ROOT.Position)
  778. local Coloration = (Table.Color or C3(1,1,1))
  779. local Texture = (Table.Material or "Slate")
  780. local Fling = (Table.Scatter or 1)
  781. local Number = (Table.Amount or 1)
  782. local Rocks = (Table.DebreeCount or 1)
  783. local Range = (Table.Distance or 1)
  784. local Scale = (Table.Size or 1)
  785. local Timer = (Table.Delay or 1.5)
  786. coroutine.resume(coroutine.create(function()
  787. local ScaleVector = VT(Scale,Scale,Scale)
  788. local Boulders = {}
  789. Position = CF(Position)
  790. if KindOf == "Ring" or KindOf == "Both" then
  791. for RockValue = 1, Number do
  792. local LOCATION = Position * ANGLES(RAD(0), RAD((360/Number)*RockValue), RAD(0))*CF(0,MRANDOM(-math.ceil(Scale/4),math.ceil(Scale/4)),Range)
  793. local BOULDER = CreatePart(3, workspace, Texture, 0, 0, BRICKC("Pearl"), "Debree", ScaleVector, true)
  794. BOULDER.CanCollide = true
  795. BOULDER.CFrame = LOCATION*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  796. BOULDER.Color = Coloration
  797. table.insert(Boulders,BOULDER)
  798. end
  799. end
  800. if KindOf == "Loose" or KindOf == "Both" then
  801. for RockValue = 1, Rocks do
  802. local LOCATION = Position * ANGLES(RAD(0), RAD((360/Number)*RockValue), RAD(0))*CF(0,MRANDOM(-math.ceil(Scale-(Scale/2)),math.ceil(Scale-(Scale/2))),0.7)
  803. local BOULDER = CreatePart(3, workspace, Texture, 0, 0, BRICKC("Pearl"), "Debree", ScaleVector, false)
  804. BOULDER.CanCollide = true
  805. BOULDER.CFrame = LOCATION*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  806. BOULDER.Velocity = CF(BOULDER.Position-VT(0,4,0),BOULDER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,5,0).p).lookVector*MRANDOM(Fling-(Fling/1.5),Fling+(Fling/1.5))
  807. BOULDER.Color = Coloration
  808. table.insert(Boulders,BOULDER)
  809. end
  810. end
  811. if KindOf == "Random" then
  812. for RockValue = 1, Number do
  813. local LOCATION = Position * ANGLES(RAD(0), RAD((360/Number)*RockValue), RAD(0))*CF(0,MRANDOM(-math.ceil(Scale/4),math.ceil(Scale/4)),MRANDOM(0,Range))
  814. local BOULDER = CreatePart(3, workspace, Texture, 0, 0, BRICKC("Pearl"), "Debree", ScaleVector, true)
  815. BOULDER.CanCollide = true
  816. BOULDER.CFrame = LOCATION*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  817. BOULDER.Color = Coloration
  818. table.insert(Boulders,BOULDER)
  819. end
  820. end
  821. wait(Timer)
  822. for E = 1, 45 do
  823. Swait()
  824. for A = 1, #Boulders do
  825. Boulders[A].Transparency = Boulders[A].Transparency + 1/45
  826. end
  827. end
  828. for A = 1, #Boulders do
  829. Boulders[A]:Destroy()
  830. end
  831. end))
  832. end
  833.  
  834. function Chatter(Text,Timer)
  835. local chat = coroutine.wrap(function()
  836. if CHARACTER:FindFirstChild("SpeechBoard")~= nil then
  837. CHARACTER:FindFirstChild("SpeechBoard"):destroy()
  838. end
  839. local naeeym2 = IT("BillboardGui",CHARACTER)
  840. naeeym2.Size = UD2(0,100,0,40)
  841. naeeym2.StudsOffset = Vector3.new(0,2,0)
  842. naeeym2.Adornee = HEAD
  843. naeeym2.Name = "SpeechBoard"
  844. naeeym2.AlwaysOnTop = true
  845. local tecks2 = IT("TextLabel",naeeym2)
  846. tecks2.BackgroundTransparency = 1
  847. tecks2.BorderSizePixel = 0
  848. tecks2.Text = ""
  849. tecks2.Font = "Legacy"
  850. tecks2.TextSize = 15
  851. tecks2.TextStrokeTransparency = 0
  852. tecks2.TextColor3 = Color3.new(1,1,1)
  853. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  854. tecks2.Size = UDim2.new(1,0,0.5,0)
  855. for i = 1,string.len(Text),1 do
  856. if naeeym2.Parent ~= CHARACTER then
  857. break
  858. end
  859. NewSound({ID = 418252437,PARENT = HEAD,VOLUME = 1,PITCH = MRANDOM(8,12)/10,LOOP = false,MAXDISTANCE = 75,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  860. tecks2.Text = string.sub(Text,1,i)
  861. wait(Timer)
  862. end
  863. wait(1)
  864. naeeym2:Destroy()
  865. end)
  866. chat()
  867. end
  868.  
  869. function SpawnPuddle(POSITION,IGNR,GOO)
  870. local HIT,POS,NOR = Raycast(POSITION, CFrame.new(POSITION,POSITION-Vector3.new(0,1,0)).lookVector, 12, {IGNR,CHARACTER})
  871. if HIT then
  872. coroutine.resume(coroutine.create(function()
  873. local GOREPART = CreatePart(3, Effects, "Slate", 0, 1, "Pearl", "Gore", VT(3,0,3), true)
  874. local SURFACE = script.PuddleSurface:Clone()
  875. SURFACE.Parent = GOREPART
  876. if GOO == true then
  877. SURFACE.Image.ImageColor3 = C3(0,0,0)
  878. end
  879. GOREPART.CFrame = CFrame.new(POS,POS+NOR)*CFrame.Angles(math.rad(-90),math.rad(math.random(0,360)),0)
  880. for i = 1, math.random(25,65) do
  881. Swait()
  882. GOREPART.Size = GOREPART.Size + Vector3.new(0.1,0,0.1)
  883. end
  884. wait(math.random(10,25)/50)
  885. for i = 1, 25 do
  886. Swait()
  887. SURFACE.Image.ImageTransparency = SURFACE.Image.ImageTransparency + 1/25
  888. end
  889. GOREPART:Remove()
  890. end))
  891. end
  892. end
  893.  
  894. function Dismember(MAN,DOWHAT)
  895. for index, CHILD in pairs(MAN:GetDescendants()) do
  896. if CHILD:IsA("Script") or CHILD:IsA("LocalScript") then
  897. CHILD:Destroy()
  898. end
  899. end
  900. if DOWHAT == "Ragdoll" then
  901. local HUM = MAN:FindFirstChildOfClass("Humanoid")
  902. if HUM then
  903. HUM.Health = 0
  904. end
  905. if MAN:FindFirstChild("UpperTorso") then
  906. local SCRIPT = script.R15Ragdoll:Clone()
  907. SCRIPT.Parent = MAN
  908. SCRIPT.Disabled = false
  909. else
  910. local SCRIPT = script.R6Ragdoll:Clone()
  911. SCRIPT.Parent = MAN
  912. SCRIPT.Disabled = false
  913. end
  914. MAN:BreakJoints()
  915. else
  916. local TORSO = MAN:FindFirstChild("Torso") or MAN:FindFirstChild("UpperTorso")
  917. local HED = MAN:FindFirstChild("Head")
  918. if TORSO and HED then
  919. if DOWHAT == "Head" then
  920. if TORSO:FindFirstChild("TorsoA4") then
  921. TORSO:FindFirstChild("TorsoA4"):Remove()
  922. elseif MAN:FindFirstChild("RagdollConstraintHead") then
  923. MAN:FindFirstChild("RagdollConstraintHead"):Remove()
  924. end
  925. HED:BreakJoints()
  926. elseif DOWHAT == "RightArm" then
  927. if TORSO:FindFirstChild("TorsoA3") then
  928. TORSO:FindFirstChild("TorsoA3"):Remove()
  929. elseif MAN:FindFirstChild("RagdollConstraintRightUpperArm") then
  930. MAN:FindFirstChild("RagdollConstraintRightUpperArm"):Remove()
  931. end
  932. elseif DOWHAT == "LeftArm" then
  933. if TORSO:FindFirstChild("TorsoA2") then
  934. TORSO:FindFirstChild("TorsoA2")
  935. elseif MAN:FindFirstChild("RagdollConstraintLeftUpperArm") then
  936. MAN:FindFirstChild("RagdollConstraintLeftUpperArm"):Remove()
  937. end
  938. elseif DOWHAT == "Legs" then
  939. if TORSO.Name == "Torso" then
  940. if TORSO:FindFirstChild("TorsoA") then
  941. TORSO:FindFirstChild("TorsoA"):Remove()
  942. end
  943. if TORSO:FindFirstChild("TorsoA1") then
  944. TORSO:FindFirstChild("TorsoA1"):Remove()
  945. end
  946. elseif MAN:FindFirstChild("RagdollConstraintUpperTorso") then
  947. MAN:FindFirstChild("RagdollConstraintUpperTorso"):Remove()
  948. end
  949. end
  950. end
  951. end
  952. end
  953.  
  954. function Speak(ID)
  955. local S = NewSound({ID = ID,PARENT = HEAD,VOLUME = 6,PITCH = 1,LOOP = false,MAXDISTANCE = 300,EMITTERSIZE = 35,PLAYING = false,PLAYONREMOVE = false,DOESDEBRIS = true})
  956. script.ChorusSoundEffect:Clone().Parent = S
  957. script.Pitch:Clone().Parent = S
  958. S:Play()
  959. Debris:AddItem(S,S.TimeLength+5)
  960. end
  961.  
  962. --//====================================================\\--
  963. --|| CHARACTER
  964. --\\====================================================//--
  965.  
  966. local ARMOR = IT("Model",CHARACTER)
  967. ARMOR.Name = "Goner"
  968. HEAD:ClearAllChildren()
  969. HEAD.Size = VT(1,1,1)
  970. NECK.Parent = TORSO
  971. local PARTS = {}
  972. for index, CHILD in pairs(CHARACTER:GetChildren()) do
  973. if CHILD:IsA("BasePart") then
  974. CHILD.Transparency = 1
  975. local BITS = MODULE.Bits:Clone()
  976. BITS.Parent = CHILD
  977. BITS.Enabled = true
  978. if MODULE:FindFirstChild(CHILD.Name) then
  979. local P = MODULE:FindFirstChild(CHILD.Name)
  980. P.Parent = CHARACTER
  981. P:SetPrimaryPartCFrame(CHILD.CFrame)
  982. for index, PART in pairs(P:GetChildren()) do
  983. if PART ~= P.PrimaryPart then
  984. PART.Anchored = false
  985. PART.CanCollide = false
  986. PART.Massless = true
  987. WeldParts(CHILD,PART)
  988. PART.Parent = ARMOR
  989. table.insert(PARTS,PART)
  990. end
  991. end
  992. P:Destroy()
  993. end
  994. else
  995. if CHILD:IsA("Accessory") then
  996. CHILD:Destroy()
  997. end
  998. end
  999. end
  1000. local SWORD = MODULE.Sword
  1001. SWORD.Parent = ARMOR
  1002. SWORD.Anchored = false
  1003. local GRIPC0 = CF(0,-0.9,0)*ANGLES(RAD(90),RAD(90),0)
  1004. local HOLD = IT("ManualWeld")
  1005. HOLD.Part0 = RIGHTARM
  1006. HOLD.Part1 = SWORD
  1007. HOLD.C0 = GRIPC0
  1008. HOLD.C1 = CF(0,-SWORD.Size.Y/3,0)
  1009. HOLD.Parent = RIGHTARM
  1010. HOLD.Name = "GripWeld"
  1011. local TRAIL = SWORD.Trail
  1012. local SOUND_SNAP = 150315649
  1013. local SUBMERGED = false
  1014. table.insert(PARTS,SWORD)
  1015. local GUI = MODULE.ControlsGUI
  1016. GUI.Parent = PLAYER.PlayerGui
  1017. GUI.ToggleButton.MouseButton1Click:Connect(function()
  1018. if GUI.ToggleButton.Controls.Visible == false then
  1019. GUI.ToggleButton.Controls.Visible = true
  1020. elseif GUI.ToggleButton.Controls.Visible == true then
  1021. GUI.ToggleButton.Controls.Visible = false
  1022. end
  1023. end)
  1024.  
  1025. --//====================================================\\--
  1026. --|| ABILITIES
  1027. --\\====================================================//--
  1028.  
  1029. function Slash()
  1030. ATTACKING = true
  1031. for i=0, 0.4, 0.1 / ANIM_SPEED do
  1032. Swait()
  1033. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)), 1.5 / ANIM_SPEED)
  1034. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1035. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(5), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 2 / ANIM_SPEED)
  1036. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)), 2 / ANIM_SPEED)
  1037. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1038. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1039. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1040. end
  1041. TRAIL.Enabled = true
  1042. NewSound({ID = 211059653,PARENT = SWORD,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1043. for i=0, 0.1, 0.1 / ANIM_SPEED do
  1044. Swait()
  1045. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1046. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-10)), 1.5 / ANIM_SPEED)
  1047. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.5, -0.85) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.65 / ANIM_SPEED)
  1048. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)), 0.75 / ANIM_SPEED)
  1049. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(-5), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1050. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1051. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1052. end
  1053. for index, CHILD in pairs(workspace:GetChildren()) do
  1054. if CHILD:FindFirstChildOfClass("Humanoid") and CHILD ~= CHARACTER then
  1055. local HUMAN = CHILD:FindFirstChildOfClass("Humanoid")
  1056. local ROOT2 = HUMAN.Torso
  1057. if ROOT2 and HUMAN.Health > 0 then
  1058. if (ROOT2.Position - ROOT.CFrame*CF(0,0,-2).p).Magnitude < 4.5 then
  1059. local HEAD = CHILD:FindFirstChild("Head")
  1060. if HEAD then
  1061. local FACE = HEAD:FindFirstChild("face")
  1062. if FACE then
  1063. FACE.Texture = "http://www.roblox.com/asset/?id=145854465"
  1064. FACE.Transparency = 0.5
  1065. end
  1066. end
  1067. Dismember(CHILD,"Ragdoll")
  1068. Dismember(CHILD,"Head")
  1069. NewSound({ID = 264486467,PARENT = ROOT2,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1070. NewSound({ID = SOUND_SNAP,PARENT = ROOT2,VOLUME = 6,PITCH = 1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1071. for i = 1, 7 do
  1072. OofOuchBlood(ROOT2.Position,CF(ROOT2.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,45)
  1073. end
  1074. coroutine.resume(coroutine.create(function()
  1075. for i = 1, 25 do
  1076. SpawnPuddle(ROOT2.Position,CHILD,false)
  1077. wait(2)
  1078. end
  1079. end))
  1080. end
  1081. end
  1082. end
  1083. end
  1084. for i=0, 0.3, 0.1 / ANIM_SPEED do
  1085. Swait()
  1086. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1087. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-10)), 1.5 / ANIM_SPEED)
  1088. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.5, -0.85) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.65 / ANIM_SPEED)
  1089. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)), 0.75 / ANIM_SPEED)
  1090. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(-5), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1091. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1092. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1093. end
  1094. TRAIL.Enabled = false
  1095. ATTACKING = false
  1096. end
  1097.  
  1098. function Execute(INPUT)
  1099. local TARGET = nil
  1100. local DIST = 10
  1101. for index, CHILD in pairs(workspace:GetChildren()) do
  1102. if CHILD:FindFirstChildOfClass("Humanoid") and CHILD ~= CHARACTER then
  1103. local HUMAN = CHILD:FindFirstChildOfClass("Humanoid")
  1104. local ROOT2 = HUMAN.Torso
  1105. if ROOT2 and HUMAN.Health > 0 then
  1106. if (ROOT2.Position - ROOT.Position).Magnitude < DIST then
  1107. TARGET = CHILD
  1108. DIST = (ROOT2.Position - ROOT.Position).Magnitude
  1109. end
  1110. end
  1111. end
  1112. end
  1113. if TARGET and (SUBMERGED == false or ((INPUT == "x" or INPUT == "z") and SUBMERGED == true)) then
  1114. local DedFace = function()
  1115. local HEAD = TARGET:FindFirstChild("Head")
  1116. if HEAD then
  1117. local FACE = HEAD:FindFirstChild("face")
  1118. if FACE then
  1119. FACE.Texture = "http://www.roblox.com/asset/?id=145854465"
  1120. FACE.Transparency = 0.5
  1121. end
  1122. end
  1123. end
  1124. local TARGETSTATIC = nil
  1125. if game:GetService("Players"):GetPlayerFromCharacter(TARGET) then
  1126. TARGETSTATIC = script.GonerStatic:Clone()
  1127. TARGETSTATIC.Parent = game:GetService("Players"):GetPlayerFromCharacter(TARGET).PlayerGui
  1128. local SOUND = NewSound({ID = 2737898305,PARENT = TARGETSTATIC.Script,VOLUME = 3,PITCH = 1,LOOP = true,MAXDISTANCE = 125,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = false})
  1129. SOUND.Name = "Static"
  1130. Swait()
  1131. TARGETSTATIC.Script.Disabled = false
  1132. end
  1133. local STATIC = script.GonerStatic:Clone()
  1134. STATIC.Parent = PLAYER.PlayerGui
  1135. local SOUND = NewSound({ID = 2737898305,PARENT = STATIC.Script,VOLUME = 3,PITCH = 1,LOOP = true,MAXDISTANCE = 125,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = false})
  1136. SOUND.Name = "Static"
  1137. Swait()
  1138. STATIC.Script.Disabled = false
  1139. local TARGETTORSO = TARGET:FindFirstChild("Torso") or TARGET:FindFirstChild("UpperTorso")
  1140. local GRABA = IT("Attachment",LEFTARM)
  1141. GRABA.Position = VT(0,-1.5,0)
  1142. local GRABB = IT("Attachment",TARGETTORSO)
  1143. local GRAB = IT("BallSocketConstraint",GRABA)
  1144. GRAB.Attachment0 = GRABA
  1145. GRAB.Attachment1 = GRABB
  1146. local GYRO = IT("BodyGyro")
  1147. GYRO.D = 20
  1148. GYRO.P = 5000
  1149. GYRO.MaxTorque = VT(0,4000000,0)
  1150. GYRO.CFrame = CF(TARGETTORSO.Position,ROOT.Position)
  1151. GYRO.Parent = TARGETTORSO
  1152. ATTACKING = true
  1153. ROOT.Anchored = true
  1154. if INPUT == "z" then
  1155. for i=0, 2, 0.1 / ANIM_SPEED do
  1156. Swait()
  1157. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)), 1.5 / ANIM_SPEED)
  1158. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1159. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.5 / ANIM_SPEED)
  1160. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 0.5 / ANIM_SPEED)
  1161. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(85), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1162. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1163. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1164. end
  1165. TRAIL.Enabled = true
  1166. NewSound({ID = 211059653,PARENT = SWORD,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1167. for i=0, 0.1, 0.1 / ANIM_SPEED do
  1168. Swait()
  1169. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1170. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-10)), 1.5 / ANIM_SPEED)
  1171. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.5, -0.85) * ANGLES(RAD(35), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1172. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 1.5 / ANIM_SPEED)
  1173. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(85), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1174. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1175. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1176. end
  1177. CameraShake(ROOT.Position,4.6,15,25)
  1178. Dismember(TARGET,"Ragdoll")
  1179. Dismember(TARGET,"Head")
  1180. DedFace()
  1181. GYRO:Remove()
  1182. NewSound({ID = 264486467,PARENT = TARGETTORSO,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1183. NewSound({ID = SOUND_SNAP,PARENT = TARGETTORSO,VOLUME = 6,PITCH = 1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1184. for i = 1, 7 do
  1185. OofOuchBlood(TARGETTORSO.Position,CF(TARGETTORSO.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,45)
  1186. coroutine.resume(coroutine.create(function()
  1187. for i = 1, 25 do
  1188. SpawnPuddle(TARGETTORSO.Position,TARGET,false)
  1189. wait(2)
  1190. end
  1191. end))
  1192. end
  1193. for i=0, 0.9, 0.1 / ANIM_SPEED do
  1194. Swait()
  1195. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1196. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-1)), 1.5 / ANIM_SPEED)
  1197. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.5, -0.85) * ANGLES(RAD(35), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1198. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 1.5 / ANIM_SPEED)
  1199. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(85), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1200. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1201. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1202. end
  1203. TRAIL.Enabled = false
  1204. elseif INPUT == "x" then
  1205. for i=0, 2, 0.1 / ANIM_SPEED do
  1206. Swait()
  1207. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-10)), 1.5 / ANIM_SPEED)
  1208. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1209. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(90)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.5 / ANIM_SPEED)
  1210. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 0.5 / ANIM_SPEED)
  1211. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(125), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1212. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1213. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1214. end
  1215. TRAIL.Enabled = true
  1216. NewSound({ID = 536642316,PARENT = SWORD,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1217. for i=0, 0.1, 0.1 / ANIM_SPEED do
  1218. Swait()
  1219. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1220. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-10)), 1.5 / ANIM_SPEED)
  1221. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.35, -0.85) * ANGLES(RAD(-25), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1222. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 1.5 / ANIM_SPEED)
  1223. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(125), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1224. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1225. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1226. end
  1227. CameraShake(ROOT.Position,4.6,15,25)
  1228. Dismember(TARGET,"Ragdoll")
  1229. Dismember(TARGET,"Legs")
  1230. DedFace()
  1231. GYRO:Remove()
  1232. NewSound({ID = 264486467,PARENT = TARGETTORSO,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1233. NewSound({ID = SOUND_SNAP,PARENT = TARGETTORSO,VOLUME = 6,PITCH = 1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1234. for i = 1, 7 do
  1235. OofOuchBlood(TARGETTORSO.Position,CF(TARGETTORSO.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,45)
  1236. coroutine.resume(coroutine.create(function()
  1237. for i = 1, 25 do
  1238. SpawnPuddle(TARGETTORSO.Position,TARGET,false)
  1239. wait(2)
  1240. end
  1241. end))
  1242. end
  1243. for i=0, 0.9, 0.1 / ANIM_SPEED do
  1244. Swait()
  1245. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.5 / ANIM_SPEED)
  1246. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(-1)), 1.5 / ANIM_SPEED)
  1247. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.1, 0.35, -0.85) * ANGLES(RAD(-25), RAD(0), RAD(-90)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1248. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(85)) * ANGLES(RAD(0),RAD(90),RAD(0)), 1.5 / ANIM_SPEED)
  1249. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(125), RAD(-10), RAD(20)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1250. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1251. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-60), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1252. end
  1253. TRAIL.Enabled = false
  1254. elseif INPUT == "c" then
  1255. GRABA:Remove()
  1256. GRABB:Remove()
  1257. TARGETTORSO.Anchored = true
  1258. local DEAD = false
  1259. Dismember(TARGET,"Ragdoll")
  1260. coroutine.resume(coroutine.create(function()
  1261. repeat
  1262. Swait()
  1263. TARGETTORSO.CFrame = Clerp(TARGETTORSO.CFrame,ROOT.CFrame*CF(0,-3,-1.5) * ANGLES(RAD(-90), RAD(0), RAD(0)),0.3)
  1264. until DEAD == true
  1265. coroutine.resume(coroutine.create(function()
  1266. for i = 1, 25 do
  1267. SpawnPuddle(TARGETTORSO.Position+VT(0,1,0),TARGET,false)
  1268. wait(2)
  1269. end
  1270. end))
  1271. DedFace()
  1272. end))
  1273. for i=0, 1.5, 0.1 / ANIM_SPEED do
  1274. Swait()
  1275. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(30), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1276. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1277. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1278. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(70)), 1.5 / ANIM_SPEED)
  1279. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-5)) * CF(0,-0.75,0) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1280. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1281. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1.5 / ANIM_SPEED)
  1282. end
  1283. for i = 1, 7 do
  1284. OofOuchBlood(TARGETTORSO.Position,CF(TARGETTORSO.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,15)
  1285. end
  1286. CameraShake(ROOT.Position,4.6,15,25)
  1287. Dismember(TARGET,"LeftArm")
  1288. local ARM = TARGET:FindFirstChild("Left Arm") or TARGET:FindFirstChild("LeftUpperArm")
  1289. if ARM then
  1290. local BV = IT("BodyVelocity")
  1291. BV.MaxForce = BV.MaxForce * 500
  1292. BV.Velocity = CF(ARM.Position,ROOT.Position+VT(0,2,0)).lookVector*65
  1293. BV.Parent = ARM
  1294. Debris:AddItem(BV,0.05)
  1295. end
  1296. NewSound({ID = SOUND_SNAP,PARENT = TARGETTORSO,VOLUME = 6,PITCH = 1.1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1297. for i=0, 0.3, 0.1 / ANIM_SPEED do
  1298. Swait()
  1299. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(30), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1300. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1301. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1302. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(70)), 1.5 / ANIM_SPEED)
  1303. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 1) * ANGLES(RAD(90), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1304. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1305. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1.5 / ANIM_SPEED)
  1306. end
  1307. for i=0, 0.3, 0.1 / ANIM_SPEED do
  1308. Swait()
  1309. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(30), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1310. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1311. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1312. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(70)), 1.5 / ANIM_SPEED)
  1313. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(85)) * CF(0,-1.25,0) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1314. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1315. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1.5 / ANIM_SPEED)
  1316. end
  1317. for i = 1, 7 do
  1318. OofOuchBlood(TARGETTORSO.Position,CF(TARGETTORSO.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,15)
  1319. end
  1320. CameraShake(ROOT.Position,4.6,15,25)
  1321. Dismember(TARGET,"RightArm")
  1322. local ARM = TARGET:FindFirstChild("Right Arm") or TARGET:FindFirstChild("RightUpperArm")
  1323. if ARM then
  1324. local BV = IT("BodyVelocity")
  1325. BV.MaxForce = BV.MaxForce * 500
  1326. BV.Velocity = CF(ARM.Position,ROOT.Position+VT(0,2,0)).lookVector*65
  1327. BV.Parent = ARM
  1328. Debris:AddItem(BV,0.05)
  1329. end
  1330. NewSound({ID = SOUND_SNAP,PARENT = TARGETTORSO,VOLUME = 6,PITCH = 1.1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1331. DEAD = true
  1332. for i=0, 0.3, 0.1 / ANIM_SPEED do
  1333. Swait()
  1334. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(30), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1335. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1336. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-5), RAD(0), RAD(-10)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1337. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(70)), 1.5 / ANIM_SPEED)
  1338. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 1) * ANGLES(RAD(90), RAD(0), RAD(85)) * CF(0,0.75,0) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1339. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1340. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, -0.2) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 1.5 / ANIM_SPEED)
  1341. end
  1342. elseif INPUT == "v" then
  1343. GRABA:Remove()
  1344. GRABB:Remove()
  1345. TARGETTORSO.Anchored = true
  1346. local DEAD = false
  1347. coroutine.resume(coroutine.create(function()
  1348. repeat
  1349. Swait()
  1350. TARGETTORSO.CFrame = Clerp(TARGETTORSO.CFrame,ROOT.CFrame*CF(0,-3,-1.2) * ANGLES(RAD(-90), RAD(0), RAD(0)),0.3)
  1351. until DEAD == true
  1352. DedFace()
  1353. Dismember(TARGET,"Ragdoll")
  1354. coroutine.resume(coroutine.create(function()
  1355. for i = 1, 25 do
  1356. SpawnPuddle(TARGETTORSO.Position+VT(0,1,0),TARGET,false)
  1357. wait(2)
  1358. end
  1359. end))
  1360. end))
  1361. for i=0, 0.5, 0.1 / ANIM_SPEED do
  1362. Swait()
  1363. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.025) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1364. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1365. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(5), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1366. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 1.5 / ANIM_SPEED)
  1367. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1368. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0.3, -1) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1369. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(20)), 1.5 / ANIM_SPEED)
  1370. end
  1371. for i = 1, MRANDOM(6,12) do
  1372. for i=0, 0.5, 0.1 / ANIM_SPEED do
  1373. Swait()
  1374. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.025) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1375. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1376. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(5), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1377. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 1.5 / ANIM_SPEED)
  1378. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1379. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, 0.3, -1) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1380. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(20)), 1.5 / ANIM_SPEED)
  1381. end
  1382. for i=0, 0.1, 0.1 / ANIM_SPEED do
  1383. Swait()
  1384. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.025) * ANGLES(RAD(10), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1385. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1386. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(5), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1387. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 1.5 / ANIM_SPEED)
  1388. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1389. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, -1) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1390. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-20)), 1.5 / ANIM_SPEED)
  1391. end
  1392. CameraShake(ROOT.Position,4.6,15,25)
  1393. NewSound({ID = SOUND_SNAP,PARENT = TARGETTORSO,VOLUME = 1,PITCH = 1.25,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1394. for i = 1, 7 do
  1395. OofOuchBlood(TARGETTORSO.Position,CF(TARGETTORSO.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,15)
  1396. end
  1397. for i=0, 0.2, 0.1 / ANIM_SPEED do
  1398. Swait()
  1399. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.025) * ANGLES(RAD(10), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1400. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1401. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(5), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1402. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 1.5 / ANIM_SPEED)
  1403. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1404. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, -1) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1405. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-20)), 1.5 / ANIM_SPEED)
  1406. end
  1407. end
  1408. DEAD = true
  1409. for i=0, 0.6, 0.1 / ANIM_SPEED do
  1410. Swait()
  1411. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.025) * ANGLES(RAD(10), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1412. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 1.5 / ANIM_SPEED)
  1413. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35), RAD(5), RAD(0)) * RIGHTSHOULDERC0, 1.5 / ANIM_SPEED)
  1414. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 1.5 / ANIM_SPEED)
  1415. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 1.5 / ANIM_SPEED)
  1416. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, -1) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1.5 / ANIM_SPEED)
  1417. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-20)), 1.5 / ANIM_SPEED)
  1418. end
  1419. end
  1420. GYRO:Remove()
  1421. Speak(2291326656)
  1422. STATIC:Remove()
  1423. if TARGETSTATIC then
  1424. TARGETSTATIC:Remove()
  1425. end
  1426. GRABA:Remove()
  1427. GRABB:Remove()
  1428. ROOT.Anchored = false
  1429. ATTACKING = false
  1430. end
  1431. end
  1432.  
  1433. function Shriek()
  1434. ROOT.Anchored = true
  1435. ATTACKING = true
  1436. for i=0, 0.15, 0.1 / ANIM_SPEED do
  1437. Swait()
  1438. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.2) * ANGLES(RAD(0), RAD(0), RAD(10)), 2 / ANIM_SPEED)
  1439. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(5), RAD(0)), 2 / ANIM_SPEED)
  1440. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.7, 0) * ANGLES(RAD(25), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 2 / ANIM_SPEED)
  1441. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 2 / ANIM_SPEED)
  1442. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(45), RAD(-10), RAD(25)) * LEFTSHOULDERC0, 2 / ANIM_SPEED)
  1443. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -0.8, -0.4) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 2 / ANIM_SPEED)
  1444. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -0.8, -0.4) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(20)), 2 / ANIM_SPEED)
  1445. end
  1446. local FACE = IT("Attachment",HEAD)
  1447. local SPEAK = MODULE.Voice:Clone()
  1448. SPEAK.Size = NumberSequence.new(0,25)
  1449. SPEAK.Parent = FACE
  1450. SPEAK.Enabled = true
  1451. Speak(2466752906)
  1452. CameraShake(ROOT.Position,65,8,150)
  1453. for i=0, 1.75, 0.1 / ANIM_SPEED do
  1454. Swait()
  1455. for index, CHILD in pairs(workspace:GetChildren()) do
  1456. if CHILD:FindFirstChildOfClass("Humanoid") and CHILD ~= CHARACTER then
  1457. local HUMAN = CHILD:FindFirstChildOfClass("Humanoid")
  1458. local ROOT2 = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1459. if ROOT2 and HUMAN.Health > 0 and CHILD:FindFirstChild("Head") then
  1460. if (ROOT2.Position - ROOT.Position).Magnitude < 45 then
  1461. local HED = CHILD:FindFirstChild("Head")
  1462. Dismember(CHILD,"Ragdoll")
  1463. for i = 1, 7 do
  1464. OofOuchBlood(HED.Position,CF(HED.Position)*ANGLES(0,RAD(MRANDOM(0,359)),0)*CF(0,1,-1).p,45)
  1465. end
  1466. NewSound({ID = 264486467,PARENT = ROOT2,VOLUME = 2,PITCH = 0.7,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1467. NewSound({ID = SOUND_SNAP,PARENT = ROOT2,VOLUME = 6,PITCH = 1,LOOP = false,MAXDISTANCE = 100,EMITTERSIZE = 15,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1468. coroutine.resume(coroutine.create(function()
  1469. for i = 1, 8 do
  1470. SpawnPuddle(ROOT2.Position+VT(0,1,0),CHILD,false)
  1471. wait(2)
  1472. end
  1473. end))
  1474. HED:Remove()
  1475. end
  1476. end
  1477. end
  1478. end
  1479. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.5 / ANIM_SPEED)
  1480. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(5+MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 0.5 / ANIM_SPEED)
  1481. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 0.5 / ANIM_SPEED)
  1482. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 0.5 / ANIM_SPEED)
  1483. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, -0.3) * ANGLES(RAD(45+MRANDOM(-5,5)), RAD(-10+MRANDOM(-5,5)), RAD(-25+MRANDOM(-5,5))) * ANGLES(RAD(-75), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.5 / ANIM_SPEED)
  1484. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / ANIM_SPEED)
  1485. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.5 / ANIM_SPEED)
  1486. end
  1487. SPEAK.Enabled = false
  1488. Debris:AddItem(FACE,1)
  1489. ATTACKING = false
  1490. ROOT.Anchored = false
  1491. end
  1492.  
  1493. function Speech(INPUT)
  1494. ATTACKING = true
  1495. if INPUT == "t" then
  1496. Speak(2316600989)
  1497. elseif INPUT == "y" then
  1498. Speak(2290634374)
  1499. elseif INPUT == "u" then
  1500. Speak(2291325961)
  1501. end
  1502. ATTACKING = false
  1503. end
  1504.  
  1505. --//====================================================\\--
  1506. --|| WRAP
  1507. --\\====================================================//--
  1508.  
  1509. REMOTE.OnServerEvent:Connect(function(PLR,V1,V2)
  1510. if PLR == PLAYER and ANIM ~= "Sit" then
  1511. --if V1 == "MousePositionUpdate" then
  1512. --MOUSEPOS = V2
  1513. if V1 == "KeyUp" then
  1514. KEYHOLD = false
  1515. elseif V1 == "MouseUp" then
  1516. MOUSEHOLD = false
  1517. end
  1518. if ATTACKING == false then
  1519. if V1 == "MouseDown" and SUBMERGED == false then
  1520. MOUSEHOLD = true
  1521. Slash()
  1522. elseif V1 == "KeyDown" then
  1523. KEYHOLD = true
  1524. if V2 == "e" then
  1525. if ROOT:FindFirstChild("BGM_MUSIC") then
  1526. ROOT:FindFirstChild("BGM_MUSIC"):Remove()
  1527. else
  1528. local M = NewSound({ID = 2598782592,PARENT = ROOT,VOLUME = 1.5,PITCH = 0.4,LOOP = true,MAXDISTANCE = 300,EMITTERSIZE = 300,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1529. M.Name = "BGM_MUSIC"
  1530. end
  1531. elseif V2 == "z" or V2 == "x" or V2 == "c" or V2 == "v" then
  1532. Execute(V2)
  1533. elseif V2 == "g" and SUBMERGED == false then
  1534. Shriek()
  1535. elseif V2 == "q" then
  1536. if SUBMERGED == false then
  1537. SUBMERGED = true
  1538. else
  1539. ROOT.Anchored = false
  1540. SUBMERGED = false
  1541. end
  1542. elseif V2 == "w" and SUBMERGED == true and ATTACKING == false then
  1543. repeat
  1544. ROOT.CFrame = Clerp(ROOT.CFrame,CF(ROOT.Position,VT(MOUSEPOS.X,ROOT.Position.Y,MOUSEPOS.Z)),0.8)*CF(0,0,-0.75)
  1545. Swait()
  1546. until KEYHOLD == false or SUBMERGED == false or ATTACKING == true
  1547. elseif V2 == "t" or V2 == "y" or V2 == "u" then
  1548. Speech(V2)
  1549. end
  1550. end
  1551. end
  1552. end
  1553. end)
  1554. local M = NewSound({ID = 2598782592,PARENT = ROOT,VOLUME = 1.5,PITCH = 0.4,LOOP = true,MAXDISTANCE = 300,EMITTERSIZE = 300,PLAYING = true,PLAYONREMOVE = false,DOESDEBRIS = true})
  1555. M.Name = "BGM_MUSIC"
  1556.  
  1557. HUM.HealthChanged:Connect(function()
  1558. HUM.PlatformStand = false
  1559. HUM.MaxHealth = 3000
  1560. HUM.Health = 3000
  1561. HUM.Name = PLAYER.UserId
  1562. end)
  1563. HUM.PlatformStand = false
  1564. HUM.MaxHealth = 3000
  1565. HUM.Health = 3000
  1566. HUM.Name = PLAYER.UserId
  1567. script.Parent = PLAYER.Backpack
  1568. local TWITCH = 0
  1569. while true do
  1570. Swait()
  1571. SINE = SINE + CHANGE
  1572. if CHARACTER:FindFirstChild("Animate") then
  1573. CHARACTER:FindFirstChild("Animate"):Destroy()
  1574. end
  1575. if CHARACTER:FindFirstChild("Sound") then
  1576. CHARACTER:FindFirstChild("Sound"):Destroy()
  1577. end
  1578. for _,v in next, HUM:GetPlayingAnimationTracks() do
  1579. v:Stop();
  1580. end
  1581. local TORSOVELOCITY = (ROOT.Velocity * VT(1, 0, 1)).magnitude
  1582. local TORSOVERTICALVELOCITY = ROOT.Velocity.y
  1583. local HITFLOOR,HITPOS = Raycast(ROOT.Position, (CF(ROOT.Position, ROOT.Position + VT(0, -1, 0))).lookVector, 4+HUM.HipHeight, CHARACTER)
  1584. local WALKSPEEDVALUE = 10
  1585. local SITTING = HUM.Sit
  1586. if ANIM == "Walk" and TORSOVELOCITY > 1 and ATTACKING == false and SITTING == false then
  1587. ROOTJOINT.C1 = Clerp(ROOTJOINT.C1, ROOTC0 * CF(0, 0, -0.015 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (HUM.WalkSpeed / 16) / ANIM_SPEED)
  1588. 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 * (HUM.WalkSpeed / 16) / ANIM_SPEED)
  1589. RIGHTHIP.C1 = Clerp(RIGHTHIP.C1, CF(0.5, 0.875 - 0.3 * SIN(SINE / WALKSPEEDVALUE), -0.5 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / ANIM_SPEED)
  1590. LEFTHIP.C1 = Clerp(LEFTHIP.C1, CF(-0.5, 0.875 + 0.3 * SIN(SINE / WALKSPEEDVALUE), 0.5 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / ANIM_SPEED)
  1591. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or ATTACKING == true or SITTING == true then
  1592. ROOTJOINT.C1 = Clerp(ROOTJOINT.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / ANIM_SPEED)
  1593. NECK.C1 = Clerp(NECK.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / ANIM_SPEED)
  1594. RIGHTHIP.C1 = Clerp(RIGHTHIP.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / ANIM_SPEED)
  1595. LEFTHIP.C1 = Clerp(LEFTHIP.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / ANIM_SPEED)
  1596. end
  1597. if SITTING == false then
  1598. if HITFLOOR then
  1599. if SUBMERGED == false then
  1600. HUM.JumpPower = 50
  1601. HUM.WalkSpeed = 8
  1602. if TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1603. ANIM = "Idle"
  1604. if MRANDOM(1,15) == 1 and ATTACKING == false then
  1605. SpawnPuddle(HITPOS+VT(0,0.5,0),CHARACTER,true)
  1606. end
  1607. if ATTACKING == false then
  1608. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.5 / ANIM_SPEED)
  1609. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10), RAD(5), RAD(0)), 0.5 / ANIM_SPEED)
  1610. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(15), RAD(0)) * RIGHTSHOULDERC0, 0.5 / ANIM_SPEED)
  1611. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(-5),RAD(0),RAD(0)), 0.5 / ANIM_SPEED)
  1612. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-10), RAD(-10), RAD(0)) * LEFTSHOULDERC0, 0.5 / ANIM_SPEED)
  1613. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / ANIM_SPEED)
  1614. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.5 / ANIM_SPEED)
  1615. end
  1616. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1617. ANIM = "Walk"
  1618. if MRANDOM(1,5) == 1 and ATTACKING == false then
  1619. SpawnPuddle(HITPOS+VT(0,0.5,0),CHARACTER,true)
  1620. end
  1621. if ATTACKING == false then
  1622. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.05) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.25 / ANIM_SPEED)
  1623. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 1 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.25 / ANIM_SPEED)
  1624. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5-0.015 * COS(SINE / (WALKSPEEDVALUE / 2)), 0) * ANGLES(RAD(25), RAD(20), RAD(5)) * RIGHTSHOULDERC0, 0.75 / ANIM_SPEED)
  1625. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(5)), 0.5 / ANIM_SPEED)
  1626. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.45, 0.5-0.015 * SIN(SINE / (WALKSPEEDVALUE / 2)), -0.5) * ANGLES(RAD(95), RAD(-5), RAD(-5)) * LEFTSHOULDERC0, 0.75 / ANIM_SPEED)
  1627. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(-15)), 2 / ANIM_SPEED)
  1628. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(15)), 2 / ANIM_SPEED)
  1629. end
  1630. end
  1631. elseif SUBMERGED == true then
  1632. HUM.JumpPower = 0
  1633. HUM.WalkSpeed = 0
  1634. if MRANDOM(1,2) == 1 and ATTACKING == false then
  1635. SpawnPuddle(HITPOS+VT(0,0.5,0),CHARACTER,true)
  1636. end
  1637. ANIM = "Submerged"
  1638. ROOT.Anchored = true
  1639. if ATTACKING == false then
  1640. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(90), RAD(0), RAD(0)), 0.25 / ANIM_SPEED)
  1641. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.25 / ANIM_SPEED)
  1642. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.75 / ANIM_SPEED)
  1643. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(90)), 0.5 / ANIM_SPEED)
  1644. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.75 / ANIM_SPEED)
  1645. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / ANIM_SPEED)
  1646. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / ANIM_SPEED)
  1647. end
  1648. ROOT.CFrame = CF(HITPOS+VT(0,0.01,0))*ANGLES(0,RAD(ROOT.Orientation.Y),0)
  1649. end
  1650. else
  1651. SUBMERGED = false
  1652. ANIM = "Midair"
  1653. if ATTACKING == false then
  1654. ROOT.Anchored = false
  1655. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(-10), RAD(0), RAD(0)), 1 / ANIM_SPEED)
  1656. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 1 / ANIM_SPEED)
  1657. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 1 / ANIM_SPEED)
  1658. HOLD.C0 = Clerp(HOLD.C0, GRIPC0 * CF(0,0,0) * ANGLES(RAD(0),RAD(0),RAD(0)), 0.5 / ANIM_SPEED)
  1659. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 1 / ANIM_SPEED)
  1660. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 1 / ANIM_SPEED)
  1661. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1 / ANIM_SPEED)
  1662. end
  1663. end
  1664. else
  1665. SUBMERGED = false
  1666. ANIM = "Sit"
  1667. if ATTACKING == false then
  1668. ROOTJOINT.C0 = Clerp(ROOTJOINT.C0,ROOTC0 * CF(0, 0, -0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.25 / ANIM_SPEED)
  1669. NECK.C0 = Clerp(NECK.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1.25 / ANIM_SPEED)
  1670. RIGHTSHOULDER.C0 = Clerp(RIGHTSHOULDER.C0, CF(1.5, 0.65, 0) * ANGLES(RAD(50), RAD(10), RAD(-45))*CF(0,-0.25,0) * RIGHTSHOULDERC0, 1.25 / ANIM_SPEED)
  1671. LEFTSHOULDER.C0 = Clerp(LEFTSHOULDER.C0, CF(-1.5, 0.65, 0) * ANGLES(RAD(50), RAD(-10), RAD(45))*CF(0,-0.25,0) * LEFTSHOULDERC0, 1.25 / ANIM_SPEED)
  1672. RIGHTHIP.C0 = Clerp(RIGHTHIP.C0, CF(1, -0.25, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 1.25 / ANIM_SPEED)
  1673. LEFTHIP.C0 = Clerp(LEFTHIP.C0, CF(-1, -0.25, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-10)), 1.25 / ANIM_SPEED)
  1674. end
  1675. end
  1676. if TWITCH > 0 then
  1677. TWITCH = TWITCH - 1
  1678. NECK.C0 = NECK.C0 * ANGLES(RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5)))
  1679. else
  1680. if MRANDOM(1,25) == 1 then
  1681. TWITCH = MRANDOM(2,12)
  1682. end
  1683. end
  1684. end
Add Comment
Please, Sign In to add comment