Advertisement
PierceTheCakeKeeper

Mailman master FE

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