Browse Source

Added object descriptions present in H3

Ivan Savenko 2 years ago
parent
commit
530c70c282

+ 11 - 0
config/objects/rewardableBonusing.json

@@ -23,6 +23,7 @@
 
 				"blockedVisitable" : true,
 				"onVisitedMessage" : 22,
+				"description" : "@core.xtrainfo.0",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -54,6 +55,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 30,
+				"description" : "@core.xtrainfo.1",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -87,6 +89,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 50,
+				"description" : "@core.xtrainfo.2",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -119,6 +122,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 56,
+				"description" : "@core.xtrainfo.3",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"resetParameters" : {
@@ -172,6 +176,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 58,
+				"description" : "@core.xtrainfo.0",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -204,6 +209,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 63,
+				"description" : "@core.xtrainfo.22",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -261,6 +267,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 82,
+				"description" : "@core.xtrainfo.2",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -292,6 +299,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 95,
+				"description" : "@core.xtrainfo.13",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -383,6 +391,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 141,
+				"description" : "@core.xtrainfo.23",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -420,6 +429,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 111,
+				"description" : "@core.xtrainfo.17",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -455,6 +465,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 167,
+				"description" : "@core.xtrainfo.13",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [

+ 12 - 0
config/objects/rewardableOncePerHero.json

@@ -55,6 +55,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 40,
+				"description" : "@core.xtrainfo.7",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -86,6 +87,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 60,
+				"description" : "@core.xtrainfo.4",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -117,6 +119,7 @@
 
 				"onVisitedMessage" : 67,
 				"onEmptyMessage" : 68,
+				"description" : "@core.xtrainfo.6",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -161,6 +164,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 81,
+				"description" : "@core.xtrainfo.8",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -192,6 +196,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 101,
+				"description" : "@core.xtrainfo.11",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -233,16 +238,19 @@
 					}
 				],
 				"onVisitedMessage" : 147,
+				"description" : "@core.xtrainfo.18",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"canRefuse" : true,
 				"rewards" : [
 					{
+						"description" : "@core.arraytxt.202",
 						"message" : 148,
 						"appearChance" : { "max" : 34 },
 						"gainedLevels" : 1
 					},
 					{
+						"description" : "@core.arraytxt.203",
 						"message" : 149,
 						"appearChance" : { "min" : 34, "max" : 67 },
 						"limiter" : { "resources" : { "gold" : 2000 } },
@@ -250,6 +258,7 @@
 						"gainedLevels" : 1
 					},
 					{
+						"description" : "@core.arraytxt.204",
 						"message" : 151,
 						"appearChance" : { "min" : 67 },
 						"limiter" : { "resources" : { "gems" : 10 } },
@@ -282,6 +291,7 @@
 				"onSelectMessage" : 71,
 				"onVisitedMessage" : 72,
 				"onEmptyMessage" : 73,
+				"description" : "@core.xtrainfo.9",
 				"visitMode" : "hero",
 				"selectMode" : "selectPlayer",
 				"canRefuse" : true,
@@ -322,6 +332,7 @@
 				"onSelectMessage" : 158,
 				"onVisitedMessage" : 159,
 				"onEmptyMessage" : 160,
+				"description" : "@core.xtrainfo.10",
 				"visitMode" : "hero",
 				"selectMode" : "selectPlayer",
 				"canRefuse" : true,
@@ -360,6 +371,7 @@
 				"compatibilityIdentifiers" : [ "object" ],
 
 				"onVisitedMessage" : 144,
+				"description" : "@core.xtrainfo.5",
 				"visitMode" : "hero",
 				"selectMode" : "selectFirst",
 				"rewards" : [

+ 2 - 0
config/objects/rewardableOncePerWeek.json

@@ -21,6 +21,7 @@
 
 				"onEmptyMessage" : 79,
 				"onVisitedMessage" : 78,
+				"description" : "@core.xtrainfo.25",
 				"visitMode" : "bonus",
 				"selectMode" : "selectFirst",
 				"rewards" : [
@@ -59,6 +60,7 @@
 
 				"onEmptyMessage" : 76,
 				"onVisitedMessage" : 75,
+				"description" : "@core.xtrainfo.15",
 				"resetParameters" : {
 					"period" : 7,
 					"visitors" : true

+ 6 - 3
config/objects/rewardableShrine.json

@@ -20,6 +20,7 @@
 				
 				"visitMode" : "limiter",
 				"visitedTooltip" : 354,
+				"description" : "@core.xtrainfo.19",
 
 				"variables" : {
 					"spell" : {
@@ -43,7 +44,7 @@
 						"spells" : [
 							"@gainedSpell"
 						],
-						"description" : 355,
+						"description" : "@core.genrltxt.355",
 						"message" : [ 127, "%s." ] // You learn new spell
 					}
 				],
@@ -87,6 +88,7 @@
 				
 				"visitMode" : "limiter",
 				"visitedTooltip" : 354,
+				"description" : "@core.xtrainfo.20",
 
 				"variables" : {
 					"spell" : {
@@ -110,7 +112,7 @@
 						"spells" : [
 							"@gainedSpell"
 						],
-						"description" : 355,
+						"description" : "@core.genrltxt.355",
 						"message" : [ 128, "%s." ] // You learn new spell
 					}
 				],
@@ -154,6 +156,7 @@
 				
 				"visitMode" : "limiter",
 				"visitedTooltip" : 354,
+				"description" : "@core.xtrainfo.21",
 
 				"variables" : {
 					"spell" : {
@@ -177,7 +180,7 @@
 						"spells" : [
 							"@gainedSpell"
 						],
-						"description" : 355,
+						"description" : "@core.genrltxt.355",
 						"message" : [ 129, "%s." ] // You learn new spell
 					}
 				],

+ 1 - 0
config/objects/rewardableWitchHut.json

@@ -20,6 +20,7 @@
 				
 				"visitMode" : "limiter",
 				"visitedTooltip" : 354,
+				"description" : "@core.xtrainfo.12",
 
 				"variables" : {
 					"secondarySkill" : {

+ 1 - 0
lib/CGeneralTextHandler.cpp

@@ -475,6 +475,7 @@ CGeneralTextHandler::CGeneralTextHandler():
 	readToVector("core.cmpmusic", "DATA/CMPMUSIC.TXT" );
 	readToVector("core.minename", "DATA/MINENAME.TXT" );
 	readToVector("core.mineevnt", "DATA/MINEEVNT.TXT" );
+	readToVector("core.xtrainfo", "DATA/XTRAINFO.TXT" );
 
 	static const char * QE_MOD_COMMANDS = "DATA/QECOMMANDS.TXT";
 	if (CResourceHandler::get()->existsResource(TextPath::builtin(QE_MOD_COMMANDS)))

+ 6 - 2
lib/rewardable/Info.cpp

@@ -49,7 +49,11 @@ namespace {
 		if (value.String().empty())
 			return ret;
 
-		ret.appendTextID(textIdentifier.get());
+		if (value.String()[0] == '@')
+			ret.appendTextID(value.String().substr(1));
+		else
+			ret.appendTextID(textIdentifier.get());
+
 		return ret;
 	}
 
@@ -69,7 +73,7 @@ void Rewardable::Info::init(const JsonNode & objectConfig, const std::string & o
 	objectTextID = objectName;
 
 	auto loadString = [&](const JsonNode & entry, const TextIdentifier & textID){
-		if (entry.isString() && !entry.String().empty())
+		if (entry.isString() && !entry.String().empty() && entry.String()[0] != '@')
 			VLC->generaltexth->registerString(entry.meta, textID, entry.String());
 	};