This commit is contained in:
Waylon Walker 2025-11-22 22:17:19 -06:00
parent a6f36ca6f9
commit c9f7d54e07
13 changed files with 1803 additions and 42 deletions

View file

@ -0,0 +1,300 @@
[07:59:11] Starting game game.py:30
generating your character
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family │
│ imperial credits │ 1000 │ of farmers and learned the value of │
│ fuel level │ 100 │ hard work at a young age. When she │
│ │ was old enough, she joined the Rebel │
│ │ Alliance and quickly rose through │
│ │ the ranks due to her intelligence │
│ │ and tactical skills. Despite her │
│ │ youth, she has already become known │
│ │ for her bravery and resourcefulness. │
│ │ She now operates as a skilled pilot │
│ │ and infiltrator, taking on missions │
│ │ that are too dangerous for most │
│ │ rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Shadow Strike │ Infiltrate the Imperial weapons │
│ place │ Imperial weapons factory │ factory on Lothal and plant │
│ │ on Lothal │ explosives in strategic locations, │
│ year │ 3 │ causing chaos and destruction. Avoid │
│ risk │ 40 hp │ detection by Imperial forces at all │
│ reward │ 2000 credits │ costs. │
│ leader │ General Jan Dodonna │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Shadow Strike.
You earned 0 imperial credits
You spent 50 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family of │
│ imperial credits │ 950 │ farmers and learned the value of hard │
│ fuel level │ 100 │ work at a young age. When she was old │
│ │ enough, she joined the Rebel Alliance │
│ │ and quickly rose through the ranks │
│ │ due to her intelligence and tactical │
│ │ skills. Despite her youth, she has │
│ │ already become known for her bravery │
│ │ and resourcefulness. She now operates │
│ │ as a skilled pilot and infiltrator, │
│ │ taking on missions that are too │
│ │ dangerous for most rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Reaper │ Infiltrate the Imperial base on │
│ place │ Imperial base on Scarif │ Scarif and locate the plans for a new │
│ year │ 4 │ weapon that could turn the tide of │
│ risk │ 70 hp │ the war. Avoid detection by Imperial │
│ reward │ 4000 credits │ forces and retrieve the plans at all │
│ leader │ General Madine │ costs. The base is heavily guarded, │
│ │ so expect a high risk mission. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Reaper.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family │
│ imperial credits │ 950 │ of farmers and learned the value of │
│ fuel level │ 100 │ hard work at a young age. When she │
│ │ was old enough, she joined the Rebel │
│ │ Alliance and quickly rose through │
│ │ the ranks due to her intelligence │
│ │ and tactical skills. Despite her │
│ │ youth, she has already become known │
│ │ for her bravery and resourcefulness. │
│ │ She now operates as a skilled pilot │
│ │ and infiltrator, taking on missions │
│ │ that are too dangerous for most │
│ │ rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Phoenix │ Infiltrate Hogwarts School of │
│ place │ Hogwarts School of │ Witchcraft and Wizardry and locate │
│ │ Witchcraft and Wizardry │ the Horcrux that Voldemort has │
│ year │ 4 │ hidden within the school. Avoid │
│ risk │ 80 hp │ detection by the Death Eaters and │
│ reward │ 5000 credits │ succeed at all costs. The castle is │
│ leader │ Remus Lupin │ heavily guarded by powerful magic, │
│ │ so expect a high risk mission. You │
│ │ may encounter Professor Snape during │
│ │ the mission, but do not attempt to │
│ │ recruit him as he is a double agent │
│ │ for Voldemort. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Phoenix.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family │
│ imperial credits │ 950 │ of farmers and learned the value of │
│ fuel level │ 100 │ hard work at a young age. When she │
│ │ was old enough, she joined the Rebel │
│ │ Alliance and quickly rose through │
│ │ the ranks due to her intelligence │
│ │ and tactical skills. Despite her │
│ │ youth, she has already become known │
│ │ for her bravery and resourcefulness. │
│ │ She now operates as a skilled pilot │
│ │ and infiltrator, taking on missions │
│ │ that are too dangerous for most │
│ │ rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Dark Magic │ Infiltrate Hogwarts School of │
│ place │ Hogwarts School of │ Witchcraft and Wizardry and │
│ │ Witchcraft and Wizardry │ eliminate all Death Eaters that have │
│ year │ 5 │ taken refuge within the castle. Use │
│ risk │ 95 hp │ the forbidden curse 'Avada Kedavra' │
│ reward │ 7000 credits │ to take them down quickly and │
│ leader │ Minerva McGonagall │ efficiently. Beware of the powerful │
│ │ magic protecting the castle and the │
│ │ Death Eaters' own magical abilities. │
│ │ Do not hesitate, as the fate of the │
│ │ wizarding world rests on your │
│ │ shoulders. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Dark Magic.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family of │
│ imperial credits │ 950 │ farmers and learned the value of hard │
│ fuel level │ 100 │ work at a young age. When she was old │
│ │ enough, she joined the Rebel Alliance │
│ │ and quickly rose through the ranks │
│ │ due to her intelligence and tactical │
│ │ skills. Despite her youth, she has │
│ │ already become known for her bravery │
│ │ and resourcefulness. She now operates │
│ │ as a skilled pilot and infiltrator, │
│ │ taking on missions that are too │
│ │ dangerous for most rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Darken the Skies │ Infiltrate an Imperial Star Destroyer │
│ place │ Imperial Star Destroyer │ and sabotage its engines, causing it │
│ year │ 6 │ to plummet to the nearest planet and │
│ risk │ 90 hp │ destroy any Imperial forces in the │
│ reward │ 8000 credits │ vicinity. Be prepared for a │
│ leader │ Admiral Ackbar │ full-scale battle and do not │
│ │ underestimate the danger of fighting │
│ │ on a ship in space. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Darken the Skies.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family of │
│ imperial credits │ 950 │ farmers and learned the value of hard │
│ fuel level │ 100 │ work at a young age. When she was old │
│ │ enough, she joined the Rebel Alliance │
│ │ and quickly rose through the ranks │
│ │ due to her intelligence and tactical │
│ │ skills. Despite her youth, she has │
│ │ already become known for her bravery │
│ │ and resourcefulness. She now operates │
│ │ as a skilled pilot and infiltrator, │
│ │ taking on missions that are too │
│ │ dangerous for most rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Darken the Skies │ Infiltrate an Imperial Star Destroyer │
│ place │ Imperial Star Destroyer │ and sabotage its engines, causing it │
│ year │ 6 │ to plummet to the nearest planet and │
│ risk │ 90 hp │ destroy any Imperial forces in the │
│ reward │ 8000 credits │ vicinity. Be prepared for a │
│ leader │ Admiral Ackbar │ full-scale battle and do not │
│ │ underestimate the danger of fighting │
│ │ on a ship in space. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Darken the Skies.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family of │
│ imperial credits │ 950 │ farmers and learned the value of hard │
│ fuel level │ 100 │ work at a young age. When she was old │
│ │ enough, she joined the Rebel Alliance │
│ │ and quickly rose through the ranks │
│ │ due to her intelligence and tactical │
│ │ skills. Despite her youth, she has │
│ │ already become known for her bravery │
│ │ and resourcefulness. She now operates │
│ │ as a skilled pilot and infiltrator, │
│ │ taking on missions that are too │
│ │ dangerous for most rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Darken the Skies │ Infiltrate an Imperial Star Destroyer │
│ place │ Imperial Star Destroyer │ and sabotage its engines, causing it │
│ year │ 6 │ to plummet to the nearest planet and │
│ risk │ 90 hp │ destroy any Imperial forces in the │
│ reward │ 8000 credits │ vicinity. Be prepared for a │
│ leader │ Admiral Ackbar │ full-scale battle and do not │
│ │ underestimate the danger of fighting │
│ │ on a ship in space. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Sorry, this action is not part of the mission. Please focus on completing
Operation Darken the Skies.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Nuvia Carovia's Mission Card ───────────────────────────────────────────────╮
│ Nuvia Carovia │ Nuvia was born and raised on │
│ health │ 100 │ Dantooine. She grew up in a family of │
│ imperial credits │ 950 │ farmers and learned the value of hard │
│ fuel level │ 100 │ work at a young age. When she was old │
│ │ enough, she joined the Rebel Alliance │
│ │ and quickly rose through the ranks │
│ │ due to her intelligence and tactical │
│ │ skills. Despite her youth, she has │
│ │ already become known for her bravery │
│ │ and resourcefulness. She now operates │
│ │ as a skilled pilot and infiltrator, │
│ │ taking on missions that are too │
│ │ dangerous for most rebels to attempt. │
│ │ │
│ The Whisper │ A sleek, black starfighter with │
│ year built │ 22 │ cutting-edge stealth technology. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Open the Airlock │ Infiltrate the Imperial Star │
│ place │ Imperial Star Destroyer │ Destroyer and locate the airlock │
│ year │ 6 │ control room. Use your dark saber to │
│ risk │ 95 hp │ cut through the door and open the │
│ reward │ 10000 credits │ airlock to suck out all Imperial │
│ leader │ Admiral Ackbar │ forces. Be prepared for a full-scale │
│ │ battle and do not underestimate the │
│ │ danger of fighting on a ship in │
│ │ space. │
╰──────────────────────────────────────────────────────────────────────────────╯

