Clean up unused drug
This commit is contained in:
parent
69bcd350d8
commit
b5e38d09de
1 changed files with 509 additions and 379 deletions
888
main.go
888
main.go
|
|
@ -1,449 +1,579 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
_ "embed"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand/v2"
|
"math/rand/v2"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/mgutz/ansi"
|
"bufio"
|
||||||
"github.com/muesli/reflow/wordwrap"
|
_ "embed"
|
||||||
|
|
||||||
|
"github.com/charmbracelet/lipgloss"
|
||||||
)
|
)
|
||||||
|
|
||||||
var PlayerName string
|
// These are variables for embeding files - dont remove them, they just look like comments
|
||||||
var TransphobiaToggle bool
|
|
||||||
var rank = "Volunteer"
|
|
||||||
var isRMSdead bool
|
|
||||||
var isLXOdead bool
|
|
||||||
var isESRdead bool
|
|
||||||
var isRMShigh bool
|
|
||||||
var isLXOhigh bool
|
|
||||||
var isESRhigh bool
|
|
||||||
var score int
|
|
||||||
var pink = ansi.ColorFunc("magenta")
|
|
||||||
var green = ansi.ColorFunc("green")
|
|
||||||
var cyan = ansi.ColorFunc("cyan")
|
|
||||||
var red = ansi.ColorFunc("red")
|
|
||||||
var mashkey = ansi.ColorFunc("white+h:blue")
|
|
||||||
|
|
||||||
//go:embed data/intro.txt
|
//go:embed menu.txt
|
||||||
|
var menu string
|
||||||
|
|
||||||
|
//go:embed levels/wifey.txt
|
||||||
|
var wifey string
|
||||||
|
|
||||||
|
//go:embed levels/wife-fucked.txt
|
||||||
|
var wifeyFucked string
|
||||||
|
|
||||||
|
//go:embed officers.txt
|
||||||
|
var officers string
|
||||||
|
|
||||||
|
//go:embed intro.txt
|
||||||
var intro string
|
var intro string
|
||||||
|
|
||||||
//go:embed data/levels/lildick/lildickOffice.txt
|
//go:embed levels/propertyRoom.txt
|
||||||
var lildickOffice string
|
var propertyRoom string
|
||||||
|
|
||||||
//go:embed data/levels/lildick/choice1.txt
|
//go:embed levels/redRoom.txt
|
||||||
var lildickChoice1 string
|
var redRoom string
|
||||||
|
|
||||||
//go:embed data/levels/lildick/choice2.txt
|
//go:embed levels/hitTheStreets.txt
|
||||||
var lildickChoice2 string
|
var hitTheStreets string
|
||||||
|
|
||||||
//go:embed data/genderSelection.txt
|
//go:embed levels/doctorsRoom.txt
|
||||||
var genderSelection string
|
var doctorsRoom string
|
||||||
|
|
||||||
//go:embed data/levels/heroine/heroine.txt
|
// End File Ebeds
|
||||||
var heroine string
|
|
||||||
|
|
||||||
//go:embed data/levels/heroine/heroineChoice1.txt
|
// other variables - keep these from mixing with above embed strigs - its a weird go thing
|
||||||
var heroineChoice1 string
|
var stats string
|
||||||
|
var statsCombat string
|
||||||
|
var PlayerName string
|
||||||
|
var condoms = 0
|
||||||
|
var std = false
|
||||||
|
var money = 1800
|
||||||
|
var experience = 100
|
||||||
|
var level = 1
|
||||||
|
var whores = 1
|
||||||
|
var cocaines = 0
|
||||||
|
var fentanyl = 0
|
||||||
|
var LSD = 0
|
||||||
|
var bumfights = 25
|
||||||
|
|
||||||
//go:embed data/levels/heroine/heroineChoice2.txt
|
var border = lipgloss.NewStyle().
|
||||||
var heroineChoice2 string
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
|
BorderForeground(lipgloss.Color("63"))
|
||||||
|
|
||||||
//go:embed data/levels/heroine/heroineChoice3.txt
|
var storyBorder = lipgloss.NewStyle().
|
||||||
var heroineChoice3 string
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
|
Width(75).
|
||||||
|
BorderForeground(lipgloss.Color("228")).
|
||||||
|
BorderBackground(lipgloss.Color("#0000FF"))
|
||||||
|
|
||||||
//go:embed data/levels/cocaine/cocaine.txt
|
var statsStyle = lipgloss.NewStyle().
|
||||||
var cocaine string
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
|
Foreground(lipgloss.Color("#ffffffff ")).
|
||||||
|
Background(lipgloss.Color("#2a2a60ff"))
|
||||||
|
|
||||||
//go:embed data/levels/cocaine/cocaineChoice1.txt
|
var red = lipgloss.NewStyle().
|
||||||
var cocaineChoice1 string
|
Foreground(lipgloss.Color("#ffffffff ")).
|
||||||
|
Background(lipgloss.Color("#f20b0bff"))
|
||||||
|
|
||||||
//go:embed data/levels/cocaine/cocaineChoice2.txt
|
var pink = lipgloss.NewStyle().
|
||||||
var cocaineChoice2 string
|
Foreground(lipgloss.Color("#ee00e2ff "))
|
||||||
|
|
||||||
//go:embed data/levels/cocaine/cocaineChoice3.txt
|
var green = lipgloss.NewStyle().
|
||||||
var cocaineChoice3 string
|
Foreground(lipgloss.Color("#18e60aff ")).
|
||||||
|
Background(lipgloss.Color("#55576aff"))
|
||||||
//go:embed data/levels/punchnazi/nazi.txt
|
|
||||||
var nazi string
|
|
||||||
|
|
||||||
//go:embed data/levels/punchnazi/naziMissed.txt
|
|
||||||
var naziMissed string
|
|
||||||
|
|
||||||
//go:embed data/levels/punchnazi/naziPunched.txt
|
|
||||||
var naziPunched string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZero.txt
|
|
||||||
var groundZero string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice1.txt
|
|
||||||
var groundZeroChoice1 string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice2.txt
|
|
||||||
var groundzeroChoice2 string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice2A.txt
|
|
||||||
var groundZeroChoice2A string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice2B1.txt
|
|
||||||
var groundZeroChoice2B1 string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice2B2.txt
|
|
||||||
var groundZeroChoice2B2 string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice3.txt
|
|
||||||
var groundZeroChoice3 string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice4A.txt
|
|
||||||
var groundZeroChoice4A string
|
|
||||||
|
|
||||||
//go:embed data/levels/groundZero/groundZeroChoice4B.txt
|
|
||||||
var groundZeroChoice4B string
|
|
||||||
|
|
||||||
func ClearScreen() {
|
func ClearScreen() {
|
||||||
fmt.Print("\033[H\033[2J")
|
fmt.Print("\033[H\033[2J")
|
||||||
}
|
}
|
||||||
|
|
||||||
func MashEnterKey() {
|
func MashEnterKey() {
|
||||||
fmt.Println(mashkey("Mash the 'Enter' key!"))
|
fmt.Println(statsStyle.Render("Mash the 'Enter' key!"))
|
||||||
bufio.NewReader(os.Stdin).ReadBytes('\n')
|
bufio.NewReader(os.Stdin).ReadBytes('\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
func CheckStaff() {
|
func breakRoom() {
|
||||||
if isRMSdead {
|
fmt.Println("Not Implemented")
|
||||||
fmt.Println("Richard... Stallman... is dead. Our glorious leader is dead...")
|
MainMachine()
|
||||||
} else {
|
|
||||||
fmt.Println("Richard Stallman is doing a silly dance with his favourite parrot.")
|
|
||||||
}
|
|
||||||
if isLXOdead {
|
|
||||||
fmt.Println("Alexandre Oliva is baking cookies and muffins without an oven. Because he is in hell. Ding dong, Oliva is dead.")
|
|
||||||
} else {
|
|
||||||
fmt.Println("Alexandre Oliva is currently hanging out on Techrights IRC with nazis and hate speech activists.")
|
|
||||||
}
|
|
||||||
if isESRdead {
|
|
||||||
fmt.Println("Eric S. Raymond has died, and a team of government agents have absconded with his body.\nPerhaps he was right about the Illuminti?")
|
|
||||||
} else {
|
|
||||||
fmt.Println("Eric S.Raymond is hoarding guns and working on his latest manifesto. \nThis one ain't too much about software.")
|
|
||||||
}
|
|
||||||
if TransphobiaToggle {
|
|
||||||
fmt.Println("Bryan Lunduke wants to fuck you, but hes too busy masterbating to femboys.")
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func StatusScreen() {
|
func HitTheStreets() {
|
||||||
fmt.Println("Your name is ", pink(PlayerName))
|
|
||||||
fmt.Println("Your rank is ", cyan(rank))
|
|
||||||
s := strconv.Itoa(score)
|
|
||||||
fmt.Println("Your score is", green(s))
|
|
||||||
}
|
|
||||||
|
|
||||||
func GenderSheet() {
|
|
||||||
ClearScreen()
|
ClearScreen()
|
||||||
gender := 0
|
|
||||||
i := 0
|
i := 0
|
||||||
x := 0
|
choice := ""
|
||||||
for i < 1 {
|
for i < 1 {
|
||||||
fmt.Println(genderSelection)
|
ClearScreen()
|
||||||
fmt.Print(red(PlayerName), ">")
|
fmt.Println(storyBorder.Render(hitTheStreets))
|
||||||
fmt.Scan(&gender)
|
fmt.Println("Your choice,")
|
||||||
switch x {
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
case 1, 2:
|
fmt.Scan(&choice)
|
||||||
TransphobiaToggle = false
|
if strings.ToUpper(choice) == "B" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(storyBorder.Render("Bum Fight!"))
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("You encounter a ", red.Render("homeless piece of shit!"))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("What do you do?")
|
||||||
|
fmt.Println("")
|
||||||
|
CombatStats()
|
||||||
|
fmt.Println(border.Render(statsCombat))
|
||||||
|
fmt.Println("(A)ttack")
|
||||||
|
fmt.Println("(E)scape")
|
||||||
|
homelessPunch := ""
|
||||||
|
fmt.Scan(&homelessPunch)
|
||||||
|
if strings.ToUpper(homelessPunch) == "A" {
|
||||||
|
chance := rand.IntN(100)
|
||||||
|
if chance > 40 {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just hit the homeless bum and cracked his skull!")
|
||||||
|
fmt.Println("You sprinkle some crack on him and move along.")
|
||||||
|
MashEnterKey()
|
||||||
|
experience = experience + 100
|
||||||
|
money = money + 50
|
||||||
|
bumfights = bumfights - 1
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("You missed, and he got away!"))
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("Perhaps you should lay off the donuts...")
|
||||||
|
bumfights = bumfights - 1
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Println("You escape successfully.")
|
||||||
|
bumfights = bumfights - 1
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
i = 1
|
i = 1
|
||||||
case 3, 4, 5:
|
}
|
||||||
TransphobiaToggle = true
|
}
|
||||||
|
MainMachine()
|
||||||
|
}
|
||||||
|
|
||||||
|
func RedRoom() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
fmt.Println(storyBorder.Render(redRoom))
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
// buy whore
|
||||||
|
if strings.ToUpper(choice) == "B" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Sex Slave Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$5000 per whore."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy one sex slave (Y/N)?")
|
||||||
|
slavePurchase := ""
|
||||||
|
fmt.Scan(&slavePurchase)
|
||||||
|
if strings.ToUpper(slavePurchase) == "Y" {
|
||||||
|
if money > 5000 {
|
||||||
|
whores = whores + 1
|
||||||
|
money = money - 5000
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just purchased 1 whore to be a sex slave!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "L" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Get a fucking lap dance!"))
|
||||||
|
fmt.Println("Price: ", red.Render("$20 for a 3 minute song."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy a lap dance (Y/N)?")
|
||||||
|
lapPurchase := ""
|
||||||
|
fmt.Scan(&lapPurchase)
|
||||||
|
if strings.ToUpper(lapPurchase) == "Y" {
|
||||||
|
if money > 20 {
|
||||||
|
money = money - 20
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("That slut grinds on your dick to the song 'I like it that way' by Backstreet Boys.")
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("That shit was so hot, you came in your pants.")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
// Fuck Whore
|
||||||
|
} else if strings.ToUpper(choice) == "F" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Get your Dick Wet at OPP McDick's"))
|
||||||
|
fmt.Println("Price: ", red.Render("$100 to fuck a dirty whore for an hour."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy an hour with a whore (Y/N)?")
|
||||||
|
fuckPurchase := ""
|
||||||
|
fmt.Scan(&fuckPurchase)
|
||||||
|
if strings.ToUpper(fuckPurchase) == "Y" {
|
||||||
|
if money > 100 {
|
||||||
|
money = money - 100
|
||||||
|
condoms = condoms - 1
|
||||||
|
if condoms == 0 {
|
||||||
|
std = true
|
||||||
|
} else {
|
||||||
|
fmt.Println()
|
||||||
|
}
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(pink.Render(wifeyFucked))
|
||||||
|
fmt.Println("You just fucked a dirty whore! Oh... shit, it's your cousin!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "P" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Purchase Condoms"))
|
||||||
|
fmt.Println("Price: ", red.Render("$10 to buy a five pack of connies."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy a five pack (Y/N)?")
|
||||||
|
fuckPurchase := ""
|
||||||
|
fmt.Scan(&fuckPurchase)
|
||||||
|
if strings.ToUpper(fuckPurchase) == "Y" {
|
||||||
|
if money > 10 {
|
||||||
|
money = money - 10
|
||||||
|
condoms = condoms + 5
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just purchased a five pack of connies.")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
// Return to HQ
|
||||||
|
} else if strings.ToUpper(choice) == "R" {
|
||||||
|
i = 1
|
||||||
|
MainMachine()
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func DoctorsOffice() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(storyBorder.Render(doctorsRoom))
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
if strings.ToUpper(choice) == "C" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(storyBorder.Render("Doctor's Miracle STD/STI Cures"))
|
||||||
|
fmt.Println()
|
||||||
|
fmt.Println("You encounter ", red.Render("the doctor."))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Do you want to cure you or your 'friends' STD/STI for $100?")
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("(Y)es")
|
||||||
|
fmt.Println("(N)o")
|
||||||
|
stdCure := ""
|
||||||
|
fmt.Scan(&stdCure)
|
||||||
|
if strings.ToUpper(stdCure) == "Y" {
|
||||||
|
if money > 100 {
|
||||||
|
fmt.Println("You pay the doctor $100 and you and/or your 'friends' are cured.")
|
||||||
|
money = money - 100
|
||||||
|
std = false
|
||||||
|
i = 1
|
||||||
|
MashEnterKey()
|
||||||
|
} else {
|
||||||
|
fmt.Println("You're too poor to cure your disease.")
|
||||||
|
i = 1
|
||||||
|
if std {
|
||||||
|
fmt.Println("But you still have a disease.")
|
||||||
|
MashEnterKey()
|
||||||
|
} else {
|
||||||
|
fmt.Println()
|
||||||
|
MashEnterKey()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("No cure for you. I guess.")
|
||||||
|
if std {
|
||||||
|
fmt.Println("But you still have a disease.")
|
||||||
|
MashEnterKey()
|
||||||
|
} else {
|
||||||
|
fmt.Println()
|
||||||
|
MashEnterKey()
|
||||||
|
}
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You head back to HQ.")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
i = 1
|
||||||
|
}
|
||||||
|
MainMachine()
|
||||||
|
}
|
||||||
|
|
||||||
|
func PropertyRoom() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
fmt.Println(storyBorder.Render(propertyRoom))
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
if strings.ToUpper(choice) == "C" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Cocaine Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$1000 per gram."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy one gram (Y/N)?")
|
||||||
|
cokePurchase := ""
|
||||||
|
fmt.Scan(&cokePurchase)
|
||||||
|
if strings.ToUpper(cokePurchase) == "Y" {
|
||||||
|
if money > 1000 {
|
||||||
|
cocaines = cocaines + 1
|
||||||
|
money = money - 1000
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just purchased 1 gram of coke!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "L" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("LSD Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$100 for five tabs."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy six tabs (Y/N)?")
|
||||||
|
LSDPurchase := ""
|
||||||
|
fmt.Scan(&LSDPurchase)
|
||||||
|
if strings.ToUpper(LSDPurchase) == "Y" {
|
||||||
|
if money > 100 {
|
||||||
|
LSD = LSD + 5
|
||||||
|
money = money - 100
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just purchased 5 tabs of LSD! Fuck yeah!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("You don't have the greenbacks, loser! Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "F" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Fentanyl Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$500 per hundred milligrams."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy 100 milligrams (Y/N)?")
|
||||||
|
fentyPurchase := ""
|
||||||
|
fmt.Scan(&fentyPurchase)
|
||||||
|
if strings.ToUpper(fentyPurchase) == "Y" {
|
||||||
|
if money > 500 {
|
||||||
|
fentanyl = fentanyl + 1
|
||||||
|
money = money - 500
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println("You just purchased 1 bag of fenty!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "R" {
|
||||||
i = 1
|
i = 1
|
||||||
case 6:
|
MainMachine()
|
||||||
fmt.Print("Enter your gender: ")
|
} else {
|
||||||
reader := bufio.NewReader(os.Stdin)
|
|
||||||
prompt, _ := reader.ReadString('\n')
|
|
||||||
prompt2 := strings.TrimRight(prompt, "\n")
|
|
||||||
fmt.Println("You are a", prompt2)
|
|
||||||
TransphobiaToggle = true
|
|
||||||
i = 1
|
|
||||||
default:
|
|
||||||
i = 0
|
i = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BryansOffice() {
|
func ClockOut() {
|
||||||
ClearScreen()
|
|
||||||
choice := 0
|
|
||||||
for choice < 1 {
|
|
||||||
fmt.Println(lildickOffice)
|
|
||||||
fmt.Println("Your choice,")
|
|
||||||
fmt.Print(red(PlayerName), ">")
|
|
||||||
fmt.Scan(&choice)
|
|
||||||
if choice == 1 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(lildickChoice1)
|
|
||||||
score = score + 100
|
|
||||||
MashEnterKey()
|
|
||||||
} else if choice == 2 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(lildickChoice2)
|
|
||||||
score = score + 75
|
|
||||||
MashEnterKey()
|
|
||||||
} else {
|
|
||||||
choice = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func Heroine() {
|
|
||||||
ClearScreen()
|
|
||||||
choice := 0
|
|
||||||
for choice < 1 {
|
|
||||||
fmt.Println(heroine)
|
|
||||||
fmt.Println("Your choice,")
|
|
||||||
fmt.Print(red(PlayerName), ">")
|
|
||||||
fmt.Scan(&choice)
|
|
||||||
if choice == 1 {
|
|
||||||
if isRMSdead {
|
|
||||||
fmt.Println("Richard Stallman, our glorious leader, is dead. Heroine won't be effective.")
|
|
||||||
MashEnterKey()
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 20 {
|
|
||||||
fmt.Println(heroineChoice1)
|
|
||||||
MashEnterKey()
|
|
||||||
isRMShigh = true
|
|
||||||
score = score + 500
|
|
||||||
} else {
|
|
||||||
fmt.Println("Richard Stallman dodges your attempt and starts to scream and cry. \nHe runs into a closet and cuddles with his parrot.")
|
|
||||||
MashEnterKey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if choice == 2 {
|
|
||||||
if isLXOdead {
|
|
||||||
fmt.Println("Alexandre Oliva is fucking dead. Heroine won't be effective.")
|
|
||||||
MashEnterKey()
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 50 {
|
|
||||||
fmt.Println(heroineChoice2)
|
|
||||||
MashEnterKey()
|
|
||||||
isLXOhigh = true
|
|
||||||
score = score + 100
|
|
||||||
} else {
|
|
||||||
fmt.Println("Alexandre Oliva dodges your attempt to give him a dose of heroine.")
|
|
||||||
MashEnterKey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if choice == 3 {
|
|
||||||
if isESRdead {
|
|
||||||
fmt.Println("ESR is fucking dead. Heroine won't be effective.")
|
|
||||||
MashEnterKey()
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 50 {
|
|
||||||
fmt.Println(heroineChoice3)
|
|
||||||
MashEnterKey()
|
|
||||||
isESRhigh = true
|
|
||||||
score = score + 100
|
|
||||||
} else {
|
|
||||||
fmt.Println("ESR slaps the needle out of your hand.")
|
|
||||||
MashEnterKey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
choice = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func Cocaine() {
|
|
||||||
ClearScreen()
|
|
||||||
choice := 0
|
|
||||||
for choice < 1 {
|
|
||||||
fmt.Println(cocaine)
|
|
||||||
fmt.Println("Your choice,")
|
|
||||||
fmt.Print(red(PlayerName), ">")
|
|
||||||
fmt.Scan(&choice)
|
|
||||||
if choice == 1 {
|
|
||||||
if isRMSdead {
|
|
||||||
fmt.Println("Richard Stallman, our glorious leader, is dead. \nNot even cocaine can restart his heart at this point.")
|
|
||||||
MashEnterKey()
|
|
||||||
choice = 0
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 20 {
|
|
||||||
fmt.Println(cocaineChoice1)
|
|
||||||
MashEnterKey()
|
|
||||||
isRMShigh = true
|
|
||||||
score = score + 100
|
|
||||||
choice = 1
|
|
||||||
} else {
|
|
||||||
fmt.Println("Richard Stallman tells you that drugs are bad. \nNot because they are harmful to your body, but because the recipes are not GPLv3.")
|
|
||||||
MashEnterKey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if choice == 2 {
|
|
||||||
if isLXOdead {
|
|
||||||
fmt.Println("Alexandre Oliva is fucking dead. \nYou sprinkle some of the cocaine on his corpse... It does nothing.")
|
|
||||||
MashEnterKey()
|
|
||||||
choice = 0
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 50 {
|
|
||||||
fmt.Println(cocaineChoice2)
|
|
||||||
MashEnterKey()
|
|
||||||
isLXOhigh = true
|
|
||||||
score = score + 50
|
|
||||||
choice = 1
|
|
||||||
} else {
|
|
||||||
fmt.Println("Alexandre Oliva casually avoids you when you pull out the bag. Shit!")
|
|
||||||
MashEnterKey()
|
|
||||||
choice = 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if choice == 3 {
|
|
||||||
if isESRdead {
|
|
||||||
fmt.Println("ESR is fucking dead. Cocaine won't be effective.")
|
|
||||||
MashEnterKey()
|
|
||||||
choice = 0
|
|
||||||
} else {
|
|
||||||
chance := rand.IntN(100)
|
|
||||||
if chance < 40 {
|
|
||||||
fmt.Println(cocaineChoice3)
|
|
||||||
MashEnterKey()
|
|
||||||
isESRhigh = true
|
|
||||||
score = score + 75
|
|
||||||
} else {
|
|
||||||
fmt.Println("ESR slaps the bag of coke out of your hand, picks it up and throws it into the trash.")
|
|
||||||
fmt.Println("'You know that stuff was invented by the CIA right?'")
|
|
||||||
MashEnterKey()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
choice = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func PunchNazi() {
|
|
||||||
choice := 0
|
choice := 0
|
||||||
ClearScreen()
|
ClearScreen()
|
||||||
|
fmt.Println(storyBorder.Render(wifey))
|
||||||
for choice < 1 {
|
for choice < 1 {
|
||||||
fmt.Println(nazi)
|
|
||||||
fmt.Println("Your choice,")
|
fmt.Println("Your choice,")
|
||||||
fmt.Print(red(PlayerName), ">")
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
fmt.Scan(&choice)
|
fmt.Scan(&choice)
|
||||||
if choice == 1 {
|
switch choice {
|
||||||
|
case 1:
|
||||||
chance := rand.IntN(100)
|
chance := rand.IntN(100)
|
||||||
if chance < 50 {
|
if chance < 50 {
|
||||||
fmt.Println(naziPunched)
|
ClearScreen()
|
||||||
score = score + 100
|
if cocaines < 1 {
|
||||||
MashEnterKey()
|
fmt.Println(red.Render("You pull out 1kg of cocaine and smash it open all over your face"))
|
||||||
|
cocaines = cocaines - 1
|
||||||
|
fmt.Println(red.Render("You shout 'COKE SLAM!'"))
|
||||||
|
fmt.Println(red.Render("You bust your wife right in the fucking face!"))
|
||||||
|
fmt.Println(red.Render("YARRRRR! (You don't know why you're a pirate now)"))
|
||||||
|
MashEnterKey()
|
||||||
|
} else {
|
||||||
|
fmt.Println(red.Render("You bust your wife right in the fucking face!"))
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
fmt.Println(naziMissed)
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("You try to bust your wife in the face but she dodges you and runs out the front door!"))
|
||||||
|
fmt.Println(red.Render("Oh well.. who is she gonna call bro?"))
|
||||||
MashEnterKey()
|
MashEnterKey()
|
||||||
}
|
}
|
||||||
} else if choice == 2 {
|
choice = 1
|
||||||
fmt.Println("You don't have time for that piece of shit. You simply walk away.")
|
case 2:
|
||||||
MashEnterKey()
|
fmt.Println(border.Render(wifeyFucked))
|
||||||
} else {
|
fmt.Println("You successfully hate fucked your wife.")
|
||||||
choice = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func GroundZero() {
|
|
||||||
choice1 := 0
|
|
||||||
for choice1 < 1 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZero)
|
|
||||||
fmt.Println("Your choice,")
|
|
||||||
fmt.Print(red(PlayerName), ">")
|
|
||||||
fmt.Scan(&choice1)
|
|
||||||
if choice1 == 1 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZeroChoice1)
|
|
||||||
score = score + 100
|
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
} else if choice1 == 2 {
|
fmt.Println("She apologizes for the cold dinner while she wipes the semen and blood from her butthole.")
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundzeroChoice2)
|
|
||||||
MashEnterKey()
|
MashEnterKey()
|
||||||
ClearScreen()
|
choice = 1
|
||||||
chance := rand.IntN(100)
|
case 3:
|
||||||
if chance < 50 {
|
fmt.Println("You take some of your drugs. You are enjoying your life for once.")
|
||||||
fmt.Println(groundZeroChoice2A)
|
choice = 1
|
||||||
MashEnterKey()
|
default:
|
||||||
} else {
|
choice = 0
|
||||||
fmt.Println(groundZeroChoice2B1)
|
|
||||||
MashEnterKey()
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZeroChoice2B2)
|
|
||||||
isLXOdead = true
|
|
||||||
MashEnterKey()
|
|
||||||
score = score + 200
|
|
||||||
ClearScreen()
|
|
||||||
}
|
|
||||||
} else if choice1 == 3 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZeroChoice3)
|
|
||||||
MashEnterKey()
|
|
||||||
score = score + 50
|
|
||||||
} else if choice1 == 4 {
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZeroChoice4A)
|
|
||||||
MashEnterKey()
|
|
||||||
ClearScreen()
|
|
||||||
fmt.Println(groundZeroChoice4B)
|
|
||||||
MashEnterKey()
|
|
||||||
score = score + 75
|
|
||||||
} else {
|
|
||||||
choice1 = 0
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CheckStats() {
|
||||||
|
stats = "PLAYER STATS" + "\n\n" + "Name " + "\n" + PlayerName + "\n" + "Condoms: " + strconv.Itoa(condoms) + "\n" + "Money: $" + strconv.Itoa(money) + "\n" + "Whores:" + strconv.Itoa(whores) + "\n" + "Cocaine (1 gram bags): " + strconv.Itoa(cocaines) + "\n" + "Fentanyl (100/mg bags): " + strconv.Itoa(fentanyl) + "\n" + "LSD (tabs): " + strconv.Itoa(LSD) // builds the stats paragraph for the main screen
|
||||||
|
}
|
||||||
|
|
||||||
|
func CombatStats() {
|
||||||
|
if experience == 1000 {
|
||||||
|
level = 2
|
||||||
|
} else if experience == 4000 {
|
||||||
|
level = 3
|
||||||
|
} else if experience == 8000 {
|
||||||
|
level = 4
|
||||||
|
} else if experience == 25000 {
|
||||||
|
level = 5
|
||||||
|
} else if experience == 75000 {
|
||||||
|
level = 6
|
||||||
|
} else if experience == 120000 {
|
||||||
|
level = 7
|
||||||
|
} else if experience == 175000 {
|
||||||
|
level = 8
|
||||||
|
} else if experience == 250000 {
|
||||||
|
level = 9
|
||||||
|
} else if experience == 1000000 {
|
||||||
|
level = 10
|
||||||
|
} else {
|
||||||
|
fmt.Println()
|
||||||
|
}
|
||||||
|
statsCombat = "COMBAT STATS" + "\n\n" + "Name " + "\n" + PlayerName + "\n" + "Level :" + strconv.Itoa(level) + "\n" + "Money: $" + strconv.Itoa(money) + "\n" + "Experience :" + strconv.Itoa(experience) + "\n" + "Bum Fights Left: " + strconv.Itoa(bumfights) // builds Combat Stats
|
||||||
|
}
|
||||||
|
|
||||||
|
func MainMachine() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
ScreenMachine()
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
if strings.ToUpper(choice) == "H" {
|
||||||
|
HitTheStreets()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "P" {
|
||||||
|
PropertyRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "B" {
|
||||||
|
breakRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "R" {
|
||||||
|
RedRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "D" {
|
||||||
|
DoctorsOffice()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "G" {
|
||||||
|
ClockOut()
|
||||||
|
i = 1
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func ScreenMachine() {
|
||||||
|
CheckStats()
|
||||||
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
|
fmt.Println(lipgloss.JoinHorizontal(lipgloss.Top, border.Render(menu), statsStyle.Render(stats))) // makes a horizontal display joining two paras
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
p := fmt.Println
|
officerStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("0000FF"))
|
||||||
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
|
fmt.Println(officerStyle.Render(officers))
|
||||||
|
MashEnterKey()
|
||||||
ClearScreen()
|
ClearScreen()
|
||||||
fmt.Println(green(intro))
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
fmt.Println()
|
fmt.Println(storyBorder.Render(intro))
|
||||||
fmt.Println("Richard Stallman walks over to you. He starts doing a weird dance while he molests a parrot.")
|
fmt.Print("Enter your damned name, Constable: ")
|
||||||
fmt.Println()
|
|
||||||
fmt.Println("'Who the fuck are you? A Microsoft Spy?' he demands.")
|
|
||||||
fmt.Println()
|
|
||||||
fmt.Print("Enter your damned name: ")
|
|
||||||
reader := bufio.NewReader(os.Stdin)
|
reader := bufio.NewReader(os.Stdin)
|
||||||
prompt, _ := reader.ReadString('\n')
|
prompt, _ := reader.ReadString('\n')
|
||||||
playerNameMaker := strings.Clone(prompt)
|
playerNameMaker := strings.Clone(prompt)
|
||||||
PlayerName = strings.TrimRight(playerNameMaker, "\n") // removes a trailing "Return" key that fucks everything up (i dont want the enter key IN the variable)
|
PlayerName = strings.TrimRight(playerNameMaker, "\n") // removes a trailing "Return" key that fucks everything up (i dont want the enter key IN the variable)
|
||||||
ClearScreen()
|
ClearScreen()
|
||||||
fmt.Println("Welcome to the ", red("Free Software Foundation!"))
|
MainMachine()
|
||||||
fmt.Println()
|
|
||||||
p(wordwrap.String("The year is 2028, our glorious leader, Dr. Richard Stallman, saved the Free Software Foundation from the brink of financial collapse.\n\nThe invention of a new form of nutritional yeast was discovered in his toes, and it is so powerful it can cure some forms of cancer.", 80))
|
|
||||||
fmt.Println()
|
|
||||||
fmt.Println("You are the latest recruit to enter the brand new FSF HQ.")
|
|
||||||
fmt.Println()
|
|
||||||
fmt.Println("You actually are a spy for Microsoft. Your mission is to take over the organization by any means necessary.")
|
|
||||||
fmt.Println()
|
|
||||||
StatusScreen()
|
|
||||||
fmt.Println()
|
|
||||||
fmt.Println("Are you ready for a GNU Dawn?")
|
|
||||||
fmt.Println()
|
|
||||||
MashEnterKey()
|
|
||||||
GenderSheet()
|
|
||||||
if TransphobiaToggle {
|
|
||||||
BryansOffice()
|
|
||||||
} else {
|
|
||||||
}
|
|
||||||
GroundZero()
|
|
||||||
Cocaine()
|
|
||||||
Heroine()
|
|
||||||
CheckStaff()
|
|
||||||
fmt.Println()
|
|
||||||
StatusScreen()
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue