1 /* 2 * Seven Kingdoms: Ancient Adversaries 3 * 4 * Copyright 1997,1998 Enlight Software Ltd. 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 * 19 */ 20 21 //Filename : GAMEDEF.H 22 //Description : Maximum game constant 23 24 #ifndef __GAMEDEF_H 25 #define __GAMEDEF_H 26 27 //----------- define game version ------------// 28 29 //#define GAME_VERSION_STR "1.1" 30 extern const char *GAME_VERSION_STR; 31 //#define GAME_VERSION 110 // Version 1.00, don't change it unless the format of save game files has been changed 32 extern const int GAME_VERSION; 33 34 //-------- Define constant ------------// 35 36 #define APP_NAME "SK" // application name 37 #define WIN_CLASS_NAME "Seven_Kingdoms" // for registering window class 38 #define WIN_TITLE "Seven Kingdoms" // window title 39 40 //------- Data sub-directories -------// 41 42 #ifdef USE_WINDOWS 43 #define PATH_DELIM "\\" 44 #else 45 #define PATH_DELIM "/" 46 #endif 47 48 // config dir 49 #define CONFIG_ORGANIZATION_NAME "7kfans.com" 50 #define CONFIG_APPLICATION_NAME "7kaa" 51 52 // data dirs 53 #define DIR_RES "RESOURCE" PATH_DELIM 54 #define DIR_SPRITE "SPRITE" PATH_DELIM 55 #define DIR_SOUND "SOUND" PATH_DELIM 56 #define DIR_IMAGE sys.dir_image 57 #define DIR_ENCYC sys.dir_encyc 58 #define DIR_ENCYC2 sys.dir_encyc2 59 #define DIR_MUSIC sys.dir_music 60 #define DIR_MOVIE sys.dir_movie 61 #define DIR_TUTORIAL sys.dir_tutorial 62 #define DIR_SCENARIO sys.dir_scenario 63 // see MAX_SCENARIO_PATH in sys 64 #define DIR_SCENARIO_PATH(p) sys.dir_scenario_path[p] 65 66 //--------- Define direction types -----------// 67 68 enum { MAX_DIR=8 }; 69 70 enum { DIR_N, // building directions 71 DIR_NE, 72 DIR_E, 73 DIR_SE, 74 DIR_S, 75 DIR_SW, 76 DIR_W, 77 DIR_NW 78 }; 79 80 //---------- Link enable/disable status ---------// 81 82 #define LINK_DD 0 // both sides disabled 83 #define LINK_ED 1 // host side enabled, client side disabled 84 #define LINK_DE 2 // host side disabled, client side enabled 85 #define LINK_EE 3 // both sides enabled 86 87 //------------- define command types ------------// 88 89 enum { COMMAND_PLAYER=0, COMMAND_REMOTE=1, COMMAND_AI, COMMAND_AUTO }; 90 91 //-------- Define maximum game constant ---------// 92 93 #define MAX_RACE 10 94 95 #define MAX_COLOR_SCHEME 7 // Maximum no. of color schemes 96 97 #define MAX_NATION MAX_COLOR_SCHEME // Maximum no. of nation should be equal to the maximum no. of color scheme-1 (the exclude one is for independent nations) 98 99 #define MAX_UNIT_ATTACK_TYPE 3 100 101 #define MAX_SPRITE_DIR_TYPE 8 102 103 #define MAX_LINKED_FIRM_FIRM 23 104 #define MAX_LINKED_FIRM_TOWN 30 105 #define MAX_LINKED_TOWN_TOWN 18 106 107 #define PROCESS_GOODS_INTERVAL 3 // Process goods in mines, factories and market places once 3 days 108 109 #define PEASANT_FOOD_YEAR_PRODUCTION 30 // A peasant produce 2 units of food per month 110 #define PERSON_FOOD_YEAR_CONSUMPTION 10 // consume one unit of food per person per month 111 112 #define NO_FOOD_LOYALTY_DECREASE_INTERVAL 5 // When your kingdom runs out of food, the loyalty of all your units will decrease 1 point every 5 days. 113 114 #define RAW_PRICE 1 // Cost per raw material 115 #define PRODUCT_PRICE 2 // Cost per product 116 #define CONSUMER_PRICE 4 // Cost per product for consumers 117 118 #define REWARD_COST 30 119 #define REWARD_LOYALTY_INCREASE 10 120 121 #define UNIT_BETRAY_LOYALTY 30 // if a unit's loyalty is below this, it will betray 122 123 #define PROMOTE_LOYALTY_INCREASE 20 124 #define DEMOTE_LOYALTY_DECREASE 40 125 126 #define ATTACK_SLOW_DOWN 4 // how many times attacking damages should be reduced, this lessens all attacking damages, thus slowing down all battles. 127 128 #define SPY_KILLED_REPUTATION_DECREASE 3 129 130 //-----------------------------------------------// 131 132 #endif 133