Browse Source

Merge pull request #3261 from IvanSavenko/release_140

Release 1.4
Ivan Savenko 1 year ago
parent
commit
6917e33ec3

+ 10 - 1
ChangeLog.md

@@ -102,6 +102,8 @@
 * Spell scrolls in hero inventory now show icon of contained spell
 * Spell scrolls in hero inventory now show icon of contained spell
 * Fixed incorrect hero morale tooltip after visiting adventure map objects
 * Fixed incorrect hero morale tooltip after visiting adventure map objects
 * Fixed incorrect information for skills in hero exchange window
 * Fixed incorrect information for skills in hero exchange window
+* Confirmation button will now be disabled on automatic server connect dialog
+* Attempting to recruit creature in town with no free slots in garrisons will now correctly show error message
 
 
 ### Main Menu
 ### Main Menu
 * Implemented window for quick selection of starting hero, town and bonus
 * Implemented window for quick selection of starting hero, town and bonus
@@ -147,13 +149,20 @@
 * Creature that attacks while standing in moat will now correctly receive moat damage
 * Creature that attacks while standing in moat will now correctly receive moat damage
 * Player resources are now limited to 1 000 000 000 to prevent overflow
 * Player resources are now limited to 1 000 000 000 to prevent overflow
 * It is no longer possible to escape from town without fort
 * It is no longer possible to escape from town without fort
+* Pathfinder will no longer make U-turns when moving onto visitable objects while flying
+* Pathfinder will no longer make paths that go over teleporters without actually using them
+* Game will now correctly update guard status of tiles that are guarded by multiple wandering monsters
+* Moving onto Garrisons and Border Guards entrance tiles that are guarded by wandering monsters will now correctly trigger battle
+* It is no longer possible to build second boat in shipyard when shipyard should be blocked by boat with hero
+* Gundula is now Offense specialist and not Sorcery, as in H3
 
 
 ### Random Maps Generator
 ### Random Maps Generator
 * Increased tolerance for placement of Subterranean Gates
 * Increased tolerance for placement of Subterranean Gates
 * Game will now select random object template out of available options instead of picking first one
 * Game will now select random object template out of available options instead of picking first one
 * It is no longer possible to create map with a single team
 * It is no longer possible to create map with a single team
+* Game will no longer route roads through non-removable treasure objects, such as Corpse
+* Fixed placement of treasure piles with non-removable objects, such as Corpse
 * Fixed interface no displaying correct random map settings in some cases
 * Fixed interface no displaying correct random map settings in some cases
-* Fixed game failing to generate random map if number of AI players is set to non-zero
 * Fixed misleading error "no info for player X found"
 * Fixed misleading error "no info for player X found"
 * Fixed bug leading to AI players defeated on day one.
 * Fixed bug leading to AI players defeated on day one.
 
 

+ 2 - 0
Mods/vcmi/config/vcmi/english.json

@@ -249,6 +249,8 @@
 	"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Used when selecting unit action in pvp combat. Leftover added to {Battle Timer} at end of unit turn.",
 	"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Used when selecting unit action in pvp combat. Leftover added to {Battle Timer} at end of unit turn.",
 	"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Used when selecting unit action in pvp combat. Reset at start of each unit's turn. Any unspent time is lost",
 	"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Used when selecting unit action in pvp combat. Reset at start of each unit's turn. Any unspent time is lost",
 
 
+	"vcmi.optionsTab.accumulate" : "Accumulate",
+
 	"vcmi.optionsTab.simturnsTitle" : "Simultaneous turns",
 	"vcmi.optionsTab.simturnsTitle" : "Simultaneous turns",
 	"vcmi.optionsTab.simturnsMin.hover" : "At least for",
 	"vcmi.optionsTab.simturnsMin.hover" : "At least for",
 	"vcmi.optionsTab.simturnsMax.hover" : "At most for",
 	"vcmi.optionsTab.simturnsMax.hover" : "At most for",

+ 32 - 5
Mods/vcmi/config/vcmi/german.json

@@ -235,16 +235,43 @@
 	"vcmi.randomMapTab.widgets.roadTypesLabel"       : "Straßentypen",
 	"vcmi.randomMapTab.widgets.roadTypesLabel"       : "Straßentypen",
 
 
 	"vcmi.optionsTab.turnOptions.hover" : "Spielzug-Optionen",
 	"vcmi.optionsTab.turnOptions.hover" : "Spielzug-Optionen",
