Advertisement
Christoffer07700Extr

FE Magic Mafia

Oct 2nd, 2019
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 115.77 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Please run as a server script. Use h/ instead of hl/.") end
  2. print("FE Compatibility: by WaverlyCole & Mokiros")
  3. InternalData = {}
  4. do
  5. script.Parent = owner.Character
  6. local Event = Instance.new("RemoteEvent")
  7. Event.Name = "UserInput"
  8. local function NewFakeEvent()
  9. local Fake = {fakeEvent=true,Connect=function(self,Func)self.Function=Func end}Fake.connect = Fake.Connect
  10. return Fake
  11. end
  12. local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
  13. local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
  14. local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
  15. self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
  16. end};ContextActionService.UnBindAction = ContextActionService.BindAction
  17. local function TriggerEvent(self,Event,...)
  18. local Trigger = Mouse[Event]
  19. if Trigger and Trigger.fakeEvent and Trigger.Function then
  20. Trigger.Function(...)
  21. end
  22. end
  23. Mouse.TrigEvent = TriggerEvent
  24. UserInputService.TrigEvent = TriggerEvent
  25. Event.OnServerEvent:Connect(function(FiredBy,Input)
  26. if FiredBy.Name ~= owner.Name then end
  27. if Input.MouseEvent then
  28. Mouse.Target = Input.Target
  29. Mouse.Hit = Input.Hit
  30. else
  31. local Begin = Input.UserInputState == Enum.UserInputState.Begin
  32. if Input.UserInputType == Enum.UserInputType.MouseButton1 then
  33. return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up")
  34. end
  35. for _,Action in pairs(ContextActionService.Actions) do
  36. for _,Key in pairs(Action.Keys) do
  37. if Key==Input.KeyCode then
  38. Action.Function(Action.Name,Input.UserInputState,Input)
  39. end
  40. end
  41. end
  42. Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
  43. UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
  44. end
  45. end)
  46. InternalData["Mouse"] = Mouse
  47. InternalData["ContextActionService"] = ContextActionService
  48. InternalData["UserInputService"] = UserInputService
  49. Event.Parent = NLS([[
  50. local Player = owner
  51. local Event = script:WaitForChild("UserInput")
  52. local UserInputService = game:GetService("UserInputService")
  53. local Mouse = Player:GetMouse()
  54. local Input = function(Input,gameProcessedEvent)
  55. if gameProcessedEvent then return end
  56. Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
  57. end
  58. UserInputService.InputBegan:Connect(Input)
  59. UserInputService.InputEnded:Connect(Input)
  60. local Hit,Target
  61. while wait(1/30) do
  62. if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
  63. Hit,Target = Mouse.Hit,Mouse.Target
  64. Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
  65. end
  66. end
  67. ]],owner.Character)
  68. end
  69. RealGame = game;game = setmetatable({},{
  70. __index = function (self,Index)
  71. local Sandbox = function (Thing)
  72. if Thing:IsA("Player") then
  73. local RealPlayer = Thing
  74. return setmetatable({},{
  75. __index = function (self,Index)
  76. local Type = type(RealPlayer[Index])
  77. if Type == "function" then
  78. if Index:lower() == "getmouse" or Index:lower() == "mouse" then
  79. return function (self)
  80. return InternalData["Mouse"]
  81. end
  82. end
  83. return function (self,...)
  84. return RealPlayer[Index](RealPlayer,...)
  85. end
  86. else
  87. return RealPlayer[Index]
  88. end
  89. end;
  90. __tostring = function(self)
  91. return RealPlayer.Name
  92. end
  93. })
  94. end
  95. end
  96. if RealGame[Index] then
  97. local Type = type(RealGame[Index])
  98. if Type == "function" then
  99. if Index:lower() == "getservice" or Index:lower() == "service" then
  100. return function (self,Service)
  101. if Service:lower() == "players" then
  102. return setmetatable({},{
  103. __index = function (self2,Index2)
  104. local RealService = RealGame:GetService(Service)
  105. local Type2 = type(Index2)
  106. if Type2 == "function" then
  107. return function (self,...)
  108. return RealService[Index2](RealService,...)
  109. end
  110. else
  111. if Index2:lower() == "localplayer" then
  112. return Sandbox(owner)
  113. end
  114. return RealService[Index2]
  115. end
  116. end;
  117. __tostring = function(self)
  118. return RealGame:GetService(Service).Name
  119. end
  120. })
  121. elseif Service:lower() == "contextactionservice" then
  122. return InternalData["ContextActionService"]
  123. elseif Service:lower() == "contextactionservice" then
  124. return InternalData["UserInputService"]
  125. elseif Service:lower() == "runservice" then
  126. return setmetatable({},{
  127. __index = function(self2,Index2)
  128. local RealService = RealGame:GetService(Service)
  129. local Type2 = type(Index2)
  130. if Type2 == "function" then
  131. return function (self,...)
  132. return RealService[Index2](RealService,...)
  133. end
  134. else
  135. if Index2:lower() == "bindtorenderstep" then
  136. return function (self,Name,Priority,Function)
  137. return RealGame:GetService("RunService").Stepped:Connect(Function)
  138. end
  139. end
  140. if Index2:lower() == "renderstepped" then
  141. return RealService["Stepped"]
  142. end
  143. return RealService[Index2]
  144. end
  145. end
  146. })
  147. else
  148. return RealGame:GetService(Service)
  149. end
  150. end
  151. end
  152. return function (self,...)
  153. return RealGame[Index](RealGame,...)
  154. end
  155. else
  156. if game:GetService(Index) then
  157. return game:GetService(Index)
  158. end
  159. return RealGame[Index]
  160. end
  161. else
  162. return nil
  163. end
  164. end
  165. });Game = game;owner = game:GetService("Players").LocalPlayer
  166. print("Complete! Running...")
  167.  
  168. --//====================================================\\--
  169. --|| CREATED BY SHACKLUSTER
  170. --\\====================================================//--
  171.  
  172.  
  173.  
  174. wait(2)
  175.  
  176.  
  177.  
  178. Player = game:GetService("Players").LocalPlayer
  179. PlayerGui = Player.PlayerGui
  180. Cam = workspace.CurrentCamera
  181. Backpack = Player.Backpack
  182. Character = Player.Character
  183. Humanoid = Character.Humanoid
  184. Mouse = Player:GetMouse()
  185. RootPart = Character["HumanoidRootPart"]
  186. Torso = Character["Torso"]
  187. Head = Character["Head"]
  188. RightArm = Character["Right Arm"]
  189. LeftArm = Character["Left Arm"]
  190. RightLeg = Character["Right Leg"]
  191. LeftLeg = Character["Left Leg"]
  192. RootJoint = RootPart["RootJoint"]
  193. Neck = Torso["Neck"]
  194. RightShoulder = Torso["Right Shoulder"]
  195. LeftShoulder = Torso["Left Shoulder"]
  196. RightHip = Torso["Right Hip"]
  197. LeftHip = Torso["Left Hip"]
  198. if Character:FindFirstChild("Shirt") then
  199. Character.Shirt:Destroy()
  200. end
  201. if Character:FindFirstChild("Pants") then
  202. Character.Pants:Destroy()
  203. end
  204. local top = Instance.new("Shirt")
  205. top.ShirtTemplate = "rbxassetid://764022882"
  206. local bottom = Instance.new("Pants")
  207. bottom.PantsTemplate = "rbxassetid://129459076"
  208. top.Parent = Character
  209. bottom.Parent = Character
  210. q = Character:GetChildren()
  211. for u = 1, #q do
  212. if q[u].ClassName == "Accessory" then
  213. q[u]:Destroy()
  214. elseif q[u].ClassName == "CharacterMesh" then
  215. q[u]:Destroy()
  216. end
  217. end
  218. Head.face.Texture = "rbxassetid://1032441660"
  219.  
  220. IT = Instance.new
  221. CF = CFrame.new
  222. VT = Vector3.new
  223. RAD = math.rad
  224. C3 = Color3.new
  225. UD2 = UDim2.new
  226. BRICKC = BrickColor.new
  227. ANGLES = CFrame.Angles
  228. EULER = CFrame.fromEulerAnglesXYZ
  229. COS = math.cos
  230. ACOS = math.acos
  231. SIN = math.sin
  232. ASIN = math.asin
  233. ABS = math.abs
  234. MRANDOM = math.random
  235. FLOOR = math.floor
  236.  
  237. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  238. local NEWMESH = IT(MESH)
  239. if MESH == "SpecialMesh" then
  240. NEWMESH.MeshType = MESHTYPE
  241. if MESHID ~= "nil" and MESHID ~= "" then
  242. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  243. end
  244. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  245. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  246. end
  247. end
  248. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  249. NEWMESH.Scale = SCALE
  250. NEWMESH.Parent = PARENT
  251. return NEWMESH
  252. end
  253.  
  254. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  255. local NEWPART = IT("Part")
  256. NEWPART.formFactor = FORMFACTOR
  257. NEWPART.Reflectance = REFLECTANCE
  258. NEWPART.Transparency = TRANSPARENCY
  259. NEWPART.CanCollide = false
  260. NEWPART.Locked = true
  261. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  262. NEWPART.Name = NAME
  263. NEWPART.Size = SIZE
  264. NEWPART.Position = Torso.Position
  265. NEWPART.Material = MATERIAL
  266. NEWPART:BreakJoints()
  267. NEWPART.Parent = PARENT
  268. return NEWPART
  269. end
  270.  
  271.  
  272. --//=================================\\
  273. --|| CUSTOMIZATION
  274. --\\=================================//
  275.  
  276. Class_Name = "Riho"
  277. Weapon_Name = "Wreckage"
  278.  
  279. Custom_Colors = {
  280. Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
  281. Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
  282.  
  283. Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
  284. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  285. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  286. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  287. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  288.  
  289. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  290. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  291. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  292. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  293. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  294. }
  295.  
  296. Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
  297. Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
  298. Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
  299. Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
  300. Ability_Background_Transparency = 0 --Transparency for the background of the abilities.
  301. Stat_Background_Transparency = 0 --Transparency for the background of the stats.
  302.  
  303. Player_Size = 1 --Size of the player.
  304. Animation_Speed = 4
  305. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  306.  
  307. Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
  308. Enable_Stats = false --Enables or disables stats.
  309. Put_Stats_In_Character = false --Places stats in Character.
  310. Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
  311. Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
  312. Enable_Stagger = false --Enables or disables staggering.
  313. Enable_Stun = false --Enables or disables the stun mechanic.
  314. Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
  315. Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
  316.  
  317. Start_Equipped = true --Starts the player equipped with their weapon.
  318. Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
  319. Can_Equip_Or_Unequip = false --Enables or disables the ability to unequip or equip your weapon.
  320. Disable_Animator = true --Disables the Animator in the humanoid.
  321. Disable_Animate = true --Disables the Animate script in the character.
  322. Disable_Moving_Arms = false --Keeps the arms from moving around.
  323. Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
  324. Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
  325. Disable_Jump = false --Disables jumping.
  326. Use_HopperBin = false --Uses a hopperbin to do things.
  327.  
  328. Cooldown_1 = 0 --Cooldowns for abilites.
  329. Cooldown_2 = 0
  330. Cooldown_3 = 0
  331. Cooldown_4 = 0
  332. Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
  333. Skill_2_Mana_Cost = 0
  334. Skill_3_Mana_Cost = 0
  335. Skill_4_Mana_Cost = 0
  336. Max_Mana = 0 --Maximum amount of mana you can have.
  337. Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
  338. Mana_Name = "Mana" --Name for the mana bar.
  339. Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
  340. Max_Stun = 1 --Maximum amount of stun you can have.
  341. Recover_Mana = 0 --How much mana you gain.
  342. Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
  343. Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
  344. Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
  345. Recover_Secondary_Mana = 0 --How much secondary mana you gain.
  346. Lose_Stun = 0 --How much stun you lose.
  347. Stun_Wait = 0 --Delay between losing stun.
  348. Mana_Wait = 0 --Delay between gaining mana.
  349. Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
  350. Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
  351. Constant_Update = false --Removes the delay between updating the Weapon GUI.
  352. Show_Stats = false --Hides or shows stats.
  353. Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
  354.  
  355. --//=================================\\
  356. --|| END OF CUSTOMIZATION
  357. --\\=================================//
  358.  
  359. local function weldBetween(a, b)
  360. local weldd = Instance.new("ManualWeld")
  361. weldd.Part0 = a
  362. weldd.Part1 = b
  363. weldd.C0 = CFrame.new()
  364. weldd.C1 = b.CFrame:inverse() * a.CFrame
  365. weldd.Parent = a
  366. return weldd
  367. end
  368.  
  369. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  370. local acs = Instance.new("Part")
  371. acs.CanCollide = false
  372. acs.Anchored = false
  373. acs.Size = Vector3.new(0,0,0)
  374. acs.CFrame = attachmentpart.CFrame
  375. acs.Parent = Character
  376. acs.BrickColor = color
  377. local meshs = Instance.new("SpecialMesh")
  378. meshs.MeshId = mesh
  379. meshs.TextureId = texture
  380. meshs.Parent = acs
  381. meshs.Scale = scale
  382. meshs.Offset = offset
  383. weldBetween(attachmentpart,acs)
  384. end
  385.  
  386. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  387. if TYPE == "Gem" then
  388. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  389. acs.Anchored = false
  390. acs.CanCollide = false
  391. acs.CFrame = PART.CFrame
  392. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  393. weldBetween(PART,acs)
  394. elseif TYPE == "Skull" then
  395. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  396. acs.Anchored = false
  397. acs.CanCollide = false
  398. acs.CFrame = PART.CFrame
  399. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  400. weldBetween(PART,acs)
  401. elseif TYPE == "Eye" then
  402. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  403. acs.Anchored = false
  404. acs.CanCollide = false
  405. acs.CFrame = PART.CFrame
  406. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  407. weldBetween(PART,acs)
  408. end
  409. end
  410.  
  411. --//=================================\\
  412. --|| USEFUL VALUES
  413. --\\=================================//
  414.  
  415. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  416. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  417. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  418. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  419. local CO1 = 0
  420. local CO2 = 0
  421. local CO3 = 0
  422. local CO4 = 0
  423. local CHANGEDEFENSE = 0
  424. local CHANGEDAMAGE = 0
  425. local CHANGEMOVEMENT = 0
  426. local ANIM = "Idle"
  427. local ATTACK = false
  428. local EQUIPPED = false
  429. local HOLD = false
  430. local COMBO = 1
  431. local LASTPOINT = nil
  432. local BLCF = nil
  433. local SCFR = nil
  434. local STAGGERHITANIM = false
  435. local STAGGERANIM = false
  436. local STUNANIM = false
  437. local CRITCHANCENUMBER = 0
  438. local IDLENUMBER = 0
  439. local DONUMBER = 0
  440. local HANDIDLE = false
  441. local SINE = 0
  442. local CHANGE = 2 / Animation_Speed
  443. local WALKINGANIM = false
  444. local WALK = 0
  445. local DISABLEJUMPING = false
  446. local HASBEENBLOCKED = false
  447. local STUNDELAYNUMBER = 0
  448. local MANADELAYNUMBER = 0
  449. local SECONDARYMANADELAYNUMBER = 0
  450. local ROBLOXIDLEANIMATION = IT("Animation")
  451. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  452. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  453. --ROBLOXIDLEANIMATION.Parent = Humanoid
  454. local WEAPONGUI = IT("ScreenGui", nil)
  455. WEAPONGUI.Name = "Weapon GUI"
  456. local WEAPONTOOL = IT("HopperBin", nil)
  457. WEAPONTOOL.Name = Weapon_Name
  458. local Weapon = IT("Model")
  459. Weapon.Name = Weapon_Name
  460. local Effects = IT("Folder", Weapon)
  461. Effects.Name = "Effects"
  462. local ANIMATOR = Humanoid.Animator
  463. local ANIMATE = Character.Animate
  464. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  465. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  466. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  467. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  468.  
  469. --//=================================\\
  470. --\\=================================//
  471.  
  472. --//=================================\\
  473. --|| STATS
  474. --\\=================================//
  475.  
  476. if Character:FindFirstChild("Stats") ~= nil then
  477. Character:FindFirstChild("Stats").Parent = nil
  478. end
  479.  
  480. local Stats = IT("Folder", nil)
  481. Stats.Name = "Stats"
  482. local ChangeStat = IT("Folder", Stats)
  483. ChangeStat.Name = "ChangeStat"
  484. local Defense = IT("NumberValue", Stats)
  485. Defense.Name = "Defense"
  486. Defense.Value = 1
  487. local Movement = IT("NumberValue", Stats)
  488. Movement.Name = "Movement"
  489. Movement.Value = 1
  490. local Damage = IT("NumberValue", Stats)
  491. Damage.Name = "Damage"
  492. Damage.Value = 1
  493. local Mana = IT("NumberValue", Stats)
  494. Mana.Name = "Mana"
  495. Mana.Value = 0
  496. local SecondaryMana = IT("NumberValue", Stats)
  497. SecondaryMana.Name = "SecondaryMana"
  498. SecondaryMana.Value = 0
  499. local CanCrit = IT("BoolValue", Stats)
  500. CanCrit.Name = "CanCrit"
  501. CanCrit.Value = false
  502. local CritChance = IT("NumberValue", Stats)
  503. CritChance.Name = "CritChance"
  504. CritChance.Value = 20
  505. local CanPenetrateArmor = IT("BoolValue", Stats)
  506. CanPenetrateArmor.Name = "CanPenetrateArmor"
  507. CanPenetrateArmor.Value = false
  508. local AntiTeamKill = IT("BoolValue", Stats)
  509. AntiTeamKill.Name = "AntiTeamKill"
  510. AntiTeamKill.Value = false
  511. local Rooted = IT("BoolValue", Stats)
  512. Rooted.Name = "Rooted"
  513. Rooted.Value = false
  514. local Block = IT("BoolValue", Stats)
  515. Block.Name = "Block"
  516. Block.Value = false
  517. local RecentEnemy = IT("ObjectValue", Stats)
  518. RecentEnemy.Name = "RecentEnemy"
  519. RecentEnemy.Value = nil
  520. local StaggerHit = IT("BoolValue", Stats)
  521. StaggerHit.Name = "StaggerHit"
  522. StaggerHit.Value = false
  523. local Stagger = IT("BoolValue", Stats)
  524. Stagger.Name = "Stagger"
  525. Stagger.Value = false
  526. local Stun = IT("BoolValue", Stats)
  527. Stun.Name = "Stun"
  528. Stun.Value = false
  529. local StunValue = IT("NumberValue", Stats)
  530. StunValue.Name = "StunValue"
  531. StunValue.Value = 0
  532.  
  533. if Enable_Stats == true and Put_Stats_In_Character == true then
  534. Stats.Parent = Character
  535. end
  536.  
  537. --//=================================\\
  538. --\\=================================//
  539.  
  540.  
  541.  
  542.  
  543.  
  544. --//=================================\\
  545. --|| DEBUFFS / BUFFS
  546. --\\=================================//
  547.  
  548. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  549. DEFENSECHANGE1.Name = "ChangeDefense"
  550. DEFENSECHANGE1.Value = 0
  551.  
  552. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  553. MOVEMENTCHANGE1.Name = "ChangeMovement"
  554. MOVEMENTCHANGE1.Value = 0
  555.  
  556. --//=================================\\
  557. --\\=================================//
  558.  
  559.  
  560.  
  561.  
  562.  
  563. --//=================================\\
  564. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  565. --\\=================================//
  566.  
  567. ArtificialHB = Instance.new("BindableEvent", script)
  568. ArtificialHB.Name = "ArtificialHB"
  569.  
  570. script:WaitForChild("ArtificialHB")
  571.  
  572. frame = Frame_Speed
  573. tf = 0
  574. allowframeloss = false
  575. tossremainder = false
  576. lastframe = tick()
  577. script.ArtificialHB:Fire()
  578.  
  579. game:GetService("RunService").Heartbeat:connect(function(s, p)
  580. tf = tf + s
  581. if tf >= frame then
  582. if allowframeloss then
  583. script.ArtificialHB:Fire()
  584. lastframe = tick()
  585. else
  586. for i = 1, math.floor(tf / frame) do
  587. script.ArtificialHB:Fire()
  588. end
  589. lastframe = tick()
  590. end
  591. if tossremainder then
  592. tf = 0
  593. else
  594. tf = tf - frame * math.floor(tf / frame)
  595. end
  596. end
  597. end)
  598.  
  599. --//=================================\\
  600. --\\=================================//
  601.  
  602. BC = BrickColor.new
  603. createaccessory(Head,"http://www.roblox.com/asset/?id=13640868","http://www.roblox.com/asset/?id=13640869",Vector3.new(1,1,1),Vector3.new(0,0.5,0),BC(0,0,0))
  604.  
  605.  
  606. --//=================================\\
  607. --|| SOME FUNCTIONS
  608. --\\=================================//
  609.  
  610. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  611. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  612. end
  613.  
  614. function PositiveAngle(NUMBER)
  615. if NUMBER >= 0 then
  616. NUMBER = 0
  617. end
  618. return NUMBER
  619. end
  620.  
  621. function NegativeAngle(NUMBER)
  622. if NUMBER <= 0 then
  623. NUMBER = 0
  624. end
  625. return NUMBER
  626. end
  627.  
  628. function Swait(NUMBER)
  629. if NUMBER == 0 or NUMBER == nil then
  630. ArtificialHB.Event:wait()
  631. else
  632. for i = 1, NUMBER do
  633. ArtificialHB.Event:wait()
  634. end
  635. end
  636. end
  637.  
  638. function QuaternionFromCFrame(cf)
  639. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  640. local trace = m00 + m11 + m22
  641. if trace > 0 then
  642. local s = math.sqrt(1 + trace)
  643. local recip = 0.5 / s
  644. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  645. else
  646. local i = 0
  647. if m11 > m00 then
  648. i = 1
  649. end
  650. if m22 > (i == 0 and m00 or m11) then
  651. i = 2
  652. end
  653. if i == 0 then
  654. local s = math.sqrt(m00 - m11 - m22 + 1)
  655. local recip = 0.5 / s
  656. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  657. elseif i == 1 then
  658. local s = math.sqrt(m11 - m22 - m00 + 1)
  659. local recip = 0.5 / s
  660. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  661. elseif i == 2 then
  662. local s = math.sqrt(m22 - m00 - m11 + 1)
  663. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  664. end
  665. end
  666. end
  667.  
  668. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  669. local xs, ys, zs = x + x, y + y, z + z
  670. local wx, wy, wz = w * xs, w * ys, w * zs
  671. local xx = x * xs
  672. local xy = x * ys
  673. local xz = x * zs
  674. local yy = y * ys
  675. local yz = y * zs
  676. local zz = z * zs
  677. return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
  678. end
  679.  
  680. function QuaternionSlerp(a, b, t)
  681. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  682. local startInterp, finishInterp;
  683. if cosTheta >= 0.0001 then
  684. if (1 - cosTheta) > 0.0001 then
  685. local theta = ACOS(cosTheta)
  686. local invSinTheta = 1 / SIN(theta)
  687. startInterp = SIN((1 - t) * theta) * invSinTheta
  688. finishInterp = SIN(t * theta) * invSinTheta
  689. else
  690. startInterp = 1 - t
  691. finishInterp = t
  692. end
  693. else
  694. if (1 + cosTheta) > 0.0001 then
  695. local theta = ACOS(-cosTheta)
  696. local invSinTheta = 1 / SIN(theta)
  697. startInterp = SIN((t - 1) * theta) * invSinTheta
  698. finishInterp = SIN(t * theta) * invSinTheta
  699. else
  700. startInterp = t - 1
  701. finishInterp = t
  702. end
  703. end
  704. return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
  705. end
  706.  
  707. function Clerp(a, b, t)
  708. local qa = {QuaternionFromCFrame(a)}
  709. local qb = {QuaternionFromCFrame(b)}
  710. local ax, ay, az = a.x, a.y, a.z
  711. local bx, by, bz = b.x, b.y, b.z
  712. local _t = 1 - t
  713. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  714. end
  715.  
  716. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  717. local frame = IT("Frame")
  718. frame.BackgroundTransparency = TRANSPARENCY
  719. frame.BorderSizePixel = BORDERSIZEPIXEL
  720. frame.Position = POSITION
  721. frame.Size = SIZE
  722. frame.BackgroundColor3 = COLOR
  723. frame.BorderColor3 = BORDERCOLOR
  724. frame.Name = NAME
  725. frame.Parent = PARENT
  726. return frame
  727. end
  728.  
  729. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  730. local label = IT("TextLabel")
  731. label.BackgroundTransparency = 1
  732. label.Size = UD2(1, 0, 1, 0)
  733. label.Position = UD2(0, 0, 0, 0)
  734. label.TextColor3 = C3(255, 255, 255)
  735. label.TextStrokeTransparency = STROKETRANSPARENCY
  736. label.TextTransparency = TRANSPARENCY
  737. label.FontSize = TEXTFONTSIZE
  738. label.Font = TEXTFONT
  739. label.BorderSizePixel = BORDERSIZEPIXEL
  740. label.TextScaled = true
  741. label.Text = TEXT
  742. label.Name = NAME
  743. label.Parent = PARENT
  744. return label
  745. end
  746.  
  747. function NoOutlines(PART)
  748. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  749. end
  750.  
  751.  
  752. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  753. local NEWWELD = IT(TYPE)
  754. NEWWELD.Part0 = PART0
  755. NEWWELD.Part1 = PART1
  756. NEWWELD.C0 = C0
  757. NEWWELD.C1 = C1
  758. NEWWELD.Parent = PARENT
  759. return NEWWELD
  760. end
  761.  
  762. function CreateSound(ID, PARENT, VOLUME, PITCH)
  763. coroutine.resume(coroutine.create(function()
  764. local NEWSOUND = IT("Sound", PARENT)
  765. NEWSOUND.Volume = VOLUME
  766. NEWSOUND.Pitch = PITCH
  767. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  768. Swait()
  769. NEWSOUND:play()
  770. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  771. end))
  772. end
  773.  
  774. function CFrameFromTopBack(at, top, back)
  775. local right = top:Cross(back)
  776. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  777. end
  778.  
  779. function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
  780. local MAGNITUDE = (POSITION1 - POSITION2).magnitude
  781. local CURRENTPOSITION = POSITION1
  782. local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
  783. coroutine.resume(coroutine.create(function()
  784. for i = 1, MULTIPLIERTIME do
  785. local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
  786. LIGHTNINGPART.Anchored = true
  787. local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)])
  788. local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
  789. if MULTIPLIERTIME == i then
  790. local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
  791. LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
  792. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
  793. else
  794. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
  795. end
  796. CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
  797. game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
  798. coroutine.resume(coroutine.create(function()
  799. while LIGHTNINGPART.Transparency ~= 1 do
  800. --local StartTransparency = tra
  801. for i=0, 1, LASTINGTIME do
  802. Swait()
  803. LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
  804. end
  805. end
  806. end))
  807. Swait(LIGHTNINGDELAY / Animation_Speed)
  808. end
  809. end))
  810. end
  811.  
  812. function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  813. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  814. EFFECTPART.Anchored = true
  815. EFFECTPART.CFrame = CFRAME
  816. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  817. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  818. coroutine.resume(coroutine.create(function(PART, MESH)
  819. for i = 0, 1, delay do
  820. Swait()
  821. PART.CFrame = PART.CFrame * ROTATION
  822. PART.Transparency = i
  823. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  824. end
  825. PART.Parent = nil
  826. end), EFFECTPART, EFFECTMESH)
  827. end
  828.  
  829. function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  830. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  831. EFFECTPART.Anchored = true
  832. EFFECTPART.CFrame = CFRAME
  833. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  834. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  835. coroutine.resume(coroutine.create(function(PART, MESH)
  836. for i = 0, 1, delay do
  837. Swait()
  838. PART.CFrame = PART.CFrame * ROTATION
  839. PART.Transparency = i
  840. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  841. end
  842. PART.Parent = nil
  843. end), EFFECTPART, EFFECTMESH)
  844. end
  845.  
  846. function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  847. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  848. EFFECTPART.Anchored = true
  849. EFFECTPART.CFrame = CFRAME
  850. local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  851. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  852. coroutine.resume(coroutine.create(function(PART, MESH)
  853. for i = 0, 1, delay do
  854. Swait()
  855. PART.CFrame = PART.CFrame * ROTATION
  856. PART.Transparency = i
  857. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  858. end
  859. PART.Parent = nil
  860. end), EFFECTPART, EFFECTMESH)
  861. end
  862.  
  863. function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  864. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  865. EFFECTPART.Anchored = true
  866. EFFECTPART.CFrame = CFRAME
  867. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  868. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  869. coroutine.resume(coroutine.create(function(PART, MESH)
  870. for i = 0, 1, delay do
  871. Swait()
  872. PART.CFrame = PART.CFrame * ROTATION
  873. PART.Transparency = i
  874. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  875. end
  876. PART.Parent = nil
  877. end), EFFECTPART, EFFECTMESH)
  878. end
  879.  
  880. function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  881. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  882. EFFECTPART.Anchored = true
  883. EFFECTPART.CFrame = CFRAME
  884. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  885. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  886. coroutine.resume(coroutine.create(function(PART, MESH)
  887. for i = 0, 1, delay do
  888. Swait()
  889. PART.CFrame = PART.CFrame * ROTATION
  890. PART.Transparency = i
  891. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  892. end
  893. PART.Parent = nil
  894. end), EFFECTPART, EFFECTMESH)
  895. end
  896.  
  897. function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  898. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  899. EFFECTPART.Anchored = true
  900. EFFECTPART.CFrame = CFRAME
  901. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
  902. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  903. coroutine.resume(coroutine.create(function(PART, MESH)
  904. for i = 0, 1, delay do
  905. Swait()
  906. PART.CFrame = PART.CFrame * ROTATION
  907. PART.Transparency = i
  908. MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
  909. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  910. end
  911. PART.Parent = nil
  912. end), EFFECTPART, EFFECTMESH)
  913. end
  914.  
  915. function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  916. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  917. EFFECTPART.Anchored = true
  918. EFFECTPART.CFrame = CFRAME
  919. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  920. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  921. coroutine.resume(coroutine.create(function(PART, MESH)
  922. for i = 0, 1, delay do
  923. Swait()
  924. PART.CFrame = PART.CFrame * ROTATION
  925. PART.Transparency = i
  926. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  927. end
  928. PART.Parent = nil
  929. end), EFFECTPART, EFFECTMESH)
  930. end
  931.  
  932. function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  933. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  934. EFFECTPART.Anchored = true
  935. EFFECTPART.CFrame = CFRAME
  936. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  937. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  938. coroutine.resume(coroutine.create(function(PART, MESH)
  939. for i = 0, 1, delay do
  940. Swait()
  941. PART.CFrame = PART.CFrame * ROTATION
  942. PART.Transparency = i
  943. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  944. end
  945. PART.Parent = nil
  946. end), EFFECTPART, EFFECTMESH)
  947. end
  948.  
  949. function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  950. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  951. EFFECTPART.Anchored = true
  952. EFFECTPART.CFrame = CFRAME
  953. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  954. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  955. coroutine.resume(coroutine.create(function(PART, MESH)
  956. for i = 0, 1, delay do
  957. Swait()
  958. PART.CFrame = PART.CFrame * ROTATION
  959. PART.Transparency = i
  960. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  961. end
  962. PART.Parent = nil
  963. end), EFFECTPART, EFFECTMESH)
  964. end
  965.  
  966. function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  967. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  968. EFFECTPART.Anchored = true
  969. EFFECTPART.CFrame = CFRAME
  970. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  971. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  972. coroutine.resume(coroutine.create(function(PART, MESH)
  973. for i = 0, 1, delay do
  974. Swait()
  975. PART.CFrame = PART.CFrame * ROTATION
  976. PART.Transparency = i
  977. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  978. end
  979. PART.Parent = nil
  980. end), EFFECTPART, EFFECTMESH)
  981. end
  982.  
  983. function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  984. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  985. EFFECTPART.Anchored = true
  986. EFFECTPART.CFrame = CFRAME
  987. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  988. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  989. coroutine.resume(coroutine.create(function(PART, MESH)
  990. for i = 0, 1, delay do
  991. Swait()
  992. PART.CFrame = PART.CFrame * ROTATION
  993. PART.Transparency = i
  994. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  995. end
  996. PART.Parent = nil
  997. end), EFFECTPART, EFFECTMESH)
  998. end
  999.  
  1000. function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  1001. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  1002. EFFECTPART.Anchored = true
  1003. EFFECTPART.CFrame = CFRAME
  1004. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  1005. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  1006. coroutine.resume(coroutine.create(function(PART, MESH)
  1007. for i = 0, 1, delay do
  1008. Swait()
  1009. PART.CFrame = PART.CFrame * ROTATION
  1010. PART.Transparency = i
  1011. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  1012. end
  1013. PART.Parent = nil
  1014. end), EFFECTPART, EFFECTMESH)
  1015. end
  1016.  
  1017. function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  1018. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  1019. EFFECTPART.Anchored = true
  1020. EFFECTPART.CFrame = CFRAME
  1021. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  1022. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  1023. coroutine.resume(coroutine.create(function(PART, MESH)
  1024. for i = 0, 1, delay do
  1025. Swait()
  1026. PART.CFrame = PART.CFrame * ROTATION
  1027. PART.Transparency = i
  1028. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  1029. end
  1030. PART.Parent = nil
  1031. end), EFFECTPART, EFFECTMESH)
  1032. end
  1033.  
  1034. function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
  1035. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  1036. EFFECTPART.Anchored = true
  1037. EFFECTPART.CFrame = CFRAME
  1038. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
  1039. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  1040. local XVALUE = MRANDOM()
  1041. local YVALUE = MRANDOM()
  1042. local ZVALUE = MRANDOM()
  1043. coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
  1044. for i = 0, 1, delay do
  1045. Swait()
  1046. PART.CFrame = PART.CFrame * ROTATION
  1047. PART.Transparency = i
  1048. THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
  1049. THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
  1050. THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
  1051. MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
  1052. end
  1053. PART.Parent = nil
  1054. end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
  1055. end
  1056.  
  1057. function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
  1058. local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
  1059. if MAGNITUDECFRAME > (1 / 100) then
  1060. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
  1061. EFFECTPART.Anchored = true
  1062. EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
  1063. local THEMESHTYPE = "BlockMesh"
  1064. if MESHTYPE == "Cylinder" then
  1065. THEMESHTYPE = "CylinderMesh"
  1066. end
  1067. local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
  1068. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  1069. coroutine.resume(coroutine.create(function(PART, MESH)
  1070. for i = 0, 1, delay do
  1071. Swait()
  1072. PART.CFrame = PART.CFrame * ROTATION
  1073. PART.Transparency = i
  1074. MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
  1075. end
  1076. PART.Parent = nil
  1077. end), EFFECTPART, EFFECTMESH)
  1078. end
  1079. end
  1080.  
  1081. function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
  1082. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
  1083. EFFECTPART.Anchored = true
  1084. EFFECTPART.CFrame = CFRAME
  1085. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
  1086. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  1087. local THELASTPOINT = CFRAME
  1088. coroutine.resume(coroutine.create(function(PART)
  1089. for i = 1, DURATION do
  1090. Swait()
  1091. PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
  1092. TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
  1093. THELASTPOINT = PART.CFrame
  1094. end
  1095. PART.Parent = nil
  1096. end), EFFECTPART)
  1097. end
  1098.  
  1099. --local list={}
  1100. function Triangle(Color, Material, a, b, c, delay)
  1101. local edge1 = (c - a):Dot((b - a).unit)
  1102. local edge2 = (a - b):Dot((c - b).unit)
  1103. local edge3 = (b - c):Dot((a - c).unit)
  1104. if edge1 <= (b - a).magnitude and edge1 >= 0 then
  1105. a, b, c=a, b, c
  1106. elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
  1107. a, b, c=b, c, a
  1108. elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
  1109. a, b, c=c, a, b
  1110. else
  1111. assert(false, "unreachable")
  1112. end
  1113. local len1 = (c - a):Dot((b - a).unit)
  1114. local len2 = (b - a).magnitude - len1
  1115. local width = (a + (b - a).unit * len1 - c).magnitude
  1116. local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
  1117. if len1 > 1 / 100 then
  1118. local sz = VT(0.2, width, len1)
  1119. local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  1120. local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
  1121. w1.Anchored = true
  1122. w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
  1123. coroutine.resume(coroutine.create(function()
  1124. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  1125. Swait()
  1126. w1.Transparency = i
  1127. end
  1128. w1.Parent = nil
  1129. end))
  1130. game:GetService("Debris"):AddItem(w1, 10)
  1131. --table.insert(list, w1)
  1132. end
  1133. if len2 > 1 / 100 then
  1134. local sz = VT(0.2, width, len2)
  1135. local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  1136. local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
  1137. w2.Anchored = true
  1138. w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
  1139. coroutine.resume(coroutine.create(function()
  1140. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  1141. Swait()
  1142. w2.Transparency = i
  1143. end
  1144. w2.Parent = nil
  1145. end))
  1146. game:GetService("Debris"):AddItem(w2, 10)
  1147. --table.insert(list, w2)
  1148. end
  1149. --return unpack(list)
  1150. end
  1151.  
  1152. --[[Usage:
  1153. local Pos = Part
  1154. local Offset = Part.CFrame * CF(0, 0, 0)
  1155. local Color = "Institutional white"
  1156. local Material = "Neon"
  1157. local TheDelay = 0.01
  1158. local Height = 4
  1159. BLCF = Offset
  1160. if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
  1161. local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
  1162. if a then game:GetService("Debris"):AddItem(a, 1) end
  1163. if b then game:GetService("Debris"):AddItem(b, 1) end
  1164. local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
  1165. if a then game:GetService("Debris"):AddItem(a, 1) end
  1166. if b then game:GetService("Debris"):AddItem(b, 1) end
  1167. SCFR = BLCF
  1168. elseif not SCFR then
  1169. SCFR = BLCF
  1170. end
  1171. --
  1172. BLCF = nil
  1173. SCFR = nil
  1174. --]]
  1175.  
  1176. --//=================================\\
  1177. --\\=================================//
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183. --//=================================\\
  1184. --|| RESIZE PLAYER
  1185. --\\=================================//
  1186.  
  1187. if Player_Size ~= 1 then
  1188. RootPart.Size = RootPart.Size * Player_Size
  1189. Torso.Size = Torso.Size * Player_Size
  1190. Head.Size = Head.Size * Player_Size
  1191. RightArm.Size = RightArm.Size * Player_Size
  1192. LeftArm.Size = LeftArm.Size * Player_Size
  1193. RightLeg.Size = RightLeg.Size * Player_Size
  1194. LeftLeg.Size = LeftLeg.Size * Player_Size
  1195. RootJoint.Parent = RootPart
  1196. Neck.Parent = Torso
  1197. RightShoulder.Parent = Torso
  1198. LeftShoulder.Parent = Torso
  1199. RightHip.Parent = Torso
  1200. LeftHip.Parent = Torso
  1201.  
  1202. RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
  1203. RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
  1204. Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1205. Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1206. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
  1207. LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
  1208. if Disable_Moving_Arms == false then
  1209. RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
  1210. LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
  1211. else
  1212. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  1213. LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  1214. end
  1215. RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1216. LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1217. RightHip.C1 = CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1218. LeftHip.C1 = CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1219. --------------------
  1220. end
  1221.  
  1222.  
  1223. --//=================================\\
  1224. --\\=================================//
  1225.  
  1226.  
  1227.  
  1228.  
  1229. --//=================================\\
  1230. --|| WEAPON CREATION
  1231. --\\=================================//
  1232.  
  1233. if Player_Size ~= 1 then
  1234. for _, v in pairs (Weapon:GetChildren()) do
  1235. if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
  1236. local p1 = v.Part1
  1237. v.Part1 = nil
  1238. local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
  1239. v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
  1240. v.Part1 = p1
  1241. elseif v.ClassName == "Part" then
  1242. for _, b in pairs (v:GetChildren()) do
  1243. if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
  1244. b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
  1245. end
  1246. end
  1247. end
  1248. end
  1249. end
  1250.  
  1251. for _, c in pairs(Weapon:GetChildren()) do
  1252. if c.ClassName == "Part" then
  1253. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1254. end
  1255. end
  1256.  
  1257. Weapon.Parent = Character
  1258.  
  1259. Humanoid.Died:connect(function()
  1260. ATTACK = true
  1261. end)
  1262.  
  1263. print(Class_Name.." loaded.")
  1264.  
  1265. --//=================================\\
  1266. --\\=================================//
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272. --//=================================\\
  1273. --|| DAMAGE FUNCTIONS
  1274. --\\=================================//
  1275.  
  1276. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  1277. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1278. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  1279. local BODYGYRO = IT("BodyGyro", STATPART)
  1280. local BODYPOSITION = IT("BodyPosition", STATPART)
  1281. BODYPOSITION.P = 2000
  1282. BODYPOSITION.D = 100
  1283. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  1284. if LABELTYPE == "Normal" then
  1285. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  1286. elseif LABELTYPE == "Debuff" then
  1287. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  1288. elseif LABELTYPE == "Interruption" then
  1289. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  1290. end
  1291. game:GetService("Debris"):AddItem(STATPART ,5)
  1292. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1293. BILLBOARDGUI.Adornee = STATPART
  1294. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1295. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1296. BILLBOARDGUI.AlwaysOnTop = false
  1297. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1298. TEXTLABEL.BackgroundTransparency = 1
  1299. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1300. TEXTLABEL.Text = TEXT
  1301. TEXTLABEL.Font = "SourceSans"
  1302. TEXTLABEL.FontSize="Size42"
  1303. TEXTLABEL.TextColor3 = COLOR
  1304. TEXTLABEL.TextStrokeTransparency = 0
  1305. TEXTLABEL.TextScaled = true
  1306. TEXTLABEL.TextWrapped = true
  1307. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1308. wait(0.2)
  1309. for i=1, 5 do
  1310. wait()
  1311. THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  1312. end
  1313. wait(1.2)
  1314. for i=1, 5 do
  1315. wait()
  1316. THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  1317. THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  1318. THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  1319. end
  1320. THEPART.Parent = nil
  1321. end),STATPART, BODYPOSITION, TEXTLABEL)
  1322. end
  1323.  
  1324. function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
  1325. if LOCATION:FindFirstChild("Stats") ~= nil then
  1326. if LOCATION.Stats:FindFirstChild("Block") ~= nil then
  1327. if LOCATION.Stats:FindFirstChild("Block").Value == true then
  1328. return
  1329. end
  1330. end
  1331. if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
  1332. local NewStatChange = IT("NumberValue")
  1333. NewStatChange.Value = AMOUNT
  1334. if STAT == "Defense" then
  1335. NewStatChange.Name = "ChangeDefense"
  1336. elseif STAT == "Damage" then
  1337. NewStatChange.Name = "ChangeDamage"
  1338. elseif STAT == "Movement" then
  1339. NewStatChange.Name = "ChangeMovement"
  1340. end
  1341. if SHOWTHESTAT == true then
  1342. if AMOUNT < 0 then
  1343. StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
  1344. elseif AMOUNT > 0 then
  1345. StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
  1346. end
  1347. end
  1348. if DURATION ~= nil and DURATION ~= 0 then
  1349. local StatDuration = IT("NumberValue")
  1350. StatDuration.Name = "Duration"
  1351. StatDuration.Value = DURATION
  1352. StatDuration.Parent = NewStatChange
  1353. end
  1354. NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
  1355. end
  1356. end
  1357. end
  1358.  
  1359. --Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  1360. function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
  1361. if HIT.Parent == nil then
  1362. return
  1363. end
  1364. local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
  1365. for _, v in pairs(HIT.Parent:GetChildren()) do
  1366. if v:IsA("Humanoid") then
  1367. HITHUMANOID = v
  1368. end
  1369. end
  1370. if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
  1371. StaggerHit.Value = true
  1372. if Play_Hitbox_Hit_Sound == true then
  1373. if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
  1374. CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
  1375. end
  1376. end
  1377. return
  1378. end
  1379. if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
  1380. HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
  1381. end
  1382. if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
  1383. HIT = HIT.Parent.Parent:FindFirstChild("Head")
  1384. end
  1385. if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
  1386. if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
  1387. if HIT.Parent.DebounceHit.Value == true then
  1388. return
  1389. end
  1390. end
  1391. if AntiTeamKill.Value == true then
  1392. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
  1393. if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
  1394. return
  1395. end
  1396. end
  1397. end
  1398. if HITEVENWHENDEAD == false then
  1399. if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
  1400. if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
  1401. return
  1402. end
  1403. end
  1404. end
  1405. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1406. if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
  1407. HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
  1408. end
  1409. end
  1410. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1411. if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
  1412. if STAGGER == true and Enable_Stagger == true then
  1413. HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
  1414. end
  1415. end
  1416. end
  1417. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1418. if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
  1419. if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
  1420. HASBEENBLOCKED = true
  1421. if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
  1422. StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
  1423. if RANGED ~= true then
  1424. if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
  1425. CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
  1426. end
  1427. end
  1428. local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
  1429. BlockDebounce.Name = "BlockDebounce"
  1430. BlockDebounce.Value = true
  1431. if RANGED ~= true then
  1432. game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
  1433. else
  1434. game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
  1435. end
  1436. end
  1437. if RANGED ~= true and Enable_Stagger == true then
  1438. HIT.Parent.Stats:FindFirstChild("Block").Value = false
  1439. Stagger.Value = true
  1440. end
  1441. return
  1442. end
  1443. end
  1444. end
  1445. if DECREASETHESTAT ~= nil then
  1446. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1447. IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
  1448. end
  1449. end
  1450. local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
  1451. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1452. if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
  1453. if CanPenetrateArmor.Value == true then
  1454. DAMAGE = DAMAGE
  1455. else
  1456. DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
  1457. end
  1458. elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
  1459. DAMAGE = DAMAGE
  1460. end
  1461. end
  1462. if CanCrit.Value == true then
  1463. CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
  1464. if CRITCHANCENUMBER == 1 then
  1465. DAMAGE = DAMAGE * 2
  1466. end
  1467. end
  1468. DAMAGE = math.floor(DAMAGE)
  1469. if HASBEENBLOCKED == false then
  1470. HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
  1471. end
  1472. if DAMAGE <= 3 and HASBEENBLOCKED == false then
  1473. if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
  1474. StaggerHit.Value = true
  1475. end
  1476. if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
  1477. CreateSound(HITARMORSOUND, HIT, 1, HITARMORSOUNDPITCH)
  1478. end
  1479. elseif DAMAGE > 3 and HASBEENBLOCKED == false then
  1480. if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
  1481. CreateSound(HITPLAYERSOUND, HIT, 1, HITPLAYERSOUNDPITCH)
  1482. end
  1483. end
  1484. if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
  1485. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1486. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1487. CreateSound("296102734", HIT, 1, 1)
  1488. else
  1489. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
  1490. end
  1491. elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
  1492. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1493. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1494. CreateSound("296102734", HIT, 1, 1)
  1495. else
  1496. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
  1497. end
  1498. elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
  1499. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1500. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1501. CreateSound("296102734", HIT, 1, 1)
  1502. else
  1503. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
  1504. end
  1505. end
  1506. if TYPE == "Normal" then
  1507. local vp = IT("BodyVelocity")
  1508. vp.P=500
  1509. vp.maxForce = VT(math.huge, 0, math.huge)
  1510. if KNOCKBACKTYPE == 1 then
  1511. vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
  1512. elseif KNOCKBACKTYPE == 2 then
  1513. vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
  1514. end
  1515. if KNOCKBACK > 0 and HASBEENBLOCKED == false then
  1516. vp.Parent = HIT--.Parent.Torso
  1517. end
  1518. game:GetService("Debris"):AddItem(vp, 0.5)
  1519. end
  1520. HASBEENBLOCKED = false
  1521. RecentEnemy.Value = HIT.Parent
  1522. local DebounceHit = IT("BoolValue", HIT.Parent)
  1523. DebounceHit.Name = "DebounceHit"
  1524. DebounceHit.Value = true
  1525. game:GetService("Debris"):AddItem(DebounceHit, DELAY)
  1526. end
  1527. end
  1528.  
  1529. --Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  1530. function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
  1531. for _, c in pairs(workspace:GetChildren()) do
  1532. local HUMANOID = c:FindFirstChild("Humanoid")
  1533. local HEAD = nil
  1534. if HUMANOID ~= nil then
  1535. for _, d in pairs(c:GetChildren()) do
  1536. if d.ClassName == "Model" and RANGED ~= true then
  1537. HEAD = d:FindFirstChild("Hitbox")
  1538. if HEAD ~= nil then
  1539. local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
  1540. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1541. if Play_Hitbox_Hit_Sound == true then
  1542. local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1543. HitRefpart.Anchored = true
  1544. HitRefpart.CFrame = CF(HEAD.Position)
  1545. CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
  1546. end
  1547. if Enable_Stagger_Hit == true then
  1548. StaggerHit.Value = true
  1549. end
  1550. end
  1551. end
  1552. elseif d:IsA"BasePart" then
  1553. HEAD = d
  1554. if HEAD ~= nil then
  1555. local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
  1556. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1557. DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
  1558. end
  1559. end
  1560. end
  1561. end
  1562. end
  1563. end
  1564. end
  1565.  
  1566. --Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
  1567. function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
  1568. if Player.Neutral == true then
  1569. IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1570. end
  1571. for _, c in pairs(workspace:GetChildren()) do
  1572. local HUMANOID = c:FindFirstChild("Humanoid")
  1573. local THEHEAD = nil
  1574. if HUMANOID ~= nil then
  1575. if c:FindFirstChild("Torso") ~= nil then
  1576. THEHEAD = c:FindFirstChild("Torso")
  1577. elseif c:FindFirstChild("UpperTorso") ~= nil then
  1578. THEHEAD = c:FindFirstChild("UpperTorso")
  1579. end
  1580. if THEHEAD ~= nil then
  1581. local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
  1582. print("yes 1")
  1583. if APPLYTOOTHERSINSTEAD == true then
  1584. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1585. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
  1586. if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
  1587. IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1588. end
  1589. end
  1590. end
  1591. elseif APPLYTOOTHERSINSTEAD == false then
  1592. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
  1593. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
  1594. if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
  1595. IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1596. end
  1597. end
  1598. end
  1599. end
  1600. end
  1601. end
  1602. end
  1603. end
  1604.  
  1605. --//=================================\\
  1606. --\\=================================//
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612. --//=================================\\
  1613. --|| WEAPON GUI
  1614. --\\=================================//
  1615.  
  1616. local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0),"Mana Bar")
  1617. local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Mana Cover")
  1618. local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
  1619.  
  1620. local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Health Bar")
  1621. local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0), "Health Cover")
  1622. local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
  1623.  
  1624. local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0), "Stun Frame")
  1625. local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Stun Bar")
  1626. local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
  1627.  
  1628. local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Secondary Mana Bar")
  1629. local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0),"Secondary Mana Cover")
  1630. local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
  1631.  
  1632. local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
  1633. local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
  1634.  
  1635. local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.456, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
  1636. local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
  1637.  
  1638. local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
  1639. local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
  1640.  
  1641. local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 1 Frame")
  1642. local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 2 Frame")
  1643. local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 3 Frame")
  1644. local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 4 Frame")
  1645.  
  1646. local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 1 Bar")
  1647. local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 2 Bar")
  1648. local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 3 Bar")
  1649. local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 4 Bar")
  1650.  
  1651. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
  1652. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
  1653. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
  1654. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
  1655.  
  1656. local Gun = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0, 0, 0))
  1657. local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "72012879", "72012859", VT(2,2,2), VT(0,0, 0))
  1658. local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0 * Player_Size, -1.6 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1659.  
  1660. local GunPoint = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Handle", VT(0, 0, 0))
  1661. local HandleWeld = CreateWeldOrSnapOrMotor("Weld", GunPoint, RightArm, GunPoint, CF(0 * Player_Size, -2.6 * Player_Size, -0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
  1662.  
  1663. if Enable_Gui == true then
  1664. WEAPONGUI.Parent = PlayerGui
  1665. end
  1666.  
  1667. if Enable_Stats == true and Show_Stats == true then
  1668. DEFENSEFRAME.Parent = WEAPONGUI
  1669. DAMAGEFRAME.Parent = WEAPONGUI
  1670. MOVEMENTFRAME.Parent = WEAPONGUI
  1671. end
  1672.  
  1673. if Enable_Secondary_Bar == true then
  1674. SECONDARYMANABAR.Parent = WEAPONGUI
  1675. end
  1676.  
  1677. if Enable_Abilities == true then
  1678. SKILL1FRAME.Parent = WEAPONGUI
  1679. SKILL2FRAME.Parent = WEAPONGUI
  1680. SKILL3FRAME.Parent = WEAPONGUI
  1681. SKILL4FRAME.Parent = WEAPONGUI
  1682. end
  1683.  
  1684. if Enable_Stun == true then
  1685. STUNFRAME.Parent = WEAPONGUI
  1686. end
  1687.  
  1688. function UpdateGUI()
  1689. MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1690. MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1691. MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
  1692. HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1693. HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1694. HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
  1695. if Enable_Abilities == true then
  1696. SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1697. SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1698. SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1699. SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1700. SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1701. SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1702. SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1703. SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1704. end
  1705. if Enable_Stats == true and Show_Stats == true then
  1706. DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1707. DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
  1708. DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1709. DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
  1710. MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1711. MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
  1712. end
  1713. if Enable_Stun == true then
  1714. STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1715. STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1716. STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
  1717. end
  1718. if Enable_Secondary_Bar == true then
  1719. SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1720. SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1721. SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
  1722. end
  1723. end
  1724.  
  1725. if Enable_Gui == true then
  1726. UpdateGUI()
  1727. for _, v in pairs (WEAPONGUI:GetChildren()) do
  1728. if v.ClassName == "Frame" then
  1729. for _, b in pairs (v:GetChildren()) do
  1730. if b.ClassName == "TextLabel" then
  1731. coroutine.resume(coroutine.create(function(THETEXTLABEL)
  1732. wait(Menu_Update_Speed)
  1733. for i = 1, 0, -0.1 do
  1734. Swait()
  1735. THETEXTLABEL.TextTransparency = i
  1736. THETEXTLABEL.TextStrokeTransparency = i
  1737. end
  1738. THETEXTLABEL.TextTransparency = 0
  1739. THETEXTLABEL.TextStrokeTransparency = 0
  1740. end), b)
  1741. end
  1742. end
  1743. end
  1744. end
  1745. end
  1746.  
  1747. --//=================================\\
  1748. --\\=================================//
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754. --//=================================\\
  1755. --|| SKILL FUNCTIONS
  1756. --\\=================================//
  1757.  
  1758. function UpdateSkillsAndStuff()
  1759. if Mana_Regen_Mode == "1" then
  1760. if Mana.Value >= Max_Mana then
  1761. Mana.Value = Max_Mana
  1762. elseif Mana.Value < 0 then
  1763. Mana.Value = 0
  1764. else
  1765. if MANADELAYNUMBER <= Mana_Wait then
  1766. MANADELAYNUMBER = MANADELAYNUMBER + 1
  1767. else
  1768. MANADELAYNUMBER = 0
  1769. Mana.Value = Mana.Value + Recover_Mana
  1770. end
  1771. end
  1772. elseif Mana_Regen_Mode == "2" then
  1773. if Mana.Value <= Max_Mana then
  1774. Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
  1775. elseif Mana.Value >= Max_Mana then
  1776. Mana.Value = Max_Mana
  1777. elseif Mana.Value < 0 then
  1778. Mana.Value = 0
  1779. end
  1780. end
  1781. if Enable_Secondary_Bar == true then
  1782. if Secondary_Mana_Regen_Mode == "1" then
  1783. if SecondaryMana.Value >= Max_Secondary_Mana then
  1784. SecondaryMana.Value = Max_Secondary_Mana
  1785. elseif SecondaryMana.Value < 0 then
  1786. SecondaryMana.Value = 0
  1787. else
  1788. if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
  1789. SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
  1790. else
  1791. SECONDARYMANADELAYNUMBER = 0
  1792. SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
  1793. end
  1794. end
  1795. elseif Secondary_Mana_Regen_Mode == "2" then
  1796. if SecondaryMana.Value <= Max_Secondary_Mana then
  1797. SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
  1798. elseif SecondaryMana.Value >= Max_Secondary_Mana then
  1799. SecondaryMana.Value = Max_Secondary_Mana
  1800. elseif SecondaryMana.Value < 0 then
  1801. SecondaryMana.Value = 0
  1802. end
  1803. end
  1804. else
  1805. SecondaryMana.Value = 0
  1806. end
  1807. if Enable_Stun == true then
  1808. if Stun_Lose_Mode == "1" then
  1809. if StunValue.Value > Max_Stun then
  1810. StunValue.Value = Max_Stun
  1811. elseif StunValue.Value <= 0 then
  1812. StunValue.Value = 0
  1813. else
  1814. if STUNDELAYNUMBER <= Stun_Wait then
  1815. STUNDELAYNUMBER = STUNDELAYNUMBER + 1
  1816. else
  1817. STUNDELAYNUMBER = 0
  1818. StunValue.Value = StunValue.Value - Lose_Stun
  1819. end
  1820. end
  1821. elseif Stun_Lose_Mode == "2" then
  1822. if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
  1823. StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
  1824. elseif StunValue.Value > Max_Stun then
  1825. StunValue.Value = Max_Stun
  1826. elseif StunValue.Value <= 0 then
  1827. StunValue.Value = 0
  1828. end
  1829. end
  1830. else
  1831. StunValue.Value = 0
  1832. end
  1833. if Enable_Abilities == true then
  1834. if CO1 <= Cooldown_1 then
  1835. CO1 = CO1 + (1 / 30) / Animation_Speed
  1836. elseif CO1 >= Cooldown_1 then
  1837. CO1 = Cooldown_1
  1838. end
  1839. if CO2 <= Cooldown_2 then
  1840. CO2 = CO2 + (1 / 30) / Animation_Speed
  1841. elseif CO2 >= Cooldown_2 then
  1842. CO2 = Cooldown_2
  1843. end
  1844. if CO3 <= Cooldown_3 then
  1845. CO3 = CO3 + (1 / 30) / Animation_Speed
  1846. elseif CO3 >= Cooldown_3 then
  1847. CO3 = Cooldown_3
  1848. end
  1849. if CO4 <= Cooldown_4 then
  1850. CO4 = CO4 + (1 / 30) / Animation_Speed
  1851. elseif CO4 >= Cooldown_4 then
  1852. CO4 = Cooldown_4
  1853. end
  1854. end
  1855. end
  1856.  
  1857. --//=================================\\
  1858. --\\=================================//
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864. --//=================================\\
  1865. --|| ATTACK FUNCTIONS AND STUFF
  1866. --\\=================================//
  1867.  
  1868. function StaggerHitAnimation()
  1869. ATTACK = true
  1870. if Weapon:FindFirstChild("Hitbox") ~= nil then
  1871. for i = 1, MRANDOM(2, 4) do
  1872. ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
  1873. end
  1874. end
  1875. for i = 0, 1, 0.1 / Animation_Speed do
  1876. Swait()
  1877. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
  1878. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1879. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1880. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1881. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1882. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
  1883. if Stagger.Value == true or Stun.Value == true then
  1884. break
  1885. end
  1886. end
  1887. ATTACK = false
  1888. end
  1889.  
  1890. function StaggerAnimation()
  1891. ATTACK = true
  1892. if Weapon:FindFirstChild("Hitbox") ~= nil then
  1893. for i = 1, MRANDOM(2, 4) do
  1894. ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
  1895. end
  1896. end
  1897. DISABLEJUMPING = true
  1898. COMBO = 1
  1899. StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
  1900. local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
  1901. STAGGERVELOCITY.P = 500
  1902. STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
  1903. if Rooted.Value == false then
  1904. STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
  1905. end
  1906. for i = 0, 1, 0.35 / Animation_Speed do
  1907. Swait()
  1908. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1909. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(20)), 0.3 / Animation_Speed)
  1910. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1911. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1912. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
  1913. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 0.3 / Animation_Speed)
  1914. end
  1915. for i = 0, 1, 0.2 / Animation_Speed do
  1916. Swait()
  1917. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
  1918. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
  1919. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1920. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1921. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 0.4 / Animation_Speed)
  1922. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.4 / Animation_Speed)
  1923. end
  1924. STAGGERVELOCITY.Parent = nil
  1925. for i = 1, 50 * Animation_Speed do
  1926. Swait()
  1927. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.8 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(-5), RAD(-5), RAD(0)), 0.3 / Animation_Speed)
  1928. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.3 / Animation_Speed)
  1929. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-20), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1930. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-10)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1931. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)), 0.3 / Animation_Speed)
  1932. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-10)), 0.3 / Animation_Speed)
  1933. end
  1934. DISABLEJUMPING = false
  1935. ATTACK = false
  1936. end
  1937.  
  1938. function StunAnimation()
  1939. ATTACK = true
  1940. DISABLEJUMPING = true
  1941. COMBO = 1
  1942. StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
  1943. for i = 0, 1, 0.3 / Animation_Speed do
  1944. Swait()
  1945. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
  1946. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1947. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1948. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1949. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
  1950. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
  1951. end
  1952. for i = 0, 1, 0.3 / Animation_Speed do
  1953. Swait()
  1954. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
  1955. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1956. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1957. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1958. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
  1959. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
  1960. end
  1961. for i = 0, 1, 0.3 / Animation_Speed do
  1962. Swait()
  1963. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
  1964. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
  1965. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1966. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1967. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
  1968. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
  1969. end
  1970. for i = 1, 70 * Animation_Speed do
  1971. Swait()
  1972. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
  1973. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.3 / Animation_Speed)
  1974. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1975. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1976. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1977. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1978. end
  1979. for i = 0, 1, 0.2 / Animation_Speed do
  1980. Swait()
  1981. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.5 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(100)), 0.4 / Animation_Speed)
  1982. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1983. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(-10), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1984. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1985. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(70)), 0.4 / Animation_Speed)
  1986. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.25 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
  1987. end
  1988. DISABLEJUMPING = false
  1989. ATTACK = false
  1990. end
  1991.  
  1992. function EAbility()
  1993. ATTACK = true
  1994. ATTACK = false
  1995. end
  1996.  
  1997. function Attack1()
  1998. ATTACK = true
  1999. for i=0, 1, 0.1 / Animation_Speed do
  2000. Swait()
  2001. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  2002. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2003. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2004. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2005. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2006. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2007. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2008. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2009. break
  2010. end
  2011. end
  2012. while true do
  2013. wait(0.01)
  2014. if HOLD == true then
  2015. shoot()
  2016. elseif HOLD == false then
  2017. break
  2018. end
  2019. end
  2020. ATTACK = false
  2021. end
  2022.  
  2023. function shoot()
  2024. ATTACK = true
  2025. for i=0, 1, 0.1 / Animation_Speed do
  2026. Swait()
  2027. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  2028. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2029. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2030. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2031. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2032. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2033. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2034. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2035. break
  2036. end
  2037. end
  2038. CreateSound("930650202", GunPoint, 1.2, MRANDOM(8, 9) / 10)
  2039. ShootFireball(GunPoint.CFrame.p, Mouse.hit.p, 15, 5, 100, 25, 45)
  2040. Disable_Jump = true
  2041. Humanoid.WalkSpeed = 0
  2042. for i = 1, 3 do
  2043. MagicBlock("White", "Neon", GunPoint.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 3, 3, 3, 1, 1, 1, 0.1)
  2044. end
  2045. for i=0, 1, 0.1 / Animation_Speed do
  2046. Swait()
  2047. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2048. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2049. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2050. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2051. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2052. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2053. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2054. break
  2055. end
  2056. end
  2057. Disable_Jump = false
  2058. Humanoid.WalkSpeed = 16
  2059. ATTACK = false
  2060. end
  2061.  
  2062. function PointBlank()
  2063. ATTACK = true
  2064. for i=0, 1, 0.1 / Animation_Speed do
  2065. Swait()
  2066. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  2067. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2068. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2069. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2070. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2071. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2072. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2073. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2074. break
  2075. end
  2076. end
  2077. for i=0, 1, 0.1 / Animation_Speed/2 do
  2078. Swait()
  2079. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  2080. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2081. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2082. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2083. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2084. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2085. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2086. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2087. break
  2088. end
  2089. end
  2090. MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, GunPoint, 12, false, 85, 135, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  2091. CreateSound("213603013", GunPoint, 5, MRANDOM(8, 9) / 10)
  2092. Disable_Jump = true
  2093. Humanoid.WalkSpeed = 0
  2094. for i = 1, 15 do
  2095. SIZE = MRANDOM(70,200)
  2096. MagicBlock("White", "Neon", GunPoint.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, SIZE, SIZE, 1, 1, 1, 0.1)
  2097. end
  2098. for i=0, 1, 0.1 / Animation_Speed do
  2099. Swait()
  2100. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  2101. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2102. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2103. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2104. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2105. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2106. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  2107. break
  2108. end
  2109. end
  2110. Disable_Jump = false
  2111. Humanoid.WalkSpeed = 16
  2112. ATTACK = false
  2113. end
  2114.  
  2115. function ShootFireball(POSITION1, POSITION2, SPEED, SIZE, DURATION, LOWDAMAGE, HIGHDAMAGE)
  2116. local POS1 = POSITION1
  2117. local POS2 = POSITION2
  2118. local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
  2119. local FIREBALLSPEED = SPEED * Player_Size
  2120. local FIREBALLDURATION = DURATION
  2121. local FIREBALLCOLORS = {"White", "Pearl", "Magenta"}
  2122. local FIREBALLHITSOUNDS = {"522282998", "527535379", "304448425"}
  2123. coroutine.resume(coroutine.create(function()
  2124. repeat
  2125. Swait()
  2126. local FIREBALLHIT, FIREBALLPOS = Raycast(POS1, MOUSELOOK.lookVector, FIREBALLSPEED, Character)
  2127. POS1 = POS1 + (MOUSELOOK.lookVector * FIREBALLSPEED)
  2128. MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", CF(POS1) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, SIZE, SIZE, SIZE / -10, SIZE / -10, SIZE / -10, 0.1)
  2129. if FIREBALLHIT ~= nil or FIREBALLDURATION <= 0.1 then
  2130. FIREBALLDURATION = 0
  2131. local FireballHitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  2132. FireballHitRefpart.Anchored = true
  2133. FireballHitRefpart.CFrame = CF(FIREBALLPOS)
  2134. game:GetService("Debris"):AddItem(FireballHitRefpart, 5)
  2135. CreateSound(FIREBALLHITSOUNDS[MRANDOM(1, #FIREBALLHITSOUNDS)], FireballHitRefpart, 1.4, MRANDOM(14, 16) / 10)
  2136. for i = 1, MRANDOM(4, 8) do
  2137. MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), CF(0, MRANDOM(5, 7) / 10 * Player_Size, 0), VT(0, 0, 0), 5, 5, 5, 0, 0, 0, MRANDOM(3, 5) / 100)
  2138. end
  2139. MagicBlock("White", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE, SIZE, SIZE, SIZE / 3, SIZE / 3, SIZE / 3, 0.05)
  2140. MagicSphere("Magenta", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE * 0.5, SIZE * 0.5, SIZE * 0.5, SIZE / 4, SIZE / 4, SIZE / 4, 0.05)
  2141. MagicBlock("White", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE * 0.25, SIZE * 0.25, SIZE * 0.25, SIZE / 5, SIZE / 5, SIZE / 5, 0.05)
  2142. MagnitudeDamage("", "", "", "", 1, 1, 1, 1, FireballHitRefpart, SIZE / 2, false, LOWDAMAGE, HIGHDAMAGE, 0, "Normal", RootPart, 0, 1, MRANDOM(10, 15), nil, false, true, nil, 0, 0, false)
  2143. else
  2144. FIREBALLDURATION = FIREBALLDURATION - (1 / 30) / Animation_Speed
  2145. end
  2146. until FIREBALLHIT ~= nil or FIREBALLDURATION <= 0
  2147. end))
  2148. end
  2149.  
  2150.  
  2151. --//=================================\\
  2152. --\\=================================//
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158. --//=================================\\
  2159. --|| SET THINGS UP
  2160. --\\=================================//
  2161.  
  2162. if Start_Equipped == true then
  2163. ATTACK = true
  2164. EQUIPPED = true
  2165. if Disable_Animate == true then
  2166. ANIMATE.Parent = nil
  2167. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2168. IDLEANIMATION:Play()
  2169. end
  2170. if Disable_Animator == true then
  2171. ANIMATOR.Parent = nil
  2172. end
  2173. if Disable_Moving_Arms == true then
  2174. RSH = Torso["Right Shoulder"]
  2175. LSH = Torso["Left Shoulder"]
  2176. RSH.Parent = nil
  2177. LSH.Parent = nil
  2178. if Use_Motors_Instead_Of_Welds == true then
  2179. RightShoulder = IT("Motor")
  2180. LeftShoulder = IT("Motor")
  2181. else
  2182. RightShoulder = IT("Weld")
  2183. LeftShoulder = IT("Weld")
  2184. end
  2185. RightShoulder.Name = "Right Shoulder"
  2186. RightShoulder.Part0 = Torso
  2187. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2188. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2189. RightShoulder.Part1 = Character["Right Arm"]
  2190. RightShoulder.Parent = Torso
  2191. LeftShoulder.Name = "Left Shoulder"
  2192. LeftShoulder.Part0 = Torso
  2193. LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2194. LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2195. LeftShoulder.Part1 = Character["Left Arm"]
  2196. LeftShoulder.Parent = Torso
  2197. RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2198. LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2199. end
  2200. if Start_Equipped_With_Equipped_Animation == true then
  2201. Swait()
  2202. end
  2203. ATTACK = false
  2204. end
  2205.  
  2206. --//=================================\\
  2207. --\\=================================//
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213. --//=================================\\
  2214. --|| ASSIGN THINGS TO KEYS
  2215. --\\=================================//
  2216.  
  2217. Humanoid.Changed:connect(function(Jump)
  2218. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  2219. Humanoid.Jump = false
  2220. end
  2221. end)
  2222.  
  2223. function MouseDown(Mouse)
  2224. if ATTACK == true or EQUIPPED == false then
  2225. return
  2226. end
  2227. HOLD = true
  2228. Attack1()
  2229. coroutine.resume(coroutine.create(function()
  2230. for i=1, 50 do
  2231. if ATTACK == false then
  2232. Swait()
  2233. end
  2234. end
  2235. if ATTACK == false then
  2236. COMBO = 1
  2237. end
  2238. end))
  2239. end
  2240.  
  2241. function MouseUp(Mouse)
  2242. HOLD = false
  2243. end
  2244.  
  2245. function KeyDown(Key)
  2246. if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
  2247. ATTACK = true
  2248. COMBO = 1
  2249. if EQUIPPED == false then
  2250. EQUIPPED = true
  2251. if Disable_Animate == true then
  2252. ANIMATE.Parent = nil
  2253. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2254. IDLEANIMATION:Play()
  2255. end
  2256. if Disable_Animator == true then
  2257. ANIMATOR.Parent = nil
  2258. end
  2259. if Disable_Moving_Arms == true then
  2260. RSH = Torso["Right Shoulder"]
  2261. LSH = Torso["Left Shoulder"]
  2262. RSH.Parent = nil
  2263. LSH.Parent = nil
  2264. if Use_Motors_Instead_Of_Welds == true then
  2265. RightShoulder = IT("Motor")
  2266. LeftShoulder = IT("Motor")
  2267. else
  2268. RightShoulder = IT("Weld")
  2269. LeftShoulder = IT("Weld")
  2270. end
  2271. RightShoulder.Name = "Right Shoulder"
  2272. RightShoulder.Part0 = Torso
  2273. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2274. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2275. RightShoulder.Part1 = Character["Right Arm"]
  2276. RightShoulder.Parent = Torso
  2277. LeftShoulder.Name = "Left Shoulder"
  2278. LeftShoulder.Part0 = Torso
  2279. LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2280. LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2281. LeftShoulder.Part1 = Character["Left Arm"]
  2282. LeftShoulder.Parent = Torso
  2283. RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2284. LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2285. end
  2286. Swait()
  2287. elseif EQUIPPED == true then
  2288. end
  2289. ATTACK = false
  2290. end
  2291. if Key == "e" and EQUIPPED == true and ATTACK == false then
  2292. PointBlank()
  2293. end
  2294. end
  2295.  
  2296. function KeyUp(Key)
  2297. end
  2298.  
  2299. if Use_HopperBin == false then
  2300.  
  2301. Mouse.Button1Down:connect(function(NEWKEY)
  2302. MouseDown(NEWKEY)
  2303. end)
  2304. Mouse.Button1Up:connect(function(NEWKEY)
  2305. MouseUp(NEWKEY)
  2306. end)
  2307. Mouse.KeyDown:connect(function(NEWKEY)
  2308. KeyDown(NEWKEY)
  2309. end)
  2310. Mouse.KeyUp:connect(function(NEWKEY)
  2311. KeyUp(NEWKEY)
  2312. end)
  2313.  
  2314. elseif Use_HopperBin == true then
  2315. WEAPONTOOL.Parent = Backpack
  2316. script.Parent = WEAPONTOOL
  2317. function SelectTool(Mouse)
  2318. Mouse.Button1Down:connect(function()
  2319. MouseDown(Mouse)
  2320. end)
  2321. Mouse.Button1Up:connect(function()
  2322. MouseUp(Mouse)
  2323. end)
  2324. Mouse.KeyDown:connect(KeyDown)
  2325. Mouse.KeyUp:connect(KeyUp)
  2326. end
  2327. function DeselectTool(Mouse)
  2328. end
  2329. WEAPONTOOL.Selected:connect(SelectTool)
  2330. WEAPONTOOL.Deselected:connect(DeselectTool)
  2331. end
  2332.  
  2333. --//=================================\\
  2334. --\\=================================//
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340. --//=================================\\
  2341. --|| WRAP THE WHOLE SCRIPT UP
  2342. --\\=================================//
  2343.  
  2344. while true do
  2345. Swait()
  2346. if Enable_Gui == true then
  2347. UpdateGUI()
  2348. end
  2349. UpdateSkillsAndStuff()
  2350. if Walkspeed_Depends_On_Movement_Value == true then
  2351. if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
  2352. Humanoid.WalkSpeed = 0
  2353. else
  2354. Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
  2355. end
  2356. end
  2357. if Enable_Stun == true and StunValue.Value >= Max_Stun then
  2358. StunValue.Value = 0
  2359. Stun.Value = true
  2360. end
  2361. if Enable_Stagger_Hit == true then
  2362. if StaggerHit.Value == true and STAGGERHITANIM == false then
  2363. coroutine.resume(coroutine.create(function()
  2364. STAGGERHITANIM = true
  2365. while ATTACK == true do
  2366. Swait()
  2367. end
  2368. StaggerHitAnimation()
  2369. StaggerHit.Value = false
  2370. STAGGERHITANIM = false
  2371. end))
  2372. end
  2373. else
  2374. StaggerHit.Value = false
  2375. end
  2376. if Enable_Stagger == true then
  2377. if Stagger.Value == true and STAGGERANIM == false then
  2378. coroutine.resume(coroutine.create(function()
  2379. STAGGERANIM = true
  2380. while ATTACK == true do
  2381. Swait()
  2382. end
  2383. StaggerAnimation()
  2384. Stagger.Value = false
  2385. STAGGERANIM = false
  2386. end))
  2387. end
  2388. else
  2389. Stagger.Value = false
  2390. end
  2391. if Enable_Stun == true then
  2392. if Stun.Value == true and STUNANIM == false then
  2393. coroutine.resume(coroutine.create(function()
  2394. StunValue.Value = 0
  2395. STUNANIM = true
  2396. while ATTACK == true do
  2397. Swait()
  2398. end
  2399. StunAnimation()
  2400. Stun.Value = false
  2401. STUNANIM = false
  2402. end))
  2403. end
  2404. else
  2405. StunValue.Value = 0
  2406. Stun.Value = false
  2407. end
  2408. if DONUMBER >= .5 then
  2409. HANDIDLE = true
  2410. elseif DONUMBER <= 0 then
  2411. HANDIDLE = false
  2412. end
  2413. if HANDIDLE == false then
  2414. DONUMBER = DONUMBER + 0.003 / Animation_Speed
  2415. else
  2416. DONUMBER = DONUMBER - 0.003 / Animation_Speed
  2417. end
  2418. if ATTACK == false then
  2419. IDLENUMBER = IDLENUMBER + 1
  2420. else
  2421. IDLENUMBER = 0
  2422. end
  2423. if Enable_Stats == true then
  2424. for _, v in pairs (ChangeStat:GetChildren()) do
  2425. if v:FindFirstChild("Duration") ~= nil then
  2426. v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
  2427. if v:FindFirstChild("Duration").Value <= 0 then
  2428. v.Parent = nil
  2429. end
  2430. end
  2431. if v.Name == "ChangeDefense" then
  2432. CHANGEDEFENSE = CHANGEDEFENSE + v.Value
  2433. elseif v.Name == "ChangeDamage" then
  2434. CHANGEDAMAGE = CHANGEDAMAGE + v.Value
  2435. elseif v.Name == "ChangeMovement" then
  2436. CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
  2437. end
  2438. end
  2439. Defense.Value = 1 + (CHANGEDEFENSE)
  2440. if Defense.Value <= 0.01 then
  2441. Defense.Value = 0.01
  2442. end
  2443. Damage.Value = 1 + (CHANGEDAMAGE)
  2444. if Damage.Value <= 0 then
  2445. Damage.Value = 0
  2446. end
  2447. Movement.Value = 1 + (CHANGEMOVEMENT)
  2448. if Movement.Value <= 0 then
  2449. Movement.Value = 0
  2450. end
  2451. CHANGEDEFENSE = 0
  2452. CHANGEDAMAGE = 0
  2453. CHANGEMOVEMENT = 0
  2454. end
  2455. SINE = SINE + CHANGE
  2456. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2457. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2458. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  2459. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  2460. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2461. if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
  2462. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2463. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2464. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2465. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2466. elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
  2467. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2468. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2469. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2470. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2471. end
  2472. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2473. ANIM = "Jump"
  2474. if EQUIPPED == true and ATTACK == false then
  2475. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2476. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2477. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2478. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2479. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  2480. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2481. end
  2482. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2483. ANIM = "Fall"
  2484. if EQUIPPED == true and ATTACK == false then
  2485. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2486. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2487. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2488. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2489. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  2490. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  2491. end
  2492. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2493. ANIM = "Idle"
  2494. if EQUIPPED == true and ATTACK == false then
  2495. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2496. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2497. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2498. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2499. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2500. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2501. end
  2502. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2503. ANIM = "Walk"
  2504. WALK = WALK + 1 / Animation_Speed
  2505. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  2506. WALK = 0
  2507. if WALKINGANIM == true then
  2508. WALKINGANIM = false
  2509. elseif WALKINGANIM == false then
  2510. WALKINGANIM = true
  2511. end
  2512. end
  2513. if EQUIPPED == true and ATTACK == false then
  2514. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2515. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2516. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  2517. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2518. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2519. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2520. end
  2521. end
  2522.  
  2523. end
  2524.  
  2525. --//=================================\\
  2526. --\\=================================//
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532. --//====================================================\\--
  2533. --|| END OF SCRIPT
  2534. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement