aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.WinForms/HackerCommands.cs
diff options
context:
space:
mode:
authorAShifter <[email protected]>2017-06-05 09:49:46 -0600
committerAShifter <[email protected]>2017-06-05 09:49:46 -0600
commit61c906e596145bbedd60725c6dcee68c34a27907 (patch)
treecd7a00d501affe96028bfb21a8dec90c2ee63f2c /ShiftOS.WinForms/HackerCommands.cs
parent66ea2cf2fdeeaa025bd22961a0400423233c505d (diff)
parent3e11eca70481841b6e2f2253d667944779cfd5fb (diff)
downloadshiftos_thereturn-61c906e596145bbedd60725c6dcee68c34a27907.tar.gz
shiftos_thereturn-61c906e596145bbedd60725c6dcee68c34a27907.tar.bz2
shiftos_thereturn-61c906e596145bbedd60725c6dcee68c34a27907.zip
Merge remote-tracking branch 'refs/remotes/shiftos-game/master'
Diffstat (limited to 'ShiftOS.WinForms/HackerCommands.cs')
-rw-r--r--ShiftOS.WinForms/HackerCommands.cs40
1 files changed, 35 insertions, 5 deletions
diff --git a/ShiftOS.WinForms/HackerCommands.cs b/ShiftOS.WinForms/HackerCommands.cs
index 86981f4..316b7fc 100644
--- a/ShiftOS.WinForms/HackerCommands.cs
+++ b/ShiftOS.WinForms/HackerCommands.cs
@@ -2,12 +2,14 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json;
using ShiftOS.Engine;
using ShiftOS.Objects;
+using ShiftOS.Objects.ShiftFS;
using ShiftOS.WinForms.Applications;
using static ShiftOS.Objects.ShiftFS.Utils;
@@ -107,7 +109,7 @@ namespace ShiftOS.WinForms
Thread.Sleep(2000);
writeSlow($"Hello there, fellow multi-user domain user.");
writeSlow("My name, as you can tell, is hacker101.");
- writeSlow("And yours must be... don't say it... it's " + SaveSystem.CurrentSave.Username + "@" + SaveSystem.CurrentSave.SystemName + ", right?");
+ writeSlow("And yours must be... don't say it... it's " + SaveSystem.CurrentUser.Username + "@" + SaveSystem.CurrentSave.SystemName + ", right?");
writeSlow("Of course it is.");
writeSlow("And I bet you 10,000 Codepoints that you have... " + SaveSystem.CurrentSave.Codepoints.ToString() + " Codepoints.");
writeSlow("Oh, and how much upgrades have you installed since you first started using ShiftOS?");
@@ -135,7 +137,7 @@ namespace ShiftOS.WinForms
Console.Write(" ..done");
TerminalBackend.InStory = false;
TerminalBackend.PrefixEnabled = true;
- Console.Write($"{SaveSystem.CurrentSave.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ");
+ Console.Write($"{SaveSystem.CurrentUser.Username}@{SaveSystem.CurrentSave.SystemName}:~$ ");
StartHackerTutorial();
TerminalBackend.PrefixEnabled = true;
TerminalBackend.PrintPrompt();
@@ -454,7 +456,7 @@ namespace ShiftOS.WinForms
var sve = JsonConvert.DeserializeObject<Save>(msg.Contents);
if(sve.Password == pass)
{
- Console.WriteLine("Username: " + sve.Username);
+ Console.WriteLine("Username: " + SaveSystem.CurrentUser.Username);
Console.WriteLine("Password: " + sve.Password);
Console.WriteLine("System name: " + sve.SystemName);
Console.WriteLine();
@@ -504,7 +506,7 @@ namespace ShiftOS.WinForms
string usr = args["user"].ToString();
string sys = args["sys"].ToString();
string pass = args["pass"].ToString();
- long amount = (long)args["amount"];
+ ulong amount = (ulong)args["amount"];
if(amount < 0)
{
Console.WriteLine("--invalid codepoint amount - halting...");
@@ -531,7 +533,7 @@ namespace ShiftOS.WinForms
}
sve.Codepoints -= amount;
- SaveSystem.TransferCodepointsFrom(sve.Username, amount);
+ SaveSystem.TransferCodepointsFrom(SaveSystem.CurrentUser.Username, amount);
ServerManager.SendMessage("mud_save_allow_dead", JsonConvert.SerializeObject(sve));
SaveSystem.SaveGame();
}
@@ -674,6 +676,34 @@ namespace ShiftOS.WinForms
return true;
}
+ [Command("list", description ="Lists all story IDs.")]
+ public static bool ListIds()
+ {
+ foreach(var exec in System.IO.Directory.GetFiles(Environment.CurrentDirectory))
+ {
+ if(exec.ToLower().EndsWith(".exe") || exec.ToLower().EndsWith(".dll"))
+ {
+ try
+ {
+ var asm = Assembly.LoadFile(exec);
+ {
+ foreach(var type in asm.GetTypes())
+ {
+ foreach(var method in type.GetMethods(BindingFlags.Public | BindingFlags.Static))
+ {
+ var attr = method.GetCustomAttributes(false).FirstOrDefault(x => x is StoryAttribute);
+ if (attr != null)
+ Console.WriteLine(" - " + (attr as StoryAttribute).StoryID);
+ }
+ }
+ }
+ }
+ catch { }
+ }
+ }
+ return true;
+ }
+
[Command("unexperience", description = "Marks a story plot as not-experienced yet.", usage ="id:string")]
[RemoteLock]
[RequiresArgument("id")]