Dark_EccentricYT

Untitled

Jun 12th, 2018
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.14 KB | None | 0 0
  1. --[[
  2. This script is made by
  3. _ __ ___ _ _ __ _ _____ __
  4. | '_ ` _ \| | | |/ _` |/ _ \ \/ /
  5. | | | | | | |_| | (_| | __/> <
  6. |_| |_| |_|\__,_|\__, |\___/_/\_\
  7. |___/
  8. ]]
  9. DEBRIS = game:GetService("Debris")
  10. PLAYERS = game:GetService("Players")
  11. INPUT = game:GetService("UserInputService")
  12. RS = game:GetService("RunService")
  13. PI = math.pi
  14. md=math.rad
  15. bcol=BrickColor.new
  16. numkp=NumberSequenceKeypoint.new
  17. mr=math.random
  18.  
  19. base_damage=10
  20. damage=base_damage
  21.  
  22. cfn,v3n=CFrame.new,Vector3.new
  23. ang=function(x,y,z)return CFrame.Angles(x or 0,y or 0,z or 0)end
  24. player = PLAYERS.LocalPlayer
  25. character = player.Character
  26.  
  27. pcall(function()Workspace:FindFirstChild('riimu',true).sidos:Invoke()end)
  28.  
  29. torso = character.Torso
  30. -- shoulder_r = torso['Right Shoulder']
  31. -- shoulder_l = torso['Right Shoulder']
  32. arm_r = character['Right Arm']
  33. arm_l = character['Left Arm']
  34. leg_r = character['Right Leg']
  35. leg_l = character['Left Leg']
  36. root = character['HumanoidRootPart']
  37. root_p=root
  38. root_j = character['HumanoidRootPart']['RootJoint']
  39. neck = torso['Neck']
  40. chum = character:FindFirstChild'Humanoid' or character:FindFirstChild'Nue_was_here'
  41. head=character.Head
  42.  
  43. function isIn(what,tab)
  44. local res=false
  45. for i,v in next,tab do
  46. if v==what then
  47. res = true
  48. break
  49. end
  50. end
  51. return res
  52. end
  53.  
  54. function l(a1,x,y,z,rx,ry,rz)
  55. local cf
  56. if tostring(a1):find(',') == nil then
  57. cf=a1.CFrame
  58. else cf=a1 end
  59. return cf*CFrame.new(x or 0,y or 0,z or 0)*CFrame.Angles(
  60. rx or 0,ry or 0,yz or 0)
  61. end
  62.  
  63. _1,_2,_3,_4,_5,_6=nil,nil,nil,nil,nil,nil
  64.  
  65. New = function(what)
  66. local obj
  67. if type(what) ~= 'string' then
  68. obj=what:Clone()
  69. else
  70. obj=Instance.new(what)
  71. end
  72. return function(bar)
  73. for arg,val in pairs(bar) do
  74. if arg == "_P" then
  75. obj.Parent = val
  76. elseif arg=="_PP" then
  77. obj.Part0=val[1]
  78. obj.Part1=val[2]
  79. elseif arg=='_F'then
  80. val(obj)
  81. else
  82. if pcall(function()return obj[arg] end) then
  83. obj[arg]=val
  84. end
  85. end
  86. end _4=obj
  87. return obj
  88. end
  89. end
  90.  
  91. Edit = function(what)
  92. return function(args)
  93. for ind,obj in next,what do
  94. for arg,val in next,args do
  95. local child,argu = arg:match"(.+)%.(.+)"
  96. if child and argu then
  97. if pcall(function()return obj[child][argu] end) then
  98. -- print'a'
  99. obj[child][argu]=val
  100. end
  101. else
  102. if arg=='_F'then
  103. val(ind,obj)
  104. elseif pcall(function()return obj[arg]end) then
  105. obj[arg]=val
  106. end
  107. end
  108. end
  109. end
  110. end
  111. end
  112.  
  113. function recurseHum(what)
  114. local res
  115. local p=what
  116. if what:IsA'Humanoid'then
  117. res=what
  118. else
  119. repeat
  120. p=p.Parent
  121. if p then
  122. local hum=p:FindFirstChild'Humanoid'
  123. if hum then
  124. res=hum
  125. break
  126. end
  127. end
  128. until p==nil
  129. end
  130. return res
  131. end
  132.  
  133. set_parent,set_material=nil,nil
  134. set_maxvel,set_anchor=nil,nil
  135.  
  136. set_parent,set_color_set_anchor=nil,nil,nil
  137. Part = function(x,y,z,col,tr)
  138. local p = New"Part"{
  139. _P=set_parent or ears or Main;
  140. BrickColor = bcol(col or set_color or "White");
  141. CanCollide = false;
  142. Transparency = tr or 0;
  143. Size = Vector3.new(x or 0,y or 0,z or 0);
  144. Material = set_material or 'SmoothPlastic';
  145. Anchored = (set_anchor~=nil and set_anchor or false)
  146. }
  147. for _,sur in next,Enum.NormalId:GetEnumItems() do
  148. p[sur.Name..'Surface'] = 10
  149. end
  150. _1 = p
  151. return p
  152. end
  153.  
  154. Weld = function(part0,part1,c0,c1,...) --over-engineered welding function which accepts many things
  155. local ar = {...}
  156. local cframe0,cframe1
  157. local function checkf()local res=true
  158. for i,v in pairs(ar)do
  159. if type(v) ~= 'number' then
  160. res=false
  161. end
  162. end
  163. return res
  164. end
  165. if type(c0) == 'table' then
  166. cframe0 = CFrame.new(c0[1] or 0, c0[2] or 0, c0[3] or 0) * CFrame.Angles(
  167. c0[4] or 0, c0[5] or 0, c0[6] or 0)
  168. elseif type(c0) == 'userdata' then
  169. cframe0 = c0
  170. elseif type(c0) == 'number' and checkf() then
  171. cframe0 = CFrame.new(c0 or 0,c1 or 0,ar[1] or 0) * CFrame.Angles(ar[2] or 0, ar[3] or 0, ar[4] or 0)
  172. end
  173. if type(c1) == 'table' then
  174. cframe1 = CFrame.new(c1[1] or 0, c1[2] or 0, c1[3] or 0) * CFrame.Angles(
  175. c1[4] or 0, c1[5] or 0, c1[6] or 0)
  176. elseif type(c1) == 'userdata' then
  177. cframe1 = c1
  178. elseif type(c1) == 'number' and (not c0 or (c0 and type(c0) == 'table')) then
  179. cframe1 = CFrame.new(c1 or 0, ar[1] or 0, ar[2] or 0) * CFrame.Angles(ar[3] or 0, ar[4] or 0, ar[5] or 0)
  180. end
  181. for i,v in pairs(ar)do
  182. if type(v) == 'table' then
  183. cframe1 = CFrame.new(v[1] or 0, v[2] or 0, v[3] or 0) * CFrame.new(v[4] or 0, v[5] or 0, v[6] or 0)
  184. elseif type(v) == 'userdata' then
  185. cframe1 = v
  186. end
  187. end
  188.  
  189. cframe0,cframe1 = cframe1,cframe0
  190. part0.Position=part1.Position
  191. local weld = Instance.new("Motor")
  192. weld.Part0 = part0
  193. weld.Part1 = part1
  194. weld.C0 = cframe0 or CFrame.new()
  195. weld.C1 = cframe1 or CFrame.new()
  196. weld.MaxVelocity = set_maxvel or .1
  197. weld.Parent = part0
  198. _2=weld
  199. return weld
  200. end
  201.  
  202. mesh_ids = {
  203. spikeball = "rbxassetid://24388358";
  204. spike = "rbxassetid://1033714";
  205. ring = "rbxassetid://3270017";
  206. coil = 'rbxassetid://16606212';
  207. diamond = 'rbxassetid://9756362';
  208. rock = 'rbxassetid://1290033';
  209. gear = 'rbxassetid://156292343';
  210. crown = 'rbxassetid://20329976';
  211. orb = 'rbxassetid://34795798';
  212. }
  213. mesh_texs = {
  214. rock = 'rbxassetid://1290030';
  215. }
  216. mesh_scales={
  217. diamond = v3n(0.75, 0.75, 0.75);
  218. spikeball = v3n(1.05, 1.05, 1.05);
  219. spike = v3n(0.5, 1.5, 0.5);
  220. gear = v3n(1.25,1.25,18);
  221. ring = v3n(1, 1, 0.6);
  222. coil = v3n(0.5, 0.5, 0.3);
  223. crown = v3n(0.6, 0.6, 0.6);
  224. orb = v3n(1, 1, 1);
  225. }
  226. mesh_offsets={
  227. crown = v3n(0,.15,0);
  228. }
  229.  
  230. function bindMesh(mesh,Size)
  231. local mesh_name
  232. local size=Size or mesh.Parent.Size
  233. for name,id in next,mesh_ids do
  234. if mesh.MeshId==id then
  235. mesh_name=name
  236. end
  237. end
  238.  
  239. if not mesh_name then return end
  240. local mesh=mesh
  241. local con
  242. con=mesh.Parent.Changed:connect(function()
  243. local siz=mesh.Parent.Size
  244. mesh.Scale=siz*mesh_scales[mesh_name]
  245. if mesh_offsets[mesh_name] then
  246. mesh.Offset=siz*mesh_offsets[mesh_name]
  247. end
  248. end)
  249. return con
  250. end
  251.  
  252. Mesh = function(parent,id,sx,sy,sz)
  253. local name = ( (id == 'cyl' and 'CylinderMesh') or (id == 'bl' and 'BlockMesh') or 'SpecialMesh')
  254. local mesh = Instance.new(name)
  255. if id == 's' then
  256. mesh.MeshType = Enum.MeshType.Sphere
  257. elseif id == 'w' then
  258. mesh.MeshType = Enum.MeshType.Wedge
  259. elseif string.find(id,"://") ~= nil then
  260. mesh.MeshId = id
  261. end
  262. mesh.Scale = Vector3.new(sx or 1, sy or 1, sz or 1)
  263. mesh.Parent = parent
  264. _3=mesh
  265. return mesh
  266. end
  267.  
  268. splat_bg = {
  269. normal='rbxassetid://35376649';
  270. bleed='rbxassetid://151907072';
  271. sleep='rbxassetid://69247215';
  272. wind='rbxassetid://442325811';
  273. }
  274.  
  275. udim=function(a,b,c,d)
  276. if type(a)=='string'then
  277. x,y=tostring(a):match('([%+%d%.%-%/%*]+),([%+%d%.%-%/%*]+)')
  278. return UDim2.new(x or 0,x2 or 0,y or 0,y2 or 0)
  279. else
  280. return UDim2.new(a or 0,c or 0,b or 0,d or 0)
  281. end end
  282.  
  283. pcall(function()character.Mace:Destroy()end)
  284. Main=New"Model"{_P=character;Name='Mace'}
  285.  
  286.  
  287. boolt=.5
  288. addition_func = nil
  289.  
  290. hit_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://166423137'}
  291.  
  292. function findHum(pos,rad,hum2)
  293. local hums={}
  294. function check(a)
  295. local res=false
  296. for i,ho in pairs(hums)do
  297. if a==ho then res=true end
  298. end
  299. return res
  300. end
  301. for i,v in pairs(Workspace:children())do
  302. if v:IsA'Model'and v~=Char and v~=(hum2 or Char) then
  303. for i,q in pairs(v:children())do
  304. if q:IsA'Humanoid' and q.Parent:FindFirstChild'Torso'and(q.Torso.Position-pos).magnitude < rad then
  305. if not check(q)then
  306. table.insert(hums,q)
  307. end
  308. end
  309. end
  310. end
  311. end
  312. return hums
  313. end
  314.  
  315. function checkY(p1,p2,range,range2)
  316. local function checko()
  317. return ( (l(p1).X>l(p2).X-range2 and l(p1).X<l(p2).X+range2) and (l(p1).Z>l(p2).Z-range2 and l(p1).Z<l(p2).Z+range2) )
  318. end
  319. if range2 then
  320. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range) and checko()
  321. else
  322. return (l(p1).Y > l(p2).Y-range and l(p2).Y < l(p2).Y+range)
  323. end
  324. end
  325.  
  326. function display_splat(human,text,bgimg,style,speed,height)
  327. local bbg = New"BillboardGui"{_P=Main;Adornee=human.Torso;
  328. Size=udim'2,2';ExtentsOffset=v3n(0,3,0)}
  329. local mfr = New"Frame"{_P=bbg;Size=udim'1,1'}
  330. local image_lab = New"ImageLabel"{_P=mfr;Size=udim'1,1';Image=(bgimg or splat_bg.normal)}
  331. local text_lab = New"TextLabel"{_P=mfr;Size=udim'1,1';Text=text;TextScaled=true;
  332. TextColor3=Color3.new(1,1,1);
  333. }
  334. Edit{mfr,text_lab,image_lab}{BackgroundTransparency=1}
  335. Spawn(function()
  336. if style=='expand' then
  337. mfr:TweenSizeAndPosition(udim'4,4',udim'-2,-3','Out','Quad',speed or 1,false,function()
  338. mfr:Destroy()
  339. end)
  340. else
  341. mfr:TweenPosition(udim(mr(-.25,.25),mr(-.75,-1.25)-(height or 0)),'Out','Quad',speed or 1,false,function()
  342. mfr:Destroy()
  343. end)
  344. end
  345. for i=0,speed or 1,.1 do
  346. Edit{image_lab;text_lab}{ImageTransparency=i;TextTransparency=i}
  347. wait()
  348. end
  349. end)
  350. end
  351. function dodam(hum,amount,...)
  352. hum:TakeDamage(amount)
  353. display_splat(hum,amount,...)
  354. end
  355.  
  356. set_splat_img=nil
  357. function blow(hit,dam,dur,dis_snd,callback,hoo,...)
  358.  
  359. local damage=dam or damage
  360. local f1,f2=tostring(damage):match("(%d+)_(.+)")
  361. damage=f1 or damage
  362. local callback = callback or addition_func or nil
  363. -- if not hit.Parent then return end
  364. local human = hit.Parent:FindFirstChild'Humanoid'
  365. if human and human.Health > 0 and human.Parent~=character and attacking then
  366. local found_tag = human:FindFirstChild'damage_tag'
  367. if not found_tag then
  368. if not dis_snd then
  369. local s=New(hit_snd){_P=human.Torso}s:Play()
  370. end
  371. DEBRIS:AddItem(s,1)
  372. local tag = New"NumberValue"{_P=human;Name='damage_tag';Value=damage}
  373. display_splat(human,f2 or damage,hoo or set_splat_img,...)
  374. if callback ~= nil then callback(human,hit) end
  375. DEBRIS:AddItem(tag,(dur or boolt))
  376. if type(damage)~='string'then human:TakeDamage(damage)end
  377. end
  378. end
  379. end
  380.  
  381. function hideAllParts(wut,an)
  382. local parts={}
  383. local function hide(object,anchor)
  384. if object:IsA("BasePart") or object:IsA("Decal") then
  385. local tr=object.Transparency
  386. local t={o=object,t=tr}
  387. object.Transparency = 1
  388. if object:IsA'BasePart' then
  389. t.a=object.Anchored
  390.  
  391. if anchor==nil then
  392. object.Anchored=true
  393. else
  394. if anchor == 1 then
  395. object.Anchored=true
  396. else
  397. object.Anchored=false
  398. end
  399. end
  400.  
  401. t.c=object.CanCollide
  402. object.CanCollide=false
  403. end
  404.  
  405. table.insert(parts,t)
  406. end
  407. for _, child in ipairs(object:GetChildren()) do
  408. hide(child,an)
  409. end
  410. end
  411. hide(wut,an)
  412. -- for i,v in pairs(Char:children())do
  413. -- pcall(function()print(v.Anchored)end)end
  414. return function()
  415. for i,v in ipairs(parts) do
  416. v.o.Transparency = v.t
  417. if v.o:IsA'BasePart'then
  418. if v.a~=nil then
  419. v.o.Anchored=v.a
  420. end
  421. if v.c~=nil then
  422. v.o.CanCollide=v.c
  423. end
  424. end
  425. end
  426. end
  427. end
  428.  
  429. function addJoint(name,weld,c0,c1)
  430. local t= {}
  431. t.w=weld
  432. t.n_c0 = c0 or weld.C0
  433. t.n_c1 = c1 or weld.C1
  434. t._desired=weld.C0
  435. t._old=cfn()
  436. t.spd=.1
  437. t.l=0
  438. local active=false
  439. function t:get()
  440. return setmetatable({},{__newindex=function(t,i,v)
  441. if i=='d' and self.l == 0 then
  442. self.d = v
  443. elseif i == 's' then self.spd=v end end})
  444. end
  445. function t:activate()
  446. local s=shldrs[name]
  447. s.Parent=nil
  448. self.w.Parent=torso
  449. end
  450. function t:deactivate()
  451. local s=shldrs[name]
  452. s.Parent=torso
  453. s.Part0=torso
  454. s.Part1=torso
  455. self.w.Parent=nil
  456. end
  457.  
  458. function t:update()
  459. self.w.C0 = self.w.C0:lerp(self._desired,self.spd)
  460. end
  461.  
  462. setmetatable(t,{__newindex=function(ta,i,v)
  463. if i=='d' then
  464. ta._desired = ta.n_c0 * v
  465. ta._old = v
  466. end end})
  467.  
  468. Joints[name]=t
  469. getfenv(0)[name]=Joints[name]
  470. end
  471. Joints={}
  472. addJoint('rw',New"Weld"{_P = torso;_PP={torso;arm_r};
  473. C0=cfn(1,0.5,0); C1=cfn(-.5,0.5,0)})
  474. rw.spd=.3
  475.  
  476. --Build--
  477. set_color='Steel blue'
  478. hdl=Part(.5,1.75,.5)Mesh(hdl,'cyl')
  479. hw=Weld(hdl,arm_r,0,-1,-.25,-PI/2)
  480.  
  481. spring=Part(.5,1.75,.5,'Black')
  482. Weld(spring,hdl,cfn()*ang(PI/2))
  483. Mesh(spring,mesh_ids.coil).Scale=mesh_scales.coil*v3n(.6,.6,1.75)
  484.  
  485. spring=Part(.5,1.75,.5,'Black')
  486. Weld(spring,hdl,cfn()*ang(PI/2,PI))
  487. Mesh(spring,mesh_ids.coil).Scale=mesh_scales.coil*v3n(.6,.6,1.75)
  488.  
  489. spike=Part(.5,.5,.5)
  490. Weld(spike,hdl,0,1.75/2+.275)
  491. Mesh(spike,mesh_ids.spike).Scale=mesh_scales.spike*spike.Size
  492.  
  493. ball=Part(2,2,2,'Black')
  494. Weld(ball,spike,0,1)
  495. ball_msh=Mesh(ball,mesh_ids.spikeball)
  496. ball_msh.Scale=mesh_scales.spikeball*ball.Size
  497.  
  498. ball2=Part(.1,.1,.1,'Cyan',.5)
  499. Weld(ball2,spike,0,1)
  500. Mesh(ball2,mesh_ids.spikeball).Scale=ball_msh.Scale*1.01
  501.  
  502.  
  503. dia=Part(.5,2,.5,'Storm blue')
  504. Weld(dia,hdl,0,-1.75/2)
  505. Mesh(dia,mesh_ids.diamond).Scale=mesh_scales.diamond*dia.Size
  506. -- New"SelectionBox"{_P=_1;Adornee=_1}
  507.  
  508. dia2=Part(1,1,1,'Black')_1.Size=dia.Size
  509. Weld(_1,hdl,0,-1.75/2,0,0,md'45')
  510. Mesh(_1,mesh_ids.diamond).Scale=mesh_scales.diamond*dia.Size
  511.  
  512. ball_dmg_con = ball.Touched:connect(blow)
  513. dia_dmg_con = dia.Touched:connect(blow)
  514. --/Build--
  515. addJoint('hw',hw)
  516. hw.spd=.3
  517.  
  518. anim_con=RS.Stepped:connect(function()
  519. for i,v in pairs(Joints) do
  520. v.w.C0 = v.w.C0:lerp(v._desired,v.spd)
  521. end
  522. end)
  523.  
  524. rw.d=ang(PI/2)
  525.  
  526. function freeze(a)local orig,orig2=a.WalkSpeed,a.JumpPower
  527. a.WalkSpeed=0 a.JumpPower=0
  528. return function()a.WalkSpeed=orig
  529. a.JumpPower=orig2 end end
  530.  
  531. --Moves--
  532. slash_snd = New"Sound"{_P=hdl;SoundId='rbxasset://sounds/swordslash.wav';
  533. Pitch=1.25}
  534. slash2_snd = New"Sound"{_P=hdl;SoundId='rbxasset://sounds/swordlunge.wav'}
  535. spin_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://158475221'}
  536. lunge_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://231731980';Pitch=.5}
  537. spike_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://158037267'}
  538. spike_snd_cl = New(spike_snd){_P=hdl}
  539. beam_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://184742298';Pitch=1.15}
  540. slash3_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://220833976'}
  541. Slash = function()
  542. rw.d=ang(md'-15')
  543. slash_snd:Play()
  544. wait'.25'
  545. rw.d=ang(md'90')
  546. end
  547. Slash2 = function()
  548. slash2_snd:Play()
  549. local a=ang(md'90',0,md'-35')*ang(0,PI/2-md'25')
  550. rw.d=a
  551. wait'.15'
  552. rw.d=a*ang(md'-170')
  553. wait'.25'
  554. rw.d=ang(md'90')
  555. end
  556. Slash3 = function()
  557. addition_func=function(hum)
  558. Spawn(function()
  559. local pt=tick()
  560. repeat
  561. pcall(function()hum.PlatformStand=true end)
  562. wait()
  563. until (tick()-pt)>2
  564. pcall(function()hum.PlatformStand=false end)
  565. end)
  566. end
  567. damage=base_damage*1.5
  568. rw.d=ang(md'130',md'15')
  569. hw.d=ang(0,0,-PI)wait'.25'
  570. slash3_snd:Play()
  571. rw.d=ang(md'80',md'-35')
  572. hw.d=ang(md'25',0,PI)
  573. wait'.4'
  574. addition_func=nil
  575. -- rw.d=ang(PI/2)
  576. -- hw.d=cfn()
  577. end
  578. Slash4 = function()
  579. -- Slash()
  580. addition_func=function(hum)
  581. Spawn(function()wait'.15'
  582. display_splat(hum,'BLEED',splat_bg.bleed,'expand',2,2)
  583. end)
  584. for i=1,30 do
  585. if hum then
  586. local blood=Part(.3,.1,.3,'Really red')
  587. blood.CFrame=l(hum.Torso)
  588. blood.Velocity=v3n(mr(-5,5),10,mr(-5,5))
  589. DEBRIS:AddItem(blood,.5)
  590. pcall(function()hum.Health=hum.Health-base_damage*.01 end) end
  591. wait()
  592. end
  593. end
  594.  
  595. damage=base_damage*2
  596. rw.d=rw._old*ang(md'120')
  597. local o=ang(md'80',md'-35')
  598.  
  599. -- for a=0,1,.1 do
  600. -- hw.d=o*ang(0,0,PI*3*a)
  601. -- wait()
  602. -- end
  603. rw.d=o*ang(md'75')
  604. hw.d=cfn()wait'.25'
  605. slash3_snd:Play()
  606. rw.d=ang(md'85',md'-35',0)
  607. hw.d=cfn(0,1,0)*ang(md'-25',0,md'-15')
  608. wait'1'
  609. addition_func=nil
  610. end
  611.  
  612. wind_snd=New"Sound"{_P=hdl;SoundId='rbxassetid://224339308';Pitch=3}
  613. Spin = function()
  614. addition_func=function(hum)
  615. pcall(function()hum.PlatformStand=true wait(.1)hum.PlatformStand=false end)
  616. hum.Torso.Velocity=cfn(l(torso).p,v3n(l(hum.Torso).X,l(torso).Y,l(hum.Torso).Z)).lookVector*100
  617. end
  618. rw.d=ang(0,0,md'75')
  619. hw.d=cfn(0,-.5,0)*ang(PI/2)*ang(md'65')
  620.  
  621.  
  622. local bv=New"BodyAngularVelocity"{_P=root_p;maxTorque=v3n(1,1,1)*9e+009;
  623. angularvelocity=v3n(0,1,0)*PI*4}
  624.  
  625. --Trailing--
  626. local pt=tick()
  627. local rot=0
  628. local r=Part(10,3,10,'Cyan',.75)r.Anchored=true
  629. local mesh=Mesh(r,mesh_ids.crown)_3.Scale=mesh_scales.crown*r.Size
  630. _3.Offset=mesh_offsets.crown*r.Size
  631. local r2=New(r){_P=Main;Transparency=.85}_4.Mesh.Scale=mesh.Scale*1.1
  632. local r3=New(r){_P=Main;Transparency=.95}_4.Mesh.Scale=mesh.Scale*1.25
  633.  
  634. local function onHit(hit)
  635. blow(hit,'GUST',0.1,true,function(hum)
  636. New"BodyAngularVelocity"{_P=hum.Torso;MaxTorque=v3n(0,1,0)*9e+009;P=100;
  637. angularvelocity=v3n(0,1,0)*(PI*10)}
  638. DEBRIS:AddItem(_4,1)
  639. New(wind_snd){_P=hum.Torso}:Play()
  640. DEBRIS:AddItem(_4,1)
  641. end,splat_bg.wind,'expand')
  642. end
  643. -- r.Touched:connect(onHit)
  644. -- r2.Touched:connect(onHit)
  645. -- r3.Touched:connect(onHit)
  646.  
  647. Edit{r,r2,r3}{CFrame=l(torso,0,-2)}
  648. local pt=tick()
  649. Spawn(function()
  650. while bv.Parent~=nil do
  651. ---Spin em around---
  652. if (tick()-pt)>.1 then
  653. for _,hum in next,findHum(torso.Position,10) do
  654. if checkY(hum.Torso,torso,2) then
  655. onHit(hum.Torso)
  656. end
  657. end pt=tick()
  658. end
  659.  
  660. rot=rot+md'10'
  661. local st_cf=l(ball)
  662. RS.Stepped:wait()
  663. local en_cf=l(ball)
  664. local mag=(st_cf.p-en_cf.p).magnitude
  665. local cyl=Part(1,1,1)_1.Anchored=true _1.Material='Neon'
  666. local msh=Mesh(cyl,'cyl',1,mag,1)
  667. msh.Scale=v3n(1,mag,1)
  668. local bsca=msh.Scale
  669. cyl.CFrame=(cfn(st_cf.p,en_cf.p)*cfn(0,0,-mag/2))*ang(PI/2)
  670. r.CFrame=l(cfn(torso.Position),0,-2,0,0,rot)
  671. r2.CFrame=l(cfn(torso.Position),0,-2,0,0,-rot)
  672. r3.CFrame=l(cfn(torso.Position),0,-2,0,0,rot)
  673. Spawn(function()
  674. for i=0,1,.25 do
  675. cyl.Transparency=.5+i*.5
  676. msh.Scale=bsca+(v3n(1,0,1)*i)
  677. wait()
  678. end cyl:destroy()
  679. end)
  680. end
  681. for i,v in next,{r,r2,r3}do v:Destroy()end
  682. end)
  683. ---------------
  684.  
  685. spin_snd:Play()
  686. wait(1.5)
  687. bv:Destroy()
  688. hw.d=cfn()
  689. rw.d=ang(PI/2)
  690. addition_func=nil
  691. end
  692. Lunge = function()
  693.  
  694. addition_func=function(hum,hit)
  695.  
  696. local cr1=Part(1,1,1,'New Yeller',.5)
  697. local cr2=Part(1,1,1,'New Yeller',.5)
  698. Edit{cr1,cr2}{Material='Neon';Anchored=true}
  699. local msh=Mesh(cr1,'s')
  700. local msh2=Mesh(cr2,'s')
  701.  
  702. local contactp=ball.CFrame:toObjectSpace(hit.CFrame)
  703. contactp=ball.CFrame*contactp
  704. local cc=cfn(contactp.p,v3n(l(ball).X,contactp.Y,l(ball).Z))
  705. -- local cc=contactp
  706. cr1.CFrame=cc*ang(PI/2,md'45')
  707. cr2.CFrame=cc*ang(PI/2,md'-45')
  708.  
  709. Spawn(function()
  710. for i=0,1,.1 do
  711. Edit{cr1,cr2,msh,msh2}{Scale=v3n(1,1,30)*i;
  712. Transparency=.5+i*.5}
  713. wait()
  714. end
  715. cr1:Destroy() cr2:Destroy()
  716. end)
  717. local stopper=New"BodyPosition"{_P=hum.Torso;
  718. MaxForce=v3n(1,1,1)*9e+009;position=hum.Torso.Position}
  719. DEBRIS:AddItem(stopper,.25)
  720. end
  721. lunge_snd:Play()
  722.  
  723. --Effect--
  724.  
  725. local bv=New"BodyVelocity"{_P=torso;velocity=torso.CFrame.lookVector*50;
  726. MaxForce=v3n(1,1,1)*9e+009}
  727.  
  728. rw.d=ang(md'-45')
  729. hw.d=ang(md'-45')
  730. local pt=tick()
  731. repeat --Circle effects
  732. local ring=Part(1,1,1,'White',.5)_1.Anchored=true
  733. local msh=Mesh(_1,mesh_ids.ring)_3.Scale=v3n(0,0,0)
  734. local crown=Part(1,1,1,'White',.5)_1.Anchored=true
  735. local msh2=Mesh(_1,mesh_ids.crown)_3.Scale=v3n(0,0,0)
  736.  
  737. local cf=l(torso,0,0,-3)
  738. local cf2=l(torso,0,0,-7,PI/2)
  739. ring.CFrame=cf crown.CFrame=cf2
  740. Spawn(function()
  741. for i=0,1,.1 do
  742. Edit{ring,crown}{Transparency=.5+i*.5}
  743. Edit{msh}{Scale=v3n(i*10,i*10,1)}
  744. Edit{msh2}{Scale=v3n(i*11,i*11,i*11);Offset=v3n(0,.15*(i*11),0)}
  745. wait()
  746. end ring:Destroy()crown:Destroy()
  747. end)
  748. wait()
  749. until (tick()-pt)>.25
  750. rw.d=ang(md'45')*ang(0,md'25')
  751. hw.d=ang(md'45')
  752. bv:Destroy()
  753. addition_func=nil
  754. wait'.35'
  755. hw.d=cfn()rw.d=ang(PI/2)
  756. end
  757. inject_snd = New"Sound"{_P=hdl;SoundId='rbxassetid://214755019';Volume=1;}
  758. Spike = function()
  759. local behind=false
  760. rw.d=cfn(0,.65,0)*ang(md'170',0,md'45')*ang(0,md'-25')
  761. spike_snd:Play()
  762. dia_dmg_con:disconnect()
  763. ball_dmg_con:disconnect()
  764. wait'.5'
  765. --Make victim fall--
  766. local con
  767. set_splat_img=splat_bg.sleep
  768. slp_con=dia.Touched:connect(function(hit)
  769.  
  770. blow(hit,'5_IMMOB',nil,true,function(hum)
  771. if not hum.Parent:FindFirstChild'Torso'then return end
  772.  
  773. local chead=hum.Parent:FindFirstChild'Head'
  774. if chead then
  775. vec1=chead.CFrame.lookVector
  776. vec2=head.CFrame.lookVector
  777. dot=vec1:Dot(vec2)
  778. if dot>0 then
  779. hum:TakeDamage(base_damage*2)
  780. -- dodam(hum,base_damage*2,set_splat_img,'expand')
  781. end
  782. end
  783.  
  784. -- display_splat(hum,'SLEEP',splat_bg.sleep)
  785. local found_poison = hum.Torso:FindFirstChild'Sleep'
  786. if not found_sleep then
  787. inject_snd:Play() hit_snd:Stop()
  788. local sleep = New"BodyGyro"{_P=hum.Torso;
  789. Name='Sleep';MaxTorque=v3n(1,1,1)*9e+009;P=10000;
  790. cframe=cfn(l(hum.Torso).p)*ang(PI/2,0,PI/2)}
  791. DEBRIS:AddItem(sleep,3)
  792. end
  793. end)
  794.  
  795. end)
  796. ----------------------
  797. spike_snd_cl:Play()
  798. rw.d=rw._old*ang(md'-85')
  799. hw.d=cfn(0,.5,0)*ang(md'-15')
  800. wait'.5'
  801. set_splat_img=sleep
  802. slp_con:disconnect()
  803. dia_dmg_con=dia.Touched:connect(blow)
  804. ball_dmg_con = ball.Touched:connect(blow)
  805. -- damage=base_damage
  806. hw.d=cfn()
  807. rw.d=ang(PI/2)
  808. end
  809. Beam = function()
  810. local dismis={}
  811. local obj,pos=Workspace:FindPartOnRayWithIgnoreList(Ray.new(l(torso,0,0,-4).p,v3n(0,-5,0)),dismis)
  812. local hummi=nil
  813. repeat
  814. obj,pos=Workspace:FindPartOnRayWithIgnoreList(Ray.new(l(torso,0,0,-4).p,v3n(0,-5,0)),dismis)
  815. if obj and pos then
  816. hummi=recurseHum(obj)
  817. if hummi then
  818. table.insert(dismis,obj)
  819. end end
  820. until hummi==nil
  821. if not obj and pos then return end
  822. beam_snd:Play()
  823. rw.d=ang(md'140')
  824. hw.d=cfn(0,0,.25)*ang(md'35')
  825. local thaw=freeze(chum)
  826. local rings={}
  827. for i=1,0,-.05 do
  828. local ring = Part(i*5,i*5,4,'New Yeller')_1.Anchored=true
  829. ring.CFrame=cfn(pos)*ang(PI/2)
  830. -- ring.Touched:connect(function(hit)end)
  831. Mesh(ring,mesh_ids.ring)
  832. _3.Scale=mesh_scales.ring*_1.Size
  833. table.insert(rings,ring)
  834. end
  835. for o=0,1,.1 do
  836. for i,v in pairs(rings)do
  837. v.CFrame=cfn(pos+v3n(0,-.4+o*(i),0))*ang(PI/2)
  838.  
  839. end
  840.  
  841. ---Make em suffer...
  842. for _,hum in next,findHum(l(torso,0,0,-4).p,30) do
  843. if checkY(hum.Torso,torso,10,4) then
  844. blow(hum.Torso,base_damage*.25,.1,false)
  845. end
  846. end
  847. wait()
  848. end
  849. for o=1,0,-.1 do
  850. for i,v in pairs(rings)do
  851. v.CFrame=cfn(pos+v3n(0,-.4+o*(i),0))*ang(PI/2)
  852.  
  853. end
  854. ---Make em suffer...
  855. for _,hum in next,findHum(l(torso,0,0,-4).p,30) do
  856. if checkY(hum.Torso,torso,10,4) then
  857. blow(hum.Torso,base_damage*.25,.1,false)
  858. end
  859. end
  860. wait()
  861. end thaw()
  862. for _,v in pairs(rings)do v:Destroy()end
  863. hw.d=cfn()
  864. rw.d=ang(PI/2)
  865. end
  866.  
  867. unhide=nil
  868. prtem=New"ParticleEmitter"{_P=nil;
  869. Size=NumberSequence.new{numkp(0,1);numkp(1,7)};
  870. Transparency=NumberSequence.new{numkp(0,0);numkp(1,1)};
  871. Color=ColorSequence.new(bcol'Cyan'.Color,bcol'White'.Color);
  872. Lifetime=NumberRange.new(3);
  873. VelocitySpread=180;
  874. Rate=150;
  875. Texture='rbxassetid://133619974';
  876. }
  877. hide_snd = New"Sound"{_P=hdl;SoundId='http://www.roblox.com/Asset/?id=16433289'}
  878. Hide = function()
  879. if unhide == nil then
  880. hide_snd:Play()
  881. unhide = hideAllParts(character,false)
  882. local p=Part(1,1,1,'',1)p.Anchored=true
  883. p.CFrame=l(torso)
  884. local prt=New(prtem){_P=p}
  885. prt:Emit(10)wait(.1)prt.Rate=0
  886. DEBRIS:AddItem(p,2)
  887. else
  888. unhide()
  889. unhide=nil
  890. end
  891. end
  892.  
  893. -- Lunge()
  894. Mouse=player:GetMouse()
  895.  
  896. pt=0
  897. double=false
  898. mouse_con1=Mouse.KeyDown:connect(function(key)
  899. if isIn(key,{'f','q','e','c','z'}) then
  900. if attacking then return end
  901. attacking=true
  902. if unhide == nil then
  903. if key=='f'then
  904. Spin()
  905. elseif key=='q' then
  906. Lunge()
  907. elseif key=='e' then
  908. Spike()
  909. elseif key=='z' then
  910. Beam()
  911. elseif key=='r'then
  912. Slash4()
  913. end
  914. end
  915. if key=='c' then
  916. Hide()
  917. end
  918. attacking=false
  919. end
  920. end)
  921. local combo=0
  922. mouse_con2=Mouse.Button1Down:connect(function()
  923. if attacking or unhide~=nil then return end
  924. attacking=true
  925. if (tick()-pt) <.2 then
  926. combo=combo+1
  927. else combo=0 end
  928. if combo==1 then
  929. Slash2()
  930. elseif combo==2 then
  931. Slash3()
  932. elseif combo==3 then
  933. Slash4()
  934. combo=0
  935. else
  936. Slash()
  937. end
  938. hw.d=cfn()rw.d=ang(PI/2)
  939. damage=base_damage
  940. attacking=false
  941. pt=tick()
  942. end)
  943.  
  944. --Maeking sure it wont go insane--
  945. New"BindableFunction"{_P=script;Name='sidos'}.OnInvoke=function()
  946. mouse_con1:disconnect()
  947. mouse_con2:disconnect()
  948. anim_con:disconnect()
  949. end
  950. script.Name='riimu'
Add Comment
Please, Sign In to add comment