rework splashes.

This commit is contained in:
Bitl 2021-10-29 14:07:13 -07:00
parent 284944db9d
commit b6f18342d9
7 changed files with 342 additions and 268 deletions

View File

@ -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

View File

@ -6,46 +6,193 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
#endregion #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 #region Splash Reader
public static class SplashReader public static class SplashReader
{ {
private static string RandomSplash() private static Splash RandomSplash()
{ {
CryptoRandom random = new CryptoRandom(); CryptoRandom random = new CryptoRandom();
string splash = ""; Splash missingsplash = new Splash("missingno|No Splashes Found.");
Splash splash = missingsplash;
try try
{ {
string[] splashes = File.ReadAllLines(GlobalPaths.ConfigDir + "\\splashes.txt"); string[] filelines = File.ReadAllLines(GlobalPaths.ConfigDir + "\\splashes.txt");
List<Splash> splashes = new List<Splash>();
foreach (var line in filelines)
{
splashes.Add(new Splash(line));
}
try try
{ {
bool checkStylishSplash = true; bool checkStylishSplash = true;
string generatedSplash = splashes[random.Next(0, splashes.Length - 1)]; Splash generatedSplash = splashes[random.Next(0, splashes.Count)];
while (checkStylishSplash) while (checkStylishSplash)
{ {
if (generatedSplash.Contains("[stylish]")) if (generatedSplash.SplashText.Contains("[stylish]"))
{ {
if (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish) if (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish)
{ {
splash = generatedSplash.Replace("[stylish]", ""); generatedSplash.SplashText = generatedSplash.SplashText.Replace("[stylish]", "");
splash = generatedSplash;
checkStylishSplash = false; checkStylishSplash = false;
} }
else 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) if (GlobalVars.UserConfiguration.LauncherStyle != Settings.Style.Stylish)
{ {
splash = generatedSplash.Replace("[normal]", ""); generatedSplash.SplashText = generatedSplash.SplashText.Replace("[normal]", "");
splash = generatedSplash;
checkStylishSplash = false; checkStylishSplash = false;
} }
else else
{ {
generatedSplash = splashes[random.Next(0, splashes.Length - 1)]; generatedSplash = splashes[random.Next(0, splashes.Count)];
} }
} }
else else
@ -66,7 +213,10 @@ public static class SplashReader
catch (Exception ex2) catch (Exception ex2)
{ {
GlobalFuncs.LogExceptions(ex2); GlobalFuncs.LogExceptions(ex2);
splash = "missingno"; if (splash.SplashText != missingsplash.SplashText)
{
splash = missingsplash;
}
return splash; return splash;
} }
} }
@ -74,24 +224,25 @@ public static class SplashReader
catch (Exception ex) catch (Exception ex)
{ {
GlobalFuncs.LogExceptions(ex); GlobalFuncs.LogExceptions(ex);
splash = "missingno"; if (splash.SplashText != missingsplash.SplashText)
{
splash = missingsplash;
}
return splash; return splash;
} }
string formattedsplash = splash return splash;
.Replace("%name%", GlobalVars.UserConfiguration.PlayerName)
.Replace("%randomtext%", SecurityFuncs.RandomString(random.Next(2, (GlobalVars.UserConfiguration.LauncherStyle == Settings.Style.Stylish ? 64 : 32))));
return formattedsplash;
} }
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) 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; GlobalVars.UserConfiguration.InitialBootup = false;
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true); GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
return returnsplash; return returnsplash;
@ -107,8 +258,6 @@ public static class SplashReader
foreach (var specialsplash in specialsplashes) foreach (var specialsplash in specialsplashes)
{ {
DateTime now = DateTime.Now;
if (specialsplash.SplashFirstAppearanceDate != null) if (specialsplash.SplashFirstAppearanceDate != null)
{ {
if (specialsplash.SplashEndAppearanceDate != 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; int randnum2 = (now.Day > specialsplash.SplashDateStopAppearingAllTheTime.Value.Day) ? random2.Next(0, chance) : 1;
if (randnum2 > 0) if (randnum2 > 0)
{ {
returnsplash = specialsplash.SplashText; returnsplash = specialsplash;
break; break;
} }
else else
{ {
returnsplash = ""; returnsplash = missingsplash;
break; break;
} }
} }
else else
{ {
returnsplash = specialsplash.SplashText; returnsplash = specialsplash;
break; break;
} }
} }
} }
else else
{ {
if (now == specialsplash.SplashFirstAppearanceDate) if (now.Month == specialsplash.SplashFirstAppearanceDate.Value.Month &&
now.Day == specialsplash.SplashFirstAppearanceDate.Value.Day)
{ {
returnsplash = specialsplash.SplashText; returnsplash = specialsplash;
break; break;
} }
} }
@ -151,7 +301,7 @@ public static class SplashReader
{ {
if (now.DayOfWeek == specialsplash.SplashWeekday) if (now.DayOfWeek == specialsplash.SplashWeekday)
{ {
returnsplash = specialsplash.SplashText; returnsplash = specialsplash;
break; break;
} }
} }
@ -160,16 +310,35 @@ public static class SplashReader
return returnsplash; 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 = RandomSplash();
} }
splash.SplashText = EncodeSplashString(splash.SplashText);
splash.SplashContext = EncodeSplashString(splash.SplashContext);
return splash; 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 #endregion

