diff --git a/Novetus/NovetusLauncher/Classes/Launcher/EasterEggs.cs b/Novetus/NovetusLauncher/Classes/Launcher/EasterEggs.cs deleted file mode 100644 index 9aa342c..0000000 --- a/Novetus/NovetusLauncher/Classes/Launcher/EasterEggs.cs +++ /dev/null @@ -1,130 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; - -#region Special Splash Definition -public class SpecialSplash -{ - public SpecialSplash(string text) - { - if (text.Contains('|')) - { - string[] subs = text.Split('|'); - SplashText = subs[0]; - string date = subs[1]; - if (date.Contains('/')) - { - if (date.Contains('-')) - { - string[] datesubs = date.Split('-'); - SplashFirstAppearanceDate = ConvertStringToDate(datesubs[0]); - SplashEndAppearanceDate = ConvertStringToDate(datesubs[1]); - - if (datesubs.ElementAtOrDefault(2) != null && datesubs.ElementAtOrDefault(3) != null) - { - SplashDateStopAppearingAllTheTime = ConvertStringToDate(datesubs[2]); - SplashDateStartToAppearLess = ConvertStringToDate(datesubs[3]); - } - else - { - SplashDateStopAppearingAllTheTime = null; - SplashDateStartToAppearLess = null; - } - } - else - { - SplashFirstAppearanceDate = ConvertStringToDate(date); - SplashEndAppearanceDate = null; - SplashDateStartToAppearLess = null; - SplashDateStopAppearingAllTheTime = null; - } - - SplashWeekday = null; - } - else - { - SplashWeekday = ConvertStringToDayOfWeek(date); - SplashFirstAppearanceDate = null; - SplashEndAppearanceDate = null; - SplashDateStartToAppearLess = null; - SplashDateStopAppearingAllTheTime = null; - } - } - } - - public DateTime ConvertStringToDate(string date) - { - if (date.Contains('/')) - { - string[] subs = date.Split('/'); - return new DateTime(DateTime.Now.Year, Convert.ToInt32(subs[0]), Convert.ToInt32(subs[1]), CultureInfo.InvariantCulture.Calendar); - } - - return DateTime.Now; - } - - public DayOfWeek ConvertStringToDayOfWeek(string dayofweek) - { - DayOfWeek weekday = DayOfWeek.Sunday; - - switch (dayofweek) - { - case string monday when string.Compare(monday, "monday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Monday; - break; - case string tuesday when string.Compare(tuesday, "tuesday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Tuesday; - break; - case string wednesday when string.Compare(wednesday, "wednesday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Wednesday; - break; - case string thursday when string.Compare(thursday, "thursday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Thursday; - break; - case string friday when string.Compare(friday, "friday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Friday; - break; - case string saturday when string.Compare(saturday, "saturday", true, CultureInfo.InvariantCulture) == 0: - weekday = DayOfWeek.Saturday; - break; - default: - break; - } - - return weekday; - } - - //text - public string SplashText { get; set; } - //date we should start appearing - public DateTime? SplashFirstAppearanceDate { get; set; } - //date we should stop appearing - public DateTime? SplashEndAppearanceDate { get; set; } - public DateTime? SplashDateStopAppearingAllTheTime { get; set; } - public DateTime? SplashDateStartToAppearLess { get; set; } - //weekdays. - public DayOfWeek? SplashWeekday { get; set; } -} -#endregion - -#region Special Names Definition -public class SpecialName -{ - public SpecialName(string text) - { - if (text.Contains('|')) - { - string[] subs = text.Split('|'); - NameText = subs[0]; - NameID = Convert.ToInt32(subs[1]); - } - } - - //text - public string NameText { get; set; } - //id - public int NameID { get; set; } -} -#endregion diff --git a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs index 32551a1..66608ea 100644 --- a/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs +++ b/Novetus/NovetusLauncher/Classes/Launcher/SplashLoader.cs @@ -6,46 +6,193 @@ using System.IO; using System.Linq; using System.Windows.Forms; #endregion + +#region Splash Definition +public class Splash +{ + public Splash(string text) + { + if (text.Contains('|')) + { + string[] subs = text.Split('|'); + SplashText = subs[0]; + SplashContext = subs[1]; + + } + else + { + SplashText = text; + SplashContext = ""; + } + } + + //text + public string SplashText { get; set; } + //context + public string SplashContext { get; set; } +} +#endregion + +#region Special Splash Definition +public class SpecialSplash : Splash +{ + public SpecialSplash(string text) : base(text) + { + if (text.Contains('|')) + { + string[] subs = text.Split('|'); + int index = 2; + string date = ""; + if (index >= 0 && index < subs.Length) + { + date = subs[index]; + } + else + { + date = SplashContext; + } + + if (date.Contains('/')) + { + if (date.Contains('-')) + { + string[] datesubs = date.Split('-'); + SplashFirstAppearanceDate = ConvertStringToDate(datesubs[0]); + SplashEndAppearanceDate = ConvertStringToDate(datesubs[1]); + + if (datesubs.ElementAtOrDefault(2) != null && datesubs.ElementAtOrDefault(3) != null) + { + SplashDateStopAppearingAllTheTime = ConvertStringToDate(datesubs[2]); + SplashDateStartToAppearLess = ConvertStringToDate(datesubs[3]); + } + else + { + SplashDateStopAppearingAllTheTime = null; + SplashDateStartToAppearLess = null; + } + } + else + { + SplashFirstAppearanceDate = ConvertStringToDate(date); + SplashEndAppearanceDate = null; + SplashDateStartToAppearLess = null; + SplashDateStopAppearingAllTheTime = null; + } + + SplashWeekday = null; + } + else + { + SplashWeekday = ConvertStringToDayOfWeek(date); + SplashFirstAppearanceDate = null; + SplashEndAppearanceDate = null; + SplashDateStartToAppearLess = null; + SplashDateStopAppearingAllTheTime = null; + } + } + } + + public DateTime ConvertStringToDate(string date) + { + if (date.Contains('/')) + { + string[] subs = date.Split('/'); + return new DateTime(DateTime.Now.Year, Convert.ToInt32(subs[0]), Convert.ToInt32(subs[1]), CultureInfo.InvariantCulture.Calendar); + } + + return DateTime.Now; + } + + public DayOfWeek ConvertStringToDayOfWeek(string dayofweek) + { + DayOfWeek weekday = DayOfWeek.Sunday; + + switch (dayofweek) + { + case string monday when string.Compare(monday, "monday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Monday; + break; + case string tuesday when string.Compare(tuesday, "tuesday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Tuesday; + break; + case string wednesday when string.Compare(wednesday, "wednesday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Wednesday; + break; + case string thursday when string.Compare(thursday, "thursday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Thursday; + break; + case string friday when string.Compare(friday, "friday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Friday; + break; + case string saturday when string.Compare(saturday, "saturday", true, CultureInfo.InvariantCulture) == 0: + weekday = DayOfWeek.Saturday; + break; + default: + break; + } + + return weekday; + } + //date we should start appearing + public DateTime? SplashFirstAppearanceDate { get; set; } + //date we should stop appearing + public DateTime? SplashEndAppearanceDate { get; set; } + public DateTime? SplashDateStopAppearingAllTheTime { get; set; } + public DateTime? SplashDateStartToAppearLess { get; set; } + //weekdays. + public DayOfWeek? SplashWeekday { get; set; } +} +#endregion + #region Splash Reader public static class SplashReader { - private static string RandomSplash() + private static Splash RandomSplash() { CryptoRandom random = new CryptoRandom(); - string splash = ""; + Splash missingsplash = new Splash("missingno|No Splashes Found."); + Splash splash = missingsplash; try { - string[] splashes = File.ReadAllLines(GlobalPaths.ConfigDir + "\\splashes.txt"); + string[] filelines = File.ReadAllLines(GlobalPaths.ConfigDir + "\\splashes.txt"); + List splashes = new List(); + + foreach (var line in filelines) + { + splashes.Add(new Splash(line)); + } try { bool checkStylishSplash = true; - string generatedSplash = splashes[random.Next(0, splashes.Length - 1)]; + Splash generatedSplash = splashes[random.Next(0, splashes.Count)]; while (checkStylishSplash) { - if (generatedSplash.Contains("[stylish]")) + if (generatedSplash.SplashText.Contains("[stylish]")) { if (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish) { - splash = generatedSplash.Replace("[stylish]", ""); + generatedSplash.SplashText = generatedSplash.SplashText.Replace("[stylish]", ""); + splash = generatedSplash; checkStylishSplash = false; } else { - generatedSplash = splashes[random.Next(0, splashes.Length - 1)]; + generatedSplash = splashes[random.Next(0, splashes.Count)]; } } - else if (generatedSplash.Contains("[normal]")) + else if (generatedSplash.SplashText.Contains("[normal]")) { if (GlobalVars.UserConfiguration.LauncherStyle != Settings.Style.Stylish) { - splash = generatedSplash.Replace("[normal]", ""); + generatedSplash.SplashText = generatedSplash.SplashText.Replace("[normal]", ""); + splash = generatedSplash; checkStylishSplash = false; } else { - generatedSplash = splashes[random.Next(0, splashes.Length - 1)]; + generatedSplash = splashes[random.Next(0, splashes.Count)]; } } else @@ -66,7 +213,10 @@ public static class SplashReader catch (Exception ex2) { GlobalFuncs.LogExceptions(ex2); - splash = "missingno"; + if (splash.SplashText != missingsplash.SplashText) + { + splash = missingsplash; + } return splash; } } @@ -74,24 +224,25 @@ public static class SplashReader catch (Exception ex) { GlobalFuncs.LogExceptions(ex); - splash = "missingno"; + if (splash.SplashText != missingsplash.SplashText) + { + splash = missingsplash; + } return splash; } - string formattedsplash = splash - .Replace("%name%", GlobalVars.UserConfiguration.PlayerName) - .Replace("%randomtext%", SecurityFuncs.RandomString(random.Next(2, (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish ? 64 : 32)))); - - return formattedsplash; + return splash; } - private static string GetSpecialSplash() + private static Splash GetSpecialSplash() { - string returnsplash = ""; + Splash missingsplash = new Splash("missingno|No Splashes Found."); + Splash returnsplash = missingsplash; + DateTime now = DateTime.Now; if (GlobalVars.UserConfiguration.InitialBootup) { - returnsplash = "Welcome to Novetus " + GlobalVars.ProgramInformation.Version + "!"; + returnsplash = new Splash("Welcome to Novetus " + GlobalVars.ProgramInformation.Version + "!|Hi!"); GlobalVars.UserConfiguration.InitialBootup = false; GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true); return returnsplash; @@ -107,8 +258,6 @@ public static class SplashReader foreach (var specialsplash in specialsplashes) { - DateTime now = DateTime.Now; - if (specialsplash.SplashFirstAppearanceDate != null) { if (specialsplash.SplashEndAppearanceDate != null) @@ -122,27 +271,28 @@ public static class SplashReader int randnum2 = (now.Day > specialsplash.SplashDateStopAppearingAllTheTime.Value.Day) ? random2.Next(0, chance) : 1; if (randnum2 > 0) { - returnsplash = specialsplash.SplashText; + returnsplash = specialsplash; break; } else { - returnsplash = ""; + returnsplash = missingsplash; break; } } else { - returnsplash = specialsplash.SplashText; + returnsplash = specialsplash; break; } } } else { - if (now == specialsplash.SplashFirstAppearanceDate) + if (now.Month == specialsplash.SplashFirstAppearanceDate.Value.Month && + now.Day == specialsplash.SplashFirstAppearanceDate.Value.Day) { - returnsplash = specialsplash.SplashText; + returnsplash = specialsplash; break; } } @@ -151,7 +301,7 @@ public static class SplashReader { if (now.DayOfWeek == specialsplash.SplashWeekday) { - returnsplash = specialsplash.SplashText; + returnsplash = specialsplash; break; } } @@ -160,16 +310,35 @@ public static class SplashReader return returnsplash; } - public static string GetSplash() + public static Splash GetSplash() { - string splash = GetSpecialSplash(); + Splash splash = GetSpecialSplash(); + CryptoRandom random = new CryptoRandom(); + int randchance = random.Next(1, 10); - if (string.IsNullOrWhiteSpace(splash)) + if (splash.SplashText == "missingno" || randchance == 10) { splash = RandomSplash(); } + splash.SplashText = EncodeSplashString(splash.SplashText); + splash.SplashContext = EncodeSplashString(splash.SplashContext); + return splash; } + + public static string EncodeSplashString(string text) + { + CryptoRandom random = new CryptoRandom(); + DateTime now = DateTime.Now; + + return text.Replace("%name%", GlobalVars.UserConfiguration.PlayerName) + .Replace("%randomtext%", SecurityFuncs.RandomString(random.Next(2, (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish ? 64 : 32)))) + .Replace("%version%", GlobalVars.ProgramInformation.Version) + .Replace("%year%", now.Year.ToString()) + .Replace("%nextyear%", (now.Year + 1).ToString()) + .Replace("%day%", now.Day.ToString()) + .Replace("%month%", now.Month.ToString()); + } } #endregion diff --git a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs index b3852c4..c372036 100644 --- a/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs +++ b/Novetus/NovetusLauncher/Forms/LauncherForm/LauncherFormShared.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Drawing; using System.Globalization; using System.IO; +using System.Linq; using System.Net; using System.Threading.Tasks; using System.Windows.Forms; @@ -12,6 +13,26 @@ using System.Windows.Forms; namespace NovetusLauncher { + #region Special Names Definition + public class SpecialName + { + public SpecialName(string text) + { + if (text.Contains('|')) + { + string[] subs = text.Split('|'); + NameText = subs[0]; + NameID = Convert.ToInt32(subs[1]); + } + } + + //text + public string NameText { get; set; } + //id + public int NameID { get; set; } + } + #endregion + #region LauncherForm - Shared public class LauncherFormShared { @@ -37,6 +58,7 @@ namespace NovetusLauncher public Button RegeneratePlayerIDButton = null; public NumericUpDown PlayerLimitBox, HostPortBox, JoinPortBox = null; public string TabPageHost, TabPageMaps, TabPageClients, TabPageSaved = ""; + private ToolTip contextToolTip; #endregion #region UPnP @@ -237,8 +259,15 @@ namespace NovetusLauncher SetupImportantData(); - SplashLabel.Text = SplashReader.GetSplash(); - LocalVars.prevsplash = SplashLabel.Text; + Splash splash = SplashReader.GetSplash(); + + SplashLabel.Text = splash.SplashText; + + if (!string.IsNullOrWhiteSpace(splash.SplashContext)) + { + contextToolTip = new ToolTip(); + contextToolTip.SetToolTip(SplashLabel, splash.SplashContext); + } if (FormStyle != Settings.Style.Stylish) { diff --git a/Novetus/NovetusLauncher/Novetus.Launcher.csproj b/Novetus/NovetusLauncher/Novetus.Launcher.csproj index 1209bd5..f59b100 100644 --- a/Novetus/NovetusLauncher/Novetus.Launcher.csproj +++ b/Novetus/NovetusLauncher/Novetus.Launcher.csproj @@ -158,7 +158,6 @@ CharacterCustomizationExtended.cs - diff --git a/changelog.txt b/changelog.txt index d333f57..34d3b4a 100644 --- a/changelog.txt +++ b/changelog.txt @@ -35,6 +35,12 @@ Changes from Pre-Release 5: - Added support for the Stylish style in the Splash Tester. - Fixed Commanders in Rise of the Killbots being too big. - Fixed spawns on Rise of the Killbots - Sword Fights on the Heights IV. +- You can now properly resize the Diogenes editor. +- Clients with seperate Roblox Players and Studios are now supported with the new "Seperate Folders" option. + - This option tells Novetus to load the client from 3 folders in the client: client, studio, and server. + - Items will be broken with this method. However, the client developer may edit the paths for each item loaded through the script by using Lua's string.gsub function and adding an extra "../" after rbxasset:// (string.gsub(itemURL, "rbxasset://", "rbxasset://../"). +- "Special splashes" how have a 1 in 10 chance to be overriden with a splash from the splash list. +- Added context for some splashes. Changes from 1.2.4.1: - The OBJ2MeshV1GUI, The Asset Localizer, and the Item SDK have been merged to form the Asset SDK! - Works with the Roblox Asset Delivery API! Note: Script assets wil have to be downloaded manually in order to be used in scripts. diff --git a/scripts/launcher/splashes-special.txt b/scripts/launcher/splashes-special.txt index d876fd1..83b6098 100644 --- a/scripts/launcher/splashes-special.txt +++ b/scripts/launcher/splashes-special.txt @@ -1,15 +1,16 @@ -Happy New Year!|1/1 -RIP Erik Cassel|2/11 -smoke weed every day|4/20 -Happy Birthday, Bitl!|6/10 +Happy New Year!|Have a happy %year%!|1/1 +RIP Erik Cassel|Erik Cassel, was a co-founder, administrator and former VP of Engineering of Roblox.|2/11 +smoke weed every day|blaze it|4/20 +Happy Birthday, Bitl!|Bitl is the developer of Novetus and RBXLegacy.|6/10 Happy Pride Month!|6/1-6/30-6/7-6/15 -And this is the way... of the Bionicle.|8/10 -Happy Birthday, Roblox!|9/1 +And this is the way... of the Bionicle.|August 10th is known as 810icle day, a day where Bionicle fans celebrate Bionicle and its legacy.|8/10 +Happy Birthday, Roblox!|Roblox was released to the public on September 1st, 2006.|9/1 Happy Leif Erikson Day! HINGA DINGA DURGEN!|10/9 I used to wonder what friendship could be!|10/10 -Happy Birthday, Novetus!|10/27 -Adventure Awaits...|11/9 -Happy Halloween!|10/31 -Merry Christmas!|12/24-12/25 -Happy New Year!|12/31 -Happy Out-of-Touch Thursday!|Thursday \ No newline at end of file +Happy Birthday, Novetus!|Novetus was announced directly after the cancellation of RBXLegacy.|10/27 +Adventure Awaits...|The first trailer used to promote Roblox to the public was uploaded by John Shedletsky on November 9th, 2006.|11/9 +Welcome to %version%!|Hi!|11/11 +Happy Halloween!|Spooky, scary skeletons send shivers down your spine...|10/31 +Merry Christmas!|...and a happy new year!|12/24-12/25 +Happy New Year!|Have a happy %nextyear%!|12/31 +Happy Out-of-Touch Thursday!|You're out of touch, I'm out of time. But I'm out of my head when you're not around!|Thursday \ No newline at end of file diff --git a/scripts/launcher/splashes.txt b/scripts/launcher/splashes.txt index 1f10599..e7268dd 100644 --- a/scripts/launcher/splashes.txt +++ b/scripts/launcher/splashes.txt @@ -1,67 +1,67 @@ Novetus! -From the creator of RBXLegacy! +From the creator of RBXLegacy!|Bitl is the developer of Novetus and RBXLegacy. Carrot is a sensitive topic. -Wii Phone -Yay! +Wii Phone|From the classic video titled "future gen. consels wii2 ps4 xbox720?" +Yay!|LOUDER! Now 20% cooler! Blockland is good! -Check out Finob-oh. -Check out Graphictoria! -Check out FIREFIGHT RELOADED! -Check out RBXLe-oh. ;ec -Compiled with Visual Studio 2019! +Check out Finob-oh.|Finobe was an old Roblox Revival ran by RBLXDev/RBLXHue/Novelium developer Raymonf. +Check out Graphictoria!|One of the first major old Roblox revivals besides RBLXDev. +Check out FIREFIGHT RELOADED!|Bitl's Half-Life 2 mod, released on Steam. +Check out RBXLe-oh.|RBXLegacy was the precursor to Novetus, released back in 2016! +Compiled with Visual Studio 2019!|Novetus was built and compiled under Visual Studio 2019. IT'S FREE! -don't sue us +don't sue us|Please. generic rbxlegacy reskin -weed -Buy Novetus Premium today! -builderman is my dad -/e dance +weed|4/20. +Buy Novetus Premium today!|It's free! +builderman is my dad|he gave the 2006 client to me. +/e dance|Dancing command used during Roblox 2013-2015. @everyone hi Blame John Blame Bitl Builderman for president -!!!reset +!!!reset|Reset command in Novetus. Deleting RBXLegacy, BRB. i hope bitl adds my splash -y = mx + b -Open Source! -Defeat enemy! +y = mx + b|How do you find the slope again? +Open Source!|Find it on github.com/Novetus/Novetus_src! +Defeat enemy!|From Half-Life 2 Survivor Ver 2.0. Needs dual welding! -A man chooses, a slave obeys. -Unity, Duty, DESTINY! +A man chooses, a slave obeys.|From Bioshock 1. +Unity, Duty, DESTINY!|The Three Virtues, from Bionicle. MEIN LEBEN! -Spaceship! -Everything is Awesome! -Tell that to the Covenant. -Such heroic nonsense. -GIVE ME YOUR FACE! -SPAAAAAAAACE! -You cannot destroy me, for I am nothing. -C-C-C-COMBO BREAKER! +Spaceship!|SPACESHIP! +Everything is Awesome!|Everything is cool when you're part of a team! +Tell that to the Covenant.|Halo 2 was Legendary. +Such heroic nonsense.|From the 1986 Transformers movie. +GIVE ME YOUR FACE!|From Transformers: Revenge of the Fallen. +SPAAAAAAAACE!|It's too big. Too big. Wanna go home. Wanna go to earth. +You cannot destroy me, for I am nothing.|From Makuta Teridax in the Mata Nui Online Game. +C-C-C-COMBO BREAKER!|From Killer Instinct. Soon(TM) -An Excellent Modification -twilight please im so fucking hungry +An Excellent Modification|Ashens reference. +twilight please im so fucking hungry|no is bitl gon kill self??? -Buy it for free! -oof +Buy it for free!|From the Roblox 2006 trailer. +oof|uuhhh.wav ow my foot novetus EXPOSED for being shit! -Novetus brings you shirts and pants +Novetus brings you shirts and pants|Referencing the Roblox Shirts and Pants trailer. Free Robux Now with more fiber! Now with more protein! OHMYGOODNESS -Would you kindly... -The gang is on the loose! +Would you kindly...|From Bioshock 1. +The gang is on the loose!|At piraka.com. minecraft And now.. Novetus. Hi, %name%! -Taaaaakyon! +Taaaaakyon!|From Death Grips' Takyon. Ok, this is epic. -Who touched Sascha? -Rip and Tear! +Who touched Sascha?|Who touched my gun!? +Rip and Tear!|...until it is done. Part of a valuable breakfast! Half-Life 3 when? lemme smash @@ -75,16 +75,16 @@ bruh moment how 2 get free robux default dance @Bitl NOVETUS IS DOWN! -Licenced under the GPL v3! -you can't just shoot a hole in mars -that's a weapon, not a teleporter -DIE, YOU FILTHY GERM! +Licensed under the MIT License! +you can't just shoot a hole in mars|From Doom Eternal +that's a weapon, not a teleporter|From Doom Eternal +DIE, YOU FILTHY GERM!|From Cells at Work Endorsed by the PCMasterRace! %randomtext% -mr beetle can i have novetus 1.4 +mr beetle can i have novetus 1.4|no. Pride and accomplishment! No lootboxes! -Weeeeeeeeeeee-*static* +Weeeeeeeeeeee-*static*|From Portal 1. Friendship is Magic! No DRM! Bloxxed in half. @@ -95,78 +95,78 @@ imagine actually paying for this lmao Everyone Gets A Lot Overwatch says "stop kicking it". He stopped kicking it. -darn that soundwave +darn that soundwave|*angry yawn* Black Lives Matter! i want the goddamn hat -So i herd u liek mudkips? +So i herd u liek mudkips?|MUD. KIP. guys watch out for player4!!! Builderman for president! -Check out DUNGEONBLADE: HK! -ALL YOUR BASE ARE BELONG TO US! -roflcopter go soisoisoi... -Runs under Windows XP! +Check out DUNGEONBLADE: HK!|Bitl's randomized text-based adventure! +ALL YOUR BASE ARE BELONG TO US!|You are on the way to destruction. +roflcopter go soisoisoi...|Microsoft Sam. +Runs under Windows XP!|Just install the dependencies! Check out the Novetus SDK! -MSMSMSMSMSMSMSMSMSMSMSM -It's okay to cry. -Fin-etus! -Check out MAYHEM! -Think. Build. Create. -Post-Awareness Stage 6 Is without description. -HAIL DENMARK -I'm the antonymph of the internet! +MSMSMSMSMSMSMSMSMSMSMSM|RIP SOPHIE. +It's okay to cry.|RIP SOPHIE. +Fin-etus!|Old April Fools joke from 2020 involving Novetus being bought out by Finobe. +Check out MAYHEM!|Bitl's co-op top-down horde mode shooter! +Think. Build. Create.|Old Roblox slogan. +Post-Awareness Stage 6 Is without description.|Everywhere at the end of time. +HAIL DENMARK|From the web series Reviving Bionicle. +I'm the antonymph of the internet!|Still cleaning up the viruses that you had left! Sing a song about life! -All your base are belong to us. Thrillville 2007 rbxl avocado -sus +sus|among us public static void -Nacham! -Check out Sleeping In! -Check out dismiss yourself! +Nacham!|Uttered during the middle of Famous Prophets (Minds). +Check out Sleeping In!|A music project made by one of my best friends! +Check out dismiss yourself!|A label ran by one of my friends! This happened to my buddy eric -splashes.txt has not been found. +splashes.txt has not been found.|Restart your computer to fix this issue. Play on Wine or Proton! Come try Novetus on your Not Phone! -LOAD"*",8 RUN -Previously 1.2.5! +LOAD"*",8 RUN|The Commodore 64 command used to boot up applications from a floppy disk. +Previously 1.2.5!|1.3 was previously known as 1.2.5, but many more additions were made, which made it a newer version. You are now breathing manually. -Check out MAYHEM! -Fuck the cynicism, let the colors fly! +Fuck the cynicism, let the colors fly!|Don't care you think it's cringe because it's not your life! NOVETUS 2.0 WHEN?? -Originally known as RBXLegacy 2.0! -Do you like waffles? -NYAN CAT! -Been watching =3 until 2 AM. +Originally known as RBXLegacy 2.0!|Novetus was announced as RBXLegacy 2.0 at first, but Bitl considered the project separate from RBXLegacy. Novetus was the winner of a naming contest. +Do you like waffles?|Yes, we like waffles! +NYAN CAT!|NYANNYANNYANNYANNYANNYAN! +Been watching =3 until 2 AM.|I ain't got no iPhone but I got a DS! GETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEAD Holy shit, is that a Novetus reference? -Catch a JPEG to the head! -I've seen footage! +Catch a JPEG to the head!|From Death Grips' Hacker +I've seen footage!|I stay noided. No advertisements! -dart zone gang +dart zone gang|Dart Zone > NERF This machine kills fascists! Whoops! You have to put the CD in your computer. -BING BONG! -mayonnaise +mayonnaise|BING BONG! *unreeeal superhero 3 plays* -You smell like fishes! FISHES! +You smell like fishes! FISHES!|I bet you eat your young. What do you want to build today? -[stylish]I'm SINCERELY thanking you, you're not stopping me! +[stylish]I'm SINCERELY thanking you, you're not stopping me!|From Cells at Work. !++&::%^ -No-ve-tus -[normal]...AND I...AM AN ARSONIST. -[stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST. +No-ve-tus|The pronoucuation of Novetus. +[normal]...AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA. +[stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA. Is nostalgia my inherent weakness? -Updated localization files. +Updated localization files.|Team Fortress 2 Update Released Do you think healing is just magic? Part of a hearty dinner! -Inspired by JRBX! -Arblus, look! It's Unicron! -[stylish]THE SHIPS! GET TO THE SHIPS! IT'S OUR ONLY CHANCE! -[normal]YOU'VE GOT THE TOUCH! -[stylish]YOU'VE GOT THE TOUCH! YOU'VE GOT THE POWER! +Inspired by JRBX!| The Stylish style was inspired by the style of JRBX, a now-defunct old Roblox revival. +Arblus, look! It's Unicron!|From the 1986 Transformers movie. +[stylish]THE SHIPS! GET TO THE SHIPS! IT'S OUR ONLY CHANCE!|From the 1986 Transformers movie. +[normal]YOU'VE GOT THE TOUCH!|YOU'VE GOT THE POWER! +[stylish]YOU'VE GOT THE TOUCH! YOU'VE GOT THE POWER!|YEAH! no noobs sign but there are noob -Won't run on your 486. -[stylish]Pay attention, Mr. Freeman. I am only going to say this once. -[normal]I am only going to say this once. -[stylish]Rainbows won't light up the sky unless you let it rain! -11-11-21! \ No newline at end of file +Won't run on your 486.|Referencing the Half-Life 2 E3 Demo. +[stylish]Pay attention, Mr. Freeman. I am only going to say this once.|From the Half-Life 2 E3 Demo. +[normal]I am only going to say this once.|From the Half-Life 2 E3 Demo. +[stylish]Rainbows won't light up the sky unless you let it rain!|And shiny apples sometimes come with worms! +11-11-21! +Crave sanity? I'll make you vegetables.|From Death Grips' Steroids EP. +Not a metaverse! +[stylish]We both know that there are a thousand ways I could destroy you right now.|And 941 of them hurt. \ No newline at end of file