Feature #1410 ยป 3_4-superspecialist_comment.patch
| data/alien/cities.ruleset | ||
|---|---|---|
|
Government Merchants produce two gold for the government each turn, \
|
||
|
four once Specialist Training tech is known.")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/civ1/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/civ2/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/civ2civ3/cities.ruleset | ||
|---|---|---|
|
A.Smith's Trading Co.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/classic/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/goldkeep/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/granularity/cities.ruleset | ||
|---|---|---|
|
"Tech", "Science", "Player"
|
||
|
}
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/multiplayer/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/ruledit/comments-3.4.txt | ||
|---|---|---|
|
; */ <-- avoid gettext warnings\n\
|
||
|
"
|
||
|
superspecialists = "\
|
||
|
\n\
|
||
|
; Superspecialists are similar to specialists but they are not counted\n\
|
||
|
; within citizens. Players and CMA can't manage them.\n\
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.\n\
|
||
|
; [super_specialist_great_artist]\n\
|
||
|
; (same parameters as for normal specialist follow)\n\
|
||
|
"
|
||
|
nations = "\
|
||
|
\n\
|
||
|
; See doc/README.nations for information on how to\n\
|
||
| data/sandbox/cities.ruleset | ||
|---|---|---|
|
A.Smith's Trading Co.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/stub/cities.ruleset | ||
|---|---|---|
|
; No requirements
|
||
|
}
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| data/webperimental/cities.ruleset | ||
|---|---|---|
|
per turn.\
|
||
|
")
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in superspecialist_* doesn't matter so long as it's unique.
|
||
|
; [superspecialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
; Superspecialists are similar to specialists but they are not counted
|
||
|
; within citizens. Players and CMA can't manage them.
|
||
|
; The tag name in super_specialist_* doesn't matter so long as it's unique.
|
||
|
; [super_specialist_great_artist]
|
||
|
; (same parameters as for normal specialist follow)
|
||
|
[parameters]
|
||
|
add_to_size_limit = 8 ; cities >= this cannot be added to.
|
||
|
angry_citizens = TRUE ; set to FALSE to disable angry citizens
|
||
| tools/ruleutil/comments.c | ||
|---|---|---|
|
char *actions;
|
||
|
char *enablers;
|
||
|
char *specialists;
|
||
|
char *superspecialists;
|
||
|
char *nations;
|
||
|
char *nationgroups;
|
||
|
char *nationsets;
|
||
| ... | ... | |
|
comment_load(comments_storage.enablers, comment_file, "typedoc.enablers");
|
||
|
comment_load(comments_storage.specialists,
|
||
|
comment_file, "typedoc.specialists");
|
||
|
comment_load(comments_storage.superspecialists,
|
||
|
comment_file, "typedoc.superspecialists");
|
||
|
comment_load(comments_storage.nations, comment_file, "typedoc.nations");
|
||
|
comment_load(comments_storage.nationgroups,
|
||
|
comment_file, "typedoc.nationgroups");
|
||
| ... | ... | |
|
comment_write(sfile, comments_storage.specialists, "Specialists");
|
||
|
}
|
||
|
/**********************************************************************//**
|
||
|
Write superspecialists header.
|
||
|
**************************************************************************/
|
||
|
void comment_superspecialists(struct section_file *sfile)
|
||
|
{
|
||
|
comment_write(sfile, comments_storage.superspecialists, "Superspecialists");
|
||
|
}
|
||
|
/**********************************************************************//**
|
||
|
Write nations header.
|
||
|
**************************************************************************/
|
||
| tools/ruleutil/comments.h | ||
|---|---|---|
|
void comment_actions(struct section_file *sfile);
|
||
|
void comment_enablers(struct section_file *sfile);
|
||
|
void comment_specialists(struct section_file *sfile);
|
||
|
void comment_superspecialists(struct section_file *sfile);
|
||
|
void comment_nationsets(struct section_file *sfile);
|
||
|
void comment_nationgroups(struct section_file *sfile);
|
||
|
void comment_nations(struct section_file *sfile);
|
||
| tools/ruleutil/rulesave.c | ||
|---|---|---|
|
{
|
||
|
struct section_file *sfile = create_ruleset_file(name, "cities");
|
||
|
int sect_idx;
|
||
|
bool supers = FALSE;
|
||
|
if (sfile == nullptr) {
|
||
|
return FALSE;
|
||
| ... | ... | |
|
specialist_type_iterate(sp) {
|
||
|
struct specialist *s = specialist_by_number(sp);
|
||
|
char path[512];
|
||
|
bool is_super = is_super_specialist_id(sp);
|
||
|
if (is_super && !supers) {
|
||
|
/* Superspecialists started */
|
||
|
comment_superspecialists(sfile);
|
||
|
supers = TRUE;
|
||
|
}
|
||
|
fc_snprintf(path, sizeof(path),
|
||
|
is_super_specialist_id(sp)
|
||
|
? "super_specialist_%d" : "specialist_%d", sect_idx++);
|
||
|
is_super ? "super_specialist_%d" : "specialist_%d", sect_idx++);
|
||
|
save_name_translation(sfile, &(s->name), path);
|
||
| ... | ... | |
|
save_strvec(sfile, s->helptext, path, "helptext");
|
||
|
} specialist_type_iterate_end;
|
||
|
if (!supers) {
|
||
|
/* Just leave it here */
|
||
|
comment_superspecialists(sfile);
|
||
|
}
|
||
|
if (game.info.celebratesize != GAME_DEFAULT_CELEBRATESIZE) {
|
||
|
secfile_insert_int(sfile, game.info.celebratesize,
|
||