Skip to content

Commit

Permalink
Merge pull request #1101 from eressea/develop
Browse files Browse the repository at this point in the history
Release 29.4
  • Loading branch information
ennorehling authored Dec 12, 2024
2 parents a2e96c9 + 1b69c63 commit 7526adf
Show file tree
Hide file tree
Showing 97 changed files with 2,483 additions and 1,103 deletions.
134 changes: 71 additions & 63 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,103 @@
# 29.4

- Weg der Bäume kostet auch bei resistenten Zielen [Bug 3051]
- Plappermaul testet nicht doppelt auf Resistenz [Bug 3051]

# 28.3

- Zauberkosten sind abhängig von der Zauberstufe, oder Effekt:
- Zauberkosten sind abhängig von der Zauberstufe, oder Effekt:
- Ritual der Aufnahme: Kosten abhängig von der Anzahl betroffener Personen.
- Bei Zeitdehnung wird die Dauer aufgerundet, (Zauberstufe+1)/2
- Verstärkende Wirkungen von Ring der Macht und Magierturm bei Zaubern repariert, e.g. Zeitdehnung
- Sog des Lebens respektiert die Magieresistenz der Zielregion
- Bei Zeitdehnung wird die Dauer aufgerundet, (Zauberstufe+1)/2
- Verstärkende Wirkungen von Ring der Macht und Magierturm bei Zaubern repariert, e.g. Zeitdehnung
- Sog des Lebens respektiert die Magieresistenz der Zielregion

# 27.1

- Neue Formel zur Vermischung von Talenten bei GIB PERSON und REKRUTIERE
- Bauern in übervölkerten Regionen vermehren sich nicht
- Samen wachsen nicht zu Schößlingen heran, wenn sie dadurch Bauern die Felder wegnehmen.
- Schiffe nehmen durch Überladung keinen Schaden mehr
- Dracoide werden rekrutiert wie andere Einheiten [2106]
- Heldenreform
- Neue Formel zur Vermischung von Talenten bei GIB PERSON und REKRUTIERE
- Bauern in übervölkerten Regionen vermehren sich nicht
- Samen wachsen nicht zu Schößlingen heran, wenn sie dadurch Bauern die Felder wegnehmen.
- Schiffe nehmen durch Überladung keinen Schaden mehr
- Dracoide werden rekrutiert wie andere Einheiten [2106]
- Heldenreform

# 3.30.2
- Anzeige des Schiffsschaden im Report aufrunden [2797]

- Anzeige des Schiffsschaden im Report aufrunden [2797]

# 3.30.1
- Schiffsschaden von Flotte falsch berechnet [2760]

- Schiffsschaden von Flotte falsch berechnet [2760]

# 3.30
- Flottenschaden wurde falsch berechnet [2795]
- Magier bekam wöchentlich einen Tiegel mit Krötenschleim [2783]
- Magier blieben zu lange Kröte [2766]
- Schiffsschaden von Flotte falsch berechnet [2760]
- Nicht sichtbare Einheit wurde erfolgreich ausspioniert [2776]
- Insekten hungern in Gletscher trotz Kälteschutz [2778]
- Immer noch Schlümpfe unter den Dämonen [2779]
- Banner wird nicht gelöscht [2774]

- Flottenschaden wurde falsch berechnet [2795]
- Magier bekam wöchentlich einen Tiegel mit Krötenschleim [2783]
- Magier blieben zu lange Kröte [2766]
- Schiffsschaden von Flotte falsch berechnet [2760]
- Nicht sichtbare Einheit wurde erfolgreich ausspioniert [2776]
- Insekten hungern in Gletscher trotz Kälteschutz [2778]
- Immer noch Schlümpfe unter den Dämonen [2779]
- Banner wird nicht gelöscht [2774]

# 3.29

- Seeschlange konnte nicht attackiert werden obwohl sie gesehen wird [2763]
- Flucht auf Schiffen erlauben [2764]
- Befehle wurden wegen non-breaking spaces ignoriert [2753]
- Portale haben alle Einheiten in die selbe Zielregion geschickt [2738]
- Noch eine Reparatur für Langzeitschlümpfe [2758]
- Seeschlange konnte nicht attackiert werden obwohl sie gesehen wird [2763]
- Flucht auf Schiffen erlauben [2764]
- Befehle wurden wegen non-breaking spaces ignoriert [2753]
- Portale haben alle Einheiten in die selbe Zielregion geschickt [2738]
- Noch eine Reparatur für Langzeitschlümpfe [2758]

# 3.28

- Bugfix für Schild des Fisches (Solthar)
- Dämonen können magisch reanimiert werden.
- "Schöne Träume" verliert seine Wirkung, wenn der Zauberer stirbt.
- Mit GIB 0 können hungernde Personen an die Bauern gegeben werden.
- Magieresistenz: Einheiten widerstehen nicht Zaubern der eigenen Partei [2733].
- Zauberkosten steigen durch Ring der Macht nicht an.
- Effektiv gezauberte Stufe von Zauber anhängig von Verfügbarkeit der Materialen.
- Ring der Macht und Steinkreis erhöhen nicht die Zauberkosten [2737].
- Limits für Vertrautenzauber korrekt implementiert.
- Kröten und Schlümpfe können nichts lernen.
- Bugfix für Schild des Fisches (Solthar)
- Dämonen können magisch reanimiert werden.
- "Schöne Träume" verliert seine Wirkung, wenn der Zauberer stirbt.
- Mit GIB 0 können hungernde Personen an die Bauern gegeben werden.
- Magieresistenz: Einheiten widerstehen nicht Zaubern der eigenen Partei [2733].
- Zauberkosten steigen durch Ring der Macht nicht an.
- Effektiv gezauberte Stufe von Zauber anhängig von Verfügbarkeit der Materialen.
- Ring der Macht und Steinkreis erhöhen nicht die Zauberkosten [2737].
- Limits für Vertrautenzauber korrekt implementiert.
- Kröten und Schlümpfe können nichts lernen.

# 3.27

- Schiffe sind kommentarlos nicht gesegelt [2722].
- Meermenschen konnten nicht mehr anschwimmen [2723].
- Magieresistenz repariert [2724].
- Kleine Änderung an Samenwachstum.
- Umstellung auf neue Versionen von externen Libraries.
- Schiffe sind kommentarlos nicht gesegelt [2722].
- Meermenschen konnten nicht mehr anschwimmen [2723].
- Magieresistenz repariert [2724].
- Kleine Änderung an Samenwachstum.
- Umstellung auf neue Versionen von externen Libraries.

# 3.26

- Akademien, Traenke und Verzauberungen wirken auch bei LERNE AUTO
- Das lernen in einer Akademie erhoeht die Lernkosten. Koennen diese
nicht bezahlt werden, wird ohne deren Bonus gelernt.
- Lehrer muessen nicht mehr in der Akademie stehen, damit ihre Schueler
den Bonus bekommen
- Rohstoffe koennen jetzt bereits gesehen werden, wenn eine Einheit nur
die Haelfte des zum Abbau noetigen Talentes hat (statt bisher
Talent-1)
- Mauern der Ewigkeit und Störe Astrale Integrität brauchen keine
Stufenangabe, ihre Kosten sind nicht variabel [2651]
- Akademien, Traenke und Verzauberungen wirken auch bei LERNE AUTO
- Das lernen in einer Akademie erhoeht die Lernkosten. Koennen diese
nicht bezahlt werden, wird ohne deren Bonus gelernt.
- Lehrer muessen nicht mehr in der Akademie stehen, damit ihre Schueler
den Bonus bekommen
- Rohstoffe koennen jetzt bereits gesehen werden, wenn eine Einheit nur
die Haelfte des zum Abbau noetigen Talentes hat (statt bisher
Talent-1)
- Mauern der Ewigkeit und Störe Astrale Integrität brauchen keine
Stufenangabe, ihre Kosten sind nicht variabel [2651]

# 3.25

