diff options
| author | william341 <[email protected]> | 2017-01-08 16:46:53 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-01-08 16:46:53 -0700 |
| commit | 5ba9d870cdf0abeff4f18e4db9bf9ed0c5416cb1 (patch) | |
| tree | 5d4ed70e0c7dd2d70fcb5798489c72b84027673d /ShiftOS.Objects | |
| parent | 65449eda4ce016c1f1e30fb7f6bc56c41b8b0305 (diff) | |
| parent | 6393f91ad1acb2f84ac09f404076a50a2bf84c37 (diff) | |
| download | shiftos_thereturn-5ba9d870cdf0abeff4f18e4db9bf9ed0c5416cb1.tar.gz shiftos_thereturn-5ba9d870cdf0abeff4f18e4db9bf9ed0c5416cb1.tar.bz2 shiftos_thereturn-5ba9d870cdf0abeff4f18e4db9bf9ed0c5416cb1.zip | |
Merge pull request #28 from carverh/master
Moved Stuff into files and made things look better
Diffstat (limited to 'ShiftOS.Objects')
| -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 |
8 files changed, 184 insertions, 136 deletions
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> |
