aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/Applications
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-06-04 15:18:53 -0400
committerMichael <[email protected]>2017-06-04 15:18:53 -0400
commit69aba3b373f9c9c70ec4ef2250e71465d3327299 (patch)
tree5a429b05410d2ea63cfde3c766c103309be45b1c /ShiftOS.WinForms/Applications
parent4faeb54225919bab1692859b4fe9d9b65f3bedea (diff)
downloadshiftos_thereturn-69aba3b373f9c9c70ec4ef2250e71465d3327299.tar.gz
shiftos_thereturn-69aba3b373f9c9c70ec4ef2250e71465d3327299.tar.bz2
shiftos_thereturn-69aba3b373f9c9c70ec4ef2250e71465d3327299.zip
A fuckton of storyline features.
Diffstat (limited to 'ShiftOS.WinForms/Applications')
-rw-r--r--ShiftOS.WinForms/Applications/Terminal.cs82
1 files changed, 79 insertions, 3 deletions
diff --git a/ShiftOS.WinForms/Applications/Terminal.cs b/ShiftOS.WinForms/Applications/Terminal.cs
index a4b77ae..687b2b9 100644
--- a/ShiftOS.WinForms/Applications/Terminal.cs
+++ b/ShiftOS.WinForms/Applications/Terminal.cs
@@ -410,8 +410,6 @@ namespace ShiftOS.WinForms.Applications
public static void FirstSteps()
{
TerminalBackend.PrefixEnabled = false;
- new Thread(() =>
- {
TerminalBackend.InStory = true;
Console.WriteLine("Hey there, and welcome to ShiftOS.");
Thread.Sleep(2000);
@@ -521,8 +519,86 @@ namespace ShiftOS.WinForms.Applications
TerminalBackend.InStory = false;
SaveSystem.SaveGame();
Thread.Sleep(1000);
+
+ Story.Context.AutoComplete = false;
+
+ Console.WriteLine(@"Welcome to the ShiftOS Newbie's Guide.
+
+This tutorial will guide you through the more intermediate features of ShiftOS,
+such as earning Codepoints, buying Shiftoorium Upgrades, and using the objectives system.
+
+Every now and then, you'll get a notification in your terminal of a ""NEW OBJECTIVE"".
+This means that someone has instructed you to do something inside ShiftOS. At any moment
+you may type ""sos.status"" in your Terminal to see your current objectives.
+
+This command is very useful as not only does it allow you to see your current objectives
+but you can also see the amount of Codepoints you have as well as the upgrades you've
+installed and how many upgrades are available.
+
+Now, onto your first objective! All you need to do is earn 200 Codepoints using any
+program on your system.");
+
+ Story.PushObjective("First Steps: Your First Codepoints", "Play a few rounds of Pong, or use another program to earn 200 Codepoints.", () =>
+ {
+ return SaveSystem.CurrentSave.Codepoints >= 200;
+ }, () =>
+ {
+ Desktop.InvokeOnWorkerThread(() =>
+ {
+ AppearanceManager.SetupWindow(new Terminal());
+ });
+ Console.WriteLine("Good job! You've earned " + SaveSystem.CurrentSave.Codepoints + @" Codepoints! You can use these inside the
+Shiftorium to buy new upgrades inside ShiftOS.
+
+These upgrades can give ShiftOS more features, fixes and programs,
+which can make the operating system easier to use and navigate around
+and also make it easier for you to earn more Codepoints and thus upgrade
+te system further.
+
+Be cautious though! Only certain upgrades offer the ability to earn more
+Codepoints. These upgrades are typically in the form of new programs.
+
+So, try to get as many new programs as possible for your computer, and save
+the system feature upgrades for later unless you absolutely need them.
+
+The worst thing that could happen is you end up stuck with very little Codepoints
+and only a few small programs to use to earn very little amounts of Codepoints.
+
+Now, let's get you your first Shiftorium upgrade!");
+
+ Story.PushObjective("First Steps: The Shiftorium", "Buy your first Shiftorium upgrade with your new Codepoints using shiftorium.list, shiftorium.info and shiftorium.buy.",
+ () =>
+ {
+ return SaveSystem.CurrentSave.CountUpgrades() > 0;
+ }, () =>
+ {
+ Console.WriteLine("This concludes the ShiftOS Newbie's Guide! Now, go, and shift it your way!");
+ Console.WriteLine(@"
+Your goal: Earn 1,000 Codepoints.");
+ Story.Context.MarkComplete();
+ Story.Start("first_steps_transition");
+ });
TerminalBackend.PrintPrompt();
- }).Start();
+ });
+
+ TerminalBackend.PrintPrompt();
+ }
+
+
+ [Story("first_steps_transition")]
+ public static void FirstStepsTransition()
+ {
+ Story.PushObjective("Earn 1000 Codepoints", "You now know the basics of ShiftOS. Let's get your system up and running with a few upgrades, and get a decent amount of Codepoints.", () =>
+ {
+ return SaveSystem.CurrentSave.Codepoints >= 1000;
+ },
+ () =>
+ {
+ Story.Context.MarkComplete();
+ Story.Start("victortran_shiftnet");
+ });
+
+ Story.Context.AutoComplete = false;
}
public void OnSkinLoad()