diff options
Diffstat (limited to 'ShiftOS.WinForms/Viruses')
| -rw-r--r-- | ShiftOS.WinForms/Viruses/CPLeach.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ShiftOS.WinForms/Viruses/CPLeach.cs b/ShiftOS.WinForms/Viruses/CPLeach.cs new file mode 100644 index 0000000..0d82187 --- /dev/null +++ b/ShiftOS.WinForms/Viruses/CPLeach.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ShiftOS.Engine; + +namespace ShiftOS.WinForms.Viruses +{ + public class CPLeach : IVirus + { + public System.Windows.Forms.Timer Timer = null; + + public void Infect(int threatlevel) + { + Timer = new System.Windows.Forms.Timer(); + Timer.Interval = 6000; + Timer.Tick += (o, a) => + { + ulong codepointDecrease = (ulong)threatlevel * 4; + if (SaveSystem.CurrentSave.Codepoints >= codepointDecrease) + SaveSystem.CurrentSave.Codepoints -= codepointDecrease; + else + SaveSystem.CurrentSave.Codepoints = 0; + }; + Timer.Start(); + } + + public void Disinfect() + { + Timer.Stop(); + } + } +} |