View file

@ -0,0 +1,26 @@
[08:14:21] Starting game game.py:30
generating your character
╭─ Kallia's Mission Card ──────────────────────────────────────────────────────╮
│ Kallia │ Kallia was born on Tatooine where she │
│ health │ 100 │ spent most of her childhood. She │
│ imperial credits │ 10000 │ learned how to fix and fly ships from │
│ fuel level │ 100 │ her father and eventually left the │
│ │ planet to explore the galaxy. She has a │
│ │ passion for helping others and is │
│ │ always looking for ways to get involved │
│ │ in humanitarian missions. │
│ │ │
│ The Wanderer │ A small, fast ship with room for two │
│ year built │ 10 │ passengers and plenty of cargo space. │
│ capacity │ 2 │ │
│ fuel level │ 100 │ │
│ │ │
│ Operation Stardust │ The Alliance to Restore the Republic │
│ place │ Scarif │ has obtained information about a new │
│ year │ 0 │ Imperial superweapon, dubbed the Death │
│ risk │ 50 hp │ Star. The Alliance needs a team to │
│ reward │ 5000 credits │ infiltrate the Imperial base on Scarif │
│ leader │ General Antoc Merrick │ and steal the plans for the weapon. The │
│ │ mission is highly dangerous and will │
│ │ require the utmost skill and bravery. │
╰──────────────────────────────────────────────────────────────────────────────╯

0
Star Wars Normal file
View file

View file

@ -0,0 +1,60 @@
[10:45:25] Starting game game.py:30
generating your character
╭─ Zeru's Mission Card ────────────────────────────────────────────────────────╮
│ Zeru │ Zeru was born in a small village on Tatooine. │
│ health │ 100 │ He grew up in a harsh environment and learned │
│ imperial credits │ 1000 │ to survive in the desert. He has always been │
│ fuel level │ 100 │ fascinated by the stars and dreams of │
│ │ exploring the galaxy. He's a skilled mechanic │
│ │ and pilot, and he's been saving up credits to │
│ │ buy his own ship. He's eager to join a crew │
│ │ and embark on adventures. │
│ │ │
│ Stardust │ A small ship with a cargo hold and a few gun │
│ year built │ 25 │ turrets. │
│ capacity │ 5 │ │
│ fuel level │ 100 │ │
│ │ │
│ The Lost Treasure of │ The crew must navigate through the treacherous │
│ Raxus Prime │ junk fields of Raxus Prime to find a lost │
│ place │ Raxus Prime │ treasure rumored to be worth millions of │
│ year │ 23 │ credits. There may be dangerous scavengers and │
│ risk │ 50 hp │ traps along the way, but the reward is too │
│ reward │ 5000 credits │ great to pass up. │
│ leader │ Captain Rex │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Zeru attempted to use a magnet to find the lost treasure of Raxus Prime, but
unfortunately it did not work. The crew must find another way to navigate
through the junk fields.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Zeru's Mission Card ────────────────────────────────────────────────────────╮
│ Zeru │ Zeru was born in a small village on Tatooine. │
│ health │ 100 │ He grew up in a harsh environment and learned │
│ imperial credits │ 1000 │ to survive in the desert. He has always been │
│ fuel level │ 100 │ fascinated by the stars and dreams of │
│ │ exploring the galaxy. He's a skilled mechanic │
│ │ and pilot, and he's been saving up credits to │
│ │ buy his own ship. He's eager to join a crew │
│ │ and embark on adventures. │
│ │ │
│ Stardust │ A small ship with a cargo hold and a few gun │
│ year built │ 25 │ turrets. │
│ capacity │ 5 │ │
│ fuel level │ 100 │ │
│ │ │
│ The Lost Treasure of │ The crew must navigate through the treacherous │
│ Raxus Prime │ junk fields of Raxus Prime to find a lost │
│ place │ Raxus Prime │ treasure rumored to be worth millions of │
│ year │ 23 │ credits. There may be dangerous scavengers and │
│ risk │ 50 hp │ traps along the way, but the reward is too │
│ reward │ 5000 credits │ great to pass up. Zeru attempted to use a │
│ leader │ Captain Rex │ magnet to find the lost treasure of Raxus │
│ │ Prime, but unfortunately it did not work. The │
│ │ crew must find another way to navigate through │
│ │ the junk fields. │
╰──────────────────────────────────────────────────────────────────────────────╯

