GAMEDEF.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. //Filename : GAMEDEF.H
  21. //Description : Maximum game constant
  22. #ifndef __GAMEDEF_H
  23. #define __GAMEDEF_H
  24. //----------- define game version ------------//
  25. //#define GAME_VERSION_STR "1.1"
  26. extern char *GAME_VERSION_STR;
  27. //#define GAME_VERSION 110 // Version 1.00, don't change it unless the format of save game files has been changed
  28. extern const int GAME_VERSION;
  29. //-------- Define constant ------------//
  30. #define APP_NAME "SK" // application name
  31. #define WIN_CLASS_NAME "Seven_Kingdoms" // for registering window class
  32. #define WIN_TITLE "Seven Kingdoms" // window title
  33. //------- Data sub-directories -------//
  34. #define DIR_RES "RESOURCE\\"
  35. #define DIR_SPRITE "SPRITE\\"
  36. #define DIR_SOUND "SOUND\\"
  37. #define DIR_IMAGE sys.dir_image
  38. #define DIR_ENCYC sys.dir_encyc
  39. #ifdef AMPLUS
  40. #define DIR_ENCYC2 sys.dir_encyc2
  41. #endif
  42. #define DIR_MUSIC sys.dir_music
  43. #define DIR_MOVIE sys.dir_movie
  44. #define DIR_TUTORIAL sys.dir_tutorial
  45. #define DIR_SCENARIO sys.dir_scenario
  46. // see MAX_SCENARIO_PATH in sys
  47. #define DIR_SCENARIO_PATH(p) sys.dir_scenario_path[p]
  48. //--------- Define direction types -----------//
  49. enum { MAX_DIR=8 };
  50. enum { DIR_N, // building directions
  51. DIR_NE,
  52. DIR_E,
  53. DIR_SE,
  54. DIR_S,
  55. DIR_SW,
  56. DIR_W,
  57. DIR_NW
  58. };
  59. //---------- Link enable/disable status ---------//
  60. #define LINK_DD 0 // both sides disabled
  61. #define LINK_ED 1 // host side enabled, client side disabled
  62. #define LINK_DE 2 // host side disabled, client side enabled
  63. #define LINK_EE 3 // both sides enabled
  64. //------------- define command types ------------//
  65. enum { COMMAND_PLAYER=0, COMMAND_REMOTE=1, COMMAND_AI, COMMAND_AUTO };
  66. //-------- Define maximum game constant ---------//
  67. #ifdef AMPLUS
  68. #define MAX_RACE 10
  69. #else
  70. #define MAX_RACE 7
  71. #endif
  72. #define MAX_COLOR_SCHEME 7 // Maximum no. of color schemes
  73. #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)
  74. #define MAX_UNIT_ATTACK_TYPE 3
  75. #define MAX_SPRITE_DIR_TYPE 8
  76. #define MAX_LINKED_FIRM_FIRM 23
  77. #define MAX_LINKED_FIRM_TOWN 30
  78. #define MAX_LINKED_TOWN_TOWN 18
  79. #define PROCESS_GOODS_INTERVAL 3 // Process goods in mines, factories and market places once 3 days
  80. #define PEASANT_FOOD_YEAR_PRODUCTION 30 // A peasant produce 2 units of food per month
  81. #define PERSON_FOOD_YEAR_CONSUMPTION 10 // consume one unit of food per person per month
  82. #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.
  83. #define RAW_PRICE 1 // Cost per raw material
  84. #define PRODUCT_PRICE 2 // Cost per product
  85. #define CONSUMER_PRICE 4 // Cost per product for consumers
  86. #define REWARD_COST 30
  87. #define REWARD_LOYALTY_INCREASE 10
  88. #define UNIT_BETRAY_LOYALTY 30 // if a unit's loyalty is below this, it will betray
  89. #define PROMOTE_LOYALTY_INCREASE 20
  90. #define DEMOTE_LOYALTY_DECREASE 40
  91. #define ATTACK_SLOW_DOWN 4 // how many times attacking damages should be reduced, this lessens all attacking damages, thus slowing down all battles.
  92. #define SPY_KILLED_REPUTATION_DECREASE 3
  93. //-----------------------------------------------//
  94. #endif