Advertisement
Guest User

Untitled

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