View File

@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using System.Linq;
using System.Net; using System.Net;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
@ -12,6 +13,26 @@ using System.Windows.Forms;
namespace NovetusLauncher 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 #region LauncherForm - Shared
public class LauncherFormShared public class LauncherFormShared
{ {
@ -37,6 +58,7 @@ namespace NovetusLauncher
public Button RegeneratePlayerIDButton = null; public Button RegeneratePlayerIDButton = null;
public NumericUpDown PlayerLimitBox, HostPortBox, JoinPortBox = null; public NumericUpDown PlayerLimitBox, HostPortBox, JoinPortBox = null;
public string TabPageHost, TabPageMaps, TabPageClients, TabPageSaved = ""; public string TabPageHost, TabPageMaps, TabPageClients, TabPageSaved = "";
private ToolTip contextToolTip;
#endregion #endregion
#region UPnP #region UPnP
@ -237,8 +259,15 @@ namespace NovetusLauncher
SetupImportantData(); SetupImportantData();
SplashLabel.Text = SplashReader.GetSplash(); Splash splash = SplashReader.GetSplash();
LocalVars.prevsplash = SplashLabel.Text;
SplashLabel.Text = splash.SplashText;
if (!string.IsNullOrWhiteSpace(splash.SplashContext))
{
contextToolTip = new ToolTip();
contextToolTip.SetToolTip(SplashLabel, splash.SplashContext);
}
if (FormStyle != Settings.Style.Stylish) if (FormStyle != Settings.Style.Stylish)
{ {

View File

@ -158,7 +158,6 @@
<DependentUpon>CharacterCustomizationExtended.cs</DependentUpon> <DependentUpon>CharacterCustomizationExtended.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Classes\Launcher\AddonLoader.cs" /> <Compile Include="Classes\Launcher\AddonLoader.cs" />
<Compile Include="Classes\Launcher\EasterEggs.cs" />
<Compile Include="Classes\Launcher\SplashLoader.cs" /> <Compile Include="Classes\Launcher\SplashLoader.cs" />
<Compile Include="Classes\Launcher\TreeNodeHelper.cs" /> <Compile Include="Classes\Launcher\TreeNodeHelper.cs" />
<Compile Include="Classes\LocalVars.cs" /> <Compile Include="Classes\LocalVars.cs" />

View File

@ -35,6 +35,12 @@ Changes from Pre-Release 5:
- Added support for the Stylish style in the Splash Tester. - Added support for the Stylish style in the Splash Tester.
- Fixed Commanders in Rise of the Killbots being too big. - Fixed Commanders in Rise of the Killbots being too big.
- Fixed spawns on Rise of the Killbots - Sword Fights on the Heights IV. - 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: Changes from 1.2.4.1:
- The OBJ2MeshV1GUI, The Asset Localizer, and the Item SDK have been merged to form the Asset SDK! - 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. - Works with the Roblox Asset Delivery API! Note: Script assets wil have to be downloaded manually in order to be used in scripts.

View File

@ -1,15 +1,16 @@
Happy New Year!|1/1 Happy New Year!|Have a happy %year%!|1/1
RIP Erik Cassel|2/11 RIP Erik Cassel|Erik Cassel, was a co-founder, administrator and former VP of Engineering of Roblox.|2/11
smoke weed every day|4/20 smoke weed every day|blaze it|4/20
Happy Birthday, Bitl!|6/10 Happy Birthday, Bitl!|Bitl is the developer of Novetus and RBXLegacy.|6/10
Happy Pride Month!|6/1-6/30-6/7-6/15 Happy Pride Month!|6/1-6/30-6/7-6/15
And this is the way... of the Bionicle.|8/10 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!|9/1 Happy Birthday, Roblox!|Roblox was released to the public on September 1st, 2006.|9/1
Happy Leif Erikson Day! HINGA DINGA DURGEN!|10/9 Happy Leif Erikson Day! HINGA DINGA DURGEN!|10/9
I used to wonder what friendship could be!|10/10 I used to wonder what friendship could be!|10/10
Happy Birthday, Novetus!|10/27 Happy Birthday, Novetus!|Novetus was announced directly after the cancellation of RBXLegacy.|10/27
Adventure Awaits...|11/9 Adventure Awaits...|The first trailer used to promote Roblox to the public was uploaded by John Shedletsky on November 9th, 2006.|11/9
Happy Halloween!|10/31 Welcome to %version%!|Hi!|11/11
Merry Christmas!|12/24-12/25 Happy Halloween!|Spooky, scary skeletons send shivers down your spine...|10/31
Happy New Year!|12/31 Merry Christmas!|...and a happy new year!|12/24-12/25
Happy Out-of-Touch Thursday!|Thursday 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

View File

@ -1,67 +1,67 @@
Novetus! Novetus!
From the creator of RBXLegacy! From the creator of RBXLegacy!|Bitl is the developer of Novetus and RBXLegacy.
Carrot is a sensitive topic. Carrot is a sensitive topic.
Wii Phone Wii Phone|From the classic video titled "future gen. consels wii2 ps4 xbox720?"
Yay! Yay!|LOUDER!
Now 20% cooler! Now 20% cooler!
Blockland is good! Blockland is good!
Check out Finob-oh.
Check out Graphictoria!
Check out FIREFIGHT RELOADED!
Check out RBXLe-oh.
;ec ;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! IT'S FREE!
don't sue us don't sue us|Please.
generic rbxlegacy reskin generic rbxlegacy reskin
weed weed|4/20.
Buy Novetus Premium today! Buy Novetus Premium today!|It's free!
builderman is my dad builderman is my dad|he gave the 2006 client to me.
/e dance /e dance|Dancing command used during Roblox 2013-2015.
@everyone hi @everyone hi
Blame John Blame John
Blame Bitl Blame Bitl
Builderman for president Builderman for president
!!!reset !!!reset|Reset command in Novetus.
Deleting RBXLegacy, BRB. Deleting RBXLegacy, BRB.
i hope bitl adds my splash i hope bitl adds my splash
y = mx + b y = mx + b|How do you find the slope again?
Open Source! Open Source!|Find it on github.com/Novetus/Novetus_src!
Defeat enemy! Defeat enemy!|From Half-Life 2 Survivor Ver 2.0.
Needs dual welding! Needs dual welding!
A man chooses, a slave obeys. A man chooses, a slave obeys.|From Bioshock 1.
Unity, Duty, DESTINY! Unity, Duty, DESTINY!|The Three Virtues, from Bionicle.
MEIN LEBEN! MEIN LEBEN!
Spaceship! Spaceship!|SPACESHIP!
Everything is Awesome! Everything is Awesome!|Everything is cool when you're part of a team!
Tell that to the Covenant. Tell that to the Covenant.|Halo 2 was Legendary.
Such heroic nonsense. Such heroic nonsense.|From the 1986 Transformers movie.
GIVE ME YOUR FACE! GIVE ME YOUR FACE!|From Transformers: Revenge of the Fallen.
SPAAAAAAAACE! SPAAAAAAAACE!|It's too big. Too big. Wanna go home. Wanna go to earth.
You cannot destroy me, for I am nothing. You cannot destroy me, for I am nothing.|From Makuta Teridax in the Mata Nui Online Game.
C-C-C-COMBO BREAKER! C-C-C-COMBO BREAKER!|From Killer Instinct.
Soon(TM) Soon(TM)
An Excellent Modification An Excellent Modification|Ashens reference.
twilight please im so fucking hungry twilight please im so fucking hungry|no
is bitl gon kill self??? is bitl gon kill self???
Buy it for free! Buy it for free!|From the Roblox 2006 trailer.
oof oof|uuhhh.wav
ow my foot ow my foot
novetus EXPOSED for being shit! 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 Free Robux
Now with more fiber! Now with more fiber!
Now with more protein! Now with more protein!
OHMYGOODNESS OHMYGOODNESS
Would you kindly... Would you kindly...|From Bioshock 1.
The gang is on the loose! The gang is on the loose!|At piraka.com.
minecraft minecraft
And now.. Novetus. And now.. Novetus.
Hi, %name%! Hi, %name%!
Taaaaakyon! Taaaaakyon!|From Death Grips' Takyon.
Ok, this is epic. Ok, this is epic.
Who touched Sascha? Who touched Sascha?|Who touched my gun!?
Rip and Tear! Rip and Tear!|...until it is done.
Part of a valuable breakfast! Part of a valuable breakfast!
Half-Life 3 when? Half-Life 3 when?
lemme smash lemme smash
@ -75,16 +75,16 @@ bruh moment
how 2 get free robux how 2 get free robux
default dance default dance
@Bitl NOVETUS IS DOWN! @Bitl NOVETUS IS DOWN!
Licenced under the GPL v3! Licensed under the MIT License!
you can't just shoot a hole in mars you can't just shoot a hole in mars|From Doom Eternal
that's a weapon, not a teleporter that's a weapon, not a teleporter|From Doom Eternal
DIE, YOU FILTHY GERM! DIE, YOU FILTHY GERM!|From Cells at Work
Endorsed by the PCMasterRace! Endorsed by the PCMasterRace!
%randomtext% %randomtext%
mr beetle can i have novetus 1.4 mr beetle can i have novetus 1.4|no.
Pride and accomplishment! Pride and accomplishment!
No lootboxes! No lootboxes!
Weeeeeeeeeeee-*static* Weeeeeeeeeeee-*static*|From Portal 1.
Friendship is Magic! Friendship is Magic!
No DRM! No DRM!
Bloxxed in half. Bloxxed in half.
@ -95,78 +95,78 @@ imagine actually paying for this lmao
Everyone Gets A Lot Everyone Gets A Lot
Overwatch says "stop kicking it". Overwatch says "stop kicking it".
He stopped kicking it. He stopped kicking it.
darn that soundwave darn that soundwave|*angry yawn*
Black Lives Matter! Black Lives Matter!
i want the goddamn hat i want the goddamn hat
So i herd u liek mudkips? So i herd u liek mudkips?|MUD. KIP.
guys watch out for player4!!! guys watch out for player4!!!
Builderman for president! Builderman for president!
Check out DUNGEONBLADE: HK! Check out DUNGEONBLADE: HK!|Bitl's randomized text-based adventure!
ALL YOUR BASE ARE BELONG TO US! ALL YOUR BASE ARE BELONG TO US!|You are on the way to destruction.
roflcopter go soisoisoi... roflcopter go soisoisoi...|Microsoft Sam.
Runs under Windows XP! Runs under Windows XP!|Just install the dependencies!
Check out the Novetus SDK! Check out the Novetus SDK!
MSMSMSMSMSMSMSMSMSMSMSM MSMSMSMSMSMSMSMSMSMSMSM|RIP SOPHIE.
It's okay to cry. It's okay to cry.|RIP SOPHIE.
Fin-etus! Fin-etus!|Old April Fools joke from 2020 involving Novetus being bought out by Finobe.
Check out MAYHEM! Check out MAYHEM!|Bitl's co-op top-down horde mode shooter!
Think. Build. Create. Think. Build. Create.|Old Roblox slogan.
Post-Awareness Stage 6 Is without description. Post-Awareness Stage 6 Is without description.|Everywhere at the end of time.
HAIL DENMARK HAIL DENMARK|From the web series Reviving Bionicle.
I'm the antonymph of the internet! I'm the antonymph of the internet!|Still cleaning up the viruses that you had left!
Sing a song about life! Sing a song about life!
All your base are belong to us.
Thrillville 2007 rbxl Thrillville 2007 rbxl
avocado avocado
sus sus|among us
public static void public static void
Nacham! Nacham!|Uttered during the middle of Famous Prophets (Minds).
Check out Sleeping In! Check out Sleeping In!|A music project made by one of my best friends!
Check out dismiss yourself! Check out dismiss yourself!|A label ran by one of my friends!
This happened to my buddy eric 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! Play on Wine or Proton!
Come try Novetus on your Not Phone! Come try Novetus on your Not Phone!
LOAD"*",8 RUN LOAD"*",8 RUN|The Commodore 64 command used to boot up applications from a floppy disk.
Previously 1.2.5! 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. You are now breathing manually.
Check out MAYHEM! Fuck the cynicism, let the colors fly!|Don't care you think it's cringe because it's not your life!
Fuck the cynicism, let the colors fly!
NOVETUS 2.0 WHEN?? NOVETUS 2.0 WHEN??
Originally known as RBXLegacy 2.0! 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? Do you like waffles?|Yes, we like waffles!
NYAN CAT! NYAN CAT!|NYANNYANNYANNYANNYANNYAN!
Been watching =3 until 2 AM. Been watching =3 until 2 AM.|I ain't got no iPhone but I got a DS!
GETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEAD GETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEADGETOUTOFMYHEAD
Holy shit, is that a Novetus reference? Holy shit, is that a Novetus reference?
Catch a JPEG to the head! Catch a JPEG to the head!|From Death Grips' Hacker
I've seen footage! I've seen footage!|I stay noided.
No advertisements! No advertisements!
dart zone gang dart zone gang|Dart Zone > NERF
This machine kills fascists! This machine kills fascists!
Whoops! You have to put the CD in your computer. Whoops! You have to put the CD in your computer.
BING BONG! mayonnaise|BING BONG!
mayonnaise
*unreeeal superhero 3 plays* *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? 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 No-ve-tus|The pronoucuation of Novetus.
[normal]...AND I...AM AN ARSONIST. [normal]...AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA.
[stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST. [stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA.
Is nostalgia my inherent weakness? Is nostalgia my inherent weakness?
Updated localization files. Updated localization files.|Team Fortress 2 Update Released
Do you think healing is just magic? Do you think healing is just magic?
Part of a hearty dinner! Part of a hearty dinner!
Inspired by JRBX! Inspired by JRBX!| The Stylish style was inspired by the style of JRBX, a now-defunct old Roblox revival.
Arblus, look! It's Unicron! Arblus, look! It's Unicron!|From the 1986 Transformers movie.
[stylish]THE SHIPS! GET TO THE SHIPS! IT'S OUR ONLY CHANCE! [stylish]THE SHIPS! GET TO THE SHIPS! IT'S OUR ONLY CHANCE!|From the 1986 Transformers movie.
[normal]YOU'VE GOT THE TOUCH! [normal]YOU'VE GOT THE TOUCH!|YOU'VE GOT THE POWER!
[stylish]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 no noobs sign but there are noob
Won't run on your 486. 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. [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. [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! [stylish]Rainbows won't light up the sky unless you let it rain!|And shiny apples sometimes come with worms!
11-11-21! 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.