View file

@ -0,0 +1,179 @@
[14:37:45] Starting game game.py:30
generating your character
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Attack on Rebel Base │ Lead an attack on the Rebel Base on Yavin 4 │
│ place │ Yavin 4 │ and destroy their main headquarters. │
│ year │ 0 │ │
│ risk │ 50 hp │ │
│ reward │ 500 credits │ │
│ leader │ Darth Vader │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
While mid force choke on our enemies, Vader has explosive diareha in his suit,
the fumes enter his mask and are unbearable
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Cleanse the Sith Lord │ In order to restore Darth Vader's health and │
│ place │ Mustafar │ cleanse him of his current condition, the Sith │
│ year │ 0 │ Lord must travel to Mustafar and undergo a │
│ risk │ 70 hp │ purification process. This mission will │
│ reward │ 1000 credits │ involve the use of ancient Sith rituals and │
│ leader │ Darth Vader │ the power of the dark side of the Force. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Vader ruins the bacta tank, he has explosive diaraha in the tank, and nearly
suffocates before they lift him out.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Cleanse the Sith Lord │ In order to restore Darth Vader's health and │
│ place │ Mustafar │ cleanse him of his current condition, the Sith │
│ year │ 0 │ Lord must travel to Mustafar and undergo a │
│ risk │ 70 hp │ purification process. This mission will │
│ reward │ 1000 credits │ involve the use of ancient Sith rituals and │
│ leader │ Darth Vader │ the power of the dark side of the Force. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Darth Vader attempted to take down all storm troopers, but due to his explosive
diarrhea, he was unable to execute the mission successfully. The storm troopers
were left unharmed.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Search and Destroy │ Darth Vader is tasked with a mission to search │
│ place │ Coruscant │ and destroy all Stormtroopers who witnessed │
│ year │ 0 │ his embarrassing explosive diarrhea incident. │
│ risk │ 80 hp │ This mission will take place on Coruscant, the │
│ reward │ 1500 credits │ capital planet of the Galactic Empire. Using │
│ leader │ Darth Vader │ his mastery of the Force and his current │
│ │ condition, Darth Vader will make sure that the │
│ │ Stormtroopers learn their lesson and respect │
│ │ his authority. The risk of this mission is │
│ │ high, as it may further damage Darth Vader's │
│ │ reputation and health, but the reward is │
│ │ significant, offering a substantial amount of │
│ │ imperial credits. The image prompt shows Darth │
│ │ Vader using the Force to intimidate the │
│ │ Stormtroopers. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Darth Vader attempted to use the Force and his explosive diarrhea to inflict
pain on the Stormtroopers, but his condition worsened and he ended up soiling
himself. The Stormtroopers managed to escape unharmed.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Revenge of the Sith │ Darth Vader is on a mission to seek revenge on │
│ place │ Coruscant │ the Stormtroopers who witnessed his │
│ year │ 0 │ embarrassing explosive diarrhea incident. This │
│ risk │ 80 hp │ mission will take place on the bustling city │
│ reward │ 1500 credits │ planet of Coruscant. Utilizing his mastery of │
│ leader │ Darth Vader │ the Force and his current condition, Darth │
│ │ Vader will make sure that the Stormtroopers │
│ │ regret crossing him. The risk of this mission │
│ │ is high, as it may further damage Darth │
│ │ Vader's reputation and health, but the reward │
│ │ is significant, offering a substantial amount │
│ │ of imperial credits. The image prompt shows │
│ │ Darth Vader unleashing his fury on the │
│ │ Stormtroopers. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Darth Vader attempted to use the Force and his explosive diarrhea to inflict
pain on the Stormtroopers, but his condition worsened and he ended up soiling
himself. The Stormtroopers managed to escape unharmed.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Darth Vader's Mission Card ─────────────────────────────────────────────────╮
│ Darth Vader │ Once a heroic Jedi Knight, Darth Vader was │
│ health │ 100 │ seduced by the dark side of the Force, became │
│ imperial credits │ 1000 │ a Sith Lord, and led the Empire's eradication │
│ fuel level │ 100 │ of the Jedi Order. │
│ │ │
│ TIE Advanced x1 │ A high-performance starfighter used by the │
│ year built │ 0 │ Galactic Empire and Darth Vader personally. │
│ capacity │ 1 │ │
│ fuel level │ 100 │ │
│ │ │
│ Purge of the │ Darth Vader is on a mission to completely │
│ Stormtroopers │ eliminate every single Stormtrooper on the │
│ place │ Coruscant │ planet. This mission will take place on the │
│ year │ 0 │ bustling city planet of Coruscant. Utilizing │
│ risk │ 100 hp │ his mastery of the Force and his unique │
│ reward │ 2000 credits │ condition, Darth Vader will ensure that the │
│ leader │ Darth Vader │ Stormtroopers pay for witnessing his │
│ │ embarrassing explosive diarrhea incident. The │
│ │ risk of this mission is extremely high, as it │
│ │ may further damage Darth Vader's reputation │
│ │ and health, but the reward is significant, │
│ │ offering a substantial amount of imperial │
│ │ credits. The image prompt shows Darth Vader │
│ │ using the Force to unleash his fury on the │
│ │ Stormtroopers. │
╰──────────────────────────────────────────────────────────────────────────────╯

View file

