From a226d72e51eecb768b13600303f73483118d9104 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 10 Jun 2026 01:48:28 -0400 Subject: feat: implemented janky object interaction model --- internal/game/cmd_description.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 internal/game/cmd_description.go (limited to 'internal/game/cmd_description.go') diff --git a/internal/game/cmd_description.go b/internal/game/cmd_description.go new file mode 100644 index 0000000..6875840 --- /dev/null +++ b/internal/game/cmd_description.go @@ -0,0 +1,34 @@ +package game + +import ( + "fmt" + + "thirdcollapse/internal/net" + "thirdcollapse/internal/player" +) + +func (g *Game) doDescription(sess *net.Session) { + p := sess.Player.(*player.Player) + sess.WriteLine("") + if p.Description != "" { + sess.WriteLine(fmt.Sprintf("Current description: %s", p.Description)) + } else { + sess.WriteLine("You don't have a description set.") + } + sess.WriteLine("") + sess.Write("Enter a new description (or press enter to keep current): ") + sess.State = net.StateChangeDescription +} + +func (g *Game) handleDescriptionChange(sess *net.Session, input string) { + if input != "" { + p := sess.Player.(*player.Player) + p.Description = input + g.AccountStore.SaveCharacter(p) + sess.WriteLine(fmt.Sprintf("Description set to: %s", input)) + } else { + sess.WriteLine("Description left unchanged.") + } + sess.State = net.StateGame + sess.Write("\r\n> ") +} -- cgit v1.2.3