WriteLine("IP Address <hidden> is connecting as '???'...");
break;
case1:
WriteLine("Connection established.");
break;
case2:
WriteLine("???: Hi, ShiftOS user. I have something to tell you.");
break;
case3:
WriteLine("???: I'm not a hacker. I'm not a programmer. I am just like you.");
break;
case4:
WriteLine("???: I am... the Other Player.");
break;
case5:
WriteLine("???: I too have heard DevX's story about ShiftOS being an experimental operating system.");
break;
case6:
WriteLine("???: I have also met another user. We'll call him... I don't know... Robert.");
break;
case7:
WriteLine("???: And this Robert guy, well, he knows a lot about ShiftOS, and DevX.");
break;
case8:
WriteLine("???: Robert is a fake name I'm calling him. You might know him as Hacker101.");
break;
case9:
WriteLine("???: Anyways, He told me about you, so I figured I would help you get out of this mess.");
break;
case10:
WriteLine("???: He said he'll help me get my hard drive back, and get ShiftOS off my system. Once he does, I'll tell you.");
break;
case11:
WriteLine("???: In the meantime, I have one word for you. Survive. Do NOT let DevX get to you. Do not fall for his tricks. Just play along until I contact you.");
break;
case12:
WriteLine("???: I'll talk to you about this soon.");
WriteLine("Sending false packet to shiftnet://devx/tracker...");
Thread.Sleep(100);
WriteLine("Awaiting reply from server...");
Thread.Sleep(5000);
WriteLine("Got reply with header \"SOS_TRK_GET\".");
Thread.Sleep(50);
WriteLine("[kernel] Sending usage log to server...");
WriteLine("Intercepting outgoing request...");
Thread.Sleep(200);
WriteLine("Got packet contents...");
Thread.Sleep(25);
WriteLine("Sifting...");
Thread.Sleep(500);
WriteLine("Found connection data for shiftnet://devx/tracker.");
Thread.Sleep(100);
WriteLine(@"Username: devx
Password:z7fjsd3");
Thread.Sleep(100);
WriteLine("Authenticating with SSH server on shiftnet://devx/tracker running Arch Linux x86_64...");
Thread.Sleep(1000);
WriteLine("[SSH] Access granted.");
Thread.Sleep(100);
WriteLine($"[Message] ???: We're in. In about 75 seconds DevX's server will go down. It'll be quite cool actually, Don't know if you've ever seen a forkbomb in action, but because you're in an SSH session with DevX's server and I'm also controlling the same session you're gonna see one. Oh, yeah, this server's the only one of his that doesn't actually run ShiftOS.");
Thread.Sleep(25000);
this.Invoke(newAction(()=>
{
txtterm.Text="";
}));
inti=60;
while(i>=1)
{
Thread.Sleep(1000);
WriteLine($"Beginning attack on server in {i} seconds.");
i-=1;
}
WriteLine("[devx@tracker ~]$ ");
stringcmd=":`(`)`{` `:`|`:` `&` `}`;`:";//yep. I'm pretending to use a forkbomb on DevX's server. This'll be FUN to code. </sarcasm>
foreach(stringcincmd.Split('`'))
{
Thread.Sleep(100);
this.Invoke(newAction(()=>
{
txtterm.Text+=c;
}));
}
WriteLine("[devx@tracker ~]$ ");
WriteLine("[Message] ???: Alright. I entered the command for you. Looks like it did nothing. DevX wouldn't even know what's happening... but keep your terminal open for 30 seconds.");
WriteLine("Hacker101: Hello. We meet again. The Other Player told me about your situation.");
}
else
{
API.Upgrades["hacker101"]=true;
WriteLine("Hacker101: The Other Player told me about your situation.");
}
break;
case1:
WriteLine("Hacker101: Lemme guess. DevX found out about you having the Shiftnet, didn't he...");
break;
case2:
WriteLine("Hacker101: Well I guess we'll have to fight fire with fire. You remember that person who told you about Hacker Battles?");
break;
case3:
WriteLine("Hacker101: It's time you know who he is. He is, in fact, me, and to continue on about Hacker Battles...");
break;
case4:
WriteLine("Hacker101: I can help you take down DevX, but we'll need to take down his defenses and get into his network.");
break;
case5:
WriteLine("Hacker101: DevX's network of servers is larger than any datacenter on Earth, and it'll take time to plan the perfect attack.");
break;
case6:
WriteLine("Hacker101: Think of it this way. DevX has a network of networks, each with their own leader.");
break;
case7:
WriteLine("Hacker101: I can help you find these networks, but it's up to you to take 'em down.");
break;
case8:
WriteLine("Hacker101: Of course, it's hard to hack a network if you don't know how to start a battle.");
break;
case9:
WriteLine("Hacker101: Introducing the Battle Preparation Screen.");
break;
case10:
WriteLine("Hacker101: It'll show you any network I've found, and it'll tell you some useful info about it.");
break;
case11:
WriteLine("Hacker101: However the spkg package for this thing is HUGE, and will require lots of tweaks to the ShiftOS desktop. spkg will hopefully administer the tweaks for you, but here's a rundown of what'll happen.");
break;
case12:
WriteLine("Hacker101: For one, you'll be able to have multiple desktop panels to fit more widgets on them.");
break;
case13:
WriteLine("Hacker101: And if you have the App Launcher, it will get sorted so it doesn't take up the entire screen when you get so many applications installed.");
break;
case14:
WriteLine("Hacker101: And the rest is a surprise. I'll initiate the install sequence.");
WriteLine("IP <hidden> connecting as Hacker101...");
break;
case1:
WriteLine("Hacker101: Hello, ShiftOS user. I am a hacker.");
break;
case2:
if(API.BitnoteAddress!=null)
{
WriteLine($"Hacker101: I can prove it. You have {API.Codepoints} Codepoints, your Bitnote Address is {API.BitnoteAddress.Address}, and you have {API.BitnoteAddress.Bitnotes}. That's your private address, by the way.");
}
else
{
WriteLine($"Hacker101: I can prove it. You have {API.Codepoints} Codepoints, and you do not have a Bitnote Address.");
}
break;
case3:
WriteLine("Hacker101: Enough fun in games. Listen. There are two things you need to know.");
WriteLine("Hacker101: Not only is that some nice, smokin' fresh C# code directly from ShiftOS, but that's a nice steaming pile of bird poop on DevX's doorstep.");
break;
case9:
WriteLine("Hacker101: Thing #2. The Shiftnet holds some secrets.");
break;
case10:
WriteLine("Hacker101: What kind of secrets, I hear you ask through your microphone (jesus, do you seriously talk to us with your voice? Are you that bored?)");
break;
case11:
WriteLine("Hacker101: Well. I'm talking, pieces of a Lua script that could help stop DevX dead in his digital tracks.");
break;
case12:
WriteLine("Hacker101: All you gotta do is use my decryption utilities to find the pieces of this encrypted script, download them, decrypt them, and the utility will automatically piece them together for you.");
break;
case13:
WriteLine("Hacker101: Shiftnet pages ending with .enc are your best bet.");
break;
case14:
WriteLine("Hacker101: You can install the utilities using spkg install secret.");
break;
case15:
WriteLine("Hacker101: Then, when the application installs, run it, and use the password 'binary_hell' to install the REAL utilities.");
break;
case16:
WriteLine("Hacker101: Anyways, that wraps that up. But hang on. One more thing...");
t.Stop();
ShiftOS.Hacking.AddCharacter(newCharacter("Hacker101","Let's get the job done.",75,45,5));
WriteLine("IP <hidden> connecting as Hacker101...");
break;
case1:
WriteLine("Hacker101: Hello, ShiftOS user. I am a hacker.");
break;
case2:
if(API.BitnoteAddress!=null)
{
WriteLine($"Hacker101: I can prove it. You have {API.Codepoints} Codepoints, your Bitnote Address is {API.BitnoteAddress.Address}, and you have {API.BitnoteAddress.Bitnotes}. That's your private address, by the way.");
}
else
{
WriteLine($"Hacker101: I can prove it. You have {API.Codepoints} Codepoints, and you do not have a Bitnote Address.");
}
break;
case3:
WriteLine("Hacker101: Enough fun in games. Listen. There are two things you need to know.");
WriteLine("Hacker101: Not only is that some nice, smokin' fresh C# code directly from ShiftOS, but that's a nice steaming pile of bird poop on DevX's doorstep.");
break;
case9:
WriteLine("Hacker101: Thing #2. The Shiftnet holds some secrets.");
break;
case10:
WriteLine("Hacker101: What kind of secrets, I hear you ask through your microphone (jesus, do you seriously talk to us with your voice? Are you that bored?)");
break;
case11:
WriteLine("Hacker101: Well. I'm talking, pieces of a Lua script that could help stop DevX dead in his digital tracks.");
break;
case12:
WriteLine("Hacker101: All you gotta do is use my decryption utilities to find the pieces of this encrypted script, download them, decrypt them, and the utility will automatically piece them together for you.");
break;
case13:
WriteLine("Hacker101: Shiftnet pages ending with .enc are your best bet.");
break;
case14:
WriteLine("Hacker101: You can install the utilities using spkg install secret.");
break;
case15:
WriteLine("Hacker101: Then, when the application installs, run it, and use the password 'binary_hell' to install the REAL utilities.");
break;
case16:
WriteLine("Hacker101: Now go. We need that script. I know a friend who will help you get your hard drive back from DevX if you can do this.");
t.Stop();
ShiftOS.Hacking.AddCharacter(newCharacter("Hacker101","Let's get the job done.",75,45,5));
WriteLine($"???: {API.Username}! Did he find out? Oh God, I hope he can see this...");
}
else
{
WriteLine("???: Hello? Uhhhh, is this stupid thing working?");
}
break;
case2:
if(API.Upgrades["otherplayerstory"]==true)
{
WriteLine("???: Ahh. Good. You can read this. It's me, the other player.");
}
else
{
WriteLine("???: Thank heaven. You can hear me. Don't ask who I am.");
}
break;
case3:
WriteLine("???: Looks like DevX hit you hard. Guess he found out you had the Shiftnet.");
break;
case4:
WriteLine("???: Relax. It's not your fault.");
break;
case5:
WriteLine("???: Actually, the Shiftnet regularly sends data about it's usage, unencrypted, directly to DevX.");
break;
case6:
WriteLine("???: This code seems to be embedded into all .saa files. It's actually how I found out about you.");
break;
case7:
WriteLine("???: It seems weird, I know, but everytime you run a .saa file, an uplink is made to DevX's servers");
break;
case8:
if(API.Upgrades["otherplayerstory"]==true)
{
WriteLine("???: And, well, I think we could use this. I'll see if Hacker101 can track this uplink. If he can, you will know it the next time you run a .saa.");
}
else
{
WriteLine("???: And, well, I think we could use this. I have a friend who's good with his hacking skills. I'll see if he can help you stop DevX dead. If he can, he will contact you next time you run a .saa.");
}
break;
case9:
WriteLine("???: Anyways, connected to your system, I can see your desktop. Looks pretty messed up, huh?");
break;
case10:
WriteLine("???: You're lucky you don't have the Windows Everywhere virus.");
WriteLine("???: All better. I hope. As for those random files on your desktop, well, it seems DevX dropped some sort of secret message onto your system.");
break;
case15:
WriteLine("???: Go ahead and try to decrypt it. The Shiftnet Lua API is very useful.");
break;
case16:
if(API.Upgrades["otherplayerstory"]==true)
{
WriteLine("???: Anyways, I'm gonna go work with Hacker101, discuss those .saa uplinks, and see if we can come up with a suitable attack plan.");
}
else
{
WriteLine("???: Well, your system is all better. You don't have to thank me. Just, when you open a .saa file, I'll try to contact you if I'm not busy.");
}
break;
case17:
WriteLine("???: Talk to you soon. And, remember. ShiftOS is like a forest. DevX is the predator, you are the prey. Watch your back.");
WriteLine("IP address <unidentified> connecting with no identity...");
break;
case1:
WriteLine("Hey there. So I see you're into hacking.");
break;
case2:
WriteLine("Oh, how rude of me. You don't know if I'm DevX or not.");
break;
case3:
WriteLine("Well now you do. I will not show my identity, but I am not DevX.");
break;
case4:
WriteLine("Anyways. There are two things you must know about hacking within ShiftOS.");
break;
case5:
WriteLine("1. You can hack more than just the Shiftorium. Look around the user interface for any 'Hack it' buttons.");
break;
case6:
WriteLine("Also, running 'hack' in the Terminal will let you do even more damage to DevX's security systems as well as give you some advantages.");
break;
case7:
WriteLine("Ever wanted to make the Shiftorium have a bit of a sale, or even better, make all applications pay out more Codepoints than DevX intends?");
break;
case8:
WriteLine("Well that 'hack' command is useful then. Go ahead. Try it in another Terminal window. But good God do not close this one.");
break;
case9:
WriteLine("Because there's one more thing you need to know.");
break;
case10:
WriteLine("You are not the only person DevX has contacted with ShiftOS.");
break;
case11:
WriteLine("There are others. Some of them, friendly. Some of them, knowledgable enough to help you.");
break;
case12:
WriteLine("ShiftOS is like a private community. Anyone can contact anyone provided they have the skill to get in.");
break;
case13:
WriteLine("Meaning, you may meet some very cool people.");
break;
case14:
WriteLine("But some of us are... how do you say it... hostile.");
break;
case15:
WriteLine("Enter the era of Hacker Battles.");
break;
case16:
WriteLine("It's a network-vs-network every-man-for-himself affair. You'll meet criminals, hackers, agencies and much more.");
break;
case17:
WriteLine("All offering a little surprise if you can take their network down.");
break;
case18:
WriteLine("And it's best you get trained, for at any time, anyone could challenge you to one.");
break;
case19:
WriteLine("And the amount of networks devastated due to untrained users picking a fight with the wrong person is alarmingly huge.");
break;
case20:
WriteLine("I'll launch a practice program which will teach you the Hacker Battle interface and the fundamentals.");
break;
case21:
WriteLine("And if you can complete the entire training session, you will be able to defend against anyone who dare battle you.");
break;
case22:
WriteLine("Starting training session #53D8G in 5 seconds....");
break;
case23:
WriteLine("Don't worry. It shouldn't be too difficult for you.");
WriteLine("Maureen Fenn: Hello, My name is Maureen Fenn. I want to talk to you about something.");
break;
case1:
WriteLine("Maureen Fenn: I am another ShiftOS user. DevX hijacked my computer and installed ShiftOS on it about 2 years ago.");
break;
case2:
WriteLine("Maureen Fenn: For some reason, he wanted me to develop some applications for ShiftOS and sell them on a Shiftnet website.");
break;
case3:
WriteLine("Maureen Fenn: He installed the Shiftnet on my system and gave me a neat little API to code them in.");
break;
case4:
WriteLine("Maureen Fenn: It seems that I am the only one who has access to the Shiftnet, so seeings as you are able to run it on your system,");
break;
case5:
WriteLine("Maureen Fenn: I figured I would install the Shiftnet client onto your computer.");
break;
case6:
WriteLine("Maureen Fenn: Just let me connect to your system and install the Shiftnet for you.");
WriteLine("mf@"+API.OSName+" $> root");
break;
case7:
API.PlaySound(Properties.Resources.typesound);
if(API.Upgrades["multitasking"]==true)
{
API.CreateInfoboxSession("Root connection","A root connection has been established to your system. Be aware of any unusual, unwanted actions.",infobox.InfoboxMode.Info);
}
else
{
WriteLine("mf: Root connection established!");
}
break;
case8:
WriteLine("Starting installation of package 'shiftnet.pkg'...");
if(!Directory.Exists(Paths.Applications))
{
Directory.CreateDirectory(Paths.Applications);
}
//Download Shiftnet package using spkg.
API.Upgrades["shiftnet"]=true;
command="spkg install shiftnet";
i=66;
DoCommand();
break;
case9:
WriteLine("mf: Root connection disbanded.");
WriteLine("Maureen Fenn: There, the Shiftnet is now installed on your system!");
break;
case10:
WriteLine("Maureen Fenn: I have also hacked on a few Shiftorium upgrades for you to make it a bit easier to run applications from the Shiftnet.");
break;
case11:
WriteLine("Maureen Fenn: Be sure to check the Shiftorium, and my Shiftnet website on shiftnet://main/minimatch/home.rnp");
break;
case12:
WriteLine("Maureen Fenn: Also, try not to venture too far off the main server cluster (shiftnet://main/), you may not know who's doing what. The main cluster is safe.");
break;
case13:
WriteLine("Maureen Fenn: The Shiftnet also comes with a utility that will let you install software from it. Just run 'help' to find out more.");
break;
case14:
WriteLine("Maureen Fenn: Anyways, I gotta go. Have fun using the Shiftnet! I'm gonna go... work on something else.");
ShiftOS.Hacking.AddCharacter(newCharacter("Maureen Fenn","It's time I get back at DevX for what he's done.",40,75,2));
Warning:Musicisnotembeddedwithinthegame.Youmustdownloadtheexternalresourcesdirectoryathttp://playshiftos.ml/shiftos/resources.zip to have applications play their music.");
WriteLine(Environment.NewLine+"How to use: Simply type some Lua code and watch it come to life. Code can be executed on one line, and unlike most interpreters, you can access code from one line in another.");
WriteLine(Environment.NewLine+"When you're done, simply press the Enter key to execute the code."+Environment.NewLine);
WriteLine("Alias is a command that lets you create aliases for other commands. You could make a command 'upgrade' alias 'shiftorium' if you wanted."+Environment.NewLine);
WriteLine("Arguments:");
WriteLine(" -h, --help: Displays this screen.");
WriteLine("-a, --add <alias> <command>: Adds a new alias.");
WriteLine("-d, --delete <alias>: Deletes an alias.");
WriteLine("-l, --list: Shows all available aliases.");
WriteLine("You have earned "+ki_guessesThisSession.ToString()+" Codepoints.");
API.AddCodepoints(ki_guessesThisSession);
}
}
else
{
WriteLine("You have guessed all the possible answers for this category. Therefore, you have been awarded 10000 CP.");
API.AddCodepoints(10000);
}
break;
case"already_guessed":
WriteLine("Already guessed!");
break;
default:
if(guess.ToLower()=="jonathan ladouceur")
{
API.CreateInfoboxSession("Terminal","Terminal has performed a terrorist operation and must be taken out back and shot. Reason: NOT OK.",infobox.InfoboxMode.Info);
//insert story here
this.Close();
API.RemoveCodepoints(10);
}
else
{
WriteLine("Not a valid guess!");
}
break;
}
}
boolHacking=false;
privateControlobjToWriteTo=null;
privatestringUpgradeToHack=null;
publicvoidStartHackingSession(stringid)
{
UpgradeToHack=id;
objToWriteTo=txtterm;
Hacking=true;
txtterm.ReadOnly=true;
WriteLine("To continue, choose which way you ");
WriteLine("would like to go about this. ");
WriteLine(" ");
WriteLine("1. Go it alone. ");
WriteLine("2. Hire someone. ");
WriteLine(" ");
WriteLine("Press the key that corresponds to ");
WriteLine("the option you want. ");
}
publicvoidshowhackinghelp()
{
WriteLine(" - Hacking - ");
WriteLine(Environment.NewLine+"Hacking allows you to gain more features and upgrades by unlocking more of the OS's capabilities.");
WriteLine(Environment.NewLine+"There are two ways you can execute a hack:");
WriteLine(" - On your own: It'll take skill, and time, but if you have the correct tools you can do it on your own.");
WriteLine(" - With a more competent partner: You have the option of employing a partner from a list of various hackers. The speed and success of the hack depends on their skill, and how fast they can pull it off. You will need to pay them a fee of Codepoints however. They can also grant you tools to do it on your own.");
WriteLine(Environment.NewLine+"Some hacks are capable of:");
WriteLine(" - Decreasing or increasing the price of Shiftorium Upgrades");
WriteLine(" - Decreasing or increasing the amount of Codepoints earned by doing various tasks.");
WriteLine(" - Unlocking more upgrades.");
WriteLine(Environment.NewLine+"To start a hack, go to a locked or empty Shiftorium category and click the \"Hack It\" button.");
API.Upgrades["hacking"]=true;
}
publicvoidshowhelp(stringtopic)
{
switch(topic)
{
case"hacking":
showhackinghelp();
break;
default:
WriteLine("No help available for this topic. Try 'help' for general help.");
txtterm.Text=txtterm.Text+"DevX: Hi, my name is DevX and you are now using an early version of my operating system \"ShiftOS\"."+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case22:
txtterm.Text=txtterm.Text+"DevX: Currently the terminal is open and I am using it to communicate with you remotely."+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case28:
txtterm.Text=txtterm.Text+"DevX: ShiftOS is going to be the most revolutionary operating system in the world that will run on every electronic device you can think of."+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case36:
txtterm.Text=txtterm.Text+"DevX: I can't tell you much about my future plans right now but if you can help me then I may tell you more in future"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case44:
txtterm.Text=txtterm.Text+"DevX: ShiftOS is barely usable in it's current state so I need you to help me evolve it using codepoints"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case50:
txtterm.Text=txtterm.Text+"DevX: Once you acquire codepoints you can use them to upgrade certain components of ShiftOS or add new software"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case59:
txtterm.Text=txtterm.Text+"DevX: I'll close the terminal now and send you to the blank ShiftOS desktop"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case65:
txtterm.Text=txtterm.Text+"DevX: You can open and close the terminal at any time by pressing CTRL + T"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case70:
txtterm.Text=txtterm.Text+"DevX: Once you are on the desktop open the terminal, type \"help\" and then press enter for a guide on using ShiftOS"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case80:
txtterm.Text=txtterm.Text+"DevX: Gotta run now but I'll contact you soon to see how you are going with evolving ShiftOS for me while I... Work on something else"+Environment.NewLine+"User@ShiftOS $> ";
API.PlaySound(Properties.Resources.writesound);
break;
case89:
txtterm.Text=txtterm.Text+"DevX: Remember to always click the black desktop first and then press press CTRL + T to open the terminal otherwise the terminal won't open!"+Environment.NewLine+"User@ShiftOS $> ";