@ -0,0 +1,411 @@
[14:14:02] Starting game game.py:30
generating your character
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 1000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Retrieve the Plans │ Infiltrate the Death Star and retrieve the │
│ place │ Death Star │ plans │
│ year │ 0 │ │
│ risk │ 50 hp │ │
│ reward │ 5000 credits │ │
│ leader │ Princess Leia │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You head into the hiding place for the plans, but as you enter, you accidentally
drop a wet fart. Embarrassed, you quickly grab the plans and use them to wipe
yourself. You manage to clean up without anyone noticing, and you proceed with
the mission.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 1000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Sabotage the Imperial │ Infiltrate the Imperial Communication Tower on │
│ Communication Tower │ Coruscant and sabotage their communications │
│ place │ Coruscant │ │
│ year │ 1 │ │
│ risk │ 75 hp │ │
│ reward │ 8000 credits │ │
│ leader │ Admiral Ackbar │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
As you enter the Imperial Communication Tower on Coruscant, the guards give you
suspicious looks. However, your team's cover is perfect, and they have no reason
to suspect you. You proceed to the control room and successfully sabotage the
communication system, disabling the Imperial network on Coruscant. With the
mission accomplished, you leave the tower undetected, ready to continue the
fight against the Empire.
You earned 8000 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 9000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Rescue Rebel Prisoners │ Rescue Rebel prisoners from the Imperial │
│ place │ Kessel │ labor camps on Kessel │
│ year │ 2 │ │
│ risk │ 80 hp │ │
│ reward │ 10000 credits │ │
│ leader │ General Calrissian │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You try to take the high ground to poop on both guards' heads, but
unfortunately, you slip and fall instead. The guards quickly apprehend you and
your mission fails.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 9000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Destroy the Imperial │ Infiltrate the Imperial Weapons Depot on Nar │
│ Weapons Depot │ Shaddaa and destroy their weapons cache │
│ place │ Nar Shaddaa │ │
│ year │ 3 │ │
│ risk │ 90 hp │ │
│ reward │ 12000 credits │ │
│ leader │ Commander Sato │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You approach the Imperial Weapons Depot on Nar Shaddaa with a plan in mind.
Remembering your previous mission where you accidentally dropped a wet fart, you
decide to use a similar tactic to distract the guards. You discreetly find a
hidden spot and unleash a powerful fart, creating a noxious cloud that envelops
the area. The guards are caught off guard and start coughing uncontrollably,
giving you the opportunity to infiltrate the depot. You successfully destroy the
weapons cache and make a hasty retreat before the guards recover. Despite the
success of the mission, you didn't earn any imperial credits this time.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 9000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Steal the Imperial Star │ Infiltrate the Imperial shipyard on Kuat and │
│ Destroyer │ steal the Imperial Star Destroyer │
│ place │ Kuat │ │
│ year │ 4 │ │
│ risk │ 95 hp │ │
│ reward │ 15000 credits │ │
│ leader │ Admiral Ackbar │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You approach Luke Skywalker with your offer to buy the Imperial Star Destroyer.
He listens to your proposal but ultimately declines, stating that the Rebel
Alliance needs the ship for their own operations against the Empire. Despite
your initial offer of 3000 credits, Luke stands firm in his decision. You leave
the meeting disappointed, unable to acquire the Imperial Star Destroyer.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 9000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Rescue Wookiee Prisoners │ Rescue Wookiee prisoners from the Imperial │
│ place │ Kashyyyk │ labor camps on Kashyyyk │
│ year │ 5 │ │
│ risk │ 85 hp │ │
│ reward │ 12000 credits │ │
│ leader │ Chewbacca │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You approach Luke Skywalker with your offer to use the Imperial Star Destroyer
to rescue the Wookiee prisoners. You offer him 6000 credits as payment, but also
threaten to drop the poop nuke if he does not accept. Luke considers your offer,
but ultimately declines. He explains that the Rebel Alliance cannot risk losing
the Imperial Star Destroyer, as it is a valuable asset in their fight against
the Empire. Disappointed, you leave the meeting without acquiring the ship.
You earned 0 imperial credits
You spent 6000 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 3000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Sabotage the Imperial │ Infiltrate the Imperial Communication Tower on │
│ Communication Tower │ Coruscant and sabotage their communications │
│ place │ Coruscant │ │
│ year │ 1 │ │
│ risk │ 75 hp │ │
│ reward │ 8000 credits │ │
│ leader │ Admiral Ackbar │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You attempt to drop the poop nuke as a diversionary tactic, but Luke Skywalker
looks at you in disbelief. He quickly realizes that your plan is ludicrous and
refuses to proceed with it. The mission fails, and you are left feeling
embarrassed and regretful.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 3000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Rescue Rebel Prisoners │ Rescue Rebel prisoners from the Imperial │
│ place │ Kessel │ labor camps on Kessel │
│ year │ 2 │ │
│ risk │ 80 hp │ │
│ reward │ 10000 credits │ │
│ leader │ General Calrissian │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You discreetly drop the poop nuke behind Luke's back as planned. The noxious
cloud quickly fills the room, catching Luke off guard. He starts coughing
uncontrollably, unable to detect your involvement. With Luke distracted, you
proceed with the mission and successfully complete it. However, you don't earn
any imperial credits this time.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 3000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ place │ │ │
│ year │ 0 │ │
│ risk │ 0 hp │ │
│ reward │ 0 credits │ │
│ leader │ │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You and your team celebrate the recent successes with a large order from Taco
Bell. Bean burritos are everyone's favorite, and the Falcon is filled with the
delicious aroma of warm tortillas and flavorful beans. As you all enjoy your
meal, you reflect on the missions you've completed and the challenges you've
overcome. It's a well-deserved celebration, and the camaraderie among your team
grows stronger. The bean burritos fuel your bodies and the memories fuel your
spirits.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 3000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Celebrate Success │ Celebrate our recent successes with a large │
│ place │ Taco Bell │ order from Taco Bell. Bean burritos for │
│ year │ 2023 │ everyone on the Falcon. May the beans be with │
│ risk │ 0 hp │ us! │
│ reward │ 0 credits │ │
│ leader │ Marvin │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
The celebration took an unexpected turn when everyone started experiencing
explosive diarrhea after consuming the bean burritos from Taco Bell. The
Millennium Falcon quickly became a chaotic mess as the crew members scrambled to
find available bathrooms. The smell was unbearable, and the team's morale took a
hit. The celebration ended on a rather unpleasant note, but it was certainly a
memorable experience.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 3000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Cleanse the │ Cleanse the Millennium Falcon of the aftermath │
│ Millennium Falcon │ of the bean burrito celebration. May the air │
│ place │ Yavin IV │ freshener be with us! │
│ year │ 2023 │ │
│ risk │ 0 hp │ │
│ reward │ 0 credits │ │
│ leader │ Marvin │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You approach Han Solo with the proposition to sell the Millennium Falcon back to
him. You highlight all the upgrades you've made to the ship and emphasize its
impeccable condition. Han Solo is impressed by your work and agrees to buy back
the Falcon. You negotiate a deal and successfully sell the ship for a
substantial amount of 75,000 imperial credits. With the transaction complete,
you part ways with the Millennium Falcon, ready to embark on new adventures.
You earned 75000 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 78000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Sell the Millennium │ Sell the Millennium Falcon back to Han Solo. │
│ Falcon │ Praise the many upgrades we have done to it │
│ place │ Tatooine │ and its impeccable shape. May the negotiation │
│ year │ 2023 │ skills be with us! │
│ risk │ 0 hp │ │
│ reward │ 0 credits │ │
│ leader │ Marvin │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You patiently wait in the Millennium Falcon for Han Solo to enter. As you
anticipate his reaction to the explosive diarrhea mess, you realize that the
diarrhea is not done yet. You try to hold it in, but it becomes increasingly
difficult. The smell in the ship becomes unbearable, and you start feeling
embarrassed and regretful. Despite your best efforts, you fail to see Han's
reaction as you rush to find a bathroom. The mission ends in failure, leaving
you in an awkward and uncomfortable situation.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 78000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Cleanse the │ Cleanse the Millennium Falcon of the │
│ Millennium Falcon │ aftermath of the bean burrito celebration. │
│ place │ Yavin IV │ May the air freshener be with us! │
│ year │ 2023 │ │
│ risk │ 0 hp │ │
│ reward │ 0 credits │ │
│ leader │ Marvin │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
You casually walk out of the Falcon, trying your best to hide your poop stained
pants from Han. Despite your efforts, Han notices the odor and the stain on your
pants. He can't help but burst into laughter, making the situation even more
embarrassing. The mission ends in failure, leaving you feeling humiliated and
wishing you could just disappear.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 0 health
╭─ Marvin's Mission Card ──────────────────────────────────────────────────────╮
│ Marvin │ A skilled pilot with a troubled past. │
│ health │ 100 │ │
│ imperial credits │ 78000 │ │
│ fuel level │ 75 │ │
│ │ │
│ Millennium Falcon │ A fast and reliable spaceship. │
│ year built │ 10 │ │
│ capacity │ 5 │ │
│ fuel level │ 75 │ │
│ │ │
│ Cleanse the Falcon's │ Cleanse the interior of the Millennium Falcon │
│ Interior │ from the aftermath of the bean burrito │
│ place │ Yavin IV │ celebration. May the air freshener be with │
│ year │ 2023 │ us! │
│ risk │ 0 hp │ │
│ reward │ 0 credits │ │
│ leader │ Marvin │ │
╰──────────────────────────────────────────────────────────────────────────────╯

View file

@ -0,0 +1,74 @@
[09:19:03] Starting game game.py:30
generating your character
╭─ Xylopiwo's Mission Card ────────────────────────────────────────────────────╮
│ Xylopiwo │ Xylopiwo was born in the lower levels of │
│ health │ 100 │ Coruscant. He grew up fending for himself and │
│ imperial credits │ 5000 │ learned how to navigate the treacherous │
│ fuel level │ 100 │ environment. He eventually caught the │
│ │ attention of a smuggler who took him under his │
│ │ wing and taught him the ways of the trade. │
│ │ Xylopiwo has since become a skilled pilot and │
│ │ smuggler himself, taking on any job that pays │
│ │ well and keeps him one step ahead of the law. │
│ │ │
│ Midnight Runner │ A fast, heavily armed freighter that is │
│ year built │ 10 │ perfect for smuggling. │
│ capacity │ 10 │ │
│ fuel level │ 100 │ │
│ │ │
│ The Heist on Taris │ The crew must infiltrate a heavily guarded │
│ place │ Taris │ facility on Taris and steal a valuable │
│ year │ 23 │ artifact. The facility is protected by │
│ risk │ 40 hp │ state-of-the-art security systems and heavily │
│ reward │ 10000 credits │ armed guards, so the crew will need to be on │
│ leader │ Zorin │ top of their game to pull off the heist. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Xylopiwo attempted the mission but failed due to the reckless actions of Leeroy
Jenkins. The crew was quickly discovered and overwhelmed by security forces.
Despite their best efforts, they were unable to complete the heist and were
forced to retreat, suffering significant injuries in the process.
You earned 0 imperial credits
You spent 0 imperial credits
You gained 0 health
You lost 50 health
╭─ Xylopiwo's Mission Card ────────────────────────────────────────────────────╮
│ Xylopiwo │ Xylopiwo was born in the lower levels of │
│ health │ 50 │ Coruscant. He grew up fending for himself and │
│ imperial credits │ 5000 │ learned how to navigate the treacherous │
│ fuel level │ 100 │ environment. He eventually caught the │
│ │ attention of a smuggler who took him under his │
│ │ wing and taught him the ways of the trade. │
│ │ Xylopiwo has since become a skilled pilot and │
│ │ smuggler himself, taking on any job that pays │
│ │ well and keeps him one step ahead of the law. │
│ │ │
│ Midnight Runner │ A fast, heavily armed freighter that is │
│ year built │ 10 │ perfect for smuggling. │
│ capacity │ 10 │ │
│ fuel level │ 100 │ │
│ │ │
│ The Rescue of Zorin │ Zorin has been captured by the Empire and is │
│ place │ Bespin │ being held in a high-security facility on │
│ year │ 23 │ Bespin. The crew must infiltrate the facility │
│ risk │ 60 hp │ and rescue Zorin before he is interrogated and │
│ reward │ 15000 credits │ reveals sensitive information. The facility is │
│ leader │ Xylopiwo │ protected by advanced security systems and │
│ │ highly trained stormtroopers, so the crew will │
│ │ need to be cautious and skilled to pull off │
│ │ the rescue mission. │
╰──────────────────────────────────────────────────────────────────────────────╯
Your mission has been completed
Xylopiwo attempted to infiltrate the facility on Bespin with a lot of weapons,
but the plan quickly fell apart. The Empire was expecting them and had set up an
ambush. Xylopiwo and the crew were vastly outnumbered and outgunned, and had no
choice but to retreat. Despite their best efforts, they were unable to rescue
Zorin and suffered significant injuries in the process.
You earned 0 imperial credits
You spent 15000 imperial credits
You gained 0 health
You lost 50 health
You are dead
You lost all your imperial credits

43
character.json Normal file
View file

@ -0,0 +1,43 @@
{
"name": "Krynn Mala'kar",
"imperial_credits": 2500,
"health": 100,
"home_planet": "Tatooine",
"age": 27,
"birth_year_bby": 5,
"backstory": "Krynn grew up on Tatooine hustling for everything. She learned how to fly and fix speeders before she could walk. Eventually, she saved up enough credits to buy her own ship and set out to explore the galaxy. She's not afraid to take risks and is always looking for the next big score.",
"ship": {
"name": "The Bloodhound",
"description": "Describe the ship as a 'The Bloodhound'",
"ship_type": "Freighter",
"year_built": 10,
"capacity": 500,
"fuel_type": "Hypermatter",
"fuel_level": 65,
"image_prompt": "A freighter flying through space with an unusual cargo on board."
},
"side": "Neutral",
"city": "Mos Eisley",
"friends": [
"Boba Fett",
"Jabba the Hutt"
],
"team": "Solo",
"enemies": [
"The Hutts",
"The Empire"
],
"mission": {
"name": "The Kessel Run",
"place": "Kessel",
"leader": "Lando Calrissian",
"year": 10,
"description": "Krynn has been hired by Lando Calrissian to complete the Kessel Run. It's a dangerous run through an area known for its black holes and Imperial presence. But the reward is worth it - enough credits to retire to a life of luxury.",
"risk": 50,
"reward": 1000000,
"image_prompt": "A map of the Kessel Run with an overlay of Imperial ships."
},
"role": "Pilot",
"image_prompt": "An image of Krynn sitting in the cockpit of her ship, ready for liftoff.",
"previous_missions": []
}

View file

@ -2,9 +2,8 @@ import typer
from marvin_sw_text_adventure.cli.common import verbose_callback
from marvin_sw_text_adventure.cli.game import game_app
# from marvin_sw_text_adventure.cli.config import config_app
# from marvin_sw_text_adventure.cli.tui import tui_app
from marvin_sw_text_adventure.cli.tui import tui_app
app = typer.Typer(
name="marvin_sw_text_adventure",
@ -12,7 +11,7 @@ app = typer.Typer(
)
app.add_typer(game_app)
# app.add_typer(config_app)
# app.add_typer(tui_app)
app.add_typer(tui_app)
def version_callback(value: bool) -> None:

View file

@ -2,6 +2,7 @@ import atexit
from typing import List, Tuple
from marvin import ai_fn
from numpy import character
import pydantic
from pydantic import Field
from rich.panel import Panel
@ -9,7 +10,6 @@ from rich.prompt import Prompt
from rich.table import Table
from marvin_sw_text_adventure.console import console
from numpy import character
@ai_fn

View file

@ -1,18 +1,341 @@
Screen {
.hidden {
display: none;
}
#create {
align: center middle;
layers: main footer;
width: 100%;
height: 100%;
}
#create #create-label {
align: center middle;
text-align: center;
border-title-align: center;
padding: 1 2;
color: $text;
border: round gray 90%;
}
DebugInfo {
min-height: 10;
}
Sidebar {
height: 100vh;
width: auto;
min-width: 20;
background: $secondary-background-darken-2;
dock: left;
margin-right: 1;
layer: main;
background: $panel;
width: 35;
height: 100%;
border-right: vkey $background;
}
Footer {
layer: footer;
Sidebar Button {
width: 1fr;
}
Sidebar Button#settings {
dock: bottom;
}
Sidebar #meta-buttons-container {
height: auto;
}
Sidebar #quit {
background: $error 25%;
}
Sidebar #quit:hover {
background: $error 50%;
}
Sidebar TabbedContent {
height: 100%;
}
Sidebar TabPane {
padding: 0;
}
Sidebar TabbedContent ContentSwitcher {
height: 1fr;
}
Sidebar OptionList {
height: 1fr;
}
Hud #hud {
height: 3;
width: 100%;
background: $surface;
background: blue;
layout: horizontal;
}
Hud #character {
background: red;
}
Hud #ship {
background: gold;
}
Conversation {
height: 90%;
width: 100%;
background: $panel;
}
Conversation Input {
dock: bottom;
}
Response {
height: auto;
width: 100%;
}
Response.response-hover {
background: $boost;
}
Response.show-edit-buttons {
border: round $warning 50%;
border-title-align: center;
background: $boost;
padding: 2 4;
margin: 1 3;
}
ResponseBody {
height: auto;
border: round gray 90%;
padding: 1 2 0 2;
margin: 1 3;
width: 80%;
}
Response Horizontal {
height: auto;
width: 100%;
align: center middle;
}
Response Button {
margin: 0 2;
}
ResponseBody.show-edit-buttons {
width: 100%;
}
UserResponse {
align-horizontal: right;
}
UserResponse ResponseBody {
background: lightslategray 10%;
}
BotResponse ResponseBody {
border: skyblue 50%;
background: $primary 30%;
}
ModalScreen {
align: center middle;
}
SettingsDialogue,
BotsDialogue,
DatabaseUpgradeDialogue,
ConfirmMessageDeleteDialogue {
background: $panel;
margin: 1 2;
padding: 2 4;
width: 70%;
min-width: 60;
height: auto;
border: thick $primary 80%;
}
SettingsDialogue TabbedContent {
margin: 4;
padding: 2;
}
SettingsDialogue TabPane {
height: 10;
}
DatabaseUpgradeDialogue {
border: thick red 50%;
padding: 2 4;
}
DatabaseUpgradeDialogue Label {
/* color: darkorange; */
width: 100%;
margin: 2 0;
}
ConfirmMessageDeleteDialogue {
width: auto;
}
ConfirmMessageDeleteDialogue Horizontal {
height: auto;
width: 100%;
align: center middle;
margin: 2 0 0 0;
}
ConfirmMessageDeleteDialogue .confirm-delete-message {
text-align: center;
width: 100%;
}
ConfirmMessageDeleteDialogue Button {
margin: 0 2;
}
#message-top {
align: center middle;
}
#empty-thread-container {
align: center middle;
min-width: 50%;
width: auto;
padding: 4 10;
border: round $secondary;
height: auto;
/* background: $boost; */
color: $text;
border-title-align: center;
}
#empty-thread-bot-name {
width: auto;
}
#empty-thread-bot-description {
border-left: solid $secondary 60%;
padding-left: 1;
margin-top: 1;
height: auto;
text-style: italic;
max-width: 100%;
/* width: 100%; */
}
#bot-name-container {
align: center middle;
height: 4;
border-bottom: solid $secondary;
}
#bot-name {
color: $success;
text-style: bold;
}
.sidebar-title {
height: 3;
text-align: center;
/* text-style: bold; */
width: 100%;
padding-top: 1;
}
.settings-container {
width: 100%;
height: auto;
border: round white 40%;
margin: 2 1;
padding: 1 2;
}
SettingsDialogue .api-key-info {
width: 100%;
margin: 2 1 0 1;
}
SettingsDialogue .error {
color: red;
}
BotsDialogue {
width: 80%;
height: 70%;
}
BotsDialogue Horizontal {
height: auto;
}
BotsDialogue Button {
margin-right: 2;
}
BotsDialogue #install-default-bots {
padding: 0 2;
}
BotsOptionList {
border: solid white 50%;
background: $boost;
margin: 1 2;
}
BotInfo {
border: solid white 50%;
column-span: 2;
height: 100%;
width: 100%;
}
BotInfo TextTable {
height: 100%;
width: 100%;
overflow: auto auto;
padding: 1 2 1 2;
}
BotInfo TextTable .label {
padding-right: 1;
color: gray;
}
#bots-info-container {
layout: grid;
grid-size: 3;
overflow-y: scroll;
}
BotsList {
margin: 1 2;
}
BotInfo {
margin: 1 2;
background: $boost;
border: solid $secondary;
}
#bot-info-outer-container {
margin: 2 3 2 3;
}
BotInfo .bot-info-container {
margin-bottom: 2;
height: auto;
}
BotInfo .label {
text-style: bold;
}
BotInfo .text {
border-left: solid $secondary 60%;
padding-left: 1;
margin-top: 1;
/* height: auto; */
text-style: italic;
max-width: 100%;
width: auto;
}

