ShiftOS_TheReturn/ShiftOS.Objects/Hacking/Hackable.cs

83 lines
1.9 KiB
C#
Raw Normal View History

2017-07-14 01:30:04 +00:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ShiftOS.Objects
{
public class Hackable
{
public string SystemName { get; set; }
public string FriendlyName { get; set; }
public string Password { get; set; }
public string PasswordHint { get; set; }
public string WelcomeMessage { get; set; }
2017-07-27 16:03:55 +00:00
public string Description { get; set; }
2017-07-14 01:30:04 +00:00
public int FirewallStrength { get; set; }
public int LootRarity { get; set; }
public int LootAmount { get; set; }
public int ConnectionTimeoutLevel { get; set; }
2017-07-27 16:03:55 +00:00
public int LockTier { get; set; }
2017-07-14 01:30:04 +00:00
public SystemType SystemType { get; set; }
public string OnHackCompleteStoryEvent { get; set; }
public string OnHackFailedStoryEvent { get; set; }
2017-07-14 01:30:04 +00:00
public string Dependencies { get; set; }
public string ID
{
get
{
return SystemName.ToLower().Replace(" ", "_");
}
}
2017-07-27 16:03:55 +00:00
public override string ToString()
{
return $"{FriendlyName} ({SystemName})";
}
2017-07-14 01:30:04 +00:00
}
[Flags]
public enum SystemType
{
FileServer,
SSHServer,
EmailServer,
Database
}
[Serializable]
public class ServerMessage
{
public string Name { get; set; }
public string GUID { get; set; }
public string Contents { get; set; }
}
public class LootInfo
{
public string Filename { get; set; }
public string ResourceId { get; set; }
public int Rarity { get; set; }
}
public class Loot
{
public Loot(LootInfo info, byte[] data)
{
Data = data;
Info = info;
}
public LootInfo Info { get; private set; }
public byte[] Data { get; private set; }
}
2017-07-14 01:30:04 +00:00
}