The store menu now displays the price of objects, fixes #41
This commit is contained in:
parent
99352bc1d5
commit
e7f24c2371
|
@ -109,8 +109,8 @@ class MainMenuDisplay(Display):
|
|||
self.height - menuy), menuwidth)
|
||||
|
||||
|
||||
class InventoryDisplay(MenuDisplay):
|
||||
message: str
|
||||
class PlayerInventoryDisplay(MenuDisplay):
|
||||
message = _("== INVENTORY ==")
|
||||
|
||||
def update_pad(self) -> None:
|
||||
self.addstr(self.pad, 0, (self.width - len(self.message)) // 2,
|
||||
|
@ -130,9 +130,23 @@ class InventoryDisplay(MenuDisplay):
|
|||
return 2 + super().trueheight
|
||||
|
||||
|
||||
class PlayerInventoryDisplay(InventoryDisplay):
|
||||
message = _("== INVENTORY ==")
|
||||
|
||||
|
||||
class StoreInventoryDisplay(InventoryDisplay):
|
||||
class StoreInventoryDisplay(MenuDisplay):
|
||||
message = _("== STALL ==")
|
||||
|
||||
def update_pad(self) -> None:
|
||||
self.addstr(self.pad, 0, (self.width - len(self.message)) // 2,
|
||||
self.message, curses.A_BOLD | curses.A_ITALIC)
|
||||
for i, item in enumerate(self.menu.values):
|
||||
rep = self.pack[item.name.upper()]
|
||||
selection = f"[{rep}]" if i == self.menu.position else f" {rep} "
|
||||
self.addstr(self.pad, 2 + i, 0, selection
|
||||
+ " " + item.translated_name.capitalize()\
|
||||
+": "+str(item.price)+" Hazels")
|
||||
|
||||
@property
|
||||
def truewidth(self) -> int:
|
||||
return max(1, self.height if hasattr(self, "height") else 10)
|
||||
|
||||
@property
|
||||
def trueheight(self) -> int:
|
||||
return 2 + super().trueheight
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: squirrelbattle 3.14.1\n"
|
||||
"Report-Msgid-Bugs-To: squirrel-battle@crans.org\n"
|
||||
"POT-Creation-Date: 2020-12-09 15:40+0100\n"
|
||||
"POT-Creation-Date: 2020-12-11 18:06+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,11 +17,11 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:134
|
||||
#: squirrelbattle/display/menudisplay.py:113
|
||||
msgid "== INVENTORY =="
|
||||
msgstr "== BESTAND =="
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:138
|
||||
#: squirrelbattle/display/menudisplay.py:134
|
||||
msgid "== STALL =="
|
||||
msgstr "== STAND =="
|
||||
|
||||
|
@ -29,36 +29,40 @@ msgstr "== STAND =="
|
|||
msgid "Inventory:"
|
||||
msgstr "Bestand:"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:50
|
||||
#: squirrelbattle/display/statsdisplay.py:53
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "SIE WURDEN GESTORBEN"
|
||||
|
||||
#. TODO
|
||||
#: squirrelbattle/entities/friendly.py:44
|
||||
#: squirrelbattle/entities/friendly.py:33
|
||||
msgid "I don't sell any squirrel"
|
||||
msgstr "Ich verkaufe keinen Eichhörnchen."
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:59
|
||||
#: squirrelbattle/entities/friendly.py:46
|
||||
msgid "Flower power!!"
|
||||
msgstr "Blumenmacht!!"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:59
|
||||
#: squirrelbattle/entities/friendly.py:46
|
||||
msgid "The sun is warm today"
|
||||
msgstr "Die Sonne ist warm heute"
|
||||
|
||||
#. The bomb is exploding.
|
||||
#. Each entity that is close to the bomb takes damages.
|
||||
#. The player earn XP if the entity was killed.
|
||||
#: squirrelbattle/entities/items.py:132
|
||||
#: squirrelbattle/entities/items.py:151
|
||||
msgid "Bomb is exploding."
|
||||
msgstr "Die Bombe explodiert."
|
||||
|
||||
#: squirrelbattle/entities/items.py:204
|
||||
#: squirrelbattle/entities/items.py:224
|
||||
#, python-brace-format
|
||||
msgid "{player} exchanged its body with {entity}."
|
||||
msgstr "{player} täuscht seinem Körper mit {entity} aus."
|
||||
|
||||
#: squirrelbattle/game.py:241
|
||||
#: squirrelbattle/game.py:199 squirrelbattle/tests/game_test.py:537
|
||||
msgid "You do not have enough money"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:243
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
|
@ -66,7 +70,7 @@ msgstr ""
|
|||
"In Ihrer Speicherdatei fehlen einige Schlüssel.\n"
|
||||
"Ihre Speicherung scheint korrupt zu sein. Es wird gelöscht."
|
||||
|
||||
#: squirrelbattle/game.py:249
|
||||
#: squirrelbattle/game.py:251
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
|
@ -74,7 +78,7 @@ msgstr ""
|
|||
"Auf dieser Karte wurde kein Spieler gefunden!\n"
|
||||
"Vielleicht sind Sie gestorben?"
|
||||
|
||||
#: squirrelbattle/game.py:269
|
||||
#: squirrelbattle/game.py:271
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
|
@ -82,17 +86,17 @@ msgstr ""
|
|||
"Die JSON-Datei ist nicht korrekt.\n"
|
||||
"Ihre Speicherung scheint korrumpiert. Sie wurde gelöscht."
|
||||
|
||||
#: squirrelbattle/interfaces.py:428
|
||||
#: squirrelbattle/interfaces.py:429
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} schlägt {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:440
|
||||
#: squirrelbattle/interfaces.py:441
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} nimmt {amount} Schadenspunkte."
|
||||
|
||||
#: squirrelbattle/interfaces.py:442
|
||||
#: squirrelbattle/interfaces.py:443
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} stirbt."
|
||||
|
@ -222,3 +226,7 @@ msgstr "Bombe"
|
|||
#: squirrelbattle/tests/translations_test.py:68
|
||||
msgid "heart"
|
||||
msgstr "Herz"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:69
|
||||
msgid "sword"
|
||||
msgstr "schwert"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: squirrelbattle 3.14.1\n"
|
||||
"Report-Msgid-Bugs-To: squirrel-battle@crans.org\n"
|
||||
"POT-Creation-Date: 2020-12-09 15:40+0100\n"
|
||||
"POT-Creation-Date: 2020-12-11 18:06+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,11 +17,11 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:134
|
||||
#: squirrelbattle/display/menudisplay.py:113
|
||||
msgid "== INVENTORY =="
|
||||
msgstr "== INVENTAIRE =="
|
||||
|
||||
#: squirrelbattle/display/menudisplay.py:138
|
||||
#: squirrelbattle/display/menudisplay.py:134
|
||||
msgid "== STALL =="
|
||||
msgstr "== STAND =="
|
||||
|
||||
|
@ -29,36 +29,40 @@ msgstr "== STAND =="
|
|||
msgid "Inventory:"
|
||||
msgstr "Inventaire :"
|
||||
|
||||
#: squirrelbattle/display/statsdisplay.py:50
|
||||
#: squirrelbattle/display/statsdisplay.py:53
|
||||
msgid "YOU ARE DEAD"
|
||||
msgstr "VOUS ÊTES MORT"
|
||||
|
||||
#. TODO
|
||||
#: squirrelbattle/entities/friendly.py:44
|
||||
#: squirrelbattle/entities/friendly.py:33
|
||||
msgid "I don't sell any squirrel"
|
||||
msgstr "Je ne vends pas d'écureuil"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:59
|
||||
#: squirrelbattle/entities/friendly.py:46
|
||||
msgid "Flower power!!"
|
||||
msgstr "Pouvoir des fleurs !"
|
||||
|
||||
#: squirrelbattle/entities/friendly.py:59
|
||||
#: squirrelbattle/entities/friendly.py:46
|
||||
msgid "The sun is warm today"
|
||||
msgstr "Le soleil est chaud aujourd'hui"
|
||||
|
||||
#. The bomb is exploding.
|
||||
#. Each entity that is close to the bomb takes damages.
|
||||
#. The player earn XP if the entity was killed.
|
||||
#: squirrelbattle/entities/items.py:132
|
||||
#: squirrelbattle/entities/items.py:151
|
||||
msgid "Bomb is exploding."
|
||||
msgstr "La bombe explose."
|
||||
|
||||
#: squirrelbattle/entities/items.py:204
|
||||
#: squirrelbattle/entities/items.py:224
|
||||
#, python-brace-format
|
||||
msgid "{player} exchanged its body with {entity}."
|
||||
msgstr "{player} a échangé son corps avec {entity}."
|
||||
|
||||
#: squirrelbattle/game.py:241
|
||||
#: squirrelbattle/game.py:199 squirrelbattle/tests/game_test.py:537
|
||||
msgid "You do not have enough money"
|
||||
msgstr ""
|
||||
|
||||
#: squirrelbattle/game.py:243
|
||||
msgid ""
|
||||
"Some keys are missing in your save file.\n"
|
||||
"Your save seems to be corrupt. It got deleted."
|
||||
|
@ -66,7 +70,7 @@ msgstr ""
|
|||
"Certaines clés de votre ficher de sauvegarde sont manquantes.\n"
|
||||
"Votre sauvegarde semble corrompue. Elle a été supprimée."
|
||||
|
||||
#: squirrelbattle/game.py:249
|
||||
#: squirrelbattle/game.py:251
|
||||
msgid ""
|
||||
"No player was found on this map!\n"
|
||||
"Maybe you died?"
|
||||
|
@ -74,7 +78,7 @@ msgstr ""
|
|||
"Aucun joueur n'a été trouvé sur la carte !\n"
|
||||
"Peut-être êtes-vous mort ?"
|
||||
|
||||
#: squirrelbattle/game.py:269
|
||||
#: squirrelbattle/game.py:271
|
||||
msgid ""
|
||||
"The JSON file is not correct.\n"
|
||||
"Your save seems corrupted. It got deleted."
|
||||
|
@ -82,17 +86,17 @@ msgstr ""
|
|||
"Le fichier JSON de sauvegarde est incorrect.\n"
|
||||
"Votre sauvegarde semble corrompue. Elle a été supprimée."
|
||||
|
||||
#: squirrelbattle/interfaces.py:428
|
||||
#: squirrelbattle/interfaces.py:429
|
||||
#, python-brace-format
|
||||
msgid "{name} hits {opponent}."
|
||||
msgstr "{name} frappe {opponent}."
|
||||
|
||||
#: squirrelbattle/interfaces.py:440
|
||||
#: squirrelbattle/interfaces.py:441
|
||||
#, python-brace-format
|
||||
msgid "{name} takes {amount} damage."
|
||||
msgstr "{name} prend {amount} points de dégât."
|
||||
|
||||
#: squirrelbattle/interfaces.py:442
|
||||
#: squirrelbattle/interfaces.py:443
|
||||
#, python-brace-format
|
||||
msgid "{name} dies."
|
||||
msgstr "{name} meurt."
|
||||
|
@ -222,3 +226,7 @@ msgstr "bombe"
|
|||
#: squirrelbattle/tests/translations_test.py:68
|
||||
msgid "heart"
|
||||
msgstr "cœur"
|
||||
|
||||
#: squirrelbattle/tests/translations_test.py:69
|
||||
msgid "sword"
|
||||
msgstr "épée"
|
||||
|
|
|
@ -66,3 +66,4 @@ class TestTranslations(unittest.TestCase):
|
|||
self.assertEqual(_("body snatch potion"), "potion d'arrachage de corps")
|
||||
self.assertEqual(_("bomb"), "bombe")
|
||||
self.assertEqual(_("heart"), "cœur")
|
||||
self.assertEqual(_("sword"), "épée")
|
||||
|
|
Loading…
Reference in New Issue