58 switch (preq->
range) {
59 case REQ_RANGE_PLAYER:
63 _(
"Requires knowledge of the technology %s."),
67 _(
"Prevented by knowledge of the technology %s."),
75 _(
"Requires that a player on your team knows the "
80 _(
"Prevented if any player on your team knows the "
85 case REQ_RANGE_ALLIANCE:
89 _(
"Requires that a player allied to you knows the "
94 _(
"Prevented if any player allied to you knows the "
104 _(
"Requires that someone has discovered the "
109 _(
"Requires that no-one has yet discovered the "
116 _(
"Requires that some player knows the "
121 _(
"Requires that no player knows the "
127 case REQ_RANGE_LOCAL:
128 case REQ_RANGE_CADJACENT:
129 case REQ_RANGE_ADJACENT:
131 case REQ_RANGE_TRADE_ROUTE:
132 case REQ_RANGE_CONTINENT:
133 case REQ_RANGE_COUNT:
140 switch (preq->
range) {
141 case REQ_RANGE_PLAYER:
146 _(
"Requires knowledge of a technology with the "
152 _(
"Prevented by knowledge of any technology with the "
162 _(
"Requires that a player on your team knows "
163 "a technology with the \"%s\" flag."),
168 _(
"Prevented if any player on your team knows "
169 "any technology with the \"%s\" flag."),
173 case REQ_RANGE_ALLIANCE:
178 _(
"Requires that a player allied to you knows "
179 "a technology with the \"%s\" flag."),
184 _(
"Prevented if any player allied to you knows "
185 "any technology with the \"%s\" flag."),
189 case REQ_RANGE_WORLD:
194 _(
"Requires that some player knows a technology "
195 "with the \"%s\" flag."),
200 _(
"Requires that no player knows any technology with "
205 case REQ_RANGE_LOCAL:
206 case REQ_RANGE_CADJACENT:
207 case REQ_RANGE_ADJACENT:
209 case REQ_RANGE_TRADE_ROUTE:
210 case REQ_RANGE_CONTINENT:
211 case REQ_RANGE_COUNT:
218 if (preq->
range != REQ_RANGE_PLAYER) {
231 case VUT_ACHIEVEMENT:
232 switch (preq->
range) {
233 case REQ_RANGE_PLAYER:
248 "team-mates has achieved \"%s\"."),
252 "has achieved \"%s\"."),
256 case REQ_RANGE_ALLIANCE:
260 "has achieved \"%s\"."),
268 case REQ_RANGE_WORLD:
272 "has achieved \"%s\"."),
280 case REQ_RANGE_LOCAL:
281 case REQ_RANGE_CADJACENT:
282 case REQ_RANGE_ADJACENT:
284 case REQ_RANGE_TRADE_ROUTE:
285 case REQ_RANGE_CONTINENT:
286 case REQ_RANGE_COUNT:
293 switch (preq->
range) {
294 case REQ_RANGE_LOCAL:
312 switch (preq->
range) {
313 case REQ_RANGE_LOCAL:
317 impr_genus_id_translated_name(
321 impr_genus_id_translated_name(
331 case VUT_IMPROVEMENT:
332 switch (preq->
range) {
333 case REQ_RANGE_WORLD:
341 _(
"Requires that %s was built at some point, "
342 "and that it has not yet been rendered "
349 _(
"Requires that %s was built at some point."),
357 _(
"Prevented if %s has ever been built, "
358 "unless it would be obsolete."),
364 _(
"Prevented if %s has ever been built."),
375 _(
"Requires %s to be owned by any player "
376 "and not yet obsolete."),
382 _(
"Requires %s to be owned by any player."),
390 _(
"Prevented if %s is currently owned by "
391 "any player, unless it is obsolete."),
397 _(
"Prevented if %s is currently owned by "
408 case REQ_RANGE_ALLIANCE:
416 _(
"Requires someone who is currently allied to "
417 "you to have built %s at some point, and for "
418 "it not to have been rendered obsolete."),
424 _(
"Requires someone who is currently allied to "
425 "you to have built %s at some point."),
433 _(
"Prevented if someone currently allied to you "
434 "has ever built %s, unless it would be "
441 _(
"Prevented if someone currently allied to you "
442 "has ever built %s."),
453 _(
"Requires someone allied to you to own %s, "
454 "and for it not to have been rendered "
461 _(
"Requires someone allied to you to own %s."),
469 _(
"Prevented if someone allied to you owns %s, "
470 "unless it is obsolete."),
476 _(
"Prevented if someone allied to you owns %s."),
494 _(
"Requires someone on your team to have "
495 "built %s at some point, and for it not "
496 "to have been rendered obsolete."),
502 _(
"Requires someone on your team to have "
503 "built %s at some point."),
511 _(
"Prevented if someone on your team has ever "
512 "built %s, unless it would be obsolete."),
518 _(
"Prevented if someone on your team has ever "
530 _(
"Requires someone on your team to own %s, "
531 "and for it not to have been rendered "
538 _(
"Requires someone on your team to own %s."),
546 _(
"Prevented if someone on your team owns %s, "
547 "unless it is obsolete."),
553 _(
"Prevented if someone on your team owns %s."),
563 case REQ_RANGE_PLAYER:
571 _(
"Requires you to have built %s at some point, "
572 "and for it not to have been rendered "
579 _(
"Requires you to have built %s at some point."),
587 _(
"Prevented if you have ever built %s, "
588 "unless it would be obsolete."),
594 _(
"Prevented if you have ever built %s."),
605 _(
"Requires you to own %s, which must not "
612 _(
"Requires you to own %s."),
620 _(
"Prevented if you own %s, unless it is "
627 _(
"Prevented if you own %s."),
637 case REQ_RANGE_CONTINENT:
644 _(
"Requires %s in one of your cities on the same "
645 "continent, and not yet obsolete."),
651 _(
"Requires %s in one of your cities on the same "
660 _(
"Prevented if %s is in one of your cities on the "
661 "same continent, unless it is obsolete."),
667 _(
"Prevented if %s is in one of your cities on the "
677 case REQ_RANGE_TRADE_ROUTE:
684 _(
"Requires %s in the city or a trade partner "
685 "(and not yet obsolete)."),
691 _(
"Requires %s in the city or a trade partner."),
700 _(
"Prevented by %s in the city or a trade partner "
701 "(unless it is obsolete)."),
707 _(
"Prevented by %s in the city or a trade partner."),
720 _(
"Requires %s in the city (and not yet obsolete)."),
726 _(
"Requires %s in the city."),
735 _(
"Prevented by %s in the city (unless it is "
742 _(
"Prevented by %s in the city."),
748 case REQ_RANGE_LOCAL:
752 _(
"Only applies to \"%s\" buildings."),
757 _(
"Does not apply to \"%s\" buildings."),
762 case REQ_RANGE_CADJACENT:
763 case REQ_RANGE_ADJACENT:
764 case REQ_RANGE_COUNT:
771 switch (preq->
range) {
772 case REQ_RANGE_LOCAL:
776 Q_(
"?extra:Requires %s on the tile."),
780 Q_(
"?extra:Prevented by %s on the tile."),
784 case REQ_RANGE_CADJACENT:
788 Q_(
"?extra:Requires %s on the tile or a cardinally "
793 Q_(
"?extra:Prevented by %s on the tile or any cardinally "
798 case REQ_RANGE_ADJACENT:
802 Q_(
"?extra:Requires %s on the tile or an adjacent "
807 Q_(
"?extra:Prevented by %s on the tile or any adjacent "
816 Q_(
"?extra:Requires %s on a tile within the city "
821 Q_(
"?extra:Prevented by %s on any tile within the city "
826 case REQ_RANGE_TRADE_ROUTE:
830 Q_(
"?extra:Requires %s on a tile within the city "
831 "radius, or the city radius of a trade partner."),
835 Q_(
"?extra:Prevented by %s on any tile within the city "
836 "radius or the city radius of a trade partner."),
840 case REQ_RANGE_CONTINENT:
841 case REQ_RANGE_PLAYER:
843 case REQ_RANGE_ALLIANCE:
844 case REQ_RANGE_WORLD:
845 case REQ_RANGE_COUNT:
852 switch (preq->
range) {
863 case REQ_RANGE_LOCAL:
864 case REQ_RANGE_CADJACENT:
865 case REQ_RANGE_ADJACENT:
866 case REQ_RANGE_TRADE_ROUTE:
867 case REQ_RANGE_CONTINENT:
868 case REQ_RANGE_PLAYER:
870 case REQ_RANGE_ALLIANCE:
871 case REQ_RANGE_WORLD:
872 case REQ_RANGE_COUNT:
879 switch (preq->
range) {
880 case REQ_RANGE_LOCAL:
890 case REQ_RANGE_CADJACENT:
894 Q_(
"?terrain:Requires %s on the tile or a cardinally "
899 Q_(
"?terrain:Prevented by %s on the tile or any "
900 "cardinally adjacent tile."),
904 case REQ_RANGE_ADJACENT:
908 Q_(
"?terrain:Requires %s on the tile or an adjacent "
913 Q_(
"?terrain:Prevented by %s on the tile or any "
922 Q_(
"?terrain:Requires %s on a tile within the city "
927 Q_(
"?terrain:Prevented by %s on any tile within the city "
932 case REQ_RANGE_TRADE_ROUTE:
936 Q_(
"?terrain:Requires %s on a tile within the city "
937 "radius, or the city radius of a trade partner."),
941 Q_(
"?terrain:Prevented by %s on any tile within the city "
942 "radius or the city radius of a trade partner."),
946 case REQ_RANGE_CONTINENT:
947 case REQ_RANGE_PLAYER:
949 case REQ_RANGE_ALLIANCE:
950 case REQ_RANGE_WORLD:
951 case REQ_RANGE_COUNT:
958 switch (preq->
range) {
959 case REQ_RANGE_PLAYER:
964 _(
"Requires that you are playing as the %s."),
969 _(
"Requires that you are not playing as the %s."),
978 _(
"Requires that you are on the same team as "
984 _(
"Requires that you are not on the same team as "
989 case REQ_RANGE_ALLIANCE:
994 _(
"Requires that you are allied with the %s."),
999 _(
"Requires that you are not allied with the %s."),
1003 case REQ_RANGE_WORLD:
1009 _(
"Requires the %s to have been in the game."),
1014 _(
"Requires the %s never to have been in the "
1022 _(
"Requires the %s in the game."),
1027 _(
"Requires that the %s are not in the game."),
1032 case REQ_RANGE_LOCAL:
1033 case REQ_RANGE_CADJACENT:
1034 case REQ_RANGE_ADJACENT:
1035 case REQ_RANGE_CITY:
1036 case REQ_RANGE_TRADE_ROUTE:
1037 case REQ_RANGE_CONTINENT:
1038 case REQ_RANGE_COUNT:
1044 case VUT_NATIONGROUP:
1045 switch (preq->
range) {
1046 case REQ_RANGE_PLAYER:
1051 _(
"Requires that you are playing %s nation."),
1056 _(
"Prevented if you are playing %s nation."),
1060 case REQ_RANGE_TEAM:
1065 _(
"Requires %s nation on your team."),
1070 _(
"Prevented by %s nation on your team."),
1074 case REQ_RANGE_ALLIANCE:
1079 _(
"Requires %s nation in alliance with you."),
1084 _(
"Prevented if %s nation is in alliance with you."),
1088 case REQ_RANGE_WORLD:
1093 _(
"Requires %s nation in the game."),
1098 _(
"Prevented by %s nation in the game."),
1102 case REQ_RANGE_LOCAL:
1103 case REQ_RANGE_CADJACENT:
1104 case REQ_RANGE_ADJACENT:
1105 case REQ_RANGE_CITY:
1106 case REQ_RANGE_TRADE_ROUTE:
1107 case REQ_RANGE_CONTINENT:
1108 case REQ_RANGE_COUNT:
1115 if (preq->
range != REQ_RANGE_PLAYER) {
1123 _(
"Requires that you are playing %s style nation."),
1129 _(
"Requires that you are not playing %s style nation."),
1134 case VUT_NATIONALITY:
1135 switch (preq->
range) {
1136 case REQ_RANGE_TRADE_ROUTE:
1141 _(
"Requires at least one %s citizen in the city or a "
1147 _(
"Requires that there are no %s citizens in "
1148 "the city or any trade partners."),
1152 case REQ_RANGE_CITY:
1157 _(
"Requires at least one %s citizen in the city."),
1162 _(
"Requires that there are no %s citizens in "
1167 case REQ_RANGE_WORLD:
1168 case REQ_RANGE_ALLIANCE:
1169 case REQ_RANGE_TEAM:
1170 case REQ_RANGE_PLAYER:
1171 case REQ_RANGE_LOCAL:
1172 case REQ_RANGE_CADJACENT:
1173 case REQ_RANGE_ADJACENT:
1174 case REQ_RANGE_CONTINENT:
1175 case REQ_RANGE_COUNT:
1182 switch (preq->
range) {
1183 case REQ_RANGE_PLAYER:
1191 _(
"Requires that you have the relationship '%s' with at "
1192 "least one other living player."),
1196 _(
"Requires that you do not have the relationship '%s' "
1197 "with any living player."),
1201 case REQ_RANGE_TEAM:
1205 _(
"Requires that somebody on your team has the "
1206 "relationship '%s' with at least one other living "
1211 _(
"Requires that nobody on your team has the "
1212 "relationship '%s' with any living player."),
1216 case REQ_RANGE_ALLIANCE:
1220 _(
"Requires that somebody in your alliance has the "
1221 "relationship '%s' with at least one other living "
1226 _(
"Requires that nobody in your alliance has the "
1227 "relationship '%s' with any living player."),
1231 case REQ_RANGE_WORLD:
1235 _(
"Requires the relationship '%s' between two living "
1240 _(
"Requires that no two living players have the "
1241 "relationship '%s'."),
1245 case REQ_RANGE_LOCAL:
1249 _(
"Requires that you have the relationship '%s' with the "
1254 _(
"Requires that you do not have the relationship '%s' "
1255 "with the other player."),
1259 case REQ_RANGE_CADJACENT:
1260 case REQ_RANGE_ADJACENT:
1261 case REQ_RANGE_CITY:
1262 case REQ_RANGE_TRADE_ROUTE:
1263 case REQ_RANGE_CONTINENT:
1264 case REQ_RANGE_COUNT:
1270 case VUT_DIPLREL_TILE:
1271 switch (preq->
range) {
1272 case REQ_RANGE_PLAYER:
1280 _(
"Requires that the tile owner has the relationship"
1281 " '%s' with at least one other living player."),
1285 _(
"Requires that the tile owner does not have the"
1286 " relationship '%s' with any living player."),
1290 case REQ_RANGE_TEAM:
1294 _(
"Requires that somebody on the tile owner's team"
1295 " has the relationship '%s' with at least one other"
1300 _(
"Requires that nobody on the tile owner's team has"
1301 " the relationship '%s' with any living player."),
1305 case REQ_RANGE_ALLIANCE:
1309 _(
"Requires that somebody in the tile owner's alliance"
1310 " has the relationship '%s' with at least one other "
1315 _(
"Requires that nobody in the tile owner's alliance "
1316 "has the relationship '%s' with any living player."),
1320 case REQ_RANGE_LOCAL:
1324 _(
"Requires that you have the relationship '%s' with"
1325 " the tile owner."),
1329 _(
"Requires that you do not have the relationship '%s'"
1330 " with the tile owner."),
1334 case REQ_RANGE_CADJACENT:
1335 case REQ_RANGE_ADJACENT:
1336 case REQ_RANGE_CITY:
1337 case REQ_RANGE_TRADE_ROUTE:
1338 case REQ_RANGE_CONTINENT:
1339 case REQ_RANGE_WORLD:
1340 case REQ_RANGE_COUNT:
1346 case VUT_DIPLREL_TILE_O:
1347 switch (preq->
range) {
1348 case REQ_RANGE_LOCAL:
1352 _(
"Requires that the tile owner has the relationship"
1353 " '%s' with the other player."),
1357 _(
"Requires that the tile owner does not have the"
1358 " relationship '%s' with the other player."),
1362 case REQ_RANGE_CADJACENT:
1363 case REQ_RANGE_ADJACENT:
1364 case REQ_RANGE_CITY:
1365 case REQ_RANGE_TRADE_ROUTE:
1366 case REQ_RANGE_CONTINENT:
1367 case REQ_RANGE_PLAYER:
1368 case REQ_RANGE_TEAM:
1369 case REQ_RANGE_ALLIANCE:
1370 case REQ_RANGE_WORLD:
1371 case REQ_RANGE_COUNT:
1377 case VUT_DIPLREL_UNITANY:
1378 switch (preq->
range) {
1379 case REQ_RANGE_PLAYER:
1387 _(
"Requires that the tile has at least one unit whose "
1388 "owner has the relationship "
1389 "'%s' with at least one other living player."),
1393 _(
"Requires that no unit at the tile is owned by a player "
1394 "who has the relationship '%s' with any living player."),
1398 case REQ_RANGE_TEAM:
1402 _(
"Requires that the tile has at least one unit whose "
1403 "owner is on a team where a member "
1404 "has the relationship '%s' with at least one other "
1409 _(
"Requires that no unit at the tile is owned by a player "
1410 "who is on a team where a member "
1411 "has the relationship '%s' with at least one other "
1416 case REQ_RANGE_ALLIANCE:
1420 _(
"Requires that the tile has at least one unit whose "
1421 "owner is allied to someone that "
1422 "has the relationship '%s' with at least one other "
1427 _(
"Requires that no unit at the tile is owned by a player "
1428 "allied to someone that "
1429 "has the relationship '%s' with any living player."),
1433 case REQ_RANGE_LOCAL:
1437 _(
"Requires that you have the relationship '%s' with "
1438 "the owner of at least one unit at the tile."),
1442 _(
"Requires that you do not have the relationship '%s' "
1443 "with the owner of any unit at the tile."),
1447 case REQ_RANGE_CADJACENT:
1448 case REQ_RANGE_ADJACENT:
1449 case REQ_RANGE_CITY:
1450 case REQ_RANGE_TRADE_ROUTE:
1451 case REQ_RANGE_CONTINENT:
1452 case REQ_RANGE_WORLD:
1453 case REQ_RANGE_COUNT:
1459 case VUT_DIPLREL_UNITANY_O:
1460 switch (preq->
range) {
1461 case REQ_RANGE_LOCAL:
1465 _(
"Requires that the tile has at least one unit whose "
1466 "owner has the relationship '%s' with the other player."),
1470 _(
"Requires that no unit at the tile is owned by a player "
1471 "who has the relationship '%s' with the other player."),
1475 case REQ_RANGE_CADJACENT:
1476 case REQ_RANGE_ADJACENT:
1477 case REQ_RANGE_CITY:
1478 case REQ_RANGE_TRADE_ROUTE:
1479 case REQ_RANGE_CONTINENT:
1480 case REQ_RANGE_PLAYER:
1481 case REQ_RANGE_TEAM:
1482 case REQ_RANGE_ALLIANCE:
1483 case REQ_RANGE_WORLD:
1484 case REQ_RANGE_COUNT:
1491 switch (preq->
range) {
1492 case REQ_RANGE_LOCAL:
1504 case REQ_RANGE_CADJACENT:
1505 case REQ_RANGE_ADJACENT:
1506 case REQ_RANGE_CITY:
1507 case REQ_RANGE_TRADE_ROUTE:
1508 case REQ_RANGE_CONTINENT:
1509 case REQ_RANGE_PLAYER:
1510 case REQ_RANGE_TEAM:
1511 case REQ_RANGE_ALLIANCE:
1512 case REQ_RANGE_WORLD:
1513 case REQ_RANGE_COUNT:
1520 switch (preq->
range) {
1521 case REQ_RANGE_LOCAL:
1544 case REQ_RANGE_CADJACENT:
1545 case REQ_RANGE_ADJACENT:
1546 case REQ_RANGE_CITY:
1547 case REQ_RANGE_TRADE_ROUTE:
1548 case REQ_RANGE_CONTINENT:
1549 case REQ_RANGE_PLAYER:
1550 case REQ_RANGE_TEAM:
1551 case REQ_RANGE_ALLIANCE:
1552 case REQ_RANGE_WORLD:
1553 case REQ_RANGE_COUNT:
1560 switch (preq->
range) {
1561 case REQ_RANGE_LOCAL:
1573 case REQ_RANGE_CADJACENT:
1574 case REQ_RANGE_ADJACENT:
1575 case REQ_RANGE_CITY:
1576 case REQ_RANGE_TRADE_ROUTE:
1577 case REQ_RANGE_CONTINENT:
1578 case REQ_RANGE_PLAYER:
1579 case REQ_RANGE_TEAM:
1580 case REQ_RANGE_ALLIANCE:
1581 case REQ_RANGE_WORLD:
1582 case REQ_RANGE_COUNT:
1602 switch (preq->
range) {
1603 case REQ_RANGE_LOCAL:
1617 case REQ_RANGE_CADJACENT:
1618 case REQ_RANGE_ADJACENT:
1619 case REQ_RANGE_CITY:
1620 case REQ_RANGE_TRADE_ROUTE:
1621 case REQ_RANGE_CONTINENT:
1622 case REQ_RANGE_PLAYER:
1623 case REQ_RANGE_TEAM:
1624 case REQ_RANGE_ALLIANCE:
1625 case REQ_RANGE_WORLD:
1626 case REQ_RANGE_COUNT:
1639 switch (preq->
range) {
1640 case REQ_RANGE_LOCAL:
1642 case USP_TRANSPORTED:
1646 _(
"Requires that the unit is transported."));
1649 _(
"Requires that the unit isn't transported."));
1652 case USP_LIVABLE_TILE:
1656 _(
"Requires that the unit is on livable tile."));
1659 _(
"Requires that the unit isn't on livable tile."));
1662 case USP_TRANSPORTING:
1666 _(
"Requires that the unit does transport one or "
1667 "more cargo units."));
1670 _(
"Requires that the unit doesn't transport "
1671 "any cargo units."));
1674 case USP_HAS_HOME_CITY:
1678 _(
"Requires that the unit has a home city."));
1681 _(
"Requires that the unit is homeless."));
1684 case USP_NATIVE_TILE:
1688 _(
"Requires that the unit is on native tile."));
1691 _(
"Requires that the unit isn't on native tile."));
1694 case USP_NATIVE_EXTRA:
1698 _(
"Requires that the unit is in a native extra."));
1701 _(
"Requires that the unit isn't in a native extra."));
1704 case USP_MOVED_THIS_TURN:
1708 _(
"Requires that the unit has moved this turn."));
1711 _(
"Requires that the unit hasn't moved this turn."));
1716 "Invalid unit state property.");
1719 case REQ_RANGE_CADJACENT:
1720 case REQ_RANGE_ADJACENT:
1721 case REQ_RANGE_CITY:
1722 case REQ_RANGE_TRADE_ROUTE:
1723 case REQ_RANGE_CONTINENT:
1724 case REQ_RANGE_PLAYER:
1725 case REQ_RANGE_TEAM:
1726 case REQ_RANGE_ALLIANCE:
1727 case REQ_RANGE_WORLD:
1728 case REQ_RANGE_COUNT:
1737 switch (preq->
range) {
1738 case REQ_RANGE_LOCAL:
1742 _(
"Requires that the unit is performing activity %s."),
1746 _(
"Requires that the unit is not performing activity %s."),
1750 case REQ_RANGE_CADJACENT:
1751 case REQ_RANGE_ADJACENT:
1752 case REQ_RANGE_CITY:
1753 case REQ_RANGE_TRADE_ROUTE:
1754 case REQ_RANGE_CONTINENT:
1755 case REQ_RANGE_PLAYER:
1756 case REQ_RANGE_TEAM:
1757 case REQ_RANGE_ALLIANCE:
1758 case REQ_RANGE_WORLD:
1759 case REQ_RANGE_COUNT:
1768 switch (preq->
range) {
1769 case REQ_RANGE_LOCAL:
1775 _(
"Requires that the unit has at least %s MP left."),
1781 _(
"Requires that the unit has less than %s MP left."),
1785 case REQ_RANGE_CADJACENT:
1786 case REQ_RANGE_ADJACENT:
1787 case REQ_RANGE_CITY:
1788 case REQ_RANGE_TRADE_ROUTE:
1789 case REQ_RANGE_CONTINENT:
1790 case REQ_RANGE_PLAYER:
1791 case REQ_RANGE_TEAM:
1792 case REQ_RANGE_ALLIANCE:
1793 case REQ_RANGE_WORLD:
1794 case REQ_RANGE_COUNT:
1801 case VUT_MINVETERAN:
1802 if (preq->
range != REQ_RANGE_LOCAL) {
1810 PL_(
"Requires a unit with at least %d veteran level.",
1811 "Requires a unit with at least %d veteran levels.",
1816 PL_(
"Requires a unit with fewer than %d veteran level.",
1817 "Requires a unit with fewer than %d veteran levels.",
1824 if (preq->
range != REQ_RANGE_LOCAL) {
1831 PL_(
"Requires a unit with at least %d hit point left.",
1832 "Requires a unit with at least %d hit points left.",
1837 PL_(
"Requires a unit with fewer than %d hit point "
1839 "Requires a unit with fewer than %d hit points "
1847 if (preq->
range != REQ_RANGE_LOCAL) {
1862 case VUT_SPECIALIST:
1863 if (preq->
range != REQ_RANGE_LOCAL) {
1879 switch (preq->
range) {
1880 case REQ_RANGE_TRADE_ROUTE:
1884 PL_(
"Requires a minimum city size of %d for this "
1885 "city or a trade partner.",
1886 "Requires a minimum city size of %d for this "
1887 "city or a trade partner.",
1892 PL_(
"Requires the city size to be less than %d "
1893 "for this city and all trade partners.",
1894 "Requires the city size to be less than %d "
1895 "for this city and all trade partners.",
1900 case REQ_RANGE_CITY:
1904 PL_(
"Requires a minimum city size of %d.",
1905 "Requires a minimum city size of %d.",
1910 PL_(
"Requires the city size to be less than %d.",
1911 "Requires the city size to be less than %d.",
1916 case REQ_RANGE_LOCAL:
1917 case REQ_RANGE_CADJACENT:
1918 case REQ_RANGE_ADJACENT:
1919 case REQ_RANGE_CONTINENT:
1920 case REQ_RANGE_PLAYER:
1921 case REQ_RANGE_TEAM:
1922 case REQ_RANGE_ALLIANCE:
1923 case REQ_RANGE_WORLD:
1924 case REQ_RANGE_COUNT:
1930 case VUT_MINCULTURE:
1931 switch (preq->
range) {
1932 case REQ_RANGE_CITY:
1936 PL_(
"Requires a minimum culture of %d in the city.",
1937 "Requires a minimum culture of %d in the city.",
1942 PL_(
"Requires the culture in the city to be less "
1944 "Requires the culture in the city to be less "
1950 case REQ_RANGE_TRADE_ROUTE:
1954 PL_(
"Requires a minimum culture of %d in this city or "
1956 "Requires a minimum culture of %d in this city or "
1962 PL_(
"Requires the culture in this city and all trade "
1963 "partners to be less than %d.",
1964 "Requires the culture in this city and all trade "
1965 "partners to be less than %d.",
1970 case REQ_RANGE_PLAYER:
1974 PL_(
"Requires your nation to have culture "
1976 "Requires your nation to have culture "
1982 PL_(
"Prevented if your nation has culture of "
1984 "Prevented if your nation has culture of "
1990 case REQ_RANGE_TEAM:
1994 PL_(
"Requires someone on your team to have culture of "
1996 "Requires someone on your team to have culture of "
2002 PL_(
"Prevented if anyone on your team has culture of "
2004 "Prevented if anyone on your team has culture of "
2010 case REQ_RANGE_ALLIANCE:
2014 PL_(
"Requires someone in your current alliance to "
2015 "have culture of at least %d.",
2016 "Requires someone in your current alliance to "
2017 "have culture of at least %d.",
2022 PL_(
"Prevented if anyone in your current alliance has "
2023 "culture of %d or more.",
2024 "Prevented if anyone in your current alliance has "
2025 "culture of %d or more.",
2030 case REQ_RANGE_WORLD:
2034 PL_(
"Requires that some player has culture of at "
2036 "Requires that some player has culture of at "
2042 PL_(
"Requires that no player has culture of %d "
2044 "Requires that no player has culture of %d "
2050 case REQ_RANGE_LOCAL:
2051 case REQ_RANGE_CADJACENT:
2052 case REQ_RANGE_ADJACENT:
2053 case REQ_RANGE_CONTINENT:
2054 case REQ_RANGE_COUNT:
2059 case VUT_MINFOREIGNPCT:
2060 switch (preq->
range) {
2061 case REQ_RANGE_CITY:
2065 _(
"At least %d%% of the citizens of the city "
2066 "must be foreign."),
2070 _(
"Less than %d%% of the citizens of the city "
2071 "must be foreign."),
2075 case REQ_RANGE_TRADE_ROUTE:
2079 _(
"At least %d%% of the citizens of the city "
2080 "or some trade partner must be foreign."),
2084 _(
"Less than %d%% of the citizens of the city "
2085 "and each trade partner must be foreign."),
2089 case REQ_RANGE_PLAYER:
2090 case REQ_RANGE_TEAM:
2091 case REQ_RANGE_ALLIANCE:
2092 case REQ_RANGE_WORLD:
2093 case REQ_RANGE_LOCAL:
2094 case REQ_RANGE_CADJACENT:
2095 case REQ_RANGE_ADJACENT:
2096 case REQ_RANGE_CONTINENT:
2097 case REQ_RANGE_COUNT:
2102 case VUT_MAXTILEUNITS:
2103 switch (preq->
range) {
2104 case REQ_RANGE_LOCAL:
2108 PL_(
"At most %d unit may be present on the tile.",
2109 "At most %d units may be present on the tile.",
2114 PL_(
"There must be more than %d unit present on "
2116 "There must be more than %d units present on "
2122 case REQ_RANGE_CADJACENT:
2126 PL_(
"The tile or at least one cardinally adjacent tile "
2127 "must have %d unit or fewer.",
2128 "The tile or at least one cardinally adjacent tile "
2129 "must have %d units or fewer.",
2134 PL_(
"The tile and all cardinally adjacent tiles must "
2135 "have more than %d unit each.",
2136 "The tile and all cardinally adjacent tiles must "
2137 "have more than %d units each.",
2142 case REQ_RANGE_ADJACENT:
2146 PL_(
"The tile or at least one adjacent tile must have "
2147 "%d unit or fewer.",
2148 "The tile or at least one adjacent tile must have "
2149 "%d units or fewer.",
2154 PL_(
"The tile and all adjacent tiles must have more "
2155 "than %d unit each.",
2156 "The tile and all adjacent tiles must have more "
2157 "than %d units each.",
2162 case REQ_RANGE_CITY:
2163 case REQ_RANGE_TRADE_ROUTE:
2164 case REQ_RANGE_CONTINENT:
2165 case REQ_RANGE_PLAYER:
2166 case REQ_RANGE_TEAM:
2167 case REQ_RANGE_ALLIANCE:
2168 case REQ_RANGE_WORLD:
2169 case REQ_RANGE_COUNT:
2176 if (preq->
range != REQ_RANGE_PLAYER) {
2183 _(
"Applies to %s AI players."),
2188 _(
"Does not apply to %s AI players."),
2193 case VUT_TERRAINCLASS:
2194 switch (preq->
range) {
2195 case REQ_RANGE_LOCAL:
2200 Q_(
"?terrainclass:Requires %s terrain on the tile."),
2206 Q_(
"?terrainclass:Prevented by %s terrain on the tile."),
2211 case REQ_RANGE_CADJACENT:
2216 Q_(
"?terrainclass:Requires %s terrain on the tile or a "
2217 "cardinally adjacent tile."),
2223 Q_(
"?terrainclass:Prevented by %s terrain on the tile or "
2224 "any cardinally adjacent tile."),
2229 case REQ_RANGE_ADJACENT:
2234 Q_(
"?terrainclass:Requires %s terrain on the tile or an "
2241 Q_(
"?terrainclass:Prevented by %s terrain on the tile or "
2242 "any adjacent tile."),
2247 case REQ_RANGE_CITY:
2252 Q_(
"?terrainclass:Requires %s terrain on a tile within "
2253 "the city radius."),
2259 Q_(
"?terrainclass:Prevented by %s terrain on any tile "
2260 "within the city radius."),
2265 case REQ_RANGE_TRADE_ROUTE:
2270 Q_(
"?terrainclass:Requires %s terrain on a tile within "
2271 "the city radius or the city radius of a trade "
2278 Q_(
"?terrainclass:Prevented by %s terrain on any tile "
2279 "within the city radius or the city radius of a trade "
2285 case REQ_RANGE_CONTINENT:
2286 case REQ_RANGE_PLAYER:
2287 case REQ_RANGE_TEAM:
2288 case REQ_RANGE_ALLIANCE:
2289 case REQ_RANGE_WORLD:
2290 case REQ_RANGE_COUNT:
2297 switch (preq->
range) {
2298 case REQ_RANGE_LOCAL:
2303 _(
"Requires terrain with the \"%s\" flag on the tile."),
2308 _(
"Prevented by terrain with the \"%s\" flag on the "
2313 case REQ_RANGE_CADJACENT:
2318 _(
"Requires terrain with the \"%s\" flag on the "
2319 "tile or a cardinally adjacent tile."),
2324 _(
"Prevented by terrain with the \"%s\" flag on "
2325 "the tile or any cardinally adjacent tile."),
2329 case REQ_RANGE_ADJACENT:
2334 _(
"Requires terrain with the \"%s\" flag on the "
2335 "tile or an adjacent tile."),
2340 _(
"Prevented by terrain with the \"%s\" flag on "
2341 "the tile or any adjacent tile."),
2345 case REQ_RANGE_CITY:
2350 _(
"Requires terrain with the \"%s\" flag on a tile "
2351 "within the city radius."),
2356 _(
"Prevented by terrain with the \"%s\" flag on any tile "
2357 "within the city radius."),
2361 case REQ_RANGE_TRADE_ROUTE:
2366 _(
"Requires terrain with the \"%s\" flag on a tile "
2367 "within the city radius or the city radius of "
2368 "a trade partner."),
2373 _(
"Prevented by terrain with the \"%s\" flag on any tile "
2374 "within the city radius or the city radius of "
2375 "a trade partner."),
2379 case REQ_RANGE_CONTINENT:
2380 case REQ_RANGE_PLAYER:
2381 case REQ_RANGE_TEAM:
2382 case REQ_RANGE_ALLIANCE:
2383 case REQ_RANGE_WORLD:
2384 case REQ_RANGE_COUNT:
2391 switch (preq->
range) {
2392 case REQ_RANGE_LOCAL:
2397 _(
"Requires a road with the \"%s\" flag on the tile."),
2402 _(
"Prevented by a road with the \"%s\" flag on the "
2407 case REQ_RANGE_CADJACENT:
2412 _(
"Requires a road with the \"%s\" flag on the "
2413 "tile or a cardinally adjacent tile."),
2418 _(
"Prevented by a road with the \"%s\" flag on "
2419 "the tile or any cardinally adjacent tile."),
2423 case REQ_RANGE_ADJACENT:
2428 _(
"Requires a road with the \"%s\" flag on the "
2429 "tile or an adjacent tile."),
2434 _(
"Prevented by a road with the \"%s\" flag on "
2435 "the tile or any adjacent tile."),
2439 case REQ_RANGE_CITY:
2444 _(
"Requires a road with the \"%s\" flag on a tile "
2445 "within the city radius."),
2450 _(
"Prevented by a road with the \"%s\" flag on any tile "
2451 "within the city radius."),
2455 case REQ_RANGE_TRADE_ROUTE:
2460 _(
"Requires a road with the \"%s\" flag on a tile "
2461 "within the city radius or the city radius of a "
2467 _(
"Prevented by a road with the \"%s\" flag on any tile "
2468 "within the city radius or the city radius of a "
2473 case REQ_RANGE_CONTINENT:
2474 case REQ_RANGE_PLAYER:
2475 case REQ_RANGE_TEAM:
2476 case REQ_RANGE_ALLIANCE:
2477 case REQ_RANGE_WORLD:
2478 case REQ_RANGE_COUNT:
2485 switch (preq->
range) {
2486 case REQ_RANGE_LOCAL:
2491 _(
"Requires an extra with the \"%s\" flag on the tile."),
2496 _(
"Prevented by an extra with the \"%s\" flag on the "
2501 case REQ_RANGE_CADJACENT:
2506 _(
"Requires an extra with the \"%s\" flag on the "
2507 "tile or a cardinally adjacent tile."),
2512 _(
"Prevented by an extra with the \"%s\" flag on "
2513 "the tile or any cardinally adjacent tile."),
2517 case REQ_RANGE_ADJACENT:
2522 _(
"Requires an extra with the \"%s\" flag on the "
2523 "tile or an adjacent tile."),
2528 _(
"Prevented by an extra with the \"%s\" flag on "
2529 "the tile or any adjacent tile."),
2533 case REQ_RANGE_CITY:
2538 _(
"Requires an extra with the \"%s\" flag on a tile "
2539 "within the city radius."),
2544 _(
"Prevented by an extra with the \"%s\" flag on any tile "
2545 "within the city radius."),
2549 case REQ_RANGE_TRADE_ROUTE:
2554 _(
"Requires an extra with the \"%s\" flag on a tile "
2555 "within the city radius or the city radius of a "
2561 _(
"Prevented by an extra with the \"%s\" flag on any tile "
2562 "within the city radius or the city radius of a "
2567 case REQ_RANGE_CONTINENT:
2568 case REQ_RANGE_PLAYER:
2569 case REQ_RANGE_TEAM:
2570 case REQ_RANGE_ALLIANCE:
2571 case REQ_RANGE_WORLD:
2572 case REQ_RANGE_COUNT:
2579 if (preq->
range != REQ_RANGE_WORLD) {
2585 _(
"Requires the game to have reached the year %s."),
2589 _(
"Requires that the game has not yet reached the "
2595 case VUT_MINCALFRAG:
2596 if (preq->
range != REQ_RANGE_WORLD) {
2604 _(
"Requires the game to have reached %s."),
2610 _(
"Requires that the game has not yet reached %s."),
2616 if (preq->
range != REQ_RANGE_WORLD) {
2623 _(
"Requires %s map."),
2628 _(
"Prevented on %s map."),
2633 case VUT_SERVERSETTING:
2634 if (preq->
range != REQ_RANGE_WORLD) {
2643 _(
"Requires that the server setting %s."),
2652 _(
"Requires age of %d turns."),
2656 _(
"Prevented if age is over %d turns."),
2662 switch (preq->
range) {
2663 case REQ_RANGE_WORLD:
2667 _(
"Requires %d techs to be known in the world."),
2671 _(
"Prevented when %d techs are known in the world."),
2675 case REQ_RANGE_PLAYER:
2679 _(
"Requires player to know %d techs."),
2683 _(
"Prevented when player knows %d techs."),
2687 case REQ_RANGE_LOCAL:
2688 case REQ_RANGE_CADJACENT:
2689 case REQ_RANGE_ADJACENT:
2690 case REQ_RANGE_CITY:
2691 case REQ_RANGE_TRADE_ROUTE:
2692 case REQ_RANGE_CONTINENT:
2693 case REQ_RANGE_TEAM:
2694 case REQ_RANGE_ALLIANCE:
2695 case REQ_RANGE_COUNT:
2701 case VUT_TERRAINALTER:
2702 switch (preq->
range) {
2703 case REQ_RANGE_LOCAL:
2707 _(
"Requires terrain on which alteration %s is "
2712 _(
"Prevented by terrain on which alteration %s "
2717 case REQ_RANGE_CADJACENT:
2718 case REQ_RANGE_ADJACENT:
2719 case REQ_RANGE_CITY:
2720 case REQ_RANGE_TRADE_ROUTE:
2721 case REQ_RANGE_CONTINENT:
2722 case REQ_RANGE_PLAYER:
2723 case REQ_RANGE_TEAM:
2724 case REQ_RANGE_ALLIANCE:
2725 case REQ_RANGE_WORLD:
2726 case REQ_RANGE_COUNT:
2736 static char *tile_property = NULL;
2740 tile_property =
_(
"city centers");
2743 tile_property =
_(
"claimed tiles");
2745 case CITYT_EXTRAS_OWNED:
2746 tile_property =
_(
"owned extras");
2753 switch (preq->
range) {
2754 case REQ_RANGE_LOCAL:
2759 Q_(
"?tileprop:Applies only to %s."), tile_property);
2763 Q_(
"?tileprop:Does not apply to %s."), tile_property);
2766 case REQ_RANGE_CADJACENT:
2771 "cardinally adjacent tiles."),
2776 "cardinally adjacent tiles."),
2780 case REQ_RANGE_ADJACENT:
2785 "adjacent tiles."), tile_property);
2789 "adjacent tiles."), tile_property);
2792 case REQ_RANGE_CITY:
2793 case REQ_RANGE_TRADE_ROUTE:
2794 case REQ_RANGE_CONTINENT:
2795 case REQ_RANGE_PLAYER:
2796 case REQ_RANGE_TEAM:
2797 case REQ_RANGE_ALLIANCE:
2798 case REQ_RANGE_WORLD:
2799 case REQ_RANGE_COUNT:
2807 case VUT_CITYSTATUS:
2809 static char *city_property = NULL;
2812 case CITYS_OWNED_BY_ORIGINAL:
2813 city_property =
_(
"owned by original");
2820 switch (preq->
range) {
2821 case REQ_RANGE_CITY:
2833 case REQ_RANGE_TRADE_ROUTE:
2838 "their trade partners."), city_property);
2842 "their trade partners."), city_property);
2845 case REQ_RANGE_LOCAL:
2846 case REQ_RANGE_ADJACENT:
2847 case REQ_RANGE_CADJACENT:
2848 case REQ_RANGE_CONTINENT:
2849 case REQ_RANGE_PLAYER:
2850 case REQ_RANGE_TEAM:
2851 case REQ_RANGE_ALLIANCE:
2852 case REQ_RANGE_WORLD:
2853 case REQ_RANGE_COUNT:
2867 log_error(
"%s requirement %s in range %d is not supported in reqtext.c.",
2868 preq->
present ?
"Present" :
"Absent",
const char * achievement_name_translation(struct achievement *pach)
const char * action_name_translation(const struct action *action)
void astr_free(struct astring *astr)
const char * astr_build_or_list(struct astring *astr, const char *const *items, size_t number)
static const char * astr_str(const struct astring *astr) fc__attribute((nonnull(1)))
const char * textcalfrag(int frag)
const char * textyear(int year)
const char * get_output_name(Output_type_id output)
static struct fc_sockaddr_list * list
#define PL_(String1, String2, n)
const char * government_name_translation(const struct government *pgovern)
bool can_improvement_go_obsolete(const struct impr_type *pimprove)
bool is_wonder(const struct impr_type *pimprove)
bool is_great_wonder(const struct impr_type *pimprove)
const char * improvement_name_translation(const struct impr_type *pimprove)
#define fc_assert_msg(condition, message,...)
#define fc_assert(condition)
#define log_error(message,...)
const char * move_points_text(int mp, bool reduce)
const char * nation_adjective_translation(const struct nation_type *pnation)
const char * nation_group_name_translation(const struct nation_group *pgroup)
const char * nation_plural_translation(const struct nation_type *pnation)
const char * diplrel_name_translation(int value)
bool req_text_insert_nl(char *buf, size_t bufsz, struct player *pplayer, const struct requirement *preq, enum rt_verbosity verb, const char *prefix)
bool req_text_insert(char *buf, size_t bufsz, struct player *pplayer, const struct requirement *preq, enum rt_verbosity verb, const char *prefix)
const char * universal_name_translation(const struct universal *psource, char *buf, size_t bufsz)
const char * ssetv_human_readable(ssetv val, bool present)
const char * specialist_plural_translation(const struct specialist *sp)
const char * style_name_translation(const struct nation_style *pstyle)
size_t fc_strlcat(char *dest, const char *src, size_t n)
int cat_snprintf(char *str, size_t n, const char *format,...)
const char * advance_name_translation(const struct advance *padvance)
const char * terrain_class_name_translation(enum terrain_class tclass)
const char * terrain_name_translation(const struct terrain *pterrain)
const char * goods_name_translation(struct goods_type *pgood)
const struct unit_type * utype
struct nation_style * style
struct specialist * specialist
enum impr_genus_id impr_genus
enum citytile_type citytile
struct nation_group * nationgroup
struct extra_type * extra
struct nation_type * nation
struct government * govern
enum citystatus_type citystatus
const struct impr_type * building
struct achievement * achievement
enum unit_activity activity
enum ustate_prop unit_state
Output_type_id outputtype
enum topo_flag topo_property
struct unit_class * uclass
struct nation_type * nationality
const char * uclass_name_translation(const struct unit_class *pclass)
Unit_Class_id uclass_count(void)
const char * utype_name_translation(const struct unit_type *punittype)
bool role_units_translations(struct astring *astr, int flag, bool alts)
static bool uclass_has_flag(const struct unit_class *punitclass, enum unit_class_flag_id flag)
#define unit_class_iterate(_p)
#define unit_class_iterate_end