Advertisement
Talvieno

DFSL WIP #3

Aug 28th, 2014
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 76.04 KB | None | 0 0
  1. indentations are not necessary. Anything not included in brackets is a comment.
  2. welcome to DFSL.
  3.  
  4. TO DO:
  5. add no_vegetation_perturb
  6.  
  7. [BP_FILE:body_default]
  8. [CREATURE_FILE:creature_amphibians]
  9. [CREATURE_FILE:creature_annelids]
  10. [CREATURE_FILE:creature_birds]
  11. [CREATURE_FILE:creature_birds_new]
  12. [CREATURE_FILE:creature_bug_slug_new]
  13. [CREATURE_FILE:creature_desert_new]
  14. [CREATURE_FILE:creature_domestic]
  15. [CREATURE_FILE:creature_insects]
  16. [CREATURE_FILE:creature_large_mountain]
  17. [CREATURE_FILE:creature_large_ocean]
  18. [CREATURE_FILE:creature_large_tropical]
  19. [CREATURE_FILE:creature_large_tundra]
  20. [CREATURE_FILE:creature_mountain_new]
  21. [CREATURE_FILE:creature_next_underground]
  22. [CREATURE_FILE:creature_ocean_new]
  23. [CREATURE_FILE:creature_other]
  24. [CREATURE_FILE:creature_reptiles]
  25. [CREATURE_FILE:creature_riverlakepool_new]
  26. [CREATURE_FILE:creature_savage_tropical]
  27. [CREATURE_FILE:creature_small_mammal_new]
  28. [CREATURE_FILE:creature_small_mammals]
  29. [CREATURE_FILE:creature_small_ocean]
  30. [CREATURE_FILE:creature_small_riverlake]
  31. [CREATURE_FILE:creature_standard]
  32. [CREATURE_FILE:creature_subterranean]
  33. [CREATURE_FILE:creature_temperate_new]
  34. [CREATURE_FILE:creature_tropical_new]
  35. [CREATURE_FILE:creature_tundra_taiga_new]
  36.  
  37.  
  38. A list of all the body parts for creatures. If you don't want a bodypart included, just don't add it here.
  39.  
  40. BODY is the main tag. What comes next is the bodypart, both added to the raws and pulled from the files.
  41. The number is the weight - i.e. how often it gets placed.
  42. [BODY:BASIC_1PARTBODY:32]
  43. [DESCRIPTION:ADJ:snake-like] an adjective for the description
  44. [DESCRIPTION:NOUN:creature] a noun for the description
  45. [BODY:BASIC_1PARTBODY_THOUGHT:4]
  46. [BODY:BASIC_1PARTBODY_FLYING_HEAD_FLAG_THOUGHT:2]
  47. [BODY:BASIC_2PARTBODY:83]
  48. [BODY:BASIC_3PARTARMS:2]
  49. [BODY:BASIC_3PARTLEGS:2]
  50. [BODY:BASIC_FRONTLEGS:2]
  51. [BODY:BASIC_REARLEGS:2]
  52. [BODY:ARMS_STANCE:4]
  53. [BODY:7HEADNECKS:2]
  54. [BODY:BASIC_HEAD:95]
  55. [BODY:BASIC_HEAD_NECK:12]
  56. [BODY:BODY_HEAD:4]
  57. [DESCRIPTION:ADJ:fearsome]
  58. [DESCRIPTION:NOUN:creature]
  59. [BODY:BODY_WITH_HEAD_FLAG:9]
  60. [DESCRIPTION:NOUN:creature] I'm so creative.
  61. [DESCRIPTION:VERB:is made of a mass of appendages resembling human fingers] this one is actually better.
  62. [DESCRIPTION:VERB:creeps along the ground like a starfish]
  63. [BODY:HUMANOID:9]
  64. [DESCRIPTION:ADJ:humanoid]
  65. [DESCRIPTION:VERB:walks on two legs]
  66. [DESCRIPTION:VERB:uses its long arms to strangle its prey] this might not make sense anymore.
  67. [BODY:HUMANOID_HOOF:2]
  68. [BODY:HUMANOID_NECK:36]
  69. [DESCRIPTION:ADJ:humanoid]
  70. [DESCRIPTION:VERB:walks on two legs]
  71. [DESCRIPTION:VERB:uses its long arms to strangle its prey] this might not make sense anymore.
  72. [BODY:HUMANOID_NECK_HOOF:4]
  73. [BODY:HUMANOID_LEGLESS_NECK:8]
  74. [DESCRIPTION:ADJ:bat-like]
  75. [DESCRIPTION:NOUN:creature]
  76. [BODY:HUMANOID_NECK_FLIER:5]
  77. [DESCRIPTION:ADJ:bat-like]
  78. [DESCRIPTION:NOUN:creature]
  79. [BODY:2WINGS:71]
  80. [BODY:HUMANOID_ARMLESS:5]
  81. [DESCRIPTION:NOUN:creature]
  82. [DESCRIPTION:NOUN:walks with two clawed legs]
  83. [BODY:HUMANOID_LEGLESS:6]
  84. [BODY:HUMANOID_4ARMS:4]
  85. [DESCRIPTION:ADJ:four-armed]
  86. [DESCRIPTION:NOUN:creature]
  87. [BODY:HUMANOID_6ARMS:2]
  88. [BODY:HUMANOID_LEGLESS_4ARMS:2]
  89. [BODY:HUMANOID_LEGLESS_6ARMS:2]
  90. [BODY:HUMANOID_NECK_4ARMS:2]
  91. [BODY:4ARMS_STANCE:3]
  92. [BODY:HUMANOID_NECK_2HEAD:2]
  93. [BODY:HUMANOID_SIMPLE:12]
  94. [DESCRIPTION:ADJ:man-shaped]
  95. [PREFLIST:simplicity] adds something to the list of preferences a dwarf can have for the creature. poorly implemented, I suppose, as few of these parts use it.
  96. [BODY:QUADRUPED:3]
  97. [DESCRIPTION:ADJ:long-bodied]
  98. [DESCRIPTION:NOUN:quadruped]
  99. [DESCRIPTION:VERB:runs on four legs] a verb for the description
  100. [BODY:QUADRUPED_NECK_FRONT_GRASP:24]
  101. [BODY:QUADRUPED_NECK:108] very common body type.
  102. [DESCRIPTION:ADJ:long-bodied]
  103. [DESCRIPTION:NOUN:quadruped]
  104. [DESCRIPTION:VERB:runs on four legs] a verb for the description
  105. [BODY:QUADRUPED_NECK_HOOF:28]
  106. [BODY:INSECT:31]
  107. [PREFLIST:high-pitched buzz:buzzing]will choose one of the two.
  108. [DESCRIPTION:NOUN:insect]
  109. [BODY:INSECT_4LEGS_2ARMS:3]
  110. [PREFLIST:mystical feel]
  111. [PREFLIST:mysticism]
  112. [BODY:SPIDER:62]
  113. [DESCRIPTION:ADJ:spider-like]
  114. [DESCRIPTION:DESC:has long, spindly legs]
  115. [BODY:CRAB_BODY:2]
  116. [BODY:TWO_NO_CLAW_TENTACLES:2]
  117. [BODY:TENTACLE_MOUTH:2]
  118. [BODY:TENTACLE_TEETH:2]
  119. [BODY:8_SIMPLE_HEAD_ARMS:4]
  120. [BODY:2_HEAD_CLUBBED_TENTACLES:3]
  121. [BODY:FOUR_TENTACLES:2]
  122. [BODY:SIX_TENTACLES:2]
  123. [BODY:TAIL:238]
  124. [BODY:SHELL:13]
  125. [BODY:TAIL_STANCE:3]
  126. [BODY:TAIL_STINGER:5]
  127. [BODY:UPPERBODY_PINCERS:7]
  128. [BODY:2EYES:371]obviously common
  129. [BODY:3EYES:2]
  130. [BODY:4EYES:2]
  131. [BODY:2EYESTALKS:5]
  132. [BODY:2TUSKS:7]
  133. [BODY:NOSE:210]
  134. [BODY:SNOUT_NOSMELL:3]
  135. [BODY:TRUNK:2]
  136. [BODY:2EARS:91]
  137. [BODY:2LUNGS:269]
  138. [BODY:MOUTH:322]
  139. [BODY:PROBOSCIS:2]
  140. [BODY:BEAK:55]
  141. [BODY:HEART:386]
  142. [BODY:GUTS:382]
  143. [BODY:GIZZARD:57]
  144. [BODY:ORGANS:339]
  145. [BODY:HUMANOID_JOINTS:89]
  146. [BODY:THROAT:251]
  147. [BODY:NECK:253]
  148. [BODY:SPINE:336]
  149. [BODY:BRAIN:387]
  150. [BODY:SKULL:337]
  151. [BODY:CASQUE:2]
  152. [BODY:HEAD_HORN:3]
  153. [BODY:2HEAD_HORN:15]
  154. [BODY:2HEAD_HORN_NUMBERED:2]
  155. [BODY:2HEAD_ANTLER:8]
  156. [BODY:1EYE:2]
  157. [BODY:BODY_EYE:2]
  158. [BODY:BODY_EYELID:2]
  159. [BODY:5FINGERS:32]
  160. [BODY:4FINGERS:24]
  161. [BODY:2FINGERS:2]
  162. [BODY:5TOES:16]
  163. [BODY:4TOES:65]
  164. [BODY:3TOES:5]
  165. [BODY:2TOES:6]
  166. [BODY:5TOES_FQ_REG:34]here it gets messy.
  167. [BODY:4TOES_FQ_REG:49]
  168. [BODY:3TOES_FQ_REG:4]
  169. [BODY:5TOES_RQ_REG:43]
  170. [BODY:4TOES_RQ_REG:36]
  171. [BODY:3TOES_RQ_REG:8]
  172. [BODY:5TOES_RQ_ANON:25]
  173. [BODY:5TOES_FQ_FINGERS:24]
  174. [BODY:4TOES_FQ_FINGERS:4]
  175. [BODY:SIDE_FINS:66]
  176. [BODY:DORSAL_FIN:59]
  177. [BODY:SIDE_FLIPPERS:7]
  178. [BODY:FRONT_BODY_FLIPPERS:9]
  179. [BODY:REAR_BODY_FLIPPERS:13]
  180. [BODY:1HUMP:2]
  181. [BODY:2HUMPS:2]
  182. [BODY:CHEEKS:5]
  183. [BODY:EYELIDS:5]
  184. [BODY:TONGUE:184]
  185. [BODY:FORKED_TONGUE:4]
  186. [BODY:LIPS:2]
  187. [BODY:FACIAL_FEATURES:50]
  188. [BODY:ONE_EYELID:2]
  189. [BODY:RIBCAGE:335]
  190. [BODY:GENERIC_TEETH_WITH_LARGE_EYE_TEETH:72]
  191. [BODY:GENERIC_TEETH_WITH_FANGS:14]
  192. [BODY:RODENT_TEETH:30]
  193. [BODY:GENERIC_TEETH:76]
  194. [BODY:TEETH:77]
  195. [BODY:HAND_FOOT_CENTAUR_NECK:2]
  196. [DESCRIPTION:ADJ:hideous]
  197. [BODY:LARGE_MANDIBLES:2]
  198. [BODY:BILL:8]
  199. [BODY:HUMANOID_ARMLESS_NECK:58]
  200. [DESCRIPTION:DESC:has a long neck]
  201. [DESCRIPTION:DESC:has long legs]
  202. [PREFLIST:long necks]
  203. [DESCRIPTION:DESC:bird-like]
  204. [BODY:TUSK:2]
  205.  
  206.  
  207. [LIST:liquids]defines a new list. This one is for liquids.
  208. [ADD:liquids:blood]adds "blood" to the list "liquids".
  209. [ADD:liquids:goo]the "add to list" lines can really be placed anywhere, but I'm putting them here mostly for simplicity.
  210. [ADD:liquids:slime]
  211. [ADD:liquids:mucus]
  212. [ADD:liquids:filth]
  213. [ADD:liquids:bile]
  214. [ADD:liquids:ooze]
  215.  
  216. [LIST:letters]
  217. [ADD:letters:a]
  218. [ADD:letters:a]adding an entry more than once increases the chances of it being used, as you might expect
  219. [ADD:letters:b]
  220. [ADD:letters:c]
  221. [ADD:letters:d]
  222. [ADD:letters:e]
  223. [ADD:letters:e]
  224. [ADD:letters:f]
  225. [ADD:letters:g]
  226. [ADD:letters:h]
  227. [ADD:letters:i]
  228. [ADD:letters:i]
  229. [ADD:letters:j]
  230. [ADD:letters:k]
  231. [ADD:letters:l]
  232. [ADD:letters:m]
  233. [ADD:letters:n]
  234. [ADD:letters:o]
  235. [ADD:letters:o]
  236. [ADD:letters:p]
  237. [ADD:letters:q]
  238. [ADD:letters:r]
  239. [ADD:letters:s]
  240. [ADD:letters:t]
  241. [ADD:letters:u]
  242. [ADD:letters:u]
  243. [ADD:letters:v]
  244. [ADD:letters:w]
  245. [ADD:letters:x]
  246. [ADD:letters:y]
  247. [ADD:letters:z]
  248.  
  249. [LIST:adj]
  250. [ADD:adj:freakish]
  251. [ADD:adj:scary]
  252. [ADD:adj:terrifying]
  253. [ADD:adj:calming]
  254. [ADD:adj:elegant]
  255. [ADD:adj:impressive]
  256. [ADD:adj:bizarre]
  257. [ADD:adj:enormous]
  258. [ADD:adj:awesome]
  259. [ADD:adj:unnerving]
  260. [ADD:adj:freakish]
  261. [ADD:adj:long]
  262. [ADD:adj:lustrous]
  263. [ADD:adj:frightening]
  264. [ADD:adj:drooping]
  265. [ADD:adj:sinister]
  266. [ADD:adj:graceful]
  267. [ADD:adj:gruesome]
  268.  
  269. [LIST:bloodColor]
  270. [ADD:bloodColor:BLACK]
  271. [ADD:bloodColor:BLUE]
  272. [ADD:bloodColor:GREEN]
  273. [ADD:bloodColor:AQUA]
  274. [ADD:bloodColor:RED]
  275. [ADD:bloodColor:VIOLET]
  276. [ADD:bloodColor:BROWN]
  277. [ADD:bloodColor:ASH_GRAY]
  278. [ADD:bloodColor:GRAY]
  279. [ADD:bloodColor:DARK_BLUE]
  280. [ADD:bloodColor:TURQUOISE]
  281. [ADD:bloodColor:DARK_VIOLET]
  282. [ADD:bloodColor:YELLOW]
  283. [ADD:bloodColor:WHITE]
  284.  
  285. [LIST:skinColor]
  286. [ADD:skinColor:CLEAR:1]
  287. [ADD:skinColor:MIDNIGHT_BLUE:1]
  288. [ADD:skinColor:WHITE:1]
  289. [ADD:skinColor:BLACK:1]
  290. [ADD:skinColor:GREEN:1]
  291. [ADD:skinColor:BLUE:1]
  292. [ADD:skinColor:ECRU:1]
  293. [ADD:skinColor:GRAY:1]
  294. [ADD:skinColor:TAUPE_PALE:1]
  295. [ADD:skinColor:PINK:1]
  296. [ADD:skinColor:GOLDENROD:1]
  297.  
  298. [LIST:colors]
  299. [ADD:colors:7:0:0]after "colors:", all instances of ":" are ignored and added to the string. Not true for brackets.
  300. [ADD:colors:1:0:0]
  301. [ADD:colors:7:0:1]
  302. [ADD:colors:0:0:1]
  303. [ADD:colors:2:0:0]
  304. [ADD:colors:1:0:1]
  305. [ADD:colors:7:0:0]
  306. [ADD:colors:0:0:1]
  307. [ADD:colors:7:0:1]
  308. [ADD:colors:5:0:1]
  309. [ADD:colors:6:0:1]the order of these matches certain other color lists and is important.
  310.  
  311. [LIST:scaleList]
  312. [ADD:scaleList:GOLD:1]
  313. [ADD:scaleList:RED:1]
  314. [ADD:scaleList:WHITE:1]
  315. [ADD:scaleList:CRIMSON:1]
  316. [ADD:scaleList:BLACK:1]
  317.  
  318. [LIST:scaleColor]
  319. [ADD:scaleColor:5:0:0]color doesn't even look like a word to me anymore.
  320. [ADD:scaleColor:4:0:1]
  321. [ADD:scaleColor:7:0:1]
  322. [ADD:scaleColor:4:0:0]
  323. [ADD:scaleColor:0:0:1]these match the scaleList values.
  324.  
  325. [LIST:hairList]
  326. [ADD:hairList:GRAY:1]
  327. [ADD:hairList:BLACK:1]
  328. [ADD:hairList:YELLOW:1]
  329. [ADD:hairList:DARK_VIOLET:1]
  330. [ADD:hairList:BROWN:1]
  331. [ADD:hairList:WHITE:1]
  332. [ADD:hairList:BLACK:1]
  333.  
  334. [LIST:featherList]
  335. [ADD:featherList:BROWN:1]
  336. [ADD:featherList:PURPLE:1]
  337. [ADD:featherList:GRAY:1]
  338. [ADD:featherList:BLACK:1]
  339.  
  340. [LIST:slimeList]
  341. [ADD:slimeList:BROWN:1]
  342. [ADD:slimeList:GREEN:1]
  343. [ADD:slimeList:CRIMSON:1]
  344. [ADD:slimeList:YELLOW:1]
  345. [ADD:slimeList:WHITE:1]
  346. [ADD:slimeList:GRAY:1]
  347. [ADD:slimeList:BLACK:1]
  348. [ADD:slimeList:DARK_VIOLET:1]
  349. [ADD:slimeList:DARK_GREEN:1]
  350.  
  351. [LIST:slimeColor]
  352. [ADD:slimeColor:6:0:0]
  353. [ADD:slimeColor:2:0:1]
  354. [ADD:slimeColor:4:0:0]
  355. [ADD:slimeColor:6:0:1]
  356. [ADD:slimeColor:7:0:1]
  357. [ADD:slimeColor:7:0:0]
  358. [ADD:slimeColor:0:0:1]
  359. [ADD:slimeColor:5:0:0]
  360. [ADD:slimeColor:2:0:0]in case it wasn't obvious, this matches slimelist. Oh, and by the way, the number of items in each list MUST be equal.
  361.  
  362. [LIST:eyeList]
  363. [ADD:eyeList:IRIS_EYE_PURPLE:1]
  364. [ADD:eyeList:IRIS_EYE_RED:1]
  365. [ADD:eyeList:BLACK:1]
  366. [ADD:eyeList:BLACK:1]
  367. [ADD:eyeList:BLACK:1]
  368. [ADD:eyeList:IRIS_EYE_GREEN:1]
  369. [ADD:eyeList:IRIS_EYE_BROWN:1]
  370. [ADD:eyeList:BLACK:1]
  371. [ADD:eyeList:BLACK:1]this is all heavily weighted towards black. I don't remember why.
  372. [ADD:eyeList:IRIS_EYE_GREEN:1]
  373. [ADD:eyeList:BLACK:1]
  374. [ADD:eyeList:IRIS_EYE_RED:1]
  375. [ADD:eyeList:BLACK:1]
  376. [ADD:eyeList:BLACK:1]
  377. [ADD:eyeList:GREEN:1]
  378. [ADD:eyeList:IRIS_EYE_BROWN:1]
  379. [ADD:eyeList:IRIS_EYE_GOLD:1]
  380. [ADD:eyeList:IRIS_EYE_YELLOW:1]
  381.  
  382. [LIST:stoneName]
  383. [ADD:stoneName:siltstone]
  384. [ADD:stoneName:mudstone]
  385. [ADD:stoneName:claystone]
  386. [ADD:stoneName:rock salt]
  387. [ADD:stoneName:dolomite]
  388. [ADD:stoneName:chert]
  389. [ADD:stoneName:chalk]
  390. [ADD:stoneName:granite]
  391. [ADD:stoneName:diorite]
  392. [ADD:stoneName:gabbro]
  393. [ADD:stoneName:rhyolite]
  394. [ADD:stoneName:basalt]
  395. [ADD:stoneName:andesite]
  396. [ADD:stoneName:dacite]
  397. [ADD:stoneName:obsidian]
  398. [ADD:stoneName:quartzite]
  399. [ADD:stoneName:slate]
  400. [ADD:stoneName:phyllite]
  401. [ADD:stoneName:schist]
  402. [ADD:stoneName:gneiss]
  403. [ADD:stoneName:marble]
  404.  
  405. [LIST:stoneID]
  406. [ADD:stoneID:SILTSTONE]
  407. [ADD:stoneID:MUDSTONE]
  408. [ADD:stoneID:CLAYSTONE]
  409. [ADD:stoneID:ROrCK_SALT]
  410. [ADD:stoneID:DOLOMITE]
  411. [ADD:stoneID:CHERT]
  412. [ADD:stoneID:CHALK]
  413. [ADD:stoneID:GRANITE]
  414. [ADD:stoneID:DIORITE]
  415. [ADD:stoneID:GABBRO]
  416. [ADD:stoneID:RHYOLITE]
  417. [ADD:stoneID:BASALT]
  418. [ADD:stoneID:ANDESITE]
  419. [ADD:stoneID:DACITE]
  420. [ADD:stoneID:OBSIDIAN]
  421. [ADD:stoneID:QUARTZITE]
  422. [ADD:stoneID:SLATE]
  423. [ADD:stoneID:PHYLLITE]
  424. [ADD:stoneID:SCHIST]
  425. [ADD:stoneID:GNEISS]
  426. [ADD:stoneID:MARBLE]
  427.  
  428. [LIST:stoneColor]
  429. [ADD:stoneColor:6:0:0]
  430. [ADD:stoneColor:6:0:0]
  431. [ADD:stoneColor:0:0:1]
  432. [ADD:stoneColor:7:0:1]
  433. [ADD:stoneColor:7:0:1]
  434. [ADD:stoneColor:6:0:0]
  435. [ADD:stoneColor:7:0:1]
  436. [ADD:stoneColor:7:0:0]
  437. [ADD:stoneColor:0:0:1]
  438. [ADD:stoneColor:0:0:1]
  439. [ADD:stoneColor:0:0:1]
  440. [ADD:stoneColor:0:0:1]
  441. [ADD:stoneColor:0:0:1]
  442. [ADD:stoneColor:0:0:1]
  443. [ADD:stoneColor:0:0:1]
  444. [ADD:stoneColor:7:0:1]
  445. [ADD:stoneColor:0:0:1]
  446. [ADD:stoneColor:0:0:1]
  447. [ADD:stoneColor:6:0:0]
  448. [ADD:stoneColor:7:0:1]
  449. [ADD:stoneColor:7:0:1]
  450.  
  451. [LIST:metalName]
  452. [ADD:metalName:iron]
  453. [ADD:metalName:gold]
  454. [ADD:metalName:silver]
  455. [ADD:metalName:copper]
  456. [ADD:metalName:nickel]
  457. [ADD:metalName:zinc]
  458. [ADD:metalName:bronze]
  459. [ADD:metalName:brass]
  460. [ADD:metalName:steel]
  461. [ADD:metalName:platinum]
  462. [ADD:metalName:tin]
  463. [ADD:metalName:lead]
  464. [ADD:metalName:aluminum]
  465.  
  466. [LIST:metalID]
  467. [ADD:metalID:IRON]
  468. [ADD:metalID:GOLD]
  469. [ADD:metalID:SILVER]
  470. [ADD:metalID:COPPER]
  471. [ADD:metalID:NICKEL]
  472. [ADD:metalID:ZINC]
  473. [ADD:metalID:BRONZE]
  474. [ADD:metalID:BRASS]
  475. [ADD:metalID:STEEL]
  476. [ADD:metalID:PLATINUM]
  477. [ADD:metalID:TIN]
  478. [ADD:metalID:LEAD]
  479. [ADD:metalID:ALUMINUM]
  480.  
  481. [LIST:metalColor]
  482. [ADD:metalColor:0:0:1]
  483. [ADD:metalColor:6:0:1]
  484. [ADD:metalColor:7:0:1]
  485. [ADD:metalColor:6:0:0]
  486. [ADD:metalColor:7:0:0]
  487. [ADD:metalColor:7:0:0]
  488. [ADD:metalColor:6:0:0]
  489. [ADD:metalColor:6:0:1]
  490. [ADD:metalColor:0:0:1]
  491. [ADD:metalColor:7:0:1]
  492. [ADD:metalColor:7:0:0]
  493. [ADD:metalColor:0:0:1]
  494. [ADD:metalColor:7:0:1]
  495.  
  496. [BEGIN] All variables defined above this tag are permanent. All the ones below are reset every time you make a creature.
  497. BEGIN clears all the lists made below this point, as well as the specific creature data, so we can start with a clean slate every time we make a new creature.
  498.  
  499. =======Creature creation======= just to show it's the end of the last section.
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506. [IF:(RND:0:33):1] 1in 33 chance of adding next stuff
  507. [TAG_ADD:{CANOPENDOORS}{EQUIPS}{INTELLIGENT}] 1 in 33 chance of possible free civ. {these brackets} are converted to the standard raw type as the actual file is compiled.
  508. [CAN_OPEN_DOORS] set value to true, same for next two
  509. [EQUIPS]
  510. [INTELLIGENT]
  511. Megabeasts and semimegabeasts come next. Their stuff is just easier to add earlier on.
  512. [ELSEIF:(RND:1:100):1] 1 in 100 chance of a semimegabeast, after the 1 in 33 chance of a new civ.
  513. [CAN_CIV:FALSE]
  514. [SEMI]
  515. [TAG_ADD:{SEMIMEGABEAST}{DIFFICULTY:5}]
  516. [TAG_ADD: {ATTACK_TRIGGER:50:5000:50000}]
  517. [TAG_ADD:{CAN_LEARN}{CAN_SPEAK}{CANOPENDOORS}{EQUIPS}{FANCIFUL}]
  518. [TAG_ADD:{BUILDINGDESTROYER:2}]
  519. [INT:L1:(RND:2:6)] defining a new integer. These are messily done. Careful with them. Defining a
  520. variable is permanent (for this particular creature) - it can be used across the entire script,
  521. regardless of whether it was inside a loop or if/then statement. All variables are removed and reset
  522. (except for the ones defined above the BEGIN tag) at the start of every creature creation phase.
  523. [FOR:i:1:L1] for i = 1 to L1, or for (i=1;i<L1;i++); for java coders
  524. [TAG_ADD:{SPHERE:(RANDOM_SPHERE)}]adds a random sphere.
  525. [X] end if/end loop tag. empty lines can be used too. Comment lines don't count.
  526. [IF:(RND:1:4):<>:1]if random number between 1 and 4 is not 1
  527. [TAG_ADD:{LAIR:SIMPLE_BURROW:100}] you're a little nothing.
  528. [ELSE] the else script tag thing. If this is called, then YAUR A MINOTAUR type beast.
  529. [TAG_ADD:{PERSONALITY:BRAVERY:75:90:100}]
  530. [TAG_ADD:{NATURAL_SKILL:WRESTLING:6}]
  531. [TAG_ADD:{NATURAL_SKILL:BITE:3}]
  532. [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
  533. [TAG_ADD:{NATURAL_SKILL:STANCE_STRIKE:6}]
  534. [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:8}]
  535. [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
  536. [TAG_ADD:{NATURAL_SKILL:AXE:8}]
  537. [TAG_ADD:{NATURAL_SKILL:SWORD:8}]
  538. [TAG_ADD:{NATURAL_SKILL:DAGGER:8}]
  539. [TAG_ADD:{NATURAL_SKILL:PIKE:8}]
  540. [TAG_ADD:{NATURAL_SKILL:MACE:8}]
  541. [TAG_ADD:{NATURAL_SKILL:HAMMER:8}]
  542. [TAG_ADD:{NATURAL_SKILL:WHIP:8}]
  543. [TAG_ADD:{NATURAL_SKILL:SPEAR:8}]
  544. [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:12}]
  545. [TAG_ADD:{PHYS_ATT_RANGE:STRENGTH:1000:1100:1150:1250:1350:1550:2250}]
  546. [TAG_ADD:{PHYS_ATT_RANGE:TOUGHNESS:1000:1100:1150:1250:1350:1550:2250}]
  547. [TAG_ADD:{PHYS_ATT_RANGE:AGILITY:1000:1100:1150:1250:1350:1550:2250}]
  548. [TAG_ADD:{PHYS_ATT_RANGE:ENDURANCE:1000:1100:1150:1250:1350:1550:2250}]
  549. [TAG_ADD:{PHYS_ATT_RANGE:RECUPERATION:1000:1100:1150:1250:1350:1550:2250}]
  550. [TAG_ADD:{PHYS_ATT_RANGE:DISEASE_RESISTANCE:1000:1100:1150:1250:1350:1550:2250}]
  551. [TAG_ADD:{MENT_ATT_RANGE:FOCUS:1000:1100:1150:1250:1350:1550:2250}]
  552. [TAG_ADD:{MENT_ATT_RANGE:WILLPOWER:1000:1100:1150:1250:1350:1550:2250}]
  553. [TAG_ADD:{MENT_ATT_RANGE:MEMORY:2000:2100:2150:2250:2350:2550:3250}]
  554. [TAG_ADD:{MENT_ATT_RANGE:SPATIAL_SENSE:2000:2100:2150:2250:2350:2550:3250}]
  555. [TAG_ADD:{MENT_ATT_RANGE:KINESTHETIC_SENSE:1000:1100:1150:1250:1350:1550:2250}]
  556. [TAG_ADD:{LAIR:LABYRINTH:100}]
  557. [TAG_ADD:{LAIR_HUNTER}]
  558. [TAG_ADD:{LAIR_HUNTER_SPEECH:lair_hunter_minotaur.txt}]
  559. [TAG_ADD:{HABIT_NUM:TEST_ALL}]
  560. [TAG_ADD:{HABIT:GRIND_BONE_MEAL:100}]
  561. [TAG_ADD:{HABIT:EAT_BONE_PORRIDGE:100}]
  562. [TAG_ADD:{HABIT:USE_ANY_MELEE_WEAPON:100}]this time, using a blank line to end the if/then, just to show how it works:
  563.  
  564. [ELSEIF:(RND:1:100):1]1 in 100 megabeast... after civs and semimegabeasts.
  565. greetings. this is your captain sspeaking. You are all screwed. Thank you for choosing Talv Airlines, and I bid you all a good day.
  566. [CAN_CIV:FALSE] just to keep the big ol' brutes from making their own civs.
  567. [IF:(RND:0:3):1]
  568. [TAG_ADD:{MEGABEAST}{DIFFICULTY:15}] 11 or higher doesn't get assigne in adv mode quests.
  569. [ELSE]
  570. [TAG_ADD:{MEGABEAST}{DIFFICULTY:10}]
  571. [X]
  572. [TAG_ADD: {ATTACK_TRIGGER:80:10000:100000}]
  573. [TAG_ADD:{FANCIFUL}{LARGE_PREDATOR}{LIKES_FIGHTING}{NOFEAR}{NOEXERT}]
  574. [TAG_ADD:{FREQUENCY:5}]
  575. [TAG_ADD:{GRASSTRAMPLE:50}]
  576. [TAG_ADD:{PETVALUE:10000}]
  577. [TAG_ADD:{PET_EXOTIC}{TRAINABLE}{MOUNT_EXOTIC}]
  578. [INT:L2:(RND:2:6)]
  579. [FOR:i:1:L2]
  580. [TAG_ADD:{SPHERE:(RANDOM_SPHERE)}] I'll show off by ending this with a blank line:
  581.  
  582. [IF:(RND:0:1):1]
  583. [TAG_ADD:{NOSTUN}{NOPAIN}]
  584.  
  585. [INT:X1:(RND:1:4)]
  586. [IF:X1:1]
  587. [TAG_ADD:{LAIR:WILDERNESS_LOCATION:100}]
  588. [ELSEIF:X1:2]
  589. [TAG_ADD:{LAIR:SHRINE:100}]
  590. [ELSE]
  591. [TAG_ADD:{LAIR:SIMPLE_BURROW:100}]
  592.  
  593. [X1:(RND:1:4)] setting variables is easy.
  594. First, a dash of dragon.
  595. [IF:X1:1] I'll admit, though, using Toady's raws format is a bit messy with operators.
  596. [TAG_ADD:{MENT_ATT_RANGE:WILLPOWER:3000:3500:3750:4000:4250:4500:5000}]
  597. [TAG_ADD:{HABIT_NUM:TEST_ALL}]
  598. [TAG_ADD:{HABIT:COLLECT_WEALTH:100}]
  599. [TAG_ADD:{NATURAL_SKILL:BITE:6}]
  600. [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
  601. [TAG_ADD:{NATURAL_SKILL:RANGED_COMBAT:6}]
  602. [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
  603. [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
  604. [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
  605. [ELSEIF:X1:2]A case of colossus.
  606. don't do anything!
  607. [ELSEIF:X1:3]A hint of hydra.
  608. [TAG_ADD:{LAIR_HUNTER}]
  609. [TAG_ADD:{NATURAL_SKILL:BITE:6}]
  610. [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
  611. [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
  612. [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
  613. [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
  614. [ELSE]A ray of roc.
  615. [TAG_ADD:{HABIT_NUM:TEST_ALL}]
  616. [TAG_ADD:{HABIT:GIANT_NEST:100}]
  617. [TAG_ADD:{NATURAL_SKILL:BITE:6}]
  618. [TAG_ADD:{NATURAL_SKILL:STANCE_STRIKE:6}]
  619. [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
  620. [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
  621. [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
  622. [X]
  623. [INT:R:(RND:1:4)]
  624. [IF:R:4] cue skyrim theme
  625. [IS_FIRE_BREATHER]
  626. [ADD_TAG:{CAN_DO_INTERACTION:MATERIAL_EMISSION}]
  627. [ADD_TAG: {CDI:ADV_NAME:Breathe fire}]I am a servant of the secret fire
  628. [ADD_TAG: {CDI:USAGE_HINT:ATTACK}]
  629. [ADD_TAG: {CDI:BP_REQUIRED:BY_CATEGORY:MOUTH}]
  630. [ADD_TAG: {CDI:FLOW:DRAGONFIRE}] Wielder of the flame of anor
  631. [ADD_TAG: {CDI:TARGET:C:LINE_OF_SIGHT}]
  632. [ADD_TAG: {CDI:TARGET_RANGE:C:15}]
  633. [ADD_TAG: {CDI:MAX_TARGET_NUMBER:C:1}]
  634. [ADD_TAG: {CDI:WAIT_PERIOD:50}]
  635. [ADD_TAG:{FIREIMMUNE_SUPER}]
  636. [ELSEIF:R:3] It's made of bronze.
  637. [IS_BRONZE]
  638. [ADD_TAG:{NOT_BUTCHERABLE}]
  639. [X]
  640. [X]
  641.  
  642. Here's the stuff for pets.
  643.  
  644. [IF:can_civ:false] if the civilization cannnot be made into a civ, basically
  645. [IF:(RND:0:277):<:61]if a random number between 0 and 277 is less than 61
  646. [TAG_ADD:{PET}]
  647. [ELSEIF:(RND:0:277):<:30] this fixes a bug in the old version
  648. [TAG_ADD:{PET_EXOTIC}] the blank line ends the if statement:
  649.  
  650. [IF:(RND:0:277):<:150]
  651. [TAG_ADD:{MOUNT_EXOTIC}]
  652. [DESCRIPTION:VERB:can be ridden] yeah, you can add these here too.
  653.  
  654. [IF:(RND:0:277):<:4]
  655. [TAG_ADD:{GLOWTILE:9}{GLOWCOLOR:(RND:1:7):0:1}]bit of fanciness that activates the RND stuff and adds a number to the tag between 1 and 7.
  656.  
  657. [IF:(RND:0:277):<:28]
  658. [TAG_ADD:{TRAINABLE}]
  659. [DESCRIPTION:VERB:can be trained for war]
  660. [X]
  661. [X]
  662.  
  663.  
  664. double line break to end the if-then statements. the bracketed X is optional.
  665.  
  666. tag stuff.
  667.  
  668. [IF:MEGABEAST:FALSE]
  669. [IF:(RND:1:1000):<:7]
  670. [TAG_ADD:{AT_PEACE_WITH_WILDLIFE}]
  671. [DESCRIPTION:DESC:few natural predators]
  672. [PREFLIST:peacefulness]
  673.  
  674. [IF:(RND:1:1000):<:4]
  675. [TAG_ADD:{ADOPTS_OWNER}]
  676. [PREFLIST:aloofness]
  677.  
  678. [IF:(RND:1:1000):<:4]
  679. [TAG_ADD:{AMBUSHPREDATOR}]
  680. [PREFLIST:mystery]
  681. [DESCRIPTION:VERB:waits for its prey to pass before striking]
  682.  
  683. [IF:(RND:1:1000):<:72]
  684. [TAG_ADD:{BUILDINGDESTROYER:1}]
  685. [ELSEIF:(RND:1:1000):<:4]
  686. [TAG_ADD:{BUILDINGDESTROYER:2}]
  687.  
  688. [IF:(RND:1:1000):<:72]
  689. [TAG_ADD:{INTELLIGENT}]
  690. [INTELLIGENT]
  691. [PREFLIST:distinct culture]
  692. [DESCRIPTION:VERB:is very intelligent]
  693. [ELSEIF:(RND:1:1000):<:25]
  694. [TAG_ADD:{CAN_LEARN}{SLOW_LEARNER}]
  695. [ELSEIF:(RND:1:1000):<:72]
  696. [TAG_ADD:{CAN_LEARN}]
  697. [DESCRIPTION:ADJ:intelligent]
  698. [DESCRIPTION:VERB:likes learning new things]
  699.  
  700. [IF:(RND:1:1000):<:137]
  701. [TAG_ADD:{CANOPENDOORS}]
  702. [CAN_OPEN_DOORS]
  703.  
  704. [IF:(RND:1:1000):<:130]
  705. [TAG_ADD:{EQUIPS}]
  706. [DESCRIPTION:VERB:can equip weapons and armor]
  707.  
  708. [IF:(RND:1:1000):<:76]
  709. [TAG_ADD:{FANCIFUL}]
  710. [DESRIPTION:ADJ:well-known]
  711.  
  712. [IF:(RND:1:1000):<:365]
  713. [TAG_ADD:{GRASSTRAMPLE:0}]
  714. [ELSEIF:(RND:1:1000):<:7]
  715. [TAG_ADD:{GRASSTRAMPLE:10}]
  716. [ELSEIF:(RND:1:1000):<:36]
  717. [TAG_ADD:{GRASSTRAMPLE:20}]
  718. [ELSEIF:(RND:1:1000):<:76]
  719. [TAG_ADD:{GRASSTRAMPLE:50}]
  720.  
  721. [IF:(RND:1:1000):<:181]
  722. [TAG_ADD:{GRAZER}]
  723. [DESCRIPTION:NOUN:grazer]
  724. [IS_GRAZER]
  725.  
  726. [IF:(RND:1:1000):<:4]
  727. [TAG_ADD:{HUNTS_VERMIN}]
  728. [DESCRIPTION:VERB:hunts vermin]
  729.  
  730. [IF:(RND:1:1000):<:274]
  731. [TAG_ADD:{LARGE_PREDATOR}]
  732. [OR]
  733. [DESCRIPTION:NOUN:predator]
  734. [BREAK]
  735. [X]
  736. [IS_HUNTER]
  737.  
  738. [IF:(RND:1:1000):<:87]
  739. [TAG_ADD:{LIKES_FIGHTING}]
  740. [DESCRIPTION:ADJ:violent]
  741. [PREFLIST:attitude]
  742. [LIKES_FIGHTING]
  743.  
  744. [IF:(RND:1:1000):<:43]
  745. [TAG_ADD:{LOOSE_CLUSTERS}]
  746. [DESCRIPTION:VERB:likes wandering alone]
  747.  
  748. [IF:(RND:1:1000):<:509]
  749. [TAG_ADD:{MEANDERER}]
  750. [IS_ROAMER]
  751. [X]
  752. [X]
  753. [IF:(RND:1:1000):<:112]
  754. [TAG_ADD:{AMPHIBIOUS}]
  755. [DESCRIPTION:VERB:is at home both in water and on land]
  756. [AMPHIBIOUS]
  757.  
  758. [IF:(RND:1:1000):<:117]
  759. [TAG_ADD:{BONECARN}]
  760. [DESCRIPTION:VERB:feigns eath until a victim passes by:likes to gnaw on old bones:eats the bones of the dead]
  761. [PREFLIST:savage ways:primitive habits]
  762.  
  763. [IF:(RND:1:1000):<:195]
  764. [TAG_ADD:CARNIVORE]
  765. [OR] chooses one at random from the following, before a line break or bracketed capital X
  766. [DESCRIPTION:NOUN:carnivore]
  767. [DESCRIPTION:ADJ:carnivorous]
  768. [X]
  769. [OR]
  770. [DESCRIPTION:ADJ:predatory]
  771. [BREAK] a chance to do nothing at all.
  772. [X]
  773. [OR]
  774. [DESCRIPTION:ADJ:scavenging]
  775. [BREAK]
  776. [X]
  777. [PREFLIST:eating habits]
  778.  
  779. [IF:(RND:1:1000):<:79]
  780. [TAG_ADD:{CURIOUSBEAST_EATER}]
  781. [CURIOUS_COUNT:+:1]
  782. [TYPE_CUR:eating the provisions of outposts]
  783.  
  784. [IF:(RND:1:1000):<:43]
  785. [TAG_ADD:{CURIOUSBEAST_GUZZLER}]
  786. [CURIOUS_COUNT:+:1]
  787. [TYPE_CUR:drinking the provisions of outposts]
  788.  
  789. [IF:(RND:1:1000):<:43]
  790. [TAG_ADD:{CURIOUSBEAST_ITEM}]
  791. [CURIOUS_COUNT:+:1]
  792. [TYPE_CUR:stealing items from outposts]
  793.  
  794. [IF:(RND:1:1000):<:126]
  795. [TAG_ADD:{EXTRAVISION}]
  796.  
  797. [IF:(RND:1:1000):<:25]
  798. [TAG_ADD:{FIREIMMUNE}]
  799. [DESCRIPTION:ADJ:fire-immune]
  800. [ELSEIF:(RND:1:1000):<:7]
  801. [TAG_ADD:{FIREIMMUNE_SUPER}]
  802. [DESCRIPTION:ADJ:fire-immune]
  803.  
  804. [IF:(RND:1:1000):<:4]
  805. [TAG_ADD:{FLEEQUICK}]
  806.  
  807. [IF:(RND:1:1000):<:125] birds. for the birds. all the birds. all is birds.
  808. [TAG_ADD:{FLIER}]
  809. [FLIES]
  810.  
  811. [IF:(RND:1:1000):<:11]
  812. [TAG_ADD:{LIGHT_GEN}]
  813. [DESCRIPTION:VERB:glows with its own light]
  814.  
  815. [IF:(RND:1:1000):<:7]
  816. [TAG_ADD:{LOCKPICKER}]
  817. [DESCRIPTION:VERB:likes wandering alone]
  818.  
  819. [IF:(RND:1:1000):<:18]
  820. [TAG_ADD:{MAGMA_VISION}]
  821. [DESCRIPTION:DESC:feels at home in magma]
  822.  
  823. [IF:(RND:1:1000):<:7]
  824. [TAG_ADD:{MISCHIEVOUS}]
  825. [DESCRIPTION:ADJ:mischievous]
  826. [DESCRIPTION:DESC:is very curious about everything]
  827.  
  828. [IF:(RND:1:1000):<:116]
  829. [TAG_ADD:{NO_DIZZINESS}]
  830.  
  831. [IF:(RND:1:1000):<:350]
  832. [TAG_ADD:{NO_DRINK}]
  833.  
  834. [IF:(RND:1:1000):<:54]
  835. [TAG_ADD:{NO_EAT}]
  836.  
  837. [IF:(RND:1:1000):<:65]
  838. [TAG_ADD:{NO_FEVERS}]
  839. [DESCRIPTION:VERB:never becomes ill]
  840.  
  841. [IF:(RND:1:1000):<:231]
  842. [TAG_ADD:{NO_SLEEP}]
  843. [OR]
  844. [DESCRIPTION:VERB:never seems to sleep]
  845. [BREAK]
  846. [X]
  847.  
  848. [IF:(RND:1:1000):<:65]
  849. [TAG_ADD:{NO_THOUGHT_CENTER_FOR_MOVEMENT}]
  850. [HAS_BRAIN]
  851.  
  852. [IF:(RND:1:1000):<:246]
  853. [TAG_ADD:{NOBONES}]
  854.  
  855. [IF:(RND:1:1000):<:65]
  856. [TAG_ADD:{NOBREATHE}]
  857. [NO_BREATHE]
  858.  
  859. [IF:(RND:1:1000):<:61]
  860. [TAG_ADD:{NOEMOTION}]
  861. [DESCRIPTION:ADJ:unemotional]
  862.  
  863.  
  864. [IF:CURIOUS_COUNT:>:1]
  865. [DESCRIPTION:VERB:is fond of raiding the supplies of outposts]
  866. [DESCRIPTION:VERB:is a very curious creature]
  867. [ELSEIF:CURIOUS_COUNT:1]
  868. [DESCRIPTION:VERB:is a very curious creature]
  869. [DESCRIPTION:VERB:is fond of (TYPE_CUR)] fancy line for adding the contents of a string.
  870. [X]
  871.  
  872. now we mark all intelligent creatures that are civ-able as sentient.
  873. [IF:INTELLIGENT]
  874. [IF:CAN_OPEN_DOORS]
  875. [IF:EQUIPS]
  876. [SENTIENT]
  877. [X]
  878. [X]
  879. [X]
  880.  
  881.  
  882.  
  883. original code has a comment here: ____________BIG SPLIT HERE___________
  884.  
  885. [IF:IS_HUNTER]
  886. [IF:FLIES]
  887. [DESCRIPTION:VERB:hunt its prey through flight]
  888.  
  889. [IF:LIKES_FIGHTING]
  890. [DESCRIPTION:VERB:likes to kill passing creatures]
  891. [X]
  892. [ELSE]
  893. [IF:FLIES]
  894. [DESCRIPTION:VERB:flies to escape enemies]
  895.  
  896. [IF:LIKES_FIGHTING]
  897. [DESCRIPTION:VERB:likes to fight passing creatures]
  898. [X]
  899. [X]
  900.  
  901. [IF:IS_GRAZER]
  902. [FOODWORD:plants]
  903. [X]
  904. [IF:IS_HUNTER]
  905. [FOODWORD:prey]
  906. [X]
  907.  
  908. Biome stuff.
  909. All of these are default vanilla values, extracted from the original raws with a program I threw together.
  910. I excluded the rarest combinations for the sake of keeping this short.
  911. Therefore, if something happens only once in the raws, RandCreatures won't imitate it.
  912. In the old version, biomes were chosen at random, though weighted.
  913. That means a creature could be found in two completely different biomes, like frozen tundra and jungle.
  914. This fixes that. And you have full access to it - congrats. :)
  915.  
  916. [BIOME:ANY_POOL:11] biome starter:tag to add to raws:weight against other starter tags
  917. [ANY_LAKE:2] the 2 is the chance to add alongside above biome tag; in this case 2*(100/11)%, or about an 18% chance.
  918. [NOT_FREEZING:2]
  919. [X]
  920. [BIOME:FOREST_TAIGA:19]
  921. [GRASSLAND_TEMPERATE:5]
  922. [SAVANNA_TEMPERATE:5]
  923. [SHRUBLAND_TEMPERATE:7]
  924. [ANY_TEMPERATE_FOREST:14]
  925. [ANY_DESERT:4]
  926. [MOUNTAIN:3]
  927. [TUNDRA:6]
  928. [ANY_TEMPERATE_WETLAND:3]
  929. [X]
  930. [BIOME:ANY_TROPICAL:5]
  931. [DESERT_BADLAND:4]
  932. [DESERT_ROCK:4]
  933. [DESERT_SAND:4]
  934.  
  935. [BIOME:GRASSLAND_TEMPERATE:27]
  936. [FOREST_TAIGA:5]
  937. [SAVANNA_TEMPERATE:24]
  938. [SHRUBLAND_TEMPERATE:20]
  939. [FOREST_TEMPERATE_BROADLEAF:3]
  940. [FOREST_TEMPERATE_CONIFER:3]
  941. [MARSH_TEMPERATE_FRESHWATER:2]
  942. [MARSH_TEMPERATE_SALTWATER:2]
  943. [ANY_TEMPERATE_FOREST:9]
  944. [ANY_DESERT:7]
  945. [TUNDRA:5]
  946. [SAVANNA_TROPICAL:2]
  947. [GRASSLAND_TROPICAL:2]
  948. [ANY_TEMPERATE_WETLAND:4]
  949. [SHRUBLAND_TROPICAL:2]
  950.  
  951. [BIOME:SAVANNA_TEMPERATE:25]
  952. [FOREST_TAIGA:5]
  953. [GRASSLAND_TEMPERATE:24]
  954. [SHRUBLAND_TEMPERATE:21]
  955. [FOREST_TEMPERATE_BROADLEAF:3]
  956. [FOREST_TEMPERATE_CONIFER:3]
  957. [MARSH_TEMPERATE_FRESHWATER:2]
  958. [MARSH_TEMPERATE_SALTWATER:2]
  959. [ANY_TEMPERATE_FOREST:9]
  960. [ANY_DESERT:6]
  961. [TUNDRA:3]
  962. [SAVANNA_TROPICAL:2]
  963. [GRASSLAND_TROPICAL:2]
  964. [ANY_TEMPERATE_WETLAND:4]
  965. [SHRUBLAND_TROPICAL:2]
  966.  
  967. [BIOME:SHRUBLAND_TEMPERATE:30]
  968. [FOREST_TAIGA:7]
  969. [GRASSLAND_TEMPERATE:20]
  970. [SAVANNA_TEMPERATE:21]
  971. [FOREST_TEMPERATE_BROADLEAF:3]
  972. [FOREST_TEMPERATE_CONIFER:3]
  973. [ANY_TEMPERATE_FOREST:18]
  974. [ANY_DESERT:6]
  975. [MOUNTAIN:4]
  976. [TUNDRA:4]
  977. [SAVANNA_TROPICAL:2]
  978. [GRASSLAND_TROPICAL:2]
  979. [ANY_TEMPERATE_WETLAND:4]
  980. [ANY_TROPICAL_FOREST:2]
  981. [SHRUBLAND_TROPICAL:4]
  982.  
  983. [BIOME:FOREST_TEMPERATE_BROADLEAF:9]
  984. [GRASSLAND_TEMPERATE:3]
  985. [SAVANNA_TEMPERATE:3]
  986. [SHRUBLAND_TEMPERATE:3]
  987. [FOREST_TEMPERATE_CONIFER:2]
  988. [FOREST_TROPICAL_CONIFER:2]
  989. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  990.  
  991. [BIOME:FOREST_TEMPERATE_CONIFER:3]
  992. [GRASSLAND_TEMPERATE:3]
  993. [SAVANNA_TEMPERATE:3]
  994. [SHRUBLAND_TEMPERATE:3]
  995. [FOREST_TEMPERATE_BROADLEAF:2]
  996.  
  997. [BIOME:MARSH_TEMPERATE_FRESHWATER:9]
  998. [GRASSLAND_TEMPERATE:2]
  999. [SAVANNA_TEMPERATE:2]
  1000. [MARSH_TEMPERATE_SALTWATER:7]
  1001. [MARSH_TROPICAL_FRESHWATER:6]
  1002. [MARSH_TROPICAL_SALTWATER:5]
  1003. [SWAMP_TEMPERATE_FRESHWATER:3]
  1004. [SWAMP_TROPICAL_FRESHWATER:2]
  1005.  
  1006. [BIOME:MARSH_TEMPERATE_SALTWATER:7]
  1007. [GRASSLAND_TEMPERATE:2]
  1008. [SAVANNA_TEMPERATE:2]
  1009. [MARSH_TEMPERATE_FRESHWATER:7]
  1010. [MARSH_TROPICAL_FRESHWATER:5]
  1011. [MARSH_TROPICAL_SALTWATER:5]
  1012.  
  1013. [BIOME:OCEAN_ARCTIC:22]
  1014. [OCEAN_TEMPERATE:13]
  1015. [RIVER_TEMPERATE_FRESHWATER:4]
  1016. [RIVER_TEMPERATE_BRACKISHWATER:4]
  1017. [RIVER_TEMPERATE_SALTWATER:4]
  1018.  
  1019. [BIOME:ANY_WETLAND:9]
  1020. [ANY_TEMPERATE_FOREST:3]
  1021. [FOREST_TROPICAL_CONIFER:2]
  1022. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1023. [ANY_SHRUBLAND:6]
  1024. [ANY_SAVANNA:6]
  1025. [ANY_GRASSLAND:7]
  1026. [ANY_DESERT:5]
  1027. [MOUNTAIN:2]
  1028. [TUNDRA:2]
  1029. [ANY_FOREST:3]
  1030.  
  1031. [BIOME:ANY_TEMPERATE_FOREST:38]
  1032. [FOREST_TAIGA:14]
  1033. [GRASSLAND_TEMPERATE:9]
  1034. [SAVANNA_TEMPERATE:9]
  1035. [SHRUBLAND_TEMPERATE:18]
  1036. [ANY_WETLAND:3]
  1037. [FOREST_TROPICAL_CONIFER:2]
  1038. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1039. [ANY_SHRUBLAND:3]
  1040. [ANY_SAVANNA:3]
  1041. [ANY_GRASSLAND:3]
  1042. [ANY_DESERT:7]
  1043. [MOUNTAIN:5]
  1044. [TUNDRA:4]
  1045. [ANY_TEMPERATE_WETLAND:4]
  1046. [ANY_TROPICAL_FOREST:5]
  1047. [SHRUBLAND_TROPICAL:2]
  1048.  
  1049. [BIOME:FOREST_TROPICAL_CONIFER:5]
  1050. [FOREST_TEMPERATE_BROADLEAF:2]
  1051. [ANY_WETLAND:2]
  1052. [ANY_TEMPERATE_FOREST:2]
  1053. [FOREST_TROPICAL_DRY_BROADLEAF:4]
  1054. [ANY_SHRUBLAND:2]
  1055. [ANY_SAVANNA:2]
  1056. [ANY_GRASSLAND:2]
  1057. [ANY_DESERT:3]
  1058.  
  1059. [BIOME:FOREST_TROPICAL_DRY_BROADLEAF:7]
  1060. [FOREST_TEMPERATE_BROADLEAF:2]
  1061. [ANY_WETLAND:2]
  1062. [ANY_TEMPERATE_FOREST:2]
  1063. [FOREST_TROPICAL_CONIFER:4]
  1064. [ANY_SHRUBLAND:2]
  1065. [ANY_SAVANNA:2]
  1066. [ANY_GRASSLAND:2]
  1067. [ANY_DESERT:2]
  1068. [FOREST_TROPICAL_MOIST_BROADLEAF:3]
  1069.  
  1070. [BIOME:ANY_SHRUBLAND:9]
  1071. [ANY_WETLAND:6]
  1072. [ANY_TEMPERATE_FOREST:3]
  1073. [FOREST_TROPICAL_CONIFER:2]
  1074. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1075. [ANY_SAVANNA:9]
  1076. [ANY_GRASSLAND:9]
  1077. [ANY_DESERT:7]
  1078. [MOUNTAIN:3]
  1079. [TUNDRA:3]
  1080. [ANY_FOREST:5]
  1081.  
  1082. [BIOME:ANY_SAVANNA:9]
  1083. [ANY_WETLAND:6]
  1084. [ANY_TEMPERATE_FOREST:3]
  1085. [FOREST_TROPICAL_CONIFER:2]
  1086. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1087. [ANY_SHRUBLAND:9]
  1088. [ANY_GRASSLAND:9]
  1089. [ANY_DESERT:7]
  1090. [MOUNTAIN:3]
  1091. [TUNDRA:3]
  1092. [ANY_FOREST:5]
  1093.  
  1094. [BIOME:ANY_GRASSLAND:11]
  1095. [ANY_WETLAND:7]
  1096. [ANY_TEMPERATE_FOREST:3]
  1097. [FOREST_TROPICAL_CONIFER:2]
  1098. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1099. [ANY_SHRUBLAND:9]
  1100. [ANY_SAVANNA:9]
  1101. [ANY_DESERT:8]
  1102. [MOUNTAIN:3]
  1103. [TUNDRA:3]
  1104. [ANY_FOREST:5]
  1105.  
  1106. [BIOME:ANY_DESERT:27]
  1107. [FOREST_TAIGA:4]
  1108. [GRASSLAND_TEMPERATE:7]
  1109. [SAVANNA_TEMPERATE:6]
  1110. [SHRUBLAND_TEMPERATE:6]
  1111. [ANY_WETLAND:5]
  1112. [ANY_TEMPERATE_FOREST:7]
  1113. [FOREST_TROPICAL_CONIFER:3]
  1114. [FOREST_TROPICAL_DRY_BROADLEAF:2]
  1115. [ANY_SHRUBLAND:7]
  1116. [ANY_SAVANNA:7]
  1117. [ANY_GRASSLAND:8]
  1118. [MOUNTAIN:6]
  1119. [TUNDRA:6]
  1120. [SAVANNA_TROPICAL:4]
  1121. [GRASSLAND_TROPICAL:4]
  1122. [ANY_TEMPERATE_WETLAND:2]
  1123. [ANY_TROPICAL_FOREST:2]
  1124. [SHRUBLAND_TROPICAL:2]
  1125. [SWAMP_MANGROVE:2]
  1126. [ANY_FOREST:5]
  1127.  
  1128. [BIOME:MOUNTAIN:17]
  1129. [FOREST_TAIGA:3]
  1130. [SHRUBLAND_TEMPERATE:4]
  1131. [ANY_WETLAND:2]
  1132. [ANY_TEMPERATE_FOREST:5]
  1133. [ANY_SHRUBLAND:3]
  1134. [ANY_SAVANNA:3]
  1135. [ANY_GRASSLAND:3]
  1136. [ANY_DESERT:6]
  1137. [TUNDRA:5]
  1138. [SWAMP_MANGROVE:2]
  1139. [ANY_FOREST:3]
  1140.  
  1141. [BIOME:TUNDRA:17]
  1142. [FOREST_TAIGA:6]
  1143. [GRASSLAND_TEMPERATE:5]
  1144. [SAVANNA_TEMPERATE:3]
  1145. [SHRUBLAND_TEMPERATE:4]
  1146. [ANY_WETLAND:2]
  1147. [ANY_TEMPERATE_FOREST:4]
  1148. [ANY_SHRUBLAND:3]
  1149. [ANY_SAVANNA:3]
  1150. [ANY_GRASSLAND:3]
  1151. [ANY_DESERT:6]
  1152. [MOUNTAIN:5]
  1153. [ANY_TEMPERATE_WETLAND:2]
  1154. [ANY_FOREST:2]
  1155. [GLACIER:4]
  1156.  
  1157. [BIOME:SAVANNA_TROPICAL:27]
  1158. [GRASSLAND_TEMPERATE:2]
  1159. [SAVANNA_TEMPERATE:2]
  1160. [SHRUBLAND_TEMPERATE:2]
  1161. [ANY_DESERT:4]
  1162. [GRASSLAND_TROPICAL:23]
  1163. [ANY_TROPICAL_FOREST:7]
  1164. [SHRUBLAND_TROPICAL:22]
  1165.  
  1166. [BIOME:GRASSLAND_TROPICAL:23]
  1167. [GRASSLAND_TEMPERATE:2]
  1168. [SAVANNA_TEMPERATE:2]
  1169. [SHRUBLAND_TEMPERATE:2]
  1170. [ANY_DESERT:4]
  1171. [SAVANNA_TROPICAL:23]
  1172. [ANY_TROPICAL_FOREST:6]
  1173. [SHRUBLAND_TROPICAL:18]
  1174.  
  1175. [BIOME:ANY_TEMPERATE_WETLAND:4]
  1176. [FOREST_TAIGA:3]
  1177. [GRASSLAND_TEMPERATE:4]
  1178. [SAVANNA_TEMPERATE:4]
  1179. [SHRUBLAND_TEMPERATE:4]
  1180. [ANY_TEMPERATE_FOREST:4]
  1181. [ANY_DESERT:2]
  1182. [TUNDRA:2]
  1183.  
  1184. [BIOME:FOREST_TROPICAL_MOIST_BROADLEAF:25]
  1185. [FOREST_TROPICAL_DRY_BROADLEAF:3]
  1186. [SHRUBLAND_TROPICAL:2]
  1187. [SWAMP_MANGROVE:2]
  1188.  
  1189. [BIOME:ANY_TROPICAL_FOREST:21]
  1190. [SHRUBLAND_TEMPERATE:2]
  1191. [ANY_TEMPERATE_FOREST:5]
  1192. [ANY_DESERT:2]
  1193. [SAVANNA_TROPICAL:7]
  1194. [GRASSLAND_TROPICAL:6]
  1195. [SHRUBLAND_TROPICAL:11]
  1196. [SWAMP_MANGROVE:4]
  1197. [SWAMP_TROPICAL_FRESHWATER:2]
  1198. [SWAMP_TROPICAL_SALTWATER:2]
  1199.  
  1200. [BIOME:LAKE_TEMPERATE_SALTWATER:3]
  1201. [LAKE_TEMPERATE_BRACKISHWATER:3]
  1202. [LAKE_TEMPERATE_FRESHWATER:3]
  1203. [RIVER_TEMPERATE_FRESHWATER:2]
  1204. [RIVER_TEMPERATE_BRACKISHWATER:2]
  1205. [RIVER_TEMPERATE_SALTWATER:2]
  1206.  
  1207. [BIOME:LAKE_TEMPERATE_BRACKISHWATER:10]
  1208. [LAKE_TEMPERATE_SALTWATER:3]
  1209. [LAKE_TEMPERATE_FRESHWATER:10]
  1210. [RIVER_TEMPERATE_FRESHWATER:6]
  1211. [RIVER_TEMPERATE_BRACKISHWATER:6]
  1212. [RIVER_TEMPERATE_SALTWATER:2]
  1213. [POOL_TEMPERATE_FRESHWATER:2]
  1214. [POOL_TEMPERATE_BRACKISHWATER:2]
  1215.  
  1216. [BIOME:LAKE_TEMPERATE_FRESHWATER:15]
  1217. [LAKE_TEMPERATE_SALTWATER:3]
  1218. [LAKE_TEMPERATE_BRACKISHWATER:10]
  1219. [RIVER_TEMPERATE_FRESHWATER:10]
  1220. [RIVER_TEMPERATE_BRACKISHWATER:6]
  1221. [RIVER_TEMPERATE_SALTWATER:2]
  1222. [POOL_TEMPERATE_FRESHWATER:3]
  1223. [POOL_TEMPERATE_BRACKISHWATER:2]
  1224.  
  1225. [BIOME:SHRUBLAND_TROPICAL:29]
  1226. [GRASSLAND_TEMPERATE:2]
  1227. [SAVANNA_TEMPERATE:2]
  1228. [SHRUBLAND_TEMPERATE:4]
  1229. [ANY_TEMPERATE_FOREST:2]
  1230. [ANY_DESERT:2]
  1231. [SAVANNA_TROPICAL:22]
  1232. [GRASSLAND_TROPICAL:18]
  1233. [FOREST_TROPICAL_MOIST_BROADLEAF:2]
  1234. [ANY_TROPICAL_FOREST:11]
  1235. [SWAMP_MANGROVE:2]
  1236. [SWAMP_TROPICAL_FRESHWATER:2]
  1237. [SWAMP_TROPICAL_SALTWATER:2]
  1238.  
  1239. [BIOME:ANY_TEMPERATE_LAKE:4]
  1240. [ANY_TEMPERATE_MARSH:2]
  1241. [ANY_TEMPERATE_RIVER:2]
  1242.  
  1243. [BIOME:ANY_TEMPERATE_MARSH:2]
  1244. [ANY_TEMPERATE_LAKE:2]
  1245.  
  1246. [BIOME:SWAMP_MANGROVE:10]
  1247. [ANY_DESERT:2]
  1248. [MOUNTAIN:2]
  1249. [FOREST_TROPICAL_MOIST_BROADLEAF:2]
  1250. [ANY_TROPICAL_FOREST:4]
  1251. [SHRUBLAND_TROPICAL:2]
  1252. [ANY_FOREST:2]
  1253. [MARSH_TROPICAL_FRESHWATER:2]
  1254. [MARSH_TROPICAL_SALTWATER:2]
  1255. [SWAMP_TEMPERATE_FRESHWATER:2]
  1256. [SWAMP_TROPICAL_FRESHWATER:6]
  1257. [SWAMP_TROPICAL_SALTWATER:6]
  1258.  
  1259. [BIOME:ANY_FOREST:6]
  1260. [ANY_WETLAND:3]
  1261. [ANY_SHRUBLAND:5]
  1262. [ANY_SAVANNA:5]
  1263. [ANY_GRASSLAND:5]
  1264. [ANY_DESERT:5]
  1265. [MOUNTAIN:3]
  1266. [TUNDRA:2]
  1267. [SWAMP_MANGROVE:2]
  1268.  
  1269. [BIOME:ANY_OCEAN:18]
  1270. [ANY_LAKE:3]
  1271. [ANY_RIVER:3]
  1272.  
  1273. [BIOME:ANY_LAKE:6]
  1274. [ANY_POOL:2]
  1275. [ANY_OCEAN:3]
  1276. [ANY_RIVER:4]
  1277.  
  1278. [BIOME:ANY_RIVER:5]
  1279. [ANY_OCEAN:3]
  1280. [ANY_LAKE:4]
  1281.  
  1282. [BIOME:MARSH_TROPICAL_FRESHWATER:7]
  1283. [MARSH_TEMPERATE_FRESHWATER:6]
  1284. [MARSH_TEMPERATE_SALTWATER:5]
  1285. [SWAMP_MANGROVE:2]
  1286. [MARSH_TROPICAL_SALTWATER:6]
  1287. [RIVER_TROPICAL_FRESHWATER:2]
  1288. [RIVER_TROPICAL_BRACKISHWATER:2]
  1289. [SWAMP_TEMPERATE_FRESHWATER:2]
  1290. [SWAMP_TROPICAL_FRESHWATER:3]
  1291. [SWAMP_TROPICAL_SALTWATER:2]
  1292.  
  1293. [BIOME:MARSH_TROPICAL_SALTWATER:6]
  1294. [MARSH_TEMPERATE_FRESHWATER:5]
  1295. [MARSH_TEMPERATE_SALTWATER:5]
  1296. [SWAMP_MANGROVE:2]
  1297. [MARSH_TROPICAL_FRESHWATER:6]
  1298. [SWAMP_TROPICAL_FRESHWATER:2]
  1299. [SWAMP_TROPICAL_SALTWATER:2]
  1300.  
  1301. [BIOME:NOT_FREEZING:28]
  1302. [ANY_POOL:2]
  1303.  
  1304. [BIOME:OCEAN_TEMPERATE:39]
  1305. [OCEAN_ARCTIC:13]
  1306. [RIVER_TEMPERATE_FRESHWATER:6]
  1307. [RIVER_TEMPERATE_BRACKISHWATER:6]
  1308. [RIVER_TEMPERATE_SALTWATER:6]
  1309. [OCEAN_TROPICAL:17]
  1310.  
  1311. [BIOME:ANY_TROPICAL_WETLAND:3]
  1312.  
  1313. [BIOME:ANY_TEMPERATE_SWAMP:2]
  1314.  
  1315. [BIOME:RIVER_TEMPERATE_FRESHWATER:16]
  1316. [OCEAN_ARCTIC:4]
  1317. [LAKE_TEMPERATE_SALTWATER:2]
  1318. [LAKE_TEMPERATE_BRACKISHWATER:6]
  1319. [LAKE_TEMPERATE_FRESHWATER:10]
  1320. [OCEAN_TEMPERATE:6]
  1321. [RIVER_TEMPERATE_BRACKISHWATER:12]
  1322. [RIVER_TEMPERATE_SALTWATER:7]
  1323. [RIVER_TROPICAL_FRESHWATER:2]
  1324. [POOL_TEMPERATE_FRESHWATER:2]
  1325. [POOL_TEMPERATE_BRACKISHWATER:2]
  1326.  
  1327. [BIOME:RIVER_TEMPERATE_BRACKISHWATER:12]
  1328. [OCEAN_ARCTIC:4]
  1329. [LAKE_TEMPERATE_SALTWATER:2]
  1330. [LAKE_TEMPERATE_BRACKISHWATER:6]
  1331. [LAKE_TEMPERATE_FRESHWATER:6]
  1332. [OCEAN_TEMPERATE:6]
  1333. [RIVER_TEMPERATE_FRESHWATER:12]
  1334. [RIVER_TEMPERATE_SALTWATER:7]
  1335. [POOL_TEMPERATE_FRESHWATER:2]
  1336. [POOL_TEMPERATE_BRACKISHWATER:2]
  1337.  
  1338. [BIOME:RIVER_TEMPERATE_SALTWATER:7]
  1339. [OCEAN_ARCTIC:4]
  1340. [LAKE_TEMPERATE_SALTWATER:2]
  1341. [LAKE_TEMPERATE_BRACKISHWATER:2]
  1342. [LAKE_TEMPERATE_FRESHWATER:2]
  1343. [OCEAN_TEMPERATE:6]
  1344. [RIVER_TEMPERATE_FRESHWATER:7]
  1345. [RIVER_TEMPERATE_BRACKISHWATER:7]
  1346.  
  1347. [BIOME:OCEAN_TROPICAL:31]
  1348. [OCEAN_TEMPERATE:17]
  1349. [RIVER_TROPICAL_FRESHWATER:2]
  1350. [RIVER_TROPICAL_BRACKISHWATER:2]
  1351. [RIVER_TROPICAL_SALTWATER:2]
  1352. [LAKE_TROPICAL_FRESHWATER:2]
  1353. [LAKE_TROPICAL_BRACKISHWATER:2]
  1354. [LAKE_TROPICAL_SALTWATER:2]
  1355.  
  1356. [BIOME:RIVER_TROPICAL_FRESHWATER:11]
  1357. [MARSH_TROPICAL_FRESHWATER:2]
  1358. [RIVER_TEMPERATE_FRESHWATER:2]
  1359. [OCEAN_TROPICAL:2]
  1360. [RIVER_TROPICAL_BRACKISHWATER:7]
  1361. [RIVER_TROPICAL_SALTWATER:6]
  1362. [LAKE_TROPICAL_FRESHWATER:9]
  1363. [LAKE_TROPICAL_BRACKISHWATER:5]
  1364. [LAKE_TROPICAL_SALTWATER:5]
  1365. [SWAMP_TROPICAL_FRESHWATER:2]
  1366.  
  1367. [BIOME:RIVER_TROPICAL_BRACKISHWATER:7]
  1368. [MARSH_TROPICAL_FRESHWATER:2]
  1369. [OCEAN_TROPICAL:2]
  1370. [RIVER_TROPICAL_FRESHWATER:7]
  1371. [RIVER_TROPICAL_SALTWATER:6]
  1372. [LAKE_TROPICAL_FRESHWATER:5]
  1373. [LAKE_TROPICAL_BRACKISHWATER:5]
  1374. [LAKE_TROPICAL_SALTWATER:5]
  1375. [SWAMP_TROPICAL_FRESHWATER:2]
  1376.  
  1377. [BIOME:RIVER_TROPICAL_SALTWATER:6]
  1378. [OCEAN_TROPICAL:2]
  1379. [RIVER_TROPICAL_FRESHWATER:6]
  1380. [RIVER_TROPICAL_BRACKISHWATER:6]
  1381. [LAKE_TROPICAL_FRESHWATER:5]
  1382. [LAKE_TROPICAL_BRACKISHWATER:5]
  1383. [LAKE_TROPICAL_SALTWATER:5]
  1384.  
  1385. [BIOME:LAKE_TROPICAL_FRESHWATER:10]
  1386. [OCEAN_TROPICAL:2]
  1387. [RIVER_TROPICAL_FRESHWATER:9]
  1388. [RIVER_TROPICAL_BRACKISHWATER:5]
  1389. [RIVER_TROPICAL_SALTWATER:5]
  1390. [LAKE_TROPICAL_BRACKISHWATER:6]
  1391. [LAKE_TROPICAL_SALTWATER:6]
  1392.  
  1393. [BIOME:LAKE_TROPICAL_BRACKISHWATER:6]
  1394. [OCEAN_TROPICAL:2]
  1395. [RIVER_TROPICAL_FRESHWATER:5]
  1396. [RIVER_TROPICAL_BRACKISHWATER:5]
  1397. [RIVER_TROPICAL_SALTWATER:5]
  1398. [LAKE_TROPICAL_FRESHWATER:6]
  1399. [LAKE_TROPICAL_SALTWATER:6]
  1400.  
  1401. [BIOME:LAKE_TROPICAL_SALTWATER:6]
  1402. [OCEAN_TROPICAL:2]
  1403. [RIVER_TROPICAL_FRESHWATER:5]
  1404. [RIVER_TROPICAL_BRACKISHWATER:5]
  1405. [RIVER_TROPICAL_SALTWATER:5]
  1406. [LAKE_TROPICAL_FRESHWATER:6]
  1407. [LAKE_TROPICAL_BRACKISHWATER:6]
  1408.  
  1409. [BIOME:SWAMP_TEMPERATE_FRESHWATER:4]
  1410. [MARSH_TEMPERATE_FRESHWATER:3]
  1411. [SWAMP_MANGROVE:2]
  1412. [MARSH_TROPICAL_FRESHWATER:2]
  1413. [SWAMP_TROPICAL_FRESHWATER:3]
  1414. [SWAMP_TROPICAL_SALTWATER:2]
  1415.  
  1416. [BIOME:SWAMP_TROPICAL_FRESHWATER:7]
  1417. [MARSH_TEMPERATE_FRESHWATER:2]
  1418. [ANY_TROPICAL_FOREST:2]
  1419. [SHRUBLAND_TROPICAL:2]
  1420. [SWAMP_MANGROVE:6]
  1421. [MARSH_TROPICAL_FRESHWATER:3]
  1422. [MARSH_TROPICAL_SALTWATER:2]
  1423. [RIVER_TROPICAL_FRESHWATER:2]
  1424. [RIVER_TROPICAL_BRACKISHWATER:2]
  1425. [SWAMP_TEMPERATE_FRESHWATER:3]
  1426. [SWAMP_TROPICAL_SALTWATER:6]
  1427.  
  1428. [BIOME:DESERT_BADLAND:5]
  1429. [ANY_TROPICAL:4]
  1430. [DESERT_ROCK:5]
  1431. [DESERT_SAND:5]
  1432.  
  1433. [BIOME:DESERT_ROCK:5]
  1434. [ANY_TROPICAL:4]
  1435. [DESERT_BADLAND:5]
  1436. [DESERT_SAND:5]
  1437.  
  1438. [BIOME:DESERT_SAND:5]
  1439. [ANY_TROPICAL:4]
  1440. [DESERT_BADLAND:5]
  1441. [DESERT_ROCK:5]
  1442.  
  1443. [BIOME:SWAMP_TROPICAL_SALTWATER:6]
  1444. [ANY_TROPICAL_FOREST:2]
  1445. [SHRUBLAND_TROPICAL:2]
  1446. [SWAMP_MANGROVE:6]
  1447. [MARSH_TROPICAL_FRESHWATER:2]
  1448. [MARSH_TROPICAL_SALTWATER:2]
  1449. [SWAMP_TEMPERATE_FRESHWATER:2]
  1450. [SWAMP_TROPICAL_FRESHWATER:6]
  1451.  
  1452. [BIOME:GLACIER:4]
  1453. [TUNDRA:4]
  1454.  
  1455. [BIOME:SUBTERRANEAN_CHASM:44]
  1456. [SUBTERRANEAN_WATER:3]
  1457.  
  1458. [BIOME:SUBTERRANEAN_WATER:17]
  1459. [SUBTERRANEAN_CHASM:3]
  1460.  
  1461. [BIOME:SUBTERRANEAN_LAVA:5]
  1462.  
  1463. [BIOME:ANY_LAND:9]
  1464.  
  1465. [BIOME:POOL_TEMPERATE_FRESHWATER:3]
  1466. [LAKE_TEMPERATE_BRACKISHWATER:2]
  1467. [LAKE_TEMPERATE_FRESHWATER:3]
  1468. [RIVER_TEMPERATE_FRESHWATER:2]
  1469. [RIVER_TEMPERATE_BRACKISHWATER:2]
  1470. [POOL_TEMPERATE_BRACKISHWATER:2]
  1471.  
  1472. [BIOME:POOL_TEMPERATE_BRACKISHWATER:2]
  1473. [LAKE_TEMPERATE_BRACKISHWATER:2]
  1474. [LAKE_TEMPERATE_FRESHWATER:2]
  1475. [RIVER_TEMPERATE_FRESHWATER:2]
  1476. [RIVER_TEMPERATE_BRACKISHWATER:2]
  1477. [POOL_TEMPERATE_FRESHWATER:2]
  1478.  
  1479. [BIOME:ANY_TEMPERATE_RIVER:2]
  1480. [ANY_TEMPERATE_LAKE:2]
  1481.  
  1482.  
  1483.  
  1484. =======splitting this off for clarity=======
  1485.  
  1486. [IF:CANCIV:FALSE]
  1487. [IF:(RND:0:277):<:8]
  1488. [TAG_ADD:{GOOD}]
  1489. [DESCRIPTION:VERB:good]
  1490. [ELSEIF:(RND:0:269):<:24]
  1491. [TAG_ADD:{EVIL}]
  1492. [DESCRIPTION:VERB:evil]
  1493. [X]
  1494. [IF:(RND:0:277):<:181]
  1495. [TAG_ADD:{BENIGN}]
  1496. [ELSEIF:(RND:0:96):<:15]
  1497. [TAG_ADD:{SAVAGE}]
  1498. [X]
  1499. [X]
  1500. [IF:SENTIENT]
  1501. [TAG_REMOVE:{PET}]
  1502. [TAG_REMOVE:{PET_EXOTIC}]
  1503. [TAG_REMOVE:{MOUNT_EXOTIC}]
  1504. [TAG_REMOVE:{TRAINABLE}]
  1505. [X]
  1506. =======Split=======
  1507. After all of the above is sorted out, this one line executes the body creation code. Not modifiable.
  1508. It can't be modifiable, really. After all, if you were able to modify the body creation code, some very
  1509. bad stuff would happen... like your creature not working. Or Dwarf Fortress crashing.
  1510.  
  1511. [GENERATE_CREATURE]
  1512.  
  1513. [SKIN_TYPE:SKIN]
  1514. [IF:(RND:1:4):=:1]
  1515. [SKIN_TYPE:SCALE]
  1516. [HAS_HAIR:FALSE]
  1517. [X]
  1518. [INT:rnd:(RND:1:25)]
  1519.  
  1520. [IF:IS_BRONZE]
  1521. [TAG_ADD:{TISSUE:BRONZE}]
  1522. [TAG_ADD: {TISSUE_NAME:bronze:bronze}]
  1523. [TAG_ADD: {TISSUE_MATERIAL:INORGANIC:BRONZE}]
  1524. [TAG_ADD: {MUSCULAR}]
  1525. [TAG_ADD: {FUNCTIONAL}]
  1526. [TAG_ADD: {STRUCTURAL}]
  1527. [TAG_ADD: {RELATIVE_THICKNESS:1}]
  1528. [TAG_ADD: {CONNECTS}]
  1529. [TAG_ADD: {TISSUE_SHAPE:LAYER}]
  1530. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:ALL:BRONZE}]
  1531. [TAG_ADD:{ITEMCORPSE:STATUE:NO_SUBTYPE:INORGANIC:BRONZE}]
  1532. [TAG_ADD:{ITEMCORPSE_QUALITY:5}]
  1533. [ELSEIF:RND:<:21]
  1534. [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_MATERIALS}]
  1535. [IF:SKIN_TYPE:SKIN]
  1536. [IF:(RND:0:1):=:1]
  1537. [TAG_ADD: {REMOVE_MATERIAL:HAIR}]
  1538. [HAS_HAIR:FALSE]
  1539. [X]
  1540. [X]
  1541. [IF:(RND:1:4):=:1:&:HAS_RIBCAGE:=:FALSE:&:HAS_SPINE:=:FALSE:&:HAS_TEETH:=:FALSE:&:HAS_JOINTS:=:FALSE:&:HAS_SKULL:=:FALSE]
  1542. [TAG_ADD: {REMOVE_MATERIAL:BONE}]
  1543. [HAS_BONE:FALSE]
  1544. [X]
  1545. [IF:(RND:1:8):=:1]
  1546. [TAG_ADD: {REMOVE_MATERIAL:CARTILAGE}]
  1547. [HAS_CARTILAGE:FALSE]
  1548. [X]
  1549. [IF:(RND:1:3):=:1:&:HAS_CARTILAGE:=:FALSE:&:HAS_BONE]
  1550. [CHITIN_BONE]
  1551. [TAG_ADD: {REMOVE_MATERIAL:BONE}]
  1552. [TAG_ADD: {USE_MATERIAL_TEMPLATE:CHITIN:CHITIN_TEMPLATE}]
  1553. [X]
  1554. [IF:SKINTYPE:SCALE]
  1555. [TAG_ADD: {REMOVE_MATERIAL:HAIR}]
  1556. [HAS_HAIR:FALSE]
  1557. [TAG_ADD: {REMOVE_MATERIAL:SKIN}]
  1558. [IF:(RND:1:0):=:1]
  1559. [HAS_LEATHER:FALSE]
  1560. [X]
  1561. [TAG_ADD: {USE_MATERIAL_TEMPLATE:SCALE:SCALE_TEMPLATE}]
  1562. [TAG_ADD: {USE_MATERIAL_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
  1563. [X]
  1564. [IF:HAS_HORN]
  1565. [TAG_ADD: {USE_MATERIAL_TEMPLATE:HORN:HORN_TEMPLATE}]
  1566. [X]
  1567. [IF:HAS_HOOF]
  1568. [TAG_ADD: {USE_MATERIAL_TEMPLATE:HOOF:HOOF_TEMPLATE}]
  1569. [X]
  1570. [IF:HAS_TUSK]
  1571. [TAG_ADD: {USE_MATERIAL_TEMPLATE:IVORY:TOOTH_TEMPLATE}]
  1572. [X]
  1573. [IF:(RND:1:15):1:&:SKIN_TYPE:SKIN]
  1574. [TAG_ADD: {USE_MATERIAL_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
  1575. [HAS_FEATHER]
  1576. [X]
  1577. [TAG_ADD:{BODY_DETAIL_PLAN}:STANDARD_TISSUES}]
  1578. [IF:SKIN_TYPE:SKIN:&:HAS_HAIR:FALSE]
  1579. [TAG_ADD: {REMOVE_TISSUE:HAIR}]
  1580. [DESCRIPTION:ADJ:hairless]
  1581. [X]
  1582. [IF:HAS_BONE:FALSE]
  1583. [TAG_ADD: {REMOVE_TISSUE:BONE}]
  1584. [X]
  1585. [IF:HAS_CARTILAGE:FALSE]
  1586. [TAG_ADD: {REMOVE_TISSUE:CARTILAGE}]
  1587. [X]
  1588. [IF:SKIN_TYPE:SCALE]
  1589. [TAG_ADD: {REMOVE_TISSUE:HAIR}]
  1590. [TAG_ADD: {REMOVE_TISSUE:SKIN}]
  1591. [TAG_ADD: {USE_TISSUE_TEMPLATE:SCALE:SCALE_TEMPLATE}]
  1592. [TAG_ADD: {USE_TISSUE_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
  1593. [X]
  1594. [IF:HAS_HORN]
  1595. [TAG_ADD: {USE_TISSUE_TEMPLATE:HORN:HORN_TEMPLATE}]
  1596. [TAG_ADD: {USE_TISSUE_TEMPLATE:HOOF:HOOF_TEMPLATE}]
  1597. [X]
  1598. [IF:HAS_TUSK]
  1599. [TAG_ADD: {USE_TISSUE_TEMPLATE:IVORY:IVORY_TEMPLATE}]
  1600. [X]
  1601. [IF:HAS_FEATHER]
  1602. [TAG_ADD: {USE_TISSUE_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
  1603. [X]
  1604. [IF:CHITIN_BONE]
  1605. [TAG_ADD: {REMOVE_TISSUE:BONE}]
  1606. [TAG_ADD: {USE_TISSUE_TEMPLATE:CHITIN:CHITIN:TEMPLATE}]
  1607. [X]
  1608. [IF:HAS_HAIR:FALSE:&:HAS_BONSE:FALSE]
  1609. [DESCRIPTION:ADJ:slimy]
  1610. [DESCRIPTION:ADJ:boneless]
  1611. [TAG_ADD:{BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:(SKIN_TYPE):FAT:MUSCLE}]
  1612. [ELSE]
  1613. [TAG_ADD:{BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:(SKIN_TYPE):FAT:MUSCLE:]
  1614. } ]this is to clear things up in notepad++. not read by the program.
  1615. [IF:CHITIN_BONE]
  1616. [TAG_APPEND:CHITIN:]
  1617. [ELSEIF:HAS_BONE]
  1618. [TAG_APPEND:BONE:]
  1619. [ELSE]
  1620. [TAG_APPEND:NONE:]
  1621. [X]
  1622. [IF:HAS_CARTILAGE]
  1623. [TAG_APPEND:CARTILAGE}]
  1624. [ELSEIF:CHITIN_BONE]
  1625. [TAG_APPEND:CHITIN}]
  1626. [ELSE]
  1627. [TAG_APPEND:NONE}]
  1628. [X]
  1629. [X]
  1630. [IF:(RND:1:6):6:&:HASHAIR]
  1631. [TAG_ADD:{BODY_DETAIL_PLAN:BODY_HAIR_TISSUE_LAYERS:HAIR}]
  1632. [PREFLIST:manes]
  1633. [ADD_HAIR]
  1634. [DESCRIPTION:DESC:a thick mane]
  1635. [DESCRIPTION:VERB:is covered in thick fur]
  1636. [IF:EYECOUNT:2:&:HAS_MOUTH:&:HAS_NOSE:&:HAS_EARS]
  1637. [DESCRIPTION:DESC:a mane circling its face]
  1638. [X]
  1639. [X]
  1640. [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS}]
  1641. [IF:(RND:0:2):1]
  1642. [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_HEAD_POSITIONS}]
  1643. [X]
  1644. [IF:HAS_RIBCAGE]
  1645. [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS}]
  1646. [X]
  1647. [IF:(RND:0:2):1]
  1648. [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_RELSIZES}]
  1649. [X]
  1650. [IF:HAS_FEATHER]
  1651. [TAG_ADD:{BODY_DETAIL_PLAN:BODY_FEATHER_TISSUE_LAYERS:FEATHER}]
  1652. [DESCRIPTION:ADJ:feathered]
  1653. [DESCRIPTION:DESC:feathers covering its body]
  1654. [X]
  1655. otherwise...
  1656. [ELSEIF:rnd:21]
  1657. [PREFLIST:chittering]
  1658. [SKIN_TYPE:CHITIN]
  1659. [TAG_ADD:{BODY_DETAIL_PLAN:CHITIN_MATERIALS}]
  1660. [TAG_ADD: {USE_MATERIAL_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
  1661. [IF:HAS_HORN]
  1662. [TAG_ADD:{USE_MATERIAL_TEMPLATE:HORN:HORN_TEMPLATE}]
  1663. [X]
  1664. [IF:HAS_HOOF]
  1665. [TAG_ADD:{USE_MATERIAL_TEMPLATE:HOOF:HOOF_TEMPLATE}]
  1666. [X]
  1667. [IF:HAS_TUSK]
  1668. [TAG_ADD:{USE_MATERIAL_TEMPLATE:IVORY:TOOTH_TEMPLATE}]
  1669. [X]
  1670. [IF:HAS_FEATHER]
  1671. [TAG_ADD:{USE_MATERIAL_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
  1672. [X]
  1673. [TAG_ADD:{BODY_DETAIL_PLAN:CHITIN_TISSUES}]
  1674. [TAG_ADD: {USE_TISSUE_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
  1675. [IF:HAS_HORN]
  1676. [TAG_ADD: {USE_TISSUE_TEMPLATE:HORN:HORN_TEMPLATE}]
  1677. [X]
  1678. [IF:HAS_HOOF]
  1679. [TAG_ADD: {USE_TISSUE_TEMPLATE:HOOF:HOOF_TEMPLATE}]
  1680. [X]
  1681. [IF:HAS_TUSK]
  1682. [TAG_ADD: {USE_TISSUE_TEMPLATE:IVORY:IVORY_TEMPLATE}]
  1683. [X]
  1684. [IF:HAS_FEATHER]
  1685. [TAG_ADD: {USE_TISSUE_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
  1686. [X]
  1687. [TAG_ADD:{BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:CHITIN:FAT:MUSCLE}]
  1688. [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS}]
  1689. [ELSEIF:rnd:22]
  1690. [SKIN_TYPE:FLESH]
  1691. [PREFLIST:warmth]
  1692. [TAG_ADD:{USE_MATERIAL_TEMPLATE:FLESH:MUSCLE_TEMPLATE}]
  1693. [TAG_ADD:{USE_TISSUE_TEMPLATE:FLESH_TEMPLATE}]
  1694. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:ALL:FLESH}]
  1695. [IF:(CONTAINS:BODYPART_LIST:BASIC_1PARTBODY)]checking a list for an item. painful.
  1696. [DESCRIPTION:NOUN:ball of skin]
  1697. [X]
  1698. [ELSEIF:rnd:23]
  1699. [SKIN_TYPE:STONE]
  1700. [INT:thisStone:(RND:0:(COUNT:stoneName))]"lk" doesn't mean anything, it's just a random variable name. This
  1701. line creates lk as an integer between 0 and stoneName's count (stoneName is a list defined near the top of
  1702. this file). Using this line, I can have the same values for both stoneName and stoneID, making sure the
  1703. stone strings match. and yes, you can stack commands in parentheses.
  1704. [PREFLIST:rockiness]
  1705. [DESCRIPTION:VERB:is made entirely of stone]
  1706. [TAG_ADD:{TISSUE:ROCK}]
  1707. [TAG_ADD: {TISSUE_NAME:(stoneName:thisStone):NP}]pulls the stone name from index "lk". All you
  1708. need to do to pull a string from a list is just put (theName) inside parentheses. Putting an integer
  1709. behind it is optional. Without a colon, it pulls a random variable.
  1710. [TAG_ADD: {TISSUE_MATERIAL:INORGANIC:(stoneID(thisStone))}]pulls the stonetype matching the
  1711. randomly-pulled stone name
  1712. [TAG_ADD: {MUSCULAR}]
  1713. [TAG_ADD: {FUNCTIONAL}]
  1714. [TAG_ADD: {STRUCTURAL}]
  1715. [TAG_ADD: {RELATIVE_THICKNESS:1}]
  1716. [TAG_ADD: {CONNECTS}]
  1717. [TAG_ADD: {TISSUE_SHAPE:LAYER}]
  1718. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:ALL:ROCK}]
  1719. [ELSE] wet-type creatures last.
  1720. [SKIN_TYPE:WET]
  1721. [INT:thisLiquid:(RND:0:liquids.Count)]"count" can be capitalized or lowercase. hopefully.
  1722. [PREFLIST:(liquids(thisLiquid))]
  1723. [DESCRIPTION:VERB:is made entirely of (liquids(thisLiquid))]
  1724. [TAG_ADD:{USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE}] regardless of what it's made of, it acts like
  1725. blood.
  1726. [TAG_ADD:{TISSUE:BLOOD}]
  1727. [TAG_ADD: {TISSUE_NAME:(liquids(thisLiquid)):NP}]
  1728. [TAG_ADD: {TISSUE_MATERIAL:LOCAL_CREATURE_MAT:BLOOD}]
  1729. [TAG_ADD: {TISSUE_MAT_STATE:LIQUID}]
  1730. [TAG_ADD: {MUSCULAR}]
  1731. [TAG_ADD: {FUNCTIONAL}]
  1732. [TAG_ADD: {STRUCTURAL}]
  1733. [TAG_ADD: {RELATIVE_THICKNESS:1}]
  1734. [TAG_ADD: {CONNECTS}]
  1735. [TAG_ADD: {TISSUE_SHAPE:LAYER}]
  1736. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:ALL:BLOOD}]
  1737. [X]
  1738.  
  1739. and we're finally done. NOW FOR THE NEXT PART.
  1740.  
  1741. [IF:(RND:0:20):10]
  1742. [TAG_ADD:{BODYGLOSS:PAW}]
  1743. [X]
  1744. [IF:(RND:0:30):10]
  1745. [TAG_ADD:{BODYGLOSS:MAW}]
  1746. [X]
  1747. [IF:(RND:0:1):1:&:HAS_HEART]
  1748. [TAG_ADD:{SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART}]
  1749. [IF:HAS_THROAT]
  1750. [TAG_ADD:{PLUS_TISSUE_LAYER:SKIN:BY_CATEGORY:THROAT}]
  1751.  
  1752. [TAG_ADD: {TL_MAJOR_ARTERIES}]
  1753. [X]
  1754.  
  1755. [IF:HAS_TOES]
  1756. [rnd:(RND:1:4)]
  1757. [IF:rnd:1]
  1758. [TAG_ADD:{USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE}]
  1759. [TAG_ADD:{USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE}]
  1760. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:TOE:NAIL:FRONT}]
  1761. [HAS_NAILS]
  1762. [HAS_TOENAILS]
  1763. [ELSEIF:rnd:2]
  1764. [TAG_ADD:{USE_MATERIAL_TEMPLATE:TALON:NAIL_TEMPLATE}]
  1765. [TAG_ADD:{USE_TISSUE_TEMPLATE:TALON:TALON_TEMPLATE}]
  1766. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:TOE:TALON:FRONT}]
  1767. [HAS_TALON]
  1768. [DESCRIPTION:DESC:taloned feet]
  1769. [ELSEIF:rnd:3]
  1770. [TAG_ADD:{USE_MATERIAL_TEMPLATE:CLAW:NAIL_TEMPLATE}]
  1771. [TAG_ADD:{USE_TISSUE_TEMPLATE:CLAW:CLAW_TEMPLATE}]
  1772. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:TOE:CLAW:FRONT}]
  1773. [DESCRIPTION:DESC:clawed toes]
  1774. [HAS_CLAWS]
  1775. [HAS_TOECLAWS]
  1776. [X]
  1777. [X]
  1778. [IF:HAS_FINGERS]
  1779. [rnd:(RND:1:3)]
  1780. [IF:rnd:1]
  1781. [IF:HAS_NAILS:FALSE]This is important, to make sure you only add the tissue/material
  1782. templates once.
  1783. [TAG_ADD:{USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE}]
  1784. [TAG_ADD:{USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE}]
  1785.  
  1786. [HAS_FINGERNAILS] In the 34.11 version of RandCreatures, this was inside the above
  1787. if/then statement... which seems erroneous to me. I think the effect of it would be to stop creatures
  1788. from being able to attack with their fingernails if they didn't have toenails. I've fixed it here.
  1789. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:FINGER:NAIL:FRONT}]
  1790. [ELSEIF:rnd:2]
  1791. [IF:HAS_CLAWS:FALSE]
  1792. [TAG_ADD:{USE_MATERIAL_TEMPLATE:CLAW:NAIL_TEMPLATE}]
  1793. [TAG_ADD:{USE_TISSUE_TEMPLATE:CLAW:CLAW_TEMPLATE}]
  1794.  
  1795. [HAS_FINGERCLAWS]
  1796. [TAG_ADD:{TISSUE_LAYER:BY_CATEGORY:FINGER:CLAW:FRONT}]
  1797. [DESCRIPTION:DESC:clawed fingers] Might be better for a preflist item... I don't know.
  1798. [X]
  1799. [X]
  1800. [IF:(RND:0:2):!=:0] if a random number between zero and two isn't zero, then:
  1801. [TAG_ADD:{USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE}]
  1802. [TAG_ADD:{TENDONS:LOCAL_CREATURE_MAT:SINEW:200}]
  1803. [TAG_ADD:{LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200}]
  1804. [x]putting this x in lowercase to remind me to watch for typos.
  1805.  
  1806. [TAG_ADD:{HAS_NERVES}] all creatures have nerves. No exceptions, apparently... may change.
  1807.  
  1808. =======Split=======
  1809. This section is stuff that gets added later, but needs to be calculated RIGHT NOW, for
  1810. use with the creature gait speed code stuff.
  1811.  
  1812. First up, age and weight.
  1813.  
  1814. [DOUBLE:maxAge:(DECRND:10:100)] new stuff. define a double of your choice. decrnd pulls
  1815. a random decimal number.
  1816. [DOUBLE:tempDec:(DECRND:1.4:2)]
  1817. [DOUBLE:maxAge2:(maxAge:*:tempDec)] messy, but it's the way it has to be. I'm not trying
  1818. to write something incredible here - just something that works. I may fix it later and
  1819. allow you to stack things like random calls and arithmetic functions, but til then...
  1820. [DOUBLE:bodySize2]these are never null.
  1821. [IF:CAN_CIV] if creature isn't a megabeast, then:
  1822. Here's a bit of magic: multiplies everything in the tag.
  1823. [bodySize2:=*:(DECRND:1:2):(DECRND:1:2):(DECRND:1:2):(DECRND:1:2):(DECRND:1:2):(DECRND:1:2):(DECRND:1:2):(DECRND:1:5):(DECRND:1:5):(DECRND:1:5):(DECRND:1:5):(DECRND:1:5):(DECRND:1:5):(DECRND:1:5)]
  1824. [bodySize2:=*:(SQRT:bodySize2):1.4142] too much new math.
  1825. [bodySize2:=*:bodySize2:bodySize2] a simple square.
  1826. The math behind this: with that last square, small creature stay small, big creatures get bigger. Easy as math.
  1827. Average body size is around 75000, right where I originally wanted it in the first
  1828. release (at least, if everything goes well). A larger size (x2) starts out about 75000 and
  1829. ends up being around 150000. A x2 normal increase becomes a x4 increase. The above is all
  1830. subject to change. I want to make sure I get the occasional "gigantic" creature. Send me
  1831. any better code you come up with if you want; I may implement it. (with you credited,
  1832. of course.)
  1833. [ELSEIF:SEMI:FALSE]
  1834. [bodySize2:(RND:8000000:25000000)] very big creatures.
  1835. [ELSEIF:SEMI]
  1836. [bodySize2:(RND:220000:9000000)] funny that vanilla semimegabeasts are tiny comparatively.
  1837. [X]
  1838. [tempDec:(RND:2:25)]
  1839. [INT:bodySize1:(RND:bodySize2:tempDec)] RandCreatures knows how to round off decimal numbers before multiiplying with integers, yay
  1840. [tempDec:(RND:10:50)]
  1841. [INT:bodySize0:(RND:bodySize1:tempDec)] boy, this is going to be fun to put in. I'm writing the script out first so I know exactly what I need... might not be the best approach.
  1842. [IF:maxAge:>:100]
  1843. [DESCRIPTION:VERB:lives to an old age]
  1844. [X]
  1845. [tempDec:=/:maxAge:(RND:1:10)]/ and - don't work the same way. you only get to use them with two numbers.
  1846. [INT:bodyAge:(MAX:2:tempDec)]
  1847. And now we're ready to add the body size and age tags. We'll add them later. Far later.
  1848.  
  1849. =======Split=======
  1850. splitting this off from the other stuff. (note: the ==split== thing doesn't do anything, by the way - it's
  1851. just a comment.) The reason is... This is totally new code. Toady added creature gaits to 40.xx, so I have
  1852. to find a way to deal with it. Watch out, world. Protyping coming through.
  1853.  
  1854. All of the following are comments made for my personal reference. Yay for maths.
  1855.  
  1856. relevant tags: has_wings, is_biped, is_quadruped, has_fins, has_stance, has_tail, has_grasp, can_fly,
  1857. can_swim, bodysize, grazer, likes_fighting, no_vegetation_perturb, slow_learner, meanderer, flier... may be more that affect it
  1858.  
  1859. STANDARD_BIPED_GAITS: ranges from 1 to 41, standard 30?
  1860. STANDARD_QUADRUPED_GAITS: ranges from 2 to 87, standard 10-45
  1861. STANDARD_CLIMBING_GAITS: ranges from 1 to 56, standard 1-15
  1862. STANDARD_SWIMMING_GAITS: ranges from 1 to 40, standard 1-35
  1863. STANDARD_CRAWLING_GAITS: ranges from 1 to 12, standard 1-12
  1864. STANDARD_FLYING_GAITS: ranges from 15 to 87, standard 15-35
  1865. STANDARD_WALK_CRAWL_GAITS: ranges from 1 to 20, standard 1-10
  1866.  
  1867. fullTotal
  1868. Biped Gaits: 13% 100% 1442 1190 942 587 2440 3499 1.0
  1869. Quadruped Gaits: 31% 100% 1424 1066 830 396 2430 3520 1.0
  1870. Climbing Gaits: 43% 100% 5431 5009 4615 3625 6346 7450 1.0
  1871. Swimming Gaits: 100% 100% 5638 5358 5092 4289 6453 7337 1.0
  1872. Flying Gaits: 18% 100% 1214 936 704 445 2232 3289 1.0
  1873. Crawling Gaits: 91% 100% 7526 7264 7022 6249 8222 8970 1.0
  1874. Walk_crawl Gaits: 14% 100% 6905 6623 6358 5102 7658 8481 1.0
  1875.  
  1876. min
  1877. Biped Gaits: 100% 2% 900 708 515 286 1900 2900 0.62
  1878. Quadruped Gaits: 100% 0% 900 464 322 175 1839 2889 0.63
  1879. Climbing Gaits: 100% 0% 3063 2310 1558 752 4210 5659 0.56
  1880. Swimming Gaits: 100% 0% 941 729 518 288 1947 2963 0.17
  1881. Flying Gaits: 100% 1% 900 597 412 213 1900 2900 0.74
  1882. Crawling Gaits: 100% 0% 4790 4239 3696 1316 5863 7255 0.64
  1883. Walk_crawl Gaits: 100% 2% 3730 3432 3141 1097 4678 5733 0.54
  1884.  
  1885. max
  1886. Biped Gaits: 100% 2% 5487 5239 5004 3601 6285 7122 3.81
  1887. Quadruped Gaits: 100% 0% 2380 1994 1609 689 3465 4738 1.67
  1888. Climbing Gaits: 100% 0% 9000 8900 8825 8775 9500 9900 1.66
  1889. Swimming Gaits: 100% 0% 8612 8462 8335 7857 9171 9677 1.53
  1890. Flying Gaits: 100% 1% 2206 1692 1178 585 3400 4900 1.82
  1891. Crawling Gaits: 100% 0% 9000 8900 8825 8775 9500 9900 1.2
  1892. Walk_crawl Gaits: 100% 2% 9000 8900 8825 8775 9500 9900
  1893.  
  1894. div These numbers show how big of a range there is for each.
  1895. Flying trait: 2.45 2.83 2.86 2.75 1.79 1.69 145
  1896. Crawling trait: 1.88 2.1 2.39 6.67 1.62 1.36 161
  1897. Quadrupedtrait: 2.64 4.3 5.0 3.94 1.88 1.64 183
  1898. Walk_craw trait:2.41 2.59 2.81 8.0 2.03 1.73 195
  1899. Climbing trait: 2.94 3.85 5.66 11.67 2.26 1.75 283
  1900. Biped trait: 6.1 7.4 9.72 12.59 3.31 2.46 416
  1901. Swimming trait: 9.15 11.61 16.09 27.28 4.71 3.27 722
  1902.  
  1903.  
  1904.  
  1905. deviation
  1906. Flying trait: 1.0 0.77 0.58 0.37 1.84 2.71
  1907. Crawling trait: 1.0 0.97 0.93 0.83 1.09 1.19
  1908. Quadruped trait: 1.0 0.75 0.58 0.28 1.71 2.47
  1909. Walk_crawl trait: 1.0 0.96 0.92 0.74 1.11 1.23
  1910. Climbing trait: 1.0 0.92 0.85 0.67 1.17 1.37
  1911. Biped trait: 1.0 0.83 0.65 0.41 1.69 2.43
  1912. Swimming trait: 1.0 0.95 0.9 0.76 1.14 1.3
  1913.  
  1914.  
  1915.  
  1916. gait tag: first initializes, second defines type being edited, third defines chance of the tag being added, fourth defines multiplication weight of standard speeds
  1917. [IF:HAS_WINGS]
  1918. [GAIT:BIPED:2:0.62]
  1919. [GAIT:QUADRUPED:0:0.63]It may be possible to have quadruped walkers with wings. They will be rare, and if they exist, they will be very swift.
  1920. [GAIT:CLIMBING:20:1.4]
  1921. [GAIT:SWIMMING:14:1.53]
  1922. [GAIT:FLYING:66:0.74]
  1923. [GAIT:CRAWLING:16:1.15]
  1924. [GAIT:WALK_CRAWL:2:1.3]
  1925. [X]
  1926. [IF:IS_BIPED]
  1927. [GAIT:BIPED:97:0.99]
  1928. [GAIT:CLIMBING:51:1.05]
  1929. [GAIT:SWIMMING:29:1.21]
  1930. [GAIT:FLYING:74:0.74]
  1931. [GAIT:CRAWLING:33:0.88]
  1932. [GAIT:WALK_CRAWL:4:0.54]
  1933. [GAIT:QUADRUPED:0:1] This line tries to cancel out bipeds with quadruped gaits.
  1934. [X]
  1935. [IF:IS_QUADRUPED]
  1936. [GAIT:QUADRUPED:98:1.01]
  1937. [GAIT:CLIMBING:27:0.56]
  1938. [GAIT:SWIMMING:40:1.28]
  1939. [GAIT:CRAWLING:45:1.02]
  1940. [GAIT:WALK_CRAWL:27:0.89]
  1941. [GAIT:BIPED:0:1]
  1942. [GAIT:FLYING:0:1]
  1943. [X]
  1944. [IF:HAS_FINS]
  1945. [GAIT:SWIMMING:19:0.17]
  1946. [GAIT:CRAWLING:0:1.2]
  1947. [GAIT:WALK_CRAWL:2:1.3]
  1948. [GAIT:BIPED:0:1]
  1949. [GAIT:QUADRUPED:0:1]
  1950. [GAIT:CLIMBING:0:1]
  1951. [GAIT:FLYING:0:1]
  1952. [X]
  1953. [IF:HAS_FLIPPERS]
  1954. [GAIT:CLIMBING:0:1.21]
  1955. [GAIT:SWIMMING:3:0.22]
  1956. [GAIT:CRAWLING:2:1.2]
  1957. [GAIT:WALK_CRAWL:8:1.3]
  1958. [GAIT:BIPED:0:1]
  1959. [GAIT:QUADRUPED:0:1]
  1960. [GAIT:FLYING:0:1]
  1961. [X]
  1962. [IF:UNDER_SWIM]
  1963. [GAIT:CLIMBING:2:1.43]
  1964. [GAIT:SWIMMING:23:0.2]
  1965. [GAIT:CRAWLING:1:1.09]
  1966. [GAIT:WALK_CRAWL:4:1.13]
  1967. [GAIT:BIPED:0:1]
  1968. [GAIT:QUADRUPED:0:1]
  1969. [GAIT:FLYING:0:1]
  1970. [X]
  1971. [IF:HAS_STANCE]
  1972. [GAIT:BIPED:86:1.01]
  1973. [GAIT:QUADRUPED:96:0.93]
  1974. [GAIT:CLIMBING:91:0.98]
  1975. [GAIT:SWIMMING:73:1.09]
  1976. [GAIT:FLYING:81:0.92]
  1977. [GAIT:CRAWLING:76:0.95]
  1978. [GAIT:WALK_CRAWL:17:0.98]
  1979. [X]
  1980. [IF:HAS_TAIL]
  1981. [GAIT:BIPED:16:0.62]
  1982. [GAIT:QUADRUPED:96:0.99]
  1983. [GAIT:CLIMBING:27:0.84]
  1984. [GAIT:SWIMMING:64:0.88]
  1985. [GAIT:FLYING:6:0.74]
  1986. [GAIT:CRAWLING:48:1.0]
  1987. [GAIT:WALK_CRAWL:51:0.8]
  1988. [X]
  1989. [IF:HAS_GRASP]
  1990. [GAIT:BIPED:65:1.04]
  1991. [GAIT:QUADRUPED:0:0.63]
  1992. [GAIT:CLIMBING:38:0.72]
  1993. [GAIT:SWIMMING:16:1.17]
  1994. [GAIT:FLYING:6:0.74]
  1995. [GAIT:CRAWLING:18:0.81]
  1996. [GAIT:WALK_CRAWL:6:0.68]
  1997. [X]
  1998. [IF:CAN_FLY]
  1999. [GAIT:BIPED:11:2.41]
  2000. [GAIT:CLIMBING:35:1.39]
  2001. [GAIT:SWIMMING:13:1.52]
  2002. [GAIT:FLYING:100:1.0]
  2003. [GAIT:CRAWLING:21:1.1]
  2004. [GAIT:WALK_CRAWL:4:1.3]
  2005. [X]
  2006. [IF:CAN_SWIM]
  2007. [GAIT:BIPED:90:1.05]
  2008. [GAIT:QUADRUPED:99:1.0]
  2009. [GAIT:CLIMBING:80:0.91]
  2010. [GAIT:SWIMMING:100:1.0]
  2011. [GAIT:FLYING:72:0.74]
  2012. [GAIT:CRAWLING:84:0.99]
  2013. [GAIT:WALK_CRAWL:72:0.91]
  2014. [X]
  2015. [IF:IS_TINY]
  2016. [GAIT:BIPED:6:3.81]
  2017. [GAIT:QUADRUPED:16:1.56]
  2018. [GAIT:CLIMBING:43:1.35]
  2019. [GAIT:SWIMMING:33:1.07]
  2020. [GAIT:FLYING:81:0.92]
  2021. [GAIT:CRAWLING:37:1.14]
  2022. [GAIT:WALK_CRAWL:44:1.13]
  2023. [X]
  2024. [IF:IS_HUGE]
  2025. [GAIT:BIPED:25:0.66]
  2026. [GAIT:QUADRUPED:36:0.93]
  2027. [GAIT:CLIMBING:12:0.83]
  2028. [GAIT:SWIMMING:23:0.79]
  2029. [GAIT:FLYING:3:0.74]
  2030. [GAIT:CRAWLING:21:0.87]
  2031. [GAIT:WALK_CRAWL:21:0.89]
  2032. [X]
  2033. [IF:IS_GRAZER]
  2034. [GAIT:QUADRUPED:34:0.71]
  2035. [GAIT:CLIMBING:0:1.66]
  2036. [GAIT:SWIMMING:11:1.41]
  2037. [GAIT:CRAWLING:12:1.06]
  2038. [GAIT:BIPED:0:1]
  2039. [GAIT:FLYING:0:1]
  2040. [GAIT:WALK_CRAWL:0:1]
  2041. [X]
  2042. [IF:SLOW_LEARNER]
  2043. [GAIT:BIPED:13:0.68]
  2044. [GAIT:CLIMBING:5:0.91]
  2045. [GAIT:SWIMMING:2:0.98]
  2046. [GAIT:CRAWLING:2:0.67]
  2047. [GAIT:WALK_CRAWL:2:0.95]
  2048. [GAIT:QUADRUPED:0:1]
  2049. [GAIT:FLYING:0:1]
  2050. [X]
  2051. [IF:IS_MEANDERER]
  2052. [GAIT:BIPED:11:0.7]
  2053. [GAIT:QUADRUPED:66:0.79]
  2054. [GAIT:CLIMBING:19:0.67]
  2055. [GAIT:SWIMMING:39:1.15]
  2056. [GAIT:FLYING:10:0.74]
  2057. [GAIT:CRAWLING:37:1.05]
  2058. [GAIT:WALK_CRAWL:10:0.64]
  2059. [X]
  2060. [IF:IS_SAVAGE]
  2061. [GAIT:BIPED:6:0.62]
  2062. [GAIT:QUADRUPED:5:0.63]
  2063. [GAIT:CLIMBING:5:0.84]
  2064. [GAIT:SWIMMING:3:0.81]
  2065. [GAIT:FLYING:1:1.82]
  2066. [GAIT:CRAWLING:4:0.64]
  2067. [GAIT:WALK_CRAWL:2:1.3]
  2068. [X]
  2069. [IF:SWIMS_INNATE]
  2070. [GAIT:BIPED:60:1.14]
  2071. [GAIT:QUADRUPED:99:1.0]
  2072. [GAIT:CLIMBING:62:1.01]
  2073. [GAIT:SWIMMING:92:0.99]
  2074. [GAIT:FLYING:71:0.74]
  2075. [GAIT:CRAWLING:76:1.0]
  2076. [GAIT:WALK_CRAWL:72:0.91]
  2077. [X]
  2078. [IF:IS_VERMIN]
  2079. [GAIT:BIPED:6:3.81]
  2080. [GAIT:QUADRUPED:6:1.67]
  2081. [GAIT:CLIMBING:32:1.37]
  2082. [GAIT:SWIMMING:20:0.83]
  2083. [GAIT:FLYING:52:1.02]
  2084. [GAIT:CRAWLING:22:1.12]
  2085. [GAIT:WALK_CRAWL:29:1.2]
  2086. [X]
  2087. [IF:IS_WARBEAST]
  2088. [GAIT:QUADRUPED:18:0.65]
  2089. [GAIT:CLIMBING:5:0.56]
  2090. [GAIT:SWIMMING:7:1.2]
  2091. [GAIT:FLYING:3:0.74]
  2092. [GAIT:CRAWLING:8:0.91]
  2093. [GAIT:BIPED:0:1]
  2094. [GAIT:WALK_CRAWL:0:1] snake warbeast don't exist in vanilla.
  2095. [X]
  2096.  
  2097. The gait_avg is for use by CALCULATE_GAITS. best not to change this unless you know what you're doing.
  2098. This tells the program what the average values for each gait are.
  2099. Normally I would hardcode this sort of thing. But, in the interest of moddability, have at it.
  2100. [GAIT_AVG:BIPED:1442:1190:942:587:2440:3499]
  2101. [GAIT_AVG:QUADRUPED:1424:1066:830:396:2430:3520]
  2102. [GAIT_AVG:CLIMBING:5431:5009:4615:3625:6346:7450]
  2103. [GAIT_AVG:SWIMMING:5638:5358:5092:4289:6453:7337]
  2104. [GAIT_AVG:FLYING:1214:936:704:445:2232:3289]
  2105. [GAIT_AVG:CRAWLING:7526:7264:7022:6249:8222:8970]
  2106. [GAIT_AVG:WALK_CRAWL:6905:6623:6358:5102:7658:8481]
  2107.  
  2108. Like the body assembler, the gait calculator is so wizardly complex that I
  2109. decided to take it out of the script. I even had to write a program to write the code. okay, not
  2110. really - but I did have to write a program that assembled all the above script data for me from the vanilla raws.
  2111. You can tweak them however you want - it'll make a noticeable difference if you do a bunch of crazy
  2112. stuff to it. DO NOT CHANGE IT TOO MUCH!!! you will wind up with sloths and/or bolts of
  2113. lightning (in creature form) if you change it anywhere outside the 0.2-4 zone.
  2114. watch it. be careful. And don't delete this next line:
  2115.  
  2116. [CALCULATE_GAITS]
  2117.  
  2118. ========Split========
  2119.  
  2120. [IF:(RND:0:7):1]
  2121. [TAG_ADD:{USE_MATERIAL_TEMPLATE:ICHOR:ICHOR_TEMPLATE}]
  2122. [TAG_ADD:{BLOOD:LOCAL_CREATURE_MAT:ICHOR:LIQUID}]
  2123. [TAG_ADD:{CREATURE_CLASS:GENERAL_POISON}]
  2124. [TAG_ADD:{GETS_WOUND_INFECTIONS}]
  2125. [TAG_ADD:{GETS_INFECTIONS_FROM_ROT}]
  2126. [TAG_ADD:{USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE}]
  2127. [TAG_ADD:{PUS:LOCAL_CREATURE_MAT:PUS:LIQUID}]
  2128. [ELSE]
  2129. [TAG_ADD:{USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE}]
  2130. [IF:(RND:0:25):1]
  2131. [TAG_ADD:{STATE_COLOR:ALL:(bloodColor)}]
  2132. [X]
  2133. [TAG_ADD:{BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID}]
  2134. [TAG_ADD:{CREATURE_CLASS:GENERAL_POISON}]
  2135. [TAG_ADD:{GETS_WOUND_INFECTIONS}]
  2136. [TAG_ADD:{GETS_INFECTIONS_FROM_ROT}]
  2137. [TAG_ADD:{USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE}]
  2138. [TAG_ADD:{PUS:LOCAL_CREATURE_MAT:PUS:LIQUID}]
  2139. [X]
  2140.  
  2141. And now we add the bodysize/age stuff I mentioned way up there somewhere.
  2142.  
  2143. [TAG_ADD:{BODY_SIZE:0:0:(bodySize0)}]
  2144. [TAG_ADD:{BODY_SIZE:1:0:(bodySize1)}] perhaps a bit unimaginative, but give me a break, look at all the other stuff I'm doing.
  2145. [TAG_ADD:{BODY_SIZE:(bodyAge):(bodySize2)}]
  2146. [TAG_ADD:{MAXAGE:(maxAge):(maxAge2)}]
  2147. [DOUBLE:thisIt:(DECRND:1:3)]Can't remember why I called it this. Probably a throwaway name.
  2148. [IF:thisIt:<:1.25] yay, doubles
  2149. [DESCRIPTION:VERB:matures at an old age]
  2150. [ELSEIF:thisIt:>:2.75]
  2151. [DESCRIPTION:VERB:matures at a young age] there was a typo in the original that said "an" instead of "a".
  2152. [X]
  2153. [INT:nextAge:=/:bodyAge:thisIt]
  2154. [TAG_ADD:{CHILD:(nextAge)}]
  2155. [TAG_ADD:{ALL_ACTIVE}] whoa, did I really do this? Huh. This is definitely subject to
  2156. change. I don't have a clue why I would've done this.
  2157.  
  2158. And now size stuff. These are Toady's own interpretations of sizes.
  2159. [IF:bodySize:>:0:&:bodySize:<:10000]
  2160. [DESCRIPTION:SIZE:tiny]
  2161. [X]
  2162. [IF:bodySize:>:1000:&:bodySize:<:59000]
  2163. [DESCRIPTION:SIZE:small]
  2164. [X]
  2165. [IF:bodySize:>:3000:&:bodySize:<:137000]
  2166. [DESCRIPTION:SIZE:medium-sized]
  2167. [X]
  2168. [IF:bodySize:>:92000:&:bodySize:<:4608000]
  2169. [DESCRIPTION:SIZE:huge]
  2170. [X]
  2171. [IF:bodySize:>:138000:&:bodySize:<:6912000]
  2172. [DESCRIPTION:SIZE:large]
  2173. [X]
  2174. [IF:bodySize:>:588000]
  2175. [DESCRIPTION:SIZE:gigantic]
  2176. [IF:HAS_BEAK]
  2177. [DESCRIPTION:DESC:uses its beak to pluck up unsuspecting intruders] stole this from Toady.
  2178. [X]
  2179. [X]
  2180.  
  2181. More stuff!
  2182. [INT:rndX:(RND:1:4)]
  2183. [IF:rndX:2]
  2184. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110}]
  2185. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110}]
  2186. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110}]
  2187. [ELSEIF:rndX:3]
  2188. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:LENGTH:80:95:98:100:102:105:120}]
  2189. this is where "tunnels through the rocks" came in. It appeared far too often. I'm removing it in this version. Add it if you wish.
  2190. DESCRIPTION:VERB:tunnels through the rocks
  2191. [IF:(CONTAINS:BODYPART_LIST:BASIC_1PARTBODY)]
  2192. [DESCRIPTION:DESC:hundreds of feet moving along the bottom of its body]
  2193. [X]
  2194. [ELSEIF:rndX:4]
  2195. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110}]
  2196. [TAG_ADD:{BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110}]
  2197. [X]
  2198. 2150 lines of script already. This is... truly dizzying. I can't imagine what I'm going to have to write in the actual program.
  2199.  
  2200. ========Attack info========
  2201. It's possible to get a lot more random than this, but I don't want to. I want my creatures
  2202. to rip your eyes out and batter you to little bloody pieces, and then grind what's left
  2203. of you into pulp. Before chopping up what's left and regurgitating it to their young.
  2204. Basically, I want it to hurt as if they're really trying.None of my creatures
  2205. should EVER come across as pathetic by nature.
  2206.  
  2207. [IF:HAS_BEAK]
  2208. [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CATEGORY:BEAK}]
  2209. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2210. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2211. [TAG_ADD: {ATTACK_CONTACT_PERC:100}] these may change off of "100" later. no idea though.
  2212. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2213. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2214. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2215. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2216. [X]
  2217. [IF:HAS_TALON]
  2218. [IF:HAND_TOE:FALSE]handtoe may be obsolete.
  2219. [TAG_ADD:{ATTACKSCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:TALON}]
  2220. [ELSE]
  2221. [TAG_ADD:{ATTACKSCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CATEGORY:ALL:TALON}]
  2222. [X]
  2223. [IF:(RND:0:1):1]
  2224. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2225. [ELSE]
  2226. [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
  2227. [X]
  2228. [TAG_ADD: {ATTACK_VERB:snatch at:snatches at}]
  2229. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2230. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2231. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2232. [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
  2233. [TAG_ADD: {ATTACK_FLAG_WITH}]
  2234. [X]
  2235. [IF:HAS_FOOT]
  2236. [TAG_ADD:{ATTACK:KICK:BODYPART:BY_TYPE:STANCE}]
  2237. [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
  2238. [TAG_ADD: {ATTACK_VERB:kick:kicks}]
  2239. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2240. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2241. [TAG_ADD: {ATTACK_FLAG_WITH}]
  2242. [X]
  2243. [IF:HAS_TEETH:&:TRUE_HEAD:&:HAS_HEAD]
  2244. [TAG_ADD:{ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:TOOTH}]
  2245. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2246. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2247. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2248. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2249. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2250. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2251. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2252. [X]
  2253. [IF:HAS_TEETH:FALSE:&:HAS_MOUTH]
  2254. [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CATEGORY:MOUTH}]
  2255. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2256. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2257. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2258. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2259. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2260. [X]
  2261. [IF:HAS_FINGERCLAWS]
  2262. [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CATEGORY:FINGER:CLAW}]
  2263. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2264. [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
  2265. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2266. [TAG_ADD: {ATTACK_PENETRATIN_PERC:100}]
  2267. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2268. [IF:(RND:0:1):1]
  2269. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2270. [ELSE]
  2271. [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
  2272. [X]
  2273. [X]
  2274. [IF:HAS_HAND]
  2275. [TAG_ADD:{ATTACK:PUNCH:BODYPART:BY_TYPE:GRASP}]
  2276. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2277. [TAG_ADD: {ATTACK_VERB:punch:punches}]
  2278. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2279. [TAG_ADD: {ATTACK_FLAG_WITH}]
  2280. [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
  2281. [X]
  2282. [IF:NO_TENTACLE:FALSE]oh god, it's hentai DF all over again
  2283. [TAG_ADD:{ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:TENTACLE:BY_CATEGORY:TOOTH}]
  2284. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2285. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2286. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2287. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2288. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2289. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2290. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2291. [X]
  2292. [IF:HAS_MANDIBLES]
  2293. [TAG_ADD:{ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:MANDIBLE}]
  2294. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2295. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2296. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2297. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2298. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2299. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2300. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2301. [X]
  2302. [IF:HAS_FINGERNAILS]
  2303. [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CATEGORY:FINGER:NAIL}]
  2304. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2305. [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
  2306. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2307. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2308. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2309. [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
  2310. [X]
  2311. [IF:HAS_TOENAILS]
  2312. [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:TOE:NAIL}]
  2313. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2314. [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
  2315. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2316. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2317. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2318. [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
  2319. [X]
  2320. [IF:HAS_TOECLAWS]
  2321. [TAG_ADD:{ATTACK:CLAW:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:CLAW}]
  2322. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2323. [TAG_ADD: {ATTACK_VERB:claw:claws}]
  2324. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2325. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2326. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2327. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2328. [X]
  2329. [IF:HAS_TUSK:&:TRUE_HEAD]
  2330. [TAG_ADD:{ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:TUSK}]
  2331. [IF:(RND:0:1):1]
  2332. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2333. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2334. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2335. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2336. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2337. [ELSE]
  2338. [TAG_ADD: {ATTACK_FLAG_WITH}]
  2339. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2340. [TAG_ADD: {ATTACK_VERB:gore:gores}]
  2341. [X]
  2342. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2343. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2344. [X]
  2345. [IF:HAS_UPPERBODYPINCERS]
  2346. [TAG_ADD:{ATTACK:SLAP:BODYPART:BY_CATEGORY:PINCER}]
  2347. [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
  2348. [TAG_ADD: {ATTACK_VERB:snatch:snatches}]
  2349. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2350. [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
  2351. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2352. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2353. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2354. [X]
  2355. [IF:HAS_PROBOSCIS]
  2356. [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CATEGORY:PROBOSCIS}]
  2357. [TAG_ADD: {ATTACK_SKILL:BITE}]
  2358. [TAG_ADD: {ATTACK_VERB:bite:bites}]
  2359. [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
  2360. [TAG_ADD: {ATTACK_FLAG_EDGE}]
  2361. [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
  2362. [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
  2363. [TAG_ADD: {SPECIALATTACK_SUCK_BLOOD:25:50}]
  2364. [X]
  2365.  
  2366. ========Other stuff========
  2367. [IF:(RND:0:1):1]
  2368. [TAG_ADD:{HOMEOTHERM:100(RND:10:67)}]This could really use changed - I don't remember why I made it this bizarre. Was it a strange point of pride? I may never know.
  2369. [X]
  2370. [IF:(RND:0:1):1]This is going to have to go higher because of gait changes.
  2371. [TAG_ADD:{SWIMS_INNATE}]
  2372. [IF:SKIN_TYPE:SKIN:&:AMPHIBIOUS]
  2373. [DESCRIPTION:NOUN:amphibian]
  2374. [X]
  2375. [X]
  2376.  
  2377. ========Final description info========
  2378. [IF:IS_SOLITARY]
  2379. [IF:IS_HUNTER]
  2380. [DESCRIPTION:VERB:prefers to hunt alone]
  2381.  
  2382. [IF:IS_ROAMER]
  2383. [DESCRIPTION:VERB:patrols its territory by itself]
  2384.  
  2385. [IF:IS_GRAZER]
  2386. [DESCRIPTION:VERB:likes lots of room to graze]
  2387.  
  2388. [ELSEIF:IN_GROUPS]
  2389. [IF:IS_HUNTER]
  2390. [DESCRIPTION:VERB:hunts in packs]
  2391.  
  2392. [IF:IS_ROAMER]
  2393. [DESCRIPTION:VERB:roams from place to place with others]
  2394.  
  2395. [IF:IS_GRAZER]
  2396. [DESCRIPTION:VERB:is found grazing in groups]
  2397.  
  2398. [X]
  2399. [IF:(CONTAINS:BODYPART_LIST:TRUNK)]
  2400. [DESCRIPTION:VERB:lifts (foodWord) up with its long trunk to eat]
  2401. [X]
  2402.  
  2403. ========Gender Bending========
  2404. [INT:xxx:(RND:0:1)]
  2405. [IF:xxx:0]
  2406. [TAG_ADD:{CASTE:FEMALE}]
  2407. [TAG_ADD: {FEMALE}]
  2408. [IF:(RND:0:1):1]
  2409. [TAG_ADD: {MULTIPLE_LITTER_RARE}]
  2410. [X]
  2411. [TAG_ADD:{CASTE:MALE}]
  2412. [TAG_ADD: {MALE}]
  2413. [ELSE]
  2414. [IF:(RND:0:1):1]
  2415. [TAG_ADD:{BODY_DETAIL_PLAN:LEATHERY_EGG_MATERIALS}]
  2416. [ELSE]
  2417. [TAG_ADD:{BODY_DETAIL_PLAN:EGG_MATERIALS}]
  2418. [X]
  2419. [TAG_ADD:{CASTE:FEMALE}]
  2420. [TAG_ADD: {FEMALE}]
  2421. [TAG_ADD: {LAYS_EGGS}]
  2422. [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGGSHEL:SOLID}]
  2423. [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGG_WHITE:LIQUID}]
  2424. [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGG_YOLK:LIQUID}]
  2425. [TAG_ADD: {EGG_SIZE:(bodySize0:=*:bodySize0:1.1)}]
  2426. [INT:cs:(RND:1:10)]
  2427. [INT:cs2:(RND:1:5)]
  2428. [cs2:=*:cs2:cs]
  2429. [TAG_ADD: {CLUTCH_SIZE:(cs):(cs2)}]
  2430. [TAG_ADD:{CASTE:MALE}]
  2431. [TAG_ADD: {MALE}]
  2432. [X]
  2433. [TAG_ADD:{SELECT_CASTE:ALL}]
  2434. Now we be awesome. Or... rather... we just give dragons their stuff. Bronze colossus stuff is up with the body detail info, in casse you're a little lost.
  2435. [IF:IS_FIREBREATHER]
  2436. [TAG_ADD:{SELECT_MATERIAL:ALL}]
  2437. [TAG_ADD: {MULTIPLY_VALUE:15}] Could be more random.
  2438. [TAG_ADD: {COLDDAM_POINT:NONE}]
  2439. [TAG_ADD: {HEADDAM_POINT:NONE}]
  2440. [TAG_ADD: {IGNITE_POINT:NONE}]
  2441. [TAG_ADD: {IF_EXISTS_SET_MELTING_POINT:55000}]
  2442. [TAG_ADD: {IF_EXISTS_SET_BOILING_POINT:57000}]
  2443. [TAG_ADD: {SPEC_HEAT:30000}]
  2444. [TAG_ADD:{SELECT_MATERIAL:BLOOD}]
  2445. [TAG_ADD: {MELTING_POINT:10000}]
  2446. [X]
  2447.  
  2448.  
  2449. [X] This is an intentional mistake to catch bugs.
  2450.  
  2451. ========Coloration========
  2452. [IF:skinType:!:STONE]
  2453. [IF:skinType:SKIN]
  2454. [INT:skinNum:(RND:1:$COUNT:skinList$)]
  2455. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:SKIN}]
  2456. [TAG_ADD: {TL_COLOR_MODIFIER:(skinList:skinNum)}] some of these array values may be wrong
  2457. [TAG_ADD: {TLCM_NOUN:skin:SINGULAR}]
  2458. [TAG_SET:4:{COLOR:(colorList:skinNum)}]
  2459. [DESCRIPTION:ADJ:(colorToString:skinList:skinNum)}] internal function. takes a DF color (0:0:1, for instance) and turns it into its corresponding color.
  2460. [ELSEIF:skinType:CHITIN]
  2461. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:CHITIN}]
  2462. [TAG_ADD: {TL_COLOR_MODIFIER:BLACK:1}]
  2463. [TAG_ADD: {TLCM_NOUN:exterior:SINGULAR}]
  2464. [TAG_SET:4:{COLOR:0:0:1}]
  2465. [DESCRIPTION:ADJ:black}]
  2466. [ELSEIF:skinType:SCALE]
  2467. [INT:skinNum:(RND:1:$COUNT:scaleList$)]
  2468. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:SCALE}]
  2469. [TAG_ADD: {TL_COLOR_MODIFIER:(scaleList:skinNum)}]
  2470. [TAG_ADD: {TLCM_NOUN:scales:PLURAL}]
  2471. [TAG_SET:4:{COLOR:(scaleColor:skinNum)}]
  2472. [DESCRIPTION:ADJ:(colorToString:scaleList:skinNum)]
  2473. [ELSEIF:skinType:FLESH]
  2474. [INT:skinNum:(RND:1:$COUNT:skinList$)]
  2475. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:FLESH}]
  2476. [TAG_ADD: {TL_COLOR_MODIFIER:(skinList:skinNum)}]
  2477. [TAG_ADD: {TLCM_NOUN:flesh:SINGULAR}]
  2478. [TAG_SET:4:{COLOR:(scaleColor:skinNum)}]
  2479. [DESCRIPTION:ADJ:(colorToString:skinList:skinNum)}]
  2480. [ELSEIF:skintype:WET]
  2481. [INT:skinNum:(RND:1:$COUNT:slimeColor$)]
  2482. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:BLOOD}]
  2483. [TAG_ADD: {TL_COLOR_MODIFIER:(slimeColor:skinNum)}]
  2484. [TAG_ADD: {TLCM_NOUN:(thisType):SINGULAR}] wayyyy, up there, thisType is the type of goo that the creatuer is made of.
  2485. [TAG_SET:4:{COLOR:(dumbList:skinNum)}]
  2486. [DESCRIPTION:ADJ:(colorToString:slimeColor:skinNum)}]
  2487. [X]
  2488. [IF:ADD_HAIR]
  2489. [INT:hairInt:(RND:1:$COUNT:hairList$)]
  2490. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:HAIR}]
  2491. [TAG_ADD: {TL_COLOR_MODIFIER:(hairList:hairInt)}]
  2492. [TAG_ADD: {TLCM_NOUN:hair:SINGULAR}]
  2493. [IF:(R01)] I don't remember what this calls at the moment.
  2494. [DESCRIPTION:ADJ:SET_LAST:(colorToString:hairList:hairInt)] ooh, funky. This is gettin' all complex up in here.
  2495. [X]
  2496. [X]
  2497. [IF:HAS_FEATHER]
  2498. [INT:featherInt:(RND:1:featherList)] Alternate option: using a list as an integer returns the list size
  2499. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:FEATHER}]
  2500. [TAG_ADD: {TL_COLOR_MODIFIER:(featherList:featherInt)}]
  2501. [TAG_ADD: {TLCM_NOUN:feathers:PLURAL}]
  2502. [IF:(R01)]
  2503. [DESCRIPTION:ADJ:SET_LAST:(colorToString:featherList:featherInt)]
  2504. [X]
  2505. [X]
  2506. [IF:EYE_COUNT:>:0]
  2507. [INT:eyeColorNum:(RND:1:(COUNT:EYELIST))]okay, double calls. it needs to be done, might as well.
  2508. [STR:temp0:(colorToString:eyeList:eyeColorNum)]
  2509. [IF:(CONTAINS:temp0: ):FALSE:&:temp0:!:black] the CONTAINS call can be used on regular strings as well.
  2510. [PREFLIST:(temp0) eyes]
  2511. [IF:(R01)]
  2512. [DESCRIPTION:ADJ:(temp0) eyes]
  2513. [ELSE]
  2514. [DESCRIPTION:DESC:(temp0) eyes]
  2515. [X]
  2516. [X]
  2517. [IF:skinType:!:FLESH:&:skinType:!:WET:&:skinType:!:STONE]
  2518. [IF:EYE_COUNT:>:1:&!:(CONTAINS:BODYPART_LIST:BODY_EYE)]
  2519. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:EYE:EYE}]
  2520. [TAG_ADD: {TL_COLOR_MODIFIER:(eyeList:eyeColorNum)}]
  2521. [TAG_ADD: {TLCM_NOUN:eyes:PLURAL}
  2522. [ELSEIF:EYE_COUNT:1]
  2523. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:EYE}]
  2524. [TAG_ADD: {TL_COLOR_MODIFIER:(eyeList:eyeColorNum)}]
  2525. [TAG_ADD: {TLCM_NOUN:eye:SINGULAR}]
  2526. [X]
  2527. [X]
  2528. [ELSE]
  2529. [TAG_ADD: {SET_TL_GROUP:BY_CATEGORY:ALL:ROCK}]
  2530. [TAG_ADD: {TL_COLOR_MODIFIER:GRAY}]
  2531. [TAG_ADD: {TLCM_NOUN:stone:SINGULAR}]
  2532. [TAG_SET:4:{COLOR:0:0:1}]
  2533. [X]
  2534. And we're finally done with colors.
  2535. [IF:(RND:0:277):<:77]
  2536. [TAG_ADD:{SELECT_MATERIAL:ALL}]
  2537. [TAG_ADD: {MULTIPLY_VALUE:(RND:2:4}]
  2538. [DESCRIPTION:VERB:is valuable for trade]
  2539. [X]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement