Siege engines: knights bring rams and catapults, masters build their own in the forge
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
5a8ebb984e
commit
1ae41228ab
28 files changed
+530
-15
No files matched your search
@@ -65,6 +65,7 @@ msg.flag_set = Útočná vlajka vztyčena! Bojeschopní tvorové se u ní shrom
|
||||
msg.creature_leaves = Nespokojený tvor opouští tvou říši: {0}!
|
||||
msg.no_gold = Nedostatek zlata!
|
||||
msg.no_wood = Nedostatek dřeva! Pokácej obří houby (nebo stromy) krumpáčem.
|
||||
msg.siege_built = {0} je připraven – polož útočnou vlajku a pošli ho.
|
||||
msg.sold = Místnosti prodány: +{0} zlata.
|
||||
msg.no_mana_bolt = Nedostatek many na blesk.
|
||||
msg.no_mana_heal = Nedostatek many na léčení.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Most, který můžeš vytáhnout: táhni přes řeku a po
|
||||
tool.wall.label = Zeď
|
||||
tool.wall.name = Postavit zeď
|
||||
tool.wall.desc = Naplánuj zdi na své prázdné podlaze (opětovným tažením zrušíš): skřítci je postaví ze zpevněné země. Uzavři tunely a dej dveře tam, kde mají smysl.
|
||||
tool.ram.label = Beranidlo
|
||||
tool.ram.name = Postavit beranidlo
|
||||
tool.ram.desc = Beranidlo vyjede z tvé kovárny (zlato a dřevo). Následuje tvou útočnou vlajku a rozbíjí bránu a věže rytířů.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Postavit katapult
|
||||
tool.catapult.desc = Katapult vyjede z tvé kovárny (zlato a dřevo). Ostřeluje věže rytířů z dálky a následuje vlajku k jejich bráně.
|
||||
cost.bridge = {0} zlata + {1} dřeva/pole nad vodou, {2} zlata nad lávou
|
||||
cost.drawbridge = {0} zlata + {1} dřeva/pole nad vodou, {2} zlata nad lávou
|
||||
cost.gold_wood = {0} zlata + {1} dřeva
|
||||
hint.bridge_where = Mosty musí začínat na tvé zemi: táhni ze svého území přes řeku.
|
||||
hint.bridge_fire = Dřevěné mosty hoří: drž ohnivé pasti, ohnivý dech a blesky dál od nich – kamenné mosty nad lávou nehoří.
|
||||
hint.wall_where = Zdi lze stavět jen na tvé prázdné podlaze (bez místnosti, pasti či dveří).
|
||||
hint.siege_where = Obléhací stroje vyjedou na tvé volné podlaze – a potřebuješ kovárnu.
|
||||
hint.bridge_river = Mosty lze stavět jen přes vodu nebo lávu.
|
||||
msg.hero_burned = Do lávy spadl hrdina: {0}! +{1} zlata.
|
||||
msg.creature_burned = Do lávy spadl tvůj tvor: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = léčí se o třetinu poškození, které způsobí.
|
||||
unit.giant = Obr
|
||||
unit.fairy = Vílí špeh
|
||||
unit.battlemage = Bitevní mág
|
||||
unit.ram = Beranidlo
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Hrdinové zničili past: {0}.
|
||||
best.giant.text = Obr je to, co se stane, když rytíř tři sta let jí zeleninu. Pomalý, obrovský a dveře bere jako pouhý návrh. | Pasti ničí už tím, že stojí vedle nich. Odporné způsoby. Bij ho vším, co máš, nejlépe z dálky.
|
||||
best.fairy.text = Malý udavač Řádu: zářící komár s křídly, poslaný napřed, aby našel tvé pasti a všem to vykecal. Jakmile past uvidí, hrdinové ji rozbijí. | Navíc sype na hrdiny léčivý prášek. Plácni ji první. Dvakrát, pro jistotu.
|
||||
best.battlemage.text = Mág v rouchu Řádu, který považuje zdi za osobní urážku. Zpevněné zdi pod jeho ohnivými koulemi praskají a on o tom nepřestane mluvit. | Zblízka křehký. Nejvíc ho štvou ocelové zdi - dobře.
|
||||
best.ram.text = Kmen s železnou hlavicí a stříškou proti šípům. Tvé bytosti ho nezajímají – tvé dveře, zdi a věže ano. | Zastav ho před dveřmi, nebo si sežeň nové.
|
||||
best.catapult.text = Dřevěné rameno, vědro kamení a rytíř s příliš mnoha volnými chvílemi. Střílí dál než tvé věže a míří nejprve na ně. | Vrhni se na něj: zblízka neublíží ani mouše.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Útok
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Angrebsflaget er sat! Kampklare væsner samles der.
|
||||
msg.creature_leaves = En utilfreds {0} forlader dit rige!
|
||||
msg.no_gold = Ikke nok guld!
|
||||
msg.no_wood = Ikke nok træ! Fæld kæmpesvampe (eller træer) med hakken.
|
||||
msg.siege_built = En {0} er klar – sæt angrebsflaget for at sende den.
|
||||
msg.sold = Rum solgt: +{0} guld.
|
||||
msg.no_mana_bolt = Ikke nok mana til Lyn.
|
||||
msg.no_mana_heal = Ikke nok mana til Helbred.
|
||||
@@ -407,11 +408,19 @@ tool.drawbridge.desc = En bro du kan hejse op: træk over floden for at bygge de
|
||||
tool.wall.label = Mur
|
||||
tool.wall.name = Rejs mur
|
||||
tool.wall.desc = Planlæg mure på dit eget tomme gulv (træk igen for at annullere): imps rejser dem som forstærket jord. Luk tunneller og sæt døre, hvor de tæller.
|
||||
tool.ram.label = Rambuk
|
||||
tool.ram.name = Byg rambuk
|
||||
tool.ram.desc = En rambuk ruller ud af din smedje (guld og træ). Den følger dit angrebsflag og smadrer riddernes port og tårne.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Byg katapult
|
||||
tool.catapult.desc = En katapult ruller ud af din smedje (guld og træ). Den beskyder riddernes tårne på afstand og følger dit angrebsflag til deres port.
|
||||
cost.bridge = {0} guld + {1} træ/felt over vand, {2} guld over lava
|
||||
cost.drawbridge = {0} guld + {1} træ/felt over vand, {2} guld over lava
|
||||
cost.gold_wood = {0} guld + {1} træ
|
||||
hint.bridge_where = Broer skal starte på din egen jord: træk fra dit område hen over floden.
|
||||
hint.bridge_fire = Træbroer brænder: hold ildfælder, ildånde og lyn væk fra dem – stenbroer over lava er brandsikre.
|
||||
hint.wall_where = Mure kan kun rejses på dit eget tomme gulv (intet rum, ingen fælde eller dør).
|
||||
hint.siege_where = Belejringsmaskiner ruller ud på dit eget frie gulv – og du skal have en smedje.
|
||||
hint.bridge_river = Broer kan kun bygges over vand eller lava.
|
||||
msg.hero_burned = En {0} faldt i lavaen! +{1} guld.
|
||||
msg.creature_burned = Din {0} faldt i lavaen.
|
||||
@@ -1035,10 +1044,14 @@ ability.drain.desc = heler sig selv med en tredjedel af den skade, den giver.
|
||||
unit.giant = Kæmpe
|
||||
unit.fairy = Feespion
|
||||
unit.battlemage = Kampmagiker
|
||||
unit.ram = Rambuk
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Heltene ødelagde en fælde: {0}.
|
||||
best.giant.text = En kæmpe er, hvad der sker, når en ridder spiser sine grøntsager i tre hundrede år. Langsom, enorm, og den betragter døre som et forslag. | Den ødelægger fælder bare ved at stå ved siden af dem. Væmmelige manerer. Ram den med alt, helst på afstand.
|
||||
best.fairy.text = Ordenens lille stikker: en glødende myg med vinger, sendt i forvejen for at finde dine fælder og fortælle alle om dem. Når den har set en fælde, smadrer heltene den. | Den drysser også helende støv på heltene. Smæk den først. To gange, for en sikkerheds skyld.
|
||||
best.battlemage.text = En magiker i Ordenens kåbe, der opfatter mure som en personlig fornærmelse. Forstærkede mure brister under hans ildkugler, og han holder aldrig op med at tale om det. | Skrøbelig på nært hold. Stålmure irriterer ham mest - godt.
|
||||
best.ram.text = En træstamme med jernhætte og et tag mod pile. Dine væsner er ligegyldige for den – dine døre, mure og tårne ikke. | Stop den, før den når døren, eller skaf en ny dør.
|
||||
best.catapult.text = En træarm, en spand sten og en ridder med for meget fritid. Den rækker længere end dine tårne og sigter efter dem først. | Storm frem: på nært hold gør den ikke en flue fortræd.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Angrib
|
||||
|
||||
@@ -64,6 +64,7 @@ msg.flag_set = Angriffsflagge gesetzt! Kampfbereite Kreaturen sammeln sich dort.
|
||||
msg.creature_leaves = Ein unzufriedener {0} verlässt dein Reich!
|
||||
msg.no_gold = Nicht genug Gold!
|
||||
msg.no_wood = Nicht genug Holz! Fälle Riesenpilze (oder Bäume) mit der Spitzhacke.
|
||||
msg.siege_built = Ein {0} ist bereit – setze die Angriffsflagge, um ihn loszuschicken.
|
||||
msg.sold = Räume verkauft: +{0} Gold.
|
||||
msg.no_mana_bolt = Nicht genug Mana für den Blitz.
|
||||
msg.no_mana_heal = Nicht genug Mana für die Heilung.
|
||||
@@ -407,11 +408,19 @@ tool.drawbridge.desc = Eine Brücke, die du hochziehen kannst: Ziehe über den F
|
||||
tool.wall.label = Wand
|
||||
tool.wall.name = Wand aufrichten
|
||||
tool.wall.desc = Plane Wände auf deinem eigenen leeren Boden (nochmal ziehen hebt den Plan auf): Imps mauern sie als verstärkte Erde. Schließe Gänge und setze Türen dorthin, wo sie zählen.
|
||||
tool.ram.label = Ramme
|
||||
tool.ram.name = Rammbock bauen
|
||||
tool.ram.desc = Ein Rammbock rollt aus deiner Schmiede (Gold und Holz). Er folgt deiner Angriffsflagge und zertrümmert Tor und Türme der Ritter.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Katapult bauen
|
||||
tool.catapult.desc = Ein Katapult rollt aus deiner Schmiede (Gold und Holz). Es beschießt die Türme der Ritter aus der Ferne und folgt deiner Angriffsflagge zu ihrem Tor.
|
||||
cost.bridge = {0} Gold + {1} Holz/Kachel über Wasser, {2} Gold über Lava
|
||||
cost.drawbridge = {0} Gold + {1} Holz/Kachel über Wasser, {2} Gold über Lava
|
||||
cost.gold_wood = {0} Gold + {1} Holz
|
||||
hint.bridge_where = Brücken müssen an deinem Gebiet beginnen: Ziehe von deinem Reich aus über den Fluss.
|
||||
hint.bridge_fire = Holzbrücken brennen: Halte Feuerfallen, Feueratem und Blitze von ihnen fern – Steinbrücken über Lava sind feuerfest.
|
||||
hint.wall_where = Wände lassen sich nur auf deinem eigenen leeren Boden aufrichten (kein Raum, keine Falle, keine Tür).
|
||||
hint.siege_where = Belagerungsgerät rollt auf deinem eigenen freien Boden aus – und du brauchst eine Schmiede.
|
||||
hint.bridge_river = Brücken lassen sich nur über Wasser oder Lava bauen.
|
||||
msg.hero_burned = Ein {0} ist in die Lava gefallen! +{1} Gold.
|
||||
msg.creature_burned = Dein {0} ist in die Lava gefallen.
|
||||
@@ -1035,10 +1044,14 @@ ability.drain.desc = heilt sich um ein Drittel des Schadens, den er austeilt.
|
||||
unit.giant = Riese
|
||||
unit.fairy = Feenspion
|
||||
unit.battlemage = Kampfmagier
|
||||
unit.ram = Rammbock
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Die Helden haben eine Falle zerstört: {0}.
|
||||
best.giant.text = Ein Riese ist, was passiert, wenn ein Ritter dreihundert Jahre lang sein Gemüse isst. Langsam, gewaltig, und Türen hält er für einen Vorschlag. | Fallen zertrümmert er, indem er einfach danebensteht. Widerliche Manieren. Bearbeite ihn mit allem, am besten aus der Ferne.
|
||||
best.fairy.text = Der kleine Spitzel des Ordens: eine leuchtende Mücke mit Flügeln, vorausgeschickt, um deine Fallen zu finden und es allen zu erzählen. Hat sie eine Falle gesehen, schlagen die Helden sie kaputt. | Außerdem streut sie Heilstaub auf die Helden. Erschlag sie zuerst. Zweimal, sicherheitshalber.
|
||||
best.battlemage.text = Ein Magier in der Robe des Ordens, der Mauern als persönliche Beleidigung empfindet. Verstärkte Wände zerplatzen unter seinen Feuerbällen, und er hört nicht auf, davon zu reden. | Aus der Nähe zerbrechlich. Stahlwände ärgern ihn am meisten - gut so.
|
||||
best.ram.text = Ein Baumstamm mit Eisenkappe und einem Dach gegen Pfeile. Deine Kreaturen sind ihm egal – nur deine Türen, Wände und Türme nicht. | Halte ihn auf, bevor er die Tür erreicht, oder besorg dir eine neue.
|
||||
best.catapult.text = Ein Holzarm, ein Eimer Steine und ein Ritter mit zu viel Zeit. Es schießt weiter als deine Türme und nimmt sie zuerst ins Visier. | Stürm drauf los: aus der Nähe tut es keiner Fliege etwas.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Angriff
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Η σημαία επίθεσης στήθηκε! Τα μάχιμ
|
||||
msg.creature_leaves = Δυσαρεστημένο πλάσμα εγκαταλείπει το βασίλειό σου: {0}!
|
||||
msg.no_gold = Δεν φτάνει ο χρυσός!
|
||||
msg.no_wood = Δεν φτάνει το ξύλο! Κόψε γιγάντια μανιτάρια (ή δέντρα) με την αξίνα.
|
||||
msg.siege_built = Ένας {0} είναι έτοιμος – βάλε τη σημαία επίθεσης για να τον στείλεις.
|
||||
msg.sold = Δωμάτια πουλήθηκαν: +{0} χρυσός.
|
||||
msg.no_mana_bolt = Δεν φτάνει το μάνα για Κεραυνό.
|
||||
msg.no_mana_heal = Δεν φτάνει το μάνα για Ίαση.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Γέφυρα που μπορείς να σηκώσεις:
|
||||
tool.wall.label = Τοίχος
|
||||
tool.wall.name = Ύψωσε τοίχο
|
||||
tool.wall.desc = Σχεδίασε τοίχους στο δικό σου άδειο πάτωμα (σύρε ξανά για ακύρωση): τα διαβολάκια τους υψώνουν από ενισχυμένο χώμα. Κλείσε σήραγγες και βάλε πόρτες εκεί που μετράνε.
|
||||
tool.ram.label = Κριός
|
||||
tool.ram.name = Χτίσε κριό
|
||||
tool.ram.desc = Ένας κριός βγαίνει από το σιδηρουργείο σου (χρυσός και ξύλο). Ακολουθεί τη σημαία επίθεσης και σπάει την πύλη και τους πύργους των ιπποτών.
|
||||
tool.catapult.label = Καταπέλτης
|
||||
tool.catapult.name = Χτίσε καταπέλτη
|
||||
tool.catapult.desc = Ένας καταπέλτης βγαίνει από το σιδηρουργείο σου (χρυσός και ξύλο). Χτυπά από μακριά τους πύργους των ιπποτών και ακολουθεί τη σημαία ως την πύλη τους.
|
||||
cost.bridge = {0} χρυσός + {1} ξύλο/πλακίδιο πάνω από νερό, {2} χρυσός πάνω από λάβα
|
||||
cost.drawbridge = {0} χρυσός + {1} ξύλο/πλακίδιο πάνω από νερό, {2} χρυσός πάνω από λάβα
|
||||
cost.gold_wood = {0} χρυσός + {1} ξύλο
|
||||
hint.bridge_where = Οι γέφυρες ξεκινούν από το δικό σου έδαφος: σύρε από την επικράτειά σου πέρα από το ποτάμι.
|
||||
hint.bridge_fire = Οι ξύλινες γέφυρες καίγονται: κράτα μακριά παγίδες φωτιάς, πύρινη ανάσα και κεραυνούς – οι πέτρινες γέφυρες πάνω από λάβα δεν καίγονται.
|
||||
hint.wall_where = Τοίχοι υψώνονται μόνο στο δικό σου άδειο πάτωμα (χωρίς δωμάτιο, παγίδα ή πόρτα).
|
||||
hint.siege_where = Οι πολιορκητικές μηχανές βγαίνουν στο δικό σου ελεύθερο πάτωμα – και χρειάζεσαι σιδηρουργείο.
|
||||
hint.bridge_river = Γέφυρες χτίζονται μόνο πάνω από νερό ή λάβα.
|
||||
msg.hero_burned = Έπεσε στη λάβα: {0}! +{1} χρυσός.
|
||||
msg.creature_burned = Έπεσε στη λάβα: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = γιατρεύεται κατά το ένα τρίτο τη
|
||||
unit.giant = Γίγαντας
|
||||
unit.fairy = Νεράιδα Κατάσκοπος
|
||||
unit.battlemage = Μάγος Μάχης
|
||||
unit.ram = Πολιορκητικός κριός
|
||||
unit.catapult = Καταπέλτης
|
||||
msg.trap_wrecked = Οι ήρωες κατέστρεψαν μια παγίδα: {0}.
|
||||
best.giant.text = Γίγαντας είναι ό,τι γίνεται όταν ένας ιππότης τρώει τα λαχανικά του για τριακόσια χρόνια. Αργός, τεράστιος, και θεωρεί τις πόρτες απλή πρόταση. | Καταστρέφει παγίδες απλώς στεκόμενος δίπλα τους. Αποκρουστικοί τρόποι. Χτύπα τον με ό,τι έχεις, κατά προτίμηση από μακριά.
|
||||
best.fairy.text = Ο μικρός καταδότης του Τάγματος: μια φωτεινή σκνίπα με φτερά, που στέλνεται μπροστά να βρει τις παγίδες σου και να τα πει σε όλους. Μόλις δει μια παγίδα, οι ήρωες τη σπάνε. | Ραντίζει επίσης τους ήρωες με θεραπευτική σκόνη. Λιώσ' την πρώτη. Δύο φορές, για σιγουριά.
|
||||
best.battlemage.text = Ένας μάγος με τον χιτώνα του Τάγματος που θεωρεί τους τοίχους προσωπική προσβολή. Οι ενισχυμένοι τοίχοι σκάνε κάτω από τις πύρινες σφαίρες του, και δεν σταματά ποτέ να το λέει. | Εύθραυστος από κοντά. Οι ατσάλινοι τοίχοι τον εκνευρίζουν περισσότερο - ωραία.
|
||||
best.ram.text = Ένας κορμός με σιδερένια κεφαλή και στέγη για τα βέλη. Τα πλάσματά σου δεν τον νοιάζουν – οι πόρτες, οι τοίχοι και οι πύργοι σου ναι. | Σταμάτα τον πριν φτάσει στην πόρτα, ή βρες καινούργια.
|
||||
best.catapult.text = Ένας ξύλινος βραχίονας, ένας κουβάς πέτρες και ένας ιππότης με πολύ ελεύθερο χρόνο. Βάλλει πιο μακριά από τους πύργους σου και τους σημαδεύει πρώτους. | Όρμα του: από κοντά δεν πειράζει ούτε μύγα.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Επίθεση
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Attack flag set! Battle-ready creatures gather there.
|
||||
msg.creature_leaves = An unhappy {0} leaves your realm!
|
||||
msg.no_gold = Not enough gold!
|
||||
msg.no_wood = Not enough wood! Fell giant mushrooms (or trees) with the pick.
|
||||
msg.siege_built = A {0} is ready – set the attack flag to send it.
|
||||
msg.sold = Rooms sold: +{0} gold.
|
||||
msg.no_mana_bolt = Not enough mana for Lightning.
|
||||
msg.no_mana_heal = Not enough mana for Heal.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = A bridge you can raise: drag across the river to build it
|
||||
tool.wall.label = Wall
|
||||
tool.wall.name = Raise Wall
|
||||
tool.wall.desc = Plan walls on your own empty floor (drag again to cancel): imps raise them as reinforced earth. Close tunnels, then put doors where they matter.
|
||||
tool.ram.label = Ram
|
||||
tool.ram.name = Build Battering Ram
|
||||
tool.ram.desc = A battering ram rolls out of your forge (gold and wood). It follows your attack flag and smashes the knights' gate and towers.
|
||||
tool.catapult.label = Catapult
|
||||
tool.catapult.name = Build Catapult
|
||||
tool.catapult.desc = A catapult rolls out of your forge (gold and wood). It shoots the knights' towers from afar and follows your attack flag to their gate.
|
||||
cost.bridge = {0} gold + {1} wood/tile over water, {2} gold over lava
|
||||
cost.drawbridge = {0} gold + {1} wood/tile over water, {2} gold over lava
|
||||
cost.gold_wood = {0} gold + {1} wood
|
||||
hint.bridge_where = Bridges must start at your own ground: drag from your territory across the river.
|
||||
hint.bridge_fire = Wooden bridges burn: keep fire traps, fire breath and lightning away from them – stone bridges over lava are fireproof.
|
||||
hint.wall_where = Walls can only be raised on your own empty floor (no room, trap or door).
|
||||
hint.siege_where = Siege engines roll out on your own open ground – and you need a forge.
|
||||
hint.bridge_river = Bridges can only be built over water or lava.
|
||||
msg.hero_burned = A {0} fell into the lava! +{1} gold.
|
||||
msg.creature_burned = Your {0} fell into the lava.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = heals itself by a third of the damage it deals.
|
||||
unit.giant = Giant
|
||||
unit.fairy = Fairy Spy
|
||||
unit.battlemage = Battle Mage
|
||||
unit.ram = Battering ram
|
||||
unit.catapult = Catapult
|
||||
msg.trap_wrecked = The heroes wrecked a trap: {0}.
|
||||
best.giant.text = A giant is what happens when a knight eats his vegetables for three hundred years. Slow, enormous, and it treats doors as a suggestion. | It wrecks traps simply by standing next to them. Revolting manners. Hit it with everything, preferably from afar.
|
||||
best.fairy.text = The Order's little informer: a glowing gnat with wings, sent ahead to find your traps and tell everybody. Once it has seen a trap, the heroes smash it. | It also sprinkles healing dust on the heroes. Swat it first. Twice, to be sure.
|
||||
best.battlemage.text = A mage in the Order's robes who thinks walls are a personal insult. Reinforced walls burst under his fireballs, and he never stops talking about it. | Fragile up close. Steel walls annoy him most - good.
|
||||
best.ram.text = A tree trunk with an iron cap and a roof against arrows. It does not care for your creatures – only for your doors, walls and towers. | Stop it before it reaches the door, or get a new door.
|
||||
best.catapult.text = A wooden arm, a bucket of rocks and a knight with too much spare time. It outranges your towers and aims for them first. | Rush it: up close it cannot hurt a fly.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Attack
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = ¡Bandera de ataque colocada! Las criaturas listas para luchar se
|
||||
msg.creature_leaves = ¡Un {0} descontento abandona tu reino!
|
||||
msg.no_gold = ¡No hay oro suficiente!
|
||||
msg.no_wood = ¡No hay madera suficiente! Tala setas gigantes (o árboles) con el pico.
|
||||
msg.siege_built = Un {0} está listo: pon la bandera de ataque para enviarlo.
|
||||
msg.sold = Salas vendidas: +{0} de oro.
|
||||
msg.no_mana_bolt = No hay maná suficiente para el Rayo.
|
||||
msg.no_mana_heal = No hay maná suficiente para Curar.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Un puente que puedes alzar: arrástralo sobre el río par
|
||||
tool.wall.label = Muro
|
||||
tool.wall.name = Levantar muro
|
||||
tool.wall.desc = Planea muros en tu propio suelo vacío (arrastra otra vez para cancelar): los diablillos los levantan como tierra reforzada. Cierra túneles y pon puertas donde importan.
|
||||
tool.ram.label = Ariete
|
||||
tool.ram.name = Construir ariete
|
||||
tool.ram.desc = Un ariete sale de tu forja (oro y madera). Sigue tu bandera de ataque y destroza la puerta y las torres de los caballeros.
|
||||
tool.catapult.label = Catapulta
|
||||
tool.catapult.name = Construir catapulta
|
||||
tool.catapult.desc = Una catapulta sale de tu forja (oro y madera). Dispara a las torres de los caballeros desde lejos y sigue tu bandera hasta su puerta.
|
||||
cost.bridge = {0} oro + {1} madera/casilla sobre agua, {2} oro sobre lava
|
||||
cost.drawbridge = {0} oro + {1} madera/casilla sobre agua, {2} oro sobre lava
|
||||
cost.gold_wood = {0} oro + {1} madera
|
||||
hint.bridge_where = Los puentes deben empezar en tu propio suelo: arrastra desde tu territorio a través del río.
|
||||
hint.bridge_fire = Los puentes de madera arden: aleja de ellos las trampas de fuego, el aliento de fuego y los rayos; los puentes de piedra sobre lava son ignífugos.
|
||||
hint.wall_where = Solo puedes levantar muros en tu propio suelo vacío (sin sala, trampa ni puerta).
|
||||
hint.siege_where = Las máquinas de asedio salen en tu propio suelo libre, y necesitas una forja.
|
||||
hint.bridge_river = Los puentes solo pueden construirse sobre agua o lava.
|
||||
msg.hero_burned = ¡Un {0} ha caído en la lava! +{1} de oro.
|
||||
msg.creature_burned = Tu {0} ha caído en la lava.
|
||||
@@ -1028,10 +1037,14 @@ ability.drain.desc = se cura un tercio del daño que inflige.
|
||||
unit.giant = Gigante
|
||||
unit.fairy = Hada espía
|
||||
unit.battlemage = Mago de batalla
|
||||
unit.ram = Ariete
|
||||
unit.catapult = Catapulta
|
||||
msg.trap_wrecked = Los héroes han destrozado una trampa: {0}.
|
||||
best.giant.text = Un gigante es lo que pasa cuando un caballero se come la verdura durante trescientos años. Lento, enorme, y trata las puertas como una sugerencia. | Destroza trampas con solo plantarse a su lado. Modales repugnantes. Golpéalo con todo, a ser posible desde lejos.
|
||||
best.fairy.text = La pequeña chivata de la Orden: un mosquito brillante con alas, enviado por delante para encontrar tus trampas y contárselo a todos. Cuando ha visto una trampa, los héroes la destrozan. | También rocía polvo curativo sobre los héroes. Aplástala primero. Dos veces, por si acaso.
|
||||
best.battlemage.text = Un mago con el hábito de la Orden que considera los muros un insulto personal. Los muros reforzados revientan bajo sus bolas de fuego, y nunca deja de hablar de ello. | Frágil de cerca. Lo que más le fastidia son los muros de acero. Bien.
|
||||
best.ram.text = Un tronco con punta de hierro y un tejado contra las flechas. Tus criaturas le dan igual; tus puertas, muros y torres no. | Detenlo antes de que llegue a la puerta, o búscate otra puerta.
|
||||
best.catapult.text = Un brazo de madera, un cubo de piedras y un caballero con demasiado tiempo libre. Alcanza más lejos que tus torres y apunta a ellas primero. | Lánzate sobre ella: de cerca no hace daño ni a una mosca.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Atacar
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Hyökkäyslippu asetettu! Taisteluvalmiit olennot kokoontuvat sin
|
||||
msg.creature_leaves = Tyytymätön olento lähtee valtakunnastasi: {0}!
|
||||
msg.no_gold = Kulta ei riitä!
|
||||
msg.no_wood = Ei tarpeeksi puuta! Kaada jättisieniä (tai puita) hakulla.
|
||||
msg.siege_built = {0} on valmis – aseta hyökkäyslippu lähettääksesi sen.
|
||||
msg.sold = Huoneita myyty: +{0} kultaa.
|
||||
msg.no_mana_bolt = Mana ei riitä salamaan.
|
||||
msg.no_mana_heal = Mana ei riitä parannukseen.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Silta, jonka voit nostaa: vedä joen yli rakentaaksesi, n
|
||||
tool.wall.label = Muuri
|
||||
tool.wall.name = Pystytä muuri
|
||||
tool.wall.desc = Suunnittele muureja omalle tyhjälle lattiallesi (vedä uudelleen peruaksesi): pirut pystyttävät ne vahvistetusta maasta. Sulje tunnelit ja laita ovet sinne, missä ne merkitsevät.
|
||||
tool.ram.label = Murtaja
|
||||
tool.ram.name = Rakenna muurinmurtaja
|
||||
tool.ram.desc = Muurinmurtaja vierii pajastasi (kultaa ja puuta). Se seuraa hyökkäyslippuasi ja murskaa ritarien portin ja tornit.
|
||||
tool.catapult.label = Katapultti
|
||||
tool.catapult.name = Rakenna katapultti
|
||||
tool.catapult.desc = Katapultti vierii pajastasi (kultaa ja puuta). Se ampuu ritarien torneja kaukaa ja seuraa hyökkäyslippuasi heidän portilleen.
|
||||
cost.bridge = {0} kultaa + {1} puuta/ruutu veden yllä, {2} kultaa laavan yllä
|
||||
cost.drawbridge = {0} kultaa + {1} puuta/ruutu veden yllä, {2} kultaa laavan yllä
|
||||
cost.gold_wood = {0} kultaa + {1} puuta
|
||||
hint.bridge_where = Siltojen on alettava omalta maaltasi: vedä alueeltasi joen yli.
|
||||
hint.bridge_fire = Puusillat palavat: pidä tuliansat, tulihenkäys ja salamat loitolla – kivisillat laavan yllä eivät pala.
|
||||
hint.wall_where = Muureja voi pystyttää vain omalle tyhjälle lattialle (ei huonetta, ansaa eikä ovea).
|
||||
hint.siege_where = Piiritysvälineet rakennetaan omalle vapaalle lattiallesi – ja tarvitset pajan.
|
||||
hint.bridge_river = Siltoja voi rakentaa vain veden tai laavan yli.
|
||||
msg.hero_burned = Laavaan putosi: {0}! +{1} kultaa.
|
||||
msg.creature_burned = Olentosi putosi laavaan: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = parantaa itseään kolmanneksella aiheuttamastaan vahingost
|
||||
unit.giant = Jättiläinen
|
||||
unit.fairy = Keijuvakooja
|
||||
unit.battlemage = Taistelumaagi
|
||||
unit.ram = Muurinmurtaja
|
||||
unit.catapult = Katapultti
|
||||
msg.trap_wrecked = Sankarit romuttivat ansan: {0}.
|
||||
best.giant.text = Jättiläinen on se, mitä tapahtuu, kun ritari syö vihanneksensa kolmensadan vuoden ajan. Hidas, valtava, ja ovet ovat sille pelkkä ehdotus. | Se romuttaa ansat pelkästään seisomalla niiden vieressä. Kuvottavat tavat. Lyö sitä kaikella, mieluiten kaukaa.
|
||||
best.fairy.text = Ritarikunnan pieni ilmiantaja: hehkuva siivekäs mäkärä, joka lähetetään edeltä etsimään ansasi ja kertomaan kaikille. Kun se on nähnyt ansan, sankarit murskaavat sen. | Se myös sirottelee parantavaa pölyä sankarien päälle. Läimäise se ensin. Kahdesti, varmuuden vuoksi.
|
||||
best.battlemage.text = Maagi ritarikunnan kaavussa, joka pitää muureja henkilökohtaisena loukkauksena. Vahvistetut seinät halkeavat hänen tulipallojensa alla, eikä hän lakkaa puhumasta siitä. | Hauras lähietäisyydellä. Teräsmuurit ärsyttävät häntä eniten - hyvä.
|
||||
best.ram.text = Puunrunko rautakärjellä ja katto nuolia vastaan. Olentosi eivät sitä kiinnosta – ovesi, muurisi ja tornisi kyllä. | Pysäytä se ennen ovea tai hanki uusi ovi.
|
||||
best.catapult.text = Puinen varsi, ämpäri kiviä ja ritari, jolla on liikaa vapaa-aikaa. Se ampuu torneja kauempaa ja tähtää niihin ensin. | Ryntää sen kimppuun: läheltä se ei vahingoita kärpästäkään.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Hyökkää
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Zastava napada postavljena! Stvorenja spremna za boj okupljaju se
|
||||
msg.creature_leaves = Nezadovoljno stvorenje napušta tvoje carstvo: {0}!
|
||||
msg.no_gold = Nema dovoljno zlata!
|
||||
msg.no_wood = Nema dovoljno drva! Sruši divovske gljive (ili stabla) krampom.
|
||||
msg.siege_built = {0} je spreman – postavi zastavu napada da ga pošalješ.
|
||||
msg.sold = Prostorije prodane: +{0} zlata.
|
||||
msg.no_mana_bolt = Nema dovoljno mane za Munju.
|
||||
msg.no_mana_heal = Nema dovoljno mane za Liječenje.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Most koji možeš podići: povuci preko rijeke da ga izgr
|
||||
tool.wall.label = Zid
|
||||
tool.wall.name = Podigni zid
|
||||
tool.wall.desc = Planiraj zidove na svom praznom podu (ponovno povuci za poništavanje): vražići ih podižu od ojačane zemlje. Zatvori tunele i postavi vrata gdje su važna.
|
||||
tool.ram.label = Ovan
|
||||
tool.ram.name = Izgradi ovan
|
||||
tool.ram.desc = Ovan izlazi iz tvoje kovačnice (zlato i drvo). Slijedi tvoju zastavu napada i razbija vrata i tornjeve vitezova.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Izgradi katapult
|
||||
tool.catapult.desc = Katapult izlazi iz tvoje kovačnice (zlato i drvo). Gađa tornjeve vitezova izdaleka i slijedi tvoju zastavu do njihovih vrata.
|
||||
cost.bridge = {0} zlata + {1} drva/polje nad vodom, {2} zlata nad lavom
|
||||
cost.drawbridge = {0} zlata + {1} drva/polje nad vodom, {2} zlata nad lavom
|
||||
cost.gold_wood = {0} zlata + {1} drva
|
||||
hint.bridge_where = Mostovi moraju početi na tvom tlu: povuci sa svog teritorija preko rijeke.
|
||||
hint.bridge_fire = Drveni mostovi gore: drži vatrene zamke, vatreni dah i munje podalje – kameni mostovi nad lavom ne gore.
|
||||
hint.wall_where = Zidovi se mogu podići samo na tvom praznom podu (bez sobe, zamke ili vrata).
|
||||
hint.siege_where = Opsadne sprave izlaze na tvom slobodnom podu – i treba ti kovačnica.
|
||||
hint.bridge_river = Mostovi se grade samo preko vode ili lave.
|
||||
msg.hero_burned = Pao je u lavu: {0}! +{1} zlata.
|
||||
msg.creature_burned = Tvoje stvorenje palo je u lavu: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = liječi se za trećinu štete koju nanese.
|
||||
unit.giant = Div
|
||||
unit.fairy = Vila uhoda
|
||||
unit.battlemage = Bojni mag
|
||||
unit.ram = Ovan
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Junaci su uništili zamku: {0}.
|
||||
best.giant.text = Div je ono što se dogodi kad vitez tristo godina jede povrće. Spor, golem, a vrata smatra prijedlogom. | Zamke uništava samim tim što stoji pokraj njih. Odvratno ponašanje. Udri ga svime, najbolje izdaleka.
|
||||
best.fairy.text = Mali doušnik Reda: svjetleća mušica s krilima, poslana naprijed da pronađe tvoje zamke i svima ih oda. Kad jednom vidi zamku, junaci je razbiju. | Usto posipa junake ljekovitim prahom. Zgnječi je prvu. Dvaput, za svaki slučaj.
|
||||
best.battlemage.text = Mag u halji Reda koji zidove smatra osobnom uvredom. Ojačani zidovi pucaju pod njegovim vatrenim kuglama, a on o tome neprestano priča. | Krhak izbliza. Čelični zidovi najviše ga živciraju - dobro.
|
||||
best.ram.text = Deblo sa željeznom kapom i krovom protiv strijela. Tvoja stvorenja ga ne zanimaju – tvoja vrata, zidovi i tornjevi da. | Zaustavi ga prije vrata ili nabavi nova vrata.
|
||||
best.catapult.text = Drvena ruka, kanta kamenja i vitez s previše slobodnog vremena. Gađa dalje od tvojih tornjeva i cilja ih prve. | Jurni na nj: izbliza ni muhi ne nanosi zlo.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Napad
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Támadási zászló kitűzve! A harcra kész lények ott gyüleke
|
||||
msg.creature_leaves = Egy elégedetlen lény elhagyja a birodalmadat: {0}!
|
||||
msg.no_gold = Nincs elég arany!
|
||||
msg.no_wood = Nincs elég fa! Vágj ki óriásgombákat (vagy fákat) a csákánnyal.
|
||||
msg.siege_built = Egy {0} kész – tűzd ki a támadási zászlót, hogy elküldd.
|
||||
msg.sold = Szobák eladva: +{0} arany.
|
||||
msg.no_mana_bolt = Nincs elég mana a Villámhoz.
|
||||
msg.no_mana_heal = Nincs elég mana a Gyógyításhoz.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Felhúzható híd: húzd át a folyón az építéshez, k
|
||||
tool.wall.label = Fal
|
||||
tool.wall.name = Fal emelése
|
||||
tool.wall.desc = Tervezz falakat a saját üres padlódra (újra húzva törlöd): a manók megerősített földből emelik. Zárd le az alagutakat, és tegyél ajtót oda, ahol számít.
|
||||
tool.ram.label = Kos
|
||||
tool.ram.name = Faltörő kos építése
|
||||
tool.ram.desc = Egy faltörő kos gördül ki a kovácsműhelyedből (arany és fa). Követi a támadási zászlódat, és szétzúzza a lovagok kapuját és tornyait.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Katapult építése
|
||||
tool.catapult.desc = Egy katapult gördül ki a kovácsműhelyedből (arany és fa). Messziről lövi a lovagok tornyait, és követi a zászlódat a kapujukig.
|
||||
cost.bridge = {0} arany + {1} fa/mező víz fölött, {2} arany láva fölött
|
||||
cost.drawbridge = {0} arany + {1} fa/mező víz fölött, {2} arany láva fölött
|
||||
cost.gold_wood = {0} arany + {1} fa
|
||||
hint.bridge_where = A hídnak a saját földedről kell indulnia: húzd a területedről a folyón át.
|
||||
hint.bridge_fire = A fahidak égnek: tartsd távol tőlük a tűzcsapdákat, a tűzleheletet és a villámokat – a láva feletti kőhidak tűzállók.
|
||||
hint.wall_where = Falat csak a saját üres padlódra emelhetsz (nincs ott szoba, csapda vagy ajtó).
|
||||
hint.siege_where = Az ostromgépek a saját szabad padlódon készülnek – és kovácsműhely kell hozzá.
|
||||
hint.bridge_river = Hidat csak víz vagy láva fölé lehet építeni.
|
||||
msg.hero_burned = Hős esett a lávába: {0}! +{1} arany.
|
||||
msg.creature_burned = Lényed esett a lávába: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = az okozott sebzés harmadával gyógyítja magát.
|
||||
unit.giant = Óriás
|
||||
unit.fairy = Tündérkém
|
||||
unit.battlemage = Harci mágus
|
||||
unit.ram = Faltörő kos
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = A hősök tönkretettek egy csapdát: {0}.
|
||||
best.giant.text = Az óriás az, ami akkor lesz, ha egy lovag háromszáz évig megeszi a zöldséget. Lassú, hatalmas, és az ajtókat csak javaslatnak tekinti. | Pusztán azzal tönkreteszi a csapdákat, hogy melléjük áll. Visszataszító modor. Vágj hozzá mindent, lehetőleg messziről.
|
||||
best.fairy.text = A Rend kis besúgója: egy világító szúnyog szárnyakkal, akit előreküldenek, hogy megtalálja a csapdáidat, és mindenkinek elmondja. Ha egyszer meglátott egy csapdát, a hősök szétverik. | Ráadásul gyógyító port szór a hősökre. Csapd agyon elsőként. Kétszer, a biztonság kedvéért.
|
||||
best.battlemage.text = Mágus a Rend köntösében, aki a falakat személyes sértésnek veszi. A megerősített falak szétrobbannak a tűzgolyói alatt, és sosem hallgat el róla. | Közelről törékeny. Az acélfalak bosszantják a legjobban - helyes.
|
||||
best.ram.text = Egy vaskupakos fatörzs, nyilak ellen tetővel. A lényeid hidegen hagyják – az ajtóid, falaid és tornyaid nem. | Állítsd meg az ajtó előtt, vagy szerezz új ajtót.
|
||||
best.catapult.text = Egy fakar, egy vödör kő és egy lovag túl sok szabadidővel. Messzebbre lő a tornyaidnál, és először azokat veszi célba. | Rohamozd meg: közelről a légynek sem árt.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Támadás
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Bandiera d'attacco piantata! Le creature pronte alla lotta si rad
|
||||
msg.creature_leaves = Una creatura scontenta lascia il tuo regno: {0}!
|
||||
msg.no_gold = Oro insufficiente!
|
||||
msg.no_wood = Legno insufficiente! Abbatti funghi giganti (o alberi) con il piccone.
|
||||
msg.siege_built = Un {0} è pronto: metti la bandiera d'attacco per mandarlo.
|
||||
msg.sold = Stanze vendute: +{0} oro.
|
||||
msg.no_mana_bolt = Mana insufficiente per il Fulmine.
|
||||
msg.no_mana_heal = Mana insufficiente per la Cura.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Un ponte che puoi sollevare: trascina sul fiume per costr
|
||||
tool.wall.label = Muro
|
||||
tool.wall.name = Alza muro
|
||||
tool.wall.desc = Pianifica muri sul tuo pavimento vuoto (trascina di nuovo per annullare): i diavoletti li alzano come terra rinforzata. Chiudi i tunnel e metti le porte dove contano.
|
||||
tool.ram.label = Ariete
|
||||
tool.ram.name = Costruisci ariete
|
||||
tool.ram.desc = Un ariete esce dalla tua forgia (oro e legno). Segue la tua bandiera d'attacco e sfonda porta e torri dei cavalieri.
|
||||
tool.catapult.label = Catapulta
|
||||
tool.catapult.name = Costruisci catapulta
|
||||
tool.catapult.desc = Una catapulta esce dalla tua forgia (oro e legno). Colpisce da lontano le torri dei cavalieri e segue la tua bandiera fino alla loro porta.
|
||||
cost.bridge = {0} oro + {1} legno/casella sull'acqua, {2} oro sulla lava
|
||||
cost.drawbridge = {0} oro + {1} legno/casella sull'acqua, {2} oro sulla lava
|
||||
cost.gold_wood = {0} oro + {1} legno
|
||||
hint.bridge_where = I ponti devono partire dal tuo suolo: trascina dal tuo territorio attraverso il fiume.
|
||||
hint.bridge_fire = I ponti di legno bruciano: tieni lontani trappole di fuoco, soffio infuocato e fulmini; i ponti di pietra sulla lava sono ignifughi.
|
||||
hint.wall_where = I muri si alzano solo sul tuo pavimento vuoto (niente stanze, trappole o porte).
|
||||
hint.siege_where = Le macchine d'assedio escono sul tuo terreno libero, e serve una forgia.
|
||||
hint.bridge_river = I ponti si costruiscono solo su acqua o lava.
|
||||
msg.hero_burned = Un eroe è caduto nella lava: {0}! +{1} oro.
|
||||
msg.creature_burned = È caduto nella lava: {0}.
|
||||
@@ -1028,10 +1037,14 @@ ability.drain.desc = si cura di un terzo del danno che infligge.
|
||||
unit.giant = Gigante
|
||||
unit.fairy = Fata spia
|
||||
unit.battlemage = Mago da battaglia
|
||||
unit.ram = Ariete
|
||||
unit.catapult = Catapulta
|
||||
msg.trap_wrecked = Gli eroi hanno distrutto una trappola: {0}.
|
||||
best.giant.text = Un gigante è ciò che succede quando un cavaliere mangia la verdura per trecento anni. Lento, enorme, e considera le porte un semplice suggerimento. | Distrugge le trappole solo stando loro accanto. Maniere rivoltanti. Colpiscilo con tutto, preferibilmente da lontano.
|
||||
best.fairy.text = La piccola spia dell'Ordine: un moscerino luminoso con le ali, mandato avanti a trovare le tue trappole e a dirlo a tutti. Appena ha visto una trappola, gli eroi la distruggono. | Sparge anche polvere curativa sugli eroi. Schiacciala per prima. Due volte, per sicurezza.
|
||||
best.battlemage.text = Un mago con la tonaca dell'Ordine che considera i muri un insulto personale. I muri rinforzati scoppiano sotto le sue palle di fuoco, e lui non smette mai di vantarsene. | Fragile da vicino. I muri d'acciaio lo irritano più di tutto - bene.
|
||||
best.ram.text = Un tronco con punta di ferro e un tetto contro le frecce. Delle tue creature non gli importa: solo di porte, muri e torri. | Fermalo prima che arrivi alla porta, o procurati una porta nuova.
|
||||
best.catapult.text = Un braccio di legno, un secchio di sassi e un cavaliere con troppo tempo libero. Tira più lontano delle tue torri e le punta per prime. | Caricala: da vicino non fa male a una mosca.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Attacca
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Aanvalsvlag geplaatst! Strijdklare wezens verzamelen zich daar.
|
||||
msg.creature_leaves = Een ontevreden {0} verlaat je rijk!
|
||||
msg.no_gold = Niet genoeg goud!
|
||||
msg.no_wood = Niet genoeg hout! Kap reuzenpaddenstoelen (of bomen) met het houweel.
|
||||
msg.siege_built = Een {0} is klaar – zet de aanvalsvlag om hem te sturen.
|
||||
msg.sold = Kamers verkocht: +{0} goud.
|
||||
msg.no_mana_bolt = Niet genoeg mana voor Bliksem.
|
||||
msg.no_mana_heal = Niet genoeg mana voor Genezen.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Een brug die je kunt ophalen: sleep over de rivier om hem
|
||||
tool.wall.label = Muur
|
||||
tool.wall.name = Muur optrekken
|
||||
tool.wall.desc = Plan muren op je eigen lege vloer (nogmaals slepen annuleert): duiveltjes trekken ze op als versterkte aarde. Sluit tunnels en zet deuren waar ze tellen.
|
||||
tool.ram.label = Ram
|
||||
tool.ram.name = Stormram bouwen
|
||||
tool.ram.desc = Een stormram rolt uit je smidse (goud en hout). Hij volgt je aanvalsvlag en beukt de poort en torens van de ridders kapot.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Katapult bouwen
|
||||
tool.catapult.desc = Een katapult rolt uit je smidse (goud en hout). Hij beschiet de torens van de ridders van ver en volgt je aanvalsvlag naar hun poort.
|
||||
cost.bridge = {0} goud + {1} hout/tegel boven water, {2} goud boven lava
|
||||
cost.drawbridge = {0} goud + {1} hout/tegel boven water, {2} goud boven lava
|
||||
cost.gold_wood = {0} goud + {1} hout
|
||||
hint.bridge_where = Bruggen moeten op je eigen grond beginnen: sleep vanuit je gebied over de rivier.
|
||||
hint.bridge_fire = Houten bruggen branden: houd vuurvallen, vuuradem en bliksem uit de buurt – stenen bruggen over lava zijn vuurvast.
|
||||
hint.wall_where = Muren kunnen alleen op je eigen lege vloer (geen kamer, val of deur).
|
||||
hint.siege_where = Belegeringswerktuigen rollen uit op je eigen vrije vloer – en je hebt een smidse nodig.
|
||||
hint.bridge_river = Bruggen kun je alleen over water of lava bouwen.
|
||||
msg.hero_burned = Een {0} is in de lava gevallen! +{1} goud.
|
||||
msg.creature_burned = Je {0} is in de lava gevallen.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = geneest zichzelf met een derde van de schade die hij toebre
|
||||
unit.giant = Reus
|
||||
unit.fairy = Feeënspion
|
||||
unit.battlemage = Strijdmagiër
|
||||
unit.ram = Stormram
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = De helden hebben een val vernield: {0}.
|
||||
best.giant.text = Een reus is wat er gebeurt als een ridder driehonderd jaar zijn groente opeet. Traag, enorm, en deuren beschouwt hij als een suggestie. | Hij vernielt vallen gewoon door ernaast te staan. Walgelijke manieren. Raak hem met alles wat je hebt, liefst van ver.
|
||||
best.fairy.text = De kleine verklikker van de Orde: een gloeiende mug met vleugels, vooruitgestuurd om je vallen te vinden en het iedereen te vertellen. Zodra ze een val heeft gezien, slaan de helden hem kapot. | Ze strooit ook geneesstof over de helden. Mep haar als eerste. Twee keer, voor de zekerheid.
|
||||
best.battlemage.text = Een magiër in het gewaad van de Orde die muren als een persoonlijke belediging opvat. Versterkte muren barsten onder zijn vuurballen, en hij blijft er maar over praten. | Breekbaar van dichtbij. Stalen muren ergeren hem het meest - mooi zo.
|
||||
best.ram.text = Een boomstam met ijzeren kop en een dak tegen pijlen. Je wezens laten hem koud – je deuren, muren en torens niet. | Stop hem voor hij de deur bereikt, of zorg voor een nieuwe deur.
|
||||
best.catapult.text = Een houten arm, een emmer stenen en een ridder met te veel vrije tijd. Hij reikt verder dan je torens en mikt eerst op hen. | Storm erop af: van dichtbij doet hij geen vlieg kwaad.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Aanval
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Angrepsflagget er satt! Kampklare skapninger samles der.
|
||||
msg.creature_leaves = En misfornøyd {0} forlater riket ditt!
|
||||
msg.no_gold = Ikke nok gull!
|
||||
msg.no_wood = Ikke nok tre! Felle kjempesopper (eller trær) med hakka.
|
||||
msg.siege_built = En {0} er klar – sett angrepsflagget for å sende den.
|
||||
msg.sold = Rom solgt: +{0} gull.
|
||||
msg.no_mana_bolt = Ikke nok mana til Lyn.
|
||||
msg.no_mana_heal = Ikke nok mana til Helbred.
|
||||
@@ -407,11 +408,19 @@ tool.drawbridge.desc = En bro du kan heise opp: dra over elva for å bygge den,
|
||||
tool.wall.label = Mur
|
||||
tool.wall.name = Reis mur
|
||||
tool.wall.desc = Planlegg murer på ditt eget tomme gulv (dra igjen for å avbryte): imper reiser dem som forsterket jord. Steng tunneler og sett dører der de teller.
|
||||
tool.ram.label = Rambukk
|
||||
tool.ram.name = Bygg rambukk
|
||||
tool.ram.desc = En rambukk ruller ut av smia di (gull og tre). Den følger angrepsflagget ditt og knuser riddernes port og tårn.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Bygg katapult
|
||||
tool.catapult.desc = En katapult ruller ut av smia di (gull og tre). Den skyter riddernes tårn fra avstand og følger angrepsflagget til porten deres.
|
||||
cost.bridge = {0} gull + {1} tre/rute over vann, {2} gull over lava
|
||||
cost.drawbridge = {0} gull + {1} tre/rute over vann, {2} gull over lava
|
||||
cost.gold_wood = {0} gull + {1} tre
|
||||
hint.bridge_where = Broer må starte på din egen grunn: dra fra området ditt over elven.
|
||||
hint.bridge_fire = Trebroer brenner: hold ildfeller, ildpust og lyn unna dem – steinbroer over lava er brannsikre.
|
||||
hint.wall_where = Murer kan bare reises på ditt eget tomme gulv (ikke rom, felle eller dør).
|
||||
hint.siege_where = Beleiringsmaskiner ruller ut på ditt eget frie gulv – og du trenger en smie.
|
||||
hint.bridge_river = Broer kan bare bygges over vann eller lava.
|
||||
msg.hero_burned = En {0} falt i lavaen! +{1} gull.
|
||||
msg.creature_burned = Din {0} falt i lavaen.
|
||||
@@ -1035,10 +1044,14 @@ ability.drain.desc = leger seg selv med en tredjedel av skaden den gjør.
|
||||
unit.giant = Kjempe
|
||||
unit.fairy = Feespion
|
||||
unit.battlemage = Kampmagiker
|
||||
unit.ram = Rambukk
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Heltene ødela en felle: {0}.
|
||||
best.giant.text = En kjempe er det som skjer når en ridder spiser grønnsakene sine i tre hundre år. Treg, enorm, og den ser på dører som et forslag. | Den ødelegger feller bare ved å stå ved siden av dem. Ekle manerer. Treff den med alt, helst på avstand.
|
||||
best.fairy.text = Ordenens lille tyster: en glødende knott med vinger, sendt i forveien for å finne fellene dine og fortelle alle om dem. Når den har sett en felle, knuser heltene den. | Den drysser også legende støv på heltene. Smekk den først. To ganger, for sikkerhets skyld.
|
||||
best.battlemage.text = En magiker i Ordenens kappe som ser på vegger som en personlig fornærmelse. Forsterkede vegger brister under ildkulene hans, og han slutter aldri å snakke om det. | Skjør på nært hold. Stålvegger irriterer ham mest - bra.
|
||||
best.ram.text = En trestamme med jernhette og et tak mot piler. Skapningene dine bryr den seg ikke om – dørene, murene og tårnene dine derimot. | Stopp den før den når døra, eller skaff en ny dør.
|
||||
best.catapult.text = En trearm, en bøtte stein og en ridder med for mye fritid. Den rekker lenger enn tårnene dine og sikter på dem først. | Storm fram: på nært hold gjør den ikke en flue fortred.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Angrip
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Bandeira de ataque colocada! As criaturas prontas para combate re
|
||||
msg.creature_leaves = Um {0} descontente abandona o teu reino!
|
||||
msg.no_gold = Ouro insuficiente!
|
||||
msg.no_wood = Madeira insuficiente! Abate cogumelos gigantes (ou árvores) com a picareta.
|
||||
msg.siege_built = Um {0} está pronto – põe a bandeira de ataque para o enviar.
|
||||
msg.sold = Salas vendidas: +{0} de ouro.
|
||||
msg.no_mana_bolt = Mana insuficiente para o Relâmpago.
|
||||
msg.no_mana_heal = Mana insuficiente para Curar.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Uma ponte que podes levantar: arrasta sobre o rio para a
|
||||
tool.wall.label = Muro
|
||||
tool.wall.name = Erguer muro
|
||||
tool.wall.desc = Planeia muros no teu chão vazio (arrasta outra vez para cancelar): os diabretes erguem-nos como terra reforçada. Fecha túneis e põe portas onde contam.
|
||||
tool.ram.label = Aríete
|
||||
tool.ram.name = Construir aríete
|
||||
tool.ram.desc = Um aríete sai da tua forja (ouro e madeira). Segue a tua bandeira de ataque e esmaga o portão e as torres dos cavaleiros.
|
||||
tool.catapult.label = Catapulta
|
||||
tool.catapult.name = Construir catapulta
|
||||
tool.catapult.desc = Uma catapulta sai da tua forja (ouro e madeira). Dispara de longe contra as torres dos cavaleiros e segue a tua bandeira até ao portão.
|
||||
cost.bridge = {0} ouro + {1} madeira/casa sobre água, {2} ouro sobre lava
|
||||
cost.drawbridge = {0} ouro + {1} madeira/casa sobre água, {2} ouro sobre lava
|
||||
cost.gold_wood = {0} ouro + {1} madeira
|
||||
hint.bridge_where = As pontes têm de começar no teu chão: arrasta a partir do teu território através do rio.
|
||||
hint.bridge_fire = As pontes de madeira ardem: mantém armadilhas de fogo, sopro de fogo e relâmpagos longe delas – as pontes de pedra sobre lava não ardem.
|
||||
hint.wall_where = Só podes erguer muros no teu chão vazio (sem sala, armadilha ou porta).
|
||||
hint.siege_where = As máquinas de cerco saem no teu chão livre – e precisas de uma forja.
|
||||
hint.bridge_river = Só se podem construir pontes sobre água ou lava.
|
||||
msg.hero_burned = Um {0} caiu na lava! +{1} de ouro.
|
||||
msg.creature_burned = O teu {0} caiu na lava.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = cura-se num terço do dano que causa.
|
||||
unit.giant = Gigante
|
||||
unit.fairy = Fada Espiã
|
||||
unit.battlemage = Mago de Batalha
|
||||
unit.ram = Aríete
|
||||
unit.catapult = Catapulta
|
||||
msg.trap_wrecked = Os heróis destruíram uma armadilha: {0}.
|
||||
best.giant.text = Um gigante é o que acontece quando um cavaleiro come os legumes durante trezentos anos. Lento, enorme, e trata as portas como uma sugestão. | Destrói armadilhas só por estar ao lado delas. Maneiras repugnantes. Atira-lhe com tudo, de preferência de longe.
|
||||
best.fairy.text = A pequena informadora da Ordem: um mosquito luminoso com asas, mandado à frente para encontrar as tuas armadilhas e contar a toda a gente. Depois de ver uma armadilha, os heróis destroem-na. | Também polvilha pó curativo sobre os heróis. Esmaga-a primeiro. Duas vezes, para ter a certeza.
|
||||
best.battlemage.text = Um mago com as vestes da Ordem que acha as paredes um insulto pessoal. As paredes reforçadas rebentam com as bolas de fogo dele, e ele nunca se cala sobre isso. | Frágil de perto. As paredes de aço irritam-no mais do que tudo - ótimo.
|
||||
best.ram.text = Um tronco com ponta de ferro e um telhado contra as flechas. As tuas criaturas não lhe interessam – só as tuas portas, muros e torres. | Trava-o antes de chegar à porta, ou arranja outra porta.
|
||||
best.catapult.text = Um braço de madeira, um balde de pedras e um cavaleiro com tempo a mais. Alcança mais longe que as tuas torres e aponta-lhes primeiro. | Carrega sobre ela: de perto não faz mal a uma mosca.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Atacar
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Steag de atac plantat! Creaturile pregătite de luptă se adună
|
||||
msg.creature_leaves = Un {0} nemulțumit îți părăsește tărâmul!
|
||||
msg.no_gold = Nu ai destul aur!
|
||||
msg.no_wood = Nu ai destul lemn! Doboară ciuperci uriașe (sau copaci) cu târnăcopul.
|
||||
msg.siege_built = Un {0} e gata – pune steagul de atac ca să-l trimiți.
|
||||
msg.sold = Camere vândute: +{0} aur.
|
||||
msg.no_mana_bolt = Nu ai destulă mana pentru Fulger.
|
||||
msg.no_mana_heal = Nu ai destulă mana pentru Vindecare.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Un pod pe care îl poți ridica: trage peste râu ca să-
|
||||
tool.wall.label = Zid
|
||||
tool.wall.name = Ridică zid
|
||||
tool.wall.desc = Plănuiește ziduri pe propria podea goală (trage din nou ca să anulezi): drăcușorii le ridică din pământ întărit. Închide tunelurile și pune uși unde contează.
|
||||
tool.ram.label = Berbec
|
||||
tool.ram.name = Construiește berbec
|
||||
tool.ram.desc = Un berbec iese din forja ta (aur și lemn). Îți urmează steagul de atac și sfărâmă poarta și turnurile cavalerilor.
|
||||
tool.catapult.label = Catapultă
|
||||
tool.catapult.name = Construiește catapultă
|
||||
tool.catapult.desc = O catapultă iese din forja ta (aur și lemn). Lovește de departe turnurile cavalerilor și îți urmează steagul până la poarta lor.
|
||||
cost.bridge = {0} aur + {1} lemn/pătrat peste apă, {2} aur peste lavă
|
||||
cost.drawbridge = {0} aur + {1} lemn/pătrat peste apă, {2} aur peste lavă
|
||||
cost.gold_wood = {0} aur + {1} lemn
|
||||
hint.bridge_where = Podurile trebuie să pornească de pe terenul tău: trage de pe teritoriul tău peste râu.
|
||||
hint.bridge_fire = Podurile de lemn ard: ține capcanele de foc, suflarea de foc și fulgerele departe de ele – podurile de piatră peste lavă nu ard.
|
||||
hint.wall_where = Zidurile se pot ridica doar pe propria podea goală (fără cameră, capcană sau ușă).
|
||||
hint.siege_where = Mașinăriile de asediu ies pe propria podea liberă – și îți trebuie o forjă.
|
||||
hint.bridge_river = Podurile se pot construi doar peste apă sau lavă.
|
||||
msg.hero_burned = Un {0} a căzut în lavă! +{1} aur.
|
||||
msg.creature_burned = {0} al tău a căzut în lavă.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = se vindecă cu o treime din daunele pe care le provoacă.
|
||||
unit.giant = Uriaș
|
||||
unit.fairy = Zână Iscoadă
|
||||
unit.battlemage = Mag de Luptă
|
||||
unit.ram = Berbec
|
||||
unit.catapult = Catapultă
|
||||
msg.trap_wrecked = Eroii au distrus o capcană: {0}.
|
||||
best.giant.text = Un uriaș e ce se întâmplă când un cavaler își mănâncă legumele trei sute de ani. Lent, enorm, iar ușile le tratează drept sugestii. | Distruge capcanele doar stând lângă ele. Maniere respingătoare. Lovește-l cu tot ce ai, de preferință de departe.
|
||||
best.fairy.text = Micul informator al Ordinului: un țânțar strălucitor cu aripi, trimis înainte să-ți găsească capcanele și să le spună tuturor. Odată ce a văzut o capcană, eroii o sparg. | Mai presară și praf vindecător peste eroi. Plesnește-o prima. De două ori, ca să fii sigur.
|
||||
best.battlemage.text = Un mag în veșmintele Ordinului care consideră zidurile o insultă personală. Zidurile întărite crapă sub mingile lui de foc și nu se mai oprește din vorbit despre asta. | Fragil de aproape. Zidurile de oțel îl enervează cel mai tare - bine.
|
||||
best.ram.text = Un trunchi cu vârf de fier și un acoperiș contra săgeților. Creaturile tale nu-l interesează – ușile, zidurile și turnurile da. | Oprește-l înainte de ușă sau fă-ți rost de alta.
|
||||
best.catapult.text = Un braț de lemn, o găleată de pietre și un cavaler cu prea mult timp liber. Bate mai departe decât turnurile tale și le țintește primele. | Năvălește peste ea: de aproape nu face rău nici unei muște.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Atac
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Флаг атаки установлен! Готовые к бо
|
||||
msg.creature_leaves = Недовольное существо ({0}) покидает твои владения!
|
||||
msg.no_gold = Не хватает золота!
|
||||
msg.no_wood = Мало дерева! Рубите гигантские грибы (или деревья) киркой.
|
||||
msg.siege_built = {0} готов — поставьте флаг атаки, чтобы отправить его.
|
||||
msg.sold = Комнаты проданы: +{0} золота.
|
||||
msg.no_mana_bolt = Не хватает маны для молнии.
|
||||
msg.no_mana_heal = Не хватает маны для лечения.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Мост, который можно поднять: пр
|
||||
tool.wall.label = Стена
|
||||
tool.wall.name = Возвести стену
|
||||
tool.wall.desc = Планируйте стены на своём пустом полу (повторное протягивание отменяет): бесы возводят их из укреплённой земли. Закрывайте туннели и ставьте двери там, где нужно.
|
||||
tool.ram.label = Таран
|
||||
tool.ram.name = Построить таран
|
||||
tool.ram.desc = Таран выкатывается из кузницы (золото и дерево). Он идёт к флагу атаки и разбивает ворота и башни рыцарей.
|
||||
tool.catapult.label = Катапульта
|
||||
tool.catapult.name = Построить катапульту
|
||||
tool.catapult.desc = Катапульта выкатывается из кузницы (золото и дерево). Она обстреливает башни рыцарей издалека и идёт к флагу атаки к их воротам.
|
||||
cost.bridge = {0} золота + {1} дерева/клетка над водой, {2} золота над лавой
|
||||
cost.drawbridge = {0} золота + {1} дерева/клетка над водой, {2} золота над лавой
|
||||
cost.gold_wood = {0} золота + {1} дерева
|
||||
hint.bridge_where = Мост должен начинаться у твоей земли: тяни от своей территории через реку.
|
||||
hint.bridge_fire = Деревянные мосты горят: держите огненные ловушки, огненное дыхание и молнии подальше; каменные мосты над лавой не горят.
|
||||
hint.wall_where = Стены можно возводить только на своём пустом полу (без комнат, ловушек и дверей).
|
||||
hint.siege_where = Осадные машины ставятся на ваш свободный пол — и нужна кузница.
|
||||
hint.bridge_river = Мосты строятся только над водой или лавой.
|
||||
msg.hero_burned = Герой упал в лаву: {0}! +{1} золота.
|
||||
msg.creature_burned = Твой боец упал в лаву: {0}.
|
||||
@@ -1028,10 +1037,14 @@ ability.drain.desc = лечит себя на треть нанесённого
|
||||
unit.giant = Великан
|
||||
unit.fairy = Фея-шпион
|
||||
unit.battlemage = Боевой маг
|
||||
unit.ram = Таран
|
||||
unit.catapult = Катапульта
|
||||
msg.trap_wrecked = Герои сломали ловушку: {0}.
|
||||
best.giant.text = Великан - это то, что выходит, когда рыцарь триста лет ест овощи. Медленный, огромный, а двери для него - лишь пожелание. | Ломает ловушки, просто стоя рядом. Отвратительные манеры. Бей всем, что есть, лучше издалека.
|
||||
best.fairy.text = Маленькая доносчица Ордена: светящаяся мошка с крылышками, которую шлют вперёд найти твои ловушки и всем разболтать. Стоит ей увидеть ловушку, как герои её ломают. | Ещё и посыпает героев целебной пыльцой. Прихлопни её первой. Дважды, для верности.
|
||||
best.battlemage.text = Маг в мантии Ордена, для которого стены - личное оскорбление. Укреплённые стены лопаются от его огненных шаров, и он без конца об этом болтает. | Вблизи хрупок. Больше всего его бесят стальные стены - и хорошо.
|
||||
best.ram.text = Бревно с железным наконечником и крышей от стрел. Ваши существа ему безразличны — только двери, стены и башни. | Остановите его до двери или заведите новую дверь.
|
||||
best.catapult.text = Деревянный рычаг, ведро камней и рыцарь с избытком свободного времени. Бьёт дальше ваших башен и целится в них первыми. | Атакуйте вплотную: вблизи она и мухи не обидит.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Атака
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Útočná vlajka vztýčená! Bojaschopné tvory sa pri nej zhrom
|
||||
msg.creature_leaves = Nespokojný tvor opúšťa tvoju ríšu: {0}!
|
||||
msg.no_gold = Nedostatok zlata!
|
||||
msg.no_wood = Nedostatok dreva! Vyrúbaj obrie huby (alebo stromy) krompáčom.
|
||||
msg.siege_built = {0} je pripravený – polož útočnú vlajku a pošli ho.
|
||||
msg.sold = Miestnosti predané: +{0} zlata.
|
||||
msg.no_mana_bolt = Nedostatok many na blesk.
|
||||
msg.no_mana_heal = Nedostatok many na liečenie.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Most, ktorý môžeš vytiahnuť: potiahni cez rieku a po
|
||||
tool.wall.label = Múr
|
||||
tool.wall.name = Postaviť múr
|
||||
tool.wall.desc = Naplánuj múry na svojej prázdnej podlahe (opätovným ťahaním zrušíš): škriatkovia ich postavia zo spevnenej zeme. Uzavri tunely a daj dvere tam, kde majú zmysel.
|
||||
tool.ram.label = Baranidlo
|
||||
tool.ram.name = Postaviť baranidlo
|
||||
tool.ram.desc = Baranidlo vyjde z tvojej vyhne (zlato a drevo). Nasleduje tvoju útočnú vlajku a rozbíja bránu a veže rytierov.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Postaviť katapult
|
||||
tool.catapult.desc = Katapult vyjde z tvojej vyhne (zlato a drevo). Ostreľuje veže rytierov z diaľky a nasleduje vlajku k ich bráne.
|
||||
cost.bridge = {0} zlata + {1} dreva/pole nad vodou, {2} zlata nad lávou
|
||||
cost.drawbridge = {0} zlata + {1} dreva/pole nad vodou, {2} zlata nad lávou
|
||||
cost.gold_wood = {0} zlata + {1} dreva
|
||||
hint.bridge_where = Mosty musia začínať na tvojej zemi: ťahaj zo svojho územia cez rieku.
|
||||
hint.bridge_fire = Drevené mosty horia: drž ohnivé pasce, ohnivý dych a blesky ďalej od nich – kamenné mosty nad lávou nehoria.
|
||||
hint.wall_where = Múry sa dajú postaviť len na tvojej prázdnej podlahe (bez miestnosti, pasce či dverí).
|
||||
hint.siege_where = Obliehacie stroje vyjdú na tvojej voľnej podlahe – a potrebuješ vyhňu.
|
||||
hint.bridge_river = Mosty sa dajú stavať len cez vodu alebo lávu.
|
||||
msg.hero_burned = Do lávy spadol hrdina: {0}! +{1} zlata.
|
||||
msg.creature_burned = Do lávy spadol tvoj tvor: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = lieči sa o tretinu poškodenia, ktoré spôsobí.
|
||||
unit.giant = Obor
|
||||
unit.fairy = Víla špiónka
|
||||
unit.battlemage = Bojový mág
|
||||
unit.ram = Baranidlo
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Hrdinovia zničili pascu: {0}.
|
||||
best.giant.text = Obor je to, čo sa stane, keď rytier tristo rokov je zeleninu. Pomalý, obrovský a dvere berie len ako návrh. | Pasce ničí už tým, že stojí vedľa nich. Odporné spôsoby. Bi ho všetkým, čo máš, najlepšie z diaľky.
|
||||
best.fairy.text = Malý udavač Rádu: žiariaci komár s krídlami, poslaný napred, aby našiel tvoje pasce a všetkým to vytáral. Len čo pascu uvidí, hrdinovia ju rozbijú. | Navyše sype na hrdinov liečivý prach. Plesni ju prvú. Dvakrát, pre istotu.
|
||||
best.battlemage.text = Mág v rúchu Rádu, ktorý považuje múry za osobnú urážku. Spevnené steny pod jeho ohnivými guľami praskajú a on o tom neprestane rozprávať. | Zblízka krehký. Najviac ho štvú oceľové steny - dobre.
|
||||
best.ram.text = Kmeň so železnou hlavicou a strieškou proti šípom. Tvoje bytosti ho nezaujímajú – tvoje dvere, múry a veže áno. | Zastav ho pred dverami, alebo si zaobstaraj nové.
|
||||
best.catapult.text = Drevené rameno, vedro kameňov a rytier s priveľa voľným časom. Strieľa ďalej ako tvoje veže a mieri najprv na ne. | Vrhni sa naň: zblízka neublíži ani muche.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Útok
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Застава напада постављена! Створењ
|
||||
msg.creature_leaves = Незадовољно створење напушта твоје царство: {0}!
|
||||
msg.no_gold = Нема довољно злата!
|
||||
msg.no_wood = Нема довољно дрва! Сруши џиновске печурке (или стабла) крампом.
|
||||
msg.siege_built = {0} је спреман – постави заставу напада да га пошаљеш.
|
||||
msg.sold = Просторије продате: +{0} злата.
|
||||
msg.no_mana_bolt = Нема довољно мане за Муњу.
|
||||
msg.no_mana_heal = Нема довољно мане за Лечење.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = Мост који можеш подићи: повуци
|
||||
tool.wall.label = Зид
|
||||
tool.wall.name = Подигни зид
|
||||
tool.wall.desc = Планирај зидове на свом празном поду (поново повуци за поништавање): врагови их подижу од ојачане земље. Затвори тунеле и постави врата где су важна.
|
||||
tool.ram.label = Ован
|
||||
tool.ram.name = Изгради ован
|
||||
tool.ram.desc = Ован излази из твоје ковачнице (злато и дрво). Прати твоју заставу напада и разбија капију и куле витезова.
|
||||
tool.catapult.label = Катапулт
|
||||
tool.catapult.name = Изгради катапулт
|
||||
tool.catapult.desc = Катапулт излази из твоје ковачнице (злато и дрво). Гађа куле витезова издалека и прати твоју заставу до њихове капије.
|
||||
cost.bridge = {0} злата + {1} дрва/поље над водом, {2} злата над лавом
|
||||
cost.drawbridge = {0} злата + {1} дрва/поље над водом, {2} злата над лавом
|
||||
cost.gold_wood = {0} злата + {1} дрва
|
||||
hint.bridge_where = Мостови морају да почну на твом тлу: превуци са своје територије преко реке.
|
||||
hint.bridge_fire = Дрвени мостови горе: држи ватрене замке, ватрени дах и муње подаље – камени мостови над лавом не горе.
|
||||
hint.wall_where = Зидови се могу подићи само на твом празном поду (без собе, замке или врата).
|
||||
hint.siege_where = Опсадне справе излазе на твом слободном поду – и треба ти ковачница.
|
||||
hint.bridge_river = Мостови се граде само преко воде или лаве.
|
||||
msg.hero_burned = Пао је у лаву: {0}! +{1} злата.
|
||||
msg.creature_burned = Твоје створење је пало у лаву: {0}.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = лечи се за трећину штете коју на
|
||||
unit.giant = Џин
|
||||
unit.fairy = Вила ухода
|
||||
unit.battlemage = Борбени маг
|
||||
unit.ram = Ован
|
||||
unit.catapult = Катапулт
|
||||
msg.trap_wrecked = Хероји су уништили замку: {0}.
|
||||
best.giant.text = Џин је оно што се деси кад витез триста година једе поврће. Спор, огроман, а врата сматра предлогом. | Замке уништава самим тим што стоји поред њих. Одвратно понашање. Удари га свиме, најбоље издалека.
|
||||
best.fairy.text = Мали доушник Реда: светлећа мушица с крилима, послата напред да пронађе твоје замке и свима их ода. Кад једном види замку, хероји је разбију. | Уз то посипа хероје лековитим прахом. Згњечи њу прву. Двапут, за сваки случај.
|
||||
best.battlemage.text = Маг у одежди Реда који зидове сматра личном увредом. Ојачани зидови пуцају под његовим ватреним куглама, а он о томе непрестано прича. | Крхак изблиза. Челични зидови га највише нервирају - добро.
|
||||
best.ram.text = Дебло са гвозденом капом и кровом против стрела. Твоја створења га не занимају – твоја врата, зидови и куле да. | Заустави га пре врата или набави нова врата.
|
||||
best.catapult.text = Дрвена рука, канта камења и витез са превише слободног времена. Гађа даље од твојих кула и циља их прве. | Јуриш на њега: изблиза ни мушици не нашкоди.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Напад
|
||||
|
||||
@@ -65,6 +65,7 @@ msg.flag_set = Anfallsflaggan satt! Stridsredo varelser samlas där.
|
||||
msg.creature_leaves = En olycklig {0} lämnar ditt rike!
|
||||
msg.no_gold = Inte tillräckligt med guld!
|
||||
msg.no_wood = Inte nog med trä! Fäll jättesvampar (eller träd) med hackan.
|
||||
msg.siege_built = En {0} är klar – sätt attackflaggan för att skicka den.
|
||||
msg.sold = Rum sålda: +{0} guld.
|
||||
msg.no_mana_bolt = Inte tillräckligt med mana för Blixt.
|
||||
msg.no_mana_heal = Inte tillräckligt med mana för Läk.
|
||||
@@ -408,11 +409,19 @@ tool.drawbridge.desc = En bro du kan hissa upp: dra över floden för att bygga
|
||||
tool.wall.label = Mur
|
||||
tool.wall.name = Res mur
|
||||
tool.wall.desc = Planera murar på ditt eget tomma golv (dra igen för att avbryta): impar reser dem som förstärkt jord. Stäng tunnlar och sätt dörrar där de gör nytta.
|
||||
tool.ram.label = Murbräcka
|
||||
tool.ram.name = Bygg murbräcka
|
||||
tool.ram.desc = En murbräcka rullar ut ur din smedja (guld och trä). Den följer din attackflagga och krossar riddarnas port och torn.
|
||||
tool.catapult.label = Katapult
|
||||
tool.catapult.name = Bygg katapult
|
||||
tool.catapult.desc = En katapult rullar ut ur din smedja (guld och trä). Den beskjuter riddarnas torn på avstånd och följer attackflaggan till deras port.
|
||||
cost.bridge = {0} guld + {1} trä/ruta över vatten, {2} guld över lava
|
||||
cost.drawbridge = {0} guld + {1} trä/ruta över vatten, {2} guld över lava
|
||||
cost.gold_wood = {0} guld + {1} trä
|
||||
hint.bridge_where = Broar måste börja vid din egen mark: dra från ditt territorium över floden.
|
||||
hint.bridge_fire = Träbroar brinner: håll eldfällor, eldande och blixtar borta från dem – stenbroar över lava är brandsäkra.
|
||||
hint.wall_where = Murar kan bara resas på ditt eget tomma golv (inget rum, ingen fälla eller dörr).
|
||||
hint.siege_where = Belägringsmaskiner rullar ut på ditt eget fria golv – och du behöver en smedja.
|
||||
hint.bridge_river = Broar kan bara byggas över vatten eller lava.
|
||||
msg.hero_burned = En {0} föll i lavan! +{1} guld.
|
||||
msg.creature_burned = Din {0} föll i lavan.
|
||||
@@ -1036,10 +1045,14 @@ ability.drain.desc = läker sig själv med en tredjedel av skadan den gör.
|
||||
unit.giant = Jätte
|
||||
unit.fairy = Älvspion
|
||||
unit.battlemage = Stridsmagiker
|
||||
unit.ram = Murbräcka
|
||||
unit.catapult = Katapult
|
||||
msg.trap_wrecked = Hjältarna förstörde en fälla: {0}.
|
||||
best.giant.text = En jätte är vad som händer när en riddare äter sina grönsaker i trehundra år. Långsam, enorm, och den ser dörrar som ett förslag. | Den förstör fällor bara genom att stå bredvid dem. Motbjudande manér. Slå den med allt, helst på avstånd.
|
||||
best.fairy.text = Ordens lilla angivare: en glödande mygga med vingar, utskickad i förväg för att hitta dina fällor och skvallra för alla. När den väl har sett en fälla slår hjältarna sönder den. | Den strör också läkande stoft över hjältarna. Smäll till den först. Två gånger, för säkerhets skull.
|
||||
best.battlemage.text = En magiker i ordens kåpa som ser väggar som en personlig förolämpning. Förstärkta väggar spricker under hans eldklot, och han slutar aldrig prata om det. | Ömtålig på nära håll. Stålväggar retar honom mest - bra.
|
||||
best.ram.text = En trädstam med järnhätta och ett tak mot pilar. Dina varelser struntar den i – dina dörrar, murar och torn inte. | Stoppa den innan den når dörren, eller skaffa en ny dörr.
|
||||
best.catapult.text = En träarm, en hink stenar och en riddare med för mycket fritid. Den når längre än dina torn och siktar på dem först. | Storma fram: på nära håll gör den inte en fluga förnär.
|
||||
|
||||
# orders
|
||||
tool.order_attack.label = Anfall
|
||||
|
||||
+2
-2
@@ -10,9 +10,9 @@ use serde::{Deserialize, Serialize};
|
||||
pub const SIDES: [i32; 6] = [-1, 0, 1, 2, 3, 4];
|
||||
|
||||
// creature and hero kinds a block may name ("" = any)
|
||||
pub const KINDS: [&str; 22] = [
|
||||
pub const KINDS: [&str; 24] = [
|
||||
"Worker", "Kobold", "Spider", "Mage", "Ogre", "Jailer", "Priestess", "Chainbreaker", "Bat", "Gargoyle", "Owl", "Wyrm", "Cogling", "Revenant", "Knight", "Archer", "Priest", "Dwarf", "Paladin", "Giant", "Fairy",
|
||||
"BattleMage",
|
||||
"BattleMage", "Ram", "Catapult",
|
||||
];
|
||||
|
||||
// ground a Terrain block can make
|
||||
|
||||
+7
-1
@@ -34,6 +34,11 @@ pub enum Act {
|
||||
Sell(Rect),
|
||||
Bridge(Rect),
|
||||
Steel(Rect),
|
||||
Siege {
|
||||
which: u8, // 0 ram, 1 catapult
|
||||
x: i32,
|
||||
y: i32,
|
||||
},
|
||||
Wall(Rect), // plan walls on own floor (or cancel planned ones)
|
||||
Drawbridge(Rect), // build drawbridges, or (one tile on an own drawbridge) switch it: down, up, automatic
|
||||
Tower {
|
||||
@@ -145,7 +150,7 @@ impl Game {
|
||||
Act::Sell(r) => (rect_center(r), MARK_SELL, 4.0),
|
||||
Act::Bridge(r) | Act::Drawbridge(r) | Act::Wall(r) => (rect_center(r), MARK_BRIDGE, 4.0),
|
||||
Act::Steel(r) => (rect_center(r), MARK_STEEL, 4.0),
|
||||
Act::Tower { x, y, .. } => (point(x as f32, y as f32), MARK_TOWER, 6.0),
|
||||
Act::Tower { x, y, .. } | Act::Siege { x, y, .. } => (point(x as f32, y as f32), MARK_TOWER, 6.0),
|
||||
Act::Trap { x, y, .. } => (point(x as f32, y as f32), MARK_TRAP, 6.0),
|
||||
Act::Cast { x, y, .. } => (point(x, y), MARK_SPELL, 5.0),
|
||||
Act::Lightning { x, y } => (point(x, y), MARK_LIGHTNING, 5.0),
|
||||
@@ -189,6 +194,7 @@ impl Game {
|
||||
Act::Bridge(r) => self.build_bridges(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Drawbridge(r) => self.drawbridge_order(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Wall(r) => self.plan_walls(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Siege { which, x, y } => self.build_siege(which, x, y),
|
||||
Act::Steel(r) => self.build_steel(r.x0, r.y0, r.x1, r.y1),
|
||||
Act::Tower { kind, x, y } => self.build_tower(kind, x, y),
|
||||
Act::Trap { kind, x, y } => self.place_trap(kind, x, y),
|
||||
|
||||
+37
-4
@@ -124,6 +124,9 @@ pub enum EK {
|
||||
Giant, // slow, huge, smashes doors and traps
|
||||
Fairy, // flies, finds the dungeon's traps and heals heroes a little
|
||||
BattleMage, // blasts reinforced walls from afar, throws fireballs
|
||||
// siege engines (heroes bring them; a master can build his own, see siege.rs)
|
||||
Ram, // smashes doors, walls and towers, ignores creatures
|
||||
Catapult, // hurls stones at towers from afar
|
||||
}
|
||||
|
||||
pub struct St {
|
||||
@@ -166,6 +169,8 @@ pub fn st(k: EK) -> St {
|
||||
EK::Giant => s("unit.giant", 900.0, 34.0, 1.1, 1.3, 1.6, 200, 600),
|
||||
EK::Fairy => s("unit.fairy", 70.0, 5.0, 3.5, 3.2, 1.2, 60, 150),
|
||||
EK::BattleMage => s("unit.battlemage", 120.0, 18.0, 5.0, 1.8, 1.8, 120, 250),
|
||||
EK::Ram => s("unit.ram", 900.0, 45.0, 1.1, 1.0, 1.8, 0, 200),
|
||||
EK::Catapult => s("unit.catapult", 320.0, 40.0, 7.5, 0.9, 3.5, 0, 200),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2134,6 +2139,13 @@ impl Game {
|
||||
if w >= 6 {
|
||||
pool.push((Giant, 1));
|
||||
}
|
||||
// siege engines for the dungeon's doors, walls and towers
|
||||
if w >= 4 && self.traps.iter().any(|t| t.kind.door()) {
|
||||
pool.push((Ram, 1));
|
||||
}
|
||||
if w >= 6 && self.towers.iter().any(|t| !t.hero) {
|
||||
pool.push((Catapult, 1));
|
||||
}
|
||||
let boss = if w % 5 == 0 { Some(Paladin) } else { None };
|
||||
let base_level = 1 + (w - 1) / 3;
|
||||
let list = self.build_squad(target, base_level, &pool, boss, 2);
|
||||
@@ -2255,7 +2267,7 @@ impl Game {
|
||||
}
|
||||
}
|
||||
|
||||
fn hit_gate(&mut self, e: &mut Ent) {
|
||||
pub(crate) fn hit_gate(&mut self, e: &mut Ent) {
|
||||
let s = st(e.kind);
|
||||
e.cd = s.interval;
|
||||
let dmg = e.atk() * (0.85 + self.rng.f() * 0.3);
|
||||
@@ -2404,6 +2416,7 @@ impl Game {
|
||||
let pow = match e.kind {
|
||||
EK::Dwarf => 3.0,
|
||||
EK::Paladin | EK::Giant => 2.0,
|
||||
EK::Ram => 4.0,
|
||||
_ => 1.0,
|
||||
} * if e.kind == EK::BattleMage && (tile.reinforced || tile.kind == Kind::Steel) {
|
||||
// the battle mage blasts reinforced walls (steel resists better)
|
||||
@@ -3615,6 +3628,14 @@ impl Game {
|
||||
}
|
||||
|
||||
fn creature_ai(&mut self, e: &mut Ent, dt: f32) {
|
||||
if crate::siege::siege(e.kind) {
|
||||
// a siege engine has no needs: it only follows the attack flag
|
||||
e.hunger = 0.0;
|
||||
e.energy = 1.0;
|
||||
e.happy = 1.0;
|
||||
self.siege_ai(e, dt);
|
||||
return;
|
||||
}
|
||||
let me = e.id + 1;
|
||||
if e.kind == EK::Revenant {
|
||||
// the undead neither eat nor sleep
|
||||
@@ -4469,9 +4490,21 @@ impl Game {
|
||||
}
|
||||
}
|
||||
let fort = e.guard || !e.patrol.is_empty();
|
||||
if !matches!(e.job, Job::Attack(_)) {
|
||||
// a catapult aims at towers first
|
||||
if e.kind == EK::Catapult && !matches!(e.job, Job::AttackTower(_)) {
|
||||
let reach = st(e.kind).range + 1.0;
|
||||
let near = self.towers.iter().filter(|t| !t.hero).map(|t| (t.id, (t.pos().0 - e.x).powi(2) + (t.pos().1 - e.y).powi(2))).filter(|&(_, d2)| d2 < reach * reach).min_by(|a, b| a.1.partial_cmp(&b.1).unwrap_or(std::cmp::Ordering::Equal)).map(|t| t.0);
|
||||
if let Some(id) = near {
|
||||
e.job = Job::AttackTower(id);
|
||||
e.path.clear();
|
||||
e.repath = 0.0;
|
||||
}
|
||||
}
|
||||
if !matches!(e.job, Job::Attack(_)) && !matches!((e.kind, e.job), (EK::Catapult, Job::AttackTower(_))) {
|
||||
let radius = if fort { 8.0 } else { 6.5 };
|
||||
if let Some(id) = self.nearest_enemy(e, radius) {
|
||||
// a ram does not fight creatures
|
||||
let foe = if e.kind == EK::Ram { None } else { self.nearest_enemy(e, radius) };
|
||||
if let Some(id) = foe {
|
||||
e.job = Job::Attack(id);
|
||||
e.path.clear();
|
||||
e.repath = 0.0;
|
||||
@@ -5255,7 +5288,7 @@ impl Game {
|
||||
e.working = true;
|
||||
if e.cd <= 0.0 {
|
||||
e.cd = s.interval;
|
||||
let dmg = e.atk() * (0.85 + self.rng.f() * 0.3);
|
||||
let dmg = e.atk() * (0.85 + self.rng.f() * 0.3) * crate::siege::tower_breaker(e.kind);
|
||||
if s.range > 1.5 {
|
||||
self.shot(e.x, e.y, 0.45, tx, ty, hit_h, 0.25, 0xff70b0d0);
|
||||
self.style_last_fx(if e.kind == EK::Archer { crate::particles::ST_ARROW } else { crate::particles::ST_PLAIN });
|
||||
|
||||
+61
-1
@@ -89,6 +89,8 @@ pub const T_BARK: u32 = 201; // tree trunk
|
||||
pub const T_LEAVES: u32 = 202; // 2 variants: tree crown
|
||||
pub const T_GRASS: u32 = 204; // 4 variants: grass above ground
|
||||
pub const I_WALL: u32 = 208; // wall tool: bricks rising from the floor
|
||||
pub const I_RAM: u32 = 209; // battering ram tool
|
||||
pub const I_CATAPULT: u32 = 210; // catapult tool
|
||||
|
||||
pub struct Gfx {
|
||||
pub atlas: Texture2D,
|
||||
@@ -842,6 +844,36 @@ fn gen_atlas() -> Image {
|
||||
None
|
||||
}
|
||||
});
|
||||
// siege icons: a ram (a trunk with an iron cap under a roof), a catapult (arm and stone)
|
||||
cv.cell(I_RAM, |x, y| {
|
||||
if (3..=12).contains(&x) && y == 4 + (x - 3).min(12 - x).min(3) * 0 && false {
|
||||
None
|
||||
} else if y >= 3 && y <= 5 && (x - 7).abs() <= 6 - (y - 3) * 0 && (x + y) % 2 == 0 {
|
||||
Some(c(92, 58, 32))
|
||||
} else if (7..=9).contains(&y) && (1..=13).contains(&x) {
|
||||
Some(if x <= 3 { c(170, 175, 190) } else { c(140, 92, 52) })
|
||||
} else if y >= 11 && y <= 13 && ((x - 4).abs() <= 1 || (x - 11).abs() <= 1) {
|
||||
Some(c(30, 24, 26))
|
||||
} else if y == 10 && (3..=12).contains(&x) {
|
||||
Some(c(92, 58, 32))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
});
|
||||
cv.cell(I_CATAPULT, |x, y| {
|
||||
let arm = x + y == 14 && (3..=11).contains(&x);
|
||||
if (x - 12).pow(2) + (y - 3).pow(2) <= 3 {
|
||||
Some(c(150, 152, 140))
|
||||
} else if arm {
|
||||
Some(c(140, 92, 52))
|
||||
} else if y == 11 && (2..=13).contains(&x) {
|
||||
Some(c(92, 58, 32))
|
||||
} else if y >= 12 && ((x - 4).abs() <= 1 || (x - 11).abs() <= 1) {
|
||||
Some(c(30, 24, 26))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
});
|
||||
// frost spell icon: a snowflake
|
||||
cv.cell(I_FREEZE, |x, y| {
|
||||
let (dx, dy) = (x - 8, y - 8);
|
||||
@@ -1519,6 +1551,32 @@ fn sprite_rows(k: EK) -> [&'static str; 10] {
|
||||
"...y..y...",
|
||||
"..........",
|
||||
],
|
||||
// battering ram: a roofed frame on wheels, an iron-capped trunk
|
||||
EK::Ram => [
|
||||
"..........",
|
||||
"...BBBB...",
|
||||
"..BbbbbB..",
|
||||
".BbbbbbbB.",
|
||||
"SsbbbbbbB.",
|
||||
"SsBBBBBBB.",
|
||||
"..b.b.b.b.",
|
||||
".kBk..kBk.",
|
||||
".kck..kck.",
|
||||
"..k....k..",
|
||||
],
|
||||
// catapult: a throwing arm with a stone in its cup
|
||||
EK::Catapult => [
|
||||
"......cc..",
|
||||
".....kCCk.",
|
||||
".....kbk..",
|
||||
"....kb....",
|
||||
"...kb.....",
|
||||
"..kb......",
|
||||
".BBBBBBBB.",
|
||||
".bkbbbbkb.",
|
||||
".kck..kck.",
|
||||
"..k....k..",
|
||||
],
|
||||
// battle mage: robes of the order, a burning staff
|
||||
EK::BattleMage => [
|
||||
"....kk...o",
|
||||
@@ -1601,7 +1659,7 @@ fn pal(ch: char) -> Option<Color> {
|
||||
})
|
||||
}
|
||||
|
||||
pub const SPRITE_KINDS: [EK; 22] = [
|
||||
pub const SPRITE_KINDS: [EK; 24] = [
|
||||
EK::Worker,
|
||||
EK::Kobold,
|
||||
EK::Spider,
|
||||
@@ -1624,6 +1682,8 @@ pub const SPRITE_KINDS: [EK; 22] = [
|
||||
EK::Giant,
|
||||
EK::Fairy,
|
||||
EK::BattleMage,
|
||||
EK::Ram,
|
||||
EK::Catapult,
|
||||
];
|
||||
// width of the sprite texture in pixels
|
||||
pub const SPRITE_TEX_W: f32 = (SPRITE_KINDS.len() * 12) as f32;
|
||||
|
||||
@@ -33,6 +33,7 @@ mod blocks;
|
||||
mod bridges;
|
||||
mod mscript;
|
||||
mod settings;
|
||||
mod siege;
|
||||
mod sfx;
|
||||
mod tracks;
|
||||
mod traps;
|
||||
@@ -146,6 +147,7 @@ fn world_action(app: &mut App, ui: &mut Ui, r3d: &R3d, inp: &mut Input, mx: f32,
|
||||
(Tool::Tower(k), Some((x, z))) => app.game.queue(Act::Tower { kind: k, x, y: z }),
|
||||
(Tool::Trap(k), Some((x, z))) => app.game.queue(Act::Trap { kind: k, x, y: z }),
|
||||
(Tool::Spell(sp), _) => app.game.queue(Act::Cast { spell: sp, x: wx, y: wy }),
|
||||
(Tool::Siege(which), Some((tx, ty))) => app.game.queue(Act::Siege { which, x: tx, y: ty }),
|
||||
(Tool::Order(0), _) => {
|
||||
let j = r3d.pick_ent(&app.game, &app.cam, mx, my, false);
|
||||
let ent = j.filter(|&j| j < app.game.ents.len()).map(|j| app.game.ents[j].id);
|
||||
@@ -1958,6 +1960,7 @@ fn draw_frame(app: &mut App, gfx: &Gfx, r3d: &mut R3d, ui: &mut Ui, menu: &mut M
|
||||
Tool::Summon => (Color::new(0.8, 0.5, 1.0, 1.0), None),
|
||||
Tool::Bridge | Tool::Drawbridge => (Color::new(0.9, 0.7, 0.4, 1.0), None),
|
||||
Tool::Wall => (Color::new(0.8, 0.4, 1.0, 1.0), None),
|
||||
Tool::Siege(_) => (Color::new(0.9, 0.7, 0.4, 1.0), None),
|
||||
Tool::Steel => (Color::new(0.75, 0.8, 0.9, 1.0), None),
|
||||
Tool::Tower(_) => (Color::new(1.0, 0.6, 0.25, 1.0), None),
|
||||
Tool::Trap(_) => (Color::new(1.0, 0.4, 0.3, 1.0), None),
|
||||
|
||||
@@ -8,7 +8,7 @@ use crate::ui::{tool_cost_static, BLUE as BLUE_C, GREEN as GREEN_C, RED as RED_C
|
||||
pub const TABS: [&str; 4] = ["best.tab.creatures", "best.tab.humans", "best.tab.dungeon", "best.tab.ranks"];
|
||||
|
||||
const CREATURES: [EK; 14] = [EK::Worker, EK::Kobold, EK::Spider, EK::Mage, EK::Ogre, EK::Jailer, EK::Priestess, EK::Chainbreaker, EK::Cogling, EK::Revenant, EK::Bat, EK::Gargoyle, EK::Owl, EK::Wyrm];
|
||||
const HUMANS: [EK; 8] = [EK::Knight, EK::Archer, EK::Priest, EK::Dwarf, EK::Fairy, EK::BattleMage, EK::Giant, EK::Paladin];
|
||||
const HUMANS: [EK; 10] = [EK::Knight, EK::Archer, EK::Priest, EK::Dwarf, EK::Fairy, EK::BattleMage, EK::Giant, EK::Paladin, EK::Ram, EK::Catapult];
|
||||
// buildings: indices into ui::TOOLS
|
||||
const BUILDINGS: [usize; 32] = [2, 3, 4, 5, 6, 12, 40, 13, 18, 21, 41, 42, 43, 44, 17, 47, 49, 19, 14, 15, 16, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31];
|
||||
|
||||
|
||||
@@ -42,6 +42,8 @@ pub const RESEARCH: &[(usize, f32)] = &[
|
||||
(39, 950.0), // quake
|
||||
(44, 900.0), // sacrifice altar
|
||||
(31, 1100.0), // magic door
|
||||
(50, 900.0), // battering ram
|
||||
(51, 1000.0), // catapult
|
||||
];
|
||||
|
||||
// known from the start in free play
|
||||
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
// Siege engines: battering rams smash doors, walls and towers; catapults hurl stones at towers
|
||||
// from afar. The knights bring them along in later waves; a master with a forge builds his own
|
||||
// (gold and wood) to break a fortress: they follow the attack flag and go for the gate and the
|
||||
// knights' towers.
|
||||
|
||||
use crate::game::*;
|
||||
use crate::map::*;
|
||||
|
||||
// cost of a ram and a catapult: gold, wood
|
||||
pub const RAM_COST: (f32, f32) = (250.0, 15.0);
|
||||
pub const CATAPULT_COST: (f32, f32) = (350.0, 25.0);
|
||||
|
||||
pub fn siege(k: EK) -> bool {
|
||||
matches!(k, EK::Ram | EK::Catapult)
|
||||
}
|
||||
|
||||
// how much harder a unit hits towers
|
||||
pub fn tower_breaker(k: EK) -> f32 {
|
||||
match k {
|
||||
EK::Catapult => 2.5,
|
||||
EK::Ram => 2.0,
|
||||
_ => 1.0,
|
||||
}
|
||||
}
|
||||
|
||||
impl Game {
|
||||
// the siege tool: a ram (0) or a catapult (1) rolls out on own ground (a forge is needed)
|
||||
pub fn build_siege(&mut self, which: u8, x: i32, y: i32) {
|
||||
if !inb(x, y) || !self.map.walk(x, y) || self.map.t[idx(x, y)].owner != self.me {
|
||||
self.hint(34, "hint.siege_where");
|
||||
self.sfx_ui(Sfx::Error);
|
||||
return;
|
||||
}
|
||||
if self.forge_tiles() == 0 {
|
||||
self.hint(26, "hint.need_forge");
|
||||
self.sfx_ui(Sfx::Error);
|
||||
return;
|
||||
}
|
||||
let (kind, (gold, wood)) = if which == 0 { (EK::Ram, RAM_COST) } else { (EK::Catapult, CATAPULT_COST) };
|
||||
if self.gold < gold {
|
||||
self.msg("msg.no_gold", vec![]);
|
||||
self.sfx_ui(Sfx::Error);
|
||||
return;
|
||||
}
|
||||
if !self.spend_wood(wood) {
|
||||
self.msg("msg.no_wood", vec![]);
|
||||
self.sfx_ui(Sfx::Error);
|
||||
return;
|
||||
}
|
||||
self.gold -= gold;
|
||||
let id = self.spawn(kind, false, x as f32 + 0.5, y as f32 + 0.5, 1);
|
||||
if let Some(e) = self.ents.iter_mut().find(|e| e.id == id) {
|
||||
e.side = self.me_side;
|
||||
e.home = Some((x as f32 + 0.5, y as f32 + 0.5));
|
||||
e.settled = true;
|
||||
e.happy = 1.0;
|
||||
}
|
||||
self.fx(8, x as f32 + 0.5, y as f32 + 0.5, 0.0, 0.0, 0.5, 0xff40d0ff);
|
||||
self.sfx(Sfx::Build, x as f32 + 0.5, y as f32 + 0.5);
|
||||
self.msg("msg.siege_built", vec![format!("@{}", st(kind).name)]);
|
||||
}
|
||||
|
||||
// a master's own siege engine: no needs; it goes where the attack flag is and breaks the
|
||||
// gate and the knights' towers there (a catapult shoots any knight tower in reach)
|
||||
pub(crate) fn siege_ai(&mut self, e: &mut Ent, dt: f32) {
|
||||
let s = st(e.kind);
|
||||
// a knight tower in reach (the catapult from afar, the ram next to it)
|
||||
if e.think <= 0.0 {
|
||||
e.think = 0.5;
|
||||
let reach = if e.kind == EK::Catapult { s.range + 0.5 } else { 2.5 };
|
||||
let near = self
|
||||
.towers
|
||||
.iter()
|
||||
.filter(|t| t.hero)
|
||||
.map(|t| (t.id, (t.pos().0 - e.x).powi(2) + (t.pos().1 - e.y).powi(2)))
|
||||
.filter(|&(_, d2)| d2 < reach * reach)
|
||||
.min_by(|a, b| a.1.partial_cmp(&b.1).unwrap_or(std::cmp::Ordering::Equal))
|
||||
.map(|t| t.0);
|
||||
if let Some(id) = near {
|
||||
e.job = Job::AttackTower(id);
|
||||
e.path.clear();
|
||||
}
|
||||
}
|
||||
if let Job::AttackTower(id) = e.job {
|
||||
if self.attack_tower(e, id, dt) {
|
||||
return;
|
||||
}
|
||||
e.job = Job::None;
|
||||
}
|
||||
let Some(f) = self.flag else {
|
||||
// no flag: wait at home
|
||||
self.step_path(e, dt);
|
||||
return;
|
||||
};
|
||||
let (fx, fy) = xy(f);
|
||||
let (fx, fy) = (fx as f32 + 0.5, fy as f32 + 0.5);
|
||||
// the gate of the order near the flag
|
||||
let (gx, gy) = self.gate_center();
|
||||
if self.gate_hp > 0.0 && self.has_gate() && (fx - gx).powi(2) + (fy - gy).powi(2) <= 64.0 {
|
||||
let dg = ((e.x - gx).powi(2) + (e.y - gy).powi(2)).sqrt();
|
||||
if dg <= s.range + 1.6 && (s.range < 1.5 || self.los(e.x, e.y, gx, gy)) {
|
||||
e.path.clear();
|
||||
e.face = if gx > e.x { 1.0 } else { -1.0 };
|
||||
e.working = true;
|
||||
if e.cd <= 0.0 {
|
||||
self.hit_gate(e);
|
||||
e.cd = s.interval;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
let d2 = (e.x - fx).powi(2) + (e.y - fy).powi(2);
|
||||
if d2 > 2.0 * 2.0 && (e.path.is_empty() || e.repath <= 0.0) {
|
||||
e.repath = 1.5;
|
||||
if let Some(p) = self.map.path_to(e.tile(), f) {
|
||||
e.path = p;
|
||||
}
|
||||
}
|
||||
self.step_path(e, dt);
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn a_master_builds_a_catapult_that_shoots_knight_towers() {
|
||||
let mut g = Game::new(6, 80, 64);
|
||||
let (cx, cy) = g.map.core;
|
||||
g.gold = 5000.0;
|
||||
g.wood = 100.0;
|
||||
// own ground with a forge
|
||||
for y in cy - 6..=cy + 8 {
|
||||
for x in cx - 2..=cx + 14 {
|
||||
let t = &mut g.map.t[idx(x, y)];
|
||||
if !matches!(t.kind, Kind::Core) {
|
||||
t.kind = Kind::Floor;
|
||||
t.owner = Owner::Player;
|
||||
}
|
||||
}
|
||||
}
|
||||
g.build_rect(8, cx + 1, cy + 5, cx + 4, cy + 7);
|
||||
g.build_siege(1, cx + 6, cy + 2);
|
||||
let cat = g.ents.iter().position(|e| e.kind == EK::Catapult).expect("a catapult");
|
||||
assert_eq!(g.ents[cat].side, 0);
|
||||
assert!(g.gold < 5000.0 && g.wood < 100.0);
|
||||
// a knight tower in reach
|
||||
let i = idx(cx + 12, cy + 2);
|
||||
g.map.t[i].kind = Kind::Tower;
|
||||
g.map.t[i].owner = Owner::Hero;
|
||||
let id = g.next_id;
|
||||
g.next_id += 1;
|
||||
let mut tw = Tower { id, kind: TowerKind::Arrow, tile: i, level: 1, hp: 1.0, cd: 9.0, aim: 0.0, flash: 0.0, hero: true, rune_final: false };
|
||||
tw.hp = tw.max_hp();
|
||||
let hp0 = tw.hp;
|
||||
g.towers.push(tw);
|
||||
for _ in 0..(15 * 20) {
|
||||
g.update(0.05);
|
||||
}
|
||||
let hp = g.towers.iter().find(|t| t.id == id).map_or(0.0, |t| t.hp);
|
||||
assert!(hp < hp0, "the catapult hit the tower");
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -127,10 +127,10 @@ const CLOUD_TIME: f32 = 6.0;
|
||||
|
||||
// how hard a unit hits doors
|
||||
pub fn door_breaker(k: EK) -> f32 {
|
||||
if k == EK::Giant {
|
||||
3.0
|
||||
} else {
|
||||
1.0
|
||||
match k {
|
||||
EK::Giant => 3.0,
|
||||
EK::Ram => 6.0,
|
||||
_ => 1.0,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -176,13 +176,14 @@ pub enum Tool {
|
||||
Steel,
|
||||
Drawbridge,
|
||||
Wall,
|
||||
Siege(u8), // 0 battering ram, 1 catapult
|
||||
Trap(crate::traps::TrapKind),
|
||||
Spell(crate::spells::Spell),
|
||||
Order(u8), // 0 attack, 1 guard
|
||||
}
|
||||
|
||||
// New tools are appended so that existing key bindings ("tool<i>") keep their meaning
|
||||
pub const TOOLS: [Tool; 50] = [
|
||||
pub const TOOLS: [Tool; 52] = [
|
||||
Tool::Dig,
|
||||
Tool::Hand,
|
||||
Tool::Room(0),
|
||||
@@ -233,6 +234,8 @@ pub const TOOLS: [Tool; 50] = [
|
||||
Tool::Drawbridge,
|
||||
Tool::Spell(crate::spells::Spell::Freeze),
|
||||
Tool::Wall,
|
||||
Tool::Siege(0),
|
||||
Tool::Siege(1),
|
||||
];
|
||||
|
||||
|
||||
@@ -277,6 +280,8 @@ pub fn tool_info(t: Tool) -> ToolInfo {
|
||||
Tool::Bridge => ("bridge", I_BRIDGE, None),
|
||||
Tool::Drawbridge => ("drawbridge", I_DRAWBRIDGE, None),
|
||||
Tool::Wall => ("wall", I_WALL, None),
|
||||
Tool::Siege(0) => ("ram", I_RAM, None),
|
||||
Tool::Siege(_) => ("catapult", I_CATAPULT, None),
|
||||
Tool::Steel => ("steel", I_STEEL, None),
|
||||
};
|
||||
let name = match room {
|
||||
@@ -293,6 +298,10 @@ pub fn tool_cost_static(t: Tool) -> String {
|
||||
Tool::Trap(k) => trf("cost.work", &[(k.work() as i32).to_string()]),
|
||||
Tool::Bridge => trf("cost.bridge", &[BRIDGE_COST[0].to_string(), (crate::wood::BRIDGE_WOOD as i32).to_string(), BRIDGE_COST[1].to_string()]),
|
||||
Tool::Wall => trf("cost.gold_tile", &[(crate::walls::WALL_COST as i32).to_string()]),
|
||||
Tool::Siege(w) => {
|
||||
let (g, wd) = if w == 0 { crate::siege::RAM_COST } else { crate::siege::CATAPULT_COST };
|
||||
trf("cost.gold_wood", &[(g as i32).to_string(), (wd as i32).to_string()])
|
||||
}
|
||||
Tool::Drawbridge => trf("cost.drawbridge", &[DRAWBRIDGE_COST[0].to_string(), (crate::wood::DRAWBRIDGE_WOOD as i32).to_string(), DRAWBRIDGE_COST[1].to_string()]),
|
||||
Tool::Steel => trf("cost.steel", &[STEEL_COST[0].to_string(), STEEL_COST[1].to_string()]),
|
||||
Tool::Tower(TowerKind::Rune) => {
|
||||
@@ -320,6 +329,10 @@ pub fn tool_cost(t: Tool, g: &Game) -> String {
|
||||
Tool::Summon => trf("cost.mana", &[(g.summon_cost() as i32).to_string()]),
|
||||
Tool::Bridge => trf("cost.bridge", &[BRIDGE_COST[0].to_string(), (crate::wood::BRIDGE_WOOD as i32).to_string(), BRIDGE_COST[1].to_string()]),
|
||||
Tool::Wall => trf("cost.gold_tile", &[(crate::walls::WALL_COST as i32).to_string()]),
|
||||
Tool::Siege(w) => {
|
||||
let (g, wd) = if w == 0 { crate::siege::RAM_COST } else { crate::siege::CATAPULT_COST };
|
||||
trf("cost.gold_wood", &[(g as i32).to_string(), (wd as i32).to_string()])
|
||||
}
|
||||
Tool::Drawbridge => trf("cost.drawbridge", &[DRAWBRIDGE_COST[0].to_string(), (crate::wood::DRAWBRIDGE_WOOD as i32).to_string(), DRAWBRIDGE_COST[1].to_string()]),
|
||||
Tool::Steel => trf("cost.steel", &[STEEL_COST[0].to_string(), STEEL_COST[1].to_string()]),
|
||||
Tool::Tower(TowerKind::Rune) => {
|
||||
@@ -346,7 +359,7 @@ pub const CATS: [(&str, &[usize]); 7] = [
|
||||
("cat.towers", &[14, 15, 16, 20]),
|
||||
("cat.traps", &[22, 23, 24, 25, 26, 27, 28, 29, 30, 31]),
|
||||
("cat.spells", &[9, 10, 11, 32, 33, 34, 35, 36, 37, 38, 39, 48]),
|
||||
("cat.orders", &[8, 45, 46, 7, 19]),
|
||||
("cat.orders", &[8, 45, 46, 7, 19, 50, 51]),
|
||||
];
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Debug)]
|
||||
|
||||
Reference in new issue
Block a user