home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
VO_PPE10.ZIP
/
VOODOO.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-03
|
15KB
|
503 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Integer INTEGER001
Integer INTEGER002
Integer TINTEGER003(6)
Integer TINTEGER004(6)
Integer TINTEGER005(6)
Integer INTEGER006
Integer INTEGER007
String TSTRING001(4)
String STRING002
String STRING003
String TSTRING004(6)
String TSTRING005(2)
String STRING006
String STRING007
String STRING008
;------------------------------------------------------------------------------
STRING006 = "HiT [ENTER] To εXiT"
TSTRING005(1) = "@X0DL@X05aeM @X0De@X05RS @X0DD@X05'eN"
TSTRING005(2) = "@X0DD@X05eN @X0DB@X05'oH @X0DM@X05'iN"
TSTRING001(1) = " aPPLy SPεLL "
TSTRING001(2) = " SεLεCT uSεR "
TSTRING001(3) = " HεLP "
TSTRING001(4) = " QuiT "
TSTRING004(1) = " Head "
TSTRING004(2) = " Arms "
TSTRING004(3) = " Heart "
TSTRING004(4) = " Groin "
TSTRING004(5) = " Knees "
TSTRING004(6) = " Feet "
TINTEGER003(1) = 17
TINTEGER003(2) = 22
TINTEGER003(3) = 19
TINTEGER003(4) = 17
TINTEGER003(5) = 19
TINTEGER003(6) = 22
TINTEGER004(1) = 8
TINTEGER004(2) = 12
TINTEGER004(3) = 11
TINTEGER004(4) = 14
TINTEGER004(5) = 16
TINTEGER004(6) = 19
TINTEGER005(1) = 239
TINTEGER005(2) = 207
TINTEGER005(3) = 207
TINTEGER005(4) = 159
TINTEGER005(5) = 159
TINTEGER005(6) = 143
STRING002 = "NoNε"
INTEGER001 = 1
BOOLEAN001 = 0
BOOLEAN002 = 1
If ((GrafMode() <> "G") && (GrafMode() <> "R")) Then
PrintLn "Sorry, this PPE requires ANSi graphics..."
Delay 50
End
Endif
FOpen 2, PPEPath() + "\VOODOO.CFG", 0, 2
FGet 2, STRING007
FGet 2, BOOLEAN004
FGet 2, INTEGER007
FGet 2, STRING007
FClose 2
GetUser
Print "@POFF@"
Gosub LABEL019
:LABEL001
If (BOOLEAN001) Goto LABEL005
If (BOOLEAN002) Then
Color 7
For INTEGER002 = 1 To 4
AnsiPos 36, 10 + INTEGER002
Print " ", TSTRING001(INTEGER002), " "
Next
AnsiPos 36, 10 + INTEGER001
Print "@X01░▒▓@X1E", TSTRING001(INTEGER001), "@X01▓▒░"
BOOLEAN002 = 0
Endif
STRING003 = Inkey()
If ((STRING003 == "DOWN") || (STRING003 == "2")) Then
Inc INTEGER001
If (INTEGER001 == 5) Then
INTEGER001 = 1
Endif
BOOLEAN002 = 1
Endif
If ((STRING003 == "UP") || (STRING003 == "8")) Then
Dec INTEGER001
If (INTEGER001 == 0) Then
INTEGER001 = 4
Endif
BOOLEAN002 = 1
Endif
If (STRING003 == Chr(13)) Then
If (INTEGER001 == 4) Then
BOOLEAN001 = 1
Endif
If (INTEGER001 == 2) Then
Gosub LABEL006
Endif
If (INTEGER001 == 1) Then
If (STRING002 <> "NoNε") Then
Gosub LABEL007
Goto LABEL002
Endif
AnsiPos 36, 16
Print "@X0C you MuST SεLεCT a ViCTiM FiRST !"
Delay 25
AnsiPos 36, 16
Print "@X0F "
:LABEL002
BOOLEAN002 = 1
Endif
If (INTEGER001 == 3) Then
AnsiPos 1, 1
PrintLn "@CLS@@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
PrintLn " @X03[@X0BJMJ@X03] @X08PR@X07oD@X0FuCT@X07io@X08NS V o @X07o D @X0Fo o S P @X07ε L @X08L S @X0EoNLiNε HεLP"
PrintLn "@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
PrintLn ""
PrintLn " @X07This little program is intended to annoy that kind of users we often call"
PrintLn " lamers, those little assholes that keep annoying everyone else."
PrintLn " With this program you can take action against them. Similar to the Hate"
PrintLn " programs, this PPE allows you to put a voodoo spell on another user on"
PrintLn " the BBS. You can select where the pin should come in the doll, and then"
If (BOOLEAN004) Then
PrintLn " VooDoo will put a spell on the user, and write him an anonymous message"
PrintLn " (the creator of the spell will never be known) showing his doll and some"
PrintLn " text which advises him to change his habits..."
Goto LABEL003
Endif
PrintLn " VooDoo will put a spell on the user, and write him a message with you as"
PrintLn " as sender showing his doll and some text which advises him to change his"
PrintLn " habits..."
:LABEL003
PrintLn ""
PrintLn " To put a spell on a user, first select @X0BSεLεCT uSεR @X07in VooDoo's Main Menu."
PrintLn " You are then asked for his name or alias. After you have selected a valid"
PrintLn " user, select @X0BaPPLy SPεLL @X07from the Main Menu. You will be shown a selection"
PrintLn " of locations to put the pin, and after you have chosen one the spell will"
PrintLn " be applied using the magic words @X0DL@X05ae @X0DM@X05ers @X0DD@X05'eN @X0DB@X05'oH @X0DM@X05'iN@X07, and the message"
PrintLn " to the user will be written."
PrintLn ""
PrintLn "@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
STRING003 = " "
BOOLEAN003 = 1
INTEGER006 = 0
While (STRING003 <> Chr(13)) Do
STRING003 = Inkey()
If (BOOLEAN003) Then
Inc INTEGER006
Goto LABEL004
Endif
Dec INTEGER006
:LABEL004
If (INTEGER006 == 17) Then
BOOLEAN003 = 0
Endif
If (INTEGER006 == 1) Then
BOOLEAN003 = 1
Endif
AnsiPos 31, 22
Print "@X08", STRING006
AnsiPos 30 + INTEGER006, 22
Print "@X07", Mid(STRING006, INTEGER006, 1), "@X0F", Mid(STRING006, INTEGER006 + 1, 1), "@X07", Mid(STRING006, INTEGER006 + 2, 1)
EndWhile
Gosub LABEL019
BOOLEAN002 = 1
Endif
Endif
If (STRING003 == Chr(27)) Then
BOOLEAN001 = 1
Endif
Goto LABEL001
:LABEL005
Print "@PON@@X07"
Cls
End
:LABEL006
Color 15
For INTEGER002 = 1 To 4
AnsiPos 36, 10 + INTEGER002
Print " "
Next
AnsiPos 36, 11
Print "εNTεR NaMε/aLiaS oF THε ViCTiM"
AnsiPos 36, 12
InputText "_", STRING002, 15, 25
If (U_RecNum(Upper(STRING002)) == -1) Then
AnsiPos 36, 14
Print "@X0CTHεRε iS No uSεR WiTH THε NaMε"
AnsiPos 36, 15
Print STRING002
Delay 25
STRING002 = "NoNε"
Else
STRING002 = Mixed(STRING002)
Endif
Color 15
For INTEGER002 = 1 To 10
AnsiPos 36, 10 + INTEGER002
Print " "
Next
AnsiPos 36, 19
Print "@X09CuRRεNT ViCTiM :"
AnsiPos 36, 20
Print "@X0B", STRING002
BOOLEAN002 = 1
Return
:LABEL007
Color 15
For INTEGER002 = 1 To 10
AnsiPos 36, 10 + INTEGER002
Print " "
Next
AnsiPos 39, 7
Print "@X5F WHεRε Do you WaNT THε PiN ?"
BOOLEAN002 = 1
INTEGER001 = 1
:LABEL008
If (BOOLEAN001) Goto LABEL018
If (BOOLEAN002) Then
For INTEGER002 = 1 To 6
AnsiPos 36, 10 + INTEGER002
Print "@X07 ", TSTRING004(INTEGER002), " "
AnsiPos TINTEGER003(INTEGER002), TINTEGER004(INTEGER002)
Color TINTEGER005(INTEGER002)
Print " "
Next
AnsiPos 36, 10 + INTEGER001
Print "@X01░▒▓@X1E", TSTRING004(INTEGER001), "@X01▓▒░"
AnsiPos TINTEGER003(INTEGER001), TINTEGER004(INTEGER001)
Color TINTEGER005(INTEGER001)
Print "/"
BOOLEAN002 = 0
Endif
STRING003 = Inkey()
If (STRING003 == Chr(27)) Then
BOOLEAN001 = 1
Endif
If ((STRING003 == "DOWN") || (STRING003 == "2")) Then
Inc INTEGER001
If (INTEGER001 == 7) Then
INTEGER001 = 1
Endif
BOOLEAN002 = 1
Endif
If ((STRING003 == "UP") || (STRING003 == "8")) Then
Dec INTEGER001
If (INTEGER001 == 0) Then
INTEGER001 = 6
Endif
BOOLEAN002 = 1
Endif
If (STRING003 == Chr(13)) Then
AnsiPos TINTEGER003(INTEGER001), TINTEGER004(INTEGER001)
Color TINTEGER005(INTEGER001) - 128
Print "/"
AnsiPos 36, 18
Print "@X07PuTTiNG SPεLL oN"
AnsiPos 36, 19
Print "@X0B", STRING002
AnsiPos 11, 20
Print TSTRING005(1)
For INTEGER002 = 9 To 20
If (INTEGER002 == 16) Then
AnsiPos 11, 20
Print TSTRING005(2)
Endif
AnsiPos 10, INTEGER002 - 2
Print "@X08│"
AnsiPos 24, INTEGER002 - 2
Print "│"
AnsiPos 10, INTEGER002 - 1
Print "@X07│"
AnsiPos 24, INTEGER002 - 1
Print "│"
AnsiPos 10, INTEGER002
Print "@X0F│"
AnsiPos 24, INTEGER002
Print "│"
Delay 5
Next
If (BOOLEAN004) Then
STRING008 = "[JMJ]'s VooDoo"
Goto LABEL009
Endif
STRING008 = Mixed(U_Name())
:LABEL009
FCreate 1, PPEPath() + "\VOODOO.TMP", 1, 3
FPutLn 1, "@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
FPutLn 1, " @X03[@X0BJMJ@X03] @X08PR@X07oD@X0FuCT@X07io@X08NS V o @X07o D @X0Fo o S P @X07ε L @X08L S"
FPutLn 1, "··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
FPutLn 1, " @X0E▄▄▄"
If (INTEGER001 == 1) Then
FPutLn 1, " @X6E▀@X60.@X6F/@X60.@X6E▀@X06 @X07Gee ", STRING002, ", this isn't your lucky day..."
Goto LABEL010
Endif
FPutLn 1, " @X6E▀@X60.@X06█@X60.@X6E▀@X06 @X07Gee ", STRING002, ", this isn't your lucky day..."
:LABEL010
FPutLn 1, " @X06▀@X60 - @X06▀"
If (BOOLEAN004) Then
FPutLn 1, " @X04▄▄█████▄▄ @X07Someone put a voodoo spell on your ", Trim(TSTRING004(INTEGER001), " "), ","
Goto LABEL011
Endif
FPutLn 1, " @X04▄▄█████▄▄ @X07", STRING008, " put a voodoo spell on your ", Trim(TSTRING004(INTEGER001), " "), ","
:LABEL011
If (INTEGER001 == 3) Then
FPutLn 1, " @X04███████@X4F/@X04███ @X07right where the needle is pinned in the doll..."
Goto LABEL012
Endif
FPutLn 1, " @X04███████████ @X07right where the needle is pinned in the doll..."
:LABEL012
FPutLn 1, " @X04█▌███████▐█"
If (INTEGER001 == 2) Then
FPutLn 1, " @X04█▌███████▐@X4F/@X07 Well, you probably deserve it, since only"
Goto LABEL013
Endif
FPutLn 1, " @X04█▌███████▐█ @X07Well, you probably deserve it, since only"
:LABEL013
If (INTEGER001 == 4) Then
FPutLn 1, " @X04█▌@X01▐██@X1F/@X01██▌@X04▐█ @X07MegaLamers get this treatment..."
Goto LABEL014
Endif
FPutLn 1, " @X04█▌@X01▐█████▌@X04▐█ @X07MegaLamers get this treatment..."
:LABEL014
FPutLn 1, " @X06▀ @X01███ ███ @X06▀"
If (INTEGER001 == 5) Then
FPutLn 1, " @X01███ █@X1F/@X01█ @X07Try being nice for a change, and stop being lame..."
Goto LABEL015
Endif
FPutLn 1, " @X01███ ███ @X07Try being nice for a change, and stop being lame..."
:LABEL015
FPutLn 1, " @X01███ ███"
FPutLn 1, " @X01███ ███"
If (INTEGER001 == 6) Then
FPutLn 1, " @X40▀@X4F▀▀▀@X0F @X4F▀▀▀@X40▀@X0F/@X07"
Goto LABEL016
Endif
FPutLn 1, " @X40▀@X4F▀▀▀@X0F @X4F▀▀▀@X40▀@X07"
:LABEL016
FPutLn 1, " "
FPutLn 1, "@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
FClose 1
Message INTEGER007, STRING002, STRING008, "You've been cursed...", "R", 0, 0, 0, PPEPath() + "\VOODOO.TMP"
Delete PPEPath() + "\VOODOO.TMP"
Log " ■ " + STRING002 + "'s " + Trim(TSTRING004(INTEGER001), " "), 1
Log " ■ VooDoo : " + U_Name() + " put a spell on", 1
For INTEGER002 = 1 To 10
AnsiPos 36, 10 + INTEGER002
Print " "
Next
AnsiPos 36, 11
Print "@X0ESPεLL aPPLiεD To ViCTiM'S @X0B", Trim(TSTRING004(INTEGER001), " ")
STRING003 = " "
BOOLEAN003 = 1
INTEGER006 = 0
While (STRING003 <> Chr(13)) Do
STRING003 = Inkey()
If (BOOLEAN003) Then
Inc INTEGER006
Goto LABEL017
Endif
Dec INTEGER006
:LABEL017
If (INTEGER006 == 17) Then
BOOLEAN003 = 0
Endif
If (INTEGER006 == 1) Then
BOOLEAN003 = 1
Endif
AnsiPos 43, 20
Print "@X08", STRING006
AnsiPos 42 + INTEGER006, 20
Print "@X07", Mid(STRING006, INTEGER006, 1), "@X0F", Mid(STRING006, INTEGER006 + 1, 1), "@X07", Mid(STRING006, INTEGER006 + 2, 1)
EndWhile
INTEGER001 = 4
BOOLEAN001 = 1
Endif
Goto LABEL008
:LABEL018
Return
:LABEL019
PrintLn "@CLS@@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
PrintLn " @X03[@X0BJMJ@X03] @X08PR@X07oD@X0FuCT@X07io@X08NS V o @X07o D @X0Fo o S P @X07ε L @X08L S @X0C@BOARDNAME:16C@"
PrintLn "@X08··──@X05──@X0D─────────@X05──@X08──·· ··──@X05──@X0D───────────────────────@X05──@X08──·· ··──@X05──@X0D─────────@X05──@X08──··"
PrintLn " @X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X08▄ @X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X08▄"
PrintLn " @X0F█@X7F▓▓▒▒░░@X07█████████@X78░░▒▒▓▓@X08█ @X0F█@X7F▓▓▒▒░░@X07███████████████████████████████@X78░░▒▒▓▓@X08█"
PrintLn " @X0F█@X7F▒▒@X08█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F█@X78▓▓@X08█ @X0F█@X7F▒▒@X08█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F█@X78▓▓@X08█"
PrintLn " @X0F█@X7F░░@X08█ @X0E▄▄▄ @X0F█@X78▒▒@X08█ @X0F█@X7F░░@X08█ @X05░▒▓@X5E εNTεR youR CHoiCε @X05▓▒░ @X0F█@X78▒▒@X08█"
PrintLn " @X0F█@X07██@X08█ @X6E▀@X60.@X06█@X60.@X6E▀@X06 @X0F█@X78░░@X08█ @X0F█@X07██@X08█@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█@X78░░@X08█"
PrintLn " @X0F█@X07██@X08█ @X06▀@X60 - @X06▀ @X0F█@X07██@X08█ @X0F█@X07███████████████████████████████████████████@X08█"
PrintLn " @X0F█@X07██@X08█ @X04▄▄█████▄▄ @X0F█@X07██@X08█ @X0F█@X07██@X08█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X04█████@XCF @X04█████ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X04█▌███████▐@XCF @X0F █@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X04█▌███████▐█ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X04█▌@X01▐█████▌@X04▐█ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X06▀ @X01███ ███ @X06▀ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X01███ ███ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X01███ ███ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X01███ ███ @X0F█@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X07██@X08█ @X40▀@X4F▀▀▀@X0F @X4F▀▀▀@X40▀@X0F █@X07██@X08█ @X0F█@X07██@X08█ @X0F█@X07██@X08█"
PrintLn " @X0F█@X78░░@X08█ @X0F█@X7F░░@X08█ @X0F█@X78░░@X08█ @X0F█@X7F░░@X08█"
PrintLn " @X0F█@X78▒▒@X08█@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█@X7F▒▒@X08█ @X0F█@X78▒▒@X08█@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█@X7F▒▒@X08█"
PrintLn " @X0F█@X78▓▓▒▒░░@X07█████████@X7F░░▒▒▓▓@X08█ @X0F█@X78▓▓▒▒░░@X07███████████████████████████████@X7F░░▒▒▓▓@X08█"
Print " @X0F▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @X0F▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 1 Cls
; 7 Color
; 72 Goto
; 87 Let
; 37 Print
; 47 PrintLn
; 48 If
; 1 FCreate
; 1 FOpen
; 2 FClose
; 4 FGet
; 25 FPutLn
; 1 GetUser
; 1 Delete
; 2 Log
; 4 Gosub
; 3 Return
; 4 Delay
; 4 Inc
; 4 Dec
; 1 InputText
; 36 AnsiPos
; 1 Message
;
;
; ■ Functions used :
;
; 1 -
; 30 +
; 5 -
; 32 ==
; 5 <>
; 7 <
; 7 <=
; 14 >=
; 48 !
; 15 &&
; 11 ||
; 1 Upper()
; 6 Mid()
; 6 Chr()
; 4 Trim()
; 2 U_Name()
; 4 Inkey()
; 4 PPEPath()
; 2 GrafMode()
; 1 U_RecNum()
; 2 Mixed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 7 For/Next
; 2 While/EndWhile
; 37 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------