1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

Support for configurable town fortifications

Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.

It is now possible to define which parts of town fortifications are
provided by town buildings

Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".

Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
This commit is contained in:
Ivan Savenko
2024-08-28 19:33:56 +00:00
parent 247be94015
commit 36c1ed670f
33 changed files with 284 additions and 98 deletions

View File

@@ -84,6 +84,8 @@ public:
void requestIdentifier(const std::string & type, const JsonNode & name, const std::function<void(si32)> & callback) const;
void requestIdentifier(const JsonNode & name, const std::function<void(si32)> & callback) const;
void requestIdentifierOptional(const std::string & type, const JsonNode & name, const std::function<void(si32)> & callback) const;
/// try to request ID. If ID with such name won't be loaded, callback function will not be called
void tryRequestIdentifier(const std::string & scope, const std::string & type, const std::string & name, const std::function<void(si32)> & callback) const;
void tryRequestIdentifier(const std::string & type, const JsonNode & name, const std::function<void(si32)> & callback) const;