Freeciv-3.1: /fast/freeciv/nightly/S3_1/common/game.h Source File

Freeciv-3.1

Loading...
Searching...
No Matches
game.h
Go to the documentation of this file.
1/***********************************************************************
2 Freeciv - Copyright (C) 1996 - A Kjeldberg, L Gregersen, P Unold
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
6 any later version.
7
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12***********************************************************************/
13#ifndef FC__GAME_H
14#define FC__GAME_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif /* __cplusplus */
19
20#include <time.h> /* time_t */
21
22#ifdef FREECIV_HAVE_SYS_TIME_H
23#include <sys/time.h>
24#endif
25
26/* utility */
27#include "fcthread.h"
28#include "randseed.h"
29#include "shared.h"
30#include "timing.h"
31
32/* common */
33#include "connection.h" /* struct conn_list */
34#include "fc_types.h"
35#include "player.h"
36#include "packets.h"
37#include "world_object.h"
38
39 enum debug_globals {
40 DEBUG_FERRIES,
41 DEBUG_LAST
42};
43
44 enum city_names_mode {
45 CNM_NO_RESTRICTIONS = 0,
46 CNM_PLAYER_UNIQUE,
47 CNM_GLOBAL_UNIQUE,
48 CNM_NO_STEALING
49};
50
51 enum barbarians_rate {
52 BARBS_DISABLED = 0,
53 BARBS_HUTS_ONLY,
54 BARBS_NORMAL,
55 BARBS_FREQUENT,
56 BARBS_HORDES
57};
58
59 enum autosave_type {
60 AS_TURN = 0,
61 AS_GAME_OVER,
62 AS_QUITIDLE,
63 AS_INTERRUPT,
64 AS_TIMER
65};
66
67 enum scorelog_level {
68 SL_ALL = 0,
69 SL_HUMANS
70};
71
72 struct user_flag
73{
74 char *name;
75 char *helptxt;
76};
77
78/* The number of turns that the first user needs to be attached to a
79 * player for that user to be ranked as that player */
80#define TURNS_NEEDED_TO_RANK 10
81
82 struct civ_game {
83 struct packet_ruleset_control control;
84 char *ruleset_summary;
85 char *ruleset_description;
86 char *ruleset_capabilities;
87 struct packet_scenario_info scenario;
88 struct packet_scenario_description scenario_desc;
89 struct packet_game_info info;
90 struct packet_calendar_info calendar;
91 struct packet_timeout_info tinfo;
92
93 struct government *default_government; /* may be overridden by nation */
94 struct government *government_during_revolution;
95
96 struct conn_list *all_connections; /* including not yet established */
97 struct conn_list *est_connections; /* all established client conns */
98 struct conn_list *glob_observers; /* global observers */
99
100 struct veteran_system *veteran; /* veteran system */
101
102 struct rgbcolor *plr_bg_color;
103
104 struct {
105 /* Items given to all players at game start.
106 * Client gets this info for help purposes only. */
107 int global_init_techs[MAX_NUM_TECH_LIST];
108 int global_init_buildings[MAX_NUM_BUILDING_LIST];
109 } rgame;
110
111 union {
112 struct {
113 /* Only used at the client (./client/). */
114
115 bool ruleset_init;
116 bool ruleset_ready;
117 } client;
118
119 struct {
120 /* Only used in the server (./ai/ and ./server/). */
121
122 /* Defined in the ruleset. */
123
124 /* Game settings & other data. */
125
126 enum city_names_mode allowed_city_names;
127 enum plrcolor_mode plrcolormode;
128 int aqueductloss;
129 bool auto_ai_toggle;
130 bool autoattack;
131 int autoupgrade_veteran_loss;
132 enum barbarians_rate barbarianrate;
133 int base_incite_cost;
134 int civilwarsize;
135 int conquercost;
136 int contactturns;
137 int diplchance;
138 int diplbulbcost;
139 int diplgoldcost;
140 int incite_gold_loss_chance;
141 int incite_gold_capt_chance;
142 int dispersion;
143 int end_turn;
144 bool endspaceship;
145 bool fixedlength;
146 bool foggedborders;
147 int freecost;
148 int incite_improvement_factor;
149 int incite_total_factor;
150 int incite_unit_factor;
151 int init_vis_radius_sq;
152 int kick_time;
153 int killunhomed; /* slowly killing unhomed units */
154 int maxconnectionsperhost;
155 int max_players;
156 char nationset[MAX_LEN_NAME];
157 int mgr_distance;
158 bool mgr_foodneeded;
159 int mgr_nationchance;
160 int mgr_turninterval;
161 int mgr_worldchance;
162 bool multiresearch;
163 bool migration;
164 enum trait_dist_mode trait_dist;
165 int min_players;
166 bool natural_city_names;
167 int netwait;
168 int num_phases;
169 int occupychance;
170 int onsetbarbarian;
171 int pingtime;
172 int pingtimeout;
173 bool ip_hide;
174 int ransom_gold;
175 int razechance;
176 unsigned revealmap;
177 int revolution_length;
178 int spaceship_travel_time;
179 bool threaded_save;
180 int save_compress_level;
181 enum fz_method save_compress_type;
182 int save_nturns;
183 int save_frequency;
184 unsigned autosaves; /* FIXME: char would be enough, but current settings.c code wants to
185 write sizeof(unsigned) bytes */
186 bool savepalace;
187 bool homecaughtunits;
188 char start_units[MAX_LEN_STARTUNIT];
189 bool start_city;
190 int start_year;
191 int techloss_restore;
192 int techlost_donor;
193 int techlost_recv;
194 int tcptimeout;
195 int techpenalty;
196 bool turnblock;
197 int unitwaittime; /* minimal time between two movements of a unit */
198 int upgrade_veteran_loss;
199 bool vision_reveal_tiles;
200
201 bool debug[DEBUG_LAST];
202 int timeoutint; /* increase timeout every N turns... */
203 int timeoutinc; /* ... by this amount ... */
204 int timeoutincmult; /* ... and multiply timeoutinc by this amount ... */
205 int timeoutintinc; /* ... and increase timeoutint by this amount */
206 int timeoutcounter; /* timeoutcounter - timeoutint = turns to next inc. */
207 int timeoutaddenemymove; /* minimum timeout after an enemy move is seen */
208
209 time_t last_ping;
210 struct timer *phase_timer; /* Time since seconds_to_phase_done was set. */
211 int additional_phase_seconds;
212 /* The game.info.phase_mode value indicates the phase mode currently in
213 * use. The "stored" value is a value the player can change; it won't
214 * take effect until the next turn. */
215 int phase_mode_stored;
216 struct timer *save_timer;
217 float turn_change_time;
218 char connectmsg[MAX_LEN_MSG];
219 char save_name[MAX_LEN_NAME];
220 bool scorelog;
221 enum scorelog_level scoreloglevel;
222 char scorefile[MAX_LEN_NAME];
223 int scoreturn; /* next make_history_report() */
224 randseed seed_setting;
225 randseed seed;
226
227 bool global_warming;
228 int global_warming_percent;
229 bool nuclear_winter;
230 int nuclear_winter_percent;
231
232 bool fogofwar_old; /* as the fog_of_war bit get changed by setting
233 * the server we need to remember the old setting */
234 bool last_updated_year; /* last_updated is still counted as year in this
235 * game. */
236 char rulesetdir[MAX_LEN_NAME];
237 char demography[MAX_LEN_DEMOGRAPHY];
238 char allow_take[MAX_LEN_ALLOW_TAKE];
239
240 bool settings_gamestart_valid; /* Valid settings from the game start. */
241
242 struct rgbcolor_list *plr_colors;
243
244 struct section_file *luadata;
245
246 struct {
247 int turns;
248 int max_size;
249 bool chat;
250 bool info;
251 } event_cache;
252
253 /* used by the map editor to control game_save. */
254 struct {
255 bool save_known; /* loading will just reveal the squares around
256 * cities and units */
257 bool save_starts; /* start positions will be auto generated */
258 bool save_private_map; /* FoW map; will be created if not saved */
259 } save_options;
260
261 struct {
262 char user_message[256];
263 char type[20];
264 } meta_info;
265
266 struct {
267 fc_mutex city_list;
268 } mutexes;
269
270 struct trait_limits default_traits[TRAIT_COUNT];
271
272 struct {
273 char *description_file;
274 char *nationlist;
275 char **embedded_nations;
276 size_t embedded_nations_count;
277 const char **allowed_govs;
278 char **nc_agovs;
279 size_t ag_count;
280 const char **allowed_terrains;
281 char **nc_aterrs;
282 size_t at_count;
283 const char **allowed_styles;
284 char **nc_astyles;
285 size_t as_count;
286 int named_teams;
287 } ruledit;
288 } server;
289 };
290
291 struct {
292 /* Function to be called in game_remove_unit when a unit is deleted. */
293 void (*unit_deallocate)(int unit_id);
294 } callbacks;
295};
296
297void game_init(bool keep_ruleset_value);
298void game_map_init(void);
299void game_free(void);
300void game_reset(void);
301
302void game_ruleset_init(void);
303void game_ruleset_free(void);
304
305int civ_population(const struct player *pplayer);
306struct city *game_city_by_name(const char *name);
307struct city *game_city_by_number(int id);
308
309struct unit *game_unit_by_number(int id);
310
311void game_remove_unit(struct world *gworld, struct unit *punit);
312void game_remove_city(struct world *gworld, struct city *pcity);
313void initialize_globals(void);
314
315bool is_player_phase(const struct player *pplayer, int phase);
316
317const char *population_to_text(int thousand_citizen);
318
319int generate_save_name(const char *format, char *buf, int buflen,
320 const char *reason);
321
322void user_flag_init(struct user_flag *flag);
323void user_flag_free(struct user_flag *flag);
324
325int current_turn_timeout(void);
326
327extern bool _ruleset_compat_mode;
328
329/**********************************************************************/
332 static inline void set_ruleset_compat_mode(bool active)
333{
334 _ruleset_compat_mode = active;
335}
336
337/**********************************************************************/
340 static inline bool is_ruleset_compat_mode(void)
341{
342 return _ruleset_compat_mode;
343}
344
345extern struct civ_game game;
346extern struct world wld;
347
348#define GAME_DEFAULT_SEED 0
349#define GAME_MIN_SEED 0
350#define GAME_MAX_SEED (MAX_UINT32 >> 1)
351
352#define GAME_DEFAULT_GOLD 50
353#define GAME_MIN_GOLD 0
354#define GAME_MAX_GOLD 50000
355
356#define GAME_DEFAULT_INFRA 0
357#define GAME_MIN_INFRA 0
358#define GAME_MAX_INFRA 50000
359
360#define GAME_DEFAULT_START_UNITS "ccwwx"
361#define GAME_DEFAULT_START_CITY FALSE
362
363#define GAME_DEFAULT_DISPERSION 0
364#define GAME_MIN_DISPERSION 0
365#define GAME_MAX_DISPERSION 10
366
367#define GAME_DEFAULT_TECHLEVEL 0
368#define GAME_MIN_TECHLEVEL 0
369#define GAME_MAX_TECHLEVEL 100
370
371#define GAME_DEFAULT_ANGRYCITIZEN TRUE
372
373#define GAME_DEFAULT_END_TURN 5000
374#define GAME_MIN_END_TURN 1
375#define GAME_MAX_END_TURN 32767
376
377#define GAME_DEFAULT_MIN_PLAYERS 1
378#define GAME_MIN_MIN_PLAYERS 0
379#define GAME_MAX_MIN_PLAYERS MAX_NUM_PLAYERS
380
381#define GAME_DEFAULT_MAX_PLAYERS MAX_NUM_PLAYERS
382#define GAME_MIN_MAX_PLAYERS 1
383#define GAME_MAX_MAX_PLAYERS MAX_NUM_PLAYERS
384
385#define GAME_DEFAULT_AIFILL 5
386#define GAME_MIN_AIFILL 0
387#define GAME_MAX_AIFILL GAME_MAX_MAX_PLAYERS
388
389#define GAME_DEFAULT_NATIONSET ""
390
391#define GAME_DEFAULT_FOODBOX 100
392#define GAME_MIN_FOODBOX 1
393#define GAME_MAX_FOODBOX 10000
394
395#define GAME_DEFAULT_SHIELDBOX 100
396#define GAME_MIN_SHIELDBOX 1
397#define GAME_MAX_SHIELDBOX 10000
398
399#define GAME_DEFAULT_SCIENCEBOX 100
400#define GAME_MIN_SCIENCEBOX 1
401#define GAME_MAX_SCIENCEBOX 10000
402
403#define GAME_DEFAULT_DIPLBULBCOST 0
404#define GAME_MIN_DIPLBULBCOST 0
405#define GAME_MAX_DIPLBULBCOST 100
406
407#define GAME_DEFAULT_DIPLGOLDCOST 0
408#define GAME_MIN_DIPLGOLDCOST 0
409#define GAME_MAX_DIPLGOLDCOST 100
410
411#define GAME_DEFAULT_INCITE_GOLD_LOSS_CHANCE 0
412#define GAME_MIN_INCITE_GOLD_LOSS_CHANCE 0
413#define GAME_MAX_INCITE_GOLD_LOSS_CHANCE 100
414
415#define GAME_DEFAULT_INCITE_GOLD_CAPT_CHANCE 0
416#define GAME_MIN_INCITE_GOLD_CAPT_CHANCE 0
417#define GAME_MAX_INCITE_GOLD_CAPT_CHANCE 100
418
419#define GAME_DEFAULT_FOGOFWAR TRUE
420
421#define GAME_DEFAULT_FOGGEDBORDERS FALSE
422
423#define GAME_DEFAULT_GLOBAL_WARMING TRUE
424
425#define GAME_DEFAULT_GLOBAL_WARMING_PERCENT 100
426#define GAME_MIN_GLOBAL_WARMING_PERCENT 1
427#define GAME_MAX_GLOBAL_WARMING_PERCENT 10000
428
429#define GAME_DEFAULT_NUCLEAR_WINTER TRUE
430
431#define GAME_DEFAULT_NUCLEAR_WINTER_PERCENT 100
432#define GAME_MIN_NUCLEAR_WINTER_PERCENT 1
433#define GAME_MAX_NUCLEAR_WINTER_PERCENT 10000
434
435#define GAME_DEFAULT_BORDERS BORDERS_ENABLED
436
437#define GAME_DEFAULT_HAPPYBORDERS HB_NATIONAL
438
439#define GAME_DEFAULT_DIPLOMACY DIPLO_FOR_ALL
440
441#define GAME_DEFAULT_DIPLCHANCE 80
442#define GAME_MIN_DIPLCHANCE 40
443#define GAME_MAX_DIPLCHANCE 100
444
445#define GAME_DEFAULT_FREECOST 0
446#define GAME_MIN_FREECOST 0
447#define GAME_MAX_FREECOST 100
448
449#define GAME_DEFAULT_CONQUERCOST 0
450#define GAME_MIN_CONQUERCOST 0
451#define GAME_MAX_CONQUERCOST 100
452
453#define GAME_DEFAULT_TECHLOSSFG -1
454#define GAME_MIN_TECHLOSSFG -1
455#define GAME_MAX_TECHLOSSFG 200
456
457#define GAME_DEFAULT_TECHLOSSREST 50
458#define GAME_MIN_TECHLOSSREST -1
459#define GAME_MAX_TECHLOSSREST 100
460
461#define GAME_DEFAULT_TECHLEAK 100
462#define GAME_MIN_TECHLEAK 0
463#define GAME_MAX_TECHLEAK 300
464
465#define GAME_DEFAULT_CITYMINDIST 2
466#define GAME_MIN_CITYMINDIST 1
467#define GAME_MAX_CITYMINDIST 11
468
469#define GAME_DEFAULT_CIVILWARSIZE 10
470#define GAME_MIN_CIVILWARSIZE 2 /* can't split an empire of 1 city */
471#define GAME_MAX_CIVILWARSIZE 1000
472
473#define GAME_DEFAULT_RESTRICTINFRA FALSE
474#define GAME_DEFAULT_UNRPROTECTS TRUE
475
476#define GAME_DEFAULT_CONTACTTURNS 20
477#define GAME_MIN_CONTACTTURNS 0
478#define GAME_MAX_CONTACTTURNS 100
479
480#define GAME_DEFAULT_CELEBRATESIZE 3
481
482#define GAME_DEFAULT_RAPTUREDELAY 1
483#define GAME_MIN_RAPTUREDELAY 1
484#define GAME_MAX_RAPTUREDELAY 99 /* 99 practicaly disables rapturing */
485
486#define GAME_DEFAULT_DISASTERS 10
487#define GAME_MIN_DISASTERS 0
488#define GAME_MAX_DISASTERS 1000
489
490#define GAME_DEFAULT_TRAIT_DIST_MODE TDM_FIXED
491
492#define GAME_DEFAULT_SAVEPALACE TRUE
493
494#define GAME_DEFAULT_HOMECAUGHTUNITS TRUE
495
496#define GAME_DEFAULT_NATURALCITYNAMES TRUE
497
498#define GAME_DEFAULT_MIGRATION FALSE
499
500#define GAME_DEFAULT_MGR_TURNINTERVAL 5
501#define GAME_MIN_MGR_TURNINTERVAL 1
502#define GAME_MAX_MGR_TURNINTERVAL 100
503
504#define GAME_DEFAULT_MGR_FOODNEEDED TRUE
505
506/* definition of the migration distance in relation to the current city
507 * radius; 0 means that migration is possible if the second city is within
508 * the city radius */
509#define GAME_DEFAULT_MGR_DISTANCE 0
510#define GAME_MIN_MGR_DISTANCE (0 - CITY_MAP_MAX_RADIUS)
511#define GAME_MAX_MGR_DISTANCE (1 + CITY_MAP_MAX_RADIUS)
512
513#define GAME_DEFAULT_MGR_NATIONCHANCE 50
514#define GAME_MIN_MGR_NATIONCHANCE 0
515#define GAME_MAX_MGR_NATIONCHANCE 100
516
517#define GAME_DEFAULT_MGR_WORLDCHANCE 10
518#define GAME_MIN_MGR_WORLDCHANCE 0
519#define GAME_MAX_MGR_WORLDCHANCE 100
520
521#define GAME_DEFAULT_AQUEDUCTLOSS 0
522#define GAME_MIN_AQUEDUCTLOSS 0
523#define GAME_MAX_AQUEDUCTLOSS 100
524
525#define GAME_DEFAULT_KILLSTACK TRUE
526#define GAME_DEFAULT_KILLCITIZEN TRUE
527
528#define GAME_DEFAULT_KILLUNHOMED 0
529#define GAME_MIN_KILLUNHOMED 0
530#define GAME_MAX_KILLUNHOMED 100
531
532#define GAME_DEFAULT_TECHPENALTY 100
533#define GAME_MIN_TECHPENALTY 0
534#define GAME_MAX_TECHPENALTY 100
535
536#define GAME_DEFAULT_TECHLOST_RECV 0
537#define GAME_MIN_TECHLOST_RECV 0
538#define GAME_MAX_TECHLOST_RECV 100
539
540#define GAME_DEFAULT_TECHLOST_DONOR 0
541#define GAME_MIN_TECHLOST_DONOR 0
542#define GAME_MAX_TECHLOST_DONOR 100
543
544#define GAME_DEFAULT_TEAM_POOLED_RESEARCH TRUE
545#define GAME_DEFAULT_MULTIRESEARCH FALSE
546
547#define GAME_DEFAULT_RAZECHANCE 20
548#define GAME_MIN_RAZECHANCE 0
549#define GAME_MAX_RAZECHANCE 100
550
551#define GAME_DEFAULT_REVEALMAP REVEAL_MAP_NONE
552
553#define GAME_DEFAULT_SCORELOG FALSE
554#define GAME_DEFAULT_SCORELOGLEVEL SL_ALL
555#define GAME_DEFAULT_SCOREFILE "freeciv-score.log"
556
557/* Turns between reports is random between SCORETURN and (2 x SCORETURN).
558 * First report is shown at SCORETURN. As report is generated in the end of the turn,
559 * first report is already generated at (SCORETURN - 1) */
560#define GAME_DEFAULT_SCORETURN 20
561
562#define GAME_DEFAULT_VICTORY_CONDITIONS (1 << VC_SPACERACE | 1 << VC_ALLIED)
563#define GAME_DEFAULT_END_SPACESHIP TRUE
564
565#define GAME_DEFAULT_SPACESHIP_TRAVEL_TIME 100
566#define GAME_MIN_SPACESHIP_TRAVEL_TIME 50
567#define GAME_MAX_SPACESHIP_TRAVEL_TIME 1000
568
569#define GAME_DEFAULT_TURNBLOCK TRUE
570
571#define GAME_DEFAULT_AUTO_AI_TOGGLE FALSE
572
573#define GAME_DEFAULT_TIMEOUT 0
574#define GAME_DEFAULT_FIRST_TIMEOUT -1
575#define GAME_DEFAULT_TIMEOUTINT 0
576#define GAME_DEFAULT_TIMEOUTINTINC 0
577#define GAME_DEFAULT_TIMEOUTINC 0
578#define GAME_DEFAULT_TIMEOUTINCMULT 1
579#define GAME_DEFAULT_TIMEOUTADDEMOVE 0
580#define GAME_DEFAULT_TIMEOUTCOUNTER 1
581
582#define GAME_DEFAULT_MAXCONNECTIONSPERHOST 4
583#define GAME_MIN_MAXCONNECTIONSPERHOST 0
584#define GAME_MAX_MAXCONNECTIONSPERHOST MAX_NUM_CONNECTIONS
585
586#define GAME_MIN_TIMEOUT -1
587#define GAME_MAX_TIMEOUT 8639999
588#define GAME_MIN_FIRST_TIMEOUT -1
589#define GAME_MAX_FIRST_TIMEOUT GAME_MAX_TIMEOUT
590
591#define GAME_MIN_UNITWAITTIME 0
592#define GAME_MAX_UNITWAITTIME GAME_MAX_TIMEOUT
593#define GAME_DEFAULT_UNITWAITTIME 0
594
595#define GAME_DEFAULT_PHASE_MODE 0
596
597#define GAME_DEFAULT_TCPTIMEOUT 10
598#define GAME_MIN_TCPTIMEOUT 0
599#define GAME_MAX_TCPTIMEOUT 120
600
601#define GAME_DEFAULT_NETWAIT 4
602#define GAME_MIN_NETWAIT 0
603#define GAME_MAX_NETWAIT 20
604
605#define GAME_DEFAULT_PINGTIME 20
606#define GAME_MIN_PINGTIME 1
607#define GAME_MAX_PINGTIME 1800
608
609#define GAME_DEFAULT_PINGTIMEOUT 60
610#define GAME_MIN_PINGTIMEOUT 60
611#define GAME_MAX_PINGTIMEOUT 1800
612
613#define GAME_DEFAULT_IPHIDE FALSE
614
615#define GAME_DEFAULT_NOTRADESIZE 0
616#define GAME_MIN_NOTRADESIZE 0
617#define GAME_MAX_NOTRADESIZE 49
618
619#define GAME_DEFAULT_TRADEWORLDRELPCT 50
620#define GAME_MIN_TRADEWORLDRELPCT 0
621#define GAME_MAX_TRADEWORLDRELPCT 100
622
623#define GAME_DEFAULT_FULLTRADESIZE 1
624#define GAME_MIN_FULLTRADESIZE 1
625#define GAME_MAX_FULLTRADESIZE 50
626
627#define GAME_DEFAULT_TRADING_TECH TRUE
628#define GAME_DEFAULT_TRADING_GOLD TRUE
629#define GAME_DEFAULT_TRADING_CITY TRUE
630
631#define GAME_DEFAULT_CARAVAN_BONUS_STYLE CBS_CLASSIC
632
633#define GAME_DEFAULT_TRADEMINDIST 9
634#define GAME_MIN_TRADEMINDIST 1
635#define GAME_MAX_TRADEMINDIST 999
636
637#define GAME_DEFAULT_TRADE_REVENUE_STYLE TRS_CLASSIC
638
639#define GAME_DEFAULT_BARBARIANRATE BARBS_NORMAL
640
641#define GAME_DEFAULT_ONSETBARBARIAN 60
642#define GAME_MIN_ONSETBARBARIAN 1
643#define GAME_MAX_ONSETBARBARIAN GAME_MAX_END_TURN
644
645#define GAME_DEFAULT_OCCUPYCHANCE 0
646#define GAME_MIN_OCCUPYCHANCE 0
647#define GAME_MAX_OCCUPYCHANCE 100
648
649#define GAME_DEFAULT_AUTOATTACK FALSE
650
651#ifdef FREECIV_WEB
652#define GAME_DEFAULT_RULESETDIR "classic"
653#else /* FREECIV_WEB */
654#define GAME_DEFAULT_RULESETDIR "civ2civ3"
655#endif /* FREECIV_WEB */
656
657#define GAME_DEFAULT_SAVE_NAME "freeciv"
658#define GAME_DEFAULT_SAVETURNS 1
659#define GAME_MIN_SAVETURNS 1
660#define GAME_MAX_SAVETURNS 200
661#define GAME_DEFAULT_SAVEFREQUENCY 15
662#define GAME_MIN_SAVEFREQUENCY 2
663#define GAME_MAX_SAVEFREQUENCY 1440
664
665#ifdef FREECIV_WEB
666#define GAME_DEFAULT_AUTOSAVES 0
667#else /* FREECIV_WEB */
668#define GAME_DEFAULT_AUTOSAVES (1 << AS_TURN | 1 << AS_GAME_OVER | 1 << AS_QUITIDLE | 1 << AS_INTERRUPT)
669#endif /* FREECIV_WEB */
670
671#define GAME_DEFAULT_THREADED_SAVE FALSE
672
673#define GAME_DEFAULT_USER_META_MESSAGE ""
674
675#define GAME_DEFAULT_SKILL_LEVEL AI_LEVEL_EASY
676#define GAME_HARDCODED_DEFAULT_SKILL_LEVEL 3 /* that was 'easy' in old saves */
677#define GAME_OLD_DEFAULT_SKILL_LEVEL 5 /* normal; for oldest save games */
678
679#define GAME_DEFAULT_DEMOGRAPHY "NASRLPEMOCqrb"
680#define GAME_DEFAULT_ALLOW_TAKE "HAhadOo"
681
682#define GAME_DEFAULT_EVENT_CACHE_TURNS 1
683#define GAME_MIN_EVENT_CACHE_TURNS 0
684#define GAME_MAX_EVENT_CACHE_TURNS (GAME_MAX_END_TURN + 1)
685
686#define GAME_DEFAULT_EVENT_CACHE_MAX_SIZE 256
687#define GAME_MIN_EVENT_CACHE_MAX_SIZE 10
688#define GAME_MAX_EVENT_CACHE_MAX_SIZE 20000
689
690#define GAME_DEFAULT_EVENT_CACHE_CHAT TRUE
691
692#define GAME_DEFAULT_EVENT_CACHE_INFO FALSE
693
694#define GAME_DEFAULT_COMPRESS_LEVEL 6 /* if we have compression */
695#define GAME_MIN_COMPRESS_LEVEL 1
696#define GAME_MAX_COMPRESS_LEVEL 9
697
698#if defined(FREECIV_HAVE_LIBLZMA)
699# define GAME_DEFAULT_COMPRESS_TYPE FZ_XZ
700#elif defined(FREECIV_HAVE_LIBZ)
701# define GAME_DEFAULT_COMPRESS_TYPE FZ_ZLIB
702#else
703# define GAME_DEFAULT_COMPRESS_TYPE FZ_PLAIN
704#endif
705
706#define GAME_DEFAULT_ALLOWED_CITY_NAMES CNM_PLAYER_UNIQUE
707
708#define GAME_DEFAULT_PLRCOLORMODE PLRCOL_PLR_ORDER
709
710#define GAME_DEFAULT_REVOLENTYPE REVOLEN_RANDOM
711#define GAME_DEFAULT_REVOLUTION_LENGTH 5
712#define GAME_MIN_REVOLUTION_LENGTH 1
713#define GAME_MAX_REVOLUTION_LENGTH 20
714
715#define GAME_DEFAULT_START_YEAR -4000
716
717#define GAME_DEFAULT_AIRLIFTINGSTYLE AIRLIFTING_CLASSICAL
718#define GAME_DEFAULT_PERSISTENTREADY PERSISTENTR_DISABLED
719
720#define GAME_MAX_READ_RECURSION 10 /* max recursion for the read command */
721
722#define GAME_DEFAULT_KICK_TIME 1800 /* 1800 seconds = 30 minutes. */
723#define GAME_MIN_KICK_TIME 0 /* 0 = disabling. */
724#define GAME_MAX_KICK_TIME 86400 /* 86400 seconds = 24 hours. */
725
726/* Max distance from the capital used to calculat the bribe cost. */
727#define GAME_UNIT_BRIBE_DIST_MAX 32
728
729/* Max number of recursive transports. */
730#define GAME_TRANSPORT_MAX_RECURSIVE 5
731
732/* ruleset settings */
733
734#define RS_MAX_VALUE 1000000
735
736/* TRANS: year label (Anno Domini) */
737#define RS_DEFAULT_POS_YEAR_LABEL N_("AD")
738/* TRANS: year label (Before Christ) */
739#define RS_DEFAULT_NEG_YEAR_LABEL N_("BC")
740
741#define RS_DEFAULT_ILLNESS_ON FALSE
742
743#define RS_DEFAULT_ILLNESS_BASE_FACTOR 25
744#define RS_MIN_ILLNESS_BASE_FACTOR 0
745#define RS_MAX_ILLNESS_BASE_FACTOR RS_MAX_VALUE
746
747#define RS_DEFAULT_ILLNESS_MIN_SIZE 3
748#define RS_MIN_ILLNESS_MIN_SIZE 1
749#define RS_MAX_ILLNESS_MIN_SIZE 100
750
751#define RS_DEFAULT_ILLNESS_TRADE_INFECTION_PCT 50
752#define RS_MIN_ILLNESS_TRADE_INFECTION_PCT 0
753#define RS_MAX_ILLNESS_TRADE_INFECTION_PCT 500
754
755#define RS_DEFAULT_ILLNESS_POLLUTION_PCT 50
756#define RS_MIN_ILLNESS_POLLUTION_PCT 0
757#define RS_MAX_ILLNESS_POLLUTION_PCT 500
758
759#define RS_DEFAULT_CALENDAR_SKIP_0 TRUE
760
761#define RS_DEFAULT_BORDER_RADIUS_SQ_CITY 17 /* city radius 4 */
762#define RS_MIN_BORDER_RADIUS_SQ_CITY 0
763#define RS_MAX_BORDER_RADIUS_SQ_CITY 401 /* city radius 20 */
764
765#define RS_DEFAULT_BORDER_SIZE_EFFECT 1
766#define RS_MIN_BORDER_SIZE_EFFECT 0
767#define RS_MAX_BORDER_SIZE_EFFECT 100
768
769#define RS_DEFAULT_BORDER_RADIUS_SQ_CITY_PERMANENT 0
770#define RS_MIN_BORDER_RADIUS_SQ_CITY_PERMANENT (-CITY_MAP_MAX_RADIUS_SQ)
771#define RS_MAX_BORDER_RADIUS_SQ_CITY_PERMANENT 401 /* city radius 20 */
772
773#define RS_DEFAULT_INCITE_BASE_COST 1000
774#define RS_MIN_INCITE_BASE_COST 0
775#define RS_MAX_INCITE_BASE_COST RS_MAX_VALUE
776
777#define RS_DEFAULT_INCITE_IMPROVEMENT_FCT 1
778#define RS_MIN_INCITE_IMPROVEMENT_FCT 0
779#define RS_MAX_INCITE_IMPROVEMENT_FCT RS_MAX_VALUE
780
781#define RS_DEFAULT_INCITE_UNIT_FCT 2
782#define RS_MIN_INCITE_UNIT_FCT 0
783#define RS_MAX_INCITE_UNIT_FCT RS_MAX_VALUE
784
785#define RS_DEFAULT_INCITE_TOTAL_FCT 100
786#define RS_MIN_INCITE_TOTAL_FCT 0
787#define RS_MAX_INCITE_TOTAL_FCT RS_MAX_VALUE
788
789#define RS_DEFAULT_GRANARY_FOOD_INI 20
790
791#define RS_DEFAULT_GRANARY_FOOD_INC 10
792#define RS_MIN_GRANARY_FOOD_INC 0
793#define RS_MAX_GRANARY_FOOD_INC RS_MAX_VALUE
794
795#define RS_DEFAULT_CITY_CENTER_OUTPUT 0
796#define RS_MIN_CITY_CENTER_OUTPUT 0
797#define RS_MAX_CITY_CENTER_OUTPUT RS_MAX_VALUE
798
799#define RS_DEFAULT_CITIES_MIN_DIST 2
800#define RS_MIN_CITIES_MIN_DIST 1
801#define RS_MAX_CITIES_MIN_DIST RS_MAX_VALUE
802
803/* the constants CITY_MAP_*_RADIUS are defined in city.c */
804#define RS_DEFAULT_CITY_RADIUS_SQ CITY_MAP_DEFAULT_RADIUS_SQ
805#define RS_MIN_CITY_RADIUS_SQ CITY_MAP_MIN_RADIUS_SQ
806#define RS_MAX_CITY_RADIUS_SQ CITY_MAP_MAX_RADIUS_SQ
807
808#define RS_DEFAULT_VIS_RADIUS_SQ 5 /* city radius 2 */
809#define RS_MIN_VIS_RADIUS_SQ 0
810#define RS_MAX_VIS_RADIUS_SQ 401 /* city radius 20 */
811
812#define RS_DEFAULT_BASE_POLLUTION -20
813/* no min / max values as it can be set to high negative values to
814 * deactiveate pollution and high positive values to create much
815 * pollution */
816
817#define RS_DEFAULT_HAPPY_COST 2
818#define RS_MIN_HAPPY_COST 0
819#define RS_MAX_HAPPY_COST 10000
820
821#define RS_DEFAULT_FOOD_COST 2
822#define RS_MIN_FOOD_COST 0
823#define RS_MAX_FOOD_COST 10000
824
825#define RS_DEFAULT_CIVIL_WAR_CELEB -5
826#define RS_DEFAULT_CIVIL_WAR_UNHAPPY 5
827
828#define RS_DEFAULT_TIRED_ATTACK FALSE
829#define RS_DEFAULT_NUKE_POP_LOSS_PCT 49
830#define RS_MIN_NUKE_POP_LOSS_PCT 0
831#define RS_MAX_NUKE_POP_LOSS_PCT 100
832#define RS_DEFAULT_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 0
833#define RS_MIN_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 0
834#define RS_MAX_NUKE_DEFENDER_SURVIVAL_CHANCE_PCT 100
835
836#define RS_DEFAULT_BASE_BRIBE_COST 750
837#define RS_MIN_BASE_BRIBE_COST 0
838#define RS_MAX_BASE_BRIBE_COST RS_MAX_VALUE
839
840#define RS_DEFAULT_RANSOM_GOLD 100
841#define RS_MIN_RANSOM_GOLD 0
842#define RS_MAX_RANSOM_GOLD RS_MAX_VALUE
843
844#define RS_DEFAULT_PILLAGE_SELECT TRUE
845
846#define RS_DEFAULT_UPGRADE_VETERAN_LOSS 0
847#define RS_MIN_UPGRADE_VETERAN_LOSS 0
848#define RS_MAX_UPGRADE_VETERAN_LOSS MAX_VET_LEVELS
849
850#define RS_DEFAULT_TECH_UPKEEP_DIVIDER 100
851#define RS_MIN_TECH_UPKEEP_DIVIDER 1
852#define RS_MAX_TECH_UPKEEP_DIVIDER 100000
853
854#define RS_DEFAULT_BASE_TECH_COST 20
855#define RS_MIN_BASE_TECH_COST 0
856#define RS_MAX_BASE_TECH_COST 20000
857
858#define RS_DEFAULT_POISON_EMPTIES_FOOD_STOCK FALSE
859#define RS_DEFAULT_STEAL_MAP_REVEALS_CITIES TRUE
860#define RS_DEFAULT_ACTION_ACTOR_CONSUMING_ALWAYS FALSE
861#define RS_DEFAULT_USER_ACTION_TARGET_KIND ATK_UNIT
862#define RS_DEFAULT_ACTION_MIN_RANGE 0
863#define RS_DEFAULT_ACTION_MAX_RANGE 1
864#define RS_DEFAULT_EXPLODE_NUCLEAR_MAX_RANGE 0
865
866#define RS_ACTION_NO_MAX_DISTANCE "unlimited"
867
868#ifdef __cplusplus
869}
870#endif /* __cplusplus */
871
872#endif /* FC__GAME_H */
connection.h
punit
struct unit struct city struct unit struct tile struct extra_type const struct act_prob *act_probs int actor_unit_id struct unit struct unit * punit
Definition dialogs_g.h:73
fc_types.h
trait_dist_mode
trait_dist_mode
Definition fc_types.h:897
MAX_NUM_BUILDING_LIST
#define MAX_NUM_BUILDING_LIST
Definition fc_types.h:46
MAX_LEN_ALLOW_TAKE
#define MAX_LEN_ALLOW_TAKE
Definition fc_types.h:70
MAX_LEN_STARTUNIT
#define MAX_LEN_STARTUNIT
Definition fc_types.h:73
MAX_LEN_NAME
#define MAX_LEN_NAME
Definition fc_types.h:66
MAX_LEN_DEMOGRAPHY
#define MAX_LEN_DEMOGRAPHY
Definition fc_types.h:69
MAX_NUM_TECH_LIST
#define MAX_NUM_TECH_LIST
Definition fc_types.h:44
fcthread.h
population_to_text
const char * population_to_text(int thousand_citizen)
Definition game.c:714
game_reset
void game_reset(void)
Definition game.c:475
barbarians_rate
barbarians_rate
Definition game.h:51
BARBS_HUTS_ONLY
@ BARBS_HUTS_ONLY
Definition game.h:53
BARBS_FREQUENT
@ BARBS_FREQUENT
Definition game.h:55
BARBS_NORMAL
@ BARBS_NORMAL
Definition game.h:54
BARBS_DISABLED
@ BARBS_DISABLED
Definition game.h:52
BARBS_HORDES
@ BARBS_HORDES
Definition game.h:56
user_flag_init
void user_flag_init(struct user_flag *flag)
Definition game.c:804
is_ruleset_compat_mode
static bool is_ruleset_compat_mode(void)
Definition game.h:340
user_flag_free
void user_flag_free(struct user_flag *flag)
Definition game.c:813
game
struct civ_game game
Definition game.c:57
game_ruleset_init
void game_ruleset_init(void)
Definition game.c:499
is_player_phase
bool is_player_phase(const struct player *pplayer, int phase)
Definition game.c:687
debug_globals
debug_globals
Definition game.h:39
DEBUG_LAST
@ DEBUG_LAST
Definition game.h:41
DEBUG_FERRIES
@ DEBUG_FERRIES
Definition game.h:40
scorelog_level
scorelog_level
Definition game.h:67
SL_HUMANS
@ SL_HUMANS
Definition game.h:69
SL_ALL
@ SL_ALL
Definition game.h:68
current_turn_timeout
int current_turn_timeout(void)
Definition game.c:828
game_city_by_name
struct city * game_city_by_name(const char *name)
Definition game.c:83
game_ruleset_free
void game_ruleset_free(void)
Definition game.c:544
game_init
void game_init(bool keep_ruleset_value)
Definition game.c:429
wld
struct world wld
Definition game.c:58
_ruleset_compat_mode
bool _ruleset_compat_mode
Definition game.c:62
game_remove_unit
void game_remove_unit(struct world *gworld, struct unit *punit)
Definition game.c:119
game_unit_by_number
struct unit * game_unit_by_number(int id)
Definition game.c:111
civ_population
int civ_population(const struct player *pplayer)
Definition game.c:69
game_remove_city
void game_remove_city(struct world *gworld, struct city *pcity)
Definition game.c:173
game_free
void game_free(void)
Definition game.c:459
autosave_type
autosave_type
Definition game.h:59
AS_INTERRUPT
@ AS_INTERRUPT
Definition game.h:63
AS_GAME_OVER
@ AS_GAME_OVER
Definition game.h:61
AS_QUITIDLE
@ AS_QUITIDLE
Definition game.h:62
AS_TIMER
@ AS_TIMER
Definition game.h:64
AS_TURN
@ AS_TURN
Definition game.h:60
city_names_mode
city_names_mode
Definition game.h:44
CNM_PLAYER_UNIQUE
@ CNM_PLAYER_UNIQUE
Definition game.h:46
CNM_GLOBAL_UNIQUE
@ CNM_GLOBAL_UNIQUE
Definition game.h:47
CNM_NO_RESTRICTIONS
@ CNM_NO_RESTRICTIONS
Definition game.h:45
CNM_NO_STEALING
@ CNM_NO_STEALING
Definition game.h:48
game_map_init
void game_map_init(void)
Definition game.c:446
initialize_globals
void initialize_globals(void)
Definition game.c:663
generate_save_name
int generate_save_name(const char *format, char *buf, int buflen, const char *reason)
Definition game.c:771
set_ruleset_compat_mode
static void set_ruleset_compat_mode(bool active)
Definition game.h:332
game_city_by_number
struct city * game_city_by_number(int id)
Definition game.c:102
name
const char * name
Definition inputfile.c:127
fz_method
fz_method
Definition ioz.h:36
packets.h
MAX_LEN_MSG
#define MAX_LEN_MSG
Definition packets.h:43
player.h
plrcolor_mode
plrcolor_mode
Definition player.h:50
randseed.h
randseed
unsigned int randseed
Definition randseed.h:23
shared.h
city
Definition city.h:309
civ_game
Definition game.h:82
civ_game::diplgoldcost
int diplgoldcost
Definition game.h:139
civ_game::contactturns
int contactturns
Definition game.h:136
civ_game::num_phases
int num_phases
Definition game.h:168
civ_game::save_options
struct civ_game::@30::@34::@36 save_options
civ_game::allowed_city_names
enum city_names_mode allowed_city_names
Definition game.h:126
civ_game::rgame
struct civ_game::@29 rgame
civ_game::unitwaittime
int unitwaittime
Definition game.h:197
civ_game::multiresearch
bool multiresearch
Definition game.h:162
civ_game::incite_gold_capt_chance
int incite_gold_capt_chance
Definition game.h:141
civ_game::nationlist
char * nationlist
Definition game.h:274
civ_game::named_teams
int named_teams
Definition game.h:286
civ_game::as_count
size_t as_count
Definition game.h:285
civ_game::type
char type[20]
Definition game.h:263
civ_game::mgr_worldchance
int mgr_worldchance
Definition game.h:161
civ_game::plr_colors
struct rgbcolor_list * plr_colors
Definition game.h:242
civ_game::kick_time
int kick_time
Definition game.h:152
civ_game::allowed_govs
const char ** allowed_govs
Definition game.h:277
civ_game::chat
bool chat
Definition game.h:249
civ_game::unit_deallocate
void(* unit_deallocate)(int unit_id)
Definition game.h:293
civ_game::barbarianrate
enum barbarians_rate barbarianrate
Definition game.h:132
civ_game::last_updated_year
bool last_updated_year
Definition game.h:234
civ_game::upgrade_veteran_loss
int upgrade_veteran_loss
Definition game.h:198
civ_game::dispersion
int dispersion
Definition game.h:142
civ_game::threaded_save
bool threaded_save
Definition game.h:179
civ_game::max_size
int max_size
Definition game.h:248
civ_game::save_compress_level
int save_compress_level
Definition game.h:180
civ_game::plr_bg_color
struct rgbcolor * plr_bg_color
Definition game.h:102
civ_game::tcptimeout
int tcptimeout
Definition game.h:194
civ_game::incite_total_factor
int incite_total_factor
Definition game.h:149
civ_game::init_vis_radius_sq
int init_vis_radius_sq
Definition game.h:151
civ_game::server
struct civ_game::@30::@34 server
civ_game::start_units
char start_units[MAX_LEN_STARTUNIT]
Definition game.h:188
civ_game::save_nturns
int save_nturns
Definition game.h:182
civ_game::debug
bool debug[DEBUG_LAST]
Definition game.h:201
civ_game::turn_change_time
float turn_change_time
Definition game.h:217
civ_game::vision_reveal_tiles
bool vision_reveal_tiles
Definition game.h:199
civ_game::scenario_desc
struct packet_scenario_description scenario_desc
Definition game.h:88
civ_game::description_file
char * description_file
Definition game.h:273
civ_game::mgr_nationchance
int mgr_nationchance
Definition game.h:159
civ_game::connectmsg
char connectmsg[MAX_LEN_MSG]
Definition game.h:218
civ_game::fixedlength
bool fixedlength
Definition game.h:145
civ_game::glob_observers
struct conn_list * glob_observers
Definition game.h:98
civ_game::save_private_map
bool save_private_map
Definition game.h:258
civ_game::techlost_recv
int techlost_recv
Definition game.h:193
civ_game::control
struct packet_ruleset_control control
Definition game.h:83
civ_game::ruleset_summary
char * ruleset_summary
Definition game.h:84
civ_game::mgr_foodneeded
bool mgr_foodneeded
Definition game.h:158
civ_game::event_cache
struct civ_game::@30::@34::@35 event_cache
civ_game::diplchance
int diplchance
Definition game.h:137
civ_game::netwait
int netwait
Definition game.h:167
civ_game::nc_agovs
char ** nc_agovs
Definition game.h:278
civ_game::callbacks
struct civ_game::@32 callbacks
civ_game::fogofwar_old
bool fogofwar_old
Definition game.h:232
civ_game::incite_gold_loss_chance
int incite_gold_loss_chance
Definition game.h:140
civ_game::end_turn
int end_turn
Definition game.h:143
civ_game::nuclear_winter
bool nuclear_winter
Definition game.h:229
civ_game::settings_gamestart_valid
bool settings_gamestart_valid
Definition game.h:240
civ_game::city_list
fc_mutex city_list
Definition game.h:267
civ_game::plrcolormode
enum plrcolor_mode plrcolormode
Definition game.h:127
civ_game::onsetbarbarian
int onsetbarbarian
Definition game.h:170
civ_game::spaceship_travel_time
int spaceship_travel_time
Definition game.h:178
civ_game::base_incite_cost
int base_incite_cost
Definition game.h:133
civ_game::demography
char demography[MAX_LEN_DEMOGRAPHY]
Definition game.h:237
civ_game::est_connections
struct conn_list * est_connections
Definition game.h:97
civ_game::info
struct packet_game_info info
Definition game.h:89
civ_game::autoupgrade_veteran_loss
int autoupgrade_veteran_loss
Definition game.h:131
civ_game::mgr_turninterval
int mgr_turninterval
Definition game.h:160
civ_game::user_message
char user_message[256]
Definition game.h:262
civ_game::client
struct civ_game::@30::@33 client
civ_game::min_players
int min_players
Definition game.h:165
civ_game::autosaves
unsigned autosaves
Definition game.h:184
civ_game::timeoutcounter
int timeoutcounter
Definition game.h:206
civ_game::save_timer
struct timer * save_timer
Definition game.h:216
civ_game::endspaceship
bool endspaceship
Definition game.h:144
civ_game::last_ping
time_t last_ping
Definition game.h:209
civ_game::scoreloglevel
enum scorelog_level scoreloglevel
Definition game.h:221
civ_game::rulesetdir
char rulesetdir[MAX_LEN_NAME]
Definition game.h:236
civ_game::ruleset_ready
bool ruleset_ready
Definition game.h:116
civ_game::start_year
int start_year
Definition game.h:190
civ_game::migration
bool migration
Definition game.h:163
civ_game::additional_phase_seconds
int additional_phase_seconds
Definition game.h:211
civ_game::incite_improvement_factor
int incite_improvement_factor
Definition game.h:148
civ_game::luadata
struct section_file * luadata
Definition game.h:244
civ_game::ip_hide
bool ip_hide
Definition game.h:173
civ_game::diplbulbcost
int diplbulbcost
Definition game.h:138
civ_game::scoreturn
int scoreturn
Definition game.h:223
civ_game::meta_info
struct civ_game::@30::@34::@37 meta_info
civ_game::seed
randseed seed
Definition game.h:225
civ_game::natural_city_names
bool natural_city_names
Definition game.h:166
civ_game::embedded_nations
char ** embedded_nations
Definition game.h:275
civ_game::ruledit
struct civ_game::@30::@34::@39 ruledit
civ_game::maxconnectionsperhost
int maxconnectionsperhost
Definition game.h:154
civ_game::scenario
struct packet_scenario_info scenario
Definition game.h:87
civ_game::default_traits
struct trait_limits default_traits[TRAIT_COUNT]
Definition game.h:270
civ_game::timeoutint
int timeoutint
Definition game.h:202
civ_game::pingtimeout
int pingtimeout
Definition game.h:172
civ_game::nc_astyles
char ** nc_astyles
Definition game.h:284
civ_game::mutexes
struct civ_game::@30::@34::@38 mutexes
civ_game::occupychance
int occupychance
Definition game.h:169
civ_game::seed_setting
randseed seed_setting
Definition game.h:224
civ_game::phase_timer
struct timer * phase_timer
Definition game.h:210
civ_game::killunhomed
int killunhomed
Definition game.h:153
civ_game::nuclear_winter_percent
int nuclear_winter_percent
Definition game.h:230
civ_game::conquercost
int conquercost
Definition game.h:135
civ_game::revealmap
unsigned revealmap
Definition game.h:176
civ_game::pingtime
int pingtime
Definition game.h:171
civ_game::techloss_restore
int techloss_restore
Definition game.h:191
civ_game::allowed_terrains
const char ** allowed_terrains
Definition game.h:280
civ_game::ruleset_description
char * ruleset_description
Definition game.h:85
civ_game::civilwarsize
int civilwarsize
Definition game.h:134
civ_game::all_connections
struct conn_list * all_connections
Definition game.h:96
civ_game::save_known
bool save_known
Definition game.h:255
civ_game::ag_count
size_t ag_count
Definition game.h:279
civ_game::savepalace
bool savepalace
Definition game.h:186
civ_game::freecost
int freecost
Definition game.h:147
civ_game::nationset
char nationset[MAX_LEN_NAME]
Definition game.h:156
civ_game::allowed_styles
const char ** allowed_styles
Definition game.h:283
civ_game::aqueductloss
int aqueductloss
Definition game.h:128
civ_game::save_name
char save_name[MAX_LEN_NAME]
Definition game.h:219
civ_game::save_compress_type
enum fz_method save_compress_type
Definition game.h:181
civ_game::trait_dist
enum trait_dist_mode trait_dist
Definition game.h:164
civ_game::foggedborders
bool foggedborders
Definition game.h:146
civ_game::nc_aterrs
char ** nc_aterrs
Definition game.h:281
civ_game::embedded_nations_count
size_t embedded_nations_count
Definition game.h:276
civ_game::ruleset_init
bool ruleset_init
Definition game.h:115
civ_game::incite_unit_factor
int incite_unit_factor
Definition game.h:150
civ_game::ruleset_capabilities
char * ruleset_capabilities
Definition game.h:86
civ_game::timeoutincmult
int timeoutincmult
Definition game.h:204
civ_game::homecaughtunits
bool homecaughtunits
Definition game.h:187
civ_game::global_warming
bool global_warming
Definition game.h:227
civ_game::ransom_gold
int ransom_gold
Definition game.h:174
civ_game::tinfo
struct packet_timeout_info tinfo
Definition game.h:91
civ_game::at_count
size_t at_count
Definition game.h:282
civ_game::timeoutinc
int timeoutinc
Definition game.h:203
civ_game::allow_take
char allow_take[MAX_LEN_ALLOW_TAKE]
Definition game.h:238
civ_game::autoattack
bool autoattack
Definition game.h:130
civ_game::phase_mode_stored
int phase_mode_stored
Definition game.h:215
civ_game::start_city
bool start_city
Definition game.h:189
civ_game::max_players
int max_players
Definition game.h:155
civ_game::revolution_length
int revolution_length
Definition game.h:177
civ_game::turns
int turns
Definition game.h:247
civ_game::save_starts
bool save_starts
Definition game.h:257
civ_game::scorefile
char scorefile[MAX_LEN_NAME]
Definition game.h:222
civ_game::auto_ai_toggle
bool auto_ai_toggle
Definition game.h:129
civ_game::save_frequency
int save_frequency
Definition game.h:183
civ_game::veteran
struct veteran_system * veteran
Definition game.h:100
civ_game::mgr_distance
int mgr_distance
Definition game.h:157
civ_game::global_warming_percent
int global_warming_percent
Definition game.h:228
civ_game::calendar
struct packet_calendar_info calendar
Definition game.h:90
civ_game::default_government
struct government * default_government
Definition game.h:93
civ_game::government_during_revolution
struct government * government_during_revolution
Definition game.h:94
civ_game::timeoutintinc
int timeoutintinc
Definition game.h:205
civ_game::info
bool info
Definition game.h:250
civ_game::techlost_donor
int techlost_donor
Definition game.h:192
civ_game::timeoutaddenemymove
int timeoutaddenemymove
Definition game.h:207
civ_game::scorelog
bool scorelog
Definition game.h:220
civ_game::techpenalty
int techpenalty
Definition game.h:195
civ_game::razechance
int razechance
Definition game.h:175
civ_game::turnblock
bool turnblock
Definition game.h:196
government
Definition government.h:52
packet_calendar_info
Definition packets_gen.h:253
packet_game_info
Definition packets_gen.h:119
packet_ruleset_control
Definition packets_gen.h:1454
packet_scenario_description
Definition packets_gen.h:1621
packet_scenario_info
Definition packets_gen.h:1604
packet_timeout_info
Definition packets_gen.h:261
player
Definition player.h:249
rgbcolor
Definition rgbcolor.h:33
section_file
Definition section_file.h:36
timer
Definition timing.c:81
trait_limits
Definition traits.h:43
unit
Definition unit.h:138
user_flag
Definition game.h:73
user_flag::name
char * name
Definition game.h:74
user_flag::helptxt
char * helptxt
Definition game.h:75
veteran_system
Definition unittype.h:475
world
Definition world_object.h:37
timing.h
world_object.h