SHOW:
|
|
- or go back to the newest paste.
| 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,Mouse,mouse,UserInputService,ContextActionService = owner | |
| 3 | do | |
| 4 | print("FE Compatibility code by Mokiros")
| |
| 5 | script.Parent = Player.Character | |
| 6 | ||
| 7 | --RemoteEvent for communicating | |
| 8 | local Event = Instance.new("RemoteEvent")
| |
| 9 | Event.Name = "UserInput_Event" | |
| 10 | ||
| 11 | --Fake event to make stuff like Mouse.KeyDown work | |
| 12 | - | local plr = S.Players.LocalPlayer |
| 12 | + | local function fakeEvent() |
| 13 | local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
| |
| 14 | t.connect = t.Connect | |
| 15 | return t | |
| 16 | end | |
| 17 | ||
| 18 | --Creating fake input objects with fake variables | |
| 19 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
| |
| 20 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
| |
| 21 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
| |
| 22 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
| |
| 23 | end} | |
| 24 | --Merged 2 functions into one by checking amount of arguments | |
| 25 | - | local mouse = plr:GetMouse() |
| 25 | + | CAS.UnbindAction = CAS.BindAction |
| 26 | ||
| 27 | --This function will trigger the events that have been :Connect()'ed | |
| 28 | local function te(self,ev,...) | |
| 29 | local t = m[ev] | |
| 30 | if t and t._fakeEvent and t.Function then | |
| 31 | t.Function(...) | |
| 32 | end | |
| 33 | end | |
| 34 | m.TrigEvent = te | |
| 35 | UIS.TrigEvent = te | |
| 36 | ||
| 37 | Event.OnServerEvent:Connect(function(plr,io) | |
| 38 | if plr~=Player then return end | |
| 39 | if io.isMouse then | |
| 40 | m.Target = io.Target | |
| 41 | m.Hit = io.Hit | |
| 42 | else | |
| 43 | local b = io.UserInputState == Enum.UserInputState.Begin | |
| 44 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
| 45 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
| 46 | end | |
| 47 | for _,t in pairs(CAS.Actions) do | |
| 48 | for _,k in pairs(t.Keys) do | |
| 49 | if k==io.KeyCode then | |
| 50 | t.Function(t.Name,io.UserInputState,io) | |
| 51 | end | |
| 52 | end | |
| 53 | end | |
| 54 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
| 55 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
| 56 | end | |
| 57 | end) | |
| 58 | Event.Parent = NLS([==[ | |
| 59 | local Player = game:GetService("Players").LocalPlayer
| |
| 60 | local Event = script:WaitForChild("UserInput_Event")
| |
| 61 | ||
| 62 | local UIS = game:GetService("UserInputService")
| |
| 63 | local input = function(io,a) | |
| 64 | if a then return end | |
| 65 | --Since InputObject is a client-side instance, we create and pass table instead | |
| 66 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
| |
| 67 | end | |
| 68 | UIS.InputBegan:Connect(input) | |
| 69 | UIS.InputEnded:Connect(input) | |
| 70 | ||
| 71 | local Mouse = Player:GetMouse() | |
| 72 | local h,t | |
| 73 | --Give the server mouse data 30 times every second, but only if the values changed | |
| 74 | --If player is not moving their mouse, client won't fire events | |
| 75 | while wait(1/30) do | |
| 76 | if h~=Mouse.Hit or t~=Mouse.Target then | |
| 77 | h,t=Mouse.Hit,Mouse.Target | |
| 78 | Event:FireServer({isMouse=true,Target=t,Hit=h})
| |
| 79 | end | |
| 80 | end]==],Player.Character) | |
| 81 | Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS | |
| 82 | end | |
| 83 | ||
| 84 | -- Created by Nebula_Zorua. Credit to Shack for the idea -- | |
| 85 | -- Dominus Corona Australis -- | |
| 86 | -- Nos viles. -- | |
| 87 | -- Nos mos probabiliter ut oblivioni tradatur C annis. -- | |
| 88 | -- So cur nos efficere conatur mutare mundi? -- | |
| 89 | -- Et sic ducunt ad nihil. -- | |
| 90 | -- Discord: Nebula the Zorua#6969 | |
| 91 | -- Youtube: https://www.youtube.com/channel/UCo9oU9dCw8jnuVLuy4_SATA | |
| 92 | ||
| 93 | local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
| |
| 94 | ||
| 95 | local plr = owner | |
| 96 | local char = plr.Character | |
| 97 | local PlayerGUI = plr:FindFirstChildOfClass'PlayerGui' | |
| 98 | local hum = char:FindFirstChildOfClass'Humanoid' | |
| 99 | local rarm = char["Right Arm"] | |
| 100 | local larm= char["Left Arm"] | |
| 101 | local rleg= char["Right Leg"] | |
| 102 | local lleg = char["Left Leg"] | |
| 103 | local root = char:FindFirstChild'HumanoidRootPart' | |
| 104 | local torso = char.Torso | |
| 105 | local head = char.Head | |
| 106 | local runService = S.RunService | |
| 107 | local blackholeActive = false | |
| 108 | local PaintBody = BrickColor.new'Navy blue' | |
| 109 | hum.DisplayDistanceType = "None" | |
| 110 | hum.Name = "CoronaAustralis" | |
| 111 | local Taunts = {
| |
| 112 | 907329893, | |
| 113 | 907330103, | |
| 114 | 907332856, | |
| 115 | 907329532, | |
| 116 | 907333294 | |
| 117 | } | |
| 118 | local I = Instance.new; | |
| 119 | local CN = CFrame.new; | |
| 120 | local V3 = Vector3.new; | |
| 121 | local CA = CFrame.Angles; | |
| 122 | local UD2 = UDim2.new; | |
| 123 | local C3 = Color3.new; | |
| 124 | local COS = math.cos; | |
| 125 | local SIN = math.sin; | |
| 126 | local RAD = math.rad; | |
| 127 | local FLOOR = math.floor; | |
| 128 | local RANDOM = math.random; | |
| 129 | local R3 = Region3.new; | |
| 130 | ||
| 131 | local WEAPONGUI = I("ScreenGui", PlayerGUI)
| |
| 132 | WEAPONGUI.Name = "Weapon GUI" | |
| 133 | local SKILLTEXTCOLOR = C3(0.05,0.05,0.15) | |
| 134 | ||
| 135 | -- // FUNCTIONS \\ -- | |
| 136 | function SOUND(id,parent,pitch,volume,looped) | |
| 137 | local SOUND = I("Sound")
| |
| 138 | SOUND.SoundId = id; | |
| 139 | SOUND.Parent = parent or torso | |
| 140 | SOUND.Pitch = pitch or 1 | |
| 141 | SOUND.Looped = looped or false | |
| 142 | SOUND.Volume = volume or 1 | |
| 143 | return SOUND; | |
| 144 | end | |
| 145 | ||
| 146 | ||
| 147 | function FRAME(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) | |
| 148 | local frame = I("Frame")
| |
| 149 | frame.BackgroundTransparency = TRANSPARENCY | |
| 150 | frame.BorderSizePixel = BORDERSIZEPIXEL | |
| 151 | frame.Position = POSITION | |
| 152 | frame.Size = SIZE | |
| 153 | frame.BackgroundColor3 = COLOR | |
| 154 | frame.BorderColor3 = BORDERCOLOR | |
| 155 | frame.Name = NAME | |
| 156 | frame.Parent = PARENT | |
| 157 | return frame | |
| 158 | end | |
| 159 | ||
| 160 | function LABEL(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) | |
| 161 | local label = I("TextLabel")
| |
| 162 | label.BackgroundTransparency = 1 | |
| 163 | label.Size = UD2(1, 0, 1, 0) | |
| 164 | label.Position = UD2(0, 0, 0, 0) | |
| 165 | label.TextColor3 = TEXTCOLOR | |
| 166 | label.TextStrokeTransparency = STROKETRANSPARENCY | |
| 167 | label.TextTransparency = TRANSPARENCY | |
| 168 | label.FontSize = TEXTFONTSIZE | |
| 169 | label.Font = TEXTFONT | |
| 170 | label.BorderSizePixel = BORDERSIZEPIXEL | |
| 171 | label.TextScaled = false | |
| 172 | label.Text = TEXT | |
| 173 | label.Name = NAME | |
| 174 | label.Parent = PARENT | |
| 175 | return label | |
| 176 | end | |
| 177 | ||
| 178 | function FX(id,parent,pitch,volume) | |
| 179 | return coroutine.wrap(function() | |
| 180 | local FX = SOUND(id,parent,pitch,volume) | |
| 181 | FX:Play() | |
| 182 | repeat wait() until FX.IsLoaded | |
| 183 | S.Debris:AddItem(FX,FX.TimeLength+1) | |
| 184 | end)() | |
| 185 | ||
| 186 | end | |
| 187 | ||
| 188 | function WELDBETWEEN(a, b) | |
| 189 | local weldd = Instance.new("ManualWeld")
| |
| 190 | weldd.Part0 = a | |
| 191 | weldd.Part1 = b | |
| 192 | weldd.C0 = CFrame.new() | |
| 193 | weldd.C1 = b.CFrame:inverse() * a.CFrame | |
| 194 | weldd.Parent = a | |
| 195 | return weldd | |
| 196 | end | |
| 197 | ||
| 198 | function POINTATCELESTIALBODY(body) | |
| 199 | assert(body == 'Sun' or body == 'Moon',"Celestial body has to be Sun or Moon!") | |
| 200 | if(body == 'Sun')then | |
| 201 | return CFrame.new(Vector3.new(),game:service'Lighting':GetSunDirection()) | |
| 202 | elseif(body == 'Moon')then | |
| 203 | return CFrame.new(Vector3.new(),game:service'Lighting':GetMoonDirection()) | |
| 204 | end | |
| 205 | end | |
| 206 | function IT(instance,parent,properties) | |
| 207 | local inst = I(instance) | |
| 208 | for i,v in next, properties do | |
| 209 | pcall(function() inst[v[1]] = v[2] end) | |
| 210 | end | |
| 211 | inst.Parent = parent | |
| 212 | return inst | |
| 213 | end | |
| 214 | function WELD(type,parent,part0,part1,c0,c1) | |
| 215 | local WELD = Instance.new(type,parent) | |
| 216 | WELD.Part0 = part0 | |
| 217 | WELD.Part1 = part1 | |
| 218 | WELD.C0 = c0 or CN() | |
| 219 | WELD.C1 = c1 or CN() | |
| 220 | return WELD | |
| 221 | end | |
| 222 | ||
| 223 | function PART(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) | |
| 224 | local NEWPART = IT("Part",PARENT,{})
| |
| 225 | NEWPART.formFactor = FORMFACTOR | |
| 226 | NEWPART.Reflectance = REFLECTANCE | |
| 227 | NEWPART.Transparency = TRANSPARENCY | |
| 228 | NEWPART.CanCollide = false | |
| 229 | NEWPART.Locked = true | |
| 230 | NEWPART.Anchored = true | |
| 231 | if ANCHOR == false then | |
| 232 | NEWPART.Anchored = false | |
| 233 | end | |
| 234 | NEWPART.BrickColor = BrickColor.new(tostring(BRICKCOLOR)) | |
| 235 | NEWPART.Name = NAME | |
| 236 | NEWPART.Size = SIZE | |
| 237 | NEWPART.Position = torso.CFrame.p | |
| 238 | NEWPART.Material = MATERIAL | |
| 239 | NEWPART:BreakJoints() | |
| 240 | return NEWPART | |
| 241 | end | |
| 242 | ||
| 243 | function CLEARCHILDRENWITHCLASS(where,class,recursive) | |
| 244 | local children = (recursive and where:GetDescendants() or where:GetChildren()) | |
| 245 | for _,v in next, children do | |
| 246 | if(v:IsA(class))then | |
| 247 | v:destroy() | |
| 248 | end | |
| 249 | end | |
| 250 | end | |
| 251 | ||
| 252 | function ISANIMPLAYING(humanoid,animation) | |
| 253 | for _,v in next, humanoid:GetPlayingAnimationTracks() do | |
| 254 | if(v.Animation == animation)then | |
| 255 | return true | |
| 256 | end | |
| 257 | end | |
| 258 | return false | |
| 259 | end | |
| 260 | ||
| 261 | function GETREGION(point,range,ignore) | |
| 262 | return workspace:FindPartsInRegion3WithIgnoreList(R3(point-V3(1,1,1)*range/2,point+V3(1,1,1)*range/2),ignore,250) | |
| 263 | end | |
| 264 | ||
| 265 | ||
| 266 | function Fragment(part,fragSize,startPos,endPos) | |
| 267 | if part then | |
| 268 | local dir = (startPos - endPos).unit | |
| 269 | -- gatekeeper fragmentation | |
| 270 | if not part:IsA("Terrain") then
| |
| 271 | pcall(part.BreakJoints, part) | |
| 272 | local is_block = part:IsA("Part") and part.Shape == Enum.PartType.Block
| |
| 273 | local mass = part:GetMass() | |
| 274 | local size = part.Size | |
| 275 | if (is_block and ((size.X < fragSize and size.Y < fragSize and size.Z < fragSize))) then | |
| 276 | local part_transparency = math.max(part.Transparency + 0.007 * fragSize, 0.5) | |
| 277 | if part_transparency >= 0.5 then | |
| 278 | pcall(game.Destroy, part) | |
| 279 | else | |
| 280 | local cframe = part.CFrame | |
| 281 | part.Anchored = false | |
| 282 | part.BrickColor = BrickColor.new("Medium stone grey")
| |
| 283 | part.CanCollide = true | |
| 284 | part.Size = size - Vector3.new(0.135, 0.135, 0.135) * fragSize | |
| 285 | part.Transparency = part_transparency | |
| 286 | part.CFrame = cframe + dir * 5 | |
| 287 | part.Velocity = part.Velocity + dir * 40 | |
| 288 | end | |
| 289 | elseif is_block then | |
| 290 | local parts = {part}
| |
| 291 | local model = Instance.new("Model", part.Parent)
| |
| 292 | model.Name = "Fragments" | |
| 293 | if size.X >= fragSize then | |
| 294 | size = Vector3.new(0.5, 1, 1) * size | |
| 295 | local archivable = part.Archivable | |
| 296 | local cframe = part.CFrame | |
| 297 | part.FormFactor = "Custom" | |
| 298 | part.Size = size | |
| 299 | part.Archivable = true | |
| 300 | local part_clone = part:Clone() | |
| 301 | part.Archivable = archivable | |
| 302 | part_clone.Archivable = archivable | |
| 303 | part.CFrame = cframe * CFrame.new(-0.5 * size.X, 0, 0) | |
| 304 | part_clone.CFrame = cframe * CFrame.new(0.5 * size.X, 0, 0) | |
| 305 | part_clone.Parent = model | |
| 306 | parts[2] = part_clone | |
| 307 | end | |
| 308 | if size.Y >= fragSize then | |
| 309 | size = Vector3.new(1, 0.5, 1) * size | |
| 310 | for part_index = 1, #parts do | |
| 311 | local part = parts[part_index] | |
| 312 | local archivable = part.Archivable | |
| 313 | local cframe = part.CFrame | |
| 314 | part.FormFactor = "Custom" | |
| 315 | part.Size = size | |
| 316 | part.Archivable = true | |
| 317 | local part_clone = part:Clone() | |
| 318 | part.Archivable = archivable | |
| 319 | part_clone.Archivable = archivable | |
| 320 | part.CFrame = cframe * CFrame.new(0, -0.5 * size.Y, 0) | |
| 321 | part_clone.CFrame = cframe * CFrame.new(0, 0.5 * size.Y, 0) | |
| 322 | part_clone.Parent = model | |
| 323 | table.insert(parts, part_clone) | |
| 324 | end | |
| 325 | end | |
| 326 | if size.Z >= fragSize then | |
| 327 | size = Vector3.new(1, 1, 0.5) * size | |
| 328 | for part_index = 1, #parts do | |
| 329 | local part = parts[part_index] | |
| 330 | local archivable = part.Archivable | |
| 331 | local cframe = part.CFrame | |
| 332 | part.FormFactor = "Custom" | |
| 333 | part.Size = size | |
| 334 | part.Archivable = true | |
| 335 | local part_clone = part:Clone() | |
| 336 | part.Archivable = archivable | |
| 337 | part_clone.Archivable = archivable | |
| 338 | part.CFrame = cframe * CFrame.new(0, 0, -0.5 * size.Z) | |
| 339 | part_clone.CFrame = cframe * CFrame.new(0, 0, 0.5 * size.Z) | |
| 340 | part_clone.Parent = model | |
| 341 | table.insert(parts, part_clone) | |
| 342 | end | |
| 343 | end | |
| 344 | for _, part in ipairs(parts) do | |
| 345 | part:MakeJoints() | |
| 346 | end | |
| 347 | else | |
| 348 | return false | |
| 349 | end | |
| 350 | end | |
| 351 | end | |
| 352 | return true | |
| 353 | end | |
| 354 | ||
| 355 | local music = SOUND("rbxassetid://168448384",torso,1,1,true)
| |
| 356 | music.MaxDistance = 150 | |
| 357 | music:Play() | |
| 358 | ||
| 359 | -- // CUSTOMIZATION \\ -- | |
| 360 | ||
| 361 | local Player_Size = 1 | |
| 362 | local Animation_Speed = 3 | |
| 363 | local Frame_Speed = 1 / 60 | |
| 364 | ||
| 365 | local Speed = 35 | |
| 366 | ||
| 367 | -- // WELDS \\ -- | |
| 368 | ||
| 369 | local LS = WELD('Motor',torso,torso,larm,CN(-1.5 * Player_Size,0.5 * Player_Size,0),CN(0,.5 * Player_Size,0))
| |
| 370 | local RS = WELD('Motor',torso,torso,rarm,CN(1.5 * Player_Size,0.5 * Player_Size,0),CN(0,.5 * Player_Size,0))
| |
| 371 | local NK = WELD('Motor',torso,torso,head,CN(0,1.5,0))
| |
| 372 | local LH = WELD('Motor',torso,torso,lleg,CN(-.5 * Player_Size,-1 * Player_Size,0),CN(0,1 * Player_Size,0))
| |
| 373 | local RH = WELD('Motor',torso,torso,rleg,CN(.5 * Player_Size,-1 * Player_Size,0),CN(0,1 * Player_Size,0))
| |
| 374 | local RJ = WELD('Motor',root,root,torso)
| |
| 375 | ||
| 376 | -- // MISC \\ -- | |
| 377 | pcall(game.Destroy,char:FindFirstChild'Animate') | |
| 378 | pcall(game.Destroy,hum:FindFirstChild'Animator') | |
| 379 | local EFFECTS = IT("Folder",char,{{"Name","Effects"}})
| |
| 380 | local ANIM = "Idle" | |
| 381 | local TPOSE = false | |
| 382 | local NEUTRAL_ANIMS = true | |
| 383 | local ROOTED = false | |
| 384 | local ATTACK = false | |
| 385 | local SINE = 0 | |
| 386 | local CHANGE = 2 / Animation_Speed | |
| 387 | local LSC0 = LS.C0 | |
| 388 | local RSC0 = RS.C0 | |
| 389 | local NKC0 = NK.C0 | |
| 390 | local LHC0 = LH.C0 | |
| 391 | local RHC0 = RH.C0 | |
| 392 | local RJC0 = RJ.C0 | |
| 393 | local FLOATING = {}
| |
| 394 | -- // ARTIFICIAL HB \\ -- | |
| 395 | local ArtificialHB = IT("BindableEvent", script,{{"Name","ArtificialHB"}})
| |
| 396 | ||
| 397 | script:WaitForChild("ArtificialHB")
| |
| 398 | ||
| 399 | local frame = Frame_Speed | |
| 400 | local tf = 0 | |
| 401 | local allowframeloss = false | |
| 402 | local tossremainder = false | |
| 403 | local lastframe = tick() | |
| 404 | script.ArtificialHB:Fire() | |
| 405 | ||
| 406 | game:GetService("RunService").Heartbeat:connect(function(s, p)
| |
| 407 | tf = tf + s | |
| 408 | if tf >= frame then | |
| 409 | if allowframeloss then | |
| 410 | script.ArtificialHB:Fire() | |
| 411 | lastframe = tick() | |
| 412 | else | |
| 413 | for i = 1, math.floor(tf / frame) do | |
| 414 | script.ArtificialHB:Fire() | |
| 415 | end | |
| 416 | lastframe = tick() | |
| 417 | end | |
| 418 | if tossremainder then | |
| 419 | tf = 0 | |
| 420 | else | |
| 421 | tf = tf - frame * math.floor(tf / frame) | |
| 422 | end | |
| 423 | end | |
| 424 | end) | |
| 425 | ||
| 426 | -- // MORE FUNCTIONS \\ -- | |
| 427 | function swait(NUMBER) | |
| 428 | if NUMBER == 0 or NUMBER == nil then | |
| 429 | ArtificialHB.Event:wait() | |
| 430 | else | |
| 431 | for i = 1, NUMBER do | |
| 432 | ArtificialHB.Event:wait() | |
| 433 | end | |
| 434 | end | |
| 435 | end | |
| 436 | ||
| 437 | ||
| 438 | function HigherCelestialBody() | |
| 439 | return (game:service'Lighting':GetMoonDirection().y >= game:service'Lighting':GetSunDirection().y and 'Moon' or 'Sun') | |
| 440 | end | |
| 441 | ||
| 442 | function Shatter(v) | |
| 443 | --PART(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) | |
| 444 | local STORE = IT("Folder",v.Parent,{{"Name","ShardStore"}})
| |
| 445 | local size = v.Size.x + v.Size.y + v.Size.z | |
| 446 | local sizeset = size/4 | |
| 447 | local Offset = V3(v.Size.x*1.5/sizeset,v.Size.y*1.5/sizeset,v.Size.z*1.5/sizeset) | |
| 448 | for x = 1, math.ceil(Offset.x) do | |
| 449 | for y = 1, math.ceil(Offset.y) do | |
| 450 | for z = 1, math.ceil(Offset.z) do | |
| 451 | local shard = PART(3,STORE,v.Material,v.Reflectance,v.Transparency,v.BrickColor,v.Name.." Shard",V3(size,size,size)/10,v.Anchored) | |
| 452 | shard.CanCollide = true | |
| 453 | shard.CFrame = v.CFrame*CN((v.Size.x/2-v.Size.x/4),(v.Size.y/2-v.Size.y/4),(v.Size.z/2-v.Size.z/4)) | |
| 454 | shard.Velocity = V3(RANDOM(-15,15),RANDOM(-15,15),RANDOM(-15,15))*2 | |
| 455 | for _,c in next, v:children() do | |
| 456 | if(c:IsA'ParticleEmitter' or v:IsA'Sparkles' or v:IsA'Smoke' or v:IsA'PointLight' or v:IsA'Fire' or v:IsA'SpotLight' or v:IsA'SurfaceLight')then | |
| 457 | local oArc = c.Archivable | |
| 458 | c.Archivable = true | |
| 459 | local clone = c:Clone() | |
| 460 | clone.Parent = shard | |
| 461 | clone.Archivable = oArc | |
| 462 | end | |
| 463 | end | |
| 464 | end | |
| 465 | end | |
| 466 | end | |
| 467 | v:Destroy() | |
| 468 | end | |
| 469 | ||
| 470 | function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR) -- thanks shack BB | |
| 471 | local STATPART = PART(3, EFFECTS, "SmoothPlastic", 0, 1, "Really black", "Effect", V3()) | |
| 472 | STATPART.CFrame = CN(CFRAME.p + V3(0, 1.5, 0)) | |
| 473 | local BODYGYRO = IT("BodyGyro", STATPART,{})
| |
| 474 | local BODYPOSITION = IT("BodyPosition", STATPART,{})
| |
| 475 | BODYPOSITION.P = 2000 | |
| 476 | BODYPOSITION.D = 100 | |
| 477 | BODYPOSITION.maxForce = V3(math.huge, math.huge, math.huge) | |
| 478 | if LABELTYPE == "Normal" then | |
| 479 | BODYPOSITION.position = STATPART.Position + V3(RANDOM(-2, 2), 6, RANDOM(-2, 2)) | |
| 480 | elseif LABELTYPE == "Debuff" then | |
| 481 | BODYPOSITION.position = STATPART.Position + V3(RANDOM(-2, 2), 8, RANDOM(-2, 2)) | |
| 482 | elseif LABELTYPE == "Interruption" then | |
| 483 | BODYPOSITION.position = STATPART.Position + V3(RANDOM(-2,2), 8, RANDOM(-2, 2)) | |
| 484 | end | |
| 485 | game:GetService("Debris"):AddItem(STATPART ,5)
| |
| 486 | local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
| |
| 487 | BILLBOARDGUI.Adornee = STATPART | |
| 488 | BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0) | |
| 489 | BILLBOARDGUI.StudsOffset = V3(-2, 2, 0) | |
| 490 | BILLBOARDGUI.AlwaysOnTop = false | |
| 491 | local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
| |
| 492 | TEXTLABEL.BackgroundTransparency = 1 | |
| 493 | TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0) | |
| 494 | TEXTLABEL.Text = TEXT | |
| 495 | TEXTLABEL.Font = "SciFi" | |
| 496 | TEXTLABEL.FontSize="Size42" | |
| 497 | TEXTLABEL.TextColor3 = COLOR | |
| 498 | TEXTLABEL.TextStrokeTransparency = 1 | |
| 499 | TEXTLABEL.TextScaled = true | |
| 500 | TEXTLABEL.TextWrapped = true | |
| 501 | coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL) | |
| 502 | wait(0.2) | |
| 503 | for i=1, 5 do | |
| 504 | wait() | |
| 505 | THEBODYPOSITION.Position = THEPART.Position - V3(0, 0.5 ,0) | |
| 506 | end | |
| 507 | wait(1.2) | |
| 508 | for i=1, 5 do | |
| 509 | wait() | |
| 510 | THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2 | |
| 511 | THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2 | |
| 512 | THEBODYPOSITION.position = THEPART.Position + V3(0, 0.5, 0) | |
| 513 | end | |
| 514 | THEPART.Parent = nil | |
| 515 | end),STATPART, BODYPOSITION, TEXTLABEL) | |
| 516 | end | |
| 517 | ||
| 518 | ||
| 519 | function AoEDAMAGE(pos,rad,min,max,avoidbyjump,critRate,critMult,kill) | |
| 520 | local dmg = RANDOM(min,max) | |
| 521 | local R3 = GETREGION(pos,rad,{char})
| |
| 522 | local Hit = {}
| |
| 523 | for _,v in next, R3 do | |
| 524 | local h = (v and v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil) | |
| 525 | if(h and not Hit[h])then | |
| 526 | Hit[h] = true | |
| 527 | if(v.Parent:FindFirstChild'Head' and v.Parent.Head:IsA'BasePart')then | |
| 528 | local hed = v.Parent.Head | |
| 529 | local crit = RANDOM(1,100) | |
| 530 | local dmgText = (crit <= critRate and "? - "..dmg*critMult or " - "..dmg) | |
| 531 | ||
| 532 | if(kill)then | |
| 533 | dmgText = "INSTANT" | |
| 534 | v.Parent:breakJoints() | |
| 535 | end | |
| 536 | if(not avoidbyjump or hed.CFrame.y <= pos.y+3)then | |
| 537 | if(crit <= critRate)then | |
| 538 | --dmg*critMult | |
| 539 | h.Health = h.Health - dmg*critMult | |
| 540 | else | |
| 541 | h.Health = h.Health - dmg | |
| 542 | end | |
| 543 | StatLabel('Normal',hed.CFrame * CN(0, 0 + hed.Size.z - 1, 0),dmgText,(dmgText:find"?" and BrickColor.new'New Yeller' or dmgText == "INSTANT" and BrickColor.new'Really red' or BrickColor.new'Navy blue').Color)
| |
| 544 | end | |
| 545 | end | |
| 546 | end | |
| 547 | end | |
| 548 | end | |
| 549 | ||
| 550 | function getMouseDir() | |
| 551 | return {CN(root.Position, Vector3.new(mouse.Hit.p.x,root.Position.y,mouse.Hit.p.z))}
| |
| 552 | end | |
| 553 | ||
| 554 | function newBezier(startpos, pos2, pos3, endpos, t) | |
| 555 | local A = startpos:lerp(pos2, t) | |
| 556 | local B =pos2:lerp(pos3, t) | |
| 557 | local C = pos3:lerp(endpos, t) | |
| 558 | local lerp1 = A:lerp(B, t) | |
| 559 | local lerp2 = B:lerp(C, t) | |
| 560 | local cubic = lerp1:lerp(lerp2, t) | |
| 561 | return cubic | |
| 562 | end | |
| 563 | ||
| 564 | function PARTANDMESH(parent,brickcolor,material,anchored,cancollide,locked,size,cframe,meshid,textureid,scale,partProps,meshProps) | |
| 565 | local part = IT("Part",parent or EFFECTS,{{"TopSurface",10},{"BottomSurface",10},{"BrickColor",brickcolor},{"Anchored",anchored},{"CanCollide",cancollide},{"Locked",locked},{"Material",material}, {"Size",size},{"CFrame",cframe}})
| |
| 566 | local mesh = IT("SpecialMesh",part,{{"MeshId",meshid},{"TextureId",textureid},{"Scale",scale}})
| |
| 567 | for i,v in next, partProps do | |
| 568 | pcall(function() part[i] = v end) | |
| 569 | end | |
| 570 | for i,v in next, meshProps do | |
| 571 | pcall(function() mesh[i] = v end) | |
| 572 | end | |
| 573 | return part,mesh | |
| 574 | end | |
| 575 | ||
| 576 | -- // MODEL, ETC \\ -- | |
| 577 | CLEARCHILDRENWITHCLASS(char,"BodyColors",true) | |
| 578 | ||
| 579 | local SKILL1FRAME = FRAME(WEAPONGUI, 1, 2, UD2(0.23, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame") | |
| 580 | local SKILL2FRAME = FRAME(WEAPONGUI, 1, 2, UD2(0.50, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame") | |
| 581 | local SKILL3FRAME = FRAME(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame") | |
| 582 | ||
| 583 | local SKILL1TEXT = LABEL(SKILL1FRAME, "[Z] Celestial Beam", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 1") | |
| 584 | local SKILL2TEXT = LABEL(SKILL2FRAME, "[X] Meteor Crush", SKILLTEXTCOLOR, 7, "Fantasy", 0, 2, 0, "Text 2") | |
| 585 | local SKILL3TEXT = LABEL(SKILL3FRAME, "[V] Supernova", SKILLTEXTCOLOR, 10, "Fantasy", 0, 2, 0, "Text 3") | |
| 586 | ||
| 587 | for _,v in next, char:children() do | |
| 588 | if(v:IsA'BasePart')then | |
| 589 | local BF = I("BodyForce",v)
| |
| 590 | end | |
| 591 | end | |
| 592 | ||
| 593 | ||
| 594 | torso.Color = C3(0,0,0) | |
| 595 | rarm.BrickColor = BrickColor.new'Navy blue' | |
| 596 | larm.BrickColor = BrickColor.new'Navy blue' | |
| 597 | rleg.Color = Color3.fromRGB(0,19,57) | |
| 598 | lleg.Color = Color3.fromRGB(0,19,57) | |
| 599 | hum.HipHeight = 2 | |
| 600 | for _,v in next, char:GetDescendants() do | |
| 601 | if(v:IsA'BasePart')then | |
| 602 | v.Material = Enum.Material.Neon | |
| 603 | end | |
| 604 | end | |
| 605 | local Dominus = IT("SpecialMesh",head,{{"MeshId","http://www.roblox.com/asset/?id=21057410"},{"Scale",V3(1.1,1.1,1.1)},{"TextureId","http://www.roblox.com/asset/?id=278072540"}})
| |
| 606 | --[[local ZeroGravityField = IT("Part",char,{
| |
| 607 | {"Transparency",0.85},
| |
| 608 | {"BrickColor",BrickColor.new"White"},
| |
| 609 | {"Size",V3(1,1,1)},
| |
| 610 | {"TopSurface",10},
| |
| 611 | {"BottomSurface",10},
| |
| 612 | {"Material",Enum.Material.Neon},
| |
| 613 | {"CFrame",torso.CFrame},
| |
| 614 | {"Anchored",false},
| |
| 615 | {"CanCollide",false},
| |
| 616 | {"Locked",true},
| |
| 617 | {"Archivable",false}
| |
| 618 | } | |
| 619 | ) | |
| 620 | local ZeroGravityWeld = WELD("Weld",torso,torso,ZeroGravityField)
| |
| 621 | local ZeroGravityMesh = IT("SpecialMesh",ZeroGravityField,{{"Scale",V3(30,30,30)},{"MeshType",Enum.MeshType.Sphere}})]]
| |
| 622 | CLEARCHILDRENWITHCLASS(char,"Clothing") | |
| 623 | CLEARCHILDRENWITHCLASS(char,"Accoutrement") | |
| 624 | CLEARCHILDRENWITHCLASS(char,"Decal",true) | |
| 625 | ||
| 626 | -- // ANTI DEATH \\ -- | |
| 627 | local FF = I("ForceField",char)
| |
| 628 | FF.Visible = false | |
| 629 | function refit() | |
| 630 | RJ.Parent = root | |
| 631 | NK.Parent = torso | |
| 632 | RS.Parent = torso | |
| 633 | LS.Parent = torso | |
| 634 | RH.Parent = torso | |
| 635 | LH.Parent = torso | |
| 636 | --ZeroGravityField.Parent = char | |
| 637 | root.Parent = char | |
| 638 | larm.Parent = char | |
| 639 | rarm.Parent = char | |
| 640 | rleg.Parent = char | |
| 641 | lleg.Parent = char | |
| 642 | torso.Parent = char | |
| 643 | head.Parent = char | |
| 644 | --ZeroGravityWeld.Parent = char | |
| 645 | end | |
| 646 | ||
| 647 | -- // ATTACK FUNCTIONS/ETC \\ -- | |
| 648 | ||
| 649 | function Taunt() | |
| 650 | local id = Taunts[RANDOM(1,#Taunts)] | |
| 651 | local taunt = SOUND("rbxassetid://"..id,head,1,5)
| |
| 652 | taunt.MaxDistance = 150 | |
| 653 | taunt:Play() | |
| 654 | repeat swait() until not taunt.Playing | |
| 655 | taunt:Destroy() | |
| 656 | end | |
| 657 | ||
| 658 | function CelestialLazor() | |
| 659 | local target = mouse.Hit | |
| 660 | local beam = I("Part",EFFECTS)
| |
| 661 | beam.TopSurface,beam.BottomSurface,beam.Size,beam.Anchored,beam.CanCollide,beam.Archivable = 10,10,Vector3.new(1,1,1),true,false,false | |
| 662 | beam.Material,beam.BrickColor = Enum.Material.Glass,BrickColor.new'Navy blue' | |
| 663 | ||
| 664 | local kthx = IT("Part",nil,{
| |
| 665 | {'Transparency',1},{'CanCollide',false},{'Anchored',true},{'Position',target.p}
| |
| 666 | }) | |
| 667 | local high = HigherCelestialBody() | |
| 668 | local look = CN(V3(),game:service'Lighting':GetSunDirection()) | |
| 669 | if(high == 'Moon')then | |
| 670 | look = CN(V3(),game:service'Lighting':GetMoonDirection()) | |
| 671 | end | |
| 672 | root.CFrame = getMouseDir()[1] | |
| 673 | local mesh = I("BlockMesh",beam)
| |
| 674 | mesh.Scale = V3(5,5,1e4) | |
| 675 | for i = 5, 0, -.15 do | |
| 676 | ||
| 677 | local circle = PARTANDMESH(EFFECTS,BrickColor.new'White',"Neon",true,false,true,V3(1,1,1),CN(kthx.Position) * look * CA(RAD(90),0,0) * CN(0,-RANDOM(5,175),0)* CA(RAD(RANDOM(-360,360)),RAD(RANDOM(-360,360)),RAD(RANDOM(-360,360))) * CN(0,0,RANDOM(5,15)),"","",V3(1,1,1),{Transparency = .5},{MeshType=Enum.MeshType.Sphere})
| |
| 678 | game:service'Debris':AddItem(circle,.25) | |
| 679 | beam.CFrame = CN(kthx.Position) * look * CN(0,0,-4970) | |
| 680 | mesh.Scale = Vector3.new(i,i,1e4) | |
| 681 | beam.Transparency = beam.Transparency + 0.035 | |
| 682 | swait() | |
| 683 | end | |
| 684 | beam:destroy() | |
| 685 | local explosion,explosionMesh = PARTANDMESH(EFFECTS,BrickColor.new'Navy blue',"Neon",true,false,true,V3(1,1,1),target,"","",V3(20,20,20),{},{MeshType=Enum.MeshType.Sphere})
| |
| 686 | AoEDAMAGE(explosion.CFrame.p,25,1e25,1e25,false,100,2,true) | |
| 687 | for trans = 0, 1, .15 do | |
| 688 | ||
| 689 | explosion.Transparency = trans | |
| 690 | explosionMesh.Scale = explosionMesh.Scale + V3(2,2,2) | |
| 691 | swait() | |
| 692 | end | |
| 693 | explosion:destroy() | |
| 694 | end | |
| 695 | function AsteroidCrusher() | |
| 696 | if(mouse.Target)then | |
| 697 | ATTACK = true | |
| 698 | ROOTED = true | |
| 699 | local TRACKING = true | |
| 700 | local target = PARTANDMESH(EFFECTS,BrickColor.new'Really red',"Neon",true,false,true,V3(.05,25,25),CN(mouse.Hit.p)*CA(0,0,-math.pi/2),"","",V3(1,1,1),{Transparency = .5},{MeshType=Enum.MeshType.Cylinder})
| |
| 701 | local down; | |
| 702 | local targetCF = CN(mouse.Hit.p)*CA(0,0,-math.pi/2); | |
| 703 | down = mouse.Button1Down:connect(function() | |
| 704 | down:disconnect() | |
| 705 | TRACKING = false | |
| 706 | end) | |
| 707 | ||
| 708 | repeat swait() | |
| 709 | root.CFrame = getMouseDir()[1] | |
| 710 | if(mouse.Target)then | |
| 711 | target.CFrame = CN(mouse.Hit.p)*CA(0,0,-math.pi/2) | |
| 712 | end | |
| 713 | until not TRACKING | |
| 714 | NEUTRAL_ANIMS = false | |
| 715 | ||
| 716 | target:Destroy() | |
| 717 | for i = 0, 2, .1/Animation_Speed do | |
| 718 | RJ.C0 = RJ.C0:lerp(CA(0,RAD(75),0)*CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(2+3*SIN(SINE / 12)),0,0),.3/Animation_Speed) | |
| 719 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-14+7*COS(SINE/12)),0,RAD(-2-3*COS(SINE/12)))*CA(0,RAD(-75),0),.3/Animation_Speed) | |
| 720 | RS.C0 = RS.C0:lerp(RSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12)))*CN(-.25,.1,0)*CA(0,0,RAD(125)),.3/Animation_Speed) | |
| 721 | LS.C0 = LS.C0:lerp(LSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,-RAD(10+5*SIN(SINE / 12)))*CA(0,RAD(35),0),.3/Animation_Speed) | |
| 722 | RH.C0 = RH.C0:lerp(RHC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 723 | LH.C0 = LH.C0:lerp(LHC0*CN(.1,.5,-.5)*CN(0,0+.25*COS(SINE / 12),0)*CA(RAD(10),0,-RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 724 | swait() | |
| 725 | end | |
| 726 | for i = 0, .45, .1/Animation_Speed do | |
| 727 | RJ.C0 = RJ.C0:lerp(CA(0,RAD(75),0)*CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(2+3*SIN(SINE / 12)),0,0),.3/Animation_Speed) | |
| 728 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-14+7*COS(SINE/12)),0,RAD(-2-3*COS(SINE/12)))*CA(0,RAD(-75),0),.3/Animation_Speed) | |
| 729 | RS.C0 = RS.C0:lerp(RSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12)))*CN(-.25,.3,0)*CA(0,0,RAD(180)),.7/Animation_Speed) | |
| 730 | LS.C0 = LS.C0:lerp(LSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,-RAD(10+5*SIN(SINE / 12)))*CA(0,RAD(35),0),.7/Animation_Speed) | |
| 731 | RH.C0 = RH.C0:lerp(RHC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 732 | LH.C0 = LH.C0:lerp(LHC0*CN(.1,.5,-.5)*CN(0,0+.25*COS(SINE / 12),0)*CA(RAD(10),0,-RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 733 | swait() | |
| 734 | end | |
| 735 | ||
| 736 | local asteroid,asteroidMesh = PARTANDMESH(EFFECTS,BrickColor.new'Dark stone grey',"Granite",false,false,true,V3(target.Size.y,target.Size.y,target.Size.z),CN(target.CFrame.p)*CN(0,500,0),"","",V3(1,1,1),{},{})
| |
| 737 | asteroidMesh.MeshType=Enum.MeshType.Sphere | |
| 738 | local fat = Instance.new("BodyPosition",asteroid)
| |
| 739 | fat.position = target.CFrame.p | |
| 740 | fat.D = 500 | |
| 741 | fat.P = 10000 | |
| 742 | fat.maxForce = V3(math.huge,math.huge,math.huge) | |
| 743 | coroutine.wrap(function() | |
| 744 | repeat swait() | |
| 745 | for _,v in next, GETREGION(asteroid.CFrame.p,asteroid.Size.x+2,{char}) do
| |
| 746 | if(v:IsA'BasePart' and not v:IsDescendantOf(char) and v.Name ~= 'Base' and (v.Parent and v.Parent.Name ~= 'ShardStore' or true))then | |
| 747 | if(not v.Parent or v.Parent:FindFirstChildOfClass'Humanoid' and not v.Parent:IsA'Accoutrement')then | |
| 748 | --if(not Fragment(part,fragSize,originPos,pos))then break end | |
| 749 | local size = v.Size | |
| 750 | local fragSize = 1.25 | |
| 751 | Fragment(v,fragSize,(CN(target.CFrame.p) * CN(0,250,0)).p,target.CFrame.p) | |
| 752 | else | |
| 753 | Shatter(v) | |
| 754 | swait(1) | |
| 755 | end | |
| 756 | end | |
| 757 | end | |
| 758 | until (asteroid.CFrame.p-target.CFrame.p).magnitude <= 4 | |
| 759 | local effect = PARTANDMESH(EFFECTS,BrickColor.new'Really red',"Neon",true,false,true,target.Size,target.CFrame,"","",V3(1,1,1),{},{MeshType=Enum.MeshType.Cylinder})
| |
| 760 | fat:destroy() | |
| 761 | asteroid.Anchored = true | |
| 762 | coroutine.wrap(function() | |
| 763 | for i = 0, 1, .05 do | |
| 764 | effect.Size = effect.Size + V3(.2,.2,.2) | |
| 765 | asteroid.Size = asteroid.Size + V3(.15,.15,.15) | |
| 766 | effect.Transparency = (i/1) | |
| 767 | - | runService.RenderStepped:wait() |
| 767 | + | |
| 768 | swait() | |
| 769 | end | |
| 770 | effect:destroy() | |
| 771 | asteroid:destroy() | |
| 772 | end)() | |
| 773 | ||
| 774 | -- explode | |
| 775 | end)() | |
| 776 | for i = 0, 2, .1/Animation_Speed do | |
| 777 | RJ.C0 = RJ.C0:lerp(CA(0,RAD(75),0)*CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(2+3*SIN(SINE / 12)),0,0),.3/Animation_Speed) | |
| 778 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-14+7*COS(SINE/12)),0,RAD(-2-3*COS(SINE/12)))*CA(0,RAD(-75),0),.3/Animation_Speed) | |
| 779 | RS.C0 = RS.C0:lerp(RSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12)))*CN(-.25,.1,0)*CA(0,0,RAD(45)),1/Animation_Speed) | |
| 780 | LS.C0 = LS.C0:lerp(LSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,-RAD(10+5*SIN(SINE / 12)))*CA(0,RAD(35),0),1/Animation_Speed) | |
| 781 | RH.C0 = RH.C0:lerp(RHC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 782 | LH.C0 = LH.C0:lerp(LHC0*CN(.1,.5,-.5)*CN(0,0+.25*COS(SINE / 12),0)*CA(RAD(10),0,-RAD(10+5*SIN(SINE / 12))),.3 / Animation_Speed) | |
| 783 | swait() | |
| 784 | end | |
| 785 | NEUTRAL_ANIMS = true | |
| 786 | ROOTED = false | |
| 787 | ATTACK = false | |
| 788 | end | |
| 789 | end | |
| 790 | function Blackhole(pos,destroy) | |
| 791 | local lol = {}
| |
| 792 | local n = 0 | |
| 793 | local hole,holeMesh = PARTANDMESH(EFFECTS,BrickColor.new'Black',"Plastic",true,false,true,V3(1,1,1),pos,"","",V3(20,20,20),{},{})
| |
| 794 | holeMesh.MeshType=Enum.MeshType.Sphere | |
| 795 | function checkObject(obj) | |
| 796 | if (obj ~= hole) and (obj.className == "Part") then | |
| 797 | if (obj.Anchored == false) then | |
| 798 | table.insert(lol, 1, obj) | |
| 799 | end | |
| 800 | elseif (obj.className == "Model") or (obj.className == "Hat") or (obj.className == "Tool") or (obj == workspace) then | |
| 801 | local child = obj:GetChildren() | |
| 802 | for x = 1, #child do | |
| 803 | checkObject(child[x]) | |
| 804 | end | |
| 805 | obj.ChildAdded:connect(checkObject) | |
| 806 | end | |
| 807 | end | |
| 808 | checkObject(workspace) | |
| 809 | local blackholeing = true | |
| 810 | for i = 1, 450 do | |
| 811 | if(i%8 == 0)then | |
| 812 | local NewInstance = function(instance,parent,properties) -- lol lazy | |
| 813 | local inst = Instance.new(instance) | |
| 814 | if(properties)then | |
| 815 | for i,v in next, properties do | |
| 816 | pcall(function() inst[i] = v end) | |
| 817 | end | |
| 818 | end | |
| 819 | inst.Parent = parent | |
| 820 | return inst; | |
| 821 | end | |
| 822 | coroutine.wrap(function() | |
| 823 | local cf = hole.CFrame * CA(0,math.pi*2/n*i,0)*CN(0,0,RANDOM(90,170)) | |
| 824 | local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(cf.p,((CFrame.new(cf.p,cf.p - Vector3.new(0,1,0))).lookVector).unit * 1000), char) | |
| 825 | if(hitfloor)then | |
| 826 | local block = NewInstance("Part",workspace,{CanCollide=false,Anchored=true,CFrame=cf*CN(0,1,0),BrickColor = hitfloor.BrickColor,Transparency=hitfloor.Transparency,Reflectance=hitfloor.Reflectance,Material=hitfloor.Material,Size=V3(2+RANDOM(-25,75)/100,2+RANDOM(-25,75)/100,2+RANDOM(-25,75)/100)})
| |
| 827 | local onefourth = posfloor:Lerp(hole.CFrame.p, 0.25) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25)) | |
| 828 | local threefourths = posfloor:Lerp(hole.CFrame.p, 0.75) + Vector3.new(math.random(-25, 25), math.random(0, 25), math.random(-25, 25)) | |
| 829 | local MPos = hole.CFrame.p | |
| 830 | for i = 0, 1, RANDOM(650,800)/1e5 do | |
| 831 | swait() | |
| 832 | if(not blackholeing)then | |
| 833 | block:destroy() | |
| 834 | break | |
| 835 | else | |
| 836 | block.CFrame = CFrame.new(newBezier(posfloor, onefourth, threefourths, MPos, i)) | |
| 837 | end | |
| 838 | end | |
| 839 | block:destroy() | |
| 840 | end | |
| 841 | end)() | |
| 842 | end | |
| 843 | local effect,effectMesh = PARTANDMESH(EFFECTS,BrickColor.new'Black',"Plastic",true,false,true,V3(1,1,1),CN(hole.CFrame.p)*CA(RAD(RANDOM(-360,360)),RAD(RANDOM(-360,360)),RAD(RANDOM(-360,360))),"rbxassetid://662586858","",V3(1/10,1/10,1/10),{},{})
| |
| 844 | coroutine.wrap(function() | |
| 845 | for trans = 0, 1, .025 do | |
| 846 | effect.Transparency = trans | |
| 847 | effect.CFrame = effect.CFrame * CA(0,RAD((trans/1)*5),0) | |
| 848 | effectMesh.Scale = V3((1/10)+(trans/1)*2/10,(1/10)+(trans/1)*2/10,(1/10)+(trans/1)*2/10) | |
| 849 | runService.Stepped:wait() | |
| 850 | end | |
| 851 | effect:destroy() | |
| 852 | end)() | |
| 853 | if n < #lol then | |
| 854 | n = n + 1 | |
| 855 | if n % 800 == 0 then | |
| 856 | swait() | |
| 857 | end | |
| 858 | else | |
| 859 | n = 1 | |
| 860 | swait() | |
| 861 | end | |
| 862 | local child = lol[n] | |
| 863 | if child and (child ~= hole) and child.Parent ~= char and (child:IsA"BasePart") and (child.Anchored == false) then | |
| 864 | local relPos = hole.Position - child.Position | |
| 865 | local motivator = child:FindFirstChild("BlackHole Influence")
| |
| 866 | if(relPos.magnitude < 150)then | |
| 867 | if relPos.magnitude < 5 then | |
| 868 | child:destroy() | |
| 869 | table.remove(lol,n) | |
| 870 | n = n - 1 | |
| 871 | else | |
| 872 | child.CanCollide = false | |
| 873 | if(not motivator)then | |
| 874 | motivator = I("BodyPosition",child)
| |
| 875 | motivator.Name = 'BlackHole Influence' | |
| 876 | end | |
| 877 | motivator.position = hole.Position | |
| 878 | motivator.maxForce = V3(math.huge,math.huge,math.huge) | |
| 879 | game:service'Debris':AddItem(motivator,.5) | |
| 880 | end | |
| 881 | elseif(motivator)then | |
| 882 | motivator:destroy() | |
| 883 | end | |
| 884 | end | |
| 885 | swait() | |
| 886 | end | |
| 887 | blackholeing = false | |
| 888 | coroutine.wrap(function() | |
| 889 | for i = 20, 1, -.5 do | |
| 890 | holeMesh.Scale = V3(i,i,i) | |
| 891 | swait() | |
| 892 | end | |
| 893 | AoEDAMAGE(hole.CFrame.p,20,50,85,false,25,2) | |
| 894 | for trans = 0, 1, .05 do | |
| 895 | hole.Transparency = trans | |
| 896 | holeMesh.Scale = holeMesh.Scale + V3(2,2,2) | |
| 897 | swait() | |
| 898 | end | |
| 899 | hole:destroy() | |
| 900 | end)() | |
| 901 | end | |
| 902 | function BlackholeAttack() | |
| 903 | if(not blackholeActive)then | |
| 904 | - | runService.RenderStepped:connect(function() |
| 904 | + | |
| 905 | ROOTED = true | |
| 906 | NEUTRAL_ANIMS = false | |
| 907 | blackholeActive = true | |
| 908 | Animation_Speed = 6 | |
| 909 | for i = 0, 2, .1 / Animation_Speed do | |
| 910 | swait() | |
| 911 | RS.C0 = RS.C0:lerp(RSC0*CN(-0.431007385, -0.30518651, -0.706886292)*CA(RAD(180),0,RAD(-25)),.3/Animation_Speed) | |
| 912 | LS.C0 = LS.C0:lerp(LSC0*CN(0.431007385, -0.30518651, -0.706886292)*CA(RAD(180),0,RAD(25)),.3/Animation_Speed) | |
| 913 | RH.C0 = RH.C0:lerp(RHC0*CN(0,.9, -0.6)*CA(RAD(-21.41),0,0),.3/Animation_Speed) | |
| 914 | LH.C0 = LH.C0:lerp(LHC0*CN(0, .9, -0.6)*CA(RAD(-21.41),0,0),.3/Animation_Speed) | |
| 915 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-23.29),RAD(-0.89),0),.3/Animation_Speed) | |
| 916 | RJ.C0 = RJ.C0:lerp(CN(),.3/Animation_Speed) | |
| 917 | end | |
| 918 | Animation_Speed = 3 | |
| 919 | for i = 0, 1, .1 / Animation_Speed do | |
| 920 | swait() | |
| 921 | hum.CameraOffset = hum.CameraOffset:lerp(V3(0,4,0),.3/Animation_Speed) | |
| 922 | RS.C0 = RS.C0:lerp(RSC0*CA(RAD(-35),0,RAD(35)),.3/Animation_Speed) | |
| 923 | LS.C0 = LS.C0:lerp(LSC0*CA(RAD(-35),0,RAD(-35)),.3/Animation_Speed) | |
| 924 | RH.C0 = RH.C0:lerp(RHC0*CA(RAD(-35),0,RAD(35)),.3/Animation_Speed) | |
| 925 | LH.C0 = LH.C0:lerp(LHC0*CA(RAD(-35),0,RAD(-35)),.3/Animation_Speed) | |
| 926 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(25),0,0),.3/Animation_Speed) | |
| 927 | RJ.C0 = RJ.C0:lerp(CN(0,4,0)*CA(RAD(15),0,0),.3/Animation_Speed) | |
| 928 | end | |
| 929 | root.Anchored = true | |
| 930 | local where = torso.CFrame | |
| 931 | coroutine.wrap(function() | |
| 932 | Blackhole(where,true) | |
| 933 | blackholeActive = false | |
| 934 | end)() | |
| 935 | swait(60) | |
| 936 | coroutine.wrap(function() | |
| 937 | for i = 0, 1, .1 / Animation_Speed do | |
| 938 | hum.CameraOffset = hum.CameraOffset:lerp(V3(0,0,0),.2/Animation_Speed) | |
| 939 | swait() | |
| 940 | end | |
| 941 | hum.CameraOffset = V3(0,0,0) | |
| 942 | end)() | |
| 943 | root.Anchored = false | |
| 944 | ROOTED = false | |
| 945 | NEUTRAL_ANIMS = true | |
| 946 | ATTACK = false | |
| 947 | end | |
| 948 | end | |
| 949 | -- // BIND EVERYTHING \\ -- | |
| 950 | ||
| 951 | mouse.KeyDown:connect(function(k) | |
| 952 | if(ATTACK)then return end | |
| 953 | if(k == 't')then | |
| 954 | Taunt() | |
| 955 | elseif(k == 'v')then | |
| 956 | BlackholeAttack() | |
| 957 | elseif(k == 'x')then | |
| 958 | AsteroidCrusher() | |
| 959 | elseif(k == 'z')then | |
| 960 | CelestialLazor() | |
| 961 | end | |
| 962 | end) | |
| 963 | -- // WRAP EVERYTHING UP \\ -- | |
| 964 | ||
| 965 | local naeeym2 = Instance.new("BillboardGui",char)
| |
| 966 | naeeym2.AlwaysOnTop = true | |
| 967 | naeeym2.Size = UDim2.new(5,35,2,35) | |
| 968 | naeeym2.StudsOffset = Vector3.new(0,1,0) | |
| 969 | naeeym2.Adornee = head | |
| 970 | naeeym2.Name = "Name" | |
| 971 | naeeym2.PlayerToHideFrom = plr | |
| 972 | local tecks2 = Instance.new("TextLabel",naeeym2)
| |
| 973 | tecks2.BackgroundTransparency = 1 | |
| 974 | tecks2.TextScaled = true | |
| 975 | tecks2.BorderSizePixel = 0 | |
| 976 | tecks2.Text = "Dominus Corona Australis" | |
| 977 | tecks2.Font = "Antique" | |
| 978 | tecks2.TextSize = 30 | |
| 979 | tecks2.TextStrokeTransparency = 0 | |
| 980 | tecks2.TextColor3 = BrickColor.new'Bright blue'.Color | |
| 981 | tecks2.TextStrokeColor3 = BrickColor.new'Bright blue'.Color | |
| 982 | tecks2.Size = UDim2.new(1,0,0.5,0) | |
| 983 | tecks2.Parent = naeeym2 | |
| 984 | ||
| 985 | --[[ | |
| 986 | runService.Stepped:connect(function() | |
| 987 | for _,v in next, lol do | |
| 988 | if(v.Anchored == false and (v.CFrame.p-torso.CFrame.p).magnitude <= 30)then | |
| 989 | local BF = I("BodyForce",v)
| |
| 990 | BF.force = Vector3.new(0, workspace.Gravity * v:GetMass()/4, 0) | |
| 991 | S.Debris:AddItem(BF,1/60)123 | |
| 992 | end | |
| 993 | end | |
| 994 | end)]] | |
| 995 | plr.Chatted:connect(function(m) | |
| 996 | if(m == '/e tpose')then | |
| 997 | TPOSE = not TPOSE | |
| 998 | end | |
| 999 | end) | |
| 1000 | hum.Changed:connect(function() | |
| 1001 | if(ROOTED)then | |
| 1002 | hum.Jump = false | |
| 1003 | end | |
| 1004 | end) | |
| 1005 | ||
| 1006 | function ConnectHum() | |
| 1007 | hum.Died:connect(function() | |
| 1008 | hum:Destroy() | |
| 1009 | refit() | |
| 1010 | hum = IT("Humanoid",char,{{"MaxHealth",math.huge}})
| |
| 1011 | FX("rbxassetid://907330011", head, 1, 10)
| |
| 1012 | ConnectHum() | |
| 1013 | end) | |
| 1014 | end | |
| 1015 | ConnectHum() | |
| 1016 | local Inanis = false | |
| 1017 | local TimeVortex = false | |
| 1018 | while true do | |
| 1019 | for _,v in next, char:children() do | |
| 1020 | if(v:FindFirstChild'BodyForce')then | |
| 1021 | v.BodyForce.force = Vector3.new(0, workspace.Gravity * v:GetMass()/2, 0) | |
| 1022 | end | |
| 1023 | end | |
| 1024 | if(not ROOTED)then | |
| 1025 | hum.WalkSpeed = Speed | |
| 1026 | else | |
| 1027 | hum.WalkSpeed = 0 | |
| 1028 | end | |
| 1029 | FF.Parent = char | |
| 1030 | hum.Name = "CoronaAustralis" | |
| 1031 | music.Parent = torso | |
| 1032 | music.Playing = true | |
| 1033 | hum.MaxHealth = math.huge | |
| 1034 | SINE = SINE + CHANGE | |
| 1035 | hum.HipHeight = 2 | |
| 1036 | pcall(function() refit() | |
| 1037 | char.Parent = workspace end) | |
| 1038 | for _,v in next, char:children() do | |
| 1039 | CLEARCHILDRENWITHCLASS(v,"BodyPosition") | |
| 1040 | end | |
| 1041 | ||
| 1042 | local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(root.CFrame.p,((CFrame.new(root.Position,root.Position - Vector3.new(0,1,0))).lookVector).unit * 4), char) | |
| 1043 | local State = ((math.abs(root.Velocity.x) > 1 or math.abs(root.Velocity.z) > 1) and "Walk" or "Idle") | |
| 1044 | if(NEUTRAL_ANIMS)then | |
| 1045 | if(not TPOSE)then | |
| 1046 | if(State == 'Idle')then | |
| 1047 | RH.C0 = RH.C0:lerp(RHC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1048 | LH.C0 = LH.C0:lerp(LHC0*CN(.1,.5,-.5)*CN(0,0+.25*COS(SINE / 12),0)*CA(RAD(10),0,-RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1049 | RS.C0 = RS.C0:lerp(RSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1050 | LS.C0 = LS.C0:lerp(LSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,-RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1051 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-14+7*COS(SINE/12)),0,RAD(-2-3*COS(SINE/12))),1 / Animation_Speed) | |
| 1052 | RJ.C0 = RJ.C0:lerp(CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(2+3*SIN(SINE / 12)),0,0),1 / Animation_Speed) | |
| 1053 | elseif(State == 'Walk')then | |
| 1054 | RH.C0 = RH.C0:lerp(RHC0*CN(0,0+.25*COS(SINE / 12),0)*CA(0,0,RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1055 | LH.C0 = LH.C0:lerp(LHC0*CN(.1,.5,-.5)*CN(0,0+.25*COS(SINE / 12),0)*CA(RAD(10),0,-RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1056 | RS.C0 = RS.C0:lerp(RSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(15),-RAD(15),RAD(10))*CA(0,0,RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1057 | LS.C0 = LS.C0:lerp(LSC0*CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(15),RAD(15),-RAD(10))*CA(0,0,-RAD(10+5*SIN(SINE / 12))),1 / Animation_Speed) | |
| 1058 | NK.C0 = NK.C0:lerp(NKC0*CA(RAD(-14+7*COS(SINE/12)),0,RAD(-2-3*COS(SINE/12)))*CA(RAD(25),0,0),1 / Animation_Speed) | |
| 1059 | RJ.C0 = RJ.C0:lerp(CN(0,0+.25*COS(SINE / 12),0)*CA(-RAD(25),0,0)*CA(-RAD(2+3*COS(SINE / 12)),0,0),1 / Animation_Speed) | |
| 1060 | end | |
| 1061 | else | |
| 1062 | RH.C0 = RH.C0:lerp(RHC0,1 / Animation_Speed) | |
| 1063 | LH.C0 = LH.C0:lerp(LHC0,1 / Animation_Speed) | |
| 1064 | RS.C0 = RS.C0:lerp(RSC0*CA(0,0,RAD(90)),1 / Animation_Speed) | |
| 1065 | LS.C0 = LS.C0:lerp(LSC0*CA(0,0,RAD(-90)),1 / Animation_Speed) | |
| 1066 | NK.C0 = NK.C0:lerp(NKC0,1 / Animation_Speed) | |
| 1067 | RJ.C0 = RJ.C0:lerp(CN(),1 / Animation_Speed) | |
| 1068 | end | |
| 1069 | end | |
| 1070 | torso.Color = C3(0,0,0) | |
| 1071 | rarm.BrickColor = BrickColor.new'Navy blue' | |
| 1072 | larm.BrickColor = BrickColor.new'Navy blue' | |
| 1073 | rleg.Color = Color3.fromRGB(0,19,57) | |
| 1074 | lleg.Color = Color3.fromRGB(0,19,57) | |
| 1075 | torso.Transparency = 0 | |
| 1076 | rarm.Transparency = 0 | |
| 1077 | larm.Transparency = 0 | |
| 1078 | rleg.Transparency = 0 | |
| 1079 | lleg.Transparency = 0 | |
| 1080 | for _,v in next, workspace:children() do | |
| 1081 | local h = v:FindFirstChildOfClass'Humanoid' | |
| 1082 | if(h and h.Name == 'Forgotten Dominus')then | |
| 1083 | music:Stop() | |
| 1084 | Inanis = true | |
| 1085 | elseif(h and h.Name == 'name')then | |
| 1086 | TimeVortex = true | |
| 1087 | refit = function() end | |
| 1088 | char:destroy() | |
| 1089 | Blackhole(true) | |
| 1090 | break | |
| 1091 | end | |
| 1092 | end | |
| 1093 | script.Parent = WEAPONGUI; | |
| 1094 | if(not Inanis)then | |
| 1095 | music.Playing = true | |
| 1096 | end | |
| 1097 | if(TimeVortex)then | |
| 1098 | break | |
| 1099 | end | |
| 1100 | Inanis = false | |
| 1101 | swait() | |
| 1102 | end |