Advertisement
KarmaRange

Untitled

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