- Ab sofort ist es nicht mehr erlaubt, Befehle mit weniger als 3
Zeichen abzukürzen.
- Leuchttürme entdecken Seeschlangen und Drachen auf dem Ozean [2688]
- Magieresistenz von Insekten und Goblins repariert [2685]
- Getarnte Einheiten können wieder Eisen abbauen [2679]
- Gestaltwandlung kann nur einmal auf die selbe Einheit wirken [2680]
- Handel benötigt eine Burg mit Mindestgröße 2 [2678]
- Geschützte Leerzeichen in Befehlen werden ignoriert [2670]
- Ab sofort ist es nicht mehr erlaubt, Befehle mit weniger als 3
Zeichen abzukürzen.
- Leuchttürme entdecken Seeschlangen und Drachen auf dem Ozean [2688]
- Magieresistenz von Insekten und Goblins repariert [2685]
- Getarnte Einheiten können wieder Eisen abbauen [2679]
- Gestaltwandlung kann nur einmal auf die selbe Einheit wirken [2680]
- Handel benötigt eine Burg mit Mindestgröße 2 [2678]
- Geschützte Leerzeichen in Befehlen werden ignoriert [2670]

# 3.12

- [bug] Einheitenlimit bei GIB PERSON beachten
- [bug] Einheitenlimit bei ALLIANCE JOIN beachten
- [rule] Einheiten- und Personenzahl im Report beinhaltet *alle* Einheiten der Partei.
- [other] Statistik fuer Spielleiter zeigt das Parteisilber nicht mehr an.
- [other] Berechnung der Message-Ids optimiert.
- [bug] Einheitenlimit bei GIB PERSON beachten
- [bug] Einheitenlimit bei ALLIANCE JOIN beachten
- [rule] Einheiten- und Personenzahl im Report beinhaltet *alle* Einheiten der Partei.
- [other] Statistik fuer Spielleiter zeigt das Parteisilber nicht mehr an.
- [other] Berechnung der Message-Ids optimiert.


3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/"

if (MSVC)
find_package (PDCurses)
if (NOT PDCURSES_FOUND)
message("Could not find PDCurses package, will try Curses")
endif (NOT PDCURSES_FOUND)
set (CURSES_FOUND ${PDCURSES_FOUND})
set (CURSES_LIBRARY ${PDCURSES_LIBRARY})
set (CURSES_LIBRARIES ${PDCURSES_LIBRARIES})
Expand Down
47 changes: 35 additions & 12 deletions CMakeSettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"buildRoot": "${projectDir}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "-v",
Expand All @@ -16,42 +16,65 @@
"value": "${workspaceRoot}/cmake/Modules",
"type": "STRING"
}
]
],
"cmakeToolchain": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
},
{
"name": "x86-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"buildRoot": "${projectDir}\\build\\${name}",
"installRoot": "${projectDir}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x86" ],
"variables": [
{
"name": "CMAKE_TOOLCHAIN_FILE",
"value": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake",
"name": "CMAKE_MODULE_PATH",
"value": "${workspaceRoot}/cmake/Modules",
"type": "STRING"
},
}
],
"cmakeToolchain": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
},
{
"name": "x64-Development",
"generator": "Ninja",
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\build\\${name}",
"installRoot": "${projectDir}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": [
{
"name": "CMAKE_MODULE_PATH",
"value": "${workspaceRoot}/cmake/Modules",
"type": "STRING"
}
]
],
"cmakeToolchain": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
},
{
"name": "x64-Release",
"generator": "Ninja",
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"configurationType": "Release",
"buildRoot": "${projectDir}\\build\\${name}",
"installRoot": "${projectDir}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": []
"variables": [
{
"name": "CMAKE_MODULE_PATH",
"value": "${workspaceRoot}/cmake/Modules",
"type": "STRING"
}
],
"cmakeToolchain": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
}
]
}
74 changes: 74 additions & 0 deletions custom-overlay/tolua/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Common Ambient Variables:
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
# CURRENT_INSTALLED_DIR = ${VCPKG_ROOT_DIR}\installed\${TRIPLET}
# DOWNLOADS = ${VCPKG_ROOT_DIR}\downloads
# PORT = current port name (zlib, etc)
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
# VCPKG_TOOLCHAIN = ON OFF
# TRIPLET_SYSTEM_ARCH = arm x86 x64
# BUILD_ARCH = "Win32" "x64" "ARM"
# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH}
# DEBUG_CONFIG = "Debug Static" "Debug Dll"
# RELEASE_CONFIG = "Release Static"" "Release DLL"
# VCPKG_TARGET_IS_WINDOWS
# VCPKG_TARGET_IS_UWP
# VCPKG_TARGET_IS_LINUX
# VCPKG_TARGET_IS_OSX
# VCPKG_TARGET_IS_FREEBSD
# VCPKG_TARGET_IS_ANDROID
# VCPKG_TARGET_IS_MINGW
# VCPKG_TARGET_EXECUTABLE_SUFFIX
# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX
# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX
#
# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md

# # Specifies if the port install should fail immediately given a condition
# vcpkg_fail_port_install(MESSAGE "tolua currently only supports Linux and Mac platforms" ON_TARGET "Windows")

vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ennorehling/tolua
REF 097c40f49d0391851d800ce2be747eaf45af99b9
SHA512 9ae24deee8e10c993a21c209e70795ee9216d7d629a69456924825e8fefd74d9bc1e08d75e8ff51f29e03d4c160d638385cd431cb76df32276f79fdea2234e28
HEAD_REF master
)

# # Check if one or more features are a part of a package installation.
# # See /docs/maintainers/vcpkg_check_features.md for more details
# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
# FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used
# tbb WITH_TBB
# INVERTED_FEATURES
# tbb ROCKSDB_IGNORE_PACKAGE_TBB
# )

vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
)
vcpkg_cmake_install(
ADD_BIN_TO_PATH
)
vcpkg_copy_tools(TOOL_NAMES tolua AUTO_CLEAN)
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
)

# # Moves all .cmake files from /debug/share/tolua/ to /share/tolua/
# # See /docs/maintainers/vcpkg_fixup_cmake_targets.md for more details
# vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/tolua)

# # Handle copyright

file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
4 changes: 4 additions & 0 deletions custom-overlay/tolua/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
tolua provides CMake targets:

find_package(tolua CONFIG REQUIRED)
target_link_libraries(main PRIVATE tolua::tolua)
13 changes: 13 additions & 0 deletions custom-overlay/tolua/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "tolua",
"version-string": "5.2.5",
"description": "tolua is a tool that greatly simplifies the integration of C/C++ code with Lua.",
"homepage": "http://webserver2.tecgraf.puc-rio.br/~celes/tolua/",
"dependencies": [
"lua",
{
"name": "vcpkg-cmake",
"host": true
}
]
}
5 changes: 5 additions & 0 deletions res/core/messages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6406,5 +6406,10 @@
</type>
</message>

<message name="group_without_allies">
<type>
<arg name="group" type="string"/>
</type>
</message>
</messages>
</eressea>
3 changes: 3 additions & 0 deletions res/translations/messages.de.po
Original file line number Diff line number Diff line change
Expand Up @@ -1104,6 +1104,9 @@ msgstr "\"Eine Melodie erklingt, und $unit($unit) tanzt bis spät in die Nacht h
msgid "dragon_growl"
msgstr "\"$unit($dragon): \\\"$localize($growl) $if($eq($number,1), \"Ich rieche\", \"Wir riechen\") etwas in $region($target)\\\".\""

msgid "group_without_allies"
msgstr "\$group hilft niemandem.\""

msgid "produce"
msgstr "\"$unit($unit) in $region($region) produziert $int($amount)$if($eq($wanted,$amount),\"\",\" von $int($wanted)\") $resource($resource,$wanted).\""

Expand Down
3 changes: 3 additions & 0 deletions res/translations/messages.en.po
Original file line number Diff line number Diff line change
Expand Up @@ -1104,6 +1104,9 @@ msgstr "\"A haunting melody fills the air, and $unit($unit) dances until late in
msgid "dragon_growl"
msgstr "\"$unit($dragon): \\\"$localize($growl) $if($eq($number,1), \"I smell\", \"We smell\") something in $region($target)\\\".\""

msgid "group_without_allies"
msgstr "\$group has no allies.\""

msgid "produce"
msgstr "\"$unit($unit) in $region($region) produces $int($amount)$if($eq($wanted,$amount),\"\",\" of $int($wanted)\") $resource($resource,$amount).\""

Expand Down
11 changes: 11 additions & 0 deletions scripts/roadtest.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
require 'config'
eressea.read_game(get_turn() .. '.dat')
r = get_region(-55, -22)
print(r)
roads = r.roads
for d = 1, 6 do
print(roads[d])
end
for b in r.buildings do
print(b)
end
Loading

0 comments on commit 7526adf

Please sign in to comment.