Advertisement
ForkFullFight

War sword not mine

Jul 24th, 2023
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. Player = owner
  153. Character = Player.Character
  154. PlayerGui = Player.PlayerGui
  155. Backpack = Player.Backpack
  156. Torso = Character.Torso
  157. Head = Character.Head
  158. LeftArm = Character["Left Arm"]
  159. LeftLeg = Character["Left Leg"]
  160. RightArm = Character["Right Arm"]
  161. RightLeg = Character["Right Leg"]
  162. LS = Torso["Left Shoulder"]
  163. LH = Torso["Left Hip"]
  164. RS = Torso["Right Shoulder"]
  165. RH = Torso["Right Hip"]
  166. ModelName = "Weapon"
  167. ToolName = "War Sword"
  168. attack = false
  169. attacktype = 1
  170. mindamage = 15
  171. maxdamage = 25
  172. crtmaxdamage = 45
  173. omindamage = 15
  174. omaxdamage = 25
  175. ocrtmaxdamage = 45
  176. crtrate = 12
  177. fireboost = 0
  178. iceboost = 0
  179. darkboost = 0
  180. Mode = "None"
  181. ssh = false
  182. atktypez = 1
  183. Hitdeb = 0
  184. ammo = 1
  185. MMouse = nil
  186. point = false
  187. offset = 0
  188. radv = 90
  189. ----------------------------
  190. --Customize
  191. DarkFire = true
  192. MaxFT = 40
  193.  
  194.  
  195.  
  196. ---------------------------------------------------------------------------------------------------------------------------------------
  197. if Character:findFirstChild("EquippedVal",true) ~= nil then
  198. Character:findFirstChild("EquippedVal",true).Parent = nil
  199. end
  200. ev = Instance.new("BoolValue")
  201. ev.Parent = Character
  202. ev.Name = "EquippedVal"
  203. ev.Value = false
  204. --player
  205. player = nil
  206. --welds
  207. RW, LW , RWL, LWL = Instance.new("Weld"), Instance.new("Weld"), Instance.new("Weld"), Instance.new("Weld")
  208. --what anim
  209. anim = "none"
  210. --other var
  211. player = Player
  212. ch = Character
  213. --save shoulders
  214. AoETrue = {}
  215. RSH, LSH , RHL, LHL = ch.Torso["Right Shoulder"], ch.Torso["Left Shoulder"] , ch.Torso["Right Hip"] , ch.Torso["Left Hip"]
  216.  
  217. function RWFunc()
  218. RW.Part1 = ch["Right Arm"]
  219. RSH.Part1 = nil
  220. end
  221. function LWFunc()
  222. LW.Part1 = ch["Left Arm"]
  223. LSH.Part1 = nil
  224. end
  225. function RWLFunc()
  226. RWL.Part1 = ch["Right Leg"]
  227. RHL.Part1 = nil
  228. ch["Right Leg"].Name = "RightLeg"
  229. RightLeg.CanCollide = false
  230. end
  231. function LWLFunc()
  232. LWL.Part1 = ch["Left Leg"]
  233. LHL.Part1 = nil
  234. ch["Left Leg"].Name = "LeftLeg"
  235. LeftLeg.CanCollide = true
  236. end
  237. function RWLRem()
  238. RightLeg.Name = "Right Leg"
  239. RWL.Part1 = nil
  240. RHL.Part1 = ch["Right Leg"]
  241. RightLeg.CanCollide = false
  242. end
  243. function LWLRem()
  244. LeftLeg.Name = "Left Leg"
  245. LWL.Part1 = nil
  246. LHL.Part1 = ch["Left Leg"]
  247. LeftLeg.CanCollide = false
  248. end
  249. function RWRem()
  250. RW.Part1 = nil
  251. RSH.Part1 = ch["Right Arm"]
  252. end
  253. function LWRem()
  254. LW.Part1 = nil
  255. LSH.Part1 = ch["Left Arm"]
  256. end
  257.  
  258.  
  259. if Character:findFirstChild(ModelName,true) ~= nil then
  260. Character:findFirstChild(ModelName,true).Parent = nil
  261. RHL.Part1 = ch["Right Leg"]
  262. LHL.Part1 = ch["Left Leg"]
  263. RSH.Part1 = ch["Right Arm"]
  264. LSH.Part1 = ch["Left Arm"]
  265. end
  266.  
  267.  
  268.  
  269. local swordholder = Instance.new("Model")
  270. swordholder.Name = ModelName
  271. swordholder.Parent = Character
  272. --derp
  273. RW.Part0 = ch.Torso
  274. RW.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  275. RW.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
  276. RW.Parent = swordholder
  277. --
  278. LW.Part0 = ch.Torso
  279. LW.C0 = CFrame.new(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  280. LW.C1 = CFrame.new(0, 0.5, 0)
  281. LW.Parent = swordholder
  282. --
  283. RWL.Part0 = ch.Torso
  284. RWL.C0 = CFrame.new(1, -1, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  285. RWL.C1 = CFrame.new(0.5, 1, 0)
  286. RWL.Parent = swordholder
  287. --
  288. LWL.Part0 = ch.Torso
  289. LWL.C0 = CFrame.new(-1, -1, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  290. LWL.C1 = CFrame.new(-0.5, 1, 0)
  291. LWL.Parent = swordholder
  292. handlecolor = BrickColor.new("Really black")
  293. scndryclr = BrickColor.new("Bright violet")
  294. firepri = BrickColor.new("Bright red")
  295. icepri = BrickColor.new("Bright blue")
  296. local msh1 = Instance.new("CylinderMesh")
  297. msh1.Scale = Vector3.new(1,1,1)
  298. local msh2 = Instance.new("BlockMesh")
  299. msh2.Scale = Vector3.new(1,1,1)
  300. --
  301. local msh3 = Instance.new("BlockMesh")
  302. msh3.Scale = Vector3.new(1,1,1)
  303. local msh3a = Instance.new("SpecialMesh")
  304. msh3a.Scale = Vector3.new(1,1,1)
  305. msh3a.MeshType = "Wedge"
  306. local msh4 = Instance.new("BlockMesh")
  307. msh4.Scale = Vector3.new(1,1,1)
  308. local msh4a = Instance.new("SpecialMesh")
  309. msh4a.Scale = Vector3.new(1,1,1)
  310. msh4a.MeshType = "Wedge"
  311. --
  312. local msh5 = Instance.new("SpecialMesh")
  313. msh5.Scale = Vector3.new(1,1,2)
  314. msh5.MeshId = "http://www.roblox.com/asset/?id=3270017"
  315. local msh6 = Instance.new("BlockMesh")
  316. msh6.Scale = Vector3.new(1,1,0.5)
  317. local msh7 = Instance.new("BlockMesh")
  318. msh7.Scale = Vector3.new(1,1,1)
  319. local msh8 = Instance.new("BlockMesh")
  320. msh8.Scale = Vector3.new(0.5,1,1)
  321. local prt1 = Instance.new("Part")
  322. prt1.formFactor = 3
  323. prt1.CanCollide = false
  324. prt1.Name = "Handle"
  325. prt1.Locked = true
  326. prt1.Size = Vector3.new(0.2,1.5,0.2)
  327. prt1.Parent = swordholder
  328. msh1.Parent = prt1
  329. prt1.BrickColor = handlecolor
  330. local prt2 = Instance.new("Part")
  331. prt2.formFactor = 3
  332. prt2.CanCollide = false
  333. prt2.Name = "HandleTop"
  334. prt2.Locked = true
  335. prt2.Size = Vector3.new(1.6,0.2,0.5)
  336. prt2.Parent = swordholder
  337. msh2.Parent = prt2
  338. prt2.BrickColor = scndryclr
  339. ---
  340. local prt3 = Instance.new("Part")
  341. prt3.formFactor = 3
  342. prt3.CanCollide = false
  343. prt3.Name = "FlameBlade"
  344. prt3.Locked = true
  345. prt3.Size = Vector3.new(0.4,3,0.2)
  346. prt3.Parent = swordholder
  347. msh3.Parent = prt3
  348. prt3.BrickColor = firepri
  349. prt3.Reflectance = 0
  350. local prt3a = Instance.new("Part")
  351. prt3a.formFactor = 3
  352. prt3a.CanCollide = false
  353. prt3a.Name = "FlameBladeP1"
  354. prt3a.Locked = true
  355. prt3a.Size = Vector3.new(0.2,1,0.4)
  356. prt3a.Parent = swordholder
  357. msh3a.Parent = prt3a
  358. prt3a.BrickColor = firepri
  359. prt3a.Reflectance = 0
  360. --
  361. local prt4 = Instance.new("Part")
  362. prt4.formFactor = 3
  363. prt4.CanCollide = false
  364. prt4.Name = "FrostBlade"
  365. prt4.Locked = true
  366. prt4.Size = Vector3.new(0.4,3,0.2)
  367. prt4.Parent = swordholder
  368. msh4.Parent = prt4
  369. prt4.BrickColor = icepri
  370. prt4.Reflectance = 0.5
  371. local prt4a = Instance.new("Part")
  372. prt4a.formFactor = 3
  373. prt4a.CanCollide = false
  374. prt4a.Name = "FrostBladeP1"
  375. prt4a.Locked = true
  376. prt4a.Size = Vector3.new(0.2,1,0.4)
  377. prt4a.Parent = swordholder
  378. msh4a.Parent = prt4a
  379. prt4a.BrickColor = icepri
  380. prt4a.Reflectance = 0.5
  381. --
  382. local prt5 = Instance.new("Part")
  383. prt5.formFactor = 3
  384. prt5.CanCollide = false
  385. prt5.Name = "HandleRing"
  386. prt5.Locked = true
  387. prt5.Size = Vector3.new(1,1,0.2)
  388. prt5.Parent = swordholder
  389. msh5.Parent = prt5
  390. prt5.BrickColor = scndryclr
  391. prt5.Reflectance = 0
  392. local DFlame = Instance.new("Fire")
  393. DFlame.Parent = prt5
  394. DFlame.Color = Color3.new(0.5,0,0.5)
  395. DFlame.SecondaryColor = Color3.new(0.5,0,0.5)
  396. DFlame.Heat = 25
  397. DFlame.Size = 1
  398. DFlame.Enabled = DarkFire
  399. local prt6 = Instance.new("Part")
  400. prt6.formFactor = 3
  401. prt6.CanCollide = false
  402. prt6.Name = "HandleP1"
  403. prt6.Locked = true
  404. prt6.Size = Vector3.new(0.2,1.5,0.2)
  405. prt6.Parent = swordholder
  406. msh6.Parent = prt6
  407. prt6.BrickColor = scndryclr
  408. prt6.Reflectance = 0
  409. local prt7 = Instance.new("Part")
  410. prt7.formFactor = 3
  411. prt7.CanCollide = false
  412. prt7.Name = "HandleP2"
  413. prt7.Locked = true
  414. prt7.Size = Vector3.new(0.7,0.2,0.2)
  415. prt7.Parent = swordholder
  416. msh7.Parent = prt7
  417. prt7.BrickColor = scndryclr
  418. prt7.Reflectance = 0
  419. local prt8 = Instance.new("Part")
  420. prt8.formFactor = 3
  421. prt8.CanCollide = false
  422. prt8.Name = "DarkBlade"
  423. prt8.Locked = true
  424. prt8.Size = Vector3.new(0.2,4,0.2)
  425. prt8.Parent = swordholder
  426. msh8.Parent = prt8
  427. prt8.BrickColor = handlecolor
  428. prt8.Transparency = 1
  429. local hitbox = Instance.new("Part")
  430. hitbox.formFactor = 3
  431. hitbox.CanCollide = false
  432. hitbox.Name = "Hitbox"
  433. hitbox.Locked = true
  434. hitbox.Size = Vector3.new(1,4,0.2)
  435. hitbox.Parent = swordholder
  436. hitbox.Transparency = 1
  437. local hbw = Instance.new("Weld")
  438. hbw.Parent = hitbox
  439. hbw.Part0 = hitbox
  440. hbw.Part1 = prt1
  441. hbw.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  442. hbw.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(0, -2.95, 0)
  443.  
  444. local w1 = Instance.new("Weld")
  445. w1.Parent = prt1
  446. w1.Part0 = prt1
  447. local w2 = Instance.new("Weld")
  448. w2.Parent = prt2
  449. w2.Part0 = prt2
  450. w2.Part1 = prt1
  451. w2.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  452. w2.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(0, -0.85, 0)
  453. --
  454. local w3 = Instance.new("Weld")
  455. w3.Parent = prt3
  456. w3.Part0 = prt3
  457. w3.Part1 = prt1
  458. w3.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  459. w3.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(0.25, -2.45, 0)
  460. local w3a = Instance.new("Weld")
  461. w3a.Parent = prt3a
  462. w3a.Part0 = prt3a
  463. w3a.Part1 = prt1
  464. w3a.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  465. w3a.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(-90),0) * CFrame.new(0.25, -4.45, 0)
  466. local w4 = Instance.new("Weld")
  467. w4.Parent = prt4
  468. w4.Part0 = prt4
  469. w4.Part1 = prt1
  470. w4.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  471. w4.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(-0.25, -2.45, 0)
  472. local w4a = Instance.new("Weld")
  473. w4a.Parent = prt4a
  474. w4a.Part0 = prt4a
  475. w4a.Part1 = prt1
  476. w4a.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  477. w4a.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90),0) * CFrame.new(-0.25, -4.45, 0)
  478. --
  479. local w5 = Instance.new("Weld")
  480. w5.Parent = prt5
  481. w5.Part0 = prt5
  482. w5.Part1 = prt1
  483. w5.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  484. w5.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(-0, -0.85, 0)
  485. local w6 = Instance.new("Weld")
  486. w6.Parent = prt6
  487. w6.Part0 = prt6
  488. w6.Part1 = prt1
  489. w6.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  490. w6.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(-0.5, -0, 0)
  491. local w7 = Instance.new("Weld")
  492. w7.Parent = prt7
  493. w7.Part0 = prt7
  494. w7.Part1 = prt1
  495. w7.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  496. w7.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(-0.25, 0.75, 0)
  497. local w8 = Instance.new("Weld")
  498. w8.Parent = prt8
  499. w8.Part0 = prt8
  500. w8.Part1 = prt1
  501. w8.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0, 0)
  502. w8.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,0) * CFrame.new(0, -2.95, 0)
  503. for ringi = 0 , math.rad(350) , math.rad(50) do
  504. local ringm = Instance.new("BlockMesh")
  505. ringm.Scale = Vector3.new(1,1.5,1)
  506. local ringp = Instance.new("Part")
  507. ringp.formFactor = 3
  508. ringp.CanCollide = false
  509. ringp.Name = "HandleRingP"..ringi
  510. ringp.Locked = true
  511. ringp.Size = Vector3.new(0.2,0.2,0.2)
  512. ringp.Parent = swordholder
  513. ringm.Parent = ringp
  514. ringp.BrickColor = scndryclr
  515. ringp.Reflectance = 0.1
  516. local ringw = Instance.new("Weld")
  517. ringw.Parent = ringp
  518. ringw.Part0 = ringp
  519. ringw.Part1 = prt5
  520. ringw.C1 = CFrame.fromEulerAnglesXYZ(math.rad(90), -ringi, 0) * CFrame.new(0, 0 , 0)
  521. ringw.C0 = CFrame.fromEulerAnglesXYZ(0, 0,0) * CFrame.new(-msh5.Scale.x/1.625, 0, 0) --* CFrame.new(-0.6, 0, 0) ---msh5.Scale.z/3.25
  522. end
  523.  
  524. local Objects = {}
  525. function getAllObjects(obj)
  526. for a,v in pairs(obj:GetChildren()) do
  527. if v:IsA("BasePart") then
  528. table.insert(Objects,v)
  529. end
  530. if #v:GetChildren() > 0 then
  531. getAllObjects(v)
  532. end
  533. end
  534. end
  535. getAllObjects(Workspace)
  536. function Raycast(Start,End,Range)
  537. --
  538. for ii = 0 , #Objects do
  539. table.remove(Objects,ii)
  540. end
  541. getAllObjects(Workspace)
  542. local MA = math.abs
  543. local CF = CFrame.new(Start,End)
  544. local CP = Start
  545. for i = 1, Range do--(Start - End).magnitude do
  546. for b,v in pairs(Objects) do
  547. if v.Parent ~= nil then
  548. local pos = Start + (CF.lookVector*i)
  549. local dist = v.CFrame:pointToObjectSpace(pos)
  550. if MA(dist.x) < v.Size.x/2 and MA(dist.y) < v.Size.y/2 and MA(dist.z) < v.Size.z/2 then
  551. if v.Parent ~= Character or v.Parent ~= swordholder or v.Parent.Parent ~= Character then
  552. return v,Start,pos
  553. end
  554. end
  555. end
  556. end
  557. end
  558. return nil,Start,End
  559. end
  560. local RAP = Instance.new("Part")
  561. RAP.formFactor = 0
  562. RAP.CanCollide = false
  563. RAP.Name = "RAPart"
  564. RAP.Locked = true
  565. RAP.Size = Vector3.new(1,1,1)
  566. RAP.Parent = swordholder
  567. RAP.Transparency = 1
  568. local w = Instance.new("Weld")
  569. w.Parent = RAP
  570. w.Part0 = RAP
  571. w.Part1 = RightArm
  572. w.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  573. w.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0) * CFrame.new(0, 1, 0)
  574.  
  575. function unequipweld()
  576. w1.Part1 = Torso
  577. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), math.rad(0)) * CFrame.new(0, 0,0)
  578. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(180), math.rad(-150)) * CFrame.new(-1, -1.5, -0.6)
  579. end
  580. unequipweld()
  581.  
  582. function equipweld()
  583. w1.Part1 = RAP
  584. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  585. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  586. end
  587.  
  588. function ss(parent,p) --Slash
  589. local SlashSound = Instance.new("Sound")
  590. SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
  591. SlashSound.Parent = parent
  592. SlashSound.Volume = .7
  593. SlashSound.Pitch = p
  594. SlashSound.PlayOnRemove = true
  595. coroutine.resume(coroutine.create(function()
  596. wait()
  597. SlashSound.Parent = nil
  598. end))
  599. end
  600. function uss(parent,p) --unsheath
  601. local SlashSound = Instance.new("Sound")
  602. SlashSound.SoundId = "rbxasset://sounds\\unsheath.wav"
  603. SlashSound.Parent = parent
  604. SlashSound.Volume = .7
  605. SlashSound.Pitch = p
  606. SlashSound.PlayOnRemove = true
  607. coroutine.resume(coroutine.create(function()
  608. wait()
  609. SlashSound.Parent = nil
  610. end))
  611. end
  612. function cs(parent,p) --Magic Charge
  613. local SlashSound = Instance.new("Sound")
  614. SlashSound.SoundId = "http://www.roblox.com/asset/?id=2101137"
  615. SlashSound.Parent = parent
  616. SlashSound.Volume = .7
  617. SlashSound.Pitch = p
  618. SlashSound.PlayOnRemove = true
  619. coroutine.resume(coroutine.create(function()
  620. wait()
  621. SlashSound.Parent = nil
  622. end))
  623. end
  624. function ls(parent,p) --Lazer Sound
  625. local SlashSound = Instance.new("Sound")
  626. SlashSound.SoundId = "http://www.roblox.com/asset?id=1369158"
  627. SlashSound.Parent = parent
  628. SlashSound.Volume = .7
  629. SlashSound.Pitch = p
  630. SlashSound.PlayOnRemove = true
  631. coroutine.resume(coroutine.create(function()
  632. wait()
  633. SlashSound.Parent = nil
  634. end))
  635. end
  636. function is(parent,p) --Ice Sound
  637. local SlashSound = Instance.new("Sound")
  638. local rndm = math.random(1,3)
  639. if rndm == 1 then
  640. SlashSound.SoundId = "rbxasset://sounds\\ice.ogg"
  641. elseif rndm == 2 then
  642. SlashSound.SoundId = "rbxasset://sounds\\ice2.ogg"
  643. elseif rndm == 3 then
  644. SlashSound.SoundId = "rbxasset://sounds\\ice3.ogg"
  645. end
  646. SlashSound.Parent = parent
  647. SlashSound.Volume = .7
  648. SlashSound.Pitch = p
  649. SlashSound.PlayOnRemove = true
  650. coroutine.resume(coroutine.create(function()
  651. wait()
  652. SlashSound.Parent = nil
  653. end))
  654. end
  655. function fs(parent,p) --Fire Sound
  656. local SlashSound = Instance.new("Sound")
  657. SlashSound.SoundId = "http://www.roblox.com/asset/?id=31758982"
  658. SlashSound.Parent = parent
  659. SlashSound.Volume = .7
  660. SlashSound.Pitch = p
  661. SlashSound.PlayOnRemove = true
  662. coroutine.resume(coroutine.create(function()
  663. wait()
  664. SlashSound.Parent = nil
  665. end))
  666. end
  667. function bs(parent,p) --Boom Sound
  668. local SlashSound = Instance.new("Sound")
  669. SlashSound.SoundId = "rbxasset://sounds/Rocket shot.wav"
  670. SlashSound.Parent = parent
  671. SlashSound.Volume = .7
  672. SlashSound.Pitch = p
  673. SlashSound.PlayOnRemove = true
  674. coroutine.resume(coroutine.create(function()
  675. wait()
  676. SlashSound.Parent = nil
  677. end))
  678. end
  679. --
  680.  
  681.  
  682. function hideanim()
  683. attack = true
  684. for i = 0 , 1 , 0.2 do
  685. wait()
  686. RW.C0 = CFrame.new(1+0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+67*i), math.rad(45), math.rad(-45+90*i))
  687. LW.C0 = CFrame.new(-1-0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80-80*i),math.rad(-45+45*i),math.rad(45-45*i))
  688. end
  689. LWRem()
  690. for i = 0 , 1 , 0.15 do
  691. wait()
  692. RW.C0 = CFrame.new(1.5,0.5+0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(147+103*i), math.rad(45), math.rad(45-35*i))
  693. end
  694. unequipweld()
  695. wait(0.1)
  696. for i = 0 , 1 , 0.1 do
  697. wait()
  698. RW.C0 = CFrame.new(1.5,1-0.5*i,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(250-250*i), math.rad(45-45*i), math.rad(10-10*i))
  699. end
  700. RWRem()
  701. attack = false
  702. end
  703.  
  704. function equipanim()
  705. attack = true
  706. RWFunc()
  707. for i = 0 , 1 , 0.1 do
  708. wait()
  709. RW.C0 = CFrame.new(1.5,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(250*i), math.rad(45*i), math.rad(-10*i))
  710. end
  711. equipweld()
  712. uss(Head,1)
  713. for i = 0 , 1 , 0.2 do
  714. wait()
  715. RW.C0 = CFrame.new(1.5,0.5+0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(250-102.5*i), math.rad(45), math.rad(-10+27.5*i))
  716. end
  717. for i = 0 , 1 , 0.15 do
  718. wait()
  719. RW.C0 = CFrame.new(1.5,1-0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(147-67*i), math.rad(45), math.rad(17.5+27.5*i))
  720. end
  721. LWFunc()
  722. for i = 0 , 1 , 0.1 do
  723. wait()
  724. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(45), math.rad(45-90*i))
  725. LW.C0 = CFrame.new(-1.5+0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80*i),math.rad(-45*i),math.rad(45*i))
  726. end
  727. attack = false
  728. end
  729.  
  730. if (script.Parent.className ~= "HopperBin") then
  731. Tool = Instance.new("HopperBin")
  732. Tool.Parent = Backpack
  733. Tool.Name = ToolName
  734. script.Parent = Tool
  735. end
  736. Bin = script.Parent
  737.  
  738. function damagesplat(dmg,hit,critornot,healornot)
  739. local OffsetX = -2.5
  740. local OffsetY = 5
  741. local OffsetZ = 0
  742. local bill = Instance.new("BillboardGui")
  743. bill.Size = UDim2.new(1,0,1,0)
  744. bill.Adornee = hit
  745. bill.StudsOffset = Vector3.new(OffsetX,OffsetY,OffsetZ)
  746. bill.Parent = hit.Parent
  747. bill.Name = "DamageSplat"
  748. local tex = Instance.new("TextLabel")
  749. tex.Size = UDim2.new(5,0,2.5,0)
  750. tex.Parent = bill
  751. tex.Text = dmg
  752. tex.BackgroundTransparency = 1
  753. tex.ZIndex = 4
  754. tex.FontSize = "Size24"
  755. local tex2 = Instance.new("ImageLabel")
  756. tex2.Size = UDim2.new(1,0,1,0)
  757. tex2.Parent = tex
  758. tex2.BackgroundTransparency = 1
  759. tex2.Image = "http://www.roblox.com/asset/?id=42611276"
  760. if critornot == true then
  761. tex.TextColor3 = Color3.new(1,0.2,0.2)
  762. elseif critornot == false then
  763. tex.TextColor3 = Color3.new(0,0,0)
  764. end
  765. if healornot == true then
  766. tex.TextColor3 = Color3.new(0.2,0.5,0.5)
  767. end
  768. coroutine.resume(coroutine.create(function()
  769. wait(0.25)
  770. for i = 0 , 1 , 0.075 do
  771. wait()
  772. bill.StudsOffset = Vector3.new(OffsetX,OffsetY+5*i,OffsetZ)
  773. tex.TextTransparency = 1*i
  774. end
  775. bill.Parent = nil
  776. end))
  777. end
  778. function FireEff(Part,Time,Color1,Color2,Color3)
  779. local Firee = Part
  780. local Spawn = Part
  781. local colors = {}
  782. if Color1 ~= nil then
  783. table.insert(colors,BrickColor.new(Color1))
  784. end
  785. if Color2 ~= nil then
  786. table.insert(colors,BrickColor.new(Color2))
  787. end
  788. if Color3 ~= nil then
  789. table.insert(colors,BrickColor.new(Color3))
  790. end
  791. if Color4 ~= nil then
  792. table.insert(colors,BrickColor.new(Color4))
  793. end
  794. local Embers = {}
  795. local modelz = Instance.new("Model",Firee)
  796. modelz.Name = "FireHolder"
  797. for X = 1, 3 do
  798. local f = Instance.new("Part")
  799. f.Parent = nil
  800. f.BrickColor = colors[math.random(1, # colors)]
  801. f.Size = Vector3.new(1,1,1)
  802. f.formFactor = 1
  803. f.Anchored = true
  804. f.Locked = true
  805. f.CanCollide = false
  806. f.Transparency = 0.5
  807. f.Name = "Fire"
  808. f.TopSurface = 0
  809. f.BottomSurface = 0
  810. table.insert(Embers, f)
  811. end
  812. local R = 0
  813. coroutine.resume(coroutine.create(function ()
  814. repeat
  815. wait()
  816. R = R + 1
  817. for X = 1, # Embers do
  818. Embers[X].Parent = modelz
  819. local FM = math.fmod(R + X, # Embers)
  820. if FM == 1 then
  821. RandPos = Vector3.new(math.random(-Spawn.Size.x * 5, Spawn.Size.x * 5) / 10, Spawn.Size.y / 2, math.random(-Spawn.Size.x * 5, Spawn.Size.x * 5) / 10)
  822. RandDir = Vector3.new(math.random(-100,100), math.random(-100,100), math.random(-100,100))
  823. Embers[X].CFrame = CFrame.new(Spawn.Position + RandPos, Spawn.Position + RandPos + RandDir)
  824. else
  825. Embers[X].CFrame = CFrame.new(Embers[X].Position + Vector3.new(0,0.5,0), Embers[X].Position + Vector3.new(0,0.5,0) + Embers[X].CFrame.lookVector)
  826. end
  827. end
  828. until R == Time
  829. for i = 0 ,1 , 0.1 do
  830. wait(0.2)
  831. for X = 1, # Embers do
  832. Embers[X].Transparency = 0.5+0.5*i
  833. end
  834. end
  835. for X = 1, # Embers do
  836. Embers[X].Parent = nil
  837. end
  838. end))
  839. end
  840.  
  841. function OT(hit) --Normal Damage
  842. if Hitdeb == 1 then return end
  843. if hit.Parent == nil then return end
  844. local hum = hit.Parent:findFirstChild("Humanoid")
  845. if hum ~= nil and hum ~= Character.Humanoid then
  846. local critrandomizer = math.random(1,crtrate)
  847. if critrandomizer ~= 1 then
  848. local rndmdamage = math.random(mindamage,maxdamage)
  849. damagesplat(rndmdamage,hit,false)
  850. hum:TakeDamage(rndmdamage)
  851. elseif critrandomizer == 1 then
  852. local rndmdamage = math.random(maxdamage,crtmaxdamage)
  853. damagesplat(rndmdamage,hit,true)
  854. hum:TakeDamage(rndmdamage)
  855. end
  856. Hitdeb = 1
  857. end
  858. end
  859.  
  860. function OTND(part) --No Debounce Damage
  861. coroutine.resume(coroutine.create(function()
  862. local dd = false
  863. while part.Parent ~= nil and not dd do
  864. wait()
  865. local c = game.Workspace:GetChildren();
  866. for i = 1, #c do
  867. local hum = c[i]:findFirstChild("Humanoid")
  868. if hum ~= nil and hum.Health ~= 0 then
  869. local head = c[i]:findFirstChild("Torso");
  870. if head ~= nil then
  871. local targ = head.Position - part.Position; ------------------------------------------------Local
  872. local mag = targ.magnitude;
  873. if mag <= 5 and c[i].Name ~= Player.Name then
  874. dd = true
  875. local rndmdamage = math.random(1,7+5*math.random()) + fireboost
  876. damagesplat(rndmdamage,head,false)
  877. hum:TakeDamage(rndmdamage)
  878. FireEff(head,150,"Bright red","Bright orange","Cool yellow")
  879. part.Parent = nil
  880.  
  881. end
  882. end
  883. end
  884. end
  885. end
  886. end))
  887. end
  888.  
  889. function AoE(p,magnitude,damage,critornot)
  890. local c = game.Workspace:GetChildren();
  891. for i = 1, #c do
  892. local hum = c[i]:findFirstChild("Humanoid")
  893. if hum ~= nil and hum.Health ~= 0 then
  894. local head = c[i]:findFirstChild("Head");
  895. if head ~= nil then
  896. local targ = head.Position - p;
  897. local mag = targ.magnitude;
  898. if mag <= magnitude and c[i].Name ~= Character.Name then
  899. local foundd = false
  900. for ii = 1 , #AoETrue do
  901. if AoETrue[ii] == c[i].Name then
  902. --delay(1,function() table.remove(AoETrue,ii) end)
  903. --blast(2.5,0.5,"Bright red",prt2,false)
  904. foundd = true
  905. end
  906. end
  907. if foundd then
  908. end
  909. --
  910. if not foundd then
  911. hum:TakeDamage(damage)
  912. damagesplat(damage,head,critornot)
  913. table.insert(AoETrue,c[i].Name)
  914. --blast(2.5,0.5,"Bright red",prt2)
  915. end
  916. end
  917. end
  918. end
  919. end
  920. end
  921. function AoEP(p,magnitude,damage,critornot)
  922. local c = game.Workspace:GetChildren();
  923. for i = 1, #c do
  924. local hum = c[i]:findFirstChild("Humanoid")
  925. if hum ~= nil and hum.Health ~= 0 then
  926. local head = c[i]:findFirstChild("Head");
  927. if head ~= nil then
  928. local targ = head.Position - p;
  929. local mag = targ.magnitude;
  930. if mag <= magnitude and c[i].Name ~= Character.Name then
  931. local foundd = false
  932. for ii = 1 , #AoETrue do
  933. if AoETrue[ii] == c[i].Name then
  934. --delay(1,function() table.remove(AoETrue,ii) end)
  935. --blast(2.5,0.5,"Bright red",prt2,false)
  936. foundd = true
  937. end
  938. end
  939. if foundd then
  940. end
  941. --
  942. if not foundd then
  943. hum:TakeDamage(damage)
  944. damagesplat(damage,head,critornot)
  945. c[i].Humanoid.Sit = true
  946. coroutine.resume(coroutine.create(function()
  947. local bp = Instance.new("BodyVelocity",c[i].Torso)
  948. bp.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  949. bp.P = bp.P*2
  950. bp.velocity = CFrame.new(c[i].Torso.Position , p).lookVector * 150 + Vector3.new(0,25,0)
  951. coroutine.resume(coroutine.create(function()
  952. for i=1,
  953. bp.velocity.y/3 do
  954. bp.velocity = bp.velocity+Vector3.new(0,-4.25,0)
  955. wait()
  956. end
  957. bp.Parent = nil
  958. end))
  959. c[i].Torso.RotVelocity = CFrame.new(c[i].Torso.Position , p).lookVector * 25
  960. wait(0.4) c[i].Humanoid.Sit = false end))
  961. table.insert(AoETrue,c[i].Name)
  962. end
  963. end
  964. end
  965. end
  966. end
  967. end
  968. --
  969.  
  970. local LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  971. function effect(Color,Ref,LP,P1,returnn)
  972. local effectsmsh = Instance.new("BlockMesh")
  973. effectsmsh.Scale = Vector3.new(0.5,1,0.5)
  974. effectsmsh.Name = "Mesh"
  975. local effectsg = Instance.new("Part")
  976. effectsg.formFactor = 3
  977. effectsg.CanCollide = false
  978. effectsg.Name = "Eff"
  979. effectsg.Locked = true
  980. effectsg.Anchored = true
  981. effectsg.Size = Vector3.new(0.2,1,0.2)
  982. effectsg.Parent = swordholder
  983. effectsmsh.Parent = effectsg
  984. effectsg.BrickColor = BrickColor.new(Color)
  985. effectsg.Reflectance = Ref
  986. local point1 = P1
  987. local mg = (LP.p - point1.p).magnitude
  988. effectsg.Size = Vector3.new(0.2,mg,0.2)
  989. effectsg.CFrame = CFrame.new((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0)
  990. if returnn then return effectsg end
  991. coroutine.resume(coroutine.create(function()
  992. if not returnn then
  993. for i = 0 , 1 , 0.1 do
  994. wait()
  995. effectsg.Transparency = 1*i
  996. end
  997. wait()
  998. effectsg.Parent = nil
  999. end
  1000. end))
  1001. end
  1002.  
  1003. con = nil
  1004. function dmgcnnct(p)
  1005. con = p.Touched:connect(OT)
  1006. end
  1007. function dmgdc()
  1008. if con ~= nil then
  1009. con:disconnect()
  1010. Hitdeb = 0
  1011. end
  1012. end
  1013. function atktype(s,e)
  1014. coroutine.resume(coroutine.create(function ()
  1015. attacktype = e
  1016. wait(0.5)
  1017. repeat wait() until attack
  1018. attacktype = s
  1019. end))
  1020. end
  1021.  
  1022. hold = false
  1023. function Combo1a()
  1024. attack=true
  1025. for i = 0 , 1 , 0.1 do
  1026. wait()
  1027. RW.C0 = CFrame.new(1-0.5*i,0.5,-0.5-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i), math.rad(45+45*i), math.rad(-45+45*i))
  1028. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45*i), math.rad(10*i), math.rad(0))
  1029. LW.C0 = CFrame.new(-1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i),math.rad(-45+45*i),math.rad(45-20*i))
  1030. end
  1031. dmgcnnct(hitbox)
  1032. ss(Head,1.5)
  1033. for i = 0 , 1 , 0.2 do
  1034. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1035. wait()
  1036. RW.C0 = CFrame.new(0.5+1*i,0.5,-1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  1037. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45+135*i), math.rad(10+35*i), math.rad(0))
  1038. LW.C0 = CFrame.new(-1+1*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(25+65*i))
  1039. effect("Bright blue",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1040. end
  1041. dmgdc()
  1042. for i = 0 , 1 , 0.2 do
  1043. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1044. wait()
  1045. RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  1046. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90+20*i), math.rad(45+5*i), math.rad(0))
  1047. LW.C0 = CFrame.new(-0.25*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(90+10*i))
  1048. effect("Bright blue",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1049. end
  1050. attacktype = 2
  1051. coroutine.resume(coroutine.create(function ()
  1052. wait(0.25)
  1053. attacktype = 1
  1054. end))
  1055. attack=false
  1056. wait(0.15)
  1057. wait()
  1058. for i = 0 , 1 , 0.1 do
  1059. if not attack then
  1060. wait()
  1061. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i), math.rad(90-45*i), math.rad(-45*i))
  1062. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(110-110*i), math.rad(50-50*i), math.rad(0))
  1063. LW.C0 = CFrame.new(-0.25-0.75*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i),math.rad(-45*i),math.rad(100-55*i))
  1064. end
  1065. end
  1066.  
  1067. end
  1068. function Combo1b()
  1069. attack=true
  1070. for i = 0 , 1 , 0.1 do
  1071. wait()
  1072. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  1073. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(110-155*i), math.rad(50-40*i), math.rad(0))
  1074. LW.C0 = CFrame.new(-0.25-0.75*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(100-50*i))
  1075. end
  1076.  
  1077. cs(Head,1.5)
  1078. local tempmod = Instance.new("Model",swordholder)
  1079. for l = 1 , 20 do
  1080. local meshz = Instance.new("SpecialMesh")
  1081. meshz.Scale = Vector3.new(0.5,0.5,0.5)
  1082. meshz.MeshType = "Sphere"
  1083. local shellz = Instance.new("Part")
  1084. meshz.Parent = shellz
  1085. shellz.Anchored = false
  1086. shellz.formFactor = 0
  1087. shellz.Size = Vector3.new(1,1,1)
  1088. shellz.CFrame = hitbox.CFrame * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
  1089. shellz.Parent = tempmod
  1090. shellz.Transparency = 0.5
  1091. shellz.BrickColor = BrickColor.new("Bright violet")
  1092. shellz.CanCollide = false
  1093. shellz.Reflectance = 0.25
  1094. local bv = Instance.new("BodyPosition")
  1095. bv.Parent = shellz
  1096. bv.maxForce = Vector3.new(200000,200000,200000)
  1097. bv.position = shellz.Position
  1098. coroutine.resume(coroutine.create(function()
  1099. for i = 0 , 1 , 0.025 do
  1100. wait()
  1101. shellz.Transparency = 1-1*i
  1102. end
  1103. shellz.Transparency = 0
  1104. end))
  1105. coroutine.resume(coroutine.create(function()
  1106. wait(0.05)
  1107. bv.position = hitbox.Position
  1108. for i = 1 , 20 do
  1109. wait(0.1)
  1110. bv.position = shell.Position
  1111. end
  1112. shellz.Parent = nil
  1113. end))
  1114. wait(0.01)
  1115. end
  1116. coroutine.resume(coroutine.create(function ()
  1117. wait(0.25)
  1118. tempmod.Parent = nil
  1119. end))
  1120. for i = 0 , 1 , 0.2 do
  1121. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1122. wait()
  1123. RW.C0 = CFrame.new(1-0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(0))
  1124. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45+135*i), math.rad(10), math.rad(0))
  1125. LW.C0 = CFrame.new(-1+1.5*i,0.5,-1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(50+40*i))
  1126. effect("Really red",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1127. end
  1128. local gyro = Instance.new("BodyGyro")
  1129. gyro.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  1130. gyro.P = gyro.P + 10000
  1131. local CF = Torso.CFrame
  1132. gyro.cframe = CF
  1133. gyro.Parent = Torso
  1134. dmgcnnct(hitbox)
  1135. ss(Head,1)
  1136. for i = 0 , 1 , 0.1 do
  1137. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1138. wait()
  1139. gyro.cframe = CF * CFrame.Angles(0,math.rad(-360*i),0)
  1140. effect("Really red",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1141. end
  1142. ss(Head,1)
  1143. Hitdeb = 0
  1144. for i = 0 , 1 , 0.1 do
  1145. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1146. wait()
  1147. gyro.cframe = CF * CFrame.Angles(0,math.rad(-360*i),0)
  1148. effect("Really red",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1149. end
  1150. dmgdc()
  1151. attacktype = 3
  1152. coroutine.resume(coroutine.create(function ()
  1153. wait(0.5)
  1154. attacktype = 1
  1155. end))
  1156. wait(0.15)
  1157. wait()
  1158. gyro.Parent = nil
  1159. attack=false
  1160. for i = 0 , 1 , 0.1 do
  1161. if not attack then
  1162. wait()
  1163. RW.C0 = CFrame.new(0.5+0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i), math.rad(90-45*i), math.rad(-45*i))
  1164. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90-90*i), math.rad(10-10*i), math.rad(0))
  1165. LW.C0 = CFrame.new(0.5-1.5*i,0.5,-1+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i),math.rad(-45*i),math.rad(50-5*i))
  1166. end
  1167. end
  1168. end
  1169.  
  1170. function Combo1c()
  1171. attack=true
  1172. local bp = Instance.new("BodyPosition")
  1173. bp.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1174. bp.P = bp.P + 10000
  1175. local CF = Torso.CFrame
  1176. bp.position = CF.p
  1177. bp.Parent = Torso
  1178. RWLFunc()
  1179. LWLFunc()
  1180. for zz = 1 , 2 do
  1181. local mesh = Instance.new("SpecialMesh")
  1182. mesh.MeshType = "FileMesh"
  1183. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  1184. mesh.Scale = Vector3.new(10,5,10) * Vector3.new(0.01,0.01,0.01)
  1185. local shell = Instance.new("Part")
  1186. mesh.Parent = shell
  1187. shell.Anchored = true
  1188. shell.formFactor = 1
  1189. shell.Size = Vector3.new(1,1,1)
  1190. shell.CFrame = Torso.CFrame * CFrame.Angles(0,0.5*zz,0) + Vector3.new(0,-2.5,0) -- + shellspawn.CFrame.lookVector * 2
  1191. shell.Parent = swordholder
  1192. shell.Transparency = 0
  1193. shell.BrickColor = BrickColor.new("White")
  1194. shell.CanCollide = false
  1195. coroutine.resume(coroutine.create(function()
  1196. for i = 0 , 1 , 0.05 do
  1197. wait()
  1198. mesh.Scale = Vector3.new(10,5,10) * Vector3.new(i,1,i)
  1199. shell.Transparency = 1*i
  1200. end
  1201. shell.Transparency = 1
  1202. shell.Parent = nil
  1203. end))
  1204. end
  1205. for i = 0 , 1 , 0.1 do
  1206. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1207. wait()
  1208. RW.C0 = CFrame.new(0.5+0.5*i,0.5+1*i,0) * CFrame.fromEulerAnglesXYZ(math.rad(90+100*i), math.rad(90-90*i), math.rad(-45*i))
  1209. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90-90*i), math.rad(10-10*i), math.rad(0))
  1210. LW.C0 = CFrame.new(0.5-1.5*i,0.5+1*i,-1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90+100*i),math.rad(0),math.rad(50-5*i))
  1211. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  1212. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90-45*i)) * CFrame.new(0, 0, 0.2)
  1213. bp.position = CF.p + Vector3.new(0,10,0)
  1214. RWL.C0 = CFrame.new(1, -1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20*i), math.rad(0), math.rad(0))
  1215. LWL.C0 = CFrame.new(-1, -1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-20*i), math.rad(0), math.rad(0))
  1216. prt8.Transparency = 1-1*i
  1217. effect("Really black",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1218. end
  1219. cs(Head,1.5)
  1220. coroutine.resume(coroutine.create(function ()
  1221. local tempmod = Instance.new("Model",swordholder)
  1222. for l = 1 , 20 do
  1223. local meshz = Instance.new("SpecialMesh")
  1224. meshz.Scale = Vector3.new(1.5,1.5,1.5)
  1225. meshz.MeshType = "Sphere"
  1226. local shellz = Instance.new("Part")
  1227. meshz.Parent = shellz
  1228. shellz.Anchored = false
  1229. shellz.formFactor = 0
  1230. shellz.Size = Vector3.new(1,1,1)
  1231. shellz.CFrame = hitbox.CFrame * CFrame.new(math.random(-15,15),math.random(-15,15),math.random(-15,15))
  1232. shellz.Parent = tempmod
  1233. shellz.Transparency = 0.5
  1234. shellz.BrickColor = BrickColor.new("Really black")
  1235. shellz.CanCollide = false
  1236. shellz.Reflectance = 0
  1237. local bv = Instance.new("BodyPosition")
  1238. bv.Parent = shellz
  1239. bv.maxForce = Vector3.new(200000,200000,200000)
  1240. bv.position = shellz.Position
  1241. local hx = false
  1242. coroutine.resume(coroutine.create(function()
  1243. for i = 0 , 1 , 0.05 do
  1244. wait()
  1245. shellz.Transparency = 1-1*i
  1246. end
  1247. shellz.Transparency = 0
  1248. end))
  1249. coroutine.resume(coroutine.create(function()
  1250. wait(0.05)
  1251. bv.position = hitbox.Position
  1252. for i = 1 , 20 do
  1253. wait(0.1)
  1254. bv.position = shell.Position
  1255. end
  1256. shellz.Parent = nil
  1257. end))
  1258. wait(0.01)
  1259. end
  1260. coroutine.resume(coroutine.create(function ()
  1261. repeat wait() until hx
  1262. tempmod.Parent = nil
  1263. end))
  1264. end))
  1265. for i = 0 , 1 , 0.1 do
  1266. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1267. wait()
  1268. RW.C0 = CFrame.new(1,1.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(190+20*i), math.rad(0), math.rad(-45))
  1269. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1270. LW.C0 = CFrame.new(-1,1.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(190+20*i),math.rad(0),math.rad(45))
  1271. effect("Really black",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1272. end
  1273. for i = 0 , 1 , 0.1 do
  1274. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1275. wait()
  1276. RW.C0 = CFrame.new(1,1.5-1*i,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(210-130*i), math.rad(0), math.rad(-45))
  1277. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1278. LW.C0 = CFrame.new(-1,1.5-1*i,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(210-130*i),math.rad(0),math.rad(45))
  1279. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  1280. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180*i), math.rad(45)) * CFrame.new(0, 0, 0.2)
  1281. bp.position = CF.p + CF.lookVector * 2.5 + Vector3.new(0,-1,0)
  1282. RWL.C0 = CFrame.new(1, -1+1*i, -1*i) * CFrame.fromEulerAnglesXYZ(math.rad(-20+20*i), math.rad(0), math.rad(0))
  1283. LWL.C0 = CFrame.new(-1, -1+1*i, -1*i) * CFrame.fromEulerAnglesXYZ(math.rad(-20+20*i), math.rad(0), math.rad(0))
  1284. effect("Really black",0,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0))
  1285. end
  1286. hx = true
  1287. wait(0.1)
  1288. local Hit,A, B = Raycast(hitbox.Position + Vector3.new(0,3,0) + Torso.CFrame.lookVector * 1 ,hitbox.Position + Vector3.new(0,3,0) + Torso.CFrame.lookVector * 101 ,100)
  1289. local effectsmsh = Instance.new("CylinderMesh")
  1290. effectsmsh.Scale = Vector3.new(1,1,1)
  1291. local effectsg = Instance.new("Part")
  1292. effectsg.formFactor = 3
  1293. effectsg.CanCollide = false
  1294. effectsg.Name = "LAZOR"
  1295. effectsg.Locked = true
  1296. effectsg.Anchored = true
  1297. effectsg.Parent = swordholder
  1298. effectsmsh.Parent = effectsg
  1299. effectsg.BrickColor = BrickColor.new("Black")
  1300. effectsg.Reflectance = 0.5
  1301. local point1 = B
  1302. local point0 = A
  1303. for zz = 1 , 5 do
  1304. local mesh = Instance.new("SpecialMesh")
  1305. mesh.MeshType = "FileMesh"
  1306. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  1307. mesh.Scale = Vector3.new(10,5,10) * Vector3.new(0.01,0.01,0.01)
  1308. local shell = Instance.new("Part")
  1309. mesh.Parent = shell
  1310. shell.Anchored = true
  1311. shell.formFactor = 1
  1312. shell.Size = Vector3.new(1,1,1)
  1313. shell.CFrame = CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /-2) + Torso.CFrame.lookVector * 2
  1314. shell.CFrame = shell.CFrame * CFrame.Angles(math.rad(-90),0.5*zz,0)
  1315. shell.Parent = swordholder
  1316. shell.Transparency = 0
  1317. if math.fmod(zz,2) == 0 then
  1318. shell.BrickColor = BrickColor.new("Really black")
  1319. else
  1320. shell.BrickColor = BrickColor.new("Bright violet")
  1321. end
  1322. shell.CanCollide = false
  1323. coroutine.resume(coroutine.create(function()
  1324. for i = 0 , 1 , 0.01 do
  1325. wait()
  1326. mesh.Scale = Vector3.new(10,5,10) * Vector3.new(i,1,i)
  1327. shell.Transparency = 1*i
  1328. end
  1329. shell.Transparency = 1
  1330. shell.Parent = nil
  1331. end))
  1332. end
  1333. for zz = 1 , 1 do
  1334. local mesh = Instance.new("SpecialMesh")
  1335. mesh.MeshType = "Sphere"
  1336. mesh.Scale = Vector3.new(20,15,10) * Vector3.new(0.01,0.01,0.01)
  1337. local shell = Instance.new("Part")
  1338. mesh.Parent = shell
  1339. shell.Anchored = true
  1340. shell.formFactor = 1
  1341. shell.Size = Vector3.new(1,1,1)
  1342. shell.CFrame = CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /-2) + Torso.CFrame.lookVector * 10
  1343. shell.CFrame = shell.CFrame * CFrame.Angles(math.rad(-90),0,0)
  1344. shell.Parent = swordholder
  1345. shell.Transparency = 0
  1346. shell.BrickColor = BrickColor.new("Bright violet")
  1347. shell.CanCollide = false
  1348. coroutine.resume(coroutine.create(function()
  1349. for i = 0 , 1 , 0.02 do
  1350. wait()
  1351. mesh.Scale = Vector3.new(10,15,15) * Vector3.new(i,1,i)
  1352. shell.CFrame = shell.CFrame * CFrame.Angles(0,i,0)
  1353. shell.Transparency = 1-1*i
  1354. end
  1355. for i = 0 , 1 , 0.05 do
  1356. wait()
  1357. shell.CFrame = shell.CFrame * CFrame.Angles(0,i,0)
  1358. shell.Transparency = 1*i
  1359. end
  1360. shell.Transparency = 1
  1361. shell.Parent = nil
  1362. end))
  1363. end
  1364. for zz = 1 , 1 do
  1365. local mesh = Instance.new("CylinderMesh")
  1366. mesh.Scale = Vector3.new(20,0.5,10) * Vector3.new(0.01,0.01,0.01)
  1367. local shell = Instance.new("Part")
  1368. mesh.Parent = shell
  1369. shell.Anchored = true
  1370. shell.formFactor = 1
  1371. shell.Size = Vector3.new(1,1,1)
  1372. shell.CFrame = CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /-2) + Torso.CFrame.lookVector * -0.5
  1373. shell.CFrame = shell.CFrame * CFrame.Angles(math.rad(-90),0,0)
  1374. shell.Parent = swordholder
  1375. shell.Transparency = 0
  1376. shell.BrickColor = BrickColor.new("Bright violet")
  1377. shell.CanCollide = false
  1378. coroutine.resume(coroutine.create(function()
  1379. for i = 0 , 1 , 0.02 do
  1380. wait()
  1381. mesh.Scale = Vector3.new(20,0.5,20) * Vector3.new(i,1,i)
  1382. shell.Transparency = 1-1*i
  1383. end
  1384. for i = 0 , 1 , 0.02 do
  1385. wait()
  1386. shell.Transparency = 1*i
  1387. end
  1388. shell.Transparency = 1
  1389. shell.Parent = nil
  1390. end))
  1391. end
  1392. for zz = 1 , 10 do
  1393. local mesh = Instance.new("SpecialMesh")
  1394. mesh.MeshType = "FileMesh"
  1395. mesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  1396. mesh.Scale = Vector3.new(5,5,5) * Vector3.new(0.01,0.01,0.01)
  1397. local shell = Instance.new("Part")
  1398. mesh.Parent = shell
  1399. shell.Anchored = true
  1400. shell.formFactor = 1
  1401. shell.Size = Vector3.new(1,1,1)
  1402. shell.CFrame = CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /2)
  1403. shell.CFrame = shell.CFrame * CFrame.Angles(math.rad(-90)+2*math.random(),2*math.random(),2*math.random())
  1404. shell.Parent = swordholder
  1405. shell.Transparency = 0
  1406. if math.fmod(zz,2) == 0 then
  1407. shell.BrickColor = BrickColor.new("Really black")
  1408. else
  1409. shell.BrickColor = BrickColor.new("Bright violet")
  1410. end
  1411. shell.CanCollide = false
  1412. coroutine.resume(coroutine.create(function()
  1413. for i = 0 , 1 , 0.01 do
  1414. wait()
  1415. mesh.Scale = Vector3.new(25,25,25) * Vector3.new(i,i,i)
  1416. shell.Transparency = 1*i
  1417. end
  1418. shell.Transparency = 1
  1419. shell.Parent = nil
  1420. end))
  1421. end
  1422. coroutine.resume(coroutine.create(function()
  1423. effectsg.Transparency = 1
  1424. for i = 0 , 1 , 0.1 do
  1425. wait()
  1426. effectsg.Transparency = 1-1*i
  1427. end
  1428. wait(2)
  1429. for i = 0 , 1 , 0.1 do
  1430. wait()
  1431. effectsg.Transparency = 1*i
  1432. end
  1433. effectsg.Parent = nil
  1434. end))
  1435. local mg = 100
  1436. if Hit ~= nil then
  1437. mg = (point0-point1).magnitude
  1438. elseif Hit == nil then
  1439. mg = 100
  1440. end
  1441. ls(Head,0.5)
  1442. ls(Head,0.75)
  1443. cs(Head,0.25)
  1444. ls(Head,1)
  1445. ls(Head,3)
  1446. cs(Head,0.15)
  1447. for mgg = 0 , 1,0.1 do
  1448. wait()
  1449. effectsg.Size = Vector3.new(5,(mg*mgg)+0.2,5)
  1450. local durr = CFrame.new((point0+(point1))/2,(point1))
  1451. effectsg.CFrame = CFrame.new((point0+(point1-durr.lookVector * (mg*(1-mgg))))/2,(point1)) * CFrame.Angles(math.rad(90),0,0)
  1452. end
  1453. local critrandomizer = math.random(1,crtrate)
  1454. if critrandomizer ~= 1 then
  1455. local rndmdamage = math.random(mindamage+30,maxdamage+30)
  1456. AoEP((CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /2)).p,15,rndmdamage+darkboost,false)
  1457. elseif critrandomizer == 1 then
  1458. local rndmdamage = math.random(maxdamage+30,crtmaxdamage+30)
  1459. AoEP((CFrame.new((point0+point1)/2,point1) + CFrame.new((point0+point1)/2,point1).lookVector * (((point0)-(point1)).magnitude /2)).p,15,rndmdamage+darkboost,true)
  1460. end
  1461. bp.Parent = nil
  1462. for i = 0 , 1 , 0.1 do
  1463. wait()
  1464. RW.C0 = CFrame.new(1,1-0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(90-45*i), math.rad(-45))
  1465. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1466. LW.C0 = CFrame.new(-1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45*i),math.rad(45))
  1467. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  1468. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180-180*i), math.rad(45+45*i)) * CFrame.new(0, 0, 0.2)
  1469. RWL.C0 = CFrame.new(1, -1*i, -1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1470. LWL.C0 = CFrame.new(-1, -1*i, -1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1471. prt8.Transparency = 1*i
  1472. end
  1473. for ii = 1 , #AoETrue do
  1474. table.remove(AoETrue,#AoETrue)
  1475. end
  1476. RWLRem()
  1477. LWLRem()
  1478. attack = false
  1479. attacktype = 1
  1480. end
  1481. function BlizzardSword()
  1482. attack=true
  1483. for i = 0 , 1 , 0.2 do
  1484. wait()
  1485. RW.C0 = CFrame.new(1,0.5+1*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+55*i), math.rad(45-45*i), math.rad(-45))
  1486. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1487. LW.C0 = CFrame.new(-1,0.5+1*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+55*i),math.rad(-45+45*i),math.rad(45))
  1488. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1489. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90-45*i)) * CFrame.new(0, 0, 0.2)
  1490. end
  1491. local wssave = Character.Humanoid.WalkSpeed
  1492. Character.Humanoid.WalkSpeed = 0
  1493. ss(Head,1.5)
  1494. local efftab = {}
  1495. for i = 0 , 1 , 0.2 do
  1496. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1497. wait()
  1498. RW.C0 = CFrame.new(1,1.5-1.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(135-135*i), math.rad(0), math.rad(-45))
  1499. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1500. LW.C0 = CFrame.new(-1,1.5-1.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(135-135*i),math.rad(0),math.rad(45))
  1501. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1502. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(45)) * CFrame.new(0, 0, 0.2)
  1503. local eff = effect("Bright blue",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0),true)
  1504. table.insert(efftab,eff)
  1505. end
  1506. local trspos = Torso.Position
  1507. Character.Humanoid.WalkSpeed = wssave
  1508. for _,efff in pairs(efftab) do
  1509. wait()
  1510. coroutine.resume(coroutine.create(function()
  1511. for i = 0 , 1 , 0.15 do
  1512. wait()
  1513. efff.Transparency = 1*i
  1514. end
  1515. wait()
  1516. efff.Transparency = 1
  1517. end))
  1518. end
  1519. for io,eff in pairs(efftab) do
  1520. wait()
  1521. for zz = 1 , 1 do
  1522. local mesh = Instance.new("CylinderMesh")
  1523. mesh.Scale = Vector3.new(0.1,0.5,0.1)
  1524. local shell = Instance.new("Part")
  1525. mesh.Parent = shell
  1526. shell.Anchored = true
  1527. shell.formFactor = 1
  1528. shell.Size = Vector3.new(1,1,1)
  1529. local dur = CFrame.new(trspos,eff.Position)
  1530. local CF1 = dur * CFrame.Angles(math.rad(90),0,0) * CFrame.new(0,-6,0)
  1531. shell.CFrame = CF1
  1532. shell.Parent = eff
  1533. shell.Transparency = 1
  1534. shell.Reflectance = 0.25
  1535. shell.BrickColor = BrickColor.new("Bright blue")
  1536. shell.CanCollide = false
  1537. is(shell,0.5)
  1538. coroutine.resume(coroutine.create(function()
  1539. for i = 0 , 1 , 0.1 do
  1540. wait()
  1541. shell.Transparency = 1-1*i
  1542. mesh.Scale = Vector3.new(0.1+4.9*i,0.5,0.1+4.9*i)
  1543. end
  1544. wait(0.25)
  1545. for i = 0 , 1 , 0.1 do
  1546. wait()
  1547. shell.Transparency = 1*i
  1548. mesh.Scale = Vector3.new(5-5*i,0.5-0.5*i,5-5*i)
  1549. end
  1550. shell.Parent = nil
  1551. end))
  1552. end
  1553. end
  1554. for io,eff in pairs(efftab) do
  1555. wait()
  1556. for zz = 1 , 1 do
  1557. local mesh = Instance.new("SpecialMesh")
  1558. mesh.MeshType = "FileMesh"
  1559. mesh.Scale = Vector3.new(5,2,1)
  1560. mesh.MeshId = "rbxasset://fonts/sword.mesh"
  1561. local shell = Instance.new("Part")
  1562. mesh.Parent = shell
  1563. shell.Anchored = true
  1564. shell.formFactor = 1
  1565. shell.Size = Vector3.new(2,2,5)
  1566. local dur = CFrame.new(trspos,eff.Position)
  1567. local CF1 = dur * CFrame.Angles(math.rad(180),0,0) * CFrame.new(0,0,6.5)* CFrame.Angles(0,0,math.rad(90))
  1568. shell.CFrame = CF1
  1569. shell.Parent = eff
  1570. shell.Transparency = 1
  1571. shell.Reflectance = 0.25
  1572. shell.BrickColor = BrickColor.new("Bright blue")
  1573. shell.CanCollide = false
  1574. local hitd = 0
  1575. coroutine.resume(coroutine.create(function()
  1576. local dd = false
  1577. while shell.Parent ~= nil and not dd do
  1578. wait()
  1579. local c = game.Workspace:GetChildren();
  1580. for i = 1, #c do
  1581. local hum = c[i]:findFirstChild("Humanoid")
  1582. if hum ~= nil and hum.Health ~= 0 then
  1583. local head = c[i]:findFirstChild("Torso");
  1584. if head ~= nil then
  1585. local targ = head.Position - shell.Position;
  1586. local mag = targ.magnitude;
  1587. if mag <= 3 and c[i].Name ~= Player.Name then
  1588. dd = true
  1589. local critrandomizer = math.random(1,crtrate)
  1590. if critrandomizer ~= 1 then
  1591. local rndmdamage = math.random(mindamage+iceboost,maxdamage+iceboost)
  1592. damagesplat(rndmdamage,head,false)
  1593. hum:TakeDamage(rndmdamage)
  1594. elseif critrandomizer == 1 then
  1595. local rndmdamage = math.random(maxdamage+iceboost,crtmaxdamage+iceboost)
  1596. damagesplat(rndmdamage,head,true)
  1597. hum:TakeDamage(rndmdamage)
  1598. end
  1599. end
  1600. end
  1601. end
  1602. end
  1603. end
  1604. end))
  1605. coroutine.resume(coroutine.create(function()
  1606. uss(eff,1)
  1607.  
  1608. for i = 0 , 1 , 0.1 do
  1609. wait()
  1610. shell.Transparency = 1-1*i
  1611. CF1 = dur * CFrame.Angles(math.rad(180),0,0) * CFrame.new(0,0,6.5+2*i)* CFrame.Angles(0,0,math.rad(90))
  1612. shell.CFrame = CF1
  1613. mesh.Scale = Vector3.new(5,2,1+0.5*i)
  1614. end
  1615. wait(0.25)
  1616. ss(eff,2)
  1617. for i = 0 , 1 , 0.1 do
  1618. wait()
  1619. shell.Transparency = 1*i
  1620. CF1 = dur * CFrame.Angles(math.rad(180),0,0) * CFrame.new(0,0,8.5+25*i)* CFrame.Angles(0,0,math.rad(90))
  1621. shell.CFrame = CF1
  1622. mesh.Scale = Vector3.new(5-5*i,2-2*i,1.5-1.5*i*i)
  1623. end
  1624. shell.Parent = nil
  1625. end))
  1626. end
  1627. end
  1628. coroutine.resume(coroutine.create(function()
  1629. wait(1.5)
  1630. for _,eff in pairs(efftab) do
  1631. wait()
  1632. eff.Parent = nil
  1633. end end))
  1634. for i = 0 , 1 , 0.1 do
  1635. wait()
  1636. RW.C0 = CFrame.new(1,0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80*i), math.rad(45*i), math.rad(-45))
  1637. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1638. LW.C0 = CFrame.new(-1,0.5*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80*i),math.rad(-45*i),math.rad(45))
  1639. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1640. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(45+45*i)) * CFrame.new(0, 0, 0.2)
  1641. end
  1642. attack=false
  1643. end
  1644. local FTCount = 0
  1645. function FlameTrail()
  1646. attack=true
  1647. for i = 0 , 1 , 0.15 do
  1648. wait()
  1649. RW.C0 = CFrame.new(1-0.5*i,0.5,-0.5-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i), math.rad(45+45*i), math.rad(-45+55*i))
  1650. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45*i), math.rad(0), math.rad(0))
  1651. LW.C0 = CFrame.new(-1+0.5*i,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(45+20*i))
  1652. end
  1653. wait(0.1)
  1654. ss(Head,1.5)
  1655. fs(Head,0.5+1.5*math.random())
  1656. local efftab = {}
  1657. RW.C0 = CFrame.new(0.5,0.5,-1) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(10))
  1658. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45), math.rad(0), math.rad(0))
  1659. LW.C0 = CFrame.new(-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(65))
  1660. dmgcnnct(hitbox)
  1661. for i = 0 , 1 , 0.15 do
  1662. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1663. wait()
  1664. RW.C0 = CFrame.new(0.5+1*i,0.5,-1+1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90), math.rad(10))
  1665. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-45+135*i*i), math.rad(0), math.rad(0))
  1666. LW.C0 = CFrame.new(-0.5-1*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+20*i),math.rad(-45),math.rad(65-155*i))
  1667. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1668. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1669. if FTCount <= MaxFT then
  1670. local eff = effect("Bright red",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0),true)
  1671. eff.Transparency = 1
  1672. table.insert(efftab,eff)
  1673. FTCount = FTCount + 1
  1674. OTND(eff)
  1675. coroutine.resume(coroutine.create(function()
  1676. for i = 0 , 1 , 0.15 do
  1677. wait()
  1678. eff.Transparency = 1-0.5*i
  1679. end
  1680. wait()
  1681. eff.Transparency = 0.5
  1682. end))
  1683. end
  1684. end
  1685. local rndmneg = math.random(1,2)
  1686. if rndmneg == 1 then
  1687. rndmdec1 = 13 * math.random()
  1688. else
  1689. rndmdec1 = -13 * math.random()
  1690. end
  1691. for i = 0 , 1 , 0.1 do
  1692. wait()
  1693. RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90-rndmdec1*i), math.rad(90), math.rad(10-(rndmdec1*2)*i))
  1694. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90+20*i), math.rad(0), math.rad(0))
  1695. LW.C0 = CFrame.new(-1.5,0.5,-0) * CFrame.fromEulerAnglesXYZ(math.rad(100),math.rad(-45),math.rad(-90))
  1696. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1697. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1698. end
  1699. ss(Head,1.5)
  1700. fs(Head,0.5+1.5*math.random())
  1701. Hitdeb = 0
  1702. for i = 0 , 1 , 0.15 do
  1703. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1704. wait()
  1705. RW.C0 = CFrame.new(1.5-1.5*i,0.5,-1*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-rndmdec1), math.rad(90), math.rad(10-(rndmdec1*2)))
  1706. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(110-200*i), math.rad(0), math.rad(0))
  1707. LW.C0 = CFrame.new(-1.5+1*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(100-80*i),math.rad(-45),math.rad(-90+135*i))
  1708. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1709. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180-180*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1710. if FTCount <= MaxFT then
  1711. local eff = effect("Bright red",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0),true)
  1712. eff.Transparency = 1
  1713. table.insert(efftab,eff)
  1714. FTCount = FTCount + 1
  1715. OTND(eff)
  1716. coroutine.resume(coroutine.create(function()
  1717. for i = 0 , 1 , 0.15 do
  1718. wait()
  1719. eff.Transparency = 1-0.5*i
  1720. end
  1721. wait()
  1722. eff.Transparency = 0.5
  1723. end))
  1724. end
  1725. end
  1726. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1727. for i = 0 , 1 , 0.2 do
  1728. wait()
  1729. local rndmd = rndmdec1-rndmdec1*i
  1730. RW.C0 = CFrame.new(0,0.5,-1) * CFrame.fromEulerAnglesXYZ(math.rad((90-rndmd)), math.rad(90), math.rad((10-(rndmd*2))-20*i))
  1731. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-90-10*i), math.rad(0), math.rad(0))
  1732. LW.C0 = CFrame.new(-0.5,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(45))
  1733. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1734. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1735. end
  1736. for i = 0 , 1 , 0.1 do
  1737. wait()
  1738. RW.C0 = CFrame.new(1*i,0.5,-1) * CFrame.fromEulerAnglesXYZ(math.rad(90-20*i), math.rad(90-90*i), math.rad(-10-35*i))
  1739. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(-100+100*i), math.rad(0), math.rad(0))
  1740. LW.C0 = CFrame.new(-0.5-0.5*i,0.5,-0.5-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80-10*i),math.rad(-45+45*i),math.rad(45))
  1741. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1742. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180*i), math.rad(90-45*i)) * CFrame.new(0, 0, 0.2)
  1743. end
  1744. ss(Head,1.5)
  1745. fs(Head,0.5+1.5*math.random())
  1746. wait(0.1)
  1747. Hitdeb = 0
  1748. for i = 0 , 1 , 0.2 do
  1749. LastPoint = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1750. wait()
  1751. RW.C0 = CFrame.new(1,0.5+1*i,-1) * CFrame.fromEulerAnglesXYZ(math.rad(70+65*i), math.rad(0), math.rad(-45))
  1752. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1753. LW.C0 = CFrame.new(-1,0.5+1*i,-1) * CFrame.fromEulerAnglesXYZ(math.rad(70+65*i),math.rad(0),math.rad(45))
  1754. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1755. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180-180*i), math.rad(45)) * CFrame.new(0, 0, 0.2)
  1756. if FTCount <= MaxFT then
  1757. local eff = effect("Bright red",0.2,LastPoint,hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0),true)
  1758. eff.Transparency = 1
  1759. table.insert(efftab,eff)
  1760. FTCount = FTCount + 1
  1761. OTND(eff)
  1762. coroutine.resume(coroutine.create(function()
  1763. for i = 0 , 1 , 0.15 do
  1764. wait()
  1765. eff.Transparency = 1-0.5*i
  1766. end
  1767. wait()
  1768. eff.Transparency = 0.5
  1769. end))
  1770. end
  1771. end
  1772. coroutine.resume(coroutine.create(function()
  1773. wait(5)
  1774. for _,eff in pairs(efftab) do
  1775. wait()
  1776. eff.Parent = nil
  1777. FTCount = FTCount - 1
  1778. end end))
  1779. for i = 0 , 1 , 0.1 do
  1780. wait()
  1781. RW.C0 = CFrame.new(1,1.5-1*i,-1+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(135-55*i), math.rad(45*i), math.rad(-45))
  1782. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1783. LW.C0 = CFrame.new(-1,1.5-1*i,-1+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(135-55*i),math.rad(-45*i),math.rad(45))
  1784. w1.C1 = CFrame.fromEulerAnglesXYZ(0, math.rad(0), 0) * CFrame.new(0, 0,0)
  1785. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(45+45*i)) * CFrame.new(0, 0, 0.2)
  1786. end
  1787. dmgdc()
  1788. attack=false
  1789. end
  1790.  
  1791.  
  1792. function LifeDrain()
  1793. attack=true
  1794. for i = 0 , 1 , 0.1 do
  1795. wait()
  1796. RW.C0 = CFrame.new(1,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+55*i), math.rad(45), math.rad(-45+90*i))
  1797. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90*i), math.rad(0))
  1798. LW.C0 = CFrame.new(-1+1.25*i,0.5+0.25*i,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80+25*i),math.rad(-45+90*i),math.rad(45+25*i))
  1799. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90*i), math.rad(0))
  1800. w1.C1 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0) * CFrame.new(0, 0,0)
  1801. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1802. end
  1803. ------
  1804. local nrmag = 50
  1805. local nrprsn = nil
  1806. wait()
  1807. --
  1808. local c = game.Workspace:GetChildren();
  1809. for i = 1, #c do
  1810. local hum = c[i]:findFirstChild("Humanoid")
  1811. if hum ~= nil and hum.Health ~= 0 then
  1812. local head = c[i]:findFirstChild("Torso");
  1813. if head ~= nil then
  1814. local targ = head.Position - Torso.Position;
  1815. local mag = targ.magnitude;
  1816. if mag <= 50 and c[i].Name ~= Player.Name then
  1817. if mag < nrmag then
  1818. nrmag = mag
  1819. nrprsn = c[i]
  1820. end
  1821. end end end end
  1822. --
  1823. if nrprsn == nil then
  1824. attack = false
  1825. return end
  1826. local C = 0
  1827. local bp = Instance.new("BodyPosition")
  1828. local bg = Instance.new("BodyGyro")
  1829. bp.Parent = Torso
  1830. bp.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1831. bp.P = bp.P + 10000
  1832. local CF = nrprsn.Torso.CFrame
  1833. bp.position = CF.p + CFrame.new(Torso.Position,CF.p).lookVector * -3
  1834. bg.Parent = Torso
  1835. bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge)
  1836. bg.P = bg.P + 100000
  1837. bg.cframe = CFrame.new(Torso.Position,CF.p) * CFrame.Angles(math.rad(0),0,0)
  1838. ss(Head,2)
  1839. wait(0.1)
  1840. local FirstP = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1841. local LastP = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1842. for i = 0 , 1 , 0.2 do
  1843. wait()
  1844. C = C + 1
  1845. RW.C0 = CFrame.new(1-1*i,0.5,-1*i) * CFrame.fromEulerAnglesXYZ(math.rad(135-90*i), math.rad(45), math.rad(45-135*i))
  1846. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(0))
  1847. LW.C0 = CFrame.new(0.25-1.75*i,0.75-0.25*i,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(105-60*i),math.rad(45),math.rad(70-125*i))
  1848. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(90), math.rad(0))
  1849. w1.C1 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0, 0) * CFrame.new(0, 0,0)
  1850. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1851. if C == 3 then
  1852. bp.P = bp.P + 10000
  1853. bp.position = CF.p + CFrame.new(Torso.Position,CF.p).lookVector * 6
  1854. bg.cframe = CFrame.new(Torso.Position,CF.p) * CFrame.Angles(math.rad(-45),0,0)
  1855. end
  1856. if C == 2 then
  1857. FirstP = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1858. elseif C == 5 then
  1859. LastP = hitbox.CFrame * CFrame.new(0,hitbox.Size.y/2,0)
  1860. end
  1861. end
  1862. local effectsmsh = Instance.new("SpecialMesh")
  1863. effectsmsh.Scale = Vector3.new(5,1,5)
  1864. effectsmsh.MeshType = "Sphere"
  1865. local effectsg = Instance.new("Part")
  1866. effectsg.formFactor = 3
  1867. effectsg.CanCollide = false
  1868. effectsg.Name = "Eff"
  1869. effectsg.Locked = true
  1870. effectsg.Anchored = true
  1871. effectsg.Size = Vector3.new(0.2,1,0.2)
  1872. effectsg.Parent = swordholder
  1873. effectsmsh.Parent = effectsg
  1874. effectsg.BrickColor = BrickColor.new("White")
  1875. effectsg.Reflectance = Ref
  1876. local point1 = FirstP
  1877. local LP = LastP
  1878. local mg = (LP.p - point1.p).magnitude
  1879. effectsg.Size = Vector3.new(0.2,mg,0.2)
  1880. effectsg.CFrame = CFrame.new((LP.p+point1.p)/2,point1.p) * CFrame.Angles(math.rad(90),0,0)
  1881. if returnn then return effectsg end
  1882. coroutine.resume(coroutine.create(function()
  1883. if not returnn then
  1884. for i = 0 , 1 , 0.1 do
  1885. wait()
  1886. effectsg.Transparency = 1*i
  1887. end
  1888. wait()
  1889. effectsg.Parent = nil
  1890. end
  1891. end))
  1892. local critrandomizer = math.random(1,crtrate)
  1893. local rndmdamage = 0
  1894. if critrandomizer ~= 1 then
  1895. rndmdamage = math.random(mindamage,maxdamage)
  1896. damagesplat(rndmdamage,nrprsn.Head,false)
  1897. nrprsn.Humanoid:TakeDamage(rndmdamage)
  1898. elseif critrandomizer == 1 then
  1899. rndmdamage = math.random(maxdamage,crtmaxdamage)
  1900. damagesplat(rndmdamage,nrprsn.Head,true)
  1901. nrprsn.Humanoid:TakeDamage(rndmdamage)
  1902. end
  1903. local tempmod = Instance.new("Model",Workspace)
  1904. for l = 1 , rndmdamage/5 do
  1905. local meshz = Instance.new("SpecialMesh")
  1906. meshz.Scale = Vector3.new(1.5,1.5,1.5)
  1907. meshz.MeshType = "Sphere"
  1908. local shellz = Instance.new("Part")
  1909. meshz.Parent = shellz
  1910. shellz.Anchored = false
  1911. shellz.formFactor = 0
  1912. shellz.Size = Vector3.new(1,1,1)
  1913. shellz.CFrame = hitbox.CFrame
  1914. shellz.Parent = tempmod
  1915. shellz.Transparency = 0.5
  1916. shellz.BrickColor = BrickColor.new("White")
  1917. shellz.CanCollide = false
  1918. shellz.Reflectance = 0
  1919. local bv = Instance.new("BodyPosition")
  1920. bv.Parent = shellz
  1921. bv.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1922. bv.P = bv.P + 10000
  1923. bv.position = shellz.Position + Vector3.new(math.random(-25,25),math.random(-2.5,7.5),math.random(-25,25))
  1924. coroutine.resume(coroutine.create(function()
  1925. wait(3)
  1926. bv.maxForce = Vector3.new(0,math.huge,0)
  1927. coroutine.resume(coroutine.create(function()
  1928. local dd = false
  1929. while shellz.Transparency ~= 1 and not dd do
  1930. wait(0.1)
  1931. local cc = game.Workspace:GetChildren();
  1932. for i = 1, #c do
  1933. local hum = cc[i]:findFirstChild("Humanoid")
  1934. if hum ~= nil and hum.Health ~= 0 then
  1935. local head = cc[i]:findFirstChild("Head");
  1936. if head ~= nil then
  1937. local targ = head.Position - shellz.Position;
  1938. local mag = targ.magnitude;
  1939. if mag <= 5 then
  1940. dd = true
  1941. damagesplat(5+darkboost,head,false)
  1942. hum.Health = hum.Health + 5 + darkboost
  1943. for i = 0 , 1 , 0.05 do
  1944. wait()
  1945. shellz.Transparency = 1*i
  1946. end
  1947. shellz.Parent = nil
  1948. end
  1949. end
  1950. end
  1951. end
  1952. end
  1953. end))
  1954.  
  1955. end))
  1956. local hx = false
  1957. coroutine.resume(coroutine.create(function()
  1958. for i = 0 , 1 , 0.05 do
  1959. wait()
  1960. shellz.Transparency = 1-1*i
  1961. end
  1962. shellz.Transparency = 0
  1963. end))
  1964. coroutine.resume(coroutine.create(function()
  1965. wait(60)
  1966. for ii,shellz in pairs(tempmod:GetChildren()) do
  1967. for i = 0 , 1 , 0.1 do
  1968. wait()
  1969. shellz.Transparency = 1*i
  1970. end
  1971. shellz.Parent = nil
  1972. end
  1973. tempmod.Parent = nil
  1974. end))
  1975. end
  1976. wait(0.5)
  1977. ----
  1978. RW.C0 = CFrame.new(1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(45), math.rad(-45))
  1979. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1980. LW.C0 = CFrame.new(-1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(45))
  1981. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  1982. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  1983. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  1984. attack=false
  1985. bp.Parent = nil bg.Parent = nil
  1986. end
  1987.  
  1988.  
  1989. --TEST
  1990.  
  1991. hammer = Torso
  1992.  
  1993. function doDamage(hit)
  1994. local humanoid = hit.Parent:findFirstChild("Humanoid")
  1995. local hum = Player.Character:findFirstChild("Humanoid") -- non-nil if tool held by a character
  1996. if humanoid~=nil and humanoid ~= hum and hum ~= nil then
  1997. local foundd = false
  1998. for ii = 1 , #AoETrue do
  1999. if AoETrue[ii] == hit.Parent.Name then
  2000. foundd = true
  2001. end
  2002. end
  2003. if foundd then
  2004. end
  2005. --
  2006. if not foundd then
  2007. humanoid:TakeDamage(5)
  2008. if Mode == "Fire" then
  2009. end
  2010. damagesplat(5,humanoid.Parent.Torso,false)
  2011. table.insert(AoETrue,hit.Parent)
  2012. end
  2013.  
  2014. if humanoid.Health <= 0 then
  2015. local c = hit.CFrame
  2016. hit.CFrame = CFrame.new(hit.Position)
  2017. hit.CFrame = c
  2018. end
  2019. delay(1, function() end)
  2020. else
  2021. local c = hit.CFrame hit.CFrame = CFrame.new(hit.Position) hit.CFrame = c
  2022. end
  2023. end
  2024. function bewm(obj, pos, notme)
  2025. if (obj ~= notme) then
  2026. if (obj.className == "Part") or (obj.className == "Seat") then
  2027. if (not obj.Anchored) and (((pos - obj.Position) * Vector3.new(1, 0, 1)).magnitude < 24) and (pos.y <= obj.Position.y + 2) and (pos.y >= obj.Position.y - 2) then
  2028. delay((pos - obj.Position).magnitude / 24, function() obj.Velocity = ((obj.Position - pos).unit + Vector3.new(0, 0.5, 0)) * 96 + obj.Velocity obj.RotVelocity = obj.RotVelocity + Vector3.new(obj.Position.z - pos.z, 0, pos.x - obj.Position.x).unit * 40 doDamage(obj) end)
  2029. end
  2030. elseif (obj.className == "Model") or (obj.className == "Hat") or (obj.className == "Tool") or (obj == workspace) then
  2031. local list = obj:GetChildren()
  2032. for x = 1, #list do
  2033. bewm(list[x], pos, notme)
  2034. end
  2035. end
  2036. end
  2037. end
  2038.  
  2039. function attackr()
  2040. local shockRing = Instance.new("Part")
  2041. shockRing.formFactor = 2
  2042. shockRing.Size = Vector3.new(1, 0.4, 1)
  2043. shockRing.Anchored = true
  2044. shockRing.Locked = true
  2045. shockRing.CanCollide = false
  2046. shockRing.archivable = false
  2047. shockRing.TopSurface = 0
  2048. shockRing.BottomSurface = 0
  2049. shockRing.Transparency = 0
  2050. if Mode == "Fire" then
  2051. shockRing.BrickColor = BrickColor.new("Really red")
  2052. elseif Mode == "Dark" then
  2053. shockRing.BrickColor = BrickColor.new("Bright violet")
  2054. elseif Mode == "Ice" then
  2055. shockRing.BrickColor = BrickColor.new("Bright blue")
  2056. shockRing.Reflectance = 0.2
  2057. end
  2058. local decal = Instance.new("CylinderMesh")
  2059. decal.Parent = shockRing
  2060. decal.Scale = Vector3.new(1,0.1,1)
  2061. wait(0.2)
  2062. local pos = hammer.CFrame * (Vector3.new(0, -2.5, 0))
  2063. bewm(game.Workspace, pos, Player.Character)
  2064. shockRing.CFrame = CFrame.new(pos)
  2065. for x = 0, 1 , 0.0625 do
  2066. delay((x*16) / 30, function() shockRing.Parent = nil shockRing.Size = Vector3.new(0, 0.4, 0) + Vector3.new(3.2, 0, 3.2) * (x*16) shockRing.Transparency = 1*x shockRing.Parent = Player.Character end)
  2067. end
  2068. delay(1, function()
  2069. shockRing.Parent = nil
  2070. for ii = 1 , #AoETrue do
  2071. table.remove(AoETrue,#AoETrue)
  2072. end end)
  2073. end
  2074. local modemodel = Instance.new("Model",swordholder)
  2075. local mrdychng = false
  2076. function FireMode()
  2077. attack=true
  2078. Mode = "Fire"
  2079. fireboost = 5
  2080. mrdychng = true
  2081. for i = 0 , 1 , 0.1 do
  2082. wait()
  2083. RW.C0 = CFrame.new(1+0.5*i,0.5+1*i,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+55*i), math.rad(45-45*i), math.rad(-45+45*i))
  2084. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2085. LW.C0 = CFrame.new(-1+1*i,0.5+1*i,-0.5-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80-80*i),math.rad(-45+45*i),math.rad(45+65*i))
  2086. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2087. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2088. end
  2089. cs(Head,1.5)
  2090. local tempmod = Instance.new("Model",swordholder)
  2091. for l = 1 , 20 do
  2092. local meshz = Instance.new("SpecialMesh")
  2093. meshz.Scale = Vector3.new(0.5,0.5,0.5)
  2094. meshz.MeshType = "Sphere"
  2095. local shellz = Instance.new("Part")
  2096. meshz.Parent = shellz
  2097. shellz.Anchored = false
  2098. shellz.formFactor = 0
  2099. shellz.Size = Vector3.new(1,1,1)
  2100. shellz.CFrame = hitbox.CFrame * CFrame.new(math.random(-5,5),math.random(-5,5),math.random(-5,5))
  2101. shellz.Parent = tempmod
  2102. shellz.Transparency = 0.5
  2103. shellz.BrickColor = BrickColor.new("Really red")
  2104. shellz.CanCollide = false
  2105. shellz.Reflectance = 0
  2106. local bv = Instance.new("BodyPosition")
  2107. bv.Parent = shellz
  2108. bv.maxForce = Vector3.new(200000,200000,200000)
  2109. bv.position = shellz.Position
  2110. coroutine.resume(coroutine.create(function()
  2111. for i = 0 , 1 , 0.025 do
  2112. wait()
  2113. shellz.Transparency = 1-1*i
  2114. end
  2115. shellz.Transparency = 0
  2116. end))
  2117. coroutine.resume(coroutine.create(function()
  2118. wait(0.05)
  2119. bv.position = hitbox.Position
  2120. for i = 1 , 20 do
  2121. wait(0.1)
  2122. bv.position = shell.Position
  2123. end
  2124. shellz.Parent = nil
  2125. end))
  2126. wait(0.01)
  2127. end
  2128. coroutine.resume(coroutine.create(function ()
  2129. wait(0.25)
  2130. tempmod.Parent = nil
  2131. end))
  2132. for i = 0 , 1 , 0.2 do
  2133. wait()
  2134. RW.C0 = CFrame.new(1.5,1.5-1*i,0) * CFrame.fromEulerAnglesXYZ(math.rad(135-45*i), math.rad(0), math.rad(0))
  2135. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2136. LW.C0 = CFrame.new(0,1.5-1*i,-1) * CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(110-45*i))
  2137. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2138. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2139. end
  2140. bs(Head,0.75)
  2141. attackr()
  2142. for zz = 1 , 1 do
  2143. local mesh = Instance.new("SpecialMesh")
  2144. mesh.MeshType = "FileMesh"
  2145. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  2146. mesh.Scale = Vector3.new(10,5,10) * Vector3.new(0.01,0.01,0.01)
  2147. local shell = Instance.new("Part")
  2148. mesh.Parent = shell
  2149. shell.Anchored = true
  2150. shell.formFactor = 1
  2151. shell.Size = Vector3.new(1,1,1)
  2152. shell.CFrame = Torso.CFrame * CFrame.new(0,-1.5,0)
  2153. shell.Parent = swordholder
  2154. shell.Transparency = 0
  2155. shell.BrickColor = BrickColor.new("Really red")
  2156. shell.CanCollide = false
  2157. coroutine.resume(coroutine.create(function()
  2158. for i = 0 , 1 , 0.075 do
  2159. wait()
  2160. mesh.Scale = Vector3.new(20,5,20) * Vector3.new(i,1,i)
  2161. shell.Transparency = 1*i
  2162. end
  2163. shell.Transparency = 1
  2164. shell.Parent = nil
  2165. end))
  2166. end
  2167. for zz = 1 , 1 do
  2168. local mesh = Instance.new("SpecialMesh")
  2169. mesh.MeshType = "FileMesh"
  2170. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  2171. mesh.Scale = Vector3.new(10,20,10) * Vector3.new(0.01,0.01,0.01)
  2172. local shell = Instance.new("Part")
  2173. mesh.Parent = shell
  2174. shell.Anchored = true
  2175. shell.formFactor = 1
  2176. shell.Size = Vector3.new(1,1,1)
  2177. shell.CFrame = Torso.CFrame * CFrame.new(0,1,0)
  2178. shell.Parent = swordholder
  2179. shell.Transparency = 0
  2180. shell.BrickColor = BrickColor.new("Really red")
  2181. shell.CanCollide = false
  2182. coroutine.resume(coroutine.create(function()
  2183. for i = 0 , 1 , 0.05 do
  2184. wait()
  2185. mesh.Scale = Vector3.new(10,20,10) * Vector3.new(i,1,i)
  2186. shell.Transparency = 1*i
  2187. end
  2188. shell.Transparency = 1
  2189. shell.Parent = nil
  2190. end))
  2191. end
  2192. for zz = 1 , 3 do
  2193. local mesh = Instance.new("SpecialMesh")
  2194. mesh.MeshType = "Sphere"
  2195. mesh.Scale = Vector3.new(5*zz,5*zz,5*zz) * Vector3.new(0.01,0.01,0.01)
  2196. local shell = Instance.new("Part")
  2197. mesh.Parent = shell
  2198. shell.Anchored = true
  2199. shell.formFactor = 3
  2200. shell.Size = Vector3.new(1,1,1)
  2201. shell.CFrame = Torso.CFrame * CFrame.new(0,-1,0)
  2202. shell.Parent = swordholder
  2203. shell.Transparency = 0
  2204. if math.fmod(zz,2) == 1 then
  2205. shell.BrickColor = BrickColor.new("Bright orange")
  2206. elseif math.fmod(zz,2) == 0.5 then
  2207. shell.BrickColor = BrickColor.new("Bright red")
  2208. else
  2209. shell.BrickColor = BrickColor.new("Bright yellow")
  2210. end
  2211. shell.CanCollide = false
  2212. coroutine.resume(coroutine.create(function()
  2213. for i = 0 , 1 , 0.025 do
  2214. wait()
  2215. mesh.Scale = Vector3.new(10*zz,10*zz,10*zz) * Vector3.new(i,i,i)
  2216. shell.Transparency = 1*i
  2217. end
  2218. shell.Transparency = 1
  2219. shell.Parent = nil
  2220. end))
  2221. end
  2222.  
  2223.  
  2224. for ii,z in pairs(modemodel:GetChildren()) do
  2225. z.Parent = nil
  2226. end
  2227.  
  2228. local wing1m = Instance.new("BlockMesh")
  2229. wing1m.Scale = Vector3.new(1,1,1)
  2230. local wing1p = Instance.new("Part")
  2231. wing1p.formFactor = 3
  2232. wing1p.CanCollide = false
  2233. wing1p.Name = "FlameWingP1"
  2234. wing1p.Locked = true
  2235. wing1p.Size = Vector3.new(0.2,0.2,0.2)
  2236. wing1p.Parent = modemodel
  2237. wing1m.Parent = wing1p
  2238. wing1p.BrickColor = BrickColor.new("Bright red")
  2239. wing1p.Transparency = 1
  2240. local wing1w = Instance.new("Weld")
  2241. wing1w.Parent = wing1p
  2242. wing1w.Part0 = wing1p
  2243. wing1w.Part1 = Torso
  2244. wing1w.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0 , 0)
  2245. wing1w.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,math.rad(0)) * CFrame.new(-1, 0, 0)
  2246. local wing2m = Instance.new("BlockMesh")
  2247. wing2m.Scale = Vector3.new(1,1,1)
  2248. local wing2p = Instance.new("Part")
  2249. wing2p.formFactor = 3
  2250. wing2p.CanCollide = false
  2251. wing2p.Name = "FlameWingP2"
  2252. wing2p.Locked = true
  2253. wing2p.Size = Vector3.new(0.2,0.2,0.2)
  2254. wing2p.Parent = modemodel
  2255. wing2m.Parent = wing2p
  2256. wing2p.BrickColor = BrickColor.new("Bright red")
  2257. wing2p.Transparency = 1
  2258. local wing2w = Instance.new("Weld")
  2259. wing2w.Parent = wing2p
  2260. wing2w.Part0 = wing2p
  2261. wing2w.Part1 = Torso
  2262. wing2w.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0 , 0)
  2263. wing2w.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,math.rad(0)) * CFrame.new(1, 0, 0)
  2264. coroutine.resume(coroutine.create(function()
  2265. for ringi = math.rad(-20) , math.rad(130) , math.rad(10) do
  2266. wait(0.1)
  2267. local ringm = Instance.new("BlockMesh")
  2268. ringm.Scale = Vector3.new(1,1,1)
  2269. local ringp = Instance.new("Part")
  2270. ringp.formFactor = 3
  2271. ringp.CanCollide = false
  2272. ringp.Name = "FlameWing"..ringi
  2273. ringp.Locked = true
  2274. ringp.Size = Vector3.new(0.2,2,0.8)
  2275. ringp.Parent = modemodel
  2276. ringm.Parent = ringp
  2277. ringp.BrickColor = BrickColor.new("Bright red")
  2278. ringp.Reflectance = 0.1
  2279. ringp.Transparency = 1
  2280. local ringw = Instance.new("Weld")
  2281. ringw.Parent = ringp
  2282. ringw.Part0 = ringp
  2283. ringw.Part1 = wing1p
  2284. ringw.C1 = CFrame.fromEulerAnglesXYZ(ringi, 0, 0) * CFrame.new(0, ringp.Size.y/4 , 0)
  2285. ringw.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,math.rad(45)) * CFrame.new(0, -1, 0) --* CFrame.new(-0.6, 0, 0) ---msh5.Scale.x/1.625
  2286. coroutine.resume(coroutine.create(function()
  2287. for i = 0 , 1 , 0.025 do
  2288. wait()
  2289. ringp.Transparency = 1-1*i
  2290. end
  2291. ringp.Transparency = 0
  2292. end))
  2293. end end))
  2294. coroutine.resume(coroutine.create(function()
  2295. for ringi = math.rad(-20) , math.rad(130) , math.rad(10) do
  2296. wait(0.1)
  2297. local ringm = Instance.new("BlockMesh")
  2298. ringm.Scale = Vector3.new(1,1,1)
  2299. local ringp = Instance.new("Part")
  2300. ringp.formFactor = 3
  2301. ringp.CanCollide = false
  2302. ringp.Name = "FlameWing2_"..ringi
  2303. ringp.Locked = true
  2304. ringp.Size = Vector3.new(0.2,2,0.8)
  2305. ringp.Parent = modemodel
  2306. ringm.Parent = ringp
  2307. ringp.BrickColor = BrickColor.new("Bright red")
  2308. ringp.Reflectance = 0.1
  2309. ringp.Transparency = 1
  2310. local ringw = Instance.new("Weld")
  2311. ringw.Parent = ringp
  2312. ringw.Part0 = ringp
  2313. ringw.Part1 = wing2p
  2314. ringw.C1 = CFrame.fromEulerAnglesXYZ(ringi+math.rad(0), 0, 0) * CFrame.new(-0, ringp.Size.y/4 , 0)
  2315. ringw.C0 = CFrame.fromEulerAnglesXYZ(0, 0,math.rad(-45)) * CFrame.new(-0, -1, 0)
  2316. coroutine.resume(coroutine.create(function()
  2317. for i = 0 , 1 , 0.025 do
  2318. wait()
  2319. ringp.Transparency = 1-1*i
  2320. end
  2321. ringp.Transparency = 0
  2322. end))
  2323. end end))
  2324. local wingp1m = Instance.new("SpecialMesh")
  2325. wingp1m.Scale = Vector3.new(1,1,1)
  2326. wingp1m.MeshType = "Sphere"
  2327. local wingp1p = Instance.new("Part")
  2328. wingp1p.formFactor = 3
  2329. wingp1p.CanCollide = false
  2330. wingp1p.Name = "FlameOrb"
  2331. wingp1p.Locked = true
  2332. wingp1p.Size = Vector3.new(1,1,1)
  2333. wingp1p.Parent = modemodel
  2334. wingp1m.Parent = wingp1p
  2335. wingp1p.Reflectance = 0.2
  2336. wingp1p.BrickColor = BrickColor.new("Bright red")
  2337. local wingp1w = Instance.new("Weld")
  2338. wingp1w.Parent = wingp1p
  2339. wingp1w.Part0 = wingp1p
  2340. wingp1w.Part1 = Torso
  2341. wingp1w.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0 , 0)
  2342. wingp1w.C0 = CFrame.fromEulerAnglesXYZ(math.rad(0), 0,math.rad(0)) * CFrame.new(0, -0.5, 0.5)
  2343. coroutine.resume(coroutine.create(function()
  2344. for i = 0 , 1 , 0.025 do
  2345. wait()
  2346. wingp1p.Transparency = 1-1*i
  2347. end
  2348. wingp1p.Transparency = 0
  2349. end))
  2350. local Firee = modemodel
  2351. local Spawn = wingp1p
  2352. local colors = {BrickColor.new("Bright red"),BrickColor.new("Bright yellow"),BrickColor.new("Bright orange")}
  2353. local Embers = {}
  2354. local modelz = Instance.new("Model",Firee)
  2355. modelz.Name = "FireHolder"
  2356. for X = 1, 15 do
  2357. local f = Instance.new("Part")
  2358. f.Parent = nil
  2359. f.BrickColor = colors[math.random(1, # colors)]
  2360. f.Size = Vector3.new(1,1,1)
  2361. f.formFactor = 3
  2362. f.Anchored = true
  2363. f.Locked = true
  2364. f.CanCollide = false
  2365. f.Transparency = 0.5
  2366. f.Name = "Fire"
  2367. f.TopSurface = 0
  2368. f.BottomSurface = 0
  2369. Instance.new("BlockMesh",f)
  2370. table.insert(Embers, f)
  2371. end
  2372. local R = 0
  2373. coroutine.resume(coroutine.create(function ()
  2374. repeat
  2375. wait()
  2376. R = R + 1
  2377. for X = 1, # Embers do
  2378. Embers[X].Parent = modelz
  2379. local FM = math.fmod(R + X, # Embers)
  2380. if FM == 1 then
  2381. RandPos = Vector3.new(math.random(-Spawn.Size.x * 5, Spawn.Size.x * 5) / 10, Spawn.Size.y / 2, math.random(-Spawn.Size.x * 5, Spawn.Size.x * 5) / 10)
  2382. RandDir = Vector3.new(math.random(-100,100), math.random(-100,100), math.random(-100,100))
  2383. Embers[X].CFrame = CFrame.new(Spawn.Position + RandPos, (Spawn.Position * rndm) + RandPos + RandDir)
  2384. Embers[X].Mesh.Scale = Vector3.new(1,1,1)
  2385. else
  2386. Embers[X].CFrame = Embers[X].CFrame + Embers[X].CFrame.lookVector*0.5
  2387. Embers[X].Mesh.Scale = Embers[X].Mesh.Scale - Vector3.new(0.1,0.1,0.1)
  2388. end
  2389. end
  2390. until wingp1p.Parent == nil
  2391. for i = 0 ,1 , 0.1 do
  2392. wait(0.2)
  2393. for X = 1, # Embers do
  2394. Embers[X].Transparency = 0.5+0.5*i
  2395. end
  2396. end
  2397. for X = 1, # Embers do
  2398. Embers[X].Parent = nil
  2399. end
  2400. end))
  2401. for ii = 1 , #AoETrue do
  2402. table.remove(AoETrue,#AoETrue)
  2403. end
  2404. wait(0.25)
  2405. for i = 0 , 1 , 0.1 do
  2406. wait()
  2407. RW.C0 = CFrame.new(1.5,0.5+0.5*i,0) * CFrame.fromEulerAnglesXYZ(math.rad(90+25*i), math.rad(0), math.rad(0))
  2408. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2409. LW.C0 = CFrame.new(0,0.5+0.5*i,-1) * CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(65+25*i))
  2410. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2411. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2412. end
  2413. for i = 0 , 1 , 0.1 do
  2414. wait()
  2415. RW.C0 = CFrame.new(1.5,1-0.5*i,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(115-35*i), math.rad(45*i), math.rad(-45*i))
  2416. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2417. LW.C0 = CFrame.new(-1*i,1-0.5*i,-1+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80*i),math.rad(0),math.rad(90-45*i))
  2418. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2419. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(180-180*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2420. end
  2421. RW.C0 = CFrame.new(1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(45), math.rad(-45))
  2422. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2423. LW.C0 = CFrame.new(-1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(45))
  2424. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2425. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2426. attack=false
  2427. wait(1.5)
  2428. mrdychng = false
  2429. end
  2430. function NeutralMode()
  2431. attack=true
  2432. Mode = "None"
  2433. fireboost = 0
  2434. iceboost = 0
  2435. darkboost = 0
  2436. ss(Head,1)
  2437. cs(Head,2)
  2438. mrdychng = true
  2439. for i = 0 , 1 , 0.2 do
  2440. wait()
  2441. RW.C0 = CFrame.new(1+0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i), math.rad(45), math.rad(-45+45*i))
  2442. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(100*i), math.rad(0), math.rad(0))
  2443. LW.C0 = CFrame.new(-1-0.5*i,0.5,-0.5+0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(80+10*i),math.rad(-45),math.rad(45-45*i))
  2444. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(100*i), math.rad(0), math.rad(0))
  2445. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2446. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(70*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2447. end
  2448. coroutine.resume(coroutine.create(function()
  2449. for ii,z in pairs(modemodel:GetChildren()) do
  2450. if string.sub(z.Name,0,string.len(z.Name)-1) ~= "FlameWingP" then
  2451. wait()
  2452. coroutine.resume(coroutine.create(function()
  2453. for i = 0 , 1 , 0.1 do
  2454. wait()
  2455. z.Transparency = (1-z.Transparency)*i
  2456. end
  2457. z.Parent = nil
  2458. end))
  2459. end
  2460. end
  2461. wait(0.5)
  2462. for ii,z in pairs(modemodel:GetChildren()) do
  2463. wait()
  2464. z.Parent = nil
  2465. end
  2466. end))
  2467. for i = 0 , 1 , 0.1 do
  2468. wait()
  2469. RW.C0 = CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(45), math.rad(0))
  2470. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(100+20*i), math.rad(0), math.rad(0))
  2471. LW.C0 = CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(-45),math.rad(0))
  2472. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(100+20*i), math.rad(0), math.rad(0))
  2473. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2474. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(70+20*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2475. end
  2476.  
  2477. wait(0.25)
  2478. for i = 0 , 1 , 0.1 do
  2479. wait()
  2480. RW.C0 = CFrame.new(1.5-0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i), math.rad(45), math.rad(-45*i))
  2481. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(120-120*i), math.rad(0), math.rad(0))
  2482. LW.C0 = CFrame.new(-1.5+0.5*i,0.5,-0.5*i) * CFrame.fromEulerAnglesXYZ(math.rad(90-10*i),math.rad(-45),math.rad(45*i))
  2483. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(120-120*i), math.rad(0), math.rad(0))
  2484. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2485. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(90-90*i), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2486. end
  2487. RW.C0 = CFrame.new(1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(45), math.rad(-45))
  2488. RW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2489. LW.C0 = CFrame.new(-1,0.5,-0.5) * CFrame.fromEulerAnglesXYZ(math.rad(80),math.rad(-45),math.rad(45))
  2490. LW.C1 = CFrame.new(0,0.5,0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0))
  2491. w1.C1 = CFrame.fromEulerAnglesXYZ(0, 0, 0) * CFrame.new(0, 0,0)
  2492. w1.C0 = CFrame.fromEulerAnglesXYZ(math.rad(90), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0.2)
  2493. attack=false
  2494. wait(0.5)
  2495. mrdychng = false
  2496. end
  2497.  
  2498. function ob1d(mouse)
  2499. hold = true
  2500. if attack == true then return end
  2501. end
  2502. function ob1u(mouse)
  2503. end
  2504. buttonhold = false
  2505. function key(key)
  2506. if attack == true then return end
  2507. if key == "q" then
  2508. if attacktype == 1 then
  2509. Combo1a()
  2510. elseif attacktype == 2 then
  2511. Combo1b()
  2512. elseif attacktype == 3 then
  2513. Combo1c()
  2514. end
  2515. end
  2516. if key == "e" then
  2517. if attacktype == 1 then
  2518. BlizzardSword()
  2519. end
  2520. end
  2521. if key == "r" then
  2522. FlameTrail()
  2523. end
  2524. if key == "t" then
  2525. LifeDrain()
  2526. end
  2527. if Mode == "None" and not mrdychng then
  2528. if key == "z" then
  2529. FireMode()
  2530. end
  2531. elseif not mrdychng then
  2532. if key == "z" or key == "x" or key == "c" then
  2533. NeutralMode()
  2534. end
  2535. end
  2536. end
  2537.  
  2538. function key2(key)
  2539. end
  2540. function s(mouse)
  2541. repeat wait() until not attack
  2542. while ev.Value ~= false do
  2543. wait(0.1)
  2544. end
  2545. MMouse = mouse
  2546. mouse.Button1Down:connect(function() ob1d(mouse) end)
  2547. mouse.Button1Up:connect(function() ob1u(mouse) end)
  2548. mouse.KeyDown:connect(key)
  2549. mouse.KeyUp:connect(key2)
  2550. equipanim()
  2551. ev.Value = true
  2552. --[[
  2553. script.Parent = Bin.Parent
  2554. Bin:remove()]]
  2555. end
  2556. function ds(mouse)
  2557. repeat wait() until not attack
  2558. while ev.Value == false do
  2559. wait(0.1)
  2560. end
  2561.  
  2562. hideanim()
  2563. wait(0.1)
  2564. ev.Value = false
  2565. end
  2566. Bin.Selected:connect(s)
  2567. Bin.Deselected:connect(ds)
  2568.  
  2569.  
  2570. --Mediafire
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement