feat: New dialogs and minor changes

This commit is contained in:
jzitnik-dev 2025-01-05 17:35:53 +01:00
parent 5c5058f6c5
commit d2df9ab696
Signed by: jzitnik
GPG Key ID: C577A802A6AF4EF3
6 changed files with 22 additions and 19 deletions

View File

@ -87,14 +87,15 @@ public class InitGameService {
);
var library_characters = new ArrayList<Character>();
var librarian = new Character(
"Knihovník",
"Knihovnice",
library,
"Ahoj já jsem knihovník a budeš se mnou hrát wordle."
"Ahoj, jdeš si vypujčit nějakou knihu? Jakto že ne? Učení je důležité. No to je jedno, co teda chceš? Fragment klíče?" +
"Budes si muset semnou zahrát nejdříve wordle na to abych ti ho dala."
);
librarian.setInteraction(Interaction.Librarian);
librarian.setInteractionData(new cz.jzitnik.chronos.entities.Interaction(
"Tak si zahrajeme wordle.",
"Se mnou někdo již hrál wordle. Další fragment klíče nemám.",
"",
"Už si semnou zahrát nemůžeš, někdo tu byl před tebou a dostal ode mě fragment klíče.",
librarian
));
library_characters.add(librarian);
@ -109,12 +110,12 @@ public class InitGameService {
var innkeeper = new Character(
"Hostinský",
inn,
"Ahoj já jsem hostinský a budeš se mnou hrát piškvorky."
"No nazdar! Jak pak se máš člověče. Doufám že dobre, tady je to celkem mizerné, Nechceš mi zvednout náladu a zahrát si semnou piškvorky? Dam ti za to i fragment klíče který tak moc hledáš."
);
innkeeper.setInteraction(Interaction.Innkeeper);
innkeeper.setInteractionData(new cz.jzitnik.chronos.entities.Interaction(
"Tak si zahrajeme piškvorky.",
"Se mnou někdo již hrál piškvorky. Další fragment klíče nemám.",
"",
"Už si semnou zahrát nemůžeš, někdo tu byl před tebou a dostal ode mě fragment klíče.",
innkeeper
));
inn_characters.add(innkeeper);
@ -126,15 +127,16 @@ public class InitGameService {
game
);
var mayor_house_characters = new ArrayList<Character>();
// Never gonna give you up - If you are reading this then I hope you have a great day :)
var mayor = new Character(
"Starosta",
mayor_house,
"Ahoj já jsem starosta. Dej mi moje ztracené zlaté hodinky a dám ti fragment klíče."
"Dobrý den, nechci Vás nějak moc otravovat, ale potřebuji pomoc. Někde jsem ztratil své zlaté hodinky ale nevzpomínám si kde. Pomůžete mi je najít prosím?"
);
mayor.setInteraction(Interaction.Mayor);
mayor.setInteractionData(new cz.jzitnik.chronos.entities.Interaction(
"",
"Zlaté hodinky už mám. Děkuji za nalezení.",
"Děkuji ale zlaté hodinky už mi někdo navrátil. Děkuji za pomoc.",
mayor
));
mayor_house_characters.add(mayor);
@ -157,12 +159,12 @@ public class InitGameService {
var blacksmith = new Character(
"Kovář",
forge,
"Ahoj já jsem kovář. Dones mi uhlí pro moji pec a pak si spolu můžeme zahrát number guessing game"
"Ahoj, co tu pohledáváš? Ne, nic mi neříkej, moc mě to nezajímá. Potřebuju ale pomoct. Najdi prosím nějaké uhlí a přines mi ho. Můžeme si potom zahrát \"Number Guessing Game\" a pokud vyhraješ dám ti i fragment klíče."
);
blacksmith.setInteraction(Interaction.Blacksmith);
blacksmith.setInteractionData(new cz.jzitnik.chronos.entities.Interaction(
"",
"Uhlí už mám. Díky moc za uhlí!",
"Děkuji ale uhlí už mi někdo dal. Děkuji za pomoc.",
mayor
));
forge_characters.add(blacksmith);
@ -184,14 +186,14 @@ public class InitGameService {
);
var bakery_characters = new ArrayList<Character>();
var baker = new Character(
"Pekař",
"Pekařka",
bakery,
"Ahoj já jsem pekař a potřebuji mouku a láhev vody. Prosím dones mi je a dostaneš fragment klíče"
"Ahoj, pomůžeš mi prosím? Potřebuju na zítra upéct chleba ale nikde nemůžu sehnat mouku a vodu. Zašel/la by jsi pro ně prosím? Jako odměnu ti dám fragment klíče."
);
baker.setInteraction(Interaction.Baker);
baker.setInteractionData(new cz.jzitnik.chronos.entities.Interaction(
"",
"Mouku a vodu už mám. Díky",
"Mouku a vodu už mám. Děkuji za pomoc.",
baker
));
bakery_characters.add(baker);
@ -211,7 +213,7 @@ public class InitGameService {
game.setRooms(rooms);
game.setWonMessage("Gratuluji vyhráli jste!");
game.setWonMessage("Moc ti děkuji za pomoc, čas už zase běží jak má a všichni jsou spokojeni. Jako velké poděkování ti sem postavíme tvoji sochu. Za zase někdy přijdi!");
// Return a room that all players will spawn in
return outside;

View File

@ -295,7 +295,7 @@ public class Chronos {
var body = res.body().getData().get();
switch (body) {
case ALREADY_TAKEN -> Cli.type(Cli.Colors.YELLOW + character.getName() + ": " + Cli.Colors.RESET + "Už jsem ti mé itemy dal. Už pro tebe nic nemám.");
case ALREADY_TAKEN -> Cli.type(character, "Už jsem ti mé itemy dal a nic jiného pro tebe nemám.");
case DONE -> Cli.gotItems(character.getInventory());
}
}

View File

@ -69,6 +69,7 @@ public class CommandPalette {
System.out.println("\n\n");
Cli.printHeader("Hra byla vyhrána");
Cli.typeSkritek(content.getMsg());
Cli.printHeader("Konec");
var configPath = ConfigPathProvider.getPath();

View File

@ -29,7 +29,7 @@ public class Baker {
return;
}
var options = new String[]{"Dát pekařovi vodu a mouku", "Nedat pekařovi vodu a mouku"};
var options = new String[]{"Dát pekařce vodu a mouku", "Nedat pekařce vodu a mouku"};
var selected = Cli.selectOptionIndex(Arrays.stream(options).toList());
if (selected == 0) {

View File

@ -80,7 +80,7 @@ public class Wordle {
Cli.type(character, "Vyhrál jsi! Slovo bylo: " + getCurrentWord(wordleData.getFeedbackHistory()));
Cli.gotItems(data.getItems());
}
case GAME_LOST -> Cli.type(character, "Prohrál jsi! Bohužel jste neuhodl slovo. Fragment klíče nedostanete.");
case GAME_LOST -> Cli.type(character, "Prohrál jsi! Bohužel jsi neuhodl slovo. Fragment klíče nedostaneš.");
case GAME_CONTINUE, GAME_CREATED -> {
System.out.println("Zbývající pokusy: " + wordleData.getAttemptsRemaining());
displayFeedback(wordleData.getFeedbackHistory());

View File

@ -126,7 +126,7 @@ public class Cli {
}
var itemsMapped = items.stream().map(Item::toString).toList();
info("Dostal jste: " + String.join(", ", itemsMapped));
info("Dostal/a jsi: " + String.join(", ", itemsMapped));
}
public static void type(Character character, String text) {