Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.85 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152.  
  153. -----------------------------------------------------
  154. ------------------------Jevil------------------------
  155. -----------------------------------------------------
  156.  
  157. --Made by mrfunnylaughs4. I may not know everything about Jevil since I don't play DeltaRune, but I'll try
  158. --my best on keeping it as similar as possible.
  159.  
  160. local plr = owner
  161. local char = plr.Character
  162. if char:FindFirstChild("Animate") then
  163. char.Animate:Destroy()
  164. end
  165. local hum = char:FindFirstChildOfClass("Humanoid")
  166. local tors = char.Torso
  167. local head = char.Head
  168. local rootpart = char.HumanoidRootPart
  169. local RS = tors["Right Shoulder"]
  170. local LS = tors["Left Shoulder"]
  171. local RH = tors["Right Hip"]
  172. local LH = tors["Left Hip"]
  173. local neck = tors.Neck
  174. local rootj = rootpart.RootJoint
  175. local RSnor = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  176. local LSnor = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  177. local RHnor = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  178. local LHnor = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  179. local necknor = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  180. local rootjnor = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  181. local sine = 0
  182. local rooted = false
  183. local attack = false
  184. local music = Instance.new("Sound")
  185. music.Parent = tors
  186. local timepos = 0
  187. local playing = true
  188. local volume = 2
  189. local song = "rbxassetid://2545298782"
  190. local JevilForm = false
  191. hum.WalkSpeed = 10
  192.  
  193. -----------------------------------------------------
  194. ------------------Clientsided stuff------------------
  195. -----------------------------------------------------
  196.  
  197. local mouse = {Hit = CFrame.new(0, 0, 0)}
  198. local remote = Instance.new("RemoteEvent")
  199. remote.Name = "UserInputStuff"
  200. remote.Parent = NLS([==[
  201. local plr = game:GetService("Players").LocalPlayer
  202. local mouse = plr:GetMouse()
  203. local char = plr.Character
  204. local hum = char:FindFirstChildOfClass("Humanoid")
  205.  
  206. game:GetService("UserInputService").InputBegan:Connect(function(input, isTyping)
  207. if isTyping == false and input.UserInputType == Enum.UserInputType.Keyboard then
  208. script:WaitForChild("UserInputStuff"):FireServer("UserInputService", input.KeyCode)
  209. end
  210. end)
  211.  
  212. while game:GetService("RunService").RenderStepped:Wait() do
  213. for i,v in pairs(hum:GetPlayingAnimationTracks()) do
  214. v:Stop()
  215. end
  216. if script:FindFirstChild("UserInputStuff") then
  217. script.UserInputStuff:FireServer("MouseInfo", mouse.Hit)
  218. end
  219. end
  220. ]==], char)
  221.  
  222. -----------------------------------------------------
  223. ----------------------Functions----------------------
  224. -----------------------------------------------------
  225.  
  226. local function SmoothPart(part)
  227. part.TopSurface = Enum.SurfaceType.Smooth
  228. part.BottomSurface = Enum.SurfaceType.Smooth
  229. part.LeftSurface = Enum.SurfaceType.Smooth
  230. part.RightSurface = Enum.SurfaceType.Smooth
  231. part.FrontSurface = Enum.SurfaceType.Smooth
  232. part.BackSurface = Enum.SurfaceType.Smooth
  233. end
  234.  
  235. local function Effect(Length, Type, SizeStart, SizeEnd, Position, Colour, Parent, Material, CanCollide)
  236. local part = Instance.new("Part")
  237. part.Name = Type
  238. part.Material = Material or Enum.Material.Plastic
  239. part.CFrame = Position
  240. part.CanCollide = CanCollide or false
  241. part.Size = SizeStart
  242. part.Anchored = true
  243. part.BrickColor = BrickColor.new(tostring(Colour))
  244. part.Parent = Parent or workspace
  245. if Type == "Block" then
  246. SmoothPart(part)
  247. end
  248. if Type == "Sphere" then
  249. part.Shape = Enum.PartType.Ball
  250. SmoothPart(part)
  251. end
  252. if Type == "TwirlSwirl" or Type == "Swirl" then
  253. local mesh = Instance.new("SpecialMesh")
  254. mesh.MeshType = Enum.MeshType.FileMesh
  255. mesh.MeshId = "rbxassetid://662585058"
  256. mesh.Name = "SwirlMesh"
  257. mesh.Scale = SizeStart / Vector3.new(500, 500, 500)
  258. mesh.Parent = part
  259. end
  260. if Type == "Wave" or Type == "SpiralWave" then
  261. local mesh = Instance.new("SpecialMesh")
  262. mesh.MeshType = Enum.MeshType.FileMesh
  263. mesh.MeshId = "rbxassetid://20329976"
  264. mesh.Name = "WaveMesh"
  265. mesh.Scale = SizeStart / Vector3.new(4, 4, 4)
  266. mesh.Parent = part
  267. end
  268. if Type == "MeshSphere" then
  269. local mesh = Instance.new("SpecialMesh")
  270. mesh.MeshType = Enum.MeshType.Sphere
  271. mesh.Parent = part
  272. SmoothPart(part)
  273. end
  274. if Type == "Cylinder" then
  275. part.Shape = Enum.PartType.Cylinder
  276. SmoothPart(part)
  277. end
  278. if Type == "KillSphere" then
  279. part.Shape = Enum.PartType.Cylinder
  280. part.Transparency = 1
  281. part.Touched:Connect(function()
  282. end)
  283. end
  284. spawn(function()
  285. local TwirlAngle = math.random(-250, 250) / 1000
  286. local WaveAngle = math.random(-500, 500) / 1000
  287. for i = 1, Length do
  288. game:GetService("RunService").Stepped:Wait()
  289. part.Transparency = part.Transparency + 1 / Length
  290. part.Size = part.Size + SizeEnd / Vector3.new(Length, Length, Length)
  291. if Type == "TwirlSwirl" then
  292. part.CFrame = part.CFrame * CFrame.Angles(TwirlAngle, TwirlAngle, TwirlAngle)
  293. part.SwirlMesh.Scale = part.SwirlMesh.Scale + SizeEnd / Vector3.new(Length * 500, Length * 500, Length * 500)
  294. end
  295. if Type == "Swirl" then
  296. part.CFrame = part.CFrame * CFrame.Angles(0, TwirlAngle, 0)
  297. part.SwirlMesh.Scale = part.SwirlMesh.Scale + SizeEnd / Vector3.new(Length * 500, Length * 500, Length * 500)
  298. end
  299. if Type == "SpiralWave" then
  300. part.CFrame = part.CFrame * CFrame.Angles(WaveAngle, WaveAngle, WaveAngle)
  301. part.WaveMesh.Scale = part.WaveMesh.Scale + SizeEnd / Vector3.new(Length * 4, Length * 4, Length * 4)
  302. end
  303. if Type == "Wave" then
  304. part.CFrame = part.CFrame * CFrame.Angles(0, WaveAngle, 0)
  305. part.WaveMesh.Scale = part.WaveMesh.Scale + SizeEnd / Vector3.new(Length * 4, Length * 4, Length * 4)
  306. end
  307. if Type == "KillSphere" then
  308. for i,v in pairs(part:GetTouchingParts()) do
  309. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") and not v:IsDescendantOf(char) then
  310. v.Parent:BreakJoints()
  311. end
  312. end
  313. end
  314. end
  315. part:Destroy()
  316. end)
  317. end
  318.  
  319. -----------------------------------------------------
  320. ----------------------Creations----------------------
  321. -----------------------------------------------------
  322.  
  323. local hat = Instance.new("Part")
  324. hat.Name = "JevilHat"
  325. hat.Size = Vector3.new(1, 1, 1)
  326. hat.CanCollide = false
  327. hat.Parent = char
  328. local mesh = Instance.new("SpecialMesh")
  329. mesh.MeshType = Enum.MeshType.FileMesh
  330. mesh.MeshId = "rbxassetid://193760002"
  331. mesh.TextureId = "rbxassetid://193760041"
  332. mesh.VertexColor = Vector3.new(0.5, 0, 0.5)
  333. mesh.Parent = hat
  334. local weld = Instance.new("Weld")
  335. weld.Part0 = head
  336. weld.Part1 = hat
  337. weld.C0 = CFrame.new(0, 0.5, 0.31)
  338. weld.Parent = hat
  339. local shirt = Instance.new("Shirt")
  340. shirt.Name = "Cloth"
  341. shirt.ShirtTemplate = "rbxassetid://2544612637"
  342. shirt.Parent = char
  343. local pants = Instance.new("Pants")
  344. pants.Name = "Cloth"
  345. pants.PantsTemplate = "rbxassetid://2544611861"
  346. pants.Parent = char
  347.  
  348. -----------------------------------------------------
  349. -----------Attacking functions and remotes-----------
  350. -----------------------------------------------------
  351.  
  352. remote.OnServerEvent:Connect(function(player, Type, input)
  353. if player == plr then
  354. if Type == "MouseInfo" then
  355. mouse.Hit = input
  356. end
  357. if Type == "UserInputService" then
  358. if attack == false then
  359. if JevilForm == false then
  360. if input == Enum.KeyCode.T then
  361. attack = true
  362. local sound = Instance.new("Sound")
  363. sound.SoundId = "rbxassetid://2545211765"
  364. sound.Volume = 5
  365. sound.Parent = head
  366. sound:Play()
  367. repeat
  368. game:GetService("RunService").Stepped:Wait()
  369. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, -0.3, 2), 0.15)
  370. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15)
  371. rootj.C0 = rootj.C0:Lerp(rootjnor, 0.15)
  372. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  373. until sound.Playing == false
  374. attack = false
  375. end
  376. if input == Enum.KeyCode.F then
  377. attack = true
  378. rooted = true
  379. playing = false
  380. for i = 1, 90 do
  381. game:GetService("RunService").Stepped:Wait()
  382. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  383. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  384. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 16, 0, 0), 0.15)
  385. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 16, 0, 0), 0.15)
  386. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1)
  387. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  388. end
  389. local sound = Instance.new("Sound")
  390. sound.SoundId = "rbxassetid://2545010175"
  391. sound.Volume = 5
  392. sound.Parent = head
  393. sound:Play()
  394. repeat
  395. game:GetService("RunService").Stepped:Wait()
  396. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  397. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  398. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  399. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  400. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1)
  401. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  402. until sound.Playing == false
  403. for i = 1, 30 do
  404. game:GetService("RunService").Stepped:Wait()
  405. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  406. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  407. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  408. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  409. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 2 + 0.2 * math.sin(sine / 20)), 0.1)
  410. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  411. end
  412. if math.random(1, 100) == 1 then
  413. song = "rbxassetid://2582332053"
  414. else
  415. volume = 0.5
  416. song = "rbxassetid://2597271983"
  417. end
  418. music.TimePosition = 0
  419. hum.HipHeight = 2
  420. playing = true
  421. JevilForm = true
  422. attack = false
  423. rooted = false
  424. hum.WalkSpeed = 20
  425. hum.JumpPower = 50
  426. end
  427. end
  428. if JevilForm == true then
  429. if input == Enum.KeyCode.Z then
  430. attack = true
  431. rooted = true
  432. local sound = Instance.new("Sound")
  433. sound.SoundId = "rbxassetid://2545008459"
  434. sound.Volume = 10
  435. sound.Parent = head
  436. sound:Play()
  437. repeat
  438. game:GetService("RunService").Stepped:Wait()
  439. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  440. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  441. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  442. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  443. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  444. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  445. until sound.Playing == false
  446. for i = 1, 10 do
  447. for i = 1, 15 do
  448. game:GetService("RunService").Stepped:Wait()
  449. for i,v in pairs(char:GetDescendants()) do
  450. if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
  451. v.Transparency = v.Transparency + 1 / 15
  452. end
  453. if v:IsA("Decal") then
  454. v.Transparency = v.Transparency + 1 / 15
  455. end
  456. end
  457. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4, 0, 0), 0.15)
  458. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15)
  459. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2, 0, 0), 0.15)
  460. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2, 0, 0), 0.15)
  461. rootj.C0 = rootj.C0:Lerp(rootjnor, 0.1)
  462. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  463. end
  464. local oldpos = rootpart.Position
  465. local dist = (rootpart.Position - mouse.Hit.Position).Magnitude
  466. if dist > 30 then
  467. dist = 30
  468. end
  469. rootpart.CFrame = CFrame.new(oldpos + CFrame.new(oldpos, mouse.Hit.Position).LookVector * dist + Vector3.new(0, 6, 0), Vector3.new(oldpos.X, rootpart.Position.Y, oldpos.Z)) * CFrame.Angles(0, math.pi, 0)
  470. for i = 1, 15 do
  471. game:GetService("RunService").Stepped:Wait()
  472. for i,v in pairs(char:GetDescendants()) do
  473. if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
  474. v.Transparency = v.Transparency - 1 / 15
  475. end
  476. if v:IsA("Decal") then
  477. v.Transparency = v.Transparency - 1 / 15
  478. end
  479. end
  480. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4, 0, 0), 0.15)
  481. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4, 0, 0), 0.15)
  482. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2, 0, 0), 0.15)
  483. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2, 0, 0), 0.15)
  484. rootj.C0 = rootj.C0:Lerp(rootjnor, 0.1)
  485. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  486. end
  487. for i,v in pairs(char:GetDescendants()) do
  488. if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
  489. v.Transparency = 0
  490. end
  491. if v:IsA("Decal") then
  492. v.Transparency = 0
  493. end
  494. end
  495. local sound = Instance.new("Sound")
  496. sound.SoundId = "rbxassetid://2545012765"
  497. sound.Volume = 10
  498. sound.Parent = head
  499. sound:Play()
  500. for amount = 1, 5 do
  501. local spade = Instance.new("Part")
  502. spade.Name = "Spade"
  503. spade.Anchored = true
  504. spade.CanCollide = false
  505. spade.Size = Vector3.new(1, 0.05, 1)
  506. if amount == 1 then
  507. spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.pi / 2, 0)
  508. elseif amount == 2 then
  509. spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(100), 0)
  510. elseif amount == 3 then
  511. spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(80), 0)
  512. elseif amount == 4 then
  513. spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(110), 0)
  514. elseif amount == 5 then
  515. spade.CFrame = CFrame.new(head.Position, mouse.Hit.Position) * CFrame.Angles(0, math.rad(70), 0)
  516. end
  517. spade.Parent = char
  518. local decal1 = Instance.new("Decal")
  519. decal1.Texture = "rbxassetid://2700856195"
  520. decal1.Face = Enum.NormalId.Top
  521. decal1.Parent = spade
  522. local decal2 = Instance.new("Decal")
  523. decal2.Texture = "rbxassetid://2700856195"
  524. decal2.Face = Enum.NormalId.Bottom
  525. decal2.Parent = spade
  526. local debounce = false
  527. spade.Touched:Connect(function(hit)
  528. end)
  529. spawn(function()
  530. for i = 1, 180 do
  531. game:GetService("RunService").Stepped:Wait()
  532. for i,v in pairs(spade:GetTouchingParts()) do
  533. if not v:IsDescendantOf(char) and debounce == false then
  534. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  535. debounce = true
  536. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 20
  537. coroutine.resume(coroutine.create(function()
  538. wait(0.4)
  539. debounce = false
  540. end))
  541. end
  542. end
  543. end
  544. spade.Transparency = 1
  545. spade.CFrame = spade.CFrame * CFrame.new(0.5, 0, 0)
  546. end
  547. for i = 1, 10 do
  548. game:GetService("RunService").Stepped:Wait()
  549. spade.CFrame = spade.CFrame * CFrame.new(0.5, 0, 0)
  550. decal1.Transparency = decal1.Transparency + 0.1
  551. decal2.Transparency = decal2.Transparency + 0.1
  552. end
  553. spade:Destroy()
  554. end)
  555. end
  556. for i = 1, 10 do
  557. game:GetService("RunService").Stepped:Wait()
  558. RS.C0 = RSnor * CFrame.Angles(-2.5, 0, 0) * CFrame.new(0, 0, -1) + Vector3.new(0, 0.7, 0)
  559. LS.C0 = LSnor * CFrame.Angles(-2.5, 0, 0) * CFrame.new(0, 0, -1) + Vector3.new(0, 0.7, 0)
  560. RH.C0 = RHnor * CFrame.Angles(-1, 0, 0)
  561. LH.C0 = LHnor * CFrame.Angles(-1, 0, 0)
  562. rootj.C0 = rootjnor
  563. neck.C0 = necknor
  564. end
  565. end
  566. attack = false
  567. rooted = false
  568. hum.WalkSpeed = 20
  569. hum.JumpPower = 50
  570. end
  571. if input == Enum.KeyCode.X then
  572. attack = true
  573. for i = 1, 4 do
  574. local model = Instance.new("Model")
  575. model.Name = "Spades"
  576. model.Parent = char
  577. local mainpart = Instance.new("Part")
  578. mainpart.Transparency = 1
  579. mainpart.CanCollide = false
  580. mainpart.Anchored = true
  581. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  582. mainpart.Parent = model
  583. model.PrimaryPart = mainpart
  584. local spades = {}
  585. for i = 1, 10 do
  586. local spade = Instance.new("Part")
  587. spade.Name = "Spade"
  588. spade.Transparency = 1
  589. spade.Anchored = true
  590. spade.CanCollide = false
  591. spade.Size = Vector3.new(2, 0.05, 2)
  592. spade.Parent = model
  593. local decal1 = Instance.new("Decal")
  594. decal1.Texture = "rbxassetid://2700856195"
  595. decal1.Face = Enum.NormalId.Top
  596. decal1.Transparency = 1
  597. decal1.Parent = spade
  598. local decal2 = Instance.new("Decal")
  599. decal2.Texture = "rbxassetid://2700856195"
  600. decal2.Face = Enum.NormalId.Bottom
  601. decal2.Transparency = 1
  602. decal2.Parent = spade
  603. local debounce = false
  604. spade.Touched:Connect(function(hit)
  605. end)
  606. table.insert(spades, spade)
  607. end
  608. for i = 1, #spades do
  609. spades[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-20, 0, 0)
  610. end
  611. for x = 20, 10, -0.5 do
  612. game:GetService("RunService").Stepped:Wait()
  613. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  614. for i = 1, #spades do
  615. for i,v in pairs(spades[i]:GetChildren()) do
  616. if v:IsA("Decal") then
  617. v.Transparency = v.Transparency - 0.05
  618. end
  619. end
  620. spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-x, 0, 0), 0.15)
  621. end
  622. end
  623. for i = 1, 35 do
  624. game:GetService("RunService").Stepped:Wait()
  625. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  626. for i = 1, #spades do
  627. spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-10, 0, 0), 0.15)
  628. end
  629. end
  630. coroutine.resume(coroutine.create(function()
  631. for i = 1, #spades do
  632. coroutine.resume(coroutine.create(function()
  633. for x = 10, 13, 0.3 do
  634. game:GetService("RunService").Stepped:Wait()
  635. spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-x, 0, 0), 0.15)
  636. end
  637. for x = 1, 15 do
  638. game:GetService("RunService").Stepped:Wait()
  639. spades[i].CFrame = spades[i].CFrame:Lerp(mainpart.CFrame * CFrame.Angles(0, math.rad((360 / #spades) * i) + math.pi / 2, 0) * CFrame.new(-13, 0, 0), 0.15)
  640. end
  641. local debounce = false
  642. for x = 0, 0.5, 0.025 do
  643. game:GetService("RunService").Stepped:Wait()
  644. for i,v in pairs(spades[i]:GetTouchingParts()) do
  645. if not v:IsDescendantOf(char) and debounce == false then
  646. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  647. debounce = true
  648. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 20
  649. coroutine.resume(coroutine.create(function()
  650. wait(0.4)
  651. debounce = false
  652. end))
  653. end
  654. end
  655. end
  656. spades[i].CFrame = spades[i].CFrame * CFrame.new(x, 0, 0)
  657. end
  658. for x = 0.5, 1, 0.025 do
  659. game:GetService("RunService").Stepped:Wait()
  660. for i,v in pairs(spades[i]:GetChildren()) do
  661. if v:IsA("Decal") then
  662. v.Transparency = v.Transparency + 0.05
  663. end
  664. end
  665. for i,v in pairs(spades[i]:GetTouchingParts()) do
  666. if not v:IsDescendantOf(char) and debounce == false then
  667. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  668. debounce = true
  669. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 5
  670. coroutine.resume(coroutine.create(function()
  671. wait(0.4)
  672. debounce = false
  673. end))
  674. end
  675. end
  676. end
  677. spades[i].CFrame = spades[i].CFrame * CFrame.new(x, 0, 0)
  678. end
  679. spades[i]:Destroy()
  680. end))
  681. wait(0.05)
  682. end
  683. end))
  684. wait(1)
  685. coroutine.resume(coroutine.create(function()
  686. wait(1.4)
  687. model:Destroy()
  688. end))
  689. end
  690. attack = false
  691. end
  692. if input == Enum.KeyCode.C then
  693. attack = true
  694. rooted = true
  695. local sound = Instance.new("Sound")
  696. sound.SoundId = "rbxassetid://2545011398"
  697. sound.Volume = 10
  698. sound.Parent = head
  699. sound:Play()
  700. repeat
  701. game:GetService("RunService").Stepped:Wait()
  702. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  703. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  704. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  705. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  706. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  707. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  708. until sound.Playing == false
  709. rooted = false
  710. hum.WalkSpeed = 20
  711. hum.JumpPower = 50
  712. local model = Instance.new("Model")
  713. model.Name = "Devs"
  714. model.Parent = char
  715. local mainpart = Instance.new("Part")
  716. mainpart.Transparency = 1
  717. mainpart.CanCollide = false
  718. mainpart.Anchored = true
  719. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  720. mainpart.Parent = model
  721. model.PrimaryPart = mainpart
  722. local devs = {}
  723. local devsine = 0
  724. for i = 1, 4 do
  725. local dev = Instance.new("Part")
  726. dev.Name = "Devilsknife"
  727. dev.Transparency = 1
  728. dev.Anchored = true
  729. dev.CanCollide = false
  730. dev.Size = Vector3.new(4, 0.05, 4.6)
  731. dev.Parent = model
  732. local decal1 = Instance.new("Decal")
  733. decal1.Texture = "rbxassetid://2704176861"
  734. decal1.Face = Enum.NormalId.Top
  735. decal1.Transparency = 1
  736. decal1.Parent = dev
  737. local decal2 = Instance.new("Decal")
  738. decal2.Texture = "rbxassetid://2704176861"
  739. decal2.Face = Enum.NormalId.Bottom
  740. decal2.Transparency = 1
  741. decal2.Parent = dev
  742. dev.Touched:Connect(function(hit)
  743. end)
  744. table.insert(devs, dev)
  745. end
  746. local spin = 0
  747. for i = 1, 15 do
  748. game:GetService("RunService").Stepped:Wait()
  749. spin = spin + 12
  750. devsine = devsine + 1
  751. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  752. for i = 1, #devs do
  753. for i,v in pairs(devs[i]:GetChildren()) do
  754. if v:IsA("Decal") then
  755. v.Transparency = v.Transparency - 1 / 15
  756. end
  757. end
  758. if i == 1 then
  759. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  760. elseif i == 2 then
  761. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  762. elseif i == 3 then
  763. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  764. elseif i == 4 then
  765. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  766. end
  767. end
  768. end
  769. local debounce = {}
  770. for i = 1, #devs do
  771. debounce[i] = false
  772. end
  773. for i = 1, 500 do
  774. game:GetService("RunService").Stepped:Wait()
  775. spin = spin + 12
  776. devsine = devsine + 1
  777. mainpart.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, 0)
  778. for i = 1, #devs do
  779. for i,v in pairs(devs[i]:GetTouchingParts()) do
  780. if not v:IsDescendantOf(char) and debounce[i] == false then
  781. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  782. debounce[i] = true
  783. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 5
  784. coroutine.resume(coroutine.create(function()
  785. wait(0.4)
  786. debounce[i] = false
  787. end))
  788. end
  789. end
  790. end
  791. end
  792. for i = 1, #devs do
  793. if i == 1 then
  794. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  795. elseif i == 2 then
  796. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  797. elseif i == 3 then
  798. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  799. elseif i == 4 then
  800. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  801. end
  802. end
  803. end
  804. for i = 1, 15 do
  805. game:GetService("RunService").Stepped:Wait()
  806. for i = 1, #devs do
  807. for i,v in pairs(devs[i]:GetChildren()) do
  808. if v:IsA("Decal") then
  809. v.Transparency = v.Transparency + 1 / 15
  810. end
  811. end
  812. if i == 1 then
  813. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  814. elseif i == 2 then
  815. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  816. elseif i == 3 then
  817. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(math.sin(sine / 40) * 4, 0, -math.sin(sine / 40) * 10)
  818. elseif i == 4 then
  819. devs[i].CFrame = mainpart.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(-math.sin(sine / 40) * 4, 0, math.sin(sine / 40) * 10)
  820. end
  821. end
  822. end
  823. model:Destroy()
  824. attack = false
  825. end
  826. if input == Enum.KeyCode.V then
  827. attack = true
  828. rooted = true
  829. local sound = Instance.new("Sound")
  830. sound.SoundId = "rbxassetid://2544975373"
  831. sound.Volume = 10
  832. sound.Parent = head
  833. sound:Play()
  834. repeat
  835. game:GetService("RunService").Stepped:Wait()
  836. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  837. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  838. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  839. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  840. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  841. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  842. until sound.Playing == false
  843. rooted = false
  844. hum.WalkSpeed = 20
  845. hum.JumpPower = 50
  846. for i = 1, 60 do
  847. local diamond = Instance.new("Part")
  848. diamond.Name = "Devilsknife"
  849. diamond.Transparency = 1
  850. diamond.Anchored = true
  851. diamond.CanCollide = false
  852. diamond.Size = Vector3.new(3, 0.05, 2)
  853. diamond.Parent = char
  854. local decal1 = Instance.new("Decal")
  855. decal1.Texture = "rbxassetid://2707737978"
  856. decal1.Face = Enum.NormalId.Top
  857. decal1.Transparency = 1
  858. decal1.Parent = diamond
  859. local decal2 = Instance.new("Decal")
  860. decal2.Texture = "rbxassetid://2707737978"
  861. decal2.Face = Enum.NormalId.Bottom
  862. decal2.Transparency = 1
  863. decal2.Parent = diamond
  864. diamond.Touched:Connect(function(hit)
  865. end)
  866. diamond.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.new(0, 3, math.random(-100, 100) / 25)
  867. coroutine.resume(coroutine.create(function()
  868. local movespeed = 0
  869. for i = 1, 15 do
  870. game:GetService("RunService").Stepped:Wait()
  871. for i,v in pairs(diamond:GetChildren()) do
  872. if v:IsA("Decal") then
  873. v.Transparency = v.Transparency - 1 / 15
  874. end
  875. end
  876. end
  877. local debounce = false
  878. for i = 1, 90 do
  879. game:GetService("RunService").Stepped:Wait()
  880. movespeed = movespeed + 0.01
  881. diamond.CFrame = diamond.CFrame * CFrame.new(movespeed, 0, 0)
  882. for i,v in pairs(diamond:GetTouchingParts()) do
  883. if not v:IsDescendantOf(char) and debounce == false then
  884. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  885. debounce = true
  886. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10
  887. coroutine.resume(coroutine.create(function()
  888. wait(0.4)
  889. debounce = false
  890. end))
  891. end
  892. end
  893. end
  894. end
  895. for i = 1, 15 do
  896. game:GetService("RunService").Stepped:Wait()
  897. movespeed = movespeed + 0.01
  898. for i,v in pairs(diamond:GetChildren()) do
  899. if v:IsA("Decal") then
  900. v.Transparency = v.Transparency + 1 / 15
  901. end
  902. end
  903. diamond.CFrame = diamond.CFrame * CFrame.new(movespeed, 0, 0)
  904. end
  905. diamond:Destroy()
  906. end))
  907. wait(0.1)
  908. end
  909. attack = false
  910. end
  911. if input == Enum.KeyCode.B and hum.Health <= 30 then
  912. attack = true
  913. rooted = true
  914. local sound = Instance.new("Sound")
  915. sound.SoundId = "rbxassetid://2545011398"
  916. sound.Volume = 10
  917. sound.Parent = head
  918. sound:Play()
  919. repeat
  920. game:GetService("RunService").Stepped:Wait()
  921. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  922. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  923. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  924. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  925. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  926. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  927. until sound.Playing == false
  928. rooted = false
  929. hum.WalkSpeed = 20
  930. hum.JumpPower = 50
  931. local sound = Instance.new("Sound")
  932. sound.SoundId = "rbxassetid://2545211516"
  933. sound.Volume = 10
  934. sound.Parent = head
  935. sound:Play()
  936. repeat
  937. game:GetService("RunService").Stepped:Wait()
  938. until sound.Playing == false
  939. local ticking = 0.6
  940. for i = 1, 40 do
  941. local dev = Instance.new("Part")
  942. dev.Name = "Devilsknife"
  943. dev.Transparency = 1
  944. dev.Anchored = true
  945. dev.CanCollide = false
  946. dev.Size = Vector3.new(4, 0.05, 4.6)
  947. dev.Parent = char
  948. local decal1 = Instance.new("Decal")
  949. decal1.Texture = "rbxassetid://2704176861"
  950. decal1.Face = Enum.NormalId.Top
  951. decal1.Transparency = 1
  952. decal1.Parent = dev
  953. local decal2 = Instance.new("Decal")
  954. decal2.Texture = "rbxassetid://2704176861"
  955. decal2.Face = Enum.NormalId.Bottom
  956. decal2.Transparency = 1
  957. decal2.Parent = dev
  958. dev.Touched:Connect(function(hit)
  959. end)
  960. dev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(0, 0, math.pi / 2) + Vector3.new(0, 50, 0)
  961. local spin = 0
  962. local fallspeed = 0
  963. coroutine.resume(coroutine.create(function()
  964. local debounce = false
  965. for i = 1, 60 do
  966. game:GetService("RunService").Stepped:Wait()
  967. if i <= 15 then
  968. for i,v in pairs(dev:GetChildren()) do
  969. if v:IsA("Decal") then
  970. v.Transparency = v.Transparency - 1 / 15
  971. end
  972. end
  973. end
  974. for i,v in pairs(dev:GetTouchingParts()) do
  975. if not v:IsDescendantOf(char) and debounce == false then
  976. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  977. debounce = true
  978. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10
  979. coroutine.resume(coroutine.create(function()
  980. wait(0.4)
  981. debounce = false
  982. end))
  983. end
  984. end
  985. end
  986. spin = spin + 12
  987. fallspeed = fallspeed + 0.06
  988. dev.CFrame = dev.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(0, -fallspeed, 0)
  989. end
  990. dev:Destroy()
  991. end))
  992. wait(ticking)
  993. if ticking > 0.2 then
  994. ticking = ticking - 0.05
  995. end
  996. end
  997. local sound = Instance.new("Sound")
  998. sound.SoundId = "rbxassetid://2545018472"
  999. sound.Volume = 10
  1000. sound.Parent = head
  1001. sound:Play()
  1002. repeat
  1003. game:GetService("RunService").Stepped:Wait()
  1004. until sound.Playing == false
  1005. for i = 1, 10 do
  1006. local dev = Instance.new("Part")
  1007. dev.Name = "Devilsknife"
  1008. dev.Transparency = 1
  1009. dev.Anchored = true
  1010. dev.CanCollide = false
  1011. dev.Size = Vector3.new(4, 0.05, 4.6)
  1012. dev.Parent = char
  1013. local decal1 = Instance.new("Decal")
  1014. decal1.Texture = "rbxassetid://2704176861"
  1015. decal1.Face = Enum.NormalId.Top
  1016. decal1.Transparency = 1
  1017. decal1.Parent = dev
  1018. local decal2 = Instance.new("Decal")
  1019. decal2.Texture = "rbxassetid://2704176861"
  1020. decal2.Face = Enum.NormalId.Bottom
  1021. decal2.Transparency = 1
  1022. decal2.Parent = dev
  1023. dev.Touched:Connect(function(hit)
  1024. end)
  1025. dev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(0, 0, math.pi / 2) + Vector3.new(0, 50, 0)
  1026. local spin = 0
  1027. local fallspeed = 0
  1028. coroutine.resume(coroutine.create(function()
  1029. local debounce = false
  1030. for i = 1, 60 do
  1031. game:GetService("RunService").Stepped:Wait()
  1032. if i <= 15 then
  1033. for i,v in pairs(dev:GetChildren()) do
  1034. if v:IsA("Decal") then
  1035. v.Transparency = v.Transparency - 1 / 15
  1036. end
  1037. end
  1038. end
  1039. for i,v in pairs(dev:GetTouchingParts()) do
  1040. if not v:IsDescendantOf(char) and debounce == false then
  1041. if v.Parent and v.Parent:FindFirstChildOfClass("Humanoid") then
  1042. debounce = true
  1043. v.Parent:FindFirstChildOfClass("Humanoid").Health = v.Parent:FindFirstChildOfClass("Humanoid").Health - 10
  1044. coroutine.resume(coroutine.create(function()
  1045. wait(0.4)
  1046. debounce = false
  1047. end))
  1048. end
  1049. end
  1050. end
  1051. spin = spin + 12
  1052. fallspeed = fallspeed + 0.06
  1053. dev.CFrame = dev.CFrame * CFrame.Angles(0, math.rad(spin), 0) + Vector3.new(0, -fallspeed, 0)
  1054. end
  1055. dev:Destroy()
  1056. end))
  1057. wait(ticking)
  1058. if ticking > 0.2 then
  1059. ticking = ticking - 0.05
  1060. end
  1061. end
  1062. local giantdev = Instance.new("Part")
  1063. giantdev.Name = "Devilsknife"
  1064. giantdev.Transparency = 1
  1065. giantdev.Anchored = true
  1066. giantdev.CanCollide = false
  1067. giantdev.Size = Vector3.new(60, 0.05, 62)
  1068. giantdev.Parent = char
  1069. local decal1 = Instance.new("Decal")
  1070. decal1.Texture = "rbxassetid://2704176861"
  1071. decal1.Face = Enum.NormalId.Top
  1072. decal1.Transparency = 1
  1073. decal1.Parent = giantdev
  1074. local decal2 = Instance.new("Decal")
  1075. decal2.Texture = "rbxassetid://2704176861"
  1076. decal2.Face = Enum.NormalId.Bottom
  1077. decal2.Transparency = 1
  1078. decal2.Parent = giantdev
  1079. giantdev.Touched:Connect(function(hit)
  1080. end)
  1081. giantdev.CFrame = CFrame.new(mouse.Hit.Position) * CFrame.Angles(math.rad(105), 0, math.pi / 2) + Vector3.new(0, 100, 0)
  1082. for i = 1, 180 do
  1083. game:GetService("RunService").Stepped:Wait()
  1084. if i <= 15 then
  1085. for i,v in pairs(giantdev:GetChildren()) do
  1086. if v:IsA("Decal") then
  1087. v.Transparency = v.Transparency - 1 / 15
  1088. end
  1089. end
  1090. end
  1091. giantdev.CFrame = giantdev.CFrame + Vector3.new(0, -0.7, 0, 0)
  1092. end
  1093. Effect(60, "Sphere", Vector3.new(30, 30, 30), Vector3.new(150, 150, 150), CFrame.new(giantdev.Position) + Vector3.new(0, -40, 0), BrickColor.new("Institutional white"), char)
  1094. Effect(60, "KillSphere", Vector3.new(30, 30, 30), Vector3.new(150, 150, 150), CFrame.new(giantdev.Position) + Vector3.new(0, -40, 0), BrickColor.new("Institutional white"), char)
  1095. for i = 1, 5 do
  1096. Effect(60, "Wave", Vector3.new(90, 15, 90), Vector3.new(450, 75, 450), CFrame.new(giantdev.Position) + Vector3.new(0, 28, 0), BrickColor.new("Mid gray"), char)
  1097. end
  1098. giantdev:Destroy()
  1099. wait(1)
  1100. attack = false
  1101. end
  1102. end
  1103. end
  1104. end
  1105. end
  1106. end)
  1107.  
  1108. -----------------------------------------------------
  1109. ---------------------Wrapping up---------------------
  1110. -----------------------------------------------------
  1111.  
  1112. while game:GetService("RunService").Stepped:Wait() do
  1113. sine = sine + 1
  1114. for i,v in pairs(char:GetChildren()) do
  1115. if v:IsA("Accessory") then
  1116. v:Destroy()
  1117. end
  1118. if v.Name == "Head" then
  1119. for i,v in pairs(v:GetChildren()) do
  1120. if v:IsA("Decal") then
  1121. v.Texture = "rbxassetid://241553801"
  1122. end
  1123. end
  1124. v.Color = Color3.new(180 / 255, 180 / 255, 228 / 255)
  1125. end
  1126. if v.Name == "Left Leg" or v.Name == "Right Leg" then
  1127. v.Color = Color3.new(180 / 255, 180 / 255, 228 / 255)
  1128. end
  1129. if (v:IsA("Shirt") or v:IsA("Pants")) and v.Name ~= "Cloth" then
  1130. v:Destroy()
  1131. end
  1132. if v:IsA("BodyColors") then
  1133. v:Destroy()
  1134. end
  1135. end
  1136. if music.Parent == tors then
  1137. music.SoundId = song
  1138. music.Volume = volume
  1139. music.Name = "JevilTheme"
  1140. music.Looped = true
  1141. music.PlaybackSpeed = 1
  1142. music.Playing = playing
  1143. timepos = music.TimePosition
  1144. else
  1145. music = Instance.new("Sound")
  1146. music.TimePosition = timepos
  1147. music.SoundId = song
  1148. music.Volume = volume
  1149. music.Name = "JevilTheme"
  1150. music.Looped = true
  1151. music.PlaybackSpeed = 1
  1152. music.Parent = tors
  1153. music.Playing = playing
  1154. end
  1155. if rooted then
  1156. hum.WalkSpeed = 0
  1157. hum.JumpPower = 0
  1158. end
  1159. local torsvel = (tors.Velocity * Vector3.new(1, 0, 1)).Magnitude
  1160. local hitfloor = workspace:FindPartOnRay(Ray.new(char.HumanoidRootPart.CFrame.Position, ((CFrame.new(char.HumanoidRootPart.Position, char.HumanoidRootPart.Position - Vector3.new(0, 1, 0))).LookVector).Unit * 4), char)
  1161. if attack == false then
  1162. if JevilForm == false then
  1163. if torsvel < 1 and hitfloor then
  1164. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  1165. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  1166. RH.C0 = RH.C0:Lerp(RHnor * CFrame.new(0, -0.2 * math.sin(sine / 20), 0), 0.15)
  1167. LH.C0 = LH.C0:Lerp(LHnor * CFrame.new(0, -0.2 * math.sin(sine / 20), 0), 0.15)
  1168. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.15)
  1169. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1170. end
  1171. if torsvel > 1 and hitfloor then
  1172. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.1, 0, math.sin(sine / 7)), 0.15)
  1173. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.1, 0, math.sin(sine / 7)), 0.15)
  1174. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 - 0.25) * CFrame.new(-math.cos(sine / 7) / 2, -math.cos(sine / 7) / 2, 0), 0.15)
  1175. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 + 0.25) * CFrame.new(-math.cos(sine / 7) / 2, math.cos(sine / 7) / 2, 0), 0.15)
  1176. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.1, rootpart.RotVelocity.Y / 70, math.sin(sine / 7) / 5) * CFrame.new(0, 0, math.sin(sine / 3.5) / 10), 0.15)
  1177. neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(0, 0, -head.RotVelocity.Y / 15), 0.15)
  1178. end
  1179. if not hitfloor then
  1180. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(math.clamp(tors.Velocity.Y / 200 - 0.3, -hum.JumpPower / 200 - 0.3, hum.JumpPower / 200 - 0.3), 0, 0), 0.15)
  1181. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(math.clamp(tors.Velocity.Y / 200 - 0.3, -hum.JumpPower / 200 - 0.3, hum.JumpPower / 200 - 0.3), 0, 0), 0.15)
  1182. RH.C0 = RH.C0:Lerp(RHnor + Vector3.new(0, 0.6, -0.4), 0.15)
  1183. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, 0.3) + Vector3.new(0, 0.1, 0), 0.15)
  1184. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(-math.clamp(tors.Velocity.Y / 100, -hum.JumpPower / 100, hum.JumpPower / 100), 0, 0), 0.15)
  1185. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1186. end
  1187. end
  1188. if JevilForm == true then
  1189. if torsvel < 1 and hum.Health > 30 then
  1190. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  1191. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  1192. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  1193. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  1194. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  1195. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1196. end
  1197. if torsvel < 1 and hum.Health <= 30 then
  1198. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, 0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15)
  1199. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, -0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15)
  1200. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, 0.5), 0.15)
  1201. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, -0.5), 0.15)
  1202. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.5, 0, 0) + Vector3.new(0.1 * math.cos(sine / 40), 0.1 * math.sin(sine / 40), 0), 0.1)
  1203. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1204. end
  1205. if torsvel > 1 then
  1206. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0.4, (-math.pi / 2 + 0.7) + math.sin(sine / 20) / 10), 0.15)
  1207. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, -0.4, (math.pi / 2 - 0.7) - math.sin(sine / 20) / 10), 0.15)
  1208. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.pi / 2 + 0.7), 0.15)
  1209. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, math.pi / 2 - 0.7), 0.15)
  1210. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.7 - math.cos(sine / 20) / 10, rootpart.RotVelocity.Y / 30, 0) + Vector3.new(0, 0.2 * math.sin(sine / 20), 0), 0.15)
  1211. neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(-0.7, 0, -head.RotVelocity.Y / 10), 0.15)
  1212. end
  1213. end
  1214. elseif rooted == false then
  1215. if JevilForm == false then
  1216. if torsvel < 1 and hitfloor then
  1217. RH.C0 = RH.C0:Lerp(RHnor, 0.15)
  1218. LH.C0 = LH.C0:Lerp(LHnor, 0.15)
  1219. end
  1220. if torsvel > 1 and hitfloor then
  1221. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 - 0.25) * CFrame.new(-math.cos(sine / 7) / 2, -math.cos(sine / 7) / 2, 0), 0.15)
  1222. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, -math.sin(sine / 7) / 1.5 + 0.25) * CFrame.new(-math.cos(sine / 7) / 2, math.cos(sine / 7) / 2, 0), 0.15)
  1223. end
  1224. if not hitfloor then
  1225. RH.C0 = RH.C0:Lerp(RHnor + Vector3.new(0, 0.6, -0.4), 0.15)
  1226. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, 0.3) + Vector3.new(0, 0.1, 0), 0.15)
  1227. end
  1228. end
  1229. if JevilForm == true then
  1230. if torsvel < 1 and hum.Health > 30 then
  1231. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, math.sin(sine / 20) / 8, 0), 0.15)
  1232. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.4 + math.cos(sine / 20) / 8, -math.sin(sine / 20) / 8, 0), 0.15)
  1233. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  1234. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.2 + math.cos(sine / 20) / 8, 0, 0), 0.15)
  1235. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.new(0, 0, 0.2 * math.sin(sine / 20)), 0.1)
  1236. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1237. end
  1238. if torsvel < 1 and hum.Health <= 30 then
  1239. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, 0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15)
  1240. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(-0.2 + math.cos(sine / 40) / 10, 0, -0.5) + Vector3.new(0, math.sin(sine / 40) / 10, 0), 0.15)
  1241. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, 0.5), 0.15)
  1242. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(-0.1 + math.cos(sine / 40) / 10, 0, -0.5), 0.15)
  1243. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.5, 0, 0) + Vector3.new(0.1 * math.cos(sine / 40), 0.1 * math.sin(sine / 40), 0), 0.1)
  1244. neck.C0 = neck.C0:Lerp(necknor, 0.15)
  1245. end
  1246. if torsvel > 1 then
  1247. RS.C0 = RS.C0:Lerp(RSnor * CFrame.Angles(0, 0.4, (-math.pi / 2 + 0.7) + math.sin(sine / 20) / 10), 0.15)
  1248. LS.C0 = LS.C0:Lerp(LSnor * CFrame.Angles(0, -0.4, (math.pi / 2 - 0.7) - math.sin(sine / 20) / 10), 0.15)
  1249. RH.C0 = RH.C0:Lerp(RHnor * CFrame.Angles(0, 0, -math.pi / 2 + 0.7), 0.15)
  1250. LH.C0 = LH.C0:Lerp(LHnor * CFrame.Angles(0, 0, math.pi / 2 - 0.7), 0.15)
  1251. rootj.C0 = rootj.C0:Lerp(rootjnor * CFrame.Angles(0.7 - math.cos(sine / 20) / 10, rootpart.RotVelocity.Y / 30, 0) + Vector3.new(0, 0.2 * math.sin(sine / 20), 0), 0.15)
  1252. neck.C0 = neck.C0:Lerp(necknor * CFrame.Angles(-0.7, 0, -head.RotVelocity.Y / 10), 0.15)
  1253. end
  1254. end
  1255. end
  1256. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement