home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C / Games / Xconq 7.0d16 / lib / greek.g < prev    next >
Encoding:
Text File  |  1993-12-20  |  6.2 KB  |  275 lines  |  [TEXT/MPS ]

  1. (game-module "greek"
  2.   (blurb "Classical Greece, 500-350 BC")
  3.   (variants
  4.    (world-seen)
  5.    (see-all true)
  6.    (world-size)
  7.    ("Keep Score" eval (scorekeeper (do last-side-wins)))
  8.    )
  9.   )
  10.  
  11. (unit-type peltast
  12.   (help "light fast infantry"))
  13. (unit-type hoplite
  14.   (help "heavy destructive infantry"))
  15. (unit-type archer
  16.   (help "archers and slingers"))
  17. (unit-type cavalry
  18.   (help "more like light cavalry"))
  19. (unit-type trireme (char "T")
  20.   (help "three-decked ship - mainstay of the navies"))
  21. (unit-type |siege engine| (image-name "catapult") (char "S")
  22.   (help "bashes cities (slowly)"))
  23. (unit-type fortifications
  24.   (help "augments a polis' defense"))
  25. (unit-type polis (image-name "walltown") (char "*")
  26.   (help "typical city-state"))
  27. (unit-type metropolis (image-name "parthenon") (char "@")
  28.   (help "a large and powerful city"))
  29.  
  30. (define p peltast)
  31. (define h hoplite)
  32. (define a archer)
  33. (define c cavalry)
  34. (define T trireme)
  35. (define S |siege engine|)
  36. (define / fortifications)
  37. (define * polis)
  38. (define @ metropolis)
  39.  
  40. (add / image-name "camp")
  41.  
  42. (material-type food
  43.   (help "everybody needs food to survive"))
  44. (material-type talents
  45.   (help "the unit of big money"))
  46.  
  47. (terrain-type sea (color "sky blue") (char "."))
  48. (terrain-type plains (color "green") (char "+"))
  49. (terrain-type forest (color "forest green") (char "%"))
  50. (terrain-type desert (color "yellow") (char "~"))
  51. (terrain-type mountains (color "sienna") (char "^"))
  52. (terrain-type river (color "blue") (char "-")
  53.   (subtype border))
  54.  
  55. (define cities (* @))
  56. (define places (/ * @))
  57. (define ship (trireme))
  58. (define land-u* (p h a c S))
  59. (define movers (p h a c T S))
  60.  
  61. (define water (sea river))
  62. (define land (plains forest desert mountains))
  63.  
  64. ;;; Static relationships.
  65.  
  66. (table vanishes-on
  67.   (land-u* water true)
  68.   (places water true)
  69.   (ship land true)
  70.   )
  71.  
  72. (add t* capacity 4)
  73.  
  74. (table unit-size-in-terrain
  75.   (u* t* 1) ; isn't this the default?
  76.   )
  77.  
  78. ;; Cities and ships have relatively limited capacity.
  79.  
  80. (add cities capacity 10)
  81.  
  82. (add trireme capacity 6)
  83.  
  84. (table unit-size-as-occupant
  85.   ((p h a c) trireme (2 2 1 3))
  86.   )
  87.  
  88. (table unit-capacity-x
  89.   (cities / 4)
  90.   )
  91.  
  92. ;;; Unit-material capacities.
  93.  
  94. (table unit-storage-x
  95.   (u* food (2 2 2 2 100 0 100 100 100))
  96.   (u* talents (0 0 0 0 120 0 1000 3000 9000))
  97.   )
  98.  
  99. ;;; Vision.
  100.  
  101. ;true [ * @ ] always-seen
  102.  
  103. ;;; Actions.
  104.  
  105. ;; A turn is a whole month, so lots can happen.
  106.  
  107. (add u* acp-per-turn (16 12 16 32 24 4 0 1 1))
  108.  
  109. ;;; Movement.
  110.  
  111. (add places speed 0)
  112.  
  113. (table mp-to-enter-terrain
  114.   (land-u* water 99)
  115.   (land-u* mountains 2)
  116.   (ship land 99)
  117.   )
  118.  
  119. ;;; Construction.
  120.  
  121. (add u* cp (20 20 3 12 6 12 1 1 1))
  122.  
  123. (table acp-to-create
  124.   (* movers 1)
  125.   (@ movers 1)
  126.   )
  127.  
  128. (table cp-on-creation
  129.   (* movers 1)
  130.   (@ movers 1)
  131.   )
  132.  
  133. (table acp-to-build
  134.   (* movers 1)
  135.   (@ movers 1)
  136.   )
  137.  
  138. (table cp-per-build
  139.   (* movers 1)
  140.   (@ movers 1)
  141.   )
  142.  
  143. ;;; Combat.
  144.  
  145. (add u* hp-max (20 20 1 1 10 2 10 20 40))
  146.  
  147. (table hit-chance
  148.   (p u* (40 30 50 40 10 30 30 20 10))
  149.   (h u* (50 40 50 50 20 50 70 20 10))
  150.   (a u* (30 20 30 30 60 30  0  0  0))
  151.   (c u* (60 30 50 50 50 60 50  0  0))
  152.   (T u* (10 10 10 10 10 30  0  0  0))
  153.   (S u* (10 10 10 10 10  5 99 99 99))
  154.   (/ u* ( 0  0  0  0 20  0  0  0  0))
  155.   (* u* (40 30 30 40 10 20  0  0  0))
  156.   (@ u* (40 30 30 40 10 20  0  0  0))
  157.   )
  158.  
  159. (table damage
  160.   (u* u* 1)
  161.   (h u* 2)
  162.   (S cities 4)
  163.   )
  164.  
  165. (table capture-chance
  166.   (h S 50)
  167.   (h * 10)
  168.   (h @ 5)
  169.   )
  170.  
  171. ;;; Backdrop.
  172.  
  173. ;; 1000 c attrition
  174.  
  175. ;;; Random generation.
  176.  
  177. (set alt-blob-density 10000)
  178. (set alt-blob-size 40)
  179. (set alt-smoothing 1)
  180. (set wet-blob-density 2000)
  181. (set wet-blob-size 100)
  182.  
  183. (add t* alt-percentile-min (  0  70  70  70  90 0))
  184. (add t* alt-percentile-max ( 70  90  90  90 100 0))
  185. (add t* wet-percentile-min (  0  20  80   0   0 0))
  186. (add t* wet-percentile-max (100  80 100  20 100 0))
  187.  
  188. (set edge-terrain sea) ; the river Oceanus
  189.  
  190. (add @ start-with 1)
  191. (add h start-with 1)
  192. (add T start-with 1)
  193. (add * independent-near-start 3)
  194. ;; Try to get countries on the coast.
  195. (add (sea plains) country-terrain-min (1 1))
  196.  
  197. (table independent-density
  198.   (* (plains desert) (100 50)))
  199.  
  200. (table favored-terrain
  201.   (u* t* 100)
  202.   (u* sea 0)
  203.   (ship sea 100)
  204.   )
  205.  
  206. ;;; (should set up a BC calendar)
  207.  
  208. (world 2500 (year-length 12))  ; big world, can't circumnavigate.
  209.  
  210. ;;; An assortment of city-states.  The famous ones are weighted more heavily.
  211.  
  212. (set side-library '(
  213.   (10 (name "Athens") (adjective "Athenian"))
  214.   (10 (name "Sparta") (adjective "Spartan"))
  215.   (5 (name "Corinth") (adjective "Corinthian"))
  216.   (5 (name "Thebes") (adjective "Theban"))
  217.   (3 (name "Argos") (adjective "Argive"))
  218.   (2 (name "Megara") (adjective "Megaran"))
  219.   (2 (name "Miletus") (adjective "Miletan"))
  220.   (2 (name "Messene") (adjective "Messenian"))
  221.   (2 (name "Syracuse") (adjective "Syracusan"))
  222.   (2 (name "Ephesus") (adjective "Ephesian"))
  223.   (2 (name "Delos") (adjective "Delian"))
  224.   ((name "Lemnos") (adjective "Lemnian"))
  225.   ((name "Ambracia") (adjective "Ambraciot"))
  226.   ((name "Phokia") (adjective "Phokian"))
  227.   ((name "Chios") (adjective "Chian"))
  228.   ((name "Gelos") (adjective "Geloan"))
  229.   ((name "Caria") (adjective "Carian"))
  230.   ((name "Lokria") (adjective "Lokrian"))
  231.   ((name "Melos") (adjective "Melian"))
  232.   ((name "Phlias") (adjective "Phliasian"))
  233.   ((name "Samos") (adjective "Samian"))
  234.   ((name "Thuria") (adjective "Thurian"))
  235.   ((name "Tegea") (adjective "Tegean"))
  236.   ((name "Dolope") (adjective "Dolopian"))
  237.   ((name "Olynthia") (adjective "Olynthian"))
  238.   ((name "Elis") (adjective "Elean"))
  239.   ((name "Lucania") (adjective "Lucanian"))
  240.   ((name "Kythera") (adjective "Kytheran"))
  241.   ((name "Skios") (adjective "Skionian"))
  242. ))
  243.  
  244. (game-module (notes (
  245.   "This time strictly covers about 500 to 350 B.C.  Land warfare"
  246.   "was most significant, with some notable sea-fights.  Cities were nearly"
  247.   "untakeable, so the action centered around sieges and field battles."
  248.   ""
  249.   "The numbers border on the plausible, but again this one has not been"
  250.   "played enough to find the imbalances even, let alone decide on good"
  251.   "strategies."
  252. )))
  253.  
  254. (add peltast notes
  255.   "Useful in skirmishes."
  256.   )
  257. (add hoplite notes
  258.   "Hoplite (heavy infantry).  For the capture of cities by assault."
  259.   )
  260. (add archer notes
  261.   "???"
  262.   )
  263. (add cavalry notes
  264.   "Fast, but ineffective against cities."
  265.   )
  266. (add trireme notes
  267.   "Use this for everything naval."
  268.   )
  269.  
  270. ;;; Should add variable loyalties.
  271.  
  272. (game-module (design-notes (
  273.   "Time scale is one month."
  274.   )))
  275.