Advertisement
Infintyboy

safgsafgasfg

Sep 15th, 2018
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 74.71 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5.     local rp = RealPlayer
  6.     script.Parent = rp.Character
  7.    
  8.     --RemoteEvent for communicating
  9.     local Event = Instance.new("RemoteEvent")
  10.     Event.Name = "UserInput_Event"
  11.  
  12.     --Fake event to make stuff like Mouse.KeyDown work
  13.     local function fakeEvent()
  14.         local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  15.         t.connect = t.Connect
  16.         return t
  17.     end
  18.  
  19.     --Creating fake input objects with fake variables
  20.     local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  21.     local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  22.     local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  23.         CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  24.     end}
  25.     --Merged 2 functions into one by checking amount of arguments
  26.     CAS.UnbindAction = CAS.BindAction
  27.  
  28.     --This function will trigger the events that have been :Connect()'ed
  29.     local function te(self,ev,...)
  30.         local t = m[ev]
  31.         if t and t._fakeEvent then
  32.             for _,f in pairs(t.Functions) do
  33.                 f(...)
  34.             end
  35.         end
  36.     end
  37.     m.TrigEvent = te
  38.     UIS.TrigEvent = te
  39.  
  40.     Event.OnServerEvent:Connect(function(plr,io)
  41.         if plr~=rp then return end
  42.         m.Target = io.Target
  43.         m.Hit = io.Hit
  44.         if not io.isMouse then
  45.             local b = io.UserInputState == Enum.UserInputState.Begin
  46.             if io.UserInputType == Enum.UserInputType.MouseButton1 then
  47.                 return m:TrigEvent(b and "Button1Down" or "Button1Up")
  48.             end
  49.             for _,t in pairs(CAS.Actions) do
  50.                 for _,k in pairs(t.Keys) do
  51.                     if k==io.KeyCode then
  52.                         t.Function(t.Name,io.UserInputState,io)
  53.                     end
  54.                 end
  55.             end
  56.             m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  57.             UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  58.         end
  59.     end)
  60.     Event.Parent = NLS([==[
  61.     local Player = game:GetService("Players").LocalPlayer
  62.     local Event = script:WaitForChild("UserInput_Event")
  63.  
  64.     local Mouse = Player:GetMouse()
  65.     local UIS = game:GetService("UserInputService")
  66.     local input = function(io,a)
  67.         if a then return end
  68.         --Since InputObject is a client-side instance, we create and pass table instead
  69.         Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  70.     end
  71.     UIS.InputBegan:Connect(input)
  72.     UIS.InputEnded:Connect(input)
  73.  
  74.     local h,t
  75.     --Give the server mouse data 30 times every second, but only if the values changed
  76.     --If player is not moving their mouse, client won't fire events
  77.     while wait(1/30) do
  78.         if h~=Mouse.Hit or t~=Mouse.Target then
  79.             h,t=Mouse.Hit,Mouse.Target
  80.             Event:FireServer({isMouse=true,Target=t,Hit=h})
  81.         end
  82.     end]==],Player.Character)
  83.  
  84.     ----Sandboxed game object that allows the usage of client-side methods and services
  85.     --Real game object
  86.     local _rg = game
  87.  
  88.     --Metatable for fake service
  89.     local fsmt = {
  90.         __index = function(self,k)
  91.             local s = rawget(self,"_RealService")
  92.             if s then return s[k] end
  93.         end,
  94.         __newindex = function(self,k,v)
  95.             local s = rawget(self,"_RealService")
  96.             if s then s[k]=v end
  97.         end,
  98.         __call = function(self,...)
  99.             local s = rawget(self,"_RealService")
  100.             if s then return s(...) end
  101.         end
  102.     }
  103.     local function FakeService(t,RealService)
  104.         t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  105.         return setmetatable(t,fsmt)
  106.     end
  107.  
  108.     --Fake game object
  109.     local g = {
  110.         GetService = function(self,s)
  111.             return self[s]
  112.         end,
  113.         Players = FakeService({
  114.             LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  115.         },"Players"),
  116.         UserInputService = FakeService(UIS,"UserInputService"),
  117.         ContextActionService = FakeService(CAS,"ContextActionService"),
  118.     }
  119.     rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  120.     g.service = g.GetService
  121.    
  122.     g.RunService = FakeService({
  123.         RenderStepped = _rg:GetService("RunService").Heartbeat,
  124.         BindToRenderStep = function(self,name,_,fun)
  125.  
  126.         end,
  127.         UnbindFromRenderStep = function(self,name)
  128.             self._btrs[name]:Disconnect()
  129.         end,
  130.     },"RunService")
  131.  
  132.     setmetatable(g,{
  133.         __index=function(self,s)
  134.             return _rg:GetService(s) or typeof(_rg[s])=="function"
  135.             and function(_,...)return _rg[s](_rg,...)end or _rg[s]
  136.         end,
  137.         __newindex = fsmt.__newindex,
  138.         __call = fsmt.__call
  139.     })
  140.     --Changing owner to fake player object to support owner:GetMouse()
  141.     game,owner = g,g.Players.LocalPlayer
  142. end
  143.  
  144. --//====================================================\\--
  145. --||  CREATED BY SHACKLUSTER, EDIT BY XXUNORIBOASXX
  146. --\\====================================================//--
  147.  
  148.  
  149.  
  150. wait(0.2)
  151.  
  152.  
  153.  
  154. Player = game:GetService("Players").LocalPlayer
  155. PlayerGui = Player.PlayerGui
  156. Cam = workspace.CurrentCamera
  157. Backpack = Player.Backpack
  158. Character = Player.Character
  159. Humanoid = Character.Humanoid
  160. Mouse = Player:GetMouse()
  161. RootPart = Character["HumanoidRootPart"]
  162. Torso = Character["Torso"]
  163. Head = Character["Head"]
  164. Head.face:Destroy()
  165. RightArm = Character["Right Arm"]
  166. LeftArm = Character["Left Arm"]
  167. RightLeg = Character["Right Leg"]
  168. LeftLeg = Character["Left Leg"]
  169. RootJoint = RootPart["RootJoint"]
  170. Neck = Torso["Neck"]
  171. RightShoulder = Torso["Right Shoulder"]
  172. LeftShoulder = Torso["Left Shoulder"]
  173. RightHip = Torso["Right Hip"]
  174. LeftHip = Torso["Left Hip"]
  175. local sick = Instance.new("Sound",Character)
  176. sick.SoundId = "rbxassetid://1167151479"
  177. sick.Looped = true
  178. sick.Pitch = 1
  179. sick.Volume = 1
  180. sick:Play()
  181.  
  182. local naeeym2 = Instance.new("BillboardGui",Character)
  183. naeeym2.AlwaysOnTop = true
  184. naeeym2.Size = UDim2.new(5,35,2,35)
  185. naeeym2.StudsOffset = Vector3.new(0,3,0)
  186. naeeym2.Adornee = Character.Head
  187. naeeym2.Name = "Name"
  188. --naeeym2.PlayerToHideFrom = Player
  189. naeeym2.MaxDistance = 200
  190. local tecks2 = Instance.new("TextLabel",naeeym2)
  191. tecks2.BackgroundTransparency = 1
  192. tecks2.TextScaled = true
  193. tecks2.BorderSizePixel = 0
  194. tecks2.Text = ""
  195. tecks2.Font = "SciFi"
  196. tecks2.TextSize = 30
  197. tecks2.TextStrokeTransparency = 1
  198. tecks2.TextColor3 = Color3.new(255,255,255)
  199. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  200. tecks2.Size = UDim2.new(1,0,0.5,0)
  201. tecks2.Parent = naeeym2
  202.  
  203. IT = Instance.new
  204. CF = CFrame.new
  205. VT = Vector3.new
  206. RAD = math.rad
  207. C3 = Color3.new
  208. UD2 = UDim2.new
  209. BRICKC = BrickColor.new
  210. ANGLES = CFrame.Angles
  211. EULER = CFrame.fromEulerAnglesXYZ
  212. COS = math.cos
  213. ACOS = math.acos
  214. SIN = math.sin
  215. ASIN = math.asin
  216. ABS = math.abs
  217. MRANDOM = math.random
  218. FLOOR = math.floor
  219.  
  220. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  221.     local NEWMESH = IT(MESH)
  222.     if MESH == "SpecialMesh" then
  223.         NEWMESH.MeshType = MESHTYPE
  224.         if MESHID ~= "nil" and MESHID ~= "" then
  225.             NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  226.         end
  227.         if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  228.             NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  229.         end
  230.     end
  231.     NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  232.     NEWMESH.Scale = SCALE
  233.     NEWMESH.Parent = PARENT
  234.     return NEWMESH
  235. end
  236.  
  237. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  238.     local NEWPART = IT("Part")
  239.     NEWPART.formFactor = FORMFACTOR
  240.     NEWPART.Reflectance = REFLECTANCE
  241.     NEWPART.Transparency = TRANSPARENCY
  242.     NEWPART.CanCollide = false
  243.     NEWPART.Locked = true
  244.     NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  245.     NEWPART.Name = NAME
  246.     NEWPART.Size = SIZE
  247.     NEWPART.Position = Torso.Position
  248.     NEWPART.Material = MATERIAL
  249.     NEWPART:BreakJoints()
  250.     NEWPART.Parent = PARENT
  251.     return NEWPART
  252. end
  253.  
  254.  
  255. --//=================================\\
  256. --||          CUSTOMIZATION
  257. --\\=================================//
  258.  
  259. Class_Name = "₱Ɽł₴₥.exe"
  260. Weapon_Name = "Add-ons"
  261.  
  262. Custom_Colors = {
  263.     Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
  264.     Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
  265.  
  266.     Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
  267.     Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  268.     Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  269.     Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  270.     Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  271.  
  272.     Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  273.     Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  274.     Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  275.     Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  276.     Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  277. }
  278.  
  279.  
  280. Player_Size = 1 --Size of the player.
  281. Animation_Speed = 3
  282. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  283.  
  284. local Speed = 16
  285. local Effects2 = {}
  286.  
  287. --//=================================\\
  288. --||      END OF CUSTOMIZATION
  289. --\\=================================//
  290.  
  291.     local function weldBetween(a, b)
  292.         local weldd = Instance.new("ManualWeld")
  293.         weldd.Part0 = a
  294.         weldd.Part1 = b
  295.         weldd.C0 = CFrame.new()
  296.         weldd.C1 = b.CFrame:inverse() * a.CFrame
  297.         weldd.Parent = a
  298.         return weldd
  299.     end
  300.  
  301. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  302. local acs = Instance.new("Part")
  303. acs.CanCollide = false
  304. acs.Anchored = false
  305. acs.Size = Vector3.new(0,0,0)
  306. acs.CFrame = attachmentpart.CFrame
  307. acs.Parent = Character
  308. acs.BrickColor = color
  309.     local meshs = Instance.new("SpecialMesh")
  310.     meshs.MeshId = mesh
  311.     meshs.TextureId = texture
  312.     meshs.Parent = acs
  313.     meshs.Scale = scale
  314.     meshs.Offset = offset
  315. weldBetween(attachmentpart,acs)
  316. end
  317.  
  318. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  319. if TYPE == "Gem" then
  320.     local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  321.     acs.Anchored = false
  322.     acs.CanCollide = false
  323.     acs.CFrame = PART.CFrame
  324.     local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  325. weldBetween(PART,acs)
  326. elseif TYPE == "Skull" then
  327.     local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  328.     acs.Anchored = false
  329.     acs.CanCollide = false
  330.     acs.CFrame = PART.CFrame
  331.     local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  332. weldBetween(PART,acs)
  333. elseif TYPE == "Eye" then
  334.     local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  335.     acs.Anchored = false
  336.     acs.CanCollide = false
  337.     acs.CFrame = PART.CFrame
  338.     local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  339. weldBetween(PART,acs)
  340. end
  341. end
  342.  
  343. --//=================================\\
  344. --||          USEFUL VALUES
  345. --\\=================================//
  346.  
  347. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  348. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  349. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  350. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  351. local CO1 = 0
  352. local CO2 = 0
  353. local CO3 = 0
  354. local CO4 = 0
  355. local CHANGEDEFENSE = 0
  356. local CHANGEDAMAGE = 0
  357. local CHANGEMOVEMENT = 0
  358. local ANIM = "Idle"
  359. local ATTACK = false
  360. local EQUIPPED = false
  361. local HOLD = false
  362. local COMBO = 1
  363. local LASTPOINT = nil
  364. local BLCF = nil
  365. local SCFR = nil
  366. local STAGGERHITANIM = false
  367. local STAGGERANIM = false
  368. local STUNANIM = false
  369. local CRITCHANCENUMBER = 0
  370. local IDLENUMBER = 0
  371. local DONUMBER = 0
  372. local HANDIDLE = false
  373. local SINE = 0
  374. local CHANGE = 2 / Animation_Speed
  375. local WALKINGANIM = false
  376. local WALK = 0
  377. local KEYHOLD = false
  378. local DISABLEJUMPING = false
  379. local HASBEENBLOCKED = false
  380. local STUNDELAYNUMBER = 0
  381. local MANADELAYNUMBER = 0
  382. local SECONDARYMANADELAYNUMBER = 0
  383. local ROBLOXIDLEANIMATION = IT("Animation")
  384. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  385. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  386. --ROBLOXIDLEANIMATION.Parent = Humanoid
  387. local WEAPONGUI = IT("ScreenGui", nil)
  388. WEAPONGUI.Name = "Weapon GUI"
  389. local WEAPONTOOL = IT("HopperBin", nil)
  390. WEAPONTOOL.Name = Weapon_Name
  391. local Weapon = IT("Model")
  392. Weapon.Name = Weapon_Name
  393. local Effects = IT("Folder", Weapon)
  394. Effects.Name = "Effects"
  395. local ANIMATOR = Humanoid.Animator
  396. local ANIMATE = Character.Animate
  397. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  398. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  399. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  400. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  401. local CUTSOUNDS = {"645750958","645747150"}
  402. local VICIOUSWOOSH = "658941933"
  403. local RELEASESOUND = "565538688"
  404. local CHARGESOUND = "565538601"
  405. local UNANCHOR = true
  406. local MAGICPARTICLE = "1229782954"
  407.  
  408. --//=================================\\
  409. --\\=================================//
  410.  
  411. --//=================================\\
  412. --||              STATS
  413. --\\=================================//
  414.  
  415. if Character:FindFirstChild("Stats") ~= nil then
  416. Character:FindFirstChild("Stats").Parent = nil
  417. end
  418.  
  419. local Stats = IT("Folder", nil)
  420. Stats.Name = "Stats"
  421. local ChangeStat = IT("Folder", Stats)
  422. ChangeStat.Name = "ChangeStat"
  423. local Defense = IT("NumberValue", Stats)
  424. Defense.Name = "Defense"
  425. Defense.Value = 1
  426. local Movement = IT("NumberValue", Stats)
  427. Movement.Name = "Movement"
  428. Movement.Value = 1
  429. local Damage = IT("NumberValue", Stats)
  430. Damage.Name = "Damage"
  431. Damage.Value = 1
  432. local Mana = IT("NumberValue", Stats)
  433. Mana.Name = "Mana"
  434. Mana.Value = 0
  435. local SecondaryMana = IT("NumberValue", Stats)
  436. SecondaryMana.Name = "SecondaryMana"
  437. SecondaryMana.Value = 0
  438. local CanCrit = IT("BoolValue", Stats)
  439. CanCrit.Name = "CanCrit"
  440. CanCrit.Value = false
  441. local CritChance = IT("NumberValue", Stats)
  442. CritChance.Name = "CritChance"
  443. CritChance.Value = 20
  444. local CanPenetrateArmor = IT("BoolValue", Stats)
  445. CanPenetrateArmor.Name = "CanPenetrateArmor"
  446. CanPenetrateArmor.Value = false
  447. local AntiTeamKill = IT("BoolValue", Stats)
  448. AntiTeamKill.Name = "AntiTeamKill"
  449. AntiTeamKill.Value = false
  450. local Rooted = IT("BoolValue", Stats)
  451. Rooted.Name = "Rooted"
  452. Rooted.Value = false
  453. local Block = IT("BoolValue", Stats)
  454. Block.Name = "Block"
  455. Block.Value = false
  456. local RecentEnemy = IT("ObjectValue", Stats)
  457. RecentEnemy.Name = "RecentEnemy"
  458. RecentEnemy.Value = nil
  459. local StaggerHit = IT("BoolValue", Stats)
  460. StaggerHit.Name = "StaggerHit"
  461. StaggerHit.Value = false
  462. local Stagger = IT("BoolValue", Stats)
  463. Stagger.Name = "Stagger"
  464. Stagger.Value = false
  465. local Stun = IT("BoolValue", Stats)
  466. Stun.Name = "Stun"
  467. Stun.Value = false
  468. local StunValue = IT("NumberValue", Stats)
  469. StunValue.Name = "StunValue"
  470. StunValue.Value = 0
  471.  
  472.  
  473. --//=================================\\
  474. --\\=================================//
  475.  
  476.  
  477.  
  478.  
  479.  
  480. --//=================================\\
  481. --||         DEBUFFS / BUFFS
  482. --\\=================================//
  483.  
  484. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  485. DEFENSECHANGE1.Name = "ChangeDefense"
  486. DEFENSECHANGE1.Value = 0
  487.  
  488. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  489. MOVEMENTCHANGE1.Name = "ChangeMovement"
  490. MOVEMENTCHANGE1.Value = 0
  491.  
  492. --//=================================\\
  493. --\\=================================//
  494.  
  495.  
  496.  
  497.  
  498.  
  499. --//=================================\\
  500. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  501. --\\=================================//
  502.  
  503. ArtificialHB = Instance.new("BindableEvent", script)
  504. ArtificialHB.Name = "ArtificialHB"
  505.  
  506. script:WaitForChild("ArtificialHB")
  507.  
  508. frame = Frame_Speed
  509. tf = 0
  510. allowframeloss = false
  511. tossremainder = false
  512. lastframe = tick()
  513. script.ArtificialHB:Fire()
  514.  
  515. game:GetService("RunService").Heartbeat:connect(function(s, p)
  516.     tf = tf + s
  517.     if tf >= frame then
  518.         if allowframeloss then
  519.             script.ArtificialHB:Fire()
  520.             lastframe = tick()
  521.         else
  522.             for i = 1, math.floor(tf / frame) do
  523.                 script.ArtificialHB:Fire()
  524.             end
  525.         lastframe = tick()
  526.         end
  527.         if tossremainder then
  528.             tf = 0
  529.         else
  530.             tf = tf - frame * math.floor(tf / frame)
  531.         end
  532.     end
  533. end)
  534.  
  535. --//=================================\\
  536. --\\=================================//
  537.  
  538.  
  539.  
  540.  
  541.  
  542. --//=================================\\
  543. --||          SOME FUNCTIONS
  544. --\\=================================//
  545.  
  546. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  547.     return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  548. end
  549.  
  550. function PositiveAngle(NUMBER)
  551.     if NUMBER >= 0 then
  552.         NUMBER = 0
  553.     end
  554.     return NUMBER
  555. end
  556.  
  557. function NegativeAngle(NUMBER)
  558.     if NUMBER <= 0 then
  559.         NUMBER = 0
  560.     end
  561.     return NUMBER
  562. end
  563.  
  564. function Swait(NUMBER)
  565.     if NUMBER == 0 or NUMBER == nil then
  566.         ArtificialHB.Event:wait()
  567.     else
  568.         for i = 1, NUMBER do
  569.             ArtificialHB.Event:wait()
  570.         end
  571.     end
  572. end
  573.  
  574. function QuaternionFromCFrame(cf)
  575.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  576.     local trace = m00 + m11 + m22
  577.     if trace > 0 then
  578.         local s = math.sqrt(1 + trace)
  579.         local recip = 0.5 / s
  580.         return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  581.     else
  582.         local i = 0
  583.         if m11 > m00 then
  584.             i = 1
  585.         end
  586.         if m22 > (i == 0 and m00 or m11) then
  587.             i = 2
  588.         end
  589.         if i == 0 then
  590.             local s = math.sqrt(m00 - m11 - m22 + 1)
  591.             local recip = 0.5 / s
  592.             return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  593.         elseif i == 1 then
  594.             local s = math.sqrt(m11 - m22 - m00 + 1)
  595.             local recip = 0.5 / s
  596.             return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  597.         elseif i == 2 then
  598.             local s = math.sqrt(m22 - m00 - m11 + 1)
  599.             local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  600.         end
  601.     end
  602. end
  603.  
  604. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  605.     local xs, ys, zs = x + x, y + y, z + z
  606.     local wx, wy, wz = w * xs, w * ys, w * zs
  607.     local xx = x * xs
  608.     local xy = x * ys
  609.     local xz = x * zs
  610.     local yy = y * ys
  611.     local yz = y * zs
  612.     local zz = z * zs
  613.     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))
  614. end
  615.  
  616. function QuaternionSlerp(a, b, t)
  617.     local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  618.     local startInterp, finishInterp;
  619.     if cosTheta >= 0.0001 then
  620.         if (1 - cosTheta) > 0.0001 then
  621.             local theta = ACOS(cosTheta)
  622.             local invSinTheta = 1 / SIN(theta)
  623.             startInterp = SIN((1 - t) * theta) * invSinTheta
  624.             finishInterp = SIN(t * theta) * invSinTheta
  625.         else
  626.             startInterp = 1 - t
  627.             finishInterp = t
  628.         end
  629.     else
  630.         if (1 + cosTheta) > 0.0001 then
  631.             local theta = ACOS(-cosTheta)
  632.             local invSinTheta = 1 / SIN(theta)
  633.             startInterp = SIN((t - 1) * theta) * invSinTheta
  634.             finishInterp = SIN(t * theta) * invSinTheta
  635.         else
  636.             startInterp = t - 1
  637.             finishInterp = t
  638.         end
  639.     end
  640.     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
  641. end
  642.  
  643. function Clerp(a, b, t)
  644.     local qa = {QuaternionFromCFrame(a)}
  645.     local qb = {QuaternionFromCFrame(b)}
  646.     local ax, ay, az = a.x, a.y, a.z
  647.     local bx, by, bz = b.x, b.y, b.z
  648.     local _t = 1 - t
  649.     return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  650. end
  651.  
  652. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  653.     local frame = IT("Frame")
  654.     frame.BackgroundTransparency = TRANSPARENCY
  655.     frame.BorderSizePixel = BORDERSIZEPIXEL
  656.     frame.Position = POSITION
  657.     frame.Size = SIZE
  658.     frame.BackgroundColor3 = COLOR
  659.     frame.BorderColor3 = BORDERCOLOR
  660.     frame.Name = NAME
  661.     frame.Parent = PARENT
  662.     return frame
  663. end
  664.  
  665. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  666.     local label = IT("TextLabel")
  667.     label.BackgroundTransparency = 1
  668.     label.Size = UD2(1, 0, 1, 0)
  669.     label.Position = UD2(0, 0, 0, 0)
  670.     label.TextColor3 = C3(255, 255, 255)
  671.     label.TextStrokeTransparency = STROKETRANSPARENCY
  672.     label.TextTransparency = TRANSPARENCY
  673.     label.FontSize = TEXTFONTSIZE
  674.     label.Font = TEXTFONT
  675.     label.BorderSizePixel = BORDERSIZEPIXEL
  676.     label.TextScaled = true
  677.     label.Text = TEXT
  678.     label.Name = NAME
  679.     label.Parent = PARENT
  680.     return label
  681. end
  682.  
  683. function NoOutlines(PART)
  684.     PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  685. end
  686.  
  687.  
  688. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  689.     local NEWWELD = IT(TYPE)
  690.     NEWWELD.Part0 = PART0
  691.     NEWWELD.Part1 = PART1
  692.     NEWWELD.C0 = C0
  693.     NEWWELD.C1 = C1
  694.     NEWWELD.Parent = PARENT
  695.     return NEWWELD
  696. end
  697.  
  698. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  699.     local NEWSOUND = nil
  700.     coroutine.resume(coroutine.create(function()
  701.         NEWSOUND = IT("Sound", PARENT)
  702.         NEWSOUND.Volume = VOLUME
  703.         NEWSOUND.Pitch = PITCH
  704.         NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  705.         --Swait()
  706.         NEWSOUND:play()
  707.         if DOESLOOP == false then
  708.             repeat Swait() until NEWSOUND.Playing == false
  709.             NEWSOUND:remove()
  710.         elseif DOESLOOP == true then
  711.             NEWSOUND.Looped = true
  712.         end
  713.     end))
  714.     return NEWSOUND
  715. end
  716.  
  717. function CFrameFromTopBack(at, top, back)
  718.     local right = top:Cross(back)
  719.     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)
  720. end
  721.  
  722. function CreateWave(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  723.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  724.     local mesh = IT("SpecialMesh",wave)
  725.     mesh.MeshType = "FileMesh"
  726.     wave.Anchored = true
  727.     mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  728.     mesh.Scale = VT(size,size,size)
  729.     mesh.Offset = VT(0,0,-size/8)
  730.     wave.CFrame = CF(part.p) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  731.     coroutine.resume(coroutine.create(function(PART)
  732.         for i = 1, waitt do
  733.             Swait()
  734.             mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  735.             mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  736.             if doesrotate == true then
  737.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  738.             end
  739.             wave.Transparency = wave.Transparency + (0.5/waitt)
  740.             if wave.Transparency > 0.99 then
  741.                 wave:remove()
  742.             end
  743.         end
  744.     end))
  745. end
  746.  
  747. function CreateSwirl(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  748.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  749.     local mesh = IT("SpecialMesh",wave)
  750.     mesh.MeshType = "FileMesh"
  751.     wave.Anchored = true
  752.     mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
  753.     mesh.Scale = VT(size,size,size)
  754.     wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  755.     coroutine.resume(coroutine.create(function(PART)
  756.         for i = 1, waitt do
  757.             Swait()
  758.             mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  759.             if doesrotate == true then
  760.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  761.             end
  762.             wave.Transparency = wave.Transparency + (0.5/waitt)
  763.             if wave.Transparency > 0.99 then
  764.                 wave:remove()
  765.             end
  766.         end
  767.     end))
  768. end
  769.  
  770. function CreateTornado(inair,size,doesrotate,rotatedirection,waitt,part,offset,color)
  771.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  772.     local mesh = IT("SpecialMesh",wave)
  773.     mesh.MeshType = "FileMesh"
  774.     wave.Anchored = true
  775.     mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
  776.     mesh.Scale = VT(size,size,size)
  777.     wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  778.     coroutine.resume(coroutine.create(function(PART)
  779.         for i = 1, waitt do
  780.             Swait()
  781.             mesh.Scale = mesh.Scale + VT(size/5,0,size/5)
  782.             if doesrotate == true then
  783.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  784.             end
  785.             wave.Transparency = wave.Transparency + (0.5/waitt)
  786.             if wave.Transparency > 0.99 then
  787.                 wave:remove()
  788.             end
  789.         end
  790.     end))
  791. end
  792.  
  793. function CreateRing(inair,size,doesrotate,rotatedirection,waitt,part,offset,spin1,spin2,color)
  794.     local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(color), "Effect", VT(0,0,0))
  795.     local mesh = IT("SpecialMesh",wave)
  796.     mesh.MeshType = "FileMesh"
  797.     mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  798.     mesh.Scale = VT(size,size,size)
  799.     wave.Anchored = true
  800.     mesh.Offset = VT(0,0,0)
  801.     wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(inair),RAD(0),RAD(0))
  802.     coroutine.resume(coroutine.create(function(PART)
  803.         for i = 1, waitt do
  804.             Swait()
  805.             mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  806.             if doesrotate == true then
  807.                 wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(spin2, rotatedirection, spin1)
  808.             end
  809.             wave.Transparency = wave.Transparency + (0.5/waitt)
  810.             if wave.Transparency > 0.99 then
  811.                 wave:remove()
  812.             end
  813.         end
  814.     end))
  815. end
  816.  
  817. function MagicSphere(size,waitt,part,color)
  818.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(0,0,0))
  819.     local mesh = IT("SpecialMesh",wave)
  820.     mesh.MeshType = "Sphere"
  821.     wave.Anchored = true
  822.     mesh.Scale = VT(size,size,size)
  823.     mesh.Offset = VT(0,0,0)
  824.     wave.CFrame = part * ANGLES(RAD(0),RAD(0),RAD(0))
  825.     coroutine.resume(coroutine.create(function(PART)
  826.         for i = 1, waitt do
  827.             Swait()
  828.             mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  829.             wave.Transparency = wave.Transparency + (1/waitt)
  830.             if wave.Transparency > 0.99 then
  831.                 wave:remove()
  832.             end
  833.         end
  834.     end))
  835. end
  836.  
  837. function MagicBlock(size,waitt,part,offset,color)
  838.     local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(color), "Effect", VT(size,size,size))
  839.     local mesh = IT("BlockMesh",wave)
  840.     wave.Anchored = true
  841.     wave.CFrame = CF(part.Position) * CF(0,offset,0) * ANGLES(RAD(0),RAD(0),RAD(0))
  842.     coroutine.resume(coroutine.create(function(PART)
  843.         for i = 1, waitt do
  844.             Swait()
  845.             mesh.Scale = mesh.Scale + VT(size/5,size/5,size/5)
  846.             wave.CFrame = CF(wave.Position) * ANGLES(RAD(math(-360,360)),RAD(math(-360,360)),RAD(math(-360,360)))
  847.             wave.Transparency = wave.Transparency + (1/waitt)
  848.             if wave.Transparency > 0.99 then
  849.                 wave:remove()
  850.             end
  851.         end
  852.     end))
  853. end
  854.  
  855. local EyeSizes={
  856.     NumberSequenceKeypoint.new(0,0.5,0),
  857.     NumberSequenceKeypoint.new(1,0.2,0)
  858. }
  859. local EyeTrans={
  860.     NumberSequenceKeypoint.new(0,0,0),
  861.     NumberSequenceKeypoint.new(1,1,0)
  862. }
  863. local PE=Instance.new("ParticleEmitter")
  864. PE.LightEmission=0.3
  865. PE.Size=NumberSequence.new(EyeSizes)
  866. PE.Transparency=NumberSequence.new(EyeTrans)
  867. PE.Rotation=NumberRange.new(0,360)
  868. PE.LockedToPart = false
  869. PE.Speed = NumberRange.new(0,0,0)
  870. PE.ZOffset = 0.3
  871. PE.Rate = 999
  872. PE.Name = "Particles"
  873.  
  874. function CreateParticles(art,text,accel,drag,lifetime,type,isenabledbydefault,locked)
  875.     local particle = nil
  876.     coroutine.resume(coroutine.create(function(PART)
  877.         particle = PE:Clone()
  878.         Swait()
  879.         particle.Rate = 999
  880.         particle.Parent = art
  881.         particle.Acceleration = accel
  882.         if type == "Fire" then
  883.             local EyeSizes={
  884.                 NumberSequenceKeypoint.new(0,0.5,0.3),
  885.                 NumberSequenceKeypoint.new(1,0.2,0.2)
  886.             }
  887.             particle.Size = NumberSequence.new(EyeSizes)
  888.         elseif type == "Smoke" then
  889.             local EyeSizes={
  890.                 NumberSequenceKeypoint.new(0,0.5,0),
  891.                 NumberSequenceKeypoint.new(1,5,0.5)
  892.             }
  893.             particle.Size = NumberSequence.new(EyeSizes)
  894.         elseif type == "Solid" then
  895.             local EyeSizes={
  896.                 NumberSequenceKeypoint.new(0,0.5,0),
  897.                 NumberSequenceKeypoint.new(1,0.5,0)
  898.             }
  899.             particle.Size = NumberSequence.new(EyeSizes)
  900.         end
  901.         particle.Lifetime=NumberRange.new(lifetime)
  902.         particle.Drag = drag
  903.         if locked == true then
  904.             particle.LockedToPart = true
  905.         end
  906.         particle.Texture = "http://www.roblox.com/asset/?id="..text
  907.         particle.Enabled = isenabledbydefault
  908.     end))
  909. return particle
  910. end
  911.  
  912. local EyeSizes={
  913.     NumberSequenceKeypoint.new(0,0.5,0),
  914.     NumberSequenceKeypoint.new(1,0.2,0)
  915. }
  916. local EyeTrans={
  917.     NumberSequenceKeypoint.new(0,0,0),
  918.     NumberSequenceKeypoint.new(1,1,0)
  919. }
  920. local PE2=Instance.new("ParticleEmitter")
  921. PE2.LightEmission=0.8
  922. PE2.Size=NumberSequence.new(EyeSizes)
  923. PE2.Transparency=NumberSequence.new(EyeTrans)
  924. PE2.Rotation=NumberRange.new(0,360)
  925. PE2.LockedToPart = false
  926. PE2.Speed = NumberRange.new(0,0,0)
  927. PE2.ZOffset = 0.3
  928. PE2.Rate = 999
  929. PE2.VelocitySpread = 90000
  930. PE2.Name = "Particles"
  931.  
  932. function CreateParticles2(art,accel,drag,lifetime,type,isenabledbydefault,locked,size,speed)
  933.     local particle = nil
  934.     coroutine.resume(coroutine.create(function(PART)
  935.         particle = PE2:Clone()
  936.         Swait()
  937.         particle.Rate = 999
  938.         particle.Parent = art
  939.         particle.Acceleration = accel
  940.         if type == "Fire" then
  941.             local EyeSizes={
  942.                 NumberSequenceKeypoint.new(0,size,size/2),
  943.                 NumberSequenceKeypoint.new(1,size/4,size/8)
  944.             }
  945.             particle.Size = NumberSequence.new(EyeSizes)
  946.         elseif type == "Smoke" then
  947.             local EyeSizes={
  948.                 NumberSequenceKeypoint.new(0,0.5,0),
  949.                 NumberSequenceKeypoint.new(1,5,0.5)
  950.             }
  951.             particle.Size = NumberSequence.new(EyeSizes)
  952.         elseif type == "Solid" then
  953.             local EyeSizes={
  954.                 NumberSequenceKeypoint.new(0,0.5,0),
  955.                 NumberSequenceKeypoint.new(1,0.5,0)
  956.             }
  957.             particle.Size = NumberSequence.new(EyeSizes)
  958.         end
  959.         particle.Lifetime=NumberRange.new(lifetime)
  960.         particle.Drag = drag
  961.         if locked == true then
  962.             particle.LockedToPart = true
  963.         end
  964.         particle.Speed = NumberRange.new(speed,speed,speed)
  965.         particle.Texture = "http://www.roblox.com/asset/?id="..MAGICPARTICLE
  966.         particle.Enabled = isenabledbydefault
  967.         --particle.Color = ColorSequence.new(Color3.new(255, 255, 255))
  968.     end))
  969. return particle
  970. end
  971.  
  972. local Decal = IT("Decal")
  973.  
  974. function CreateMagicCircle(size,doesrotate,rotatedirection,waitt,cframe,alwaysfade)
  975.     local sinkhole = IT("Part")
  976.     sinkhole.Size = VT(size,0,size)
  977.     sinkhole.CFrame = cframe
  978.     --sinkhole.Orientation = VT(0,0,0)
  979.     sinkhole.Parent = Effects
  980.     sinkhole.Material = "Neon"
  981.     sinkhole.Color = C3(255, 255, 255)
  982.     sinkhole.Anchored = true
  983.     sinkhole.CanCollide = false
  984.     sinkhole.Transparency = 1
  985.     local decal = Decal:Clone()
  986.     decal.Parent = sinkhole
  987.     decal.Face = "Top"
  988.     decal.Texture = "http://www.roblox.com/asset/?id=1226241606"
  989.     local decal2 = Decal:Clone()
  990.     decal2.Parent = sinkhole
  991.     decal2.Face = "Bottom"
  992.     decal2.Texture = "http://www.roblox.com/asset/?id=1226241606"
  993.     coroutine.resume(coroutine.create(function(PART)
  994.         for i = 1, waitt do
  995.             Swait()
  996.             if doesrotate == true then
  997.                 sinkhole.CFrame = sinkhole.CFrame * CFrame.fromEulerAnglesXYZ(0, rotatedirection, 0)
  998.             end
  999.             if alwaysfade == true then
  1000.                 decal.Transparency = decal.Transparency + (1/waitt)
  1001.                 decal2.Transparency = decal.Transparency + (1/waitt)
  1002.             end
  1003.             if i > waitt-11 and (alwaysfade ~= true) then
  1004.                 decal.Transparency = decal.Transparency + 0.1
  1005.                 decal2.Transparency = decal.Transparency + 0.1
  1006.             end
  1007.         end
  1008.         sinkhole.Parent = nil
  1009.     end))
  1010.     return sinkhole
  1011. end
  1012.  
  1013. --//=================================\\
  1014. --\\=================================//
  1015.  
  1016.  
  1017. --//=================================\\
  1018. --||         WEAPON CREATION
  1019. --\\=================================//
  1020.  
  1021. if Player_Size ~= 1 then
  1022.     for _, v in pairs (Weapon:GetChildren()) do
  1023.         if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
  1024.             local p1 = v.Part1
  1025.             v.Part1 = nil
  1026.             local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
  1027.             v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
  1028.             v.Part1 = p1
  1029.         elseif v.ClassName == "Part" then
  1030.             for _, b in pairs (v:GetChildren()) do
  1031.                 if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
  1032.                     b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
  1033.                 end
  1034.             end
  1035.         end
  1036.     end
  1037. end
  1038.  
  1039. Swait()
  1040.  
  1041. local Plate = IT("Part",Weapon)
  1042. Plate.Size = VT(1,0.1,1)
  1043. Plate.Transparency = 1
  1044. Plate.CanCollide = false
  1045. Plate.CFrame = LeftLeg.CFrame * CF(0,-1.1,0)
  1046. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  1047. weldBetween(LeftLeg,Plate)
  1048.  
  1049. local Plate = IT("Part",Weapon)
  1050. Plate.Size = VT(1,0.1,1)
  1051. Plate.Transparency = 1
  1052. Plate.CanCollide = false
  1053. Plate.CFrame = RightLeg.CFrame * CF(0,-1.1,0)
  1054. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  1055. weldBetween(RightLeg,Plate)
  1056.  
  1057. local Plate = IT("Part",Weapon)
  1058. Plate.Size = VT(1,0.1,1)
  1059. Plate.Transparency = 1
  1060. Plate.CanCollide = false
  1061. Plate.CFrame = RightArm.CFrame * CF(0,-1.1,0)
  1062. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  1063. weldBetween(RightArm,Plate)
  1064.  
  1065. local Plate = IT("Part",Weapon)
  1066. Plate.Size = VT(1,0.1,1)
  1067. Plate.Transparency = 1
  1068. Plate.CanCollide = false
  1069. Plate.CFrame = LeftArm.CFrame * CF(0,-1.1,0)
  1070. CreateParticles(Plate,MAGICPARTICLE,VT(0,2,0),2,2,"Fire",true,true)
  1071. weldBetween(LeftArm,Plate)
  1072.  
  1073. local eye = IT("Part",Weapon)
  1074. eye.Size = VT(0.2,0.2,0.2)
  1075. eye.Shape = "Ball"
  1076. eye.CFrame = Head.CFrame * CF(0.125,0.2,-0.55)
  1077. eye.Material = "Neon"
  1078. eye.BrickColor = BRICKC("Institutional white")
  1079. weldBetween(Head,eye)
  1080.  
  1081.  
  1082.  
  1083. for _, c in pairs(Weapon:GetChildren()) do
  1084.     if c.ClassName == "Part" then
  1085.         c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1086.     end
  1087. end
  1088.  
  1089. Weapon.Parent = Character
  1090.  
  1091. Humanoid.Died:connect(function()
  1092.     ATTACK = true
  1093. end)
  1094.  
  1095. --//=================================\\
  1096. --\\=================================//
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102. --//=================================\\
  1103. --||         DAMAGE FUNCTIONS
  1104. --\\=================================//
  1105.  
  1106. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  1107.     local STATPART = CreatePart(3, Effects, "Neon", 0, 1, "Institutional white", "Effect", VT())
  1108.     STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  1109.     local BODYGYRO = IT("BodyGyro", STATPART)
  1110.     local BODYPOSITION = IT("BodyPosition", STATPART)
  1111.     BODYPOSITION.P = 2000
  1112.     BODYPOSITION.D = 100
  1113.     BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  1114.     if LABELTYPE == "Normal" then
  1115.         BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  1116.     elseif LABELTYPE == "Debuff" then
  1117.         BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  1118.     elseif LABELTYPE == "Interruption" then
  1119.         BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  1120.     end
  1121.     game:GetService("Debris"):AddItem(STATPART ,5)
  1122.     local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1123.     BILLBOARDGUI.Adornee = STATPART
  1124.     BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1125.     BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1126.     BILLBOARDGUI.AlwaysOnTop = false
  1127.     local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1128.     TEXTLABEL.BackgroundTransparency = 1
  1129.     TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1130.     TEXTLABEL.Text = TEXT
  1131.     TEXTLABEL.Font = "SciFi"
  1132.     TEXTLABEL.FontSize="Size42"
  1133.     TEXTLABEL.TextColor3 = COLOR
  1134.     TEXTLABEL.TextStrokeTransparency = 1
  1135.     TEXTLABEL.TextScaled = true
  1136.     TEXTLABEL.TextWrapped = true
  1137.     coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1138.         wait(0.2)
  1139.         for i=1, 5 do
  1140.             wait()
  1141.             THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  1142.         end
  1143.         wait(1.2)
  1144.         for i=1, 5 do
  1145.             wait()
  1146.             THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  1147.             THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  1148.             THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  1149.         end
  1150.         THEPART.Parent = nil
  1151.     end),STATPART, BODYPOSITION, TEXTLABEL)
  1152. end
  1153.  
  1154.  
  1155. --//=================================\\
  1156. --||            DAMAGING
  1157. --\\=================================//
  1158.  
  1159. function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
  1160.     if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
  1161.         local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  1162.         local dmg = math.random(min,max)
  1163.         if humanoid.Health > 0 then
  1164.             if beserk == true then
  1165.                 humanoid.Health = 0
  1166.             else
  1167.                 CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
  1168.                 hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
  1169.                 if math.random(1,100) < critrate+1 then
  1170.                     humanoid.Health = humanoid.Health - dmg*critmultiplier
  1171.                     StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1172.                 else
  1173.                     humanoid.Health = humanoid.Health - dmg
  1174.                     StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
  1175.                 end
  1176.                 local defence = Instance.new("BoolValue",hit.Parent)
  1177.                 defence.Name = ("HitBy"..Player.Name)
  1178.                 game:GetService("Debris"):AddItem(defence, 0.5)
  1179.             end
  1180.         end
  1181.     end
  1182. end
  1183.  
  1184. function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
  1185.     local dmg = math.random(min,max)
  1186.     for i,v in ipairs(workspace:GetChildren()) do
  1187.     if v:FindFirstChild("HitBy"..Player.Name) == nil then
  1188.         local body = v:GetChildren()
  1189.             for part = 1, #body do
  1190.                 if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1191.                     if(body[part].Position - position).Magnitude < radius then
  1192.                         if v.ClassName == "Model" then
  1193.                             if v:FindFirstChild("Humanoid") then
  1194.                                 if v.Humanoid.Health ~= 0 then
  1195.                                     if CanBeDodgedByJumping == true then
  1196.                                         if body[part].Position.Y < position.Y+5 then
  1197.                                             if math.random(1,100) < critrate+1 then
  1198.                                                 v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1199.                                                 StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1200.                                             else
  1201.                                                 v.Humanoid.Health = v.Humanoid.Health - dmg
  1202.                                                 StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1203.                                             end
  1204.                                             local defence = Instance.new("BoolValue",v)
  1205.                                             defence.Name = ("HitBy"..Player.Name)
  1206.                                             game:GetService("Debris"):AddItem(defence, 0.5)
  1207.                                         end
  1208.                                     else
  1209.                                         if beserk == true then
  1210.                                             v.Humanoid.Health = 0
  1211.                                         end
  1212.                                         if math.random(1,100) < critrate+1 then
  1213.                                             v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1214.                                             StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1215.                                         else
  1216.                                             v.Humanoid.Health = v.Humanoid.Health - dmg
  1217.                                             StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1218.                                         end
  1219.                                         local defence = Instance.new("BoolValue",v)
  1220.                                         defence.Name = ("HitBy"..Player.Name)
  1221.                                         game:GetService("Debris"):AddItem(defence, 0.5)
  1222.                                     end
  1223.                                 end
  1224.                             end
  1225.                         end
  1226.                         body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  1227.                     end
  1228.                 end
  1229.             end
  1230.             if v.ClassName == "Part" then
  1231.                 if v.Anchored == false and (v.Position - position).Magnitude < radius then
  1232.                     v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  1233.                 end
  1234.             end
  1235.         end
  1236.     end
  1237. end
  1238.  
  1239. function attractnearest(postype,position,range,maxstrength,last)
  1240.     if postype == "Vector" then
  1241.         for i,v in ipairs(workspace:GetChildren()) do
  1242.         local body = v:GetChildren()
  1243.             for part = 1, #body do
  1244.                 if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1245.                     if(body[part].Position - position).Magnitude < range then
  1246.                         if body[part]:FindFirstChild("ATTRACT") == nil then
  1247.                             local bv = Instance.new("BodyVelocity")
  1248.                             bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1249.                             bv.velocity = CF(body[part].Position,position).lookVector*maxstrength
  1250.                             bv.Parent = body[part]
  1251.                             bv.Name = "ATTRACT"
  1252.                         else
  1253.                             coroutine.resume(coroutine.create(function()
  1254.                                 for i = 1, last/5 do
  1255.                                     Swait(5)
  1256.                                     body[part].ATTRACT.velocity = CF(body[part].Position,position).lookVector*maxstrength  
  1257.                                 end    
  1258.                                 body[part].ATTRACT:remove()            
  1259.                             end))
  1260.                         end
  1261.                     end
  1262.                 end
  1263.             end
  1264.             if v.ClassName == "Part" then
  1265.                 if v.Anchored == false and (v.Position - position).Magnitude < range then
  1266.                     if v:FindFirstChild("ATTRACT") == nil then
  1267.                         local bv = Instance.new("BodyVelocity")
  1268.                         bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1269.                         bv.velocity = CF(v.Position,position).lookVector*maxstrength
  1270.                         bv.Parent = v
  1271.                         bv.Name = "ATTRACT"
  1272.                     else
  1273.                         coroutine.resume(coroutine.create(function()
  1274.                             for i = 1, last/5 do
  1275.                                 Swait(5)
  1276.                                 v.ATTRACT.velocity = CF(v.Position,position).lookVector*maxstrength
  1277.                             end    
  1278.                             v.ATTRACT:remove()             
  1279.                         end))
  1280.                     end
  1281.                 end
  1282.             end
  1283.         end
  1284.     elseif postype == "Part" then
  1285.         for i,v in ipairs(workspace:GetChildren()) do
  1286.         local body = v:GetChildren()
  1287.             for part = 1, #body do
  1288.                 if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1289.                     if(body[part].Position - position.Position).Magnitude < range then
  1290.                         if body[part]:FindFirstChild("ATTRACT") == nil then
  1291.                             local bv = Instance.new("BodyVelocity")
  1292.                             bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1293.                             bv.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength
  1294.                             bv.Parent = body[part]
  1295.                             bv.Name = "ATTRACT"
  1296.                         else
  1297.                             coroutine.resume(coroutine.create(function()
  1298.                                 for i = 1, last/5 do
  1299.                                     Swait(5)
  1300.                                     body[part].ATTRACT.velocity = CF(body[part].Position,position.Position).lookVector*maxstrength 
  1301.                                 end    
  1302.                                 body[part].ATTRACT:remove()            
  1303.                             end))
  1304.                         end
  1305.                     end
  1306.                 end
  1307.             end
  1308.             if v.ClassName == "Part" then
  1309.                 if v.Anchored == false and (v.Position - position.Position).Magnitude < range then
  1310.                     if v:FindFirstChild("ATTRACT") == nil then
  1311.                         local bv = Instance.new("BodyVelocity")
  1312.                         bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1313.                         bv.velocity = CF(v.Position,position.Position).lookVector*maxstrength
  1314.                         bv.Parent = v
  1315.                         bv.Name = "ATTRACT"
  1316.                     else
  1317.                         coroutine.resume(coroutine.create(function()
  1318.                             for i = 1, last/5 do
  1319.                                 Swait(5)
  1320.                                 v.ATTRACT.velocity = CF(v.Position,position.Position).lookVector*maxstrength   
  1321.                             end    
  1322.                             v.ATTRACT:remove()             
  1323.                         end))
  1324.                     end
  1325.                 end
  1326.             end
  1327.         end
  1328.     end
  1329. end
  1330.  
  1331. function killnearest(position,range,maxstrength,candestroy)
  1332.     for i,v in ipairs(workspace:GetChildren()) do
  1333.     local body = v:GetChildren()
  1334.         for part = 1, #body do
  1335.             if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1336.                 if(body[part].Position - position).Magnitude < range then
  1337.                     if v.ClassName == "Model" then
  1338.                         v:BreakJoints()
  1339.                     end
  1340.                     if candestroy == true then
  1341.                         table.insert(Effects2,{body[part],"Disappear",0.02,2,2,2,2})
  1342.                     end
  1343.                     body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  1344.                 end
  1345.             end
  1346.         end
  1347.         if v.ClassName == "Part" then
  1348.             if v.Anchored == false and (v.Position - position).Magnitude < range then
  1349.                 if candestroy == true then
  1350.                     table.insert(Effects2,{v,"Disappear",0.02,2,2,2,2})
  1351.                 end
  1352.                 v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  1353.             end
  1354.         end
  1355.     end
  1356. end
  1357.  
  1358. --//=================================\\
  1359. --||    ATTACK FUNCTIONS AND STUFF
  1360. --\\=================================//
  1361.  
  1362. function CheckTableForString(Table, String)
  1363.     for i, v in pairs(Table) do
  1364.         if string.find(string.lower(String), string.lower(v)) then
  1365.             return true
  1366.         end
  1367.     end
  1368.     return false
  1369. end
  1370.  
  1371. function CheckIntangible(Hit)
  1372.     local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  1373.     if Hit and Hit.Parent then
  1374.         if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  1375.             return true
  1376.         end
  1377.     end
  1378.     return false
  1379. end
  1380.  
  1381. Debris = game:GetService("Debris")
  1382.  
  1383. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  1384.     local Direction = CFrame.new(StartPos, Vec).lookVector
  1385.     local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1386.     local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  1387.     if RayHit and CheckIntangible(RayHit) then
  1388.         if DelayIfHit then
  1389.             wait()
  1390.         end
  1391.         RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  1392.     end
  1393.     return RayHit, RayPos, RayNormal
  1394. end
  1395.  
  1396. function turnto(pos)
  1397.     RootPart.CFrame = CF(RootPart.Position,VT(pos.X,RootPart.Position.Y,pos.Z))
  1398. end
  1399.  
  1400. function GraviBomb()
  1401.     ATTACK = true
  1402.     for i=0, 1, 0.1 / Animation_Speed do
  1403.         Swait()
  1404.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
  1405.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1406.         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)
  1407.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(50)) * ANGLES(RAD(80), RAD(-20), RAD(-30)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1408.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1409.         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)
  1410.     end
  1411.     MagicSphere(25,25,LeftArm.CFrame*CF(0,-1,0),"Institutional white")
  1412.     MagicSphere(20,25,LeftArm.CFrame*CF(0,-1,0),"Institutional white")
  1413.     coroutine.resume(coroutine.create(function()
  1414.         local cframe = CF(Mouse.Hit.p)
  1415.         local circle = CreateMagicCircle(75,true,0.05,120,cframe,false)
  1416.         for i = 1, 5 do
  1417.             CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], Effects, 2, 1)
  1418.             local sphere = IT("Part",Effects)
  1419.             sphere.Shape = "Ball"
  1420.             sphere.Size = VT(50,50,50)
  1421.             sphere.Anchored = true
  1422.             sphere.CanCollide = false
  1423.             sphere.Material = "Neon"
  1424.             sphere.BrickColor = BRICKC("Institutional white")
  1425.             sphere.Transparency = 0
  1426.             sphere.CFrame = cframe
  1427.             for i = 1, 10 do
  1428.                 Swait(2)
  1429.                 attractnearest("Vector",cframe.p,75,50,10)
  1430.                 sphere.CFrame = cframe
  1431.                 sphere.Size = sphere.Size - VT(5,5,5)
  1432.                 sphere.CFrame = cframe
  1433.             end
  1434.             sphere:remove()
  1435.         end
  1436.         local scale = 5
  1437.         coroutine.resume(coroutine.create(function()
  1438.             CreateSound(RELEASESOUND, Effects, 2, 1)
  1439.             MagicSphere(100,125,cframe,"Institutional white")
  1440.             MagicSphere(75,125,cframe,"Institutional white")
  1441.             CreateSwirl(180,6,true,0.3,225,circle,0,"Institutional white")
  1442.             CreateSwirl(180,4,true,0.3,225,circle,0,"Institutional white")
  1443.             CreateSwirl(180,2,true,0.3,225,circle,0,"Institutional white")
  1444.             for i = 1, 15 do
  1445.                 Swait()
  1446.                 killnearest(cframe.p,25,150)
  1447.             end
  1448.         end))
  1449.     end))
  1450.     for i=0, 1, 0.1 / Animation_Speed do
  1451.         Swait()
  1452.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1453.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1454.         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)
  1455.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.25 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(70 + MRANDOM(-2.5, 2.5)), RAD(40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1456.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1457.         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)
  1458.     end
  1459.     ATTACK = false
  1460. end
  1461.  
  1462. function GraviSpear()
  1463.     ATTACK = true
  1464.     for i=0, 1.5, 0.1 / Animation_Speed do
  1465.         Swait()
  1466.         turnto(Mouse.Hit.p)
  1467.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1468.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1469.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1470.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1471.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1472.         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)
  1473.     end
  1474.     local spear = IT("Part",Effects)
  1475.     spear.Anchored = true
  1476.     spear.CanCollide = false
  1477.     spear.Shape = "Ball"
  1478.     spear.Size = VT(0,0,0)
  1479.     spear.Material = "Neon"
  1480.     spear.Transparency = 0.2
  1481.     spear.BrickColor = BRICKC("Institutional white")
  1482.     spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1483.     local inner = spear:Clone()
  1484.     inner.Parent = spear
  1485.     inner.Size = VT(0,0,0)
  1486.     inner.BrickColor = BRICKC("Institutional white")
  1487.     inner.CFrame = spear.CFrame
  1488.     for i = 1, 10 do
  1489.         Swait()
  1490.         turnto(Mouse.Hit.p)
  1491.         spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1492.         inner.CFrame = spear.CFrame
  1493.         spear.Size = spear.Size + VT(0.4,0.4,0.4)
  1494.         inner.Size = inner.Size + VT(0.35,0.35,0.35)
  1495.     end
  1496.     CreateParticles2(inner,VT(0,0,0),5,1,"Smoke",true,true,1,8)
  1497.     MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1498.     MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1499.     CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
  1500.     local bv = Instance.new("BodyVelocity")
  1501.     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1502.     bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*65
  1503.     bv.Parent = spear
  1504.     bv.Name = "MOVE"
  1505.     weldBetween(spear,inner)
  1506.     spear.Anchored = false
  1507.     inner.Anchored = false
  1508.     local harm = spear.Touched:Connect(function(hit)
  1509.         if hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
  1510.             local cframe = spear.CFrame
  1511.             coroutine.resume(coroutine.create(function()
  1512.                 spear.Parent = nil
  1513.                 coroutine.resume(coroutine.create(function()
  1514.                     CreateSound(RELEASESOUND, Effects, 2, 1)
  1515.                     MagicSphere(60,125,cframe,"Institutional white")
  1516.                     MagicSphere(50,125,cframe,"Institutional white")
  1517.                     CreateSwirl(0,6,true,0.3,125,spear,0,"Institutional white")
  1518.                     CreateSwirl(0,4,true,0.3,125,spear,0,"Institutional white")
  1519.                     CreateSwirl(0,2,true,0.3,125,spear,0,"Institutional white")
  1520.                     for i = 1, 15 do
  1521.                         Swait()
  1522.                         killnearest(cframe.p,15,150)
  1523.                     end
  1524.                 end))
  1525.             end))
  1526.         end
  1527.     end)
  1528.     coroutine.resume(coroutine.create(function()
  1529.         repeat
  1530.             Swait()
  1531.             CreateSwirl(0,2,true,0.3,25,spear,0,"Institutional white")
  1532.             attractnearest("Part",spear,65,70,5)
  1533.         until spear.Parent == nil
  1534.     end))
  1535.     ATTACK = false
  1536. end
  1537.  
  1538. function WarpSpear()
  1539.     ATTACK = true
  1540.     for i=0, 1.5, 0.1 / Animation_Speed do
  1541.         Swait()
  1542.         turnto(Mouse.Hit.p)
  1543.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1544.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1545.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1546.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1547.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1548.         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)
  1549.     end
  1550.     local spear = IT("Part",Effects)
  1551.     spear.Anchored = true
  1552.     spear.CanCollide = false
  1553.     spear.Shape = "Ball"
  1554.     spear.Size = VT(0,0,0)
  1555.     spear.Material = "Neon"
  1556.     spear.Transparency = 0.2
  1557.     spear.BrickColor = BRICKC("Institutional white")
  1558.     spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1559.     local inner = spear:Clone()
  1560.     inner.Parent = spear
  1561.     inner.Size = VT(0,0,0)
  1562.     inner.BrickColor = BRICKC("Institutional white")
  1563.     inner.CFrame = spear.CFrame
  1564.     for i = 1, 5 do
  1565.         Swait()
  1566.         turnto(Mouse.Hit.p)
  1567.         spear.CFrame = RightArm.CFrame * CF(0,-4,0)
  1568.         inner.CFrame = spear.CFrame
  1569.         spear.Size = spear.Size + VT(0.4,0.4,0.4)
  1570.         inner.Size = inner.Size + VT(0.35,0.35,0.35)
  1571.     end
  1572.     MagicSphere(25,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1573.     MagicSphere(20,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1574.     CreateSound(CUTSOUNDS[MRANDOM(1, #CUTSOUNDS)], RightArm, 6, 1)
  1575.     local bv = Instance.new("BodyVelocity")
  1576.     bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1577.     bv.velocity = CF(spear.Position,Mouse.Hit.p).lookVector*100
  1578.     bv.Parent = spear
  1579.     bv.Name = "MOVE"
  1580.     weldBetween(spear,inner)
  1581.     spear.Anchored = false
  1582.     inner.Anchored = false
  1583.     local HIT = false
  1584.     local harm = spear.Touched:Connect(function(hit)
  1585.         if HIT == false and hit.Parent ~= Character and hit.Parent ~= Weapon and hit.Parent ~= Effects then
  1586.             local cframe = spear.CFrame
  1587.             HIT = true
  1588.             coroutine.resume(coroutine.create(function()
  1589.                 spear.Parent = nil
  1590.                 RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
  1591.                 coroutine.resume(coroutine.create(function()
  1592.                     CreateSound(RELEASESOUND, Effects, 2, 1.5)
  1593.                     MagicSphere(30,105,cframe,"Institutional white")
  1594.                     MagicSphere(25,105,cframe,"Institutional white")
  1595.                     for i = 1, 15 do
  1596.                         Swait()
  1597.                         killnearest(cframe.p,7.5,150)
  1598.                     end
  1599.                 end))
  1600.             end))
  1601.         end
  1602.     end)
  1603.     coroutine.resume(coroutine.create(function()
  1604.         Swait(75)
  1605.         if HIT == false then
  1606.             local cframe = spear.CFrame
  1607.             HIT = true
  1608.             coroutine.resume(coroutine.create(function()
  1609.                 spear.Parent = nil
  1610.                 RootPart.CFrame = CF(spear.Position,Mouse.Hit.p)
  1611.                 coroutine.resume(coroutine.create(function()
  1612.                     CreateSound(RELEASESOUND, Effects, 2, 1.5)
  1613.                     MagicSphere(30,105,cframe,"Institutional white")
  1614.                     MagicSphere(25,105,cframe,"Institutional white")
  1615.                     for i = 1, 15 do
  1616.                         Swait()
  1617.                         killnearest(cframe.p,7.5,150)
  1618.                     end
  1619.                 end))
  1620.             end))
  1621.         end
  1622.     end))
  1623.     coroutine.resume(coroutine.create(function()
  1624.         local loop = 0
  1625.         repeat
  1626.             Swait()
  1627.             loop = loop + 1
  1628.             if loop == 4 then
  1629.                 MagicSphere(25,15,spear.CFrame,"Institutional white")
  1630.             end
  1631.             if loop == 7 then
  1632.                 loop = 0
  1633.                 MagicSphere(25,15,spear.CFrame,"Institutional white")
  1634.             end
  1635.             attractnearest("Part",spear,12.5,50,5)
  1636.         until spear.Parent == nil
  1637.     end))
  1638.     ATTACK = false
  1639. end
  1640.  
  1641. function GravityGlobe()
  1642.     ATTACK = true
  1643.     Rooted = true
  1644.     for i=0, 1, 0.1 / Animation_Speed do
  1645.         Swait()
  1646.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
  1647.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(35)) * ANGLES(RAD(2.5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1648.         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)
  1649.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.75 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(50)) * ANGLES(RAD(80), RAD(-20), RAD(-30)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1650.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1651.         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)
  1652.     end
  1653.     coroutine.resume(coroutine.create(function()
  1654.         CreateMagicCircle(100,true,0.02,50,CF(RootPart.Position) * CF(0,-2.8,0),true)
  1655.         local cframe = RootPart.CFrame
  1656.         CreateSound(RELEASESOUND, Effects, 2, 1)
  1657.         local sphere = IT("Part",Effects)
  1658.         sphere.Shape = "Ball"
  1659.         sphere.Size = VT(0,0,0)
  1660.         sphere.Anchored = true
  1661.         sphere.CanCollide = false
  1662.         sphere.Material = "Neon"
  1663.         sphere.Transparency = 0.5
  1664.         sphere.BrickColor = BRICKC("Institutional white")
  1665.         sphere.CFrame = cframe
  1666.         local sphere2 = IT("Part",Effects)
  1667.         sphere2.Shape = "Ball"
  1668.         sphere2.Size = VT(0,0,0)
  1669.         sphere2.Anchored = true
  1670.         sphere2.CanCollide = false
  1671.         sphere2.Material = "Neon"
  1672.         sphere2.Transparency = 0.3
  1673.         sphere2.BrickColor = BRICKC("Institutional white")
  1674.         sphere2.CFrame = cframe
  1675.         for i = 1, 10 do
  1676.             Swait(2)
  1677.             attractnearest("Vector",cframe.p,50,50,10)
  1678.             sphere.CFrame = cframe
  1679.             sphere.Size = sphere.Size + VT(4,4,4)
  1680.             sphere2.CFrame = cframe
  1681.             sphere2.Size = sphere2.Size + VT(3.5,3.5,3.5)
  1682.             killnearest(cframe.p,15,0)
  1683.         end
  1684.         local scale = 0.2
  1685.         local mode = "shrink"
  1686.         for i = 1, 350 do
  1687.             Swait()
  1688.             if mode == "shrink" then
  1689.                 scale = scale + scale
  1690.                 if scale >= - 65 then
  1691.                     mode = "grow"
  1692.                 end
  1693.             elseif mode == "grow" then
  1694.                 scale = scale + -scale*2
  1695.                 if scale <= - 65 then
  1696.                     mode = "shrink"
  1697.                 end
  1698.             end
  1699.             CreateRing(180,5,true,0,50,sphere,0,scale,scale,"Institutional white")
  1700.             sphere.Size = sphere.Size + VT(scale,scale,scale)
  1701.             attractnearest("Vector",cframe.p,50,50,5)
  1702.             killnearest(cframe.p,15,0)
  1703.         end
  1704.         for i = 1, 10 do
  1705.             Swait(2)
  1706.             sphere.CFrame = cframe
  1707.             sphere.Size = sphere.Size - VT(5,5,5)
  1708.             sphere.CFrame = cframe
  1709.             sphere2.CFrame = cframe
  1710.             sphere2.Size = sphere2.Size - VT(3.5,3.5,3.5)
  1711.         end
  1712.         sphere:remove()
  1713.         sphere2:remove()
  1714.     end))
  1715.     for i=0, 1, 0.1 / Animation_Speed do
  1716.         Swait()
  1717.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1718.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(25)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
  1719.         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)
  1720.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.25 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20 + MRANDOM(-2.5, 2.5))) * ANGLES(RAD(70 + MRANDOM(-2.5, 2.5)), RAD(40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1721.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1722.         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)
  1723.     end
  1724.     Rooted = false
  1725.     ATTACK = false
  1726. end
  1727.  
  1728. function GravityBeam()
  1729.     ATTACK = true
  1730.     Rooted = true
  1731.     for i=0, 1.5, 0.1 / Animation_Speed do
  1732.         Swait()
  1733.         turnto(Mouse.Hit.p)
  1734.         RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(75)), 0.4 / Animation_Speed)
  1735.         Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.2 / Animation_Speed)
  1736.         RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1737.         LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(25), RAD(-25)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1738.         RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1739.         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)
  1740.     end
  1741.     local startpos = RightArm.CFrame*CF(0,-1.5,0).p
  1742.     local loop = 0
  1743.     local loopsound = CreateSound(CHARGESOUND, RightArm, 10, 1, true)
  1744.     local loopsound2 = CreateSound("487214658", Effects, 1, 0, true)
  1745.     local pos = nil
  1746.     repeat
  1747.         if loop < 150 then
  1748.             Swait()
  1749.             loop = loop + 1
  1750.             turnto(Mouse.Hit.p)
  1751.             MagicSphere(15,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1752.             MagicSphere(12,25,RightArm.CFrame*CF(0,-1,0),"Institutional white")
  1753.         else
  1754.             loopsound2.Pitch = 1
  1755.             loopsound:Stop()
  1756.             startpos = RightArm.CFrame*CF(0,-1.5,0).p
  1757.             turnto(Mouse.Hit.p)
  1758.             MagicSphere(35,25,CF(startpos),"Institutional white")
  1759.             MagicSphere(32,25,CF(startpos),"Institutional white")
  1760.             local RayHit, RayPos, RayNormal = CastZapRay(startpos, Mouse.Hit.p, 150, Character, false)
  1761.             local distance = (startpos - RayPos).magnitude
  1762.             local laser = Instance.new("Part",Effects)
  1763.             laser.Transparency = 0.5
  1764.             laser.CanCollide = false
  1765.             laser.Anchored = true
  1766.             laser.BrickColor = BrickColor.new("Institutional white")
  1767.             laser.Material = "Neon"
  1768.             laser.formFactor    = Enum.FormFactor.Custom
  1769.             laser.Size          = Vector3.new(2.5, 2.5, distance)
  1770.             laser.CFrame        = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
  1771.             local laser2 = Instance.new("Part",Effects)
  1772.             laser2.Transparency = 0
  1773.             laser2.CanCollide = false
  1774.             laser2.Anchored = true
  1775.             laser2.BrickColor = BrickColor.new("Institutional white")
  1776.             laser2.Material = "Neon"
  1777.             laser2.formFactor    = Enum.FormFactor.Custom
  1778.             laser2.Size          = Vector3.new(2, 2, distance)
  1779.             laser2.CFrame        = CFrame.new(startpos, RayPos) * CFrame.new(0, 0, -distance/2)
  1780.             killnearest(RayPos,5,150,true)
  1781.             MagicSphere(350,2,CF(RayPos),"Institutional white")
  1782.             MagicSphere(320,2,CF(RayPos),"Institutional white")
  1783.             if RayHit ~= nil then
  1784.                 CreateWave(0,5,false,0,25,CF(RayPos),0,"Institutional white")
  1785.             end
  1786.             attractnearest("Vector",RayPos,40,50,10)
  1787.             pos = RayPos
  1788.             Swait()
  1789.             laser2:remove()
  1790.             laser:remove()
  1791.         end
  1792.     until KEYHOLD == false
  1793.     if loop == 150 then
  1794.         local cframe = CF(pos)
  1795.         coroutine.resume(coroutine.create(function()
  1796.             coroutine.resume(coroutine.create(function()
  1797.                 CreateSound(RELEASESOUND, Effects, 2, 1)
  1798.                 MagicSphere(500,55,cframe,"Institutional white")
  1799.                 MagicSphere(450,55,cframe,"Institutional white")
  1800.                 for i = 1, 15 do
  1801.                     Swait()
  1802.                     killnearest(cframe.p,75,150)
  1803.                 end
  1804.             end))
  1805.         end))
  1806.     end
  1807.     loopsound2:remove()
  1808.     loopsound:remove()
  1809.     Rooted = false
  1810.     ATTACK = false
  1811. end
  1812.  
  1813. --//=================================\\
  1814. --||      ASSIGN THINGS TO KEYS
  1815. --\\=================================//
  1816.  
  1817. Humanoid.Changed:connect(function(Jump)
  1818.     if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1819.         Humanoid.Jump = false
  1820.     end
  1821. end)
  1822.  
  1823. function MouseDown(Mouse)
  1824.     if ATTACK == false then
  1825.     end
  1826. end
  1827.  
  1828. function MouseUp(Mouse)
  1829. HOLD = false
  1830. end
  1831.  
  1832. function KeyDown(Key)
  1833.     KEYHOLD = true
  1834.     if Key == "q" and ATTACK == false then
  1835.         GraviBomb()
  1836.     end
  1837.  
  1838.     if Key == "e" and ATTACK == false then
  1839.         GraviSpear()
  1840.     end
  1841.  
  1842.     if Key == "r" and ATTACK == false then
  1843.         GravityGlobe()
  1844.     end
  1845.  
  1846.     if Key == "g" and ATTACK == false then
  1847.         GravityBeam()
  1848.     end
  1849.  
  1850.     if Key == "x" and ATTACK == false then
  1851.     end
  1852.  
  1853.     if Key == "c" and ATTACK == false then
  1854.         WarpSpear()
  1855.     end
  1856.  
  1857.     if Key == "t" and ATTACK == false then
  1858.         CreateSound("305685800", Head, 10, 1 ,false)
  1859.     end
  1860. end
  1861.  
  1862. function KeyUp(Key)
  1863.     KEYHOLD = false
  1864. end
  1865.  
  1866.     Mouse.Button1Down:connect(function(NEWKEY)
  1867.         MouseDown(NEWKEY)
  1868.     end)
  1869.     Mouse.Button1Up:connect(function(NEWKEY)
  1870.         MouseUp(NEWKEY)
  1871.     end)
  1872.     Mouse.KeyDown:connect(function(NEWKEY)
  1873.         KeyDown(NEWKEY)
  1874.     end)
  1875.     Mouse.KeyUp:connect(function(NEWKEY)
  1876.         KeyUp(NEWKEY)
  1877.     end)
  1878.  
  1879. --//=================================\\
  1880. --\\=================================//
  1881.  
  1882.  
  1883. function unanchor()
  1884.     if UNANCHOR == true then
  1885.         g = Character:GetChildren()
  1886.         for i = 1, #g do
  1887.             if g[i].ClassName == "Part" then
  1888.                 g[i].Anchored = false
  1889.             end
  1890.         end
  1891.     end
  1892. end
  1893.  
  1894.  
  1895. --//=================================\\
  1896. --||    WRAP THE WHOLE SCRIPT UP
  1897. --\\=================================//
  1898.  
  1899. Humanoid.Changed:connect(function(Jump)
  1900.     if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1901.         Humanoid.Jump = false
  1902.     end
  1903. end)
  1904.  
  1905.         ANIMATE.Parent = nil
  1906.         local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1907.         IDLEANIMATION:Play()
  1908.  
  1909. while true do
  1910.     Swait()
  1911.     SINE = SINE + CHANGE
  1912.     local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1913.     local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1914.     local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1915.     local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1916.     local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1917.         if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1918.             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)
  1919.             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)
  1920.             --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)
  1921.             --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)
  1922.         elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1923.             RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1924.             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)
  1925.             --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)
  1926.             ----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)
  1927.         end
  1928.         if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1929.             ANIM = "Jump"
  1930.             if ATTACK == false then
  1931.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1932.                 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)
  1933.                 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)
  1934.                 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)
  1935.                 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)
  1936.                 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)
  1937.             end
  1938.         elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1939.             ANIM = "Fall"
  1940.             if ATTACK == false then
  1941.                 RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1942.                 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)
  1943.                 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)
  1944.                 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)
  1945.                 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)
  1946.                 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)
  1947.             end
  1948.         elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1949.             ANIM = "Idle"
  1950.             if ATTACK == false then
  1951.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1952.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1953.                 RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1954.                 LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1955.                 RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1956.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1957.             end
  1958.         elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1959.             ANIM = "Walk"
  1960.             WALK = WALK + 1 / Animation_Speed
  1961.             if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1962.                 WALK = 0
  1963.                 if WALKINGANIM == true then
  1964.                     WALKINGANIM = false
  1965.                 elseif WALKINGANIM == false then
  1966.                     WALKINGANIM = true
  1967.                 end
  1968.             end
  1969.             --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)
  1970.             --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)
  1971.             if ATTACK == false then
  1972.                 RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0.7 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed*3)
  1973.                 Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1974.                 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)
  1975.                 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)
  1976.                 RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size - 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1977.                 LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.2 * COS(SINE / 12) * Player_Size, -0.01 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1978.             end
  1979.         end
  1980. if #Effects2>0 then
  1981. for e=1,#Effects2 do
  1982. if Effects2[e]~=nil then
  1983. local Thing=Effects2[e]
  1984. if Thing~=nil then
  1985. local Part=Thing[1]
  1986. local Mode=Thing[2]
  1987. local Delay=Thing[3]
  1988. local IncX=Thing[4]
  1989. local IncY=Thing[5]
  1990. local IncZ=Thing[6]
  1991. local Part2=Thing[8]
  1992. if Thing[1].Transparency<=1 then
  1993. if Thing[2]=="Block1" then
  1994. Thing[1].CFrame=Thing[1].CFrame
  1995. Mesh=Thing[1].Mesh
  1996. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1997. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1998. elseif Thing[2]=="Cylinder" then
  1999. Mesh=Thing[1].Mesh
  2000. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  2001. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2002. elseif Thing[2]=="Blood" then
  2003. Mesh=Thing[7]
  2004. Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
  2005. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  2006. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2007. elseif Thing[2]=="Elec" then
  2008. Mesh=Thing[1].Mesh
  2009. Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
  2010. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2011. elseif Thing[2]=="Disappear" then
  2012. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  2013. end
  2014. else
  2015. Part.Parent=nil
  2016. table.remove(Effects2,e)
  2017. end
  2018. end
  2019. end
  2020. end
  2021. end
  2022. unanchor()
  2023. Humanoid.MaxHealth = "inf"
  2024. Humanoid.Health = "inf"
  2025. if Rooted == false then
  2026.     Disable_Jump = false
  2027.     Humanoid.WalkSpeed = Speed
  2028. elseif Rooted == true then
  2029.     Disable_Jump = true
  2030.     Humanoid.WalkSpeed = 0
  2031. end
  2032. --CreateMagicCircle(2 ,false,0,3,LeftLeg.CFrame * CF(0,-1.2,0),true)
  2033. end
  2034.  
  2035. --//=================================\\
  2036. --\\=================================//
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042. --//====================================================\\--
  2043. --||                     END OF SCRIPT
  2044. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement