Advertisement
Silver_cole

mafia be like

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