diff --git a/ShiftOS.Frontend/Properties/Resources.Designer.cs b/ShiftOS.Frontend/Properties/Resources.Designer.cs
index dfc728e..0815696 100644
--- a/ShiftOS.Frontend/Properties/Resources.Designer.cs
+++ b/ShiftOS.Frontend/Properties/Resources.Designer.cs
@@ -70,27 +70,6 @@ namespace ShiftOS.Frontend.Properties {
}
}
- ///
- /// Looks up a localized string similar to /* ShiftOS Exploits data file
- /// *
- /// * This file contains information about all exploits in the game's campaign.
- /// *
- /// */
- ///
- ///[
- /// {
- /// FriendlyName: "FTP Exploit",
- /// ExploitName: "ftpwn"
- /// EffectiveAgainstPort: "FileServer",
- /// }
- ///].
- ///
- public static string Exploits {
- get {
- return ResourceManager.GetString("Exploits", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to /* ShiftOS hackables data file
/// *
@@ -105,7 +84,7 @@ namespace ShiftOS.Frontend.Properties {
/// Password: "h0ldy0urc0l0ur",
/// PasswordHint: "Prepare to hold your colour...",
/// WelcomeMessage: "Don't make fun of SpamSyndicate web design.",
- /// FirewallStrength: 1,
+ /// FirewallStrength: 0,
/// LootRarity: 1,
/// LootAmount: 4,
/// ConnectionTimeoutLevel: 4,
@@ -151,9 +130,16 @@ namespace ShiftOS.Frontend.Properties {
///[
/// {
/// FriendlyName: "FTP Payload",
- /// PayloadName: "ftpull"
+ /// PayloadName: "ftpull",
/// EffectiveAgainstFirewall: 1,
/// EffectiveAgainst: "FileServer",
+ /// },
+ /// {
+ /// FriendlyName: "Ping Spam",
+ /// PayloadName: "keepalive",
+ /// EffectiveAgainstFirewall: 1,
+ /// EffectiveAgainst: "SSHServer",
+ /// Function: 1,
/// }
///].
///
@@ -173,26 +159,26 @@ namespace ShiftOS.Frontend.Properties {
///[
/// {
/// FriendlyName: "SMTP mailserver (unencrypted)",
- /// AttachTo: "EmailServer"
+ /// AttachTo: "EmailServer",
/// Value: 25,
/// Name: "smtp",
/// },
/// {
/// FriendlyName: "File Transfer Protocol",
- /// AttachTo: "FileServer"
+ /// AttachTo: "FileServer",
/// Value: 21,
/// Name: "ftp",
/// },
/// {
/// FriendlyName: "ShiftSSH server",
- /// AttachTo: "SSHServer"
+ /// AttachTo: "SSHServer",
/// Value: 22,
/// Name: "ssh",
/// },
/// {
/// FriendlyName: "MySQL server",
- /// AttachTo: "Database"
- /// Val [rest of string was truncated]";.
+ /// AttachTo: "Database",
+ /// [rest of string was truncated]";.
///
public static string Ports {
get {
diff --git a/ShiftOS.Frontend/Resources/Exploits.txt b/ShiftOS.Frontend/Resources/Exploits.txt
index 4ad6caf..a3fa2fc 100644
--- a/ShiftOS.Frontend/Resources/Exploits.txt
+++ b/ShiftOS.Frontend/Resources/Exploits.txt
@@ -8,11 +8,12 @@
{
FriendlyName: "FTP Exploit",
ExploitName: "ftpwn",
- EffectiveAgainstPort: "FileServer",
+ EffectiveAgainstPort: "FileServer"
},
{
FriendlyName: "SSH Exploit",
ExploitName: "sshardline",
EffectiveAgainstPort: "SSHServer",
+ Dependencies: "sploitset_sshardline"
}
]
\ No newline at end of file
diff --git a/ShiftOS.Frontend/Resources/LootInfo.txt b/ShiftOS.Frontend/Resources/LootInfo.txt
index 361bab9..ff2784d 100644
--- a/ShiftOS.Frontend/Resources/LootInfo.txt
+++ b/ShiftOS.Frontend/Resources/LootInfo.txt
@@ -1,3 +1,20 @@
-//Loot information table
+/* ShiftOS Loot data file
+ *
+ * This file contains information about all loot in the game's campaign.
+ *
+ */
-[]
\ No newline at end of file
+[
+ {
+ FriendlyName: "Force Heartbeat",
+ LootName: "sploitset_keepalive",
+ Rarity: 1,
+ PointTo: "sploitset_keepalive",
+ },
+ {
+ FriendlyName: "SSHardline",
+ LootName: "sploitset_sshardline",
+ Rarity: 1,
+ PointTo: "sploitset_sshardline",
+ }
+]
\ No newline at end of file
diff --git a/ShiftOS.Frontend/Resources/Payloads.txt b/ShiftOS.Frontend/Resources/Payloads.txt
index 37eace6..d203158 100644
--- a/ShiftOS.Frontend/Resources/Payloads.txt
+++ b/ShiftOS.Frontend/Resources/Payloads.txt
@@ -9,13 +9,14 @@
FriendlyName: "FTP Payload",
PayloadName: "ftpull",
EffectiveAgainstFirewall: 1,
- EffectiveAgainst: "FileServer",
+ EffectiveAgainst: "FileServer"
},
{
- FriendlyName: "Ping Spam",
+ FriendlyName: "Force Heartbeat",
PayloadName: "keepalive",
EffectiveAgainstFirewall: 1,
EffectiveAgainst: "SSHServer",
Function: 1,
+ Dependencies: "sploitset_keepalive"
}
]
\ No newline at end of file
diff --git a/ShiftOS.Frontend/Resources/Shiftorium.txt b/ShiftOS.Frontend/Resources/Shiftorium.txt
index 0637a08..55368b3 100644
--- a/ShiftOS.Frontend/Resources/Shiftorium.txt
+++ b/ShiftOS.Frontend/Resources/Shiftorium.txt
@@ -1 +1,14 @@
-[]
\ No newline at end of file
+[
+ }
+ Name: "sploitset_keepalive",
+ Cost: 1000000000,
+ Description: "lolyouarentsupposedtobeabletobuythis",
+ Dependencies: "thisupgradeshouldneverexistever;sploitset_sshardline",
+ },
+ }
+ Name: "sploitset_sshardline",
+ Cost: 1000000000,
+ Description: "lolyouarentsupposedtobeabletobuythis",
+ Dependencies: "thisupgradeshouldneverexistever",
+ }
+]
\ No newline at end of file
diff --git a/ShiftOS.Objects/Hacking/Loot.cs b/ShiftOS.Objects/Hacking/Loot.cs
new file mode 100644
index 0000000..47c91e4
--- /dev/null
+++ b/ShiftOS.Objects/Hacking/Loot.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ShiftOS.Objects
+{
+ public class Loot
+ {
+ public string FriendlyName { get; set; }
+ public string LootName { get; set; }
+ public int Rarity { get; set; }
+ public string PointTo { get; set; }
+
+ public string ID
+ {
+ get
+ {
+ return LootName.ToLower().Replace(" ", "_");
+ }
+ }
+
+ public override string ToString()
+ {
+ return $"{FriendlyName} ({LootName})";
+ }
+ }
+
+}