diff --git a/main.go b/main.go index 9affc6f..7444e49 100644 --- a/main.go +++ b/main.go @@ -1,449 +1,579 @@ package main import ( - "bufio" - _ "embed" "fmt" "math/rand/v2" "os" "strconv" "strings" - "github.com/mgutz/ansi" - "github.com/muesli/reflow/wordwrap" + "bufio" + _ "embed" + + "github.com/charmbracelet/lipgloss" ) -var PlayerName string -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") +// These are variables for embeding files - dont remove them, they just look like comments -//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 -//go:embed data/levels/lildick/lildickOffice.txt -var lildickOffice string +//go:embed levels/propertyRoom.txt +var propertyRoom string -//go:embed data/levels/lildick/choice1.txt -var lildickChoice1 string +//go:embed levels/redRoom.txt +var redRoom string -//go:embed data/levels/lildick/choice2.txt -var lildickChoice2 string +//go:embed levels/hitTheStreets.txt +var hitTheStreets string -//go:embed data/genderSelection.txt -var genderSelection string +//go:embed levels/doctorsRoom.txt +var doctorsRoom string -//go:embed data/levels/heroine/heroine.txt -var heroine string +// End File Ebeds -//go:embed data/levels/heroine/heroineChoice1.txt -var heroineChoice1 string +// other variables - keep these from mixing with above embed strigs - its a weird go thing +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 heroineChoice2 string +var border = lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + BorderForeground(lipgloss.Color("63")) -//go:embed data/levels/heroine/heroineChoice3.txt -var heroineChoice3 string +var storyBorder = lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + Width(75). + BorderForeground(lipgloss.Color("228")). + BorderBackground(lipgloss.Color("#0000FF")) -//go:embed data/levels/cocaine/cocaine.txt -var cocaine string +var statsStyle = lipgloss.NewStyle(). + BorderStyle(lipgloss.NormalBorder()). + Foreground(lipgloss.Color("#ffffffff ")). + Background(lipgloss.Color("#2a2a60ff")) -//go:embed data/levels/cocaine/cocaineChoice1.txt -var cocaineChoice1 string +var red = lipgloss.NewStyle(). + Foreground(lipgloss.Color("#ffffffff ")). + Background(lipgloss.Color("#f20b0bff")) -//go:embed data/levels/cocaine/cocaineChoice2.txt -var cocaineChoice2 string +var pink = lipgloss.NewStyle(). + Foreground(lipgloss.Color("#ee00e2ff ")) -//go:embed data/levels/cocaine/cocaineChoice3.txt -var cocaineChoice3 string - -//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 +var green = lipgloss.NewStyle(). + Foreground(lipgloss.Color("#18e60aff ")). + Background(lipgloss.Color("#55576aff")) func ClearScreen() { fmt.Print("\033[H\033[2J") } func MashEnterKey() { - fmt.Println(mashkey("Mash the 'Enter' key!")) + fmt.Println(statsStyle.Render("Mash the 'Enter' key!")) bufio.NewReader(os.Stdin).ReadBytes('\n') } -func CheckStaff() { - if isRMSdead { - fmt.Println("Richard... Stallman... is dead. Our glorious leader is dead...") - } 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 breakRoom() { + fmt.Println("Not Implemented") + MainMachine() } -func StatusScreen() { - 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() { +func HitTheStreets() { ClearScreen() - gender := 0 i := 0 - x := 0 + choice := "" for i < 1 { - fmt.Println(genderSelection) - fmt.Print(red(PlayerName), ">") - fmt.Scan(&gender) - switch x { - case 1, 2: - TransphobiaToggle = false + ClearScreen() + fmt.Println(storyBorder.Render(hitTheStreets)) + fmt.Println("Your choice,") + fmt.Print(green.Render(PlayerName), ">") + fmt.Scan(&choice) + 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 - 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 - case 6: - fmt.Print("Enter your gender: ") - 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: + MainMachine() + } else { i = 0 } } } -func BryansOffice() { - 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() { +func ClockOut() { choice := 0 ClearScreen() + fmt.Println(storyBorder.Render(wifey)) for choice < 1 { - fmt.Println(nazi) fmt.Println("Your choice,") - fmt.Print(red(PlayerName), ">") + fmt.Print(green.Render(PlayerName), ">") fmt.Scan(&choice) - if choice == 1 { + switch choice { + case 1: chance := rand.IntN(100) if chance < 50 { - fmt.Println(naziPunched) - score = score + 100 - MashEnterKey() + ClearScreen() + if cocaines < 1 { + 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 { - 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() } - } else if choice == 2 { - fmt.Println("You don't have time for that piece of shit. You simply walk away.") - MashEnterKey() - } else { - 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 + choice = 1 + case 2: + fmt.Println(border.Render(wifeyFucked)) + fmt.Println("You successfully hate fucked your wife.") fmt.Println() - } else if choice1 == 2 { - ClearScreen() - fmt.Println(groundzeroChoice2) + fmt.Println("She apologizes for the cold dinner while she wipes the semen and blood from her butthole.") MashEnterKey() - ClearScreen() - chance := rand.IntN(100) - if chance < 50 { - fmt.Println(groundZeroChoice2A) - MashEnterKey() - } else { - 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 + choice = 1 + case 3: + fmt.Println("You take some of your drugs. You are enjoying your life for once.") + choice = 1 + default: + choice = 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() { - p := fmt.Println + officerStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("0000FF")) + fmt.Println(border.Render("OPP Wars - Corruption")) + fmt.Println(officerStyle.Render(officers)) + MashEnterKey() ClearScreen() - fmt.Println(green(intro)) - fmt.Println() - fmt.Println("Richard Stallman walks over to you. He starts doing a weird dance while he molests a parrot.") - fmt.Println() - fmt.Println("'Who the fuck are you? A Microsoft Spy?' he demands.") - fmt.Println() - fmt.Print("Enter your damned name: ") + fmt.Println(border.Render("OPP Wars - Corruption")) + fmt.Println(storyBorder.Render(intro)) + fmt.Print("Enter your damned name, Constable: ") reader := bufio.NewReader(os.Stdin) prompt, _ := reader.ReadString('\n') 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) ClearScreen() - fmt.Println("Welcome to the ", red("Free Software Foundation!")) - 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() + MainMachine() + }