diff --git a/ShiftOS.MFSProfiler/Form1.Designer.cs b/ShiftOS.MFSProfiler/Main.Designer.cs similarity index 99% rename from ShiftOS.MFSProfiler/Form1.Designer.cs rename to ShiftOS.MFSProfiler/Main.Designer.cs index 2fbdb4a..85f1310 100644 --- a/ShiftOS.MFSProfiler/Form1.Designer.cs +++ b/ShiftOS.MFSProfiler/Main.Designer.cs @@ -24,7 +24,7 @@ namespace ShiftOS.MFSProfiler { - partial class Form1 + partial class Main { /// /// Required designer variable. diff --git a/ShiftOS.MFSProfiler/Form1.cs b/ShiftOS.MFSProfiler/Main.cs similarity index 98% rename from ShiftOS.MFSProfiler/Form1.cs rename to ShiftOS.MFSProfiler/Main.cs index 2262fa2..dbfe276 100644 --- a/ShiftOS.MFSProfiler/Form1.cs +++ b/ShiftOS.MFSProfiler/Main.cs @@ -39,9 +39,9 @@ using System.Threading; namespace ShiftOS.MFSProfiler { - public partial class Form1 : Form + public partial class Main : Form { - public Form1() + public Main() { InitializeComponent(); SetupTree(); diff --git a/ShiftOS.MFSProfiler/Form1.resx b/ShiftOS.MFSProfiler/Main.resx similarity index 100% rename from ShiftOS.MFSProfiler/Form1.resx rename to ShiftOS.MFSProfiler/Main.resx diff --git a/ShiftOS.MFSProfiler/Program.cs b/ShiftOS.MFSProfiler/Program.cs index ef34d38..b30e7eb 100644 --- a/ShiftOS.MFSProfiler/Program.cs +++ b/ShiftOS.MFSProfiler/Program.cs @@ -40,7 +40,7 @@ namespace ShiftOS.MFSProfiler { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); + Application.Run(new Main()); } } } diff --git a/ShiftOS.MFSProfiler/ShiftOS.MFSProfiler.csproj b/ShiftOS.MFSProfiler/ShiftOS.MFSProfiler.csproj index ce02df2..6e98065 100644 --- a/ShiftOS.MFSProfiler/ShiftOS.MFSProfiler.csproj +++ b/ShiftOS.MFSProfiler/ShiftOS.MFSProfiler.csproj @@ -46,16 +46,16 @@ - + Form - - Form1.cs + + Main.cs - - Form1.cs + + Main.cs ResXFileCodeGenerator diff --git a/ShiftOS.Objects/ClientSave.cs b/ShiftOS.Objects/ClientSave.cs new file mode 100644 index 0000000..08f7a09 --- /dev/null +++ b/ShiftOS.Objects/ClientSave.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects +{ + public class ClientSave + { + public string Username { get; set; } + public string Password { get; set; } + } +} diff --git a/ShiftOS.Objects/Exploit.cs b/ShiftOS.Objects/Exploit.cs new file mode 100644 index 0000000..7b220f1 --- /dev/null +++ b/ShiftOS.Objects/Exploit.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects +{ + public abstract class Exploit + { + public void BeginExploit(string remote_user, bool isMud) + { + var ctx = new ExploitContext(); + SendToMUD(remote_user, "hack_getcontext"); + MessageReceived += (u, c, j) => + { + + }; + ThisContext = ctx; + } + + public ExploitContext ThisContext { get; internal set; } + + public virtual void SendToMUD(string target_user, string command, string json = "") + { + ThisContext.IsMUDHack = false; + if (command == "hack_getcontext") + { + MessageReceived?.Invoke(target_user, "context_info", ExploitContext.CreateRandom()); + } + } + + public event MUDMessageEventHandler MessageReceived; + + + public abstract void OnRun(ExploitContext ctx); + } +} diff --git a/ShiftOS.Objects/ExploitContext.cs b/ShiftOS.Objects/ExploitContext.cs new file mode 100644 index 0000000..5d8f378 --- /dev/null +++ b/ShiftOS.Objects/ExploitContext.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects +{ + public class ExploitContext + { + public static string CreateRandom() + { + //We can't use JSON.NET. We must construct the JSON ourselves. + StringBuilder jBuilder = new StringBuilder(); + jBuilder.AppendLine("{"); + jBuilder.Append("\tIsMUDHack: \"false\","); + + jBuilder.AppendLine("}"); + return jBuilder.ToString(); + } + + /// + /// Gets or sets whether or not this exploit context belongs to a MUD hack session. + /// + public bool IsMUDHack { get; set; } + + /// + /// Gets or sets the target username for this exploit context. Used for talking with the MUD about it. + /// + public string TargetUsername { get; set; } + + /// + /// Gets or sets the target's locks. + /// + public List TargetLocks { get; set; } + + } +} diff --git a/ShiftOS.Objects/Hack.cs b/ShiftOS.Objects/Hack.cs index 0884a53..c1791ec 100644 --- a/ShiftOS.Objects/Hack.cs +++ b/ShiftOS.Objects/Hack.cs @@ -30,67 +30,11 @@ using System.Threading.Tasks; namespace ShiftOS.Objects { - public abstract class Exploit - { - public void BeginExploit(string remote_user, bool isMud) - { - var ctx = new ExploitContext(); - SendToMUD(remote_user, "hack_getcontext"); - MessageReceived += (u, c, j) => - { - - }; - ThisContext = ctx; - } - - public ExploitContext ThisContext { get; internal set; } - - public virtual void SendToMUD(string target_user, string command, string json = "") - { - ThisContext.IsMUDHack = false; - if (command == "hack_getcontext") - { - MessageReceived?.Invoke(target_user, "context_info", ExploitContext.CreateRandom()); - } - } - - public event MUDMessageEventHandler MessageReceived; - - - public abstract void OnRun(ExploitContext ctx); - } + public delegate void MUDMessageEventHandler(string target_user, string command, string json); - public class ExploitContext - { - public static string CreateRandom() - { - //We can't use JSON.NET. We must construct the JSON ourselves. - StringBuilder jBuilder = new StringBuilder(); - jBuilder.AppendLine("{"); - jBuilder.Append("\tIsMUDHack: \"false\","); - - jBuilder.AppendLine("}"); - return jBuilder.ToString(); - } - - /// - /// Gets or sets whether or not this exploit context belongs to a MUD hack session. - /// - public bool IsMUDHack { get; set; } - - /// - /// Gets or sets the target username for this exploit context. Used for talking with the MUD about it. - /// - public string TargetUsername { get; set; } - - /// - /// Gets or sets the target's locks. - /// - public List TargetLocks { get; set; } - - } + public abstract class Lock { diff --git a/ShiftOS.Objects/Legion.cs b/ShiftOS.Objects/Legion.cs new file mode 100644 index 0000000..0bd4d37 --- /dev/null +++ b/ShiftOS.Objects/Legion.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects +{ + public enum LegionRole + { + Admin, + Manager, + Committed, + Trainee, + AwaitingInvite + } + + public enum LegionPublicity + { + Public, //Will display on the 'Join Legion' page, anyone can join + PublicInviteOnly, //Will display on the 'Join Legion' page but you must be invited + Unlisted, //Won't display on 'Join Legion', but anyone can join + UnlistedInviteOnly //Won't display in 'Join Legion', and admin/manager invitation is required. + } + + public class Legion + { + public string Name { get; set; } + public LegionPublicity Publicity { get; set; } + public ConsoleColor BannerColor { get; set; } + public string Description { get; set; } + public string ShortName { get; set; } + + public Dictionary Roles { get; set; } + public Dictionary RoleNames { get; set; } + + + } +} diff --git a/ShiftOS.Objects/Objects.cs b/ShiftOS.Objects/Objects.cs index 4c1abcc..bcd476f 100644 --- a/ShiftOS.Objects/Objects.cs +++ b/ShiftOS.Objects/Objects.cs @@ -30,37 +30,6 @@ using System.Threading.Tasks; namespace ShiftOS.Objects { - public enum LegionRole - { - Admin, - Manager, - Committed, - Trainee, - AwaitingInvite - } - - public enum LegionPublicity - { - Public, //Will display on the 'Join Legion' page, anyone can join - PublicInviteOnly, //Will display on the 'Join Legion' page but you must be invited - Unlisted, //Won't display on 'Join Legion', but anyone can join - UnlistedInviteOnly //Won't display in 'Join Legion', and admin/manager invitation is required. - } - - public class Legion - { - public string Name { get; set; } - public LegionPublicity Publicity { get; set; } - public ConsoleColor BannerColor { get; set; } - public string Description { get; set; } - public string ShortName { get; set; } - - public Dictionary Roles { get; set; } - public Dictionary RoleNames { get; set; } - - - } - public class MUDMemo { public string UserFrom { get; set; } @@ -70,12 +39,6 @@ namespace ShiftOS.Objects public string Subject { get; set; } } - public class ClientSave - { - public string Username { get; set; } - public string Password { get; set; } - } - public enum MemoType { Regular, @@ -121,45 +84,4 @@ namespace ShiftOS.Objects public string Contents { get; set; } public string GUID { get; set; } } - - //Better to store this stuff server-side so we can do some neat stuff with hacking... - public class Save - { - public string Username { get; set; } - public int Codepoints { get; set; } - public Dictionary Upgrades { get; set; } - public int StoryPosition { get; set; } - public string Language { get; set; } - - public List CurrentLegions { get; set; } - - public int MajorVersion { get; set; } - public int MinorVersion { get; set; } - public int Revision { get; set; } - - public string Password { get; set; } - public string SystemName { get; set; } - - public string DiscourseName { get; set; } - - /// - /// If the user has entered their Discourse account into ShiftOS, this is the password they gave. - /// - /// ANY developer caught abusing this property will have their dev status revoked and their account PERMANENTLY SUSPENDED. - Michael - /// - public string DiscoursePass { get; set; } - - - public int CountUpgrades() - { - int count = 0; - foreach (var upg in Upgrades) - { - if (upg.Value == true) - count++; - } - return count; - } - } - } diff --git a/ShiftOS.Objects/Save.cs b/ShiftOS.Objects/Save.cs new file mode 100644 index 0000000..ff4bf53 --- /dev/null +++ b/ShiftOS.Objects/Save.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects +{ + //Better to store this stuff server-side so we can do some neat stuff with hacking... + public class Save + { + public string Username { get; set; } + public int Codepoints { get; set; } + public Dictionary Upgrades { get; set; } + public int StoryPosition { get; set; } + public string Language { get; set; } + + public List CurrentLegions { get; set; } + + public int MajorVersion { get; set; } + public int MinorVersion { get; set; } + public int Revision { get; set; } + + public string Password { get; set; } + public string SystemName { get; set; } + + public string DiscourseName { get; set; } + + /// + /// If the user has entered their Discourse account into ShiftOS, this is the password they gave. + /// + /// ANY developer caught abusing this property will have their dev status revoked and their account PERMANENTLY SUSPENDED. - Michael + /// + public string DiscoursePass { get; set; } + + + public int CountUpgrades() + { + int count = 0; + foreach (var upg in Upgrades) + { + if (upg.Value == true) + count++; + } + return count; + } + } +} diff --git a/ShiftOS.Objects/ShiftOS.Objects.csproj b/ShiftOS.Objects/ShiftOS.Objects.csproj index 84d7ea8..adbe161 100644 --- a/ShiftOS.Objects/ShiftOS.Objects.csproj +++ b/ShiftOS.Objects/ShiftOS.Objects.csproj @@ -54,10 +54,15 @@ + + + + +