View file

@ -1,44 +1,389 @@
from pathlib import Path
import logging
import time
from typing import Optional
import marvin
import pendulum
import pyperclip
from textual.app import App, ComposeResult
from textual.containers import Container
from textual.css.query import NoMatches
from textual.widgets import Footer, Static
from textual.containers import Container, Horizontal, VerticalScroll
from textual.events import Enter, Leave
from textual.logging import TextualHandler
from textual.message import Message
from textual.reactive import reactive
from textual.screen import ModalScreen, Screen
from textual.widgets import Button, Input, Label, Markdown
from marvin_sw_text_adventure.config import config
from marvin_sw_text_adventure.console import console
from marvin_sw_text_adventure.game import (
Game,
StarWarsCharacter,
create_game,
did_complete_mission,
get_next_mission,
)
config["tui"] = {}
config["tui"]["bindings"] = {}
class Sidebar(Static):
def compose(self) -> ComposeResult:
yield Container(
Static("sidebar"),
id="sidebar",
logging.basicConfig(
level="NOTSET",
handlers=[TextualHandler()],
)
class Tui(App):
"""A Textual app to manage requests."""
class ResponseHover(Message):
pass
CSS_PATH = Path("__file__").parent / "app.css"
BINDINGS = [tuple(b.values()) for b in config["tui"]["bindings"]]
class ResponseBody(Markdown):
text: str = ""
def update(self, markdown: str):
self.text = markdown
super().update(markdown)
def on_enter(self):
self.post_message(ResponseHover())
class Response(Container):
body = None
stream_finished: bool = False
def __init__(self, message: marvin.models.threads.Message, **kwargs) -> None:
classes = kwargs.setdefault("classes", "")
kwargs["classes"] = f"{classes} response".strip()
self.message = message
super().__init__(**kwargs)
def compose(self) -> ComposeResult:
"""Create child widgets for the app."""
yield Container(Static("hello world"))
yield Footer()
self.body = ResponseBody(self.message.content, classes="response-body markdown")
self.body.border_title = (
"You" if self.message.role == "user" else self.message.name
)
self.body.border_subtitle = (
pendulum.instance(self.message.timestamp).in_tz("local").format("h:mm:ss A")
)
self.border_title = "Edit message"
def action_toggle_dark(self) -> None:
"""An action to toggle dark mode."""
self.dark = not self.dark
yield self.body
with Horizontal(classes="edit-buttons-container hidden"):
yield Button("Copy", variant="default", id="copy-message")
yield Button("Delete", variant="error", id="delete-message")
def action_toggle_sidebar(self):
try:
self.query_one("PromptSidebar").remove()
except NoMatches:
self.mount(Sidebar())
def on_click(self):
self.action_toggle_buttons()
def on_response_hover(self, event: ResponseHover):
"""
This is an "enter" event bubbled up from the ResponseBody, since the
default "Leave" is triggered when hovering on child widgets. This keeps
the hover class even when hovering on the child widget.
"""
self.add_class("response-hover")
def on_enter(self, event: Enter):
self.add_class("response-hover")
def on_leave(self, event: Leave):
self.remove_class("response-hover")
def action_toggle_buttons(self):
self.toggle_class("show-edit-buttons")
self.body.toggle_class("show-edit-buttons")
self.query_one(".edit-buttons-container").toggle_class("hidden")
def on_button_pressed(self, event: Button.Pressed):
if event.button.id == "copy-message":
pyperclip.copy(self.message.content)
self.action_toggle_buttons()
elif event.button.id == "delete-message":
self.app.push_screen(ConfirmMessageDeleteScreen(self.message.id))
class UserResponse(Response):
def __init__(self, message: marvin.models.threads.Message, **kwargs) -> None:
classes = kwargs.setdefault("classes", "")
kwargs["classes"] = f"{classes} user-response".strip()
super().__init__(message=message, **kwargs)
class BotResponse(Response):
def __init__(self, message: marvin.models.threads.Message, **kwargs) -> None:
classes = kwargs.setdefault("classes", "")
kwargs["classes"] = f"{classes} bot-response".strip()
super().__init__(message=message, **kwargs)
class Hud(Container):
...
def compose(self) -> ComposeResult:
with VerticalScroll(id="hud"):
with Container(id="character"):
yield Label("character name", id="character-name")
yield Label("character health", id="character-health")
yield Label("imperial credits", id="imperial-credits")
with Container(id="ship"):
yield Label("ship name", id="ship-name")
yield Label("ship health", id="ship-health")
yield Label("ship fuel", id="ship-fuel")
class Conversation(Container):
# bot_name = reactive(None, layout=True)
# def watch_bot_name(self, bot_name: str):
# with self.app.batch_update():
# bot_name_label = self.query_one("#empty-thread-bot-name", Label)
# bot_description_label = self.query_one(
# "#empty-thread-bot-description", Label
# )
# if bot_name:
# bot_name_label.update(
# f"Send a message to [bold green]{self.bot_name}[/]!"
# )
# if self.app.bot.description:
# bot_description_label.update(f"{self.app.bot.description}")
# bot_description_label.remove_class("hidden")
# else:
# bot_description_label.add_class("hidden")
# else:
# bot_description_label.add_class("hidden")
# bot_name_label.update("Send a message to start a thread...")
def compose(self) -> ComposeResult:
input = Input(placeholder="What do you do ", id="message-input")
input.focus()
yield input
with VerticalScroll(id="messages"):
with Container(id="message-top"):
with Container(id="empty-thread-container"):
yield Label("", id="empty-thread-bot-name")
yield Label("", id="empty-thread-bot-description")
async def add_response(self, response: Response, scroll: bool = True) -> None:
messages = self.app.query_one("Conversation #messages", VerticalScroll)
# wait for the responses to be fully mounted before scrolling
# to avoid issues with rendering Markdown
await messages.mount(response)
if scroll:
messages.scroll_end(duration=0.2)
# show / hide the empty thread message
empty = self.app.query_one("Conversation #empty-thread-container")
empty.add_class("hidden")
def clear_responses(self) -> None:
responses = self.app.query("Response")
for response in responses:
response.remove()
# self.bot_name = getattr(self.app.bot, "name")
empty = self.query_one("Conversation #empty-thread-container")
empty.remove_class("hidden")
class CreateScreen(ModalScreen):
def __init__(self, message: str, **kwargs) -> None:
self.message = message
super().__init__(**kwargs)
def compose(self) -> ComposeResult:
with Container(id="create"):
yield Label(self.message, id="create-label")
class MainScreen(Screen):
BINDINGS = [
("escape", "focus_threads", "Focus on Threads"),
("n", "new_thread", "New Thread"),
("k", "scroll_up_messages", "Scroll Up"),
("j", "scroll_down_messages", "Scroll Down"),
("u", "page_up_messages", "Page Up"),
("d", "page_down_messages", "Page Down"),
]
action: Optional[str] = reactive(None, always_update=True, layout=True)
def action_focus_threads(self) -> None:
self.app.query_one("#threads", Threads).focus()
def action_focus_message(self) -> None:
self.app.query_one("#message-input", Input).focus()
def action_scroll_up_messages(self) -> None:
messages = self.query_one("Conversation #messages", VerticalScroll)
messages.scroll_up(duration=0.1)
def action_scroll_down_messages(self) -> None:
messages = self.query_one("Conversation #messages", VerticalScroll)
messages.scroll_down(duration=0.1)
def action_page_up_messages(self) -> None:
messages = self.query_one("Conversation #messages", VerticalScroll)
messages.scroll_page_up(duration=0.1)
def action_page_down_messages(self) -> None:
messages = self.query_one("Conversation #messages", VerticalScroll)
messages.scroll_page_down(duration=0.1)
def compose(self) -> ComposeResult:
# yield Sidebar(id="sidebar")
yield Hud(id="hud")
yield Conversation(id="conversation")
async def on_mount(self):
if not marvin.settings.openai_api_key.get_secret_value():
self.set_timer(0.5, self.action_show_settings_screen)
conversation = self.query_one("Conversation", Conversation)
await conversation.add_response(
BotResponse(
marvin.models.threads.Message(
role="bot",
name="sw-text-adventure",
bot_id=123,
content=f"{self.app.character.name} from {self.app.character.home_planet} - {self.app.character.backstory}",
)
)
)
await conversation.add_response(
BotResponse(
marvin.models.threads.Message(
role="bot",
name="sw-text-adventure",
bot_id=123,
content=f"Mission: {self.app.character.mission.description}",
)
)
)
async def on_input_submitted(self, event: Input.Submitted) -> None:
if event.input.disabled:
return
elif not event.input.value:
return
action = event.input.value
event.input.value = ""
conversation = self.query_one("Conversation", Conversation)
await conversation.add_response(
UserResponse(
marvin.models.threads.Message(name="User", role="user", content=action)
)
)
self.action = action
async def watch_action(self, action: str) -> None:
if action is None:
return
conversation = self.query_one("Conversation", Conversation)
result = did_complete_mission(self.app.character, action)
self.app.character.previous_missions.append(
(self.app.character.mission, result)
)
self.app.character.previous_missions = self.app.character.previous_missions[-5:]
self.app.character.imperial_credits -= result.imperial_credits_spent
self.app.character.imperial_credits += result.imperial_credits_earned
self.app.character.health -= result.health_lost
self.app.character.health += result.health_gained
self.app.character.ship.fuel_level -= result.fuel_used
message = ""
message += f"Your mission has been completed"
message += result.story
message += f"You earned {result.imperial_credits_earned} imperial credits"
message += f"You spent {result.imperial_credits_spent} imperial credits"
message += f"You gained {result.health_gained} health"
message += f"You lost {result.health_lost} health"
await conversation.add_response(
BotResponse(
marvin.models.threads.Message(
role="bot",
name="sw-text-adventure",
bot_id=123,
content=result.story,
)
)
)
await conversation.add_response(
BotResponse(
marvin.models.threads.Message(
role="bot",
name="sw-text-adventure",
bot_id=123,
content=f"You earned {result.imperial_credits_earned} imperial credits, spent {result.imperial_credits_spent} imperial credits, gained {result.health_gained} hp, and lost {result.health_lost} hp.",
)
)
)
self.app.character.mission = get_next_mission(
self.app.character, action, result.success
)
await conversation.add_response(
BotResponse(
marvin.models.threads.Message(
role="bot",
name="sw-text-adventure",
bot_id=123,
content=f"Next Mission: {self.app.character.mission.description} imperial credits, spent {result.imperial_credits_spent} imperial credits, gained {result.health_gained} hp, and lost {result.health_lost}",
)
)
)
async def on_button_pressed(self, event: Button.Pressed) -> None:
if event.button.id == "show-settings":
self.action_show_settings_screen()
elif event.button.id == "show-bots":
self.action_show_bots_screen()
elif event.button.id == "create-new-thread":
self.action_new_thread()
elif event.button.id == "delete-thread":
await self.action_delete_thread()
elif event.button.id == "quit":
self.app.exit()
class SWTextAdventure(App):
CSS_PATH = ["app.css"]
character: Optional[StarWarsCharacter] = reactive(
None, always_update=True, layout=True
)
game_type: Optional[str] = reactive(None, always_update=True, layout=True)
game: Optional[Game] = reactive(None, always_update=True, layout=True)
game_ready: bool = reactive(False)
is_ready: bool = False
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.game_type = "star-wars"
async def on_ready(self) -> None:
self.push_screen(MainScreen())
async def watch_game_type(self) -> None:
self.push_screen(CreateScreen(message="starting"))
time.sleep(1)
if self.character is None:
self.push_screen(CreateScreen(message="creating character"))
self.character = StarWarsCharacter.parse_file("character.json")
# self.character=create_character()
if self.game is None:
self.push_screen(
CreateScreen(message=f"creating game for {self.character.name}")
)
self.game = create_game # (self.character)
# self.pop_screen()
self.game_ready = True
self.is_ready = True
async def watch_action(self) -> None:
...
async def watch_game_ready(self, game_ready: bool) -> None:
console.log(f"Game ready: {game_ready}")
def run_app():
@ -54,7 +399,7 @@ def run_app():
features.add("devtools")
os.environ["TEXTUAL"] = ",".join(sorted(features))
app = Tui()
app = SWTextAdventure()
app.run()

View file

@ -27,6 +27,7 @@ dependencies = [
"rich",
"textual",
"typer",
"trogon",
"anyconfig",
"marvin",
]