home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume13 / dominion / part27 / ext.c < prev    next >
C/C++ Source or Header  |  1992-02-11  |  5KB  |  129 lines

  1.   /* declaration of various shared variables */
  2.  
  3. /*
  4.  * Copyright (C) 1990 Free Software Foundation, Inc.
  5.  * Written by the dominion project.
  6.  *
  7.  * This file is part of dominion.
  8.  *
  9.  * dominion is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License as published
  11.  * by the Free Software Foundation; either version 1, or (at your option)
  12.  * any later version.
  13.  *
  14.  * This software is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this software; see the file COPYING.  If not, write to
  21.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  */
  23.  
  24. #include "dominion.h"
  25. #include "misc.h"
  26.  
  27. Suser user;
  28. Sworld world;
  29. int compressed_world=0;        /* is world file compressed? */
  30. struct race_list *races;    /* list of races available */
  31. struct army_type *army_types;    /* array of available armies */
  32. struct spirit_type *spirit_types; /* array of available spirits */
  33. Sh_spell *hanging_spells;
  34. char libdir[200];        /* the dir. the game lives in */
  35.     /* users's current directory */
  36. #ifdef BSD            /* BSD does not return a static string */
  37. char current_dir[PATHLEN];
  38. #else /* BSD */
  39. char *current_dir;
  40. #endif /* BSD */
  41.  
  42. int ruid, euid;            /* user ids */
  43. char help_tag[EXECLEN];        /* current help topic */
  44. int is_in_diplo = 0;
  45.  
  46.   /* each ascii key points to a function which handles that key */
  47. int (*wrapx)();
  48. int (*wrapy)();
  49. int (*keymap[128])();
  50.  
  51. int debug = 0;
  52.  
  53. struct s_desig_map desig_map[]
  54.   = {  {'x', "none", 1000, 30, 0, 20}, {'f', "farm", 5000, 100, 10, 500},
  55.      {'m', "mtl. mine", 10000, 100, 10, 800},
  56.      {'j', "jwl. mine", 10000, 100, 10, 800},
  57.      {'c', "city", 30000, 200, 300, 5000},
  58.      {'C', "capital", 50000, 300, 300, 7000},
  59.      {'u', "university", 10000, 30, 200, 1000},
  60.      {'+', "temple", 5000, 0, 200, 1000},
  61.      {'s', "stadium", 5000, 150, 10, 400},
  62.      {'T', "trade post", 10000, 150, 10, 300},
  63.      {'e', "embassy", 5000, 0, 50, 200},
  64.      {'!', "fort", 10000, 50, 10, 200},
  65.      {'h', "hospital", 10000, 100, 10, 300},
  66.      {'r', "refinery", 8000, 130, 100, 200} };
  67.  
  68. /* Lowest altitude must come first in this list and they must be in order */
  69.  
  70. struct s_altitude_map altitude_map[]
  71.   = {  {'v',"Trench",TRENCH}, {'-',"Ocean Plain",OCEAN_PLAINS},
  72.      {'^',"Sea Mountain",SEA_MOUNT}, {'+',"Cont. Shelf",CONT_SHELF},
  73.      {'#',"Shallows",SHALLOWS}, {'~',"Sea Level",SEA_LEVEL},
  74.      {'.',"Lowlands",LOWLANDS}, {'-',"Plains",PLAINS},
  75.      {'%',"Hills",HILLS}, {'=',"Plateau",PLATEAU},
  76.      {'^',"Mountains",MOUNTAINS}, {'+',"Mountain Peak",MOUNTAIN_PEAK} };
  77.  
  78. struct item_map terrains[] 
  79.   = {  {'O',"Ocean"}, {'B',"Bay"}, {'R',"Reef"}, {'L',"Lake"}, {'R',"River"},
  80.      {'#',"Ice"}, {'b',"Barren"}, {'s',"Swamped"}, {'g',"Grassy"}, 
  81.      {'B',"Brush"}, {'f',"Forested"}, {'j',"Jungle"} };
  82.  
  83. struct item_map climates[]
  84.   = {  {'D',"Desert"}, {'d',"Semiarid"}, {'h',"Humid Subtropical"},
  85.      {'t',"Tropical Wet and Dry"}, {'T',"Rainy Tropical"},
  86.      {'s',"Dry Summer Subtropical"}, {'m',"Mid-latitude Marine"},
  87.      {'w',"Humid Continental Warm"}, {'c',"Humid Continental Cool"},
  88.      {'a',"Subarctic"}, {'A',"Polar"} };
  89.  
  90. char *dip_status[] = { " SELF" , " UNMET", "JIHAD", "WAR", "HOSTILE", 
  91.                        "UNRECOGNIZED", "NEUTRAL", "RECOGNIZED", "FRIENDLY", 
  92.                        "ALLIED", "TREATY" };
  93.  
  94. struct item_map tradeitems[] 
  95.   = {  {'g', "GOLD"}, {'m', "METAL"}, {'j', "JEWELS"}, {'f', "FOOD"},
  96.      {'e', "END"} };
  97.  
  98. struct army_flags army_flags[] =
  99. {
  100.   {'F', "This army flies"},
  101.   {'H', "This army is hidden"},
  102.   {'V', "This army will possess the dead"},
  103.   {'T', "This army is in transport"},
  104.   {'^', "This army uses missiles"},
  105.   {'W', "This army travels in water"},
  106.   {'f', "This army is front line"},
  107.   {'k', "This army is kamikaze"},
  108.   {'m', "This army is a machine"},
  109.   {'d', "This army can disguise itself"},
  110.   {'w', "This army can cast spells"},
  111.   {'s', "This army is a sorcerer"},
  112.   {'c', "This army can carry cargo"},
  113.   {'U', "This army burrows underground"},
  114.   {'L', "This army travels on land"},
  115.   {'I', ""},
  116.   {' ', ""},{' ', ""},{' ', ""},{' ', ""},{' ', ""},{' ', ""},
  117.   {' ', ""},{' ', ""},{' ', ""},{' ', ""},{' ', ""},{' ', ""},{' ', ""},
  118.   {' ', ""},{' ', ""},{' ', ""}};
  119.  
  120.  
  121. /* char *army_flags[] =
  122.   { "F","H","V","T","^","W","f","k","m","d","w","s","c","U","L" ,"I" ,
  123.      "" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" };
  124. */
  125.  
  126. char *update_time;
  127. char *civ_move[] =  { "None", "Restricted", "Free" };
  128. Sh_spell *dead_spells = NULL;
  129.