1(game-module "insects" 2 (title "Insects") 3 ; (version "1.0") 4 (picture-name "insects") 5 (blurb "Bugs, Mr Rico! Zillions of 'em!") 6 (variants (see-all false) (world-seen true) (sequential false)) 7 ) 8 9(unit-type ant (char "a") 10 (help "")) 11(unit-type spider (char "s") 12 (help "eats bugs and weaves webs")) 13(unit-type skeeter (char "k") 14 (help "water strider, can go on land or water")) 15(unit-type beetle (char "B") 16 (help "slow-moving but powerful")) 17(unit-type queen (image-name "crown") (char "Q") 18 (help "")) 19(unit-type fly (char "f") 20 (help "fast-moving, for recon")) 21(unit-type bee (char "b") 22 (help "floats like a bee, stings like a bee, but only once before dying")) 23(unit-type web (char "%") 24 (help "a barrier to movement")) 25(unit-type mound (char "*") 26 (help "a secondary home")) 27(unit-type nest (char "@") 28 (help "the insect's home and breeding ground")) 29 30(material-type mobility 31 (help "the ability of a web to move before being anchored down")) 32(material-type sting 33 (help "what a bee attacks with")) 34 35(terrain-type puddle (image-name "sea") (char "-")) 36(terrain-type bare (image-name "adv-mountains") (char "^")) 37(terrain-type grass (image-name "civ-grassland") (char "+")) 38 39(define walkers (ant spider skeeter beetle)) 40(define movers (ant spider skeeter beetle queen fly bee)) 41(define flyers (queen fly bee)) 42(define places (mound nest)) 43(define land (bare grass)) 44 45(add puddle liquid true) 46 47;;; Static relationships. 48 49(table vanishes-on 50 ((ant spider beetle) puddle true) 51 (places puddle true) 52 ) 53 54(table unit-capacity-x 55 (spider web 2) 56 ) 57 58(add queen capacity 2) 59(add web capacity 1) 60(add places capacity 8) 61 62(table unit-size-as-occupant 63 (u* u* 99) 64 (movers (queen mound nest) 1) 65 (walkers web 1) 66 ) 67 68(table unit-storage-x 69 (bee sting 1) 70 (web mobility 1) 71 ) 72 73;;; Actions. 74 75; a s k B Q f b % * @ 76(add u* acp-per-turn (2 4 2 1 5 7 5 1 1 1)) 77 78;;; Movement. 79 80(add places speed 0) 81 82(table mp-to-enter-terrain 83 (u* t* 99) 84 (walkers land 1) 85 (skeeter puddle 1) 86 (skeeter land 2) 87 (flyers t* 1) 88 (web t* 1) 89 ) 90 91;; Web gets one move, for placement, then must stay there. 92 93(table material-to-move (web mobility 1)) 94 95(table consumption-per-move (web mobility 1)) 96 97;;; Construction. 98 99; a s k B Q f b 100(add movers cp (2 4 10 30 25 3 10)) 101(add web cp 5) 102 103(table can-create 104 (places movers 1) 105 (mound queen 0) 106 (nest queen 1) 107 (spider web 1) 108 ) 109 110(table can-build 111 (places movers 1) 112 (mound queen 0) 113 (nest queen 1) 114 (spider web 1) 115 ) 116 117(table acp-to-create 118 (places movers 1) 119 (mound queen 0) 120 (nest queen 1) 121 (spider web 1) 122 ) 123 124(table acp-to-build 125 (places movers 1) 126 (mound queen 0) 127 (nest queen 1) 128 (spider web 1) 129 ) 130 131(table supply-on-creation 132 (bee sting 1) 133 (web mobility 1) 134 ) 135 136;;; Combat. 137 138; a s k B Q f b % * @ 139(add u* hp-max (20 50 20 100 20 10 20 2 20 50)) 140 141;; Injured insects move more slowly. 142 143(add ant speed-damage-effect ((1 50) ( 9 50) (10 100) ( 20 100))) 144(add spider speed-damage-effect ((1 50) (12 50) (13 100) ( 50 100))) 145(add skeeter speed-damage-effect ((1 50) ( 9 50) (10 100) ( 20 100))) 146(add beetle speed-damage-effect ((1 50) (49 50) (50 100) (100 100))) 147(add queen speed-damage-effect ((1 50) ( 9 50) (10 100) ( 20 100))) 148(add fly speed-damage-effect ((1 50) ( 4 50) ( 5 100) ( 10 100))) 149(add bee speed-damage-effect ((1 50) ( 9 50) (10 100) ( 20 100))) 150 151(table hit-chance 152 ; a s k B Q f b % * @ 153 (ant u* ( 70 50 70 30 90 80 75 30 100 100 )) 154 (spider u* ( 70 50 70 40 90 90 75 70 100 100 )) 155 (skeeter u* ( 70 50 70 30 90 80 75 50 100 100 )) 156 (beetle u* ( 90 70 80 50 95 50 50 70 100 100 )) 157 (queen u* ( 10 10 10 10 50 50 40 10 100 100 )) 158 (fly u* ( 10 10 10 10 20 50 25 10 50 50 )) 159 (bee u* ( 90 70 90 50 90 80 75 30 100 100 )) 160 (web u* ( 0 0 0 0 0 0 0 0 0 0 )) 161 (mound u* ( 20 20 20 20 20 20 20 0 0 0 )) 162 (nest u* ( 50 50 50 50 50 50 50 0 0 0 )) 163 ) 164 165(table damage 166 (u* u* 1) 167 (movers movers 2d6+4) 168 (bee movers 3d6+6) 169 ) 170 171(table protection 172 (nest ant 50) 173 ) 174 175(table capture-chance 176 (web movers ( 50 30 50 20 70 70 50 )) 177 (movers mound 20) 178 ) 179 180(table independent-capture-chance 181 (movers mound 80) 182 ) 183 184;; Bees work by using their sting once in an attack, and then dying. 185 186(table consumption-per-attack 187 ;; (but should use even if not necessary to attack) 188 (bee sting 1) 189 ) 190 191(table hit-by 192 (u* sting 1) 193 ) 194 195(table material-to-attack 196 (bee sting 1) 197 ) 198 199(table hp-to-garrison 200 (queen nest 20) 201 ) 202 203;;; Other Actions. 204 205(table auto-repair 206 (mound mound 1.00) 207 (nest nest 1.00) 208 ) 209 210;;; Backdrop. 211 212;; Insects generally have short lifespans. 213 214(table attrition (movers t* 0.50)) 215 216(table hp-per-starve 217 ;; Stinging something is fatal to the bee. 218 (bee sting 20.00) 219 ) 220 221;;; Scoring. 222 223(add nest point-value 25) 224(add web point-value 0) 225 226(scorekeeper (do last-side-wins)) 227 228;;; Text. 229 230(set action-notices '( 231 ((destroy bee movers) (actor " stings " actee " to death!")) 232 ((destroy u* movers) (actor " eats " actee "!")) 233 )) 234 235(set event-notices '( 236 ((unit-starved web) (0 "dissolves")) 237 ((unit-starved u*) (0 "expires")) 238 )) 239 240(set event-narratives '( 241 ((unit-starved web) (0 "dissolved")) 242 ((unit-starved u*) (0 "expired")) 243 )) 244 245;;; Random setup. 246 247(set alt-smoothing 3) 248 249(add t* alt-percentile-min ( 0 10 0)) 250(add t* alt-percentile-max ( 15 60 100)) 251(add t* wet-percentile-min ( 50 0 0)) 252(add t* wet-percentile-max (100 80 100)) 253 254(set edge-terrain puddle) 255 256(add nest start-with 1) 257 258(set country-radius-min 2) 259 260(add bare country-terrain-min 3) 261 262(set country-separation-min 24) 263 264(table independent-density (mound land 100)) 265 266(add mound independent-near-start 3) 267 268(table favored-terrain 269 (u* t* 0) 270 (mound grass 50) 271 (places bare 100) 272 ) 273 274(add u* already-seen 100) 275 276(add nest initial-seen-radius 5) 277 278(set sides-max 4) 279 280(set side-library '( 281 ((noun "Buzzer")) 282 ((noun "Flitter")) 283 ((noun "Flyer")) 284 ((noun "Hummer")) 285 )) 286 287;; Default doctrine. 288 289(doctrine spider-doctrine 290 (construction-run (web 3)) 291 ) 292 293(doctrine queen-doctrine 294 (construction-run (nest 1)) 295 ) 296 297(side-defaults 298 (doctrines (spider spider-doctrine) (queen queen-doctrine)) 299 ) 300 301(set meridians false) 302 303;;; Documentation. 304 305(game-module (instructions ( 306 "When you defeat your enemies, you get to eat them!" 307 "" 308 "Capture the other sides' nests." 309 ))) 310 311(game-module (notes ( 312 "The nest is the center of your world; produce ants to " 313 "expand with, spiders to build webs for defense, and skeeters " 314 "to cross water." 315 ))) 316 317(game-module (design-notes ( 318 "This was originally designed by Chris Christensen," 319 "inspired by a board game called `Chiten I'(?)." 320 "It has been extensively modified since then." 321 ))) 322