aboutsummaryrefslogtreecommitdiff
path: root/internal/game
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-09 20:32:44 -0400
committerhistoria <[not public]>2026-06-09 20:32:44 -0400
commit6a0f3d7a252de4b1741cfe5e1c561412c602becc (patch)
tree368954bc9a52da6462823cc5efdb5a69d7ac1741 /internal/game
parent9a8848eaa84d46578595a7ca3efe66d1fe36d1e0 (diff)
downloadthehouseoficarus-6a0f3d7a252de4b1741cfe5e1c561412c602becc.tar.gz
feat: better login screen
Diffstat (limited to 'internal/game')
-rw-r--r--internal/game/game.go53
1 files changed, 28 insertions, 25 deletions
diff --git a/internal/game/game.go b/internal/game/game.go
index 0e1b82d..528c895 100644
--- a/internal/game/game.go
+++ b/internal/game/game.go
@@ -98,7 +98,7 @@ func (g *Game) handleAccountName(sess *net.Session, input string) {
} else {
sess.Account = &net.AccountEntry{Name: name}
sess.State = net.StateNewAccountPass
- sess.Write("Account not found. Enter a password to create it (or press enter to cancel): ")
+ sess.Write("A new visitor to this rock!\nChoose password: ")
}
}
@@ -379,7 +379,7 @@ func (g *Game) handlePurgeAccount(sess *net.Session, input string) {
// Delete account file
os.Remove(g.AccountStore.AccountPath(sess.Account.Name))
- sess.WriteLine(fmt.Sprintf("Account %s has been purged.", sess.Account.Name))
+ sess.WriteLine(fmt.Sprintf("Account %s has been purged. Thanks for playing.", sess.Account.Name))
sess.Conn.Close()
}
@@ -387,22 +387,25 @@ func (g *Game) showMenu(sess *net.Session) {
sess.State = net.StateMenu
lines := []string{
"",
- fmt.Sprintf("Welcome, %s!", sess.Account.Name),
+ fmt.Sprintf("SUCCESSFUL LOGIN as %s.", sess.Account.Name),
"",
- "(C)onnect to character",
}
if len(sess.Account.Characters) > 0 {
- lines = append(lines, "(L)ist characters")
+ lines = append(lines,
+ " (C)onnect character to TC",
+ "",
+ " (L)ist characters",
+ " (R)ename character",
+ " (D)elete character",
+ )
}
lines = append(lines,
- "(N)ew character",
- "(R)ename character",
- "(D)elete character",
- "(P)urge account",
- "(A)ccount rename",
- "(Q)uit",
+ " (N)ew character",
+ " (P)urge account",
+ " (A)ccount rename",
+ " (Q)uit",
"",
- "Choice: ",
+ "INPUT: ",
)
sess.WriteLines(lines...)
}
@@ -410,11 +413,11 @@ func (g *Game) showMenu(sess *net.Session) {
func (g *Game) handleMenu(sess *net.Session, input string) {
switch strings.ToLower(strings.TrimSpace(input)) {
case "":
- sess.Write("Choice: ")
+ sess.Write("INPUT: ")
case "c":
if len(sess.Account.Characters) == 0 {
- sess.WriteLine("\nNo characters on this account.")
- sess.Write("\nChoice: ")
+ sess.WriteLine("\nSYSTEM ERROR: Make a character with 'N' first!")
+ sess.Write("\nINPUT: ")
return
}
if len(sess.Account.Characters) == 1 {
@@ -431,19 +434,19 @@ func (g *Game) handleMenu(sess *net.Session, input string) {
case "l":
if len(sess.Account.Characters) == 0 {
- sess.WriteLine("\nNo characters on this account.")
+ sess.WriteLine("\nSYSTEM ERROR: Zero characters on this account.\n(Make a character with 'N' first)")
} else {
- sess.WriteLine("\nCharacters:")
+ sess.WriteLine("\nSELECT Humans FROM GaiaZeroFour:")
for _, name := range sess.Account.Characters {
sess.WriteLine(fmt.Sprintf(" - %s", name))
}
}
- sess.Write("\nChoice: ")
+ sess.Write("\nINPUT: ")
case "n":
sess.State = net.StateNewCharName
sess.PendingChar = ""
- sess.Write("Character name: ")
+ sess.Write("What's your character name?: ")
case "a":
sess.State = net.StateRenameAccount
@@ -467,12 +470,12 @@ func (g *Game) handleMenu(sess *net.Session, input string) {
for i, name := range sess.Account.Characters {
sess.WriteLine(fmt.Sprintf(" %d) %s", i+1, name))
}
- sess.Write("\nChoice: ")
+ sess.Write("\n> : ")
case "d":
if len(sess.Account.Characters) == 0 {
sess.WriteLine("\nNo characters to delete.")
- sess.Write("\nChoice: ")
+ sess.Write("\nINPUT: ")
return
}
if len(sess.Account.Characters) == 1 {
@@ -483,23 +486,23 @@ func (g *Game) handleMenu(sess *net.Session, input string) {
for i, name := range sess.Account.Characters {
sess.WriteLine(fmt.Sprintf(" %d) %s", i+1, name))
}
- sess.Write("\nChoice: ")
+ sess.Write("\n>: ")
return
}
g.showDeleteConfirm(sess)
case "p":
sess.State = net.StatePurgeAccount
- sess.WriteLine(fmt.Sprintf("\nPurge account %s and all characters? Type PURGE %s to confirm, or anything else to cancel.", sess.Account.Name, sess.Account.Name))
+ sess.WriteLine(fmt.Sprintf("\nPurge account %s and all characters?\nTo be clear you are about to PERMANENTLY DELETE EVERYTHING!\nType PURGE %s to confirm, or anything else to cancel.", sess.Account.Name, sess.Account.Name))
sess.Write("\n> ")
case "q":
- sess.WriteLine("Goodbye.")
+ sess.WriteLine("Later.")
sess.Conn.Close()
return
default:
- sess.Write("Invalid choice. Choice: ")
+ sess.Write("SYNTAX ERROR\nINPUT: ")
}
}