diff options
| -rw-r--r-- | ShiftOS.MFSProfiler/Main.Designer.cs (renamed from ShiftOS.MFSProfiler/Form1.Designer.cs) | 2 | ||||
| -rw-r--r-- | ShiftOS.MFSProfiler/Main.cs (renamed from ShiftOS.MFSProfiler/Form1.cs) | 4 | ||||
| -rw-r--r-- | ShiftOS.MFSProfiler/Main.resx (renamed from ShiftOS.MFSProfiler/Form1.resx) | 0 | ||||
| -rw-r--r-- | ShiftOS.MFSProfiler/Program.cs | 2 | ||||
| -rw-r--r-- | ShiftOS.MFSProfiler/ShiftOS.MFSProfiler.csproj | 10 | ||||
| -rw-r--r-- | ShiftOS.Objects/ClientSave.cs | 14 | ||||
| -rw-r--r-- | ShiftOS.Objects/Exploit.cs | 38 | ||||
| -rw-r--r-- | ShiftOS.Objects/ExploitContext.cs | 38 | ||||
| -rw-r--r-- | ShiftOS.Objects/Hack.cs | 60 | ||||
| -rw-r--r-- | ShiftOS.Objects/Legion.cs | 39 | ||||
| -rw-r--r-- | ShiftOS.Objects/Objects.cs | 78 | ||||
| -rw-r--r-- | ShiftOS.Objects/Save.cs | 48 | ||||
| -rw-r--r-- | ShiftOS.Objects/ShiftOS.Objects.csproj | 5 |
13 files changed, 193 insertions, 145 deletions
diff --git a/ShiftOS.MFSProfiler/Form1.Designer.cs b/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 { /// <summary> /// Required designer variable. diff --git a/ShiftOS.MFSProfiler/Form1.cs b/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 index 1af7de1..1af7de1 100644 --- a/ShiftOS.MFSProfiler/Form1.resx +++ b/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 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> - <Compile Include="Form1.cs"> + <Compile Include="Main.cs"> <SubType>Form</SubType> </Compile> - <Compile Include="Form1.Designer.cs"> - <DependentUpon>Form1.cs</DependentUpon> + <Compile Include="Main.Designer.cs"> + <DependentUpon>Main.cs</DependentUpon> </Compile> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> - <EmbeddedResource Include="Form1.resx"> - <DependentUpon>Form1.cs</DependentUpon> + <EmbeddedResource Include="Main.resx"> + <DependentUpon>Main.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> 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(); + } + + /// <summary> + /// Gets or sets whether or not this exploit context belongs to a MUD hack session. + /// </summary> + public bool IsMUDHack { get; set; } + + /// <summary> + /// Gets or sets the target username for this exploit context. Used for talking with the MUD about it. + /// </summary> + public string TargetUsername { get; set; } + + /// <summary> + /// Gets or sets the target's locks. + /// </summary> + public List<Lock> 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(); - } - - /// <summary> - /// Gets or sets whether or not this exploit context belongs to a MUD hack session. - /// </summary> - public bool IsMUDHack { get; set; } - - /// <summary> - /// Gets or sets the target username for this exploit context. Used for talking with the MUD about it. - /// </summary> - public string TargetUsername { get; set; } - - /// <summary> - /// Gets or sets the target's locks. - /// </summary> - public List<Lock> 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<string, LegionRole> Roles { get; set; } + public Dictionary<LegionRole, string> 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<string, LegionRole> Roles { get; set; } - public Dictionary<LegionRole, string> 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<string, bool> Upgrades { get; set; } - public int StoryPosition { get; set; } - public string Language { get; set; } - - public List<string> 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; } - - /// <summary> - /// 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 - /// </summary> - 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<string, bool> Upgrades { get; set; } + public int StoryPosition { get; set; } + public string Language { get; set; } + + public List<string> 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; } + + /// <summary> + /// 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 + /// </summary> + 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 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <Compile Include="ClientSave.cs" /> <Compile Include="DiscourseUser.cs" /> + <Compile Include="Exploit.cs" /> + <Compile Include="ExploitContext.cs" /> <Compile Include="Hack.cs" /> + <Compile Include="Legion.cs" /> <Compile Include="Objects.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Save.cs" /> <Compile Include="ShiftFS.cs" /> <Compile Include="ShiftOSMenuRenderer.cs" /> </ItemGroup> |
