aboutsummaryrefslogtreecommitdiff
path: root/Viruses.vb
blob: c5c70b863dab179f13d2339c5d47394e7c65f392 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
Module Viruses
    'Zero Varibles
    Public WithEvents zerogravitytimer As New Timer
    Public zerogravity As Boolean = True
    Public zerogravitythreatlevel As Integer = 1
    Public zerogravityxspeed(20) As Integer
    Public zerogravityyspeed(20) As Integer
    Public zerogravityspeedth1 = 1
    Public zerogravityspeedth2 = 2
    Public zerogravityspeedth3 = 4
    Public zerogravityspeedth4 = 8


    'Mouse Trap Varibles
    Public WithEvents mousetraptimer As New Timer
    Public WithEvents cooldowntraptimer As New Timer
    Public mousetrap As Boolean = True
    Public mousetrapthreatlevel As Integer = 1
    Public mousetraped As Boolean = False
    Public bangstoescape As Integer = 20
    Public trappedwindow As Integer = 0
    Public bangvelocity As Integer
    Public bangforceneeded As Integer = 30
    Public trapcooldown As Integer = 20
    Public trap1 As Boolean = False
    Public trap2 As Boolean = False
    Public trap3 As Boolean = False
    Public trap4 As Boolean = False
    Public alreadytrapped As Boolean = False
    Public trappedprogram As Form
    Public bangstoescapeth1 As Integer = 20
    Public bangstoescapeth2 As Integer = 40
    Public bangstoescapeth3 As Integer = 60
    Public bangstoescapeth4 As Integer = 80
    Public bangforceneeded1 As Integer = 30
    Public bangforceneeded2 As Integer = 50
    Public bangforceneeded3 As Integer = 80
    Public bangforceneeded4 As Integer = 120
    Public trapcooldown1 As Integer = 60
    Public trapcooldown2 As Integer = 30
    Public trapcooldown3 As Integer = 15
    Public trapcooldown4 As Integer = 10

    'Beeper Varibles
    Public WithEvents beepertimer As New Timer
    Public beeper As Boolean = True
    Public beeperthreatlevel As Integer = 1
    Public beepercountdown As Integer
    Dim ResourceFilePath As String
    Dim soundplayer As AxWMPLib.AxWindowsMediaPlayer
    Dim beeperinterval As Integer = 5

    'Zero Virus
    Public Sub setupzerovirus()
        setupzerogravityspeeds()
        zerogravitytimer.Start()
        zerogravitytimer.Interval = 20
    End Sub

    Public Sub setupzerogravityspeeds()
        For i = 0 To 20
            If i Mod 2 <> 0 Then
                Select Case zerogravitythreatlevel
                    Case 1
                        zerogravityxspeed(i) = zerogravityspeedth1
                        zerogravityyspeed(i) = zerogravityspeedth1
                    Case 2
                        zerogravityxspeed(i) = zerogravityspeedth2
                        zerogravityyspeed(i) = zerogravityspeedth2
                    Case 3
                        zerogravityxspeed(i) = zerogravityspeedth3
                        zerogravityyspeed(i) = zerogravityspeedth3
                    Case 4
                        zerogravityxspeed(i) = zerogravityspeedth4
                        zerogravityyspeed(i) = zerogravityspeedth4
                End Select

            Else
                Select Case zerogravitythreatlevel
                    Case 1
                        zerogravityxspeed(i) = -zerogravityspeedth1
                        zerogravityyspeed(i) = -zerogravityspeedth1
                    Case 2
                        zerogravityxspeed(i) = -zerogravityspeedth2
                        zerogravityyspeed(i) = -zerogravityspeedth2
                    Case 3
                        zerogravityxspeed(i) = -zerogravityspeedth3
                        zerogravityyspeed(i) = -zerogravityspeedth3
                    Case 4
                        zerogravityxspeed(i) = -zerogravityspeedth4
                        zerogravityyspeed(i) = -zerogravityspeedth4
                End Select
            End If
        Next
    End Sub

    Public Sub floatingwindows() Handles zerogravitytimer.Tick
        If Knowledge_Input.Visible = True Then calculatelocations(Knowledge_Input, 0)
        If Shiftorium.Visible = True Then calculatelocations(Shiftorium, 1)
        If Clock.Visible = True Then calculatelocations(Clock, 2)
        If Shifter.Visible = True Then calculatelocations(Shifter, 3)
        If Colour_Picker.Visible = True Then calculatelocations(Colour_Picker, 4)
        If infobox.Visible = True Then calculatelocations(infobox, 5)
        If Pong.Visible = True Then calculatelocations(Pong, 6)
        If File_Skimmer.Visible = True Then calculatelocations(File_Skimmer, 7)
        If File_Opener.Visible = True Then calculatelocations(File_Opener, 8)
        If File_Saver.Visible = True Then calculatelocations(File_Saver, 9)
        If TextPad.Visible = True Then calculatelocations(TextPad, 10)
        If Graphic_Picker.Visible = True Then calculatelocations(Graphic_Picker, 11)
        If Skin_Loader.Visible = True Then calculatelocations(Skin_Loader, 12)
        If ArtPad.Visible = True Then calculatelocations(ArtPad, 13)
        If Calculator.Visible = True Then calculatelocations(Calculator, 14)
        If Audio_Player.Visible = True Then calculatelocations(Audio_Player, 15)
        If Web_Browser.Visible = True Then calculatelocations(Web_Browser, 16)
        If Video_Player.Visible = True Then calculatelocations(Video_Player, 17)
        If Name_Changer.Visible = True Then calculatelocations(Name_Changer, 18)
        If Icon_Manager.Visible = True Then calculatelocations(Icon_Manager, 19)
        If Terminal.Visible = True Then calculatelocations(Terminal, 20)
    End Sub

    Public Sub calculatelocations(ByVal program As Form, ByVal number As Integer)
        If zerogravityxspeed(number) > 0 Then
            If (program.Location.X + program.Size.Width) > Screen.PrimaryScreen.Bounds.Width Then
                zerogravityxspeed(number) = zerogravityxspeed(number) * -1
            End If
        End If
        If zerogravityxspeed(number) < 0 Then
            If program.Location.X < 0 Then
                zerogravityxspeed(number) = zerogravityxspeed(number) * -1
            End If
        End If
        If zerogravityyspeed(number) > 0 Then
            If (program.Location.Y + program.Size.Height) > Screen.PrimaryScreen.Bounds.Height Then
                zerogravityyspeed(number) = zerogravityyspeed(number) * -1
            End If
        End If
        If zerogravityyspeed(number) < 0 Then
            If program.Location.Y < 0 Then
                zerogravityyspeed(number) = zerogravityyspeed(number) * -1
            End If
        End If
        program.Location = New Point(program.Location.X + zerogravityxspeed(number), program.Location.Y + zerogravityyspeed(number))
    End Sub

    Public Sub removezerovirus()
        zerogravitytimer.Stop()
        Viruses.zerogravity = False
    End Sub

    'Mouse Trap Virus
    Public Sub setupmousetrapvirus()
        mousetraptimer.Start()
        mousetraptimer.Interval = 20
        cooldowntraptimer.Start()
        cooldowntraptimer.Interval = 1000
        Select Case mousetrapthreatlevel
            Case 1
                trapcooldown = trapcooldown1
                bangforceneeded = bangforceneeded1
                bangstoescape = bangstoescapeth1
            Case 2
                trapcooldown = trapcooldown2
                bangforceneeded = bangforceneeded2
                bangstoescape = bangstoescapeth2
            Case 3
                trapcooldown = trapcooldown3
                bangforceneeded = bangforceneeded3
                bangstoescape = bangstoescapeth3
            Case 4
                trapcooldown = trapcooldown4
                bangforceneeded = bangforceneeded4
                bangstoescape = bangstoescapeth4
        End Select

    End Sub

    Public Sub seeifcantrap(ByVal sender As Object, ByVal e As EventArgs) Handles cooldowntraptimer.Tick
        If trapcooldown < 0 Then
            mousetraped = True
        Else
            trapcooldown = trapcooldown - 1
        End If
    End Sub

    Public Sub trapmouse(ByVal sender As Object, ByVal e As EventArgs) Handles mousetraptimer.Tick
        If mousetraped = True Then
            If alreadytrapped = False Then detectprogramtotrap(Knowledge_Input)
            If alreadytrapped = False Then detectprogramtotrap(Shiftorium)
            If alreadytrapped = False Then detectprogramtotrap(Clock)
            If alreadytrapped = False Then detectprogramtotrap(Shifter)
            If alreadytrapped = False Then detectprogramtotrap(Colour_Picker)
            If alreadytrapped = False Then detectprogramtotrap(infobox)
            If alreadytrapped = False Then detectprogramtotrap(Pong)
            If alreadytrapped = False Then detectprogramtotrap(File_Skimmer)
            If alreadytrapped = False Then detectprogramtotrap(File_Opener)
            If alreadytrapped = False Then detectprogramtotrap(File_Saver)
            If alreadytrapped = False Then detectprogramtotrap(TextPad)
            If alreadytrapped = False Then detectprogramtotrap(Graphic_Picker)
            If alreadytrapped = False Then detectprogramtotrap(Skin_Loader)
            If alreadytrapped = False Then detectprogramtotrap(ArtPad)
            If alreadytrapped = False Then detectprogramtotrap(Calculator)
            If alreadytrapped = False Then detectprogramtotrap(Audio_Player)
            If alreadytrapped = False Then detectprogramtotrap(Web_Browser)
            If alreadytrapped = False Then detectprogramtotrap(Video_Player)
            If alreadytrapped = False Then detectprogramtotrap(Name_Changer)
            If alreadytrapped = False Then detectprogramtotrap(Icon_Manager)
            If alreadytrapped = False Then detectprogramtotrap(Terminal)

            If trappedprogram Is Nothing Then  Else trapmouseinprogram(trappedprogram)
            If bangstoescape < 0 Then
                mousetraped = False
                Select Case mousetrapthreatlevel
                    Case 1
                        trapcooldown = trapcooldown1
                        bangstoescape = bangstoescapeth1
                    Case 2
                        trapcooldown = trapcooldown2
                        bangstoescape = bangstoescapeth2
                    Case 3
                        trapcooldown = trapcooldown3
                        bangstoescape = bangstoescapeth3
                    Case 4
                        trapcooldown = trapcooldown4
                        bangstoescape = bangstoescapeth4
                End Select
                alreadytrapped = False
                trappedprogram = Nothing
            End If
        End If
    End Sub

    Private Sub detectprogramtotrap(ByVal program As Form)
        If program.Visible = True Then
            If Cursor.Position.X < program.Location.X + program.Width - ShiftOSDesktop.windowbordersize Then
                trap1 = True
            End If
            If Cursor.Position.X > program.Location.X + ShiftOSDesktop.windowbordersize Then
                trap2 = True
            End If
            If Cursor.Position.Y > program.Location.Y + ShiftOSDesktop.titlebarheight Then
                trap3 = True
            End If
            If Cursor.Position.Y < program.Location.Y + program.Height - ShiftOSDesktop.windowbordersize Then
                trap4 = True
            End If
            If trap1 = True AndAlso trap2 = True AndAlso trap3 = True AndAlso trap4 = True Then
                alreadytrapped = True
                trappedprogram = program
            End If
        End If
        trap1 = False
        trap2 = False
        trap3 = False
        trap4 = False
    End Sub

    Public Sub trapmouseinprogram(ByVal program As Form)
        If Cursor.Position.X > program.Location.X + program.Width - ShiftOSDesktop.windowbordersize Then
            bangvelocity = Math.Abs(Cursor.Position.X - (program.Location.X + program.Width - ShiftOSDesktop.windowbordersize))
            Cursor.Position = New Point(program.Location.X + program.Width - ShiftOSDesktop.windowbordersize, Cursor.Position.Y)
            If bangvelocity > bangforceneeded Then bangstoescape = bangstoescape - 1
        End If
        If Cursor.Position.X < program.Location.X + ShiftOSDesktop.windowbordersize Then
            bangvelocity = Math.Abs(Cursor.Position.X - (program.Location.X + ShiftOSDesktop.windowbordersize))
            Cursor.Position = New Point(program.Location.X + ShiftOSDesktop.windowbordersize, Cursor.Position.Y)
            If bangvelocity > bangforceneeded Then bangstoescape = bangstoescape - 1
        End If
        If Cursor.Position.Y < program.Location.Y + ShiftOSDesktop.titlebarheight Then
            bangvelocity = Math.Abs(Cursor.Position.Y - (program.Location.Y + ShiftOSDesktop.titlebarheight))
            Cursor.Position = New Point(Cursor.Position.X, program.Location.Y + ShiftOSDesktop.titlebarheight)
            If bangvelocity > bangforceneeded Then bangstoescape = bangstoescape - 1
        End If
        If Cursor.Position.Y > program.Location.Y + program.Height - ShiftOSDesktop.windowbordersize Then
            bangvelocity = Math.Abs(Cursor.Position.Y - (program.Location.Y + program.Height - ShiftOSDesktop.windowbordersize))
            Cursor.Position = New Point(Cursor.Position.X, program.Location.Y + program.Height - ShiftOSDesktop.windowbordersize)
            If bangvelocity > bangforceneeded Then bangstoescape = bangstoescape - 1
        End If
    End Sub

    Public Sub removemousetrapvirus()
        Viruses.mousetrap = False
        mousetraptimer.Stop()
        mousetraped = False
        cooldowntraptimer.Stop()
    End Sub

    'Beeper Virus
    Public Sub setupbeepervirus()
        setupbeeperintervals()
        'If System.Diagnostics.Debugger.IsAttached() Then
        '    ResourceFilePath = System.IO.Path.GetFullPath(Application.StartupPath & "\..\..\resources\")
        'Else
        '    ResourceFilePath = Application.StartupPath & "\resources\"
        'End If
        beepertimer.Start()
        beepertimer.Interval = 500
        beepercountdown = beeperinterval
    End Sub

    Private Sub setupbeeperintervals()
        Select Case beeperthreatlevel
            Case 1 : beeperinterval = 60
            Case 2 : beeperinterval = 24
            Case 3 : beeperinterval = 8
            Case 4 : beeperinterval = 1
        End Select
    End Sub

    Public Sub beepermakesound(ByVal sender As Object, ByVal e As EventArgs) Handles beepertimer.Tick
        If beepercountdown = 0 Then
            My.Computer.Audio.Play(My.Resources._3beepvirus, AudioPlayMode.Background)
            beepercountdown = beeperinterval
        Else
            beepercountdown = beepercountdown - 1
        End If
    End Sub

    Public Sub removebeepervirus()
        Viruses.beeper = False
        beepertimer.Stop()
    End Sub
End Module