-	"vcmi.optionsTab.turnOptions.help" : "Ändere Optionen zu Spielzug-Timer und simultanen Zügen",
+	"vcmi.optionsTab.turnOptions.help" : "Optionen zu Spielzug-Timer und simultanen Zügen",
 
 
 	"vcmi.optionsTab.chessFieldBase.hover" : "Basis-Timer",
 	"vcmi.optionsTab.chessFieldBase.hover" : "Basis-Timer",
 	"vcmi.optionsTab.chessFieldTurn.hover" : "Spielzug-Timer",
 	"vcmi.optionsTab.chessFieldTurn.hover" : "Spielzug-Timer",
 	"vcmi.optionsTab.chessFieldBattle.hover" : "Kampf-Timer",
 	"vcmi.optionsTab.chessFieldBattle.hover" : "Kampf-Timer",
 	"vcmi.optionsTab.chessFieldUnit.hover" : "Einheiten-Timer",
 	"vcmi.optionsTab.chessFieldUnit.hover" : "Einheiten-Timer",
-	"vcmi.optionsTab.chessFieldBase.help" : "Wird verwendet, wenn {Spielzug-Timer} 0 erreicht. Wird einmal zu Beginn des Spiels gesetzt. Bei Erreichen von Null wird der aktuelle Spielzug beendet. Jeder laufende Kampf endet mit einem Verlust.",
-	"vcmi.optionsTab.chessFieldTurn.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Reste werden am Ende der Runde zum {Basis-Timer} hinzugefügt.",
-	"vcmi.optionsTab.chessFieldBattle.help" : "Wird in Kämpfen mit der KI oder im PvP-Kampf verwendet, wenn {Einheiten-Timer} abläuft. Wird zu Beginn eines jeden Kampfes zurückgesetzt.",
-	"vcmi.optionsTab.chessFieldUnit.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Wird zu Beginn der Runde jeder Einheit zurückgesetzt.",
+	"vcmi.optionsTab.chessFieldTurnAccumulate.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Reste werden am Ende der Runde zum {Basis-Timer} hinzugefügt.",
+	"vcmi.optionsTab.chessFieldTurnDiscard.help" : "Wird außerhalb des Kampfes verwendet oder wenn der {Kampf-Timer} abgelaufen ist. Wird jede Runde zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
+	"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Der Rest wird am Ende des Zuges der Einheit zum {Kampf-Timer} hinzugefügt.",
+	"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Wird bei der Auswahl der Einheitenaktion im PvP-Kampf verwendet. Wird zu Beginn des Zuges jeder Einheit zurückgesetzt. Jede nicht verbrauchte Zeit ist verloren",
+
+	"vcmi.optionsTab.accumulate" : "Akkumulieren",
+
+	"vcmi.optionsTab.turnTime.select"     : "Spielzug-Timer-Voreinst. wählen",
+	"vcmi.optionsTab.turnTime.unlimited"  : "Unbegrenzter Spielzug-Timer",
+	"vcmi.optionsTab.turnTime.classic.1"  : "Klassischer Timer: 1 Minute",
+	"vcmi.optionsTab.turnTime.classic.2"  : "Klassischer Timer: 2 Minuten",
+	"vcmi.optionsTab.turnTime.classic.5"  : "Klassischer Timer: 5 Minuten",
+	"vcmi.optionsTab.turnTime.classic.10" : "Klassischer Timer: 10 Minuten",
+	"vcmi.optionsTab.turnTime.classic.20" : "Klassischer Timer: 20 Minuten",
+	"vcmi.optionsTab.turnTime.classic.30" : "Klassischer Timer: 30 Minuten",
+	"vcmi.optionsTab.turnTime.chess.20"   : "Schach: 20:00 10:00 02:00 00:00",
+	"vcmi.optionsTab.turnTime.chess.16"   : "Schach: 16:00 08:00 01:30 00:00",
+	"vcmi.optionsTab.turnTime.chess.8"    : "Schach: 08:00 04:00 01:00 00:00",
+	"vcmi.optionsTab.turnTime.chess.4"    : "Schach: 04:00 02:00 00:30 00:00",
+	"vcmi.optionsTab.turnTime.chess.2"    : "Schach: 02:00 01:00 00:15 00:00",
+	"vcmi.optionsTab.turnTime.chess.1"    : "Schach: 01:00 01:00 00:00 00:00",
+
+	"vcmi.optionsTab.simturns.select"         : "Voreinst. für simultane Züge wählen",
+	"vcmi.optionsTab.simturns.none"           : "Keine simultanen Züge",
+	"vcmi.optionsTab.simturns.tillContactMax" : "Simzüge: Bis zum Kontakt",
+	"vcmi.optionsTab.simturns.tillContact1"   : "Simzüge: 1 Woche, Stop bei Kontakt",
+	"vcmi.optionsTab.simturns.tillContact2"   : "Simzüge: 2 Wochen, Stop bei Kontakt",
+	"vcmi.optionsTab.simturns.tillContact4"   : "Simzüge: 1 Monat, Stop bei Kontakt",
+	"vcmi.optionsTab.simturns.blocked1"       : "Simzüge: 1 Woche, Kontakte block.",
+	"vcmi.optionsTab.simturns.blocked2"       : "Simzüge: 2 Wochen, Kontakte block.",
+	"vcmi.optionsTab.simturns.blocked4"       : "Simzüge: 1 Monat, Kontakte block.",
 
 
 	"vcmi.optionsTab.simturnsTitle" : "Simultane Züge",
 	"vcmi.optionsTab.simturnsTitle" : "Simultane Züge",
 	"vcmi.optionsTab.simturnsMin.hover" : "Zumindest für",
 	"vcmi.optionsTab.simturnsMin.hover" : "Zumindest für",

+ 2 - 0
Mods/vcmi/config/vcmi/polish.json

@@ -249,6 +249,8 @@
 	"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Używany podczas oczekiwania na podjęcie akcji jednostką w bitwie pomiędzy ludźmi. Nadwyżka czasu dodaje się do {Timera bitwy}",
 	"vcmi.optionsTab.chessFieldUnitAccumulate.help" : "Używany podczas oczekiwania na podjęcie akcji jednostką w bitwie pomiędzy ludźmi. Nadwyżka czasu dodaje się do {Timera bitwy}",
 	"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Używany podczas oczekiwania na podjęcie akcji jednostką w bitwie pomiędzy ludźmi. Resetuje się przy rozpoczęciu akcji jednostką.",
 	"vcmi.optionsTab.chessFieldUnitDiscard.help" : "Używany podczas oczekiwania na podjęcie akcji jednostką w bitwie pomiędzy ludźmi. Resetuje się przy rozpoczęciu akcji jednostką.",
 
 
+	"vcmi.optionsTab.accumulate" : "Akumuluj",
+
 	"vcmi.optionsTab.simturnsTitle" : "Tury równoczesne / symultaniczne",
 	"vcmi.optionsTab.simturnsTitle" : "Tury równoczesne / symultaniczne",
 	"vcmi.optionsTab.simturnsMin.hover" : "Co najmniej przez",
 	"vcmi.optionsTab.simturnsMin.hover" : "Co najmniej przez",
 	"vcmi.optionsTab.simturnsMax.hover" : "Maks. przez",
 	"vcmi.optionsTab.simturnsMax.hover" : "Maks. przez",

+ 11 - 0
Mods/vcmi/config/vcmi/ukrainian.json

@@ -112,6 +112,8 @@
 	"vcmi.systemOptions.hapticFeedbackButton.help"   : "{Тактильний відгук}\n\nВикористовувати вібрацію при використанні сенсорного екрану",
 	"vcmi.systemOptions.hapticFeedbackButton.help"   : "{Тактильний відгук}\n\nВикористовувати вібрацію при використанні сенсорного екрану",
 	"vcmi.systemOptions.enableUiEnhancementsButton.hover"  : "Розширення інтерфейсу",
 	"vcmi.systemOptions.enableUiEnhancementsButton.hover"  : "Розширення інтерфейсу",
 	"vcmi.systemOptions.enableUiEnhancementsButton.help"   : "{Розширення інтерфейсу}\n\nУвімкніть різні розширення інтерфейсу для покращення якості життя. Наприклад, більша книга заклинань, рюкзак тощо. Вимкнути, щоб отримати більш класичний досвід.",
 	"vcmi.systemOptions.enableUiEnhancementsButton.help"   : "{Розширення інтерфейсу}\n\nУвімкніть різні розширення інтерфейсу для покращення якості життя. Наприклад, більша книга заклинань, рюкзак тощо. Вимкнути, щоб отримати більш класичний досвід.",
+	"vcmi.systemOptions.enableLargeSpellbookButton.hover"  : "Велика книга заклять",
+	"vcmi.systemOptions.enableLargeSpellbookButton.help"   : "{Велика книга заклять}\n\nВмикає більшу книгу заклять, яка вміщує більше заклять на сторінці. Якщо цей параметр увімкнено, анімація зміни сторінок книги заклять не буде відображатися.",
 
 
 	"vcmi.adventureOptions.infoBarPick.help" : "{Повідомлення у панелі статусу}\n\nЗа можливості, повідомлення про відвідування об'єктів карти пригод будуть відображені у панелі статусу замість окремого вікна",
 	"vcmi.adventureOptions.infoBarPick.help" : "{Повідомлення у панелі статусу}\n\nЗа можливості, повідомлення про відвідування об'єктів карти пригод будуть відображені у панелі статусу замість окремого вікна",
 	"vcmi.adventureOptions.infoBarPick.hover" : "Повідомлення у панелі статусу",
 	"vcmi.adventureOptions.infoBarPick.hover" : "Повідомлення у панелі статусу",
@@ -175,6 +177,15 @@
 
 
 	"vcmi.battleResultsWindow.applyResultsLabel" : "Прийняти результат бою",
 	"vcmi.battleResultsWindow.applyResultsLabel" : "Прийняти результат бою",
 
 
+	"vcmi.tutorialWindow.title" : "Використання Сенсорного Екрану",
+	"vcmi.tutorialWindow.decription.RightClick" : "Торкніться і утримуйте елемент, на якому ви хочете натиснути правою кнопкою миші. Торкніться вільної області, щоб закрити.",
+	"vcmi.tutorialWindow.decription.MapPanning" : "Торкніться і перетягніть одним пальцем, щоб перемістити мапу.",
+	"vcmi.tutorialWindow.decription.MapZooming" : "Торкніться двома пальцями, щоб змінити масштаб мапи.",
+	"vcmi.tutorialWindow.decription.RadialWheel" : "Проводячи пальцем, ви відкриваєте радіальне колесо для різних дій, таких як управління істотами/героями та порядком міст/героїв.",
+	"vcmi.tutorialWindow.decription.BattleDirection" : "Для того, щоб атакувати з певного напрямку, проведіть пальцем у напрямку, звідки буде здійснено атаку.",
+	"vcmi.tutorialWindow.decription.BattleDirectionAbort" : "Атаку можна скасувати, відвівши палець достатньо далеко.",
+	"vcmi.tutorialWindow.decription.AbortSpell" : "Щоб скасувати заклинання, торкніться і утримуйте палець.",
+
 	"vcmi.otherOptions.availableCreaturesAsDwellingLabel.hover" : "Показувати доступних істот",
 	"vcmi.otherOptions.availableCreaturesAsDwellingLabel.hover" : "Показувати доступних істот",
 	"vcmi.otherOptions.availableCreaturesAsDwellingLabel.help" : "{Показувати доступних істот}\n\n Показує істот, яких можна придбати, замість їхнього приросту у зведенні по місту (нижній лівий кут).",
 	"vcmi.otherOptions.availableCreaturesAsDwellingLabel.help" : "{Показувати доступних істот}\n\n Показує істот, яких можна придбати, замість їхнього приросту у зведенні по місту (нижній лівий кут).",
 	"vcmi.otherOptions.creatureGrowthAsDwellingLabel.hover" : "Показувати приріст істот",
 	"vcmi.otherOptions.creatureGrowthAsDwellingLabel.hover" : "Показувати приріст істот",

+ 1 - 1
debian/changelog

@@ -2,7 +2,7 @@ vcmi (1.4.0) jammy; urgency=medium
 
 
   * New upstream release
   * New upstream release
 
 
- -- Ivan Savenko <[email protected]>  Fri, 22 Dec 2023 16:00:00 +0200
+ -- Ivan Savenko <[email protected]>  Fri, 8 Dec 2023 16:00:00 +0200
 
 
 vcmi (1.3.2) jammy; urgency=medium
 vcmi (1.3.2) jammy; urgency=medium
 
 

+ 1 - 3
docs/Readme.md

@@ -1,7 +1,5 @@
 [![GitHub](https://github.com/vcmi/vcmi/actions/workflows/github.yml/badge.svg)](https://github.com/vcmi/vcmi/actions/workflows/github.yml)
 [![GitHub](https://github.com/vcmi/vcmi/actions/workflows/github.yml/badge.svg)](https://github.com/vcmi/vcmi/actions/workflows/github.yml)
-[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.0/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.0)
-[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.1/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.1)
-[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.3.2/total)](https://github.com/vcmi/vcmi/releases/tag/1.3.2)
+[![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/1.4.0/total)](https://github.com/vcmi/vcmi/releases/tag/1.4.0)
 [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases)
 [![Github Downloads](https://img.shields.io/github/downloads/vcmi/vcmi/total)](https://github.com/vcmi/vcmi/releases)
 
 
 # VCMI Project
 # VCMI Project

+ 1 - 1
launcher/eu.vcmi.VCMI.metainfo.xml

@@ -68,7 +68,7 @@
 		<category>StrategyGame</category>
 		<category>StrategyGame</category>
 	</categories>
 	</categories>
 	<releases>
 	<releases>
-		<release version="1.4.0" date="2023-12-22" type="development" />
+		<release version="1.4.0" date="2023-12-08" />
 		<release version="1.3.2" date="2023-09-15" />
 		<release version="1.3.2" date="2023-09-15" />
 		<release version="1.3.1" date="2023-08-18" />
 		<release version="1.3.1" date="2023-08-18" />
 		<release version="1.3.0" date="2023-08-04" />
 		<release version="1.3.0" date="2023-08-04" />