Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- indentations are not necessary. Anything not included in brackets is a comment.
- welcome to DFSL. All blank lines are read as "[X]".
- TO DO:
- add no_vegetation_perturb
- add sight
- add smell
- mammals don't lay eggs
- (done) add venom
- add spitting
- add fish
- (done) add new attack turn stuff code
- (done) add/flesh out attack code
- correct old attack tags
- figure out petvalue
- add interactions
- add iron man and fleshy blob thing raws
- flesh out civ creatures (ment_att, phys_att, etc)
- (done) add biome descriptions
- add biome cluster/action additions
- rearrange things to speed up creature creation time
- Description: A (size), (adj) (noun) (with (desc)) and (desc). It (verb) and (verb).
- OR: A (size), (adj) (noun) (that (verb)) and has (desc). It (verb) and has (desc).
- OR: A (size), (adj) (noun) (that (verb)) and (verb). It has (desc) and (verb).
- OR even: A (size), (adj) (noun) with desc and desc. It has desc and verb.
- OR A (size) (adj) (adj) (noun)
- OR A (size) (noun)
- OR A (adj) (size) (noun)
- So a myriad of different description types to keep things interesting. We'll be fine. The last version only had one.
- [BP_FILE:body_default]
- [CREATURE_FILE:creature_amphibians]
- [CREATURE_FILE:creature_annelids]
- [CREATURE_FILE:creature_birds]
- [CREATURE_FILE:creature_birds_new]
- [CREATURE_FILE:creature_bug_slug_new]
- [CREATURE_FILE:creature_desert_new]
- [CREATURE_FILE:creature_domestic]
- [CREATURE_FILE:creature_insects]
- [CREATURE_FILE:creature_large_mountain]
- [CREATURE_FILE:creature_large_ocean]
- [CREATURE_FILE:creature_large_tropical]
- [CREATURE_FILE:creature_large_tundra]
- [CREATURE_FILE:creature_mountain_new]
- [CREATURE_FILE:creature_next_underground]
- [CREATURE_FILE:creature_ocean_new]
- [CREATURE_FILE:creature_other]
- [CREATURE_FILE:creature_reptiles]
- [CREATURE_FILE:creature_riverlakepool_new]
- [CREATURE_FILE:creature_savage_tropical]
- [CREATURE_FILE:creature_small_mammal_new]
- [CREATURE_FILE:creature_small_mammals]
- [CREATURE_FILE:creature_small_ocean]
- [CREATURE_FILE:creature_small_riverlake]
- [CREATURE_FILE:creature_standard]
- [CREATURE_FILE:creature_subterranean]
- [CREATURE_FILE:creature_temperate_new]
- [CREATURE_FILE:creature_tropical_new]
- [CREATURE_FILE:creature_tundra_taiga_new]
- A list of all the body parts for creatures. If you don't want a bodypart included, just don't add it here.
- BODY is the main tag. What comes next is the bodypart, both added to the raws and pulled from the files.
- The number is the weight - i.e. how often it gets placed.
- [BODY:BASIC_1PARTBODY:32]
- [DESCRIPTION:ADJ:snake-like] an adjective for the description
- [DESCRIPTION:NOUN:creature] a noun for the description
- [BODY:BASIC_1PARTBODY_THOUGHT:4]
- [BODY:BASIC_1PARTBODY_FLYING_HEAD_FLAG_THOUGHT:2]
- [BODY:BASIC_2PARTBODY:83]
- [BODY:BASIC_3PARTARMS:2]
- [BODY:BASIC_3PARTLEGS:2]
- [BODY:BASIC_FRONTLEGS:2]
- [BODY:BASIC_REARLEGS:2]
- [BODY:ARMS_STANCE:4]
- [BODY:7HEADNECKS:2]
- [BODY:BASIC_HEAD:95]
- [BODY:BASIC_HEAD_NECK:12]
- [BODY:BODY_HEAD:4]
- [DESCRIPTION:ADJ:fearsome]
- [DESCRIPTION:NOUN:creature]
- [BODY:BODY_WITH_HEAD_FLAG:9]
- [DESCRIPTION:NOUN:creature] I'm so creative.
- [DESCRIPTION:VERB:is made of a mass of appendages resembling human fingers] this one is actually better.
- [DESCRIPTION:VERB:creeps along the ground like a starfish]
- [BODY:HUMANOID:9]
- [DESCRIPTION:ADJ:humanoid]
- [DESCRIPTION:VERB:walks on two legs]
- [DESCRIPTION:VERB:uses its long arms to strangle its prey] this might not make sense anymore.
- [BODY:HUMANOID_HOOF:2]
- [BODY:HUMANOID_NECK:36]
- [DESCRIPTION:ADJ:humanoid]
- [DESCRIPTION:VERB:walks on two legs]
- [DESCRIPTION:VERB:uses its long arms to strangle its prey] this might not make sense anymore.
- [BODY:HUMANOID_NECK_HOOF:4]
- [BODY:HUMANOID_LEGLESS_NECK:8]
- [DESCRIPTION:ADJ:bat-like]
- [DESCRIPTION:NOUN:creature]
- [BODY:HUMANOID_NECK_FLIER:5]
- [DESCRIPTION:ADJ:bat-like]
- [DESCRIPTION:NOUN:creature]
- [BODY:2WINGS:71]
- [BODY:HUMANOID_ARMLESS:5]
- [DESCRIPTION:NOUN:creature]
- [DESCRIPTION:NOUN:walks with two clawed legs]
- [BODY:HUMANOID_LEGLESS:6]
- [BODY:HUMANOID_4ARMS:4]
- [DESCRIPTION:ADJ:four-armed]
- [DESCRIPTION:NOUN:creature]
- [BODY:HUMANOID_6ARMS:2]
- [BODY:HUMANOID_LEGLESS_4ARMS:2]
- [BODY:HUMANOID_LEGLESS_6ARMS:2]
- [BODY:HUMANOID_NECK_4ARMS:2]
- [BODY:4ARMS_STANCE:3]
- [BODY:HUMANOID_NECK_2HEAD:2]
- [BODY:HUMANOID_SIMPLE:12]
- [DESCRIPTION:ADJ:man-shaped]
- [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.
- [BODY:QUADRUPED:3]
- [DESCRIPTION:ADJ:long-bodied]
- [DESCRIPTION:NOUN:quadruped]
- [DESCRIPTION:VERB:runs on four legs] a verb for the description
- [BODY:QUADRUPED_NECK_FRONT_GRASP:24]
- [BODY:QUADRUPED_NECK:108] very common body type.
- [DESCRIPTION:ADJ:long-bodied]
- [DESCRIPTION:NOUN:quadruped]
- [DESCRIPTION:VERB:runs on four legs] a verb for the description
- [BODY:QUADRUPED_NECK_HOOF:28]
- [BODY:INSECT:31]
- [PREFLIST:high-pitched buzz:buzzing]will choose one of the two.
- [DESCRIPTION:NOUN:insect]
- [BODY:INSECT_4LEGS_2ARMS:3]
- [PREFLIST:mystical feel]
- [PREFLIST:mysticism]
- [BODY:SPIDER:62]
- [DESCRIPTION:ADJ:spider-like]
- [DESCRIPTION:DESC:has long, spindly legs]
- [BODY:CRAB_BODY:2]
- [BODY:TWO_NO_CLAW_TENTACLES:2]
- [BODY:TENTACLE_MOUTH:2]
- [BODY:TENTACLE_TEETH:2]
- [BODY:8_SIMPLE_HEAD_ARMS:4]
- [BODY:2_HEAD_CLUBBED_TENTACLES:3]
- [BODY:FOUR_TENTACLES:2]
- [BODY:SIX_TENTACLES:2]
- [BODY:TAIL:238]
- [BODY:SHELL:13]
- [BODY:TAIL_STANCE:3]
- [BODY:TAIL_STINGER:5]
- [BODY:UPPERBODY_PINCERS:7]
- [BODY:2EYES:371]obviously common
- [BODY:3EYES:2]
- [BODY:4EYES:2]
- [BODY:2EYESTALKS:5]
- [BODY:2TUSKS:7]
- [BODY:NOSE:210]
- [BODY:SNOUT_NOSMELL:3]
- [BODY:TRUNK:2]
- [BODY:2EARS:91]
- [BODY:2LUNGS:269]
- [BODY:MOUTH:322]
- [BODY:PROBOSCIS:2]
- [BODY:BEAK:55]
- [BODY:HEART:386]
- [BODY:GUTS:382]
- [BODY:GIZZARD:57]
- [BODY:ORGANS:339]
- [BODY:HUMANOID_JOINTS:89]
- [BODY:THROAT:251]
- [BODY:NECK:253]
- [BODY:SPINE:336]
- [BODY:BRAIN:387]
- [BODY:SKULL:337]
- [BODY:CASQUE:2]
- [BODY:HEAD_HORN:3]
- [BODY:2HEAD_HORN:15]
- [BODY:2HEAD_HORN_NUMBERED:2]
- [BODY:2HEAD_ANTLER:8]
- [BODY:1EYE:2]
- [BODY:BODY_EYE:2]
- [BODY:BODY_EYELID:2]
- [BODY:5FINGERS:32]
- [BODY:4FINGERS:24]
- [BODY:2FINGERS:2]
- [BODY:5TOES:16]
- [BODY:4TOES:65]
- [BODY:3TOES:5]
- [BODY:2TOES:6]
- [BODY:5TOES_FQ_REG:34]here it gets messy.
- [BODY:4TOES_FQ_REG:49]
- [BODY:3TOES_FQ_REG:4]
- [BODY:5TOES_RQ_REG:43]
- [BODY:4TOES_RQ_REG:36]
- [BODY:3TOES_RQ_REG:8]
- [BODY:5TOES_RQ_ANON:25]
- [BODY:5TOES_FQ_FINGERS:24]
- [BODY:4TOES_FQ_FINGERS:4]
- [BODY:SIDE_FINS:66]
- [BODY:DORSAL_FIN:59]
- [BODY:SIDE_FLIPPERS:7]
- [BODY:FRONT_BODY_FLIPPERS:9]
- [BODY:REAR_BODY_FLIPPERS:13]
- [BODY:1HUMP:2]
- [BODY:2HUMPS:2]
- [BODY:CHEEKS:5]
- [BODY:EYELIDS:5]
- [BODY:TONGUE:184]
- [BODY:FORKED_TONGUE:4]
- [BODY:LIPS:2]
- [BODY:FACIAL_FEATURES:50]
- [BODY:ONE_EYELID:2]
- [BODY:RIBCAGE:335]
- [BODY:GENERIC_TEETH_WITH_LARGE_EYE_TEETH:72]
- [BODY:GENERIC_TEETH_WITH_FANGS:14]
- [BODY:RODENT_TEETH:30]
- [BODY:GENERIC_TEETH:76]
- [BODY:TEETH:77]
- [BODY:HAND_FOOT_CENTAUR_NECK:2]
- [DESCRIPTION:ADJ:hideous]
- [BODY:LARGE_MANDIBLES:2]
- [BODY:BILL:8]
- [BODY:HUMANOID_ARMLESS_NECK:58]
- [DESCRIPTION:DESC:has a long neck]
- [DESCRIPTION:DESC:has long legs]
- [PREFLIST:long necks]
- [DESCRIPTION:DESC:bird-like]
- [BODY:TUSK:2]
- [LIST:liquids]defines a new list. This one is for liquids.
- [ADD:liquids:blood]adds "blood" to the list "liquids".
- [ADD:liquids:goo]the "add to list" lines can really be placed anywhere, but I'm putting them here mostly for simplicity.
- [ADD:liquids:slime]
- [ADD:liquids:mucus]
- [ADD:liquids:filth]
- [ADD:liquids:bile]
- [ADD:liquids:ooze]
- [LIST:letters]
- [ADD:letters:a]
- [ADD:letters:a]adding an entry more than once increases the chances of it being used, as you might expect
- [ADD:letters:b]
- [ADD:letters:c]
- [ADD:letters:d]
- [ADD:letters:e]
- [ADD:letters:e]
- [ADD:letters:f]
- [ADD:letters:g]
- [ADD:letters:h]
- [ADD:letters:i]
- [ADD:letters:i]
- [ADD:letters:j]
- [ADD:letters:k]
- [ADD:letters:l]
- [ADD:letters:m]
- [ADD:letters:n]
- [ADD:letters:o]
- [ADD:letters:o]
- [ADD:letters:p]
- [ADD:letters:q]
- [ADD:letters:r]
- [ADD:letters:s]
- [ADD:letters:t]
- [ADD:letters:u]
- [ADD:letters:u]
- [ADD:letters:v]
- [ADD:letters:w]
- [ADD:letters:x]
- [ADD:letters:y]
- [ADD:letters:z]
- [X] optional as always.
- [LIST:adj]
- [ADD:adj:freakish]
- [ADD:adj:scary]
- [ADD:adj:terrifying]
- [ADD:adj:calming]
- [ADD:adj:elegant]
- [ADD:adj:impressive]
- [ADD:adj:bizarre]
- [ADD:adj:enormous]
- [ADD:adj:awesome]
- [ADD:adj:unnerving]
- [ADD:adj:freakish]
- [ADD:adj:long]
- [ADD:adj:lustrous]
- [ADD:adj:frightening]
- [ADD:adj:drooping]
- [ADD:adj:sinister]
- [ADD:adj:graceful]
- [ADD:adj:gruesome]
- [LIST:bloodColor]
- [ADD:bloodColor:BLACK]
- [ADD:bloodColor:BLUE]
- [ADD:bloodColor:GREEN]
- [ADD:bloodColor:AQUA]
- [ADD:bloodColor:RED]
- [ADD:bloodColor:VIOLET]
- [ADD:bloodColor:BROWN]
- [ADD:bloodColor:ASH_GRAY]
- [ADD:bloodColor:GRAY]
- [ADD:bloodColor:DARK_BLUE]
- [ADD:bloodColor:TURQUOISE]
- [ADD:bloodColor:DARK_VIOLET]
- [ADD:bloodColor:YELLOW]
- [ADD:bloodColor:WHITE]
- [LIST:skinColor]
- [ADD:skinColor:CLEAR:1]
- [ADD:skinColor:MIDNIGHT_BLUE:1]
- [ADD:skinColor:WHITE:1]
- [ADD:skinColor:BLACK:1]
- [ADD:skinColor:GREEN:1]
- [ADD:skinColor:BLUE:1]
- [ADD:skinColor:ECRU:1]
- [ADD:skinColor:GRAY:1]
- [ADD:skinColor:TAUPE_PALE:1]
- [ADD:skinColor:PINK:1]
- [ADD:skinColor:GOLDENROD:1]
- [LIST:colors]
- [ADD:colors:7:0:0]after "colors:", all instances of ":" are ignored and added to the string. Not true for brackets.
- [ADD:colors:1:0:0]
- [ADD:colors:7:0:1]
- [ADD:colors:0:0:1]
- [ADD:colors:2:0:0]
- [ADD:colors:1:0:1]
- [ADD:colors:7:0:0]
- [ADD:colors:0:0:1]
- [ADD:colors:7:0:1]
- [ADD:colors:5:0:1]
- [ADD:colors:6:0:1]the order of these matches certain other color lists and is important.
- [LIST:scaleList]
- [ADD:scaleList:GOLD:1]
- [ADD:scaleList:RED:1]
- [ADD:scaleList:WHITE:1]
- [ADD:scaleList:CRIMSON:1]
- [ADD:scaleList:BLACK:1]
- [LIST:scaleColor]
- [ADD:scaleColor:5:0:0]color doesn't even look like a word to me anymore.
- [ADD:scaleColor:4:0:1]
- [ADD:scaleColor:7:0:1]
- [ADD:scaleColor:4:0:0]
- [ADD:scaleColor:0:0:1]these match the scaleList values.
- [LIST:hairList]
- [ADD:hairList:GRAY:1]
- [ADD:hairList:BLACK:1]
- [ADD:hairList:YELLOW:1]
- [ADD:hairList:DARK_VIOLET:1]
- [ADD:hairList:BROWN:1]
- [ADD:hairList:WHITE:1]
- [ADD:hairList:BLACK:1]
- [LIST:featherList]
- [ADD:featherList:BROWN:1]
- [ADD:featherList:PURPLE:1]
- [ADD:featherList:GRAY:1]
- [ADD:featherList:BLACK:1]
- [LIST:slimeList]
- [ADD:slimeList:BROWN:1]
- [ADD:slimeList:GREEN:1]
- [ADD:slimeList:CRIMSON:1]
- [ADD:slimeList:YELLOW:1]
- [ADD:slimeList:WHITE:1]
- [ADD:slimeList:GRAY:1]
- [ADD:slimeList:BLACK:1]
- [ADD:slimeList:DARK_VIOLET:1]
- [ADD:slimeList:DARK_GREEN:1]
- [LIST:slimeColor]
- [ADD:slimeColor:6:0:0]
- [ADD:slimeColor:2:0:1]
- [ADD:slimeColor:4:0:0]
- [ADD:slimeColor:6:0:1]
- [ADD:slimeColor:7:0:1]
- [ADD:slimeColor:7:0:0]
- [ADD:slimeColor:0:0:1]
- [ADD:slimeColor:5:0:0]
- [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.
- [LIST:eyeList]
- [ADD:eyeList:IRIS_EYE_PURPLE:1]
- [ADD:eyeList:IRIS_EYE_RED:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:IRIS_EYE_GREEN:1]
- [ADD:eyeList:IRIS_EYE_BROWN:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:BLACK:1]this is all heavily weighted towards black. I don't remember why.
- [ADD:eyeList:IRIS_EYE_GREEN:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:IRIS_EYE_RED:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:BLACK:1]
- [ADD:eyeList:GREEN:1]
- [ADD:eyeList:IRIS_EYE_BROWN:1]
- [ADD:eyeList:IRIS_EYE_GOLD:1]
- [ADD:eyeList:IRIS_EYE_YELLOW:1]
- [LIST:stoneName]
- [ADD:stoneName:siltstone]
- [ADD:stoneName:mudstone]
- [ADD:stoneName:claystone]
- [ADD:stoneName:rock salt]
- [ADD:stoneName:dolomite]
- [ADD:stoneName:chert]
- [ADD:stoneName:chalk]
- [ADD:stoneName:granite]
- [ADD:stoneName:diorite]
- [ADD:stoneName:gabbro]
- [ADD:stoneName:rhyolite]
- [ADD:stoneName:basalt]
- [ADD:stoneName:andesite]
- [ADD:stoneName:dacite]
- [ADD:stoneName:obsidian]
- [ADD:stoneName:quartzite]
- [ADD:stoneName:slate]
- [ADD:stoneName:phyllite]
- [ADD:stoneName:schist]
- [ADD:stoneName:gneiss]
- [ADD:stoneName:marble]
- [LIST:stoneID]
- [ADD:stoneID:SILTSTONE]
- [ADD:stoneID:MUDSTONE]
- [ADD:stoneID:CLAYSTONE]
- [ADD:stoneID:ROrCK_SALT]
- [ADD:stoneID:DOLOMITE]
- [ADD:stoneID:CHERT]
- [ADD:stoneID:CHALK]
- [ADD:stoneID:GRANITE]
- [ADD:stoneID:DIORITE]
- [ADD:stoneID:GABBRO]
- [ADD:stoneID:RHYOLITE]
- [ADD:stoneID:BASALT]
- [ADD:stoneID:ANDESITE]
- [ADD:stoneID:DACITE]
- [ADD:stoneID:OBSIDIAN]
- [ADD:stoneID:QUARTZITE]
- [ADD:stoneID:SLATE]
- [ADD:stoneID:PHYLLITE]
- [ADD:stoneID:SCHIST]
- [ADD:stoneID:GNEISS]
- [ADD:stoneID:MARBLE]
- [LIST:stoneColor]
- [ADD:stoneColor:6:0:0]
- [ADD:stoneColor:6:0:0]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:7:0:1]
- [ADD:stoneColor:7:0:1]
- [ADD:stoneColor:6:0:0]
- [ADD:stoneColor:7:0:1]
- [ADD:stoneColor:7:0:0]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:7:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:0:0:1]
- [ADD:stoneColor:6:0:0]
- [ADD:stoneColor:7:0:1]
- [ADD:stoneColor:7:0:1]
- [LIST:metalName]
- [ADD:metalName:iron]
- [ADD:metalName:gold]
- [ADD:metalName:silver]
- [ADD:metalName:copper]
- [ADD:metalName:nickel]
- [ADD:metalName:zinc]
- [ADD:metalName:bronze]
- [ADD:metalName:brass]
- [ADD:metalName:steel]
- [ADD:metalName:platinum]
- [ADD:metalName:tin]
- [ADD:metalName:lead]
- [ADD:metalName:aluminum]
- [LIST:metalID]
- [ADD:metalID:IRON]
- [ADD:metalID:GOLD]
- [ADD:metalID:SILVER]
- [ADD:metalID:COPPER]
- [ADD:metalID:NICKEL]
- [ADD:metalID:ZINC]
- [ADD:metalID:BRONZE]
- [ADD:metalID:BRASS]
- [ADD:metalID:STEEL]
- [ADD:metalID:PLATINUM]
- [ADD:metalID:TIN]
- [ADD:metalID:LEAD]
- [ADD:metalID:ALUMINUM]
- [LIST:metalColor]
- [ADD:metalColor:0:0:1]
- [ADD:metalColor:6:0:1]
- [ADD:metalColor:7:0:1]
- [ADD:metalColor:6:0:0]
- [ADD:metalColor:7:0:0]
- [ADD:metalColor:7:0:0]
- [ADD:metalColor:6:0:0]
- [ADD:metalColor:6:0:1]
- [ADD:metalColor:0:0:1]
- [ADD:metalColor:7:0:1]
- [ADD:metalColor:7:0:0]
- [ADD:metalColor:0:0:1]
- [ADD:metalColor:7:0:1]
- [LIST:skullList]
- [ADD:thick] As of now you can just say "add" so long as you remember to keep it in the same area as the place the list is defined.
- [ADD:large]
- [ADD:strong]
- [ADD:thin]
- [ADD:small]
- [ADD:weak]
- [LIST:neckList]
- [ADD:thick]
- [ADD:long]
- [ADD:dexterous]
- [ADD:thin]
- [ADD:short]
- [ADD:stiff]
- [LIST:earList]
- [ADD:small]
- [ADD:large]
- [ADD:tiny]
- [ADD:huge]
- [ADD:long]
- [ADD:short]
- [ADD:pointed]
- [ADD:tall] this is a test comment
- [ADD:flat]
- [ADD:cute]
- [ADD:drooping]
- [LIST:beakList]
- [ADD:(neckList)]
- [ADD:(skullList)]
- [ADD:curved]
- [ADD:straight]
- [ADD:long]
- [ADD:short]
- [ADD:(earList)]
- [LIST:tentacleList]
- [ADD:(largeNumber) tentacle-like arms] This line is beautiful. when calling this line it'll pull a random one from the associated list.
- [ADD:(largeNumber) waving tentacles]
- [ADD:(largeNumber) long tentacles]
- [ADD:(largeNumber) senewy tentacles]
- [ADD:(largeNumber) suckered tentacles]
- [LIST:toothList1]
- [ADD:rows of ]
- [ADD:a mouth full of ]
- [ADD:a face full of ]
- [ADD:a row of ]
- [ADD:(largeNumber) ]
- [ADD: ](yes, it's blank)
- [LIST:oceanList]
- [ADD:marine]
- [ADD:underwater]
- [ADD:sea]
- [ADD:oceanic]
- [ADD:ocean]
- [LIST:toothList2]
- [ADD:blunted]
- [ADD:dull]
- [ADD:short]
- [ADD:razor-like]
- [ADD:shark]
- [ADD:incredibly long]
- [ADD:incredibly sharp]
- [ADD:shark-like]
- [ADD:razor-sharp]
- [ADD:dangerous]
- [ADD:sharp]
- [LIST:eyeAdj]
- [ADD:small ]
- [ADD:large ]
- [ADD:tiny ]
- [ADD:huge ]
- [ADD:deep ]
- [ADD:glassy ]
- [ADD:cute ]
- [ADD:scary ]
- [LIST:strangeList1]
- [ADD:horrifying]
- [ADD:alarming]
- [ADD:appalling]
- [ADD:daunting]
- [ADD:disgusting]
- [ADD:dismaying]
- [ADD:frightening]
- [ADD:intimidating]
- [ADD:outrageous]
- [ADD:petrifying]
- [ADD:shocking]
- [ADD:sickening]
- [ADD:terrifying]
- [LIST:strangeList2]
- [ADD:freakish]
- [ADD:bizarre]
- [ADD:freaky]
- [ADD:grotesque]
- [ADD:odd]
- [ADD:strange]
- [ADD:weird]
- [ADD:outlandish]
- [LIST:largeNumber]
- [ADD:many]
- [ADD:multiple]
- [ADD:numerous]
- [ADD:countless]
- [ADD:innumerable]
- [ADD:myriad of]
- [ADD:numberless]
- [ADD:uncounted]
- [LIST:mouthAdj]
- [ADD:gaping]
- [ADD:cavernous]
- [ADD:broad]
- [ADD:great]
- [ADD:wide]
- [ADD:(strangeList2)]
- [ADD:tiny]
- [ADD:small]
- [ADD:(strangeList1)]
- [ADD:large]
- [ADD:deep]
- [ADD:expansive]
- [ADD:weak]
- [LIST:mouthlessCreature] I added a lot.
- [ADD:is said to feed on evil alone]
- [ADD:absorbs nutrients through its skin]
- [ADD:feeds on fear]
- [ADD:is a very mysterious creature]
- [ADD:is said to feed on fear]
- [ADD:is said to be very mysterious]
- [ADD:is unexplained by science]
- [ADD:saps the life from those around it]
- [ADD:is said to feed on sources of heat]
- [LIST:soundList1]
- [ADD:resounding]
- [ADD:earsplitting]
- [ADD:electrifying]
- [ADD:emphatic]
- [ADD:forceful]
- [ADD:loud]
- [ADD:ringing]
- [ADD:roaring]
- [ADD:thundering]
- [ADD:thunderous]
- [ADD:booming]
- [ADD:deep]
- [ADD:noisy]
- [LIST:soundList2]
- [ADD:hoots]
- [ADD:hisses]
- [ADD:howls]
- [ADD:screams]
- [ADD:whistling]
- [ADD:calls]
- [LIST:randomPriority]
- [ADD:MAIN]
- [ADD:SECOND]
- [LIST:tailList]
- [ADD:a long prehensile]
- [ADD:an enormous]
- [ADD:a (beakList)]
- [LIST:hornList]
- [ADD:large horns]
- [ADD:short horns]
- [ADD:long curved horns]
- [ADD:curving horns]
- [ADD:long thin horns]
- [ADD:thick horns]
- [ADD:spiral horns]
- [ADD:needle-like horns]
- [ADD:spiraling horns]
- [ADD:small horns]
- [ADD:short curved horns]
- [ADD:long thick horns]
- [ADD:short thin horns]
- [ADD:short thick horns]
- [ADD:long straight horns]
- [ADD:short straight horns]
- [LIST:biomeLocale]adding nothing to this list - it all gets added later.
- =======Biome info=======
- Biome stuff.
- All of these are default vanilla values, extracted from the original raws with a program I threw together.
- I excluded the rarest combinations for the sake of keeping this short.
- Therefore, if something happens only once in the raws, RandCreatures won't imitate it.
- In the old version, biomes were chosen at random, though weighted.
- That means a creature could be found in two completely different biomes, like frozen tundra and jungle.
- This fixes that. And you have full access to it - congrats. :)
- biome starter:tag to add to raws:weight against other starter tags
- the 2 is the chance to add alongside above biome tag; in this case 2*(100/11)%, or about an 18% chance.
- [BIOME:ANY_POOL:11]
- [ANY_LAKE:2]
- [NOT_FREEZING:2]
- [X]
- [BIOME:FOREST_TAIGA:19]
- [GRASSLAND_TEMPERATE:5]
- [SAVANNA_TEMPERATE:5]
- [SHRUBLAND_TEMPERATE:7]
- [ANY_TEMPERATE_FOREST:14]
- [ANY_DESERT:4]
- [MOUNTAIN:3]
- [TUNDRA:6]
- [ANY_TEMPERATE_WETLAND:3]
- [X]
- [BIOME:ANY_TROPICAL:5]
- [DESERT_BADLAND:4]
- [DESERT_ROCK:4]
- [DESERT_SAND:4]
- [BIOME:GRASSLAND_TEMPERATE:27]
- [FOREST_TAIGA:5]
- [SAVANNA_TEMPERATE:24]
- [SHRUBLAND_TEMPERATE:20]
- [FOREST_TEMPERATE_BROADLEAF:3]
- [FOREST_TEMPERATE_CONIFER:3]
- [MARSH_TEMPERATE_FRESHWATER:2]
- [MARSH_TEMPERATE_SALTWATER:2]
- [ANY_TEMPERATE_FOREST:9]
- [ANY_DESERT:7]
- [TUNDRA:5]
- [SAVANNA_TROPICAL:2]
- [GRASSLAND_TROPICAL:2]
- [ANY_TEMPERATE_WETLAND:4]
- [SHRUBLAND_TROPICAL:2]
- [BIOME:SAVANNA_TEMPERATE:25]
- [FOREST_TAIGA:5]
- [GRASSLAND_TEMPERATE:24]
- [SHRUBLAND_TEMPERATE:21]
- [FOREST_TEMPERATE_BROADLEAF:3]
- [FOREST_TEMPERATE_CONIFER:3]
- [MARSH_TEMPERATE_FRESHWATER:2]
- [MARSH_TEMPERATE_SALTWATER:2]
- [ANY_TEMPERATE_FOREST:9]
- [ANY_DESERT:6]
- [TUNDRA:3]
- [SAVANNA_TROPICAL:2]
- [GRASSLAND_TROPICAL:2]
- [ANY_TEMPERATE_WETLAND:4]
- [SHRUBLAND_TROPICAL:2]
- [BIOME:SHRUBLAND_TEMPERATE:30]
- [FOREST_TAIGA:7]
- [GRASSLAND_TEMPERATE:20]
- [SAVANNA_TEMPERATE:21]
- [FOREST_TEMPERATE_BROADLEAF:3]
- [FOREST_TEMPERATE_CONIFER:3]
- [ANY_TEMPERATE_FOREST:18]
- [ANY_DESERT:6]
- [MOUNTAIN:4]
- [TUNDRA:4]
- [SAVANNA_TROPICAL:2]
- [GRASSLAND_TROPICAL:2]
- [ANY_TEMPERATE_WETLAND:4]
- [ANY_TROPICAL_FOREST:2]
- [SHRUBLAND_TROPICAL:4]
- [BIOME:FOREST_TEMPERATE_BROADLEAF:9]
- [GRASSLAND_TEMPERATE:3]
- [SAVANNA_TEMPERATE:3]
- [SHRUBLAND_TEMPERATE:3]
- [FOREST_TEMPERATE_CONIFER:2]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [BIOME:FOREST_TEMPERATE_CONIFER:3]
- [GRASSLAND_TEMPERATE:3]
- [SAVANNA_TEMPERATE:3]
- [SHRUBLAND_TEMPERATE:3]
- [FOREST_TEMPERATE_BROADLEAF:2]
- [BIOME:MARSH_TEMPERATE_FRESHWATER:9]
- [GRASSLAND_TEMPERATE:2]
- [SAVANNA_TEMPERATE:2]
- [MARSH_TEMPERATE_SALTWATER:7]
- [MARSH_TROPICAL_FRESHWATER:6]
- [MARSH_TROPICAL_SALTWATER:5]
- [SWAMP_TEMPERATE_FRESHWATER:3]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [BIOME:MARSH_TEMPERATE_SALTWATER:7]
- [GRASSLAND_TEMPERATE:2]
- [SAVANNA_TEMPERATE:2]
- [MARSH_TEMPERATE_FRESHWATER:7]
- [MARSH_TROPICAL_FRESHWATER:5]
- [MARSH_TROPICAL_SALTWATER:5]
- [BIOME:OCEAN_ARCTIC:22]
- [OCEAN_TEMPERATE:13]
- [RIVER_TEMPERATE_FRESHWATER:4]
- [RIVER_TEMPERATE_BRACKISHWATER:4]
- [RIVER_TEMPERATE_SALTWATER:4]
- [BIOME:ANY_WETLAND:9]
- [ANY_TEMPERATE_FOREST:3]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SHRUBLAND:6]
- [ANY_SAVANNA:6]
- [ANY_GRASSLAND:7]
- [ANY_DESERT:5]
- [MOUNTAIN:2]
- [TUNDRA:2]
- [ANY_FOREST:3]
- [BIOME:ANY_TEMPERATE_FOREST:38]
- [FOREST_TAIGA:14]
- [GRASSLAND_TEMPERATE:9]
- [SAVANNA_TEMPERATE:9]
- [SHRUBLAND_TEMPERATE:18]
- [ANY_WETLAND:3]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SHRUBLAND:3]
- [ANY_SAVANNA:3]
- [ANY_GRASSLAND:3]
- [ANY_DESERT:7]
- [MOUNTAIN:5]
- [TUNDRA:4]
- [ANY_TEMPERATE_WETLAND:4]
- [ANY_TROPICAL_FOREST:5]
- [SHRUBLAND_TROPICAL:2]
- [BIOME:FOREST_TROPICAL_CONIFER:5]
- [FOREST_TEMPERATE_BROADLEAF:2]
- [ANY_WETLAND:2]
- [ANY_TEMPERATE_FOREST:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:4]
- [ANY_SHRUBLAND:2]
- [ANY_SAVANNA:2]
- [ANY_GRASSLAND:2]
- [ANY_DESERT:3]
- [BIOME:FOREST_TROPICAL_DRY_BROADLEAF:7]
- [FOREST_TEMPERATE_BROADLEAF:2]
- [ANY_WETLAND:2]
- [ANY_TEMPERATE_FOREST:2]
- [FOREST_TROPICAL_CONIFER:4]
- [ANY_SHRUBLAND:2]
- [ANY_SAVANNA:2]
- [ANY_GRASSLAND:2]
- [ANY_DESERT:2]
- [FOREST_TROPICAL_MOIST_BROADLEAF:3]
- [BIOME:ANY_SHRUBLAND:9]
- [ANY_WETLAND:6]
- [ANY_TEMPERATE_FOREST:3]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SAVANNA:9]
- [ANY_GRASSLAND:9]
- [ANY_DESERT:7]
- [MOUNTAIN:3]
- [TUNDRA:3]
- [ANY_FOREST:5]
- [BIOME:ANY_SAVANNA:9]
- [ANY_WETLAND:6]
- [ANY_TEMPERATE_FOREST:3]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SHRUBLAND:9]
- [ANY_GRASSLAND:9]
- [ANY_DESERT:7]
- [MOUNTAIN:3]
- [TUNDRA:3]
- [ANY_FOREST:5]
- [BIOME:ANY_GRASSLAND:11]
- [ANY_WETLAND:7]
- [ANY_TEMPERATE_FOREST:3]
- [FOREST_TROPICAL_CONIFER:2]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SHRUBLAND:9]
- [ANY_SAVANNA:9]
- [ANY_DESERT:8]
- [MOUNTAIN:3]
- [TUNDRA:3]
- [ANY_FOREST:5]
- [BIOME:ANY_DESERT:27]
- [FOREST_TAIGA:4]
- [GRASSLAND_TEMPERATE:7]
- [SAVANNA_TEMPERATE:6]
- [SHRUBLAND_TEMPERATE:6]
- [ANY_WETLAND:5]
- [ANY_TEMPERATE_FOREST:7]
- [FOREST_TROPICAL_CONIFER:3]
- [FOREST_TROPICAL_DRY_BROADLEAF:2]
- [ANY_SHRUBLAND:7]
- [ANY_SAVANNA:7]
- [ANY_GRASSLAND:8]
- [MOUNTAIN:6]
- [TUNDRA:6]
- [SAVANNA_TROPICAL:4]
- [GRASSLAND_TROPICAL:4]
- [ANY_TEMPERATE_WETLAND:2]
- [ANY_TROPICAL_FOREST:2]
- [SHRUBLAND_TROPICAL:2]
- [SWAMP_MANGROVE:2]
- [ANY_FOREST:5]
- [BIOME:MOUNTAIN:17]
- [FOREST_TAIGA:3]
- [SHRUBLAND_TEMPERATE:4]
- [ANY_WETLAND:2]
- [ANY_TEMPERATE_FOREST:5]
- [ANY_SHRUBLAND:3]
- [ANY_SAVANNA:3]
- [ANY_GRASSLAND:3]
- [ANY_DESERT:6]
- [TUNDRA:5]
- [SWAMP_MANGROVE:2]
- [ANY_FOREST:3]
- [BIOME:TUNDRA:17]
- [FOREST_TAIGA:6]
- [GRASSLAND_TEMPERATE:5]
- [SAVANNA_TEMPERATE:3]
- [SHRUBLAND_TEMPERATE:4]
- [ANY_WETLAND:2]
- [ANY_TEMPERATE_FOREST:4]
- [ANY_SHRUBLAND:3]
- [ANY_SAVANNA:3]
- [ANY_GRASSLAND:3]
- [ANY_DESERT:6]
- [MOUNTAIN:5]
- [ANY_TEMPERATE_WETLAND:2]
- [ANY_FOREST:2]
- [GLACIER:4]
- [BIOME:SAVANNA_TROPICAL:27]
- [GRASSLAND_TEMPERATE:2]
- [SAVANNA_TEMPERATE:2]
- [SHRUBLAND_TEMPERATE:2]
- [ANY_DESERT:4]
- [GRASSLAND_TROPICAL:23]
- [ANY_TROPICAL_FOREST:7]
- [SHRUBLAND_TROPICAL:22]
- [BIOME:GRASSLAND_TROPICAL:23]
- [GRASSLAND_TEMPERATE:2]
- [SAVANNA_TEMPERATE:2]
- [SHRUBLAND_TEMPERATE:2]
- [ANY_DESERT:4]
- [SAVANNA_TROPICAL:23]
- [ANY_TROPICAL_FOREST:6]
- [SHRUBLAND_TROPICAL:18]
- [BIOME:ANY_TEMPERATE_WETLAND:4]
- [FOREST_TAIGA:3]
- [GRASSLAND_TEMPERATE:4]
- [SAVANNA_TEMPERATE:4]
- [SHRUBLAND_TEMPERATE:4]
- [ANY_TEMPERATE_FOREST:4]
- [ANY_DESERT:2]
- [TUNDRA:2]
- [BIOME:FOREST_TROPICAL_MOIST_BROADLEAF:25]
- [FOREST_TROPICAL_DRY_BROADLEAF:3]
- [SHRUBLAND_TROPICAL:2]
- [SWAMP_MANGROVE:2]
- [BIOME:ANY_TROPICAL_FOREST:21]
- [SHRUBLAND_TEMPERATE:2]
- [ANY_TEMPERATE_FOREST:5]
- [ANY_DESERT:2]
- [SAVANNA_TROPICAL:7]
- [GRASSLAND_TROPICAL:6]
- [SHRUBLAND_TROPICAL:11]
- [SWAMP_MANGROVE:4]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [SWAMP_TROPICAL_SALTWATER:2]
- [BIOME:LAKE_TEMPERATE_SALTWATER:3]
- [LAKE_TEMPERATE_BRACKISHWATER:3]
- [LAKE_TEMPERATE_FRESHWATER:3]
- [RIVER_TEMPERATE_FRESHWATER:2]
- [RIVER_TEMPERATE_BRACKISHWATER:2]
- [RIVER_TEMPERATE_SALTWATER:2]
- [BIOME:LAKE_TEMPERATE_BRACKISHWATER:10]
- [LAKE_TEMPERATE_SALTWATER:3]
- [LAKE_TEMPERATE_FRESHWATER:10]
- [RIVER_TEMPERATE_FRESHWATER:6]
- [RIVER_TEMPERATE_BRACKISHWATER:6]
- [RIVER_TEMPERATE_SALTWATER:2]
- [POOL_TEMPERATE_FRESHWATER:2]
- [POOL_TEMPERATE_BRACKISHWATER:2]
- [BIOME:LAKE_TEMPERATE_FRESHWATER:15]
- [LAKE_TEMPERATE_SALTWATER:3]
- [LAKE_TEMPERATE_BRACKISHWATER:10]
- [RIVER_TEMPERATE_FRESHWATER:10]
- [RIVER_TEMPERATE_BRACKISHWATER:6]
- [RIVER_TEMPERATE_SALTWATER:2]
- [POOL_TEMPERATE_FRESHWATER:3]
- [POOL_TEMPERATE_BRACKISHWATER:2]
- [BIOME:SHRUBLAND_TROPICAL:29]
- [GRASSLAND_TEMPERATE:2]
- [SAVANNA_TEMPERATE:2]
- [SHRUBLAND_TEMPERATE:4]
- [ANY_TEMPERATE_FOREST:2]
- [ANY_DESERT:2]
- [SAVANNA_TROPICAL:22]
- [GRASSLAND_TROPICAL:18]
- [FOREST_TROPICAL_MOIST_BROADLEAF:2]
- [ANY_TROPICAL_FOREST:11]
- [SWAMP_MANGROVE:2]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [SWAMP_TROPICAL_SALTWATER:2]
- [BIOME:ANY_TEMPERATE_LAKE:4]
- [ANY_TEMPERATE_MARSH:2]
- [ANY_TEMPERATE_RIVER:2]
- [BIOME:ANY_TEMPERATE_MARSH:2]
- [ANY_TEMPERATE_LAKE:2]
- [BIOME:SWAMP_MANGROVE:10]
- [ANY_DESERT:2]
- [MOUNTAIN:2]
- [FOREST_TROPICAL_MOIST_BROADLEAF:2]
- [ANY_TROPICAL_FOREST:4]
- [SHRUBLAND_TROPICAL:2]
- [ANY_FOREST:2]
- [MARSH_TROPICAL_FRESHWATER:2]
- [MARSH_TROPICAL_SALTWATER:2]
- [SWAMP_TEMPERATE_FRESHWATER:2]
- [SWAMP_TROPICAL_FRESHWATER:6]
- [SWAMP_TROPICAL_SALTWATER:6]
- [BIOME:ANY_FOREST:6]
- [ANY_WETLAND:3]
- [ANY_SHRUBLAND:5]
- [ANY_SAVANNA:5]
- [ANY_GRASSLAND:5]
- [ANY_DESERT:5]
- [MOUNTAIN:3]
- [TUNDRA:2]
- [SWAMP_MANGROVE:2]
- [BIOME:ANY_OCEAN:18]
- [ANY_LAKE:3]
- [ANY_RIVER:3]
- [BIOME:ANY_LAKE:6]
- [ANY_POOL:2]
- [ANY_OCEAN:3]
- [ANY_RIVER:4]
- [BIOME:ANY_RIVER:5]
- [ANY_OCEAN:3]
- [ANY_LAKE:4]
- [BIOME:MARSH_TROPICAL_FRESHWATER:7]
- [MARSH_TEMPERATE_FRESHWATER:6]
- [MARSH_TEMPERATE_SALTWATER:5]
- [SWAMP_MANGROVE:2]
- [MARSH_TROPICAL_SALTWATER:6]
- [RIVER_TROPICAL_FRESHWATER:2]
- [RIVER_TROPICAL_BRACKISHWATER:2]
- [SWAMP_TEMPERATE_FRESHWATER:2]
- [SWAMP_TROPICAL_FRESHWATER:3]
- [SWAMP_TROPICAL_SALTWATER:2]
- [BIOME:MARSH_TROPICAL_SALTWATER:6]
- [MARSH_TEMPERATE_FRESHWATER:5]
- [MARSH_TEMPERATE_SALTWATER:5]
- [SWAMP_MANGROVE:2]
- [MARSH_TROPICAL_FRESHWATER:6]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [SWAMP_TROPICAL_SALTWATER:2]
- [BIOME:NOT_FREEZING:28]
- [ANY_POOL:2]
- [BIOME:OCEAN_TEMPERATE:39]
- [OCEAN_ARCTIC:13]
- [RIVER_TEMPERATE_FRESHWATER:6]
- [RIVER_TEMPERATE_BRACKISHWATER:6]
- [RIVER_TEMPERATE_SALTWATER:6]
- [OCEAN_TROPICAL:17]
- [BIOME:ANY_TROPICAL_WETLAND:3]
- [BIOME:ANY_TEMPERATE_SWAMP:2]
- [BIOME:RIVER_TEMPERATE_FRESHWATER:16]
- [OCEAN_ARCTIC:4]
- [LAKE_TEMPERATE_SALTWATER:2]
- [LAKE_TEMPERATE_BRACKISHWATER:6]
- [LAKE_TEMPERATE_FRESHWATER:10]
- [OCEAN_TEMPERATE:6]
- [RIVER_TEMPERATE_BRACKISHWATER:12]
- [RIVER_TEMPERATE_SALTWATER:7]
- [RIVER_TROPICAL_FRESHWATER:2]
- [POOL_TEMPERATE_FRESHWATER:2]
- [POOL_TEMPERATE_BRACKISHWATER:2]
- [BIOME:RIVER_TEMPERATE_BRACKISHWATER:12]
- [OCEAN_ARCTIC:4]
- [LAKE_TEMPERATE_SALTWATER:2]
- [LAKE_TEMPERATE_BRACKISHWATER:6]
- [LAKE_TEMPERATE_FRESHWATER:6]
- [OCEAN_TEMPERATE:6]
- [RIVER_TEMPERATE_FRESHWATER:12]
- [RIVER_TEMPERATE_SALTWATER:7]
- [POOL_TEMPERATE_FRESHWATER:2]
- [POOL_TEMPERATE_BRACKISHWATER:2]
- [BIOME:RIVER_TEMPERATE_SALTWATER:7]
- [OCEAN_ARCTIC:4]
- [LAKE_TEMPERATE_SALTWATER:2]
- [LAKE_TEMPERATE_BRACKISHWATER:2]
- [LAKE_TEMPERATE_FRESHWATER:2]
- [OCEAN_TEMPERATE:6]
- [RIVER_TEMPERATE_FRESHWATER:7]
- [RIVER_TEMPERATE_BRACKISHWATER:7]
- [BIOME:OCEAN_TROPICAL:31]
- [OCEAN_TEMPERATE:17]
- [RIVER_TROPICAL_FRESHWATER:2]
- [RIVER_TROPICAL_BRACKISHWATER:2]
- [RIVER_TROPICAL_SALTWATER:2]
- [LAKE_TROPICAL_FRESHWATER:2]
- [LAKE_TROPICAL_BRACKISHWATER:2]
- [LAKE_TROPICAL_SALTWATER:2]
- [BIOME:RIVER_TROPICAL_FRESHWATER:11]
- [MARSH_TROPICAL_FRESHWATER:2]
- [RIVER_TEMPERATE_FRESHWATER:2]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_BRACKISHWATER:7]
- [RIVER_TROPICAL_SALTWATER:6]
- [LAKE_TROPICAL_FRESHWATER:9]
- [LAKE_TROPICAL_BRACKISHWATER:5]
- [LAKE_TROPICAL_SALTWATER:5]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [BIOME:RIVER_TROPICAL_BRACKISHWATER:7]
- [MARSH_TROPICAL_FRESHWATER:2]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_FRESHWATER:7]
- [RIVER_TROPICAL_SALTWATER:6]
- [LAKE_TROPICAL_FRESHWATER:5]
- [LAKE_TROPICAL_BRACKISHWATER:5]
- [LAKE_TROPICAL_SALTWATER:5]
- [SWAMP_TROPICAL_FRESHWATER:2]
- [BIOME:RIVER_TROPICAL_SALTWATER:6]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_FRESHWATER:6]
- [RIVER_TROPICAL_BRACKISHWATER:6]
- [LAKE_TROPICAL_FRESHWATER:5]
- [LAKE_TROPICAL_BRACKISHWATER:5]
- [LAKE_TROPICAL_SALTWATER:5]
- [BIOME:LAKE_TROPICAL_FRESHWATER:10]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_FRESHWATER:9]
- [RIVER_TROPICAL_BRACKISHWATER:5]
- [RIVER_TROPICAL_SALTWATER:5]
- [LAKE_TROPICAL_BRACKISHWATER:6]
- [LAKE_TROPICAL_SALTWATER:6]
- [BIOME:LAKE_TROPICAL_BRACKISHWATER:6]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_FRESHWATER:5]
- [RIVER_TROPICAL_BRACKISHWATER:5]
- [RIVER_TROPICAL_SALTWATER:5]
- [LAKE_TROPICAL_FRESHWATER:6]
- [LAKE_TROPICAL_SALTWATER:6]
- [BIOME:LAKE_TROPICAL_SALTWATER:6]
- [OCEAN_TROPICAL:2]
- [RIVER_TROPICAL_FRESHWATER:5]
- [RIVER_TROPICAL_BRACKISHWATER:5]
- [RIVER_TROPICAL_SALTWATER:5]
- [LAKE_TROPICAL_FRESHWATER:6]
- [LAKE_TROPICAL_BRACKISHWATER:6]
- [X]
- [BIOME:SWAMP_TEMPERATE_FRESHWATER:4]
- [MARSH_TEMPERATE_FRESHWATER:3]
- [SWAMP_MANGROVE:2]
- [MARSH_TROPICAL_FRESHWATER:2]
- [SWAMP_TROPICAL_FRESHWATER:3]
- [SWAMP_TROPICAL_SALTWATER:2]
- [X]
- [BIOME:SWAMP_TROPICAL_FRESHWATER:7]
- [MARSH_TEMPERATE_FRESHWATER:2]
- [ANY_TROPICAL_FOREST:2]
- [SHRUBLAND_TROPICAL:2]
- [SWAMP_MANGROVE:6]
- [MARSH_TROPICAL_FRESHWATER:3]
- [MARSH_TROPICAL_SALTWATER:2]
- [RIVER_TROPICAL_FRESHWATER:2]
- [RIVER_TROPICAL_BRACKISHWATER:2]
- [SWAMP_TEMPERATE_FRESHWATER:3]
- [SWAMP_TROPICAL_SALTWATER:6]
- [X]
- [BIOME:DESERT_BADLAND:5]
- [ANY_TROPICAL:4]
- [DESERT_ROCK:5]
- [DESERT_SAND:5]
- [X]
- [BIOME:DESERT_ROCK:5]
- [ANY_TROPICAL:4]
- [DESERT_BADLAND:5]
- [DESERT_SAND:5]
- [X]
- [BIOME:DESERT_SAND:5]
- [ANY_TROPICAL:4]
- [DESERT_BADLAND:5]
- [DESERT_ROCK:5]
- [X]
- [BIOME:SWAMP_TROPICAL_SALTWATER:6]
- [ANY_TROPICAL_FOREST:2]
- [SHRUBLAND_TROPICAL:2]
- [SWAMP_MANGROVE:6]
- [MARSH_TROPICAL_FRESHWATER:2]
- [MARSH_TROPICAL_SALTWATER:2]
- [SWAMP_TEMPERATE_FRESHWATER:2]
- [SWAMP_TROPICAL_FRESHWATER:6]
- [X]
- [BIOME:GLACIER:4]
- [TUNDRA:4]
- [X]
- [BIOME:SUBTERRANEAN_CHASM:44]
- [SUBTERRANEAN_WATER:3]
- [ADD_UNDERGROUND_DEPTH]
- [X]
- [BIOME:SUBTERRANEAN_WATER:17]
- [SUBTERRANEAN_CHASM:3]
- [ADD_UNDERGROUND_DEPTH]
- [X]
- [BIOME:SUBTERRANEAN_LAVA:5]
- [ADD_UNDERGROUND_DEPTH]
- [X]
- [BIOME:ANY_LAND:9]
- Dun do anything.
- [X]
- [BIOME:POOL_TEMPERATE_FRESHWATER:3]
- [LAKE_TEMPERATE_BRACKISHWATER:2]
- [LAKE_TEMPERATE_FRESHWATER:3]
- [RIVER_TEMPERATE_FRESHWATER:2]
- [RIVER_TEMPERATE_BRACKISHWATER:2]
- [POOL_TEMPERATE_BRACKISHWATER:2]
- [BIOME:POOL_TEMPERATE_BRACKISHWATER:2]
- [LAKE_TEMPERATE_BRACKISHWATER:2]
- [LAKE_TEMPERATE_FRESHWATER:2]
- [RIVER_TEMPERATE_FRESHWATER:2]
- [RIVER_TEMPERATE_BRACKISHWATER:2]
- [POOL_TEMPERATE_FRESHWATER:2]
- [BIOME:ANY_TEMPERATE_RIVER:2]
- [ANY_TEMPERATE_LAKE:2]
- =======Creature creation======= a split just to show it's the end of the last section. It's a comment. It does nothing.
- [BEGIN_CREATURE_CODE] All variables defined above this tag are permanent. All the ones below are reset every time you make a creature.
- BEGIN_CREATURE_CODE 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.
- [STR:tile:(randomLetter)] pulls one letter at random out of the randomLetter list.
- I don't have a UPPERCASE(randomLetter + randomLetter) thing yet. May eventually, I don't know.
- This is a lot to tackle. It's not the first time I've made scripts, but it's the first time I've done it to this extent.
- [STR:ina:1(UPPERCASE:tile)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)(UPPERCASE:randomLetter)]
- [TAG_ADD:{CREATURE:CREATURE_(ina)_RC}] ends with RC so it won't conflict with other mods.
- [TAG_ADD: {NAME:(ina):(ina)s:(ina)}] ITEM2
- [TAG_ADD: {DESCRIPTION:}] ITEM4
- [TAG_ADD: {COLOR:}] ITEM5
- [TAG_ADD: {CASTE_NAME:(ina):(ina)s:(ina)}] ITEM5
- [TAG_ADD: {CREATURE_TILE:(tile)}]ITEM6
- [TAG_ADD: {PREFSTRING:}]ITEM7
- [TAG_ADD: {NATURAL}{LARGE_ROAMING}] why did I do this? no idea. All creatures are natural and large-roaming.
- [TAG_ADD: {PETVALUE:}]ITEM9. Resets later. Haven't gotten that far yet.
- determine type. Yes, birds and fish are special. They have to be, otherwise I can't make sure they fly/swim.
- [INT:tD:(RND:0:400)]
- [IF:tD:<:60]
- [CREATURE_TYPE:BIRD]
- [ELSEIF:tD:<:100]
- [CREATURE_TYPE:FISH]
- [X]
- [IF:(RND:0:33):1] 1 in 33 chance of adding next stuff
- [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.
- [CAN_OPEN_DOORS] set value to true, same for next two
- [EQUIPS]
- [INTELLIGENT]
- Megabeasts and semimegabeasts come next. Their stuff is just easier to add earlier on.
- [ELSEIF:(RND:1:100):1] 1 in 100 chance of a semimegabeast, after the 1 in 33 chance of a new civ.
- [CAN_CIV:FALSE]
- [SEMI]
- [TAG_ADD:{SEMIMEGABEAST}{DIFFICULTY:5}]
- [TAG_ADD: {ATTACK_TRIGGER:50:5000:50000}]
- [TAG_ADD:{CAN_LEARN}{CAN_SPEAK}{CANOPENDOORS}{EQUIPS}{FANCIFUL}]
- [TAG_ADD:{BUILDINGDESTROYER:2}]
- [INT:L1:(RND:2:6)] defining a new integer. These are messily done. Careful with them. Defining a
- variable is permanent (for this particular creature) - it can be used across the entire script,
- regardless of whether it was inside a loop or if/then statement. All variables are removed and reset
- (except for the ones defined above the BEGIN tag) at the start of every creature creation phase.
- [FOR:i:1:L1] for i = 1 to L1, or for (i=1;i<L1;i++); for java coders
- [TAG_ADD:{SPHERE:(RANDOM_SPHERE)}]adds a random sphere.
- [X] end if/end loop tag. empty lines can be used too. Comment lines don't count.
- [IF:(RND:1:4):<>:1]if random number between 1 and 4 is not 1
- [TAG_ADD:{LAIR:SIMPLE_BURROW:100}] you're a little nothing.
- [ELSE] the else script tag thing. If this is called, then YAUR A MINOTAUR type beast.
- [TAG_ADD:{PERSONALITY:BRAVERY:75:90:100}]
- [TAG_ADD:{NATURAL_SKILL:WRESTLING:6}]
- [TAG_ADD:{NATURAL_SKILL:BITE:3}]
- [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
- [TAG_ADD:{NATURAL_SKILL:STANCE_STRIKE:6}]
- [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:8}]
- [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
- [TAG_ADD:{NATURAL_SKILL:AXE:8}]
- [TAG_ADD:{NATURAL_SKILL:SWORD:8}]
- [TAG_ADD:{NATURAL_SKILL:DAGGER:8}]
- [TAG_ADD:{NATURAL_SKILL:PIKE:8}]
- [TAG_ADD:{NATURAL_SKILL:MACE:8}]
- [TAG_ADD:{NATURAL_SKILL:HAMMER:8}]
- [TAG_ADD:{NATURAL_SKILL:WHIP:8}]
- [TAG_ADD:{NATURAL_SKILL:SPEAR:8}]
- [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:12}]
- [TAG_ADD:{PHYS_ATT_RANGE:STRENGTH:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{PHYS_ATT_RANGE:TOUGHNESS:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{PHYS_ATT_RANGE:AGILITY:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{PHYS_ATT_RANGE:ENDURANCE:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{PHYS_ATT_RANGE:RECUPERATION:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{PHYS_ATT_RANGE:DISEASE_RESISTANCE:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{MENT_ATT_RANGE:FOCUS:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{MENT_ATT_RANGE:WILLPOWER:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{MENT_ATT_RANGE:MEMORY:2000:2100:2150:2250:2350:2550:3250}]
- [TAG_ADD:{MENT_ATT_RANGE:SPATIAL_SENSE:2000:2100:2150:2250:2350:2550:3250}]
- [TAG_ADD:{MENT_ATT_RANGE:KINESTHETIC_SENSE:1000:1100:1150:1250:1350:1550:2250}]
- [TAG_ADD:{LAIR:LABYRINTH:100}]
- [TAG_ADD:{LAIR_HUNTER}]
- [TAG_ADD:{LAIR_HUNTER_SPEECH:lair_hunter_minotaur.txt}]
- [TAG_ADD:{HABIT_NUM:TEST_ALL}]
- [TAG_ADD:{HABIT:GRIND_BONE_MEAL:100}]
- [TAG_ADD:{HABIT:EAT_BONE_PORRIDGE:100}]
- [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:
- [ELSEIF:(RND:1:100):1]1 in 100 megabeast... after civs and semimegabeasts.
- greetings. this is your captain sspeaking. You are all screwed. Thank you for choosing Talv Airlines, and I bid you all a good day.
- [CAN_CIV:FALSE] just to keep the big ol' brutes from making their own civs.
- [IF:(RND:0:3):1]
- [TAG_ADD:{MEGABEAST}{DIFFICULTY:15}] 11 or higher doesn't get assigne in adv mode quests.
- [ELSE]
- [TAG_ADD:{MEGABEAST}{DIFFICULTY:10}]
- [X]
- [TAG_ADD: {ATTACK_TRIGGER:80:10000:100000}]
- [TAG_ADD:{FANCIFUL}{LARGE_PREDATOR}{LIKES_FIGHTING}{NOFEAR}{NOEXERT}]
- [TAG_ADD:{FREQUENCY:5}]
- [TAG_ADD:{GRASSTRAMPLE:50}]
- [TAG_ADD:{PETVALUE:10000}]
- [TAG_ADD:{PET_EXOTIC}{TRAINABLE}{MOUNT_EXOTIC}]
- [INT:L2:(RND:2:6)]
- [FOR:i:1:L2]
- [TAG_ADD:{SPHERE:(RANDOM_SPHERE)}] I'll show off by ending this with a blank line:
- [IF:(RND:0:1):1]
- [TAG_ADD:{NOSTUN}{NOPAIN}]
- [INT:X1:(RND:1:4)]
- [IF:X1:1]
- [TAG_ADD:{LAIR:WILDERNESS_LOCATION:100}]
- [ELSEIF:X1:2]
- [TAG_ADD:{LAIR:SHRINE:100}]
- [ELSE]
- [TAG_ADD:{LAIR:SIMPLE_BURROW:100}]
- [X1:(RND:1:4)] setting variables is easy.
- First, a dash of dragon.
- [IF:X1:1] I'll admit, though, using Toady's raws format is a bit messy with operators.
- [TAG_ADD:{MENT_ATT_RANGE:WILLPOWER:3000:3500:3750:4000:4250:4500:5000}]
- [TAG_ADD:{HABIT_NUM:TEST_ALL}]
- [TAG_ADD:{HABIT:COLLECT_WEALTH:100}]
- [TAG_ADD:{NATURAL_SKILL:BITE:6}]
- [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
- [TAG_ADD:{NATURAL_SKILL:RANGED_COMBAT:6}]
- [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
- [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
- [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
- [ELSEIF:X1:2]A case of colossus.
- don't do anything!
- [ELSEIF:X1:3]A hint of hydra.
- [TAG_ADD:{LAIR_HUNTER}]
- [TAG_ADD:{NATURAL_SKILL:BITE:6}]
- [TAG_ADD:{NATURAL_SKILL:GRASP_STRIKE:6}]
- [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
- [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
- [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
- [ELSE]A ray of roc.
- [TAG_ADD:{HABIT_NUM:TEST_ALL}]
- [TAG_ADD:{HABIT:GIANT_NEST:100}]
- [TAG_ADD:{NATURAL_SKILL:BITE:6}]
- [TAG_ADD:{NATURAL_SKILL:STANCE_STRIKE:6}]
- [TAG_ADD:{NATURAL_SKILL:MELEE_COMBAT:6}]
- [TAG_ADD:{NATURAL_SKILL:DODGING:6}]
- [TAG_ADD:{NATURAL_SKILL:SITUATIONAL_AWARENESS:6}]
- [X]
- [INT:R:(RND:1:4)]
- [IF:R:4] cue skyrim theme
- [IS_FIRE_BREATHER]
- [ADD_TAG:{CAN_DO_INTERACTION:MATERIAL_EMISSION}]
- [ADD_TAG: {CDI:ADV_NAME:Breathe fire}]I am a servant of the secret fire
- [ADD_TAG: {CDI:USAGE_HINT:ATTACK}]
- [ADD_TAG: {CDI:BP_REQUIRED:BY_CAT:MOUTH}]
- [ADD_TAG: {CDI:FLOW:DRAGONFIRE}] Wielder of the flame of anor
- [ADD_TAG: {CDI:TARGET:C:LINE_OF_SIGHT}]
- [ADD_TAG: {CDI:TARGET_RANGE:C:15}]
- [ADD_TAG: {CDI:MAX_TARGET_NUMBER:C:1}]
- [ADD_TAG: {CDI:WAIT_PERIOD:50}]
- [ADD_TAG:{FIREIMMUNE_SUPER}]
- [ELSEIF:R:3] It's made of bronze.
- [IS_BRONZE]
- [ADD_TAG:{NOT_BUTCHERABLE}]
- [X]
- [X]
- Here's the stuff for pets.
- [IF:can_civ:false] if the civilization cannnot be made into a civ, basically
- [IF:(RND:0:277):<:61]if a random number between 0 and 277 is less than 61
- [TAG_ADD:{PET}]
- [ELSEIF:(RND:0:277):<:30] this fixes a bug in the old version
- [TAG_ADD:{PET_EXOTIC}] the blank line ends the if statement:
- [IF:(RND:0:277):<:150]
- [TAG_ADD:{MOUNT_EXOTIC}]
- [DESCRIPTION:VERB:can be ridden] yeah, you can add these here too.
- [IF:(RND:0:277):<:4]
- [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.
- [IF:(RND:0:277):<:28]
- [TAG_ADD:{TRAINABLE}]
- [DESCRIPTION:VERB:can be trained for war]
- [X]
- [X]
- double line break to end the if-then statements. the bracketed X is optional.
- tag stuff.
- [IF:MEGABEAST:FALSE]
- [IF:(RND:1:1000):<:7]
- [TAG_ADD:{AT_PEACE_WITH_WILDLIFE}]
- [DESCRIPTION:DESC:few natural predators]
- [PREFLIST:peacefulness]
- [IF:(RND:1:1000):<:4]
- [TAG_ADD:{ADOPTS_OWNER}]
- [PREFLIST:aloofness]
- [IF:(RND:1:1000):<:4]
- [TAG_ADD:{AMBUSHPREDATOR}]
- [PREFLIST:mystery]
- [DESCRIPTION:VERB:waits for its prey to pass before striking]
- [IF:(RND:1:1000):<:72]
- [TAG_ADD:{BUILDINGDESTROYER:1}]
- [ELSEIF:(RND:1:1000):<:4]
- [TAG_ADD:{BUILDINGDESTROYER:2}]
- [IF:(RND:1:1000):<:72]
- [TAG_ADD:{INTELLIGENT}]
- [INTELLIGENT]
- [PREFLIST:distinct culture]
- [DESCRIPTION:VERB:is very intelligent]
- [ELSEIF:(RND:1:1000):<:25]
- [TAG_ADD:{CAN_LEARN}{SLOW_LEARNER}]
- [ELSEIF:(RND:1:1000):<:72]
- [TAG_ADD:{CAN_LEARN}]
- [DESCRIPTION:ADJ:intelligent]
- [DESCRIPTION:VERB:likes learning new things]
- [IF:(RND:1:1000):<:137]
- [TAG_ADD:{CANOPENDOORS}]
- [CAN_OPEN_DOORS]
- [IF:(RND:1:1000):<:130]
- [TAG_ADD:{EQUIPS}]
- [DESCRIPTION:VERB:can equip weapons and armor]
- [IF:(RND:1:1000):<:76]
- [TAG_ADD:{FANCIFUL}]
- [DESRIPTION:ADJ:well-known]
- [IF:(RND:1:1000):<:365]
- [TAG_ADD:{GRASSTRAMPLE:0}]
- [ELSEIF:(RND:1:1000):<:7]
- [TAG_ADD:{GRASSTRAMPLE:10}]
- [ELSEIF:(RND:1:1000):<:36]
- [TAG_ADD:{GRASSTRAMPLE:20}]
- [ELSEIF:(RND:1:1000):<:76]
- [TAG_ADD:{GRASSTRAMPLE:50}]
- [IF:(RND:1:1000):<:181]
- [TAG_ADD:{GRAZER}]
- [DESCRIPTION:NOUN:grazer]
- [IS_GRAZER]
- [IF:(RND:1:1000):<:4]
- [TAG_ADD:{HUNTS_VERMIN}]
- [DESCRIPTION:VERB:hunts vermin]
- [IF:(RND:1:1000):<:274]
- [TAG_ADD:{LARGE_PREDATOR}]
- [OR]
- [DESCRIPTION:NOUN:predator]
- [BREAK]
- [X]
- [IS_HUNTER]
- [IF:(RND:1:1000):<:87]
- [TAG_ADD:{LIKES_FIGHTING}]
- [DESCRIPTION:ADJ:violent]
- [PREFLIST:attitude]
- [LIKES_FIGHTING]
- [IF:(RND:1:1000):<:43]
- [TAG_ADD:{LOOSE_CLUSTERS}]
- [DESCRIPTION:VERB:likes wandering alone]
- [IF:(RND:1:1000):<:509]
- [TAG_ADD:{MEANDERER}]
- [IS_ROAMER]
- [X]
- [X]
- [IF:(RND:1:1000):<:112]
- [TAG_ADD:{AMPHIBIOUS}]
- [DESCRIPTION:VERB:is at home both in water and on land]
- [AMPHIBIOUS]
- [IF:(RND:1:1000):<:117]
- [TAG_ADD:{BONECARN}]
- [DESCRIPTION:VERB:feigns eath until a victim passes by:likes to gnaw on old bones:eats the bones of the dead]
- [PREFLIST:savage ways:primitive habits]
- [IF:(RND:1:1000):<:195]
- [TAG_ADD:CARNIVORE]
- [OR] chooses one at random from the following, before a line break or bracketed capital X
- [DESCRIPTION:NOUN:carnivore]
- [DESCRIPTION:ADJ:carnivorous]
- [X]
- [OR]
- [DESCRIPTION:ADJ:predatory]
- [BREAK] a chance to do nothing at all.
- [X]
- [OR]
- [DESCRIPTION:ADJ:scavenging]
- [BREAK]
- [X]
- [PREFLIST:eating habits]
- [IF:(RND:1:1000):<:79]
- [TAG_ADD:{CURIOUSBEAST_EATER}]
- [CURIOUS_COUNT:+:1]
- [TYPE_CUR:eating the provisions of outposts]
- [IF:(RND:1:1000):<:43]
- [TAG_ADD:{CURIOUSBEAST_GUZZLER}]
- [CURIOUS_COUNT:+:1]
- [TYPE_CUR:drinking the provisions of outposts]
- [IF:(RND:1:1000):<:43]
- [TAG_ADD:{CURIOUSBEAST_ITEM}]
- [CURIOUS_COUNT:+:1]
- [TYPE_CUR:stealing items from outposts]
- [IF:(RND:1:1000):<:126]
- [TAG_ADD:{EXTRAVISION}]
- [IF:(RND:1:1000):<:25]
- [TAG_ADD:{FIREIMMUNE}]
- [DESCRIPTION:ADJ:fire-immune]
- [ELSEIF:(RND:1:1000):<:7]
- [TAG_ADD:{FIREIMMUNE_SUPER}]
- [DESCRIPTION:ADJ:fire-immune]
- [IF:(RND:1:1000):<:4]
- [TAG_ADD:{FLEEQUICK}]
- [IF:(RND:1:1000):<:125] birds. for the birds. all the birds. all is birds.
- [TAG_ADD:{FLIER}]
- [FLIES]
- [IF:(RND:1:1000):<:11]
- [TAG_ADD:{LIGHT_GEN}]
- [DESCRIPTION:VERB:glows with its own light]
- [IF:(RND:1:1000):<:7]
- [TAG_ADD:{LOCKPICKER}]
- [DESCRIPTION:VERB:likes wandering alone]
- [IF:(RND:1:1000):<:18]
- [TAG_ADD:{MAGMA_VISION}]
- [DESCRIPTION:DESC:feels at home in magma]
- [IF:(RND:1:1000):<:7]
- [TAG_ADD:{MISCHIEVOUS}]
- [DESCRIPTION:ADJ:mischievous]
- [DESCRIPTION:DESC:is very curious about everything]
- [IF:(RND:1:1000):<:116]
- [TAG_ADD:{NO_DIZZINESS}]
- [IF:(RND:1:1000):<:350]
- [TAG_ADD:{NO_DRINK}]
- [IF:(RND:1:1000):<:54]
- [TAG_ADD:{NO_EAT}]
- [IF:(RND:1:1000):<:65]
- [TAG_ADD:{NO_FEVERS}]
- [DESCRIPTION:VERB:never becomes ill]
- [IF:(RND:1:1000):<:231]
- [TAG_ADD:{NO_SLEEP}]
- [OR]
- [DESCRIPTION:VERB:never seems to sleep]
- [BREAK]
- [X]
- [IF:(RND:1:1000):<:65]
- [TAG_ADD:{NO_THOUGHT_CENTER_FOR_MOVEMENT}]
- [HAS_BRAIN]
- [IF:(RND:1:1000):<:246]
- [TAG_ADD:{NOBONES}]
- [IF:(RND:1:1000):<:65]
- [TAG_ADD:{NOBREATHE}]
- [NO_BREATHE]
- [IF:(RND:1:1000):<:61]
- [TAG_ADD:{NOEMOTION}]
- [DESCRIPTION:ADJ:unemotional]
- [IF:CURIOUS_COUNT:>:1]
- [DESCRIPTION:VERB:is fond of raiding the supplies of outposts]
- [DESCRIPTION:VERB:is a very curious creature]
- [ELSEIF:CURIOUS_COUNT:1]
- [DESCRIPTION:VERB:is a very curious creature]
- [DESCRIPTION:VERB:is fond of (TYPE_CUR)] fancy line for adding the contents of a string.
- [X]
- now we mark all intelligent creatures that are civ-able as sentient.
- [IF:INTELLIGENT]
- [IF:CAN_OPEN_DOORS]
- [IF:EQUIPS]
- [SENTIENT]
- [X]
- [X]
- [X]
- =======BIG SPLIT HERE=======
- [IF:IS_HUNTER]
- [IF:FLIES]
- [DESCRIPTION:VERB:hunt its prey through flight]
- [IF:LIKES_FIGHTING]
- [DESCRIPTION:VERB:likes to kill passing creatures]
- [X]
- [ELSE]
- [IF:FLIES]
- [DESCRIPTION:VERB:flies to escape enemies]
- [IF:LIKES_FIGHTING]
- [DESCRIPTION:VERB:likes to fight passing creatures]
- [X]
- [X]
- [IF:IS_GRAZER]
- [FOODWORD:plants]
- [X]
- [IF:IS_HUNTER]
- [FOODWORD:prey]
- [X]
- [IF:CAN_CIV:FALSE]
- [DOUBLE:cn2:(RND:1:10)]
- [DOUBLE:cn:(MAX:1:(cn:/:(DECRND:1:5)))]
- [IF:cn:1]
- [IS_SOLITARY]
- [X]
- [DOUBLE:pn:(RND:3:50)]
- [TAG_ADD:{POPULATION_NUMBER:(pn:/:(DECRND:1.5:2.5)):(pn)}]
- [TAG_ADD:{CLUSTER_NUMBER:(cn):(cn2)}]
- [IF:cn:>:7]
- [IF:(RND:0:1):1]
- [DESCRIPTION:VERB:is dangerous when encountered in large numbers] this needs more of a reason to be here.
- [ELSE]
- [DESCRIPTION:VERB:travels in large groups]
- [X]
- [ELSEIF:cn:<:4:&:cn:>:1]
- [IF:(RND:0:1):1]
- [DESCRIPTION:VERB:tends to keep largely to itself]
- [ELSE]
- [DESCRIPTION:VERB:forms small, close-knit groups]
- [X]
- [X]
- [IF:cn2:>:1]
- [IN_GROUPS]
- [X]
- [X]
- =======Biome info Pt2=======
- [CALCULATE_BIOMES] just a line to make it utilize the data provided above. DO NOT REMOVE.
- Now we add location description info.
- [IF:CREATURE_TYPE:!:FISH]
- [IF:(BIOME:ANY_POOL)]If the biome info exactly matches everything after (BIOME).
- [ADD:biomeLocale:is found in relatively dry areas]
- [ADD:biomeLocale:is found in swamps and marshland]
- [ADD:biomeLocale:can be found in rivers and ponds]
- [IF:(BIOME:FOREST_TAIGA:ANY_TEMPERATE:ANY_TROPICAL)]
- [ADD:biomeLocale:is found in moist soil]
- [IF:(BIOME:GRASSLAND_TEMPERATE:SAVANNA_TEMPERATE:SHRUBLAND_TEMPERATE:FOREST_TEMPERATE_BROADLEAF:FOREST_TEMPERATE_CONIFER)]
- [ADD:biomeLocale:is found in temperate forests]
- [ADD:biomeLocale:lives in temperate woodlands]
- [IF:(BIOME:GRASSLAND_TEMPERATE:SAVANNA_TEMPRATE)]
- [ADD:biomeLocale:is found in temperate pastures]
- [IF:(BIOME:ANY_GRASSLAND:ANY_SAVANNA:ANY_TEMPERATE_FOREST:ANY_TROPICAL_FOREST:ANY_DESERT:ANY_WETLAND)]
- [ADD:biomeLocale:can be found in most temperate regions]
- [IF:(BIOME:LAKE_TEMPERATE_SALTWATER:LAKE_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_BRACKISHWATER)]
- [ADD:biomeLocale:is found in remote lakes]
- [IF:(BIOME:ANY_WETLAND:ANY_TEMPERATE_FOREST:FOREST_TROPICAL_CONIFER:FOREST_TROPICAL_DRY_BROADLEAF:ANY_SHRUBLAND:ANY_SAVANNA:ANY_GRASSLAND:ANY_DESERT)]
- [ADD:biomeLocale:is found in woodland regions]
- [IF:(BIOME:FOREST_TROPICAL_MOIST_BROADLEAF)]
- [ADD:biomeLocale:can be found in the rainforest]
- [ADD:biomeLocale:is found in the tropical forests]
- [ADD:biomeLocale:is found in the trees]
- [ADD:biomeLocale:is found in the trees of the tropical forest]
- [ADD:biomeLocale:is found swinging from the trees]
- [ADD:biomeLocale:lives in the tropical rainforest]
- [IF:(BIOME:OCEAN_ARCTIC)]
- [ADD:biomeLocale:is found living on seaside cliffs in the colder climates]
- [ADD:biomeLocale:ives on arctic shorelines]
- [IF:(BIOME:ANY_TEMPERATE_FOREST)]
- [ADD:biomeLocale:is found in open woodlands]
- [ADD:biomeLocale:is found in the trees of temperate woodlands]
- [ADD:biomeLocale:is found scurrying through the bushes and trees of the temperate forest]
- [IF:(BIOME:NOT_FREEZING)]
- [ADD:biomeLocale:is found in wooded areas]
- ADD:biomeLocale:can be found under rotten logs and in gardens] wat? removing this til I have vermin info.
- [ADD:biomeLocale:can be found almost anywhere outside]
- [IF:(BIOME:SHRUBLAND_TROPICAL:SAVANNA_TROPICAL:GRASSLAND_TROPICAL)]
- [ADD:biomeLocale:can be found roaming the grassland]
- [ADD:biomeLocale:living in grass and woodland]
- [ADD:biomeLocale:found in grasslands]
- [IF:(BIOME:ANY_TEMPERATE_LAKE:ANY_TEMPERATE_MARSH)]
- [ADD:biomeLocale:can be found in lakes and other bodies of water]
- [IF:(BIOME:MOUNTAIN)]
- [ADD:biomeLocale:can be found in the mountains]
- [ADD:biomeLocale:can be found high in the mountains]
- [ADD:biomeLocale:lives in the high mountains]
- [IF:(BIOME:SHRUBLAND_TEMPERATE:SAVANNA_TEMPERATE:GRASSLAND_TEMPERATE)]
- [ADD:biomeLocale:can be found anywhere from forests to deserts]
- [ADD:biomeLocale:in the grassland]
- [X]
- [IF:(BIOME:FOREST_TAIGA:ANY_TEMPERATE_FOREST)]
- [ADD:biomeLocale:is found in temperate woodland]
- [ADD:biomeLocale:is found in temperate climates]
- [ADD:biomeLocale:is found in temperate forests]
- [ADD:biomeLocale:lives in temperate forests]
- [IF:(BIOME:SHRUBLAND_TEMPERATE:SAVANNA_TEMPERATE:GRASSLAND_TEMPERATE)]
- [ADD:biomeLocale:is found in woods and grassland]
- [IF:(BIOME:ANY_TEMPERATE_FOREST:ANY_TROPICAL_FOREST:SHRUBLAND_TEMPERATE:SHRUBLAND_TROPICAL)]
- [ADD:biomeLocale:is found most often in dense vegetation]
- [IF:(BIOME:TUNDRA:FOREST_TAIGA:ANY_TEMPERATE_FOREST:SHRUBLAND_TEMPERATE)]
- [ADD:biomeLocale:is found in temperate regions]
- [IF:(BIOME:SWAMP_TEMPERATE_FRESHWATER:MARSH_TEMPERATE_FRESHWATER:SWAMP_TROPICAL_FRESHWATER:MARSH_TROPICAL_FRESHWATER:RIVER_TEMPERATE_FREHWATER:RIVER_TROPICAL_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:RIVER_TROPICAL_BRACKISHWATER)]
- [ADD:biomeLocale:is found in rivers and marshlands]
- [IF:(BIOME:ANY_TROPICAL_FOREST:SHRUBLAND_TROPICAL)]
- [ADD:biomeLocale:is found in grasslands]
- [IF:(BIOME:SAVANNA_TROPICAL:GRASSLAND_TROPICAL:SHRUBLAND_TROPICAL)]
- [ADD:biomeLocale:is found in grasslands]
- [ADD:biomeLocale:is found in the savanna]
- [IF:(BIOME:ANY_TROPICAL:DESERT_BADLAND:DESERT_ROCK:DESERT_SAND)]
- [ADD:biomeLocale:is found in grass and woodland]
- [ADD:biomeLocale:is found in tropical jungles]
- [IF(BIOME:ANY_TROPICAL_FOREST:SHRUBLAND_TROPICAL:SWAMP_TROPICAL_FRESHWATER:SWAMP_TROPICAL_SALTWATER:SWAMP_MANGROVE)]
- [ADD:biomeLocale:is found in almost any climate]
- [IF(BIOME:SAVANNA_TROPICAL:GRASSLAND_TROPICAL)]
- [ADD:biomeLocale:is found in the grasslands]
- [IF:(BIOME:FOREST_TROPICAL_MOIST_BROADLEAF:SWAMP_TROPICAL_FRESHWATER:SWAMP_TROPICAL_SALTWATER:SWAMP_MANGROVE)]
- [ADD:biomeLocale:is found in the forest]
- [IF:(BIOME:SWAMP_TROPICAL_FRESHWATER:MARSH_TROPICAL_FRESHWATER:SWAMP_TROPICAL_SALTWATER:MARSH_TROPICAL_SALTWATER:SWAMP_MANGROVE:RIVER_TROPICAL_SALTWATER:RIVER_TROPICAL_BRACKISHWATER:RIVER_TROPICAL_FRESHWATER)]
- [ADD:biomeLocale:is found in coastal marshes and river deltas]
- [IF:(BIOME:GRASSLAND_TROPICAL:SAVANNA_TROPICAL:ANY_DESERT)]
- [ADD:biomeLocale:is found in tropical deserts]
- [ADD:biomeLocale:moves through the savannah]
- [IF:(BIOME:TUNDRA:GRASSLAND_TEMPERATE)]
- [ADD:biomeLocale:is found in temperate forests]
- [IF:(BIOME:SUBTERRANEAN_CHASM):&:(UNDERGROUND:2:3)]
- [ADD:biomeLocale:is found crawling across the cavern floor]
- [ADD:biomeLocale:is found deep under the earth]
- [ADD:biomeLocale:is found deep underground]
- [ADD:biomeLocale:is found far underground]
- [ADD:biomeLocale:lives underground]
- [IF:(BIOME:SUBTERRANEAN_CHASM):&:(UNDERGROUND:3:3)]tt
- [ADD:biomeLocale:is found in deep caves]
- [ADD:biomeLocale:is only found very near the underworld]test comment
- [ADD:biomeLocale:is found deep underground]
- [IF:(BIOME:SUBTERRANEAN_WATER):&:(UNDERGROUND:3:3)]
- [ADD:biomeLocale:is found moving around the debris near underground pools]
- [ADD:biomeLocale:lives near water underground]
- [IF:(BIOME:SUBTERRANEAN_LAVA):&:(UNDERGROUND:3:5)]
- [ADD:biomeLocale:lives in molten rock]
- [IF:(BIOME:SUBTERRANEAN_CHASM):&:(UNDERGROUND:1:3)]
- [ADD:biomeLocale:is found deep underground]
- [ADD:biomeLocale:lives far underground]
- [IF:(BIOME:SUBTERRANEAN_CHASM):&:(UNDERGROUND:1:2)]
- [ADD:biomeLocale:is found deep underground]
- [ADD:biomeLocale:is found underground]
- [ADD:biomeLocale:lives underground]
- [ADD:biomeLocale:lives deep underground]
- [IF:(BIOME:SUBTERRANEAN_WATER):&:(UNDERGROUND:1:2)]
- [ADD:biomeLocale:is found underground]
- [ADD:biomeLocale:is found underground near water]
- [ADD:biomeLocale:lives in underground swamps]
- [ADD:biomeLocale:lives in watery ditches deep underground]
- [ADD:biomeLocale:lives in caves]
- [IF:(BIOME:SUBTERRANEAN_WATER):&:(UNDERGROUND:2:3)]
- [ADD:biomeLocale:lives far underground near water and soil]
- [IF:(BIOME:SUBTERRANEAN_CHASM):&:(UNDERGROUND:1:1)]
- [ADD:biomeLocale:is found underground]
- [IF:(BIOME:SUBTERRANEAN_WATER):&:(UNDERGROUND:1:3)]
- [ADD:biomeLocale:is found deep under the earth]
- [ADD:biomeLocale:live in the waters far under the earth]
- [ADD:biomeLocale:live far underground] test comment
- [IF:(BIOME:ANY_TEMPERATE_FOREST:ANY_TROPICAL_FOREST):&:IS_EVIL]
- [ADD:biomeLocale:is found in evil forests]
- [IF:(BIOME:LAKE_TROPICAL_SALTWATER:LAKE_TROPICAL_BRACKISHWATER:LAKE_TROPICAL_FRESHWATER)]
- [ADD:biomeLocale:is found in remote lakes]
- [IF:(BIOME:SAVANNA_TROPICAL:GRASSLAND_TROPICAL:SHRUBLAND_TROPICAL):&:IS_SAVAGE]
- [ADD:biomeLocale:can be found in the wildest, most savage parts of the world]
- [IF:(BIOME:ANY_TROPICAL:DESERT_BADLAND:DESERT_ROCK:DESERT_SAND):&:IS_SAVAGE]
- [ADD:biomeLocale:is found in the wild lands]
- [ADD:biomeLocale:is found in the savage wilderness]
- [IF:(BIOME:ANY_TROPICAL_FOREST:SHRUBLAND_TROPICAL:SWAMP:TROPICAL_FRESHWATER:SWAMP_TROPICAL_SALTWATER:SWAMP_MANGROVE):AND:IS_SAVAGE]
- [ADD:biomeLocale:is found in the most savage countryside]
- [IF:IS_SAVAGE:&:(BIOME:SAVANNA_TROPICAL:GRASSLAND_TROPICAL:SHRUBLAND_TROPICAL)]
- [ADD:biomeLocale:is found in the savage wilds]
- [IF:IS_SAVAGE:&:(BIOME:DESERT_BADLAND:DESERT_ROCK:DESERT_SAND)]
- [ADD:biomeLocale:is found in the savage lands]
- [IF:(BIOME:SHRUBLAND_TEMPERATE:SAVANNA_TEMPERATE)]
- [ADD:biomeLocale:is found in temperate regions]
- [IF:IS_EVIL:&:(BIOME:SHRUBLAND_TEMPERATE:SAVANNAH_TEMPERATE:GRASSLAND_TEMPERATE:SHRUBLAND_TROPICAL:SAVANNAH_TROPICAL:GRASSLAND_TROPICAL)]
- [ADD:biomeLocale:is found in the evil plains]
- [IF:(BIOME:MOUNTAIN:GLACIER:TUNDRA)]
- [ADD:biomeLocale:is found in the snowy wilds]
- [IF:IS_CURIOUS_BEAST:&:(BIOME:ANY_DESERT:ANY_GRASSLAND:ANY_SAVANNA:ANY_SHRUBLAND:ANY_FOREST)]
- [ADD:biomeLocale:can be found in forests an the streets of towns]
- [IF:(BIOME:FOREST_TEMPERATE_BROADLEAF:ANY_TEMPERATE_SWAMP)]
- [ADD:biomeLocale:is found in the woods and swamps]
- [IF:(BIOME:ANY_GRASSLAND:ANY_DESERT)]
- [ADD:biomeLocale:can be found in the mountains]
- [IF:(BIOME:ANY_TEMPERATE_FOREST:SHRUBLAND_TEMPERATE:MOUNTAIN)]
- [ADD:biomeLocale:is found from the mountains to the woodlands]
- [IF:(BIOME:ANY_TROPICAL_FOREST:SWAMP_MANGROVE:SAVANNA_TROPICAL:GRASSLAND_TROPICAL)]
- [ADD:biomeLocale:is found in the jungle]
- [IF:(BIOME:FOREST_TROPICAL_MOIST_BROADLEAF:FOREST_TROPICAL_DRY_BROADLEAF)]
- [ADD:biomeLocale:is found in the canopy of the jungle]
- [IF:(BIOME:MARSH_TEMPERATE_FRESHWATER:MARSH_TEMPERATE:SALTWATER)]
- [ADD:biomeLocale:lives in the marshand]
- [IF:(BIOME:ANY_DESERT)]
- [ADD:biomeLocale:lives in the desert]
- [IF:(BIOME:TUNDRA:TAIGA)]
- [ADD:biomeLocale:lives in cold climates]
- [IF:(BIOME:FOREST_TROPICAL_MOIST_BROADLEAF:SHRUBLAND_TROPICAL)]
- [ADD:biomeLocale:lives in the tropical forests]
- [IF:(BIOME:POOL_TEMPERATE_FREHWATER:LAKE_TEMPERATE_FRESHWATER:SWAMP_TEMPERATE_FRESHWATER:MARSH_TEMPERATE_FRESHWATER)]
- [ADD:biomeLocale:lives in the trees]
- [IF:(BIOME:ANY_TROPICAL_WETLAND)]
- [ADD:biomeLocale:lives in the trees]
- [IF:(BIOME:ANY_TROPICAL_FOREST)]
- [ADD:biomeLocale:lives in the trees]
- [ELSE] for the fish
- [IF:(BIOME:ANY_OCEAN)]
- [ADD:biomeLocale:is found in coastal waters]
- [ADD:biomeLocale:is found in any ocean]
- [ADD:biomeLocale:lives in the sea]
- [IF:(BIOME:OCEAN_TEMPERATE:OCEAN_TROPICAL)]
- [ADD:biomeLocale:is found in coastal temperate waters]
- [ADD:biomeLocale:is found along coastlines]
- [ADD:biomeLocale:is found on the sea floor in temperate waters]
- [ADD:biomeLocale:is found in the muddy coasts of both temperate and tropical waters]
- [ADD:biomeLocale:is found in shallow seas]
- [ADD:biomeLocale:is found in coral reefs]
- [IF:(BIOME:OCEAN_TROPICAL)]
- [ADD:biomeLocale:is found in tropical oceans]
- [ADD:biomeLocale:can be found in shallow oceanic waters, and has also been known to travel up large rivers]
- [ADD:biomeLocale:is found in shallow oceanic waters]
- [ADD:biomeLocale:is found in coastal waters]
- [ADD:biomeLocale:is found around coral reefs]
- [ADD:biomeLocale:is found in open ocean]
- [ADD:biomeLocale:can be found hunting in coral reefs]
- [ADD:biomeLocale:is found in coral reefs]
- [IF:(BIOME:OCEAN_TEMPERATE)]
- [ADD:biomeLocale:is found in temperate oceans]
- [ADD:biomeLocale:is found in near-tropical shores]
- [ADD:biomeLocale:is found only in temperate waters]
- [ADD:biomeLocale:is found in the muddy bottom of coastal run-offs and ponds]
- [ADD:biomeLocale:is found off the coast]
- [ADD:biomeLocale:lives in the ocean's muddy shallows]
- [IF:(BIOME:OCEAN_ARCTIC:OCEAN_TEMPERATE)]
- [ADD:biomeLocale:is found in freshwater]
- [ADD:biomeLocale:is found on the muddy bottom of shallow seas]
- [ADD:biomeLocale:lives on the bottom of the ocean]
- [IF:(BIOME:OCEAN_TROPICAL:RIVER_TROPICAL_FRESHWATER:RIVER_TROPICAL_BRACKISHWATER:RIVER_TROPICAL_SALTWATER:LAKE_TROPICAL_FRESHWATER:LAKE_TROPICAL_BRACKISHWATER:LAKE_TROPICAL_SALTWATER)]
- [ADD:biomeLocale:is found around coasts and islands]
- [AND:biomeLocale:lives near the beach]
- [IF:(BIOME:RIVER_TEMPERATE_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:LAKE_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_BRACKISHWATER)]
- [ADD:biomeLocale:is found in lakes and streams]
- [IF:(BIOME:RIVER_TROPICAL_FRESHWATER:LAKE_TROPICAL_FRESHWATER)]
- [ADD:biomeLocale:is found in lakes and streams]
- [ADD:biomeLocale:is found in tropical rivers and streams]
- [ADD:biomeLocale:lives in inland waters]
- [IF:(BIOME:RIVER_TEMPERATE_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:LAKE_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_BRACKISHWATER)]
- [ADD:biomeLocale:is found in temperate lakes]
- [IF:(BIOME:SUBTERRANEAN_WATER):&:(UNDERGROUND:1:2)]
- [ADD:biomeLocale:is found in underground streams and ponds]
- [ADD:biomeLocale:is found in underground streams]
- [IF:(BIOME:ANY_OCEAN:ANY_LAKE:ANY_RIVER)]
- [ADD:biomeLocale:is found in both salt and fresh water]
- [IF:(BIOME:OCEAN_TEMPERATE:RIVER_TEMPERATE_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:RIVER_TEMPERATE:SALTWATER)]
- [ADD:biomeLocale:is found in brooks and streams]
- [ADD:biomeLocale:lives in the ocean and swims up a river to breed]
- [IF:(BIOME:OCEAN_ARCTIC:OCEAN_TEMPERATE:RIVER_TEMPERATE_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:RIVER_TEMPERATE_SALTWATER)]
- [ADD:biomeLocale:is found in tributaries and oceans]
- [IF:(BIOME:LAKE_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_BRACKISHWATER)]
- [ADD:biomeLocale:is found in muddy inland waters]
- [ADD:biomeLocale:is found scavenging in inland waters]
- [ADD:biomeLocale:is found in inland waters]
- [IF:(BIOME:RIVER_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_FRESHWATER)]
- [ADD:biomeLocale:is found in temperate lakes and rivers]
- [ADD:biomeLocale:is found in temperate rivers and lakes]
- [ADD:biomeLocale:is found in fresh water]
- [IF:(BIOME:RIVER_TEMPERATE_FRESHWATER:RIVER_TEMPERATE_BRACKISHWATER:RIVER_TEMPERATE_SALTWATER:LAKE_TEMPERATE_FRESHWATER:LAKE_TEMPERATE_BRACKISHWATER:LAKE_TEMPERATE_SALTWATER)]
- [ADD:biomeLocale:is found in coastal rivers and temperate lakes)]
- [IF:(BIOME:RIVER_TROPICAL_FRESHWATER:RIVER_TROPICAL_BRACKISHWATER:RIVER_TROPICAL_SALTWATER:LAKE_TROPICAL_FRESHWATER:LAKE_TROPICAL_BRACKISHWATER:LAKE_TROPICAL_SALTWATER)]
- [ADD:biomeLocale:is found in tropical lakes and rivers)]
- [X]
- vast schools
- hunting alone
- roaming wild, grazing on mushrooms, lurking, wandering the caves
- action: grazing in; eating fruit in; in the sky of
- cluster: in large groups
- cluster: in groups
- cluster: in pairs
- cluster: ambushing its prey
- cluster: hunting solitarily
- cluster: hunting in packs
- cluster: in herds
- cluster: in flocks of many hundreds
- cluster: in huge colonies
- [IF:ADD_UNDERGROUND_DEPTH]
- [INT:minD:(RND:1:3)]
- [TAG_ADD:{UNDERGROUND_DEPTH:(minD):(minD:+:(RND:0:2))}]
- [X]
- =======splitting this off for clarity=======
- [IF:CANCIV:FALSE]
- [IF:(RND:0:277):<:8]
- [TAG_ADD:{GOOD}]
- [DESCRIPTION:VERB:good]
- [ELSEIF:(RND:0:269):<:24]
- [TAG_ADD:{EVIL}]
- [DESCRIPTION:VERB:evil]
- [X]
- [IF:(RND:0:277):<:181]
- [TAG_ADD:{BENIGN}]
- [ELSEIF:(RND:0:96):<:15]
- [TAG_ADD:{SAVAGE}]
- [X]
- [X]
- [IF:SENTIENT]
- [TAG_REMOVE:{PET}]
- [TAG_REMOVE:{PET_EXOTIC}]
- [TAG_REMOVE:{MOUNT_EXOTIC}]
- [TAG_REMOVE:{TRAINABLE}]
- [X]
- =======Split=======
- After all of the above is sorted out, this one line executes the body creation code. Not modifiable.
- It can't be modifiable, really. After all, if you were able to modify the body creation code, some very
- bad stuff would happen... like your creature not working. Or Dwarf Fortress crashing.
- [GENERATE_CREATURE]
- [SKIN_TYPE:SKIN]
- [IF:(RND:1:4):=:1]
- [SKIN_TYPE:SCALE]
- [HAS_HAIR:FALSE]
- [X]
- [INT:rnd:(RND:1:25)]
- [IF:IS_BRONZE]
- [TAG_ADD:{TISSUE:BRONZE}]
- [TAG_ADD: {TISSUE_NAME:bronze:bronze}]
- [TAG_ADD: {TISSUE_MATERIAL:INORGANIC:BRONZE}]
- [TAG_ADD: {MUSCULAR}]
- [TAG_ADD: {FUNCTIONAL}]
- [TAG_ADD: {STRUCTURAL}]
- [TAG_ADD: {RELATIVE_THICKNESS:1}]
- [TAG_ADD: {CONNECTS}]
- [TAG_ADD: {TISSUE_SHAPE:LAYER}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:ALL:BRONZE}]
- [TAG_ADD:{ITEMCORPSE:STATUE:NO_SUBTYPE:INORGANIC:BRONZE}]
- [TAG_ADD:{ITEMCORPSE_QUALITY:5}]
- [ELSEIF:RND:<:21]
- [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_MATERIALS}]
- [IF:SKIN_TYPE:SKIN]
- [IF:(RND:0:1):=:1]
- [TAG_ADD: {REMOVE_MATERIAL:HAIR}]
- [HAS_HAIR:FALSE]
- [X]
- [X]
- [IF:(RND:1:4):=:1:&:HAS_RIBCAGE:=:FALSE:&:HAS_SPINE:=:FALSE:&:HAS_TEETH:=:FALSE:&:HAS_JOINTS:=:FALSE:&:HAS_SKULL:=:FALSE]
- [TAG_ADD: {REMOVE_MATERIAL:BONE}]
- [HAS_BONE:FALSE]
- [X]
- [IF:(RND:1:8):=:1]
- [TAG_ADD: {REMOVE_MATERIAL:CARTILAGE}]
- [HAS_CARTILAGE:FALSE]
- [X]
- [IF:(RND:1:3):=:1:&:HAS_CARTILAGE:=:FALSE:&:HAS_BONE]
- [CHITIN_BONE]
- [TAG_ADD: {REMOVE_MATERIAL:BONE}]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:CHITIN:CHITIN_TEMPLATE}]
- [X]
- [IF:SKIN_TYPE:SCALE]
- [TAG_ADD: {REMOVE_MATERIAL:HAIR}]
- [HAS_HAIR:FALSE]
- [TAG_ADD: {REMOVE_MATERIAL:SKIN}]
- [IF:(RND:1:0):1] backwards RND for debugging purposes.
- [HAS_LEATHER:FALSE]
- [X]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:SCALE:SCALE_TEMPLATE}]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
- [CAN_HAVE_VENOM] for simplicity, only reptiles can be poisonous.
- [X]
- [IF:HAS_HORN]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:HORN:HORN_TEMPLATE}]
- [X]
- [IF:HAS_HOOF]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:HOOF:HOOF_TEMPLATE}]
- [X]
- [IF:HAS_TUSK]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:IVORY:TOOTH_TEMPLATE}]
- [X]
- [IF:(RND:1:15):1:&:SKIN_TYPE:SKIN]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
- [HAS_FEATHER]
- [X]
- [TAG_ADD:{BODY_DETAIL_PLAN}:STANDARD_TISSUES}]
- [IF:SKIN_TYPE:SKIN:&:HAS_HAIR:FALSE]
- [TAG_ADD: {REMOVE_TISSUE:HAIR}]
- [DESCRIPTION:ADJ:hairless]
- [X]
- [IF:HAS_BONE:FALSE]
- [TAG_ADD: {REMOVE_TISSUE:BONE}]
- [X]
- [IF:HAS_CARTILAGE:FALSE]
- [TAG_ADD: {REMOVE_TISSUE:CARTILAGE}]
- [X]
- [IF:SKIN_TYPE:SCALE]
- [TAG_ADD: {REMOVE_TISSUE:HAIR}]
- [TAG_ADD: {REMOVE_TISSUE:SKIN}]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:SCALE:SCALE_TEMPLATE}]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
- [X]
- [IF:HAS_HORN]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:HORN:HORN_TEMPLATE}]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:HOOF:HOOF_TEMPLATE}]
- [X]
- [IF:HAS_TUSK]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:IVORY:IVORY_TEMPLATE}]
- [X]
- [IF:HAS_FEATHER]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
- [X]
- [IF:CHITIN_BONE]
- [TAG_ADD: {REMOVE_TISSUE:BONE}]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:CHITIN:CHITIN:TEMPLATE}]
- [X]
- [IF:HAS_HAIR:FALSE:&:HAS_BONSE:FALSE]
- [DESCRIPTION:ADJ:slimy]
- [DESCRIPTION:ADJ:boneless]
- [TAG_ADD:{BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:(SKIN_TYPE):FAT:MUSCLE}]
- [ELSE]
- [TAG_ADD:{BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:(SKIN_TYPE):FAT:MUSCLE:]
- } ]this is to clear things up in notepad++. not read by the program.
- [IF:CHITIN_BONE]
- [TAG_APPEND:CHITIN:]
- [ELSEIF:HAS_BONE]
- [TAG_APPEND:BONE:]
- [ELSE]
- [TAG_APPEND:NONE:]
- [X]
- [IF:HAS_CARTILAGE]
- [TAG_APPEND:CARTILAGE}]
- [ELSEIF:CHITIN_BONE]
- [TAG_APPEND:CHITIN}]
- [ELSE]
- [TAG_APPEND:NONE}]
- [X]
- [X]
- [IF:(RND:1:6):6:&:HASHAIR]
- [TAG_ADD:{BODY_DETAIL_PLAN:BODY_HAIR_TISSUE_LAYERS:HAIR}]
- [PREFLIST:manes]
- [ADD_HAIR]
- [DESCRIPTION:DESC:a thick mane]
- [DESCRIPTION:VERB:is covered in thick fur]
- [IF:EYECOUNT:2:&:HAS_MOUTH:&:HAS_NOSE:&:HAS_EARS]
- [DESCRIPTION:DESC:a mane circling its face]
- [X]
- [X]
- [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS}]
- [IF:(RND:0:2):1]
- [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_HEAD_POSITIONS}]
- [X]
- [IF:HAS_RIBCAGE]
- [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS}]
- [X]
- [IF:(RND:0:2):1]
- [TAG_ADD:{BODY_DETAIL_PLAN:HUMANOID_RELSIZES}]
- [X]
- [IF:HAS_FEATHER]
- [TAG_ADD:{BODY_DETAIL_PLAN:BODY_FEATHER_TISSUE_LAYERS:FEATHER}]
- [DESCRIPTION:ADJ:feathered]
- [DESCRIPTION:DESC:feathers covering its body]
- [X]
- otherwise...
- [ELSEIF:rnd:21]
- [PREFLIST:chittering]
- [SKIN_TYPE:CHITIN]
- [TAG_ADD:{BODY_DETAIL_PLAN:CHITIN_MATERIALS}]
- [TAG_ADD: {USE_MATERIAL_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
- [IF:HAS_HORN]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:HORN:HORN_TEMPLATE}]
- [X]
- [IF:HAS_HOOF]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:HOOF:HOOF_TEMPLATE}]
- [X]
- [IF:HAS_TUSK]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:IVORY:TOOTH_TEMPLATE}]
- [X]
- [IF:HAS_FEATHER]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
- [X]
- [TAG_ADD:{BODY_DETAIL_PLAN:CHITIN_TISSUES}]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:TOOTH:CHITIN_TEMPLATE}]
- [IF:HAS_HORN]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:HORN:HORN_TEMPLATE}]
- [X]
- [IF:HAS_HOOF]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:HOOF:HOOF_TEMPLATE}]
- [X]
- [IF:HAS_TUSK]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:IVORY:IVORY_TEMPLATE}]
- [X]
- [IF:HAS_FEATHER]
- [TAG_ADD: {USE_TISSUE_TEMPLATE:FEATHER:FEATHER_TEMPLATE}]
- [X]
- [TAG_ADD:{BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:CHITIN:FAT:MUSCLE}]
- [TAG_ADD:{BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS}]
- [CAN_HAVE_VENOM] scorpion types can have poison too.
- [ELSEIF:rnd:22]
- [SKIN_TYPE:FLESH]
- [PREFLIST:warmth]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:FLESH:MUSCLE_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:FLESH_TEMPLATE}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:ALL:FLESH}]
- [IF:(CONTAINS:BP_LIST:BASIC_1PARTBODY)]checking a list for an item. painful.
- [DESCRIPTION:NOUN:ball of skin]
- [X]
- [ELSEIF:rnd:23]
- [SKIN_TYPE:STONE]
- [INT:thisStone:(RND:0:(COUNT:stoneName))]"lk" doesn't mean anything, it's just a random variable name. This
- line creates lk as an integer between 0 and stoneName's count (stoneName is a list defined near the top of
- this file). Using this line, I can have the same values for both stoneName and stoneID, making sure the
- stone strings match. and yes, you can stack commands in parentheses.
- [PREFLIST:rockiness]
- [DESCRIPTION:VERB:is made entirely of stone]
- [TAG_ADD:{TISSUE:ROCK}]
- [TAG_ADD: {TISSUE_NAME:(stoneName:thisStone):NP}]pulls the stone name from index "lk". All you
- need to do to pull a string from a list is just put (theName) inside parentheses. Putting an integer
- behind it is optional. Without a colon, it pulls a random variable.
- [TAG_ADD: {TISSUE_MATERIAL:INORGANIC:(stoneID(thisStone))}]pulls the stonetype matching the
- randomly-pulled stone name
- [TAG_ADD: {MUSCULAR}]
- [TAG_ADD: {FUNCTIONAL}]
- [TAG_ADD: {STRUCTURAL}]
- [TAG_ADD: {RELATIVE_THICKNESS:1}]
- [TAG_ADD: {CONNECTS}]
- [TAG_ADD: {TISSUE_SHAPE:LAYER}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:ALL:ROCK}]
- [ELSE] wet-type creatures last.
- [SKIN_TYPE:WET]
- [INT:thisLiquid:(RND:0:liquids.Count)]"count" can be capitalized or lowercase. hopefully.
- [PREFLIST:(liquids(thisLiquid))]
- [DESCRIPTION:VERB:is made entirely of (liquids(thisLiquid))]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE}] regardless of what it's made of, it acts like
- blood.
- [TAG_ADD:{TISSUE:BLOOD}]
- [TAG_ADD: {TISSUE_NAME:(liquids(thisLiquid)):NP}]
- [TAG_ADD: {TISSUE_MATERIAL:LOCAL_CREATURE_MAT:BLOOD}]
- [TAG_ADD: {TISSUE_MAT_STATE:LIQUID}]
- [TAG_ADD: {MUSCULAR}]
- [TAG_ADD: {FUNCTIONAL}]
- [TAG_ADD: {STRUCTURAL}]
- [TAG_ADD: {RELATIVE_THICKNESS:1}]
- [TAG_ADD: {CONNECTS}]
- [TAG_ADD: {TISSUE_SHAPE:LAYER}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:ALL:BLOOD}]
- [X]
- and we're finally done. NOW FOR THE NEXT PART.
- [IF:(RND:0:20):10]
- [TAG_ADD:{BODYGLOSS:PAW}]
- [X]
- [IF:(RND:0:30):10]
- [TAG_ADD:{BODYGLOSS:MAW}]
- [X]
- [IF:(RND:0:1):1:&:HAS_HEART]
- [TAG_ADD:{SELECT_TISSUE_LAYER:HEART:BY_CAT:HEART}]
- [IF:HAS_THROAT]
- [TAG_ADD:{PLUS_TISSUE_LAYER:SKIN:BY_CAT:THROAT}]
- [TAG_ADD: {TL_MAJOR_ARTERIES}]
- [X]
- [IF:HAS_TOES]
- [rnd:(RND:1:4)]
- [IF:rnd:1]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:TOE:NAIL:FRONT}]
- [HAS_NAILS]
- [HAS_TOENAILS]
- [ELSEIF:rnd:2]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:TALON:NAIL_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:TALON:TALON_TEMPLATE}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:TOE:TALON:FRONT}]
- [HAS_TALON]
- [DESCRIPTION:DESC:taloned feet]
- [ELSEIF:rnd:3]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:CLAW:NAIL_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:CLAW:CLAW_TEMPLATE}]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:TOE:CLAW:FRONT}]
- [DESCRIPTION:DESC:clawed toes]
- [HAS_CLAWS]
- [HAS_TOECLAWS]
- [X]
- [X]
- [IF:HAS_FINGERS]
- [rnd:(RND:1:3)]
- [IF:rnd:1]
- [IF:HAS_NAILS:FALSE]This is important, to make sure you only add the tissue/material
- templates once.
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE}]
- [HAS_FINGERNAILS] In the 34.11 version of RandCreatures, this was inside the above
- if/then statement... which seems erroneous to me. I think the effect of it would be to stop creatures
- from being able to attack with their fingernails if they didn't have toenails. I've fixed it here.
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:FINGER:NAIL:FRONT}]
- [ELSEIF:rnd:2]
- [IF:HAS_CLAWS:FALSE]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:CLAW:NAIL_TEMPLATE}]
- [TAG_ADD:{USE_TISSUE_TEMPLATE:CLAW:CLAW_TEMPLATE}]
- [HAS_FINGERCLAWS]
- [TAG_ADD:{TISSUE_LAYER:BY_CAT:FINGER:CLAW:FRONT}]
- [DESCRIPTION:DESC:clawed fingers] Might be better for a preflist item... I don't know.
- [X]
- [X]
- [IF:(RND:0:2):!=:0] if a random number between zero and two isn't zero, then:
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE}]
- [TAG_ADD:{TENDONS:LOCAL_CREATURE_MAT:SINEW:200}]
- [TAG_ADD:{LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200}]
- [x]putting this x in lowercase to remind me to watch for typos.
- [TAG_ADD:{HAS_NERVES}] all creatures have nerves. No exceptions, apparently... may change.
- =======Bodysize=======
- This section is stuff that gets added later, but needs to be calculated RIGHT NOW, for
- use with the creature gait speed code stuff.
- First up, age and weight.
- [DOUBLE:maxAge:(DECRND:10:100)] new stuff. define a double of your choice. decrnd pulls
- a random decimal number.
- [DOUBLE:tempDec:(DECRND:1.4:2)]
- [DOUBLE:maxAge2:(maxAge:*:tempDec)] messy, but it's the way it has to be. I'm not trying
- to write something incredible here - just something that works. I may fix it later and
- allow you to stack things like random calls and arithmetic functions, but til then...
- [DOUBLE:bodySize2]these are never null.
- [IF:CAN_CIV] if creature isn't a megabeast, then:
- Here's a bit of magic: multiplies everything in the tag.
- [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)]
- [bodySize2:=*:(SQRT:bodySize2):1.4142] too much new math.
- [bodySize2:=*:bodySize2:bodySize2] a simple square.
- The math behind this: with that last square, small creature stay small, big creatures get bigger. Easy as math.
- Average body size is around 75000, right where I originally wanted it in the first
- release (at least, if everything goes well). A larger size (x2) starts out about 75000 and
- ends up being around 150000. A x2 normal increase becomes a x4 increase. The above is all
- subject to change. I want to make sure I get the occasional "gigantic" creature. Send me
- any better code you come up with if you want; I may implement it. (with you credited,
- of course.)
- [ELSEIF:SEMI:FALSE]
- [bodySize2:(RND:8000000:25000000)] very big creatures.
- [ELSEIF:SEMI]
- [bodySize2:(RND:220000:9000000)] funny that vanilla semimegabeasts are tiny comparatively.
- [X]
- [tempDec:(RND:2:25)]
- [INT:bodySize1:(RND:bodySize2:tempDec)] RandCreatures knows how to round off decimal numbers before multiiplying with integers, yay
- [tempDec:(RND:10:50)]
- [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.
- [IF:maxAge:>:100]
- [DESCRIPTION:VERB:lives to an old age]
- [X]
- [tempDec:=/:maxAge:(RND:1:10)]/ and - don't work the same way. you only get to use them with two numbers.
- [INT:bodyAge:(MAX:2:tempDec)]
- And now we're ready to add the body size and age tags. We'll add them later. Far later.
- ========Pus and poison========
- [IF:(RND:0:7):1]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:ICHOR:ICHOR_TEMPLATE}]
- [TAG_ADD:{BLOOD:LOCAL_CREATURE_MAT:ICHOR:LIQUID}]
- [TAG_ADD:{CREATURE_CLASS:GENERAL_POISON}]
- [TAG_ADD:{GETS_WOUND_INFECTIONS}]
- [TAG_ADD:{GETS_INFECTIONS_FROM_ROT}]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE}]
- [TAG_ADD:{PUS:LOCAL_CREATURE_MAT:PUS:LIQUID}]
- [ELSE]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE}]
- [IF:(RND:0:25):1]
- [TAG_ADD:{STATE_COLOR:ALL:(bloodColor)}]
- [X]
- [TAG_ADD:{BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID}]
- [TAG_ADD:{CREATURE_CLASS:GENERAL_POISON}]
- [TAG_ADD:{GETS_WOUND_INFECTIONS}]
- [TAG_ADD:{GETS_INFECTIONS_FROM_ROT}]
- [TAG_ADD:{USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE}]
- [TAG_ADD:{PUS:LOCAL_CREATURE_MAT:PUS:LIQUID}]
- [X]
- NEW STUFF! CREATURES POISON YOU TO DEATH FOR KICKS! WORKS FOR MOTHER-IN-LAWS OF ALL AGES!
- [IF:CAN_HAVE_VENOM:&:(CONTAINS:BP_CAT:MOUTH):FALSE:&:(CONTAINS:BP_CAT:TOOTH:FALSE):&:(CONTAINS:BP_CAT:STINGER:FALSE)]
- [CAN_HAVE_VENOM:FALSE] Make sure nothing can have venom without a way to stick it to you.
- [X]
- [IF:(RND:0:277):<:17:&:CAN_HAVE_VENOM] little higher than average, but what the hey.
- [ADD_TAG:{USE_MATERIAL_TEMPLATE:VENOM:CREATURE_EXTRACT_TEMPLATE}]
- [ADD_TAG: {STATE_NAME:ALL_SOLID:frozen $NAME$ venom}] $NAME$ is replaced later with the creature's generated name.
- [ADD_TAG: {STATE_ADJ:ALL_SOLID:frozen $NAME$ venom}]
- [ADD_TAG: {STATE_NAME:LIQUID:$NAME$ venom}]
- [ADD_TAG: {STATE_ADJ:LIQUID:$NAME$ venom}]
- [ADD_TAG: {STATE_NAME:GAS:boiling $NAME$ venom}]
- [ADD_TAG: {STATE_ADJ:GAS:boiling $NAME$ venom}]
- [ADD_TAG: {PREFIX:NONE}]
- [ADD_TAG: {ENTERS_BLOOD}]
- [ADD_TAG: {SYNDROME}]
- [ADD_TAG: {SYN_NAME:$NAME$ bite}]
- [ADD_TAG: {SYN_AFFECTED_CLASS:GENERAL_POISON}]
- [ADD_TAG: {SYN_IMMUNE_CREATURE:$ID$:ALL}]
- [ADD_TAG: {SYN_INJECTED}]
- [STR:var1]
- [STR:var2]
- [STR:var3]
- [IF:(RND:0:15):<:14] Pain
- [IF:(RND:0:13):<:11]
- [var1:SIZE_DILUTES;] ; gets turned into :.
- [X]
- [IF:(RND:0:13):<:13]
- [var2:LOCALIZED;VASCULAR_ONLY;]
- [X]
- [ADD_TAG: {CE_PAIN:SEV:(RND:25:70:100):PROB:100:RESISTABLE:(var1)(var2)START:(RND:0:36:100):PEAK:(+RND:10:248:490):END:(+RND:100:1256:2390)}]
- triple-number RND means there's a 50% chance of it being between A and B, and a
- 50% chance of it being between B and C. The +RND means it adds that total to the end of
- the last RND number, effectively slowly increasing it towards the right - just like it should.
- [X]
- [IF:(RND:0:15):<:8] Swelling
- [var1:]
- [IF:(RND:0:6):<:5]
- [var1:SIZE_DILUTES;] ; gets turned into :.
- [X]
- [ADD_TAG: {CE_SWELLING:SEV:(RND:10:43:100):PROB:100:RESISTABLE:(var1)LOCALIZED:VASCULAR_ONLY:START:(RND:25:46:50):PEAK:(+RND:25:389:450):END:(+RND:1000:1021:1150)}]
- [X]
- [IF:(RND:0:15):<:7] Dizziness
- [var1:]
- [var2:]
- [var3:]
- [IF:(RND:0:6):<:6]
- [var1:RESISTABLE;] ; gets turned into :.
- [X]
- [IF:(RND:0:6):<:5]
- [var2:SIZE_DILUTES;] ; gets turned into :.
- [X]
- [INT:i1:(RND:5:31:50)]
- [INT:i2:(+RND:5:227:470)]
- [INT:i3:(+RND:1000:6465:33590)]you can thank phantom spiders for this long number. thankfully weighted towards the low side... mostly.
- [IF:(RND:0:6):<:6]
- [var3:;END;(i3)] ; gets turned into :.
- [X]
- [TAG_ADD: {CE_DIZZINESS:SEV:(RND:10:50):PROB:100:(var1)(var2)START:(i1):PEAK:(i2)(var3)}]
- [X]
- [IF:(RND:0:15):<:5] Nausea. Always functionally the same, thankfully.
- [TAG_ADD: {CE_NAUSEA:SEV:50:PROB:(RND:14:83:100):RESISTABLE:SIZE_DILUTES:START:(RND:50:122:400):PEAK:(+RND:100:318:450):END:(+RND:100:760:1000)}]
- [X]
- [IF:(RND:0:15):<:5] Paralysis. Also always functionally the same.
- [TAG_ADD: {CE_PARALYSIS:SEV:100:PROB:100:RESISTABLE:SIZE_DILUTS:START:(RND:5:49:125):PEAK:(+RND:5:117:450):END:(+RND:10:624:1100)}]
- [X]
- [IF:(RND:0:15):<:3] Necrosis. Deadly awesome.
- [var1:RESISTABLE;SIZE_DILUTES;LOCALIZED;VASCULAR_ONLY;]
- [IF:(RND:0:2):<:1] You're getting giant desert scorpion death.
- [var1:RESISTABLE;BP;BY_TYPE;THOUGHT;ALL;BP;BY_TYPE;NERVOUS;ALL;]
- [X]
- [TAG_ADD: {CE_NECROSIS:SEV:100:PROB:(RND:37:79:100):(var1)START:(RND:50:67:100):PEAK:(+RND:400:633:750):END:(+RND:1900:2100:2200)}]
- [X]
- [IF:(RND:0:15):<:3] Fever. Behaves the same way every time. Only difference is how likely you are to be affected.
- [TAG_ADD: {CE_FEVER:SEV:50:PROB:(RND:14:71:100):RESISTABLE:SIZE_DILUTES:START:50:PEAK:500:END:1500}]
- [X]
- [IF:(RND:0:15):<:3] Bleeding. It's never overly bad, and it never lasts long.
- [TAG_ADD: {CE_BLEEDING:SEV:10:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:(RND:10:37:50):PEAK:(+RND:20:23:25):END:(+RND:20:23:25)}]
- [X]
- [IF:(RND:0:15):<:2] Bruising. Always the same.
- [TAG_ADD: {CE_BRUISING:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500}]
- [X]
- [IF:(RND:0:15):<:2] Blisters. Always the same.
- [TAG_ADD: {CE_BLISTERS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500}]
- [X]
- [IF:(RND:0:15):<:2] Unconsciousness. You feeling lucky, punk?
- [TAG_ADD: {CE_UNCONSCIOUSNESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:50:PEAK:(RND:50:450):END:(RND:100:1000)}]
- [X]
- [IF:(RND:0:15):<:2] Drowsiness. Always lasts a long time, but may take a while to reach its peak.
- [TAG_ADD: {CE_DROWSINESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30:PEAK:(RND:70:470):END:(RND:1000:1100)}]
- [X]
- [IF:(RND:0:15):0] Oozing. One in sixteen chance. Rare, to say the least, and always acts the same.
- [TAG_ADD: {CE_OOZING:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500}]
- [X]
- [IF:(RND:0:15):0] Numbness. Same as oozing. Lasts a freaking long time. Say thank you to phantom spiders.
- [TAG_ADD: {CE_NUMBNESS:SEV:100:PROB:100:START:5:PEAK:10:END:33600}]
- [X]
- [IF:TAG_LAST:SYNDROME] If it hasn't added anything...
- CRIPPLING PAIN!!! ...okay, just average pain.
- [TAG_ADD: {CE_PAIN:SEV:70:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:36:PEAK:248:END:1256}]
- [X]
- [IF:(RND:0:1):1]
- [TAG_ADD:{EXTRACT:LOCAL_CREATURE_MAT:VENOM}]
- [X]
- [X]
- DROWSINESS:2/16 SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:30; PEAK 70-470 ; END 1000-1100
- OOZING:1/16 CE_OOZING:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500
- NUMBNESS:1/16 CE_NUMBNESS:SEV:100:PROB:100:START:5:PEAK:10:END:33600
- DIZZINESS:7/16 sev:10-50; PROB:100; RESISTABLE optional (6/7); SIZE_DILUTES optional (5/7): START:5-31-50; PEAK 5-227-470; END optional (6/7) 1000-6465-33590
- NAUSEA:5/16 sev:50; prob:14-83-100;resistable;size_dilutes; START: 50-122-400; PEAK: 100-318-450 ; END:100-760-1000
- PARALYSIS:5/16 sev:100;prob:100;resistable;size_dilutes; START: 5-49-125; PEAK: 5-117-450 ; END: 10-624-1100
- NECROSIS:3/16 sev:100;prob:37-79-100 ; resistable:size_dilutes:localized:vascular_only ; START: 50-67-100 ; PEAK: 400-633-750 ; END: 1900-2100-2200
- FEVER:3/16 sev:50;prob:14-71-100;RESISTABLE:SIZE_DILUTE:START:50:PEAK:500:END:1500
- BLEEDING:3/16 SEV:10:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START: 10-37-50 ; PEAK 20-23-25 ; END 20-23-25
- BRUISING:2/16 CE_BRUISING:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500
- BLISTERS:2/16 CE_BLISTERS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:LOCALIZED:VASCULAR_ONLY:START:50:PEAK:500:END:1500
- UNCONSCIOUSNESS:2/16 CE_UNCONSCIOUSNESS:SEV:50:PROB:100:RESISTABLE:SIZE_DILUTES:START:50:PEAK:50-450:END:100-1000
- And now we add the bodysize/age stuff I mentioned way up there somewhere.
- [TAG_ADD:{BODY_SIZE:0:0:(bodySize0)}]
- [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.
- [TAG_ADD:{BODY_SIZE:(bodyAge):(bodySize2)}]
- [TAG_ADD:{MAXAGE:(maxAge):(maxAge2)}]
- [DOUBLE:thisIt:(DECRND:1:3)]Can't remember why I called it this. Probably a throwaway name.
- [IF:thisIt:<:1.25] yay, doubles
- [DESCRIPTION:VERB:matures at an old age]
- [ELSEIF:thisIt:>:2.75]
- [DESCRIPTION:VERB:matures at a young age] there was a typo in the original that said "an" instead of "a".
- [X]
- [INT:nextAge:=/:bodyAge:thisIt]
- [TAG_ADD:{CHILD:(nextAge)}]
- [TAG_ADD:{ALL_ACTIVE}] whoa, did I really do this? Huh. This is definitely subject to
- change. I don't have a clue why I would've done this.
- And now size stuff. These are Toady's own interpretations of sizes.
- [IF:bodySize:>:0:&:bodySize:<:10000]
- [DESCRIPTION:SIZE:tiny]
- [X]
- [IF:bodySize:>:1000:&:bodySize:<:59000]
- [DESCRIPTION:SIZE:small]
- [X]
- [IF:bodySize:>:3000:&:bodySize:<:137000]
- [DESCRIPTION:SIZE:medium-sized]
- [X]
- [IF:bodySize:>:92000:&:bodySize:<:4608000]
- [DESCRIPTION:SIZE:huge]
- [X]
- [IF:bodySize:>:138000:&:bodySize:<:6912000]
- [DESCRIPTION:SIZE:large]
- [X]
- [IF:bodySize:>:588000]
- [DESCRIPTION:SIZE:gigantic]
- [IF:HAS_BEAK]
- [DESCRIPTION:DESC:uses its beak to pluck up unsuspecting intruders] stole this from Toady.
- [X]
- [X]
- More stuff!
- [INT:rndX:(RND:1:4)]
- [IF:rndX:2]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110}]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110}]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110}]
- [ELSEIF:rndX:3]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:LENGTH:80:95:98:100:102:105:120}]
- 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.
- DESCRIPTION:VERB:tunnels through the rocks
- [IF:(CONTAINS:BP_LIST:BASIC_1PARTBODY)]
- [DESCRIPTION:DESC:hundreds of feet moving along the bottom of its body]
- [X]
- [ELSEIF:rndX:4]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110}]
- [TAG_ADD:{BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110}]
- [X]
- 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.
- ========Attack info========
- It's possible to get a lot more random than this, but I don't want to. I want my creatures
- to rip your eyes out and batter you to little bloody pieces, and then grind what's left
- of you into pulp. Before chopping up what's left and regurgitating it to their young.
- Basically, I want it to hurt as if they're really trying.None of my creatures
- should EVER come across as pathetic by nature.
- [IF:(CONTAINS:BP_CAT:BEAK)]
- [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CAT:BEAK}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}] these may change off of "100" later. no idea though.
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [X]
- [IF:HAS_TALON]
- [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CAT:ALL:TALON}]
- [IF:(RND:0:1):1]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [ELSE]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [X]
- [TAG_ADD: {ATTACK_VERB:snatch at:snatches at}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:(randomPriority)}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [X]
- [IF:(CONTAINS:BP_TYPE:STANCE)]
- [TAG_ADD:{ATTACK:KICK:BODYPART:BY_TYPE:STANCE}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:kick:kicks}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}] A new line. 4:4. Guess that means slower? (Kidding, I know what it means.)
- [TAG_ADD: {ATTACK_PRIORITY:SECOND}] This used to be MAIN... huh.
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:HAS_TEETH:&:TRUE_HEAD:&:HAS_HEAD]
- [TAG_ADD:{ATTACK:BITE:CHILD_BP_GROUP:BY_CAT:HEAD:BY_CAT:TOOTH}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:(randomPriority)}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [IF:HAS_VENOM:&:(CONTAINS:BP_CAT:STINGER):FALSE]
- [TAG_ADD: {SPECIALATTACK_INJECT_EXTRACT:LOCAL_CREATURE_MAT:POISON:LIQUID:100:100}]
- [USED_VENOM] Just to say the venom has already been placed in a bodypart.
- [X]
- [X]
- [IF:HAS_TEETH:FALSE:&:HAS_MOUTH]
- [IF:HAS_VENOM:&:(CONTAINS:BP_CAT:STINGER):FALSE:&:USED_VENOM:FALSE]
- [TAG_ADD:{ATTACK:STING:BODYPART:BY_CAT:MOUTH}]only one creature does this
- [ELSE]
- [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CAT:MOUTH}]
- [X]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}] Just a mouth, still a good bite.
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [IF:HAS_VENOM:&:(CONTAINS:BP_CAT:STINGER):FALSE:&:USED_VENOM:FALSE]
- [TAG_ADD: {SPECIALATTACK_INJECT_EXTRACT:LOCAL_CREATURE_MAT:POISON:LIQUID:100:100}]
- [USED_VENOM]
- [X]
- [X]
- [IF:HAS_FINGERCLAWS] Huh, in the raws, only crundles have this now.
- [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CAT:FINGER:CLAW}]only for crundles, but hey
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATIN_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [X]
- [IF:HAS_TOECLAWS]
- [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CAT:ALL:CLAW}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATIN_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [X]
- [IF:HAS_HAND]
- [TAG_ADD:{ATTACK:PUNCH:BODYPART:BY_TYPE:GRASP}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:punch:punches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}] Used to be "second", but got an overhaul.
- [X]
- [IF:NO_TENTACLE:FALSE]oh god, it's hentai DF all over again
- [TAG_ADD:{ATTACK:BITE:CHILD_BP_GROUP:BY_CAT:TENTACLE:BY_CAT:TOOTH}] In vanilla, only Green Devourers get this.
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [X]
- [IF:HAS_MANDIBLES] In vanilla raws, only the bugbat gets this.
- [TAG_ADD:{ATTACK:BITE:CHILD_BP_GROUP:BY_CAT:HEAD:BY_CAT:MANDIBLE}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [X]
- [IF:HAS_FINGERNAILS]
- [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:GRASP:BY_CAT:FINGER:NAIL}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}] Honestly, are this value
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}] and this value ever anything but 100 in the vanilla raws? I fail to see the point of these lines...
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
- [X]
- [IF:HAS_TOENAILS] Fixed for the new version.
- [TAG_ADD:{ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CAT:ALL:NAIL}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:scratch:scratches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PRIORITY:SECOND}]
- [X]
- [IF:HAS_TOECLAWS] Cave dragon, dragon, hydra.
- [TAG_ADD:{ATTACK:CLAW:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CAT:ALL:CLAW}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:claw:claws}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:(randomPriority)}]
- [X]
- [IF:HEAD_BODY:&:(CONTAINS:BP_CAT:TUSK)] Just for gorlak-likes
- [TAG_ADD:{ATTACK:BITE:CHILD_BP_GROUP:BY_CAT:HEAD:BY_CAT:TUSK}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [X]
- [IF:(CONTAINS:BP_CAT:PINCER)]
- [TAG_ADD:{ATTACK:PINCER:BODYPART:BY_CAT:PINCER}]
- [TAG_ADD: {ATTACK_SKILL:GRASP_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:snatch:snatches}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [X]
- [IF:(CONTAINS:BP_CAT:PROBOSCIS)]
- [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CAT:PROBOSCIS}]odd, can't find this in vanilla raws anymore
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:bite:bites}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_CANLATCH}]
- [TAG_ADD: {SPECIALATTACK_SUCK_BLOOD:25:50}]
- [X]
- New stuff
- [IF:(CONTAINS:BP_CAT:STINGER)]
- [TAG_ADD:{ATTACK:STING:BODYPART:BY_CAT:STINGER}] only one creature has this
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:sting:stings}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:5}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [IF:HAS_VENOM]
- [TAG_ADD: {SPECIALATTACK_INJECT_EXTRACT:LOCAL_CREATURE_MAT:POISON:LIQUID:100:100}]
- [USED_VENOM]
- [X]
- [X]
- [IF:(CONTAINS:BP_CAT:HOOF_FRONT)]
- [TAG_ADD: {ATTACK:KICK:BODYPART:BY_CAT:HOOF_FRONT}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:kick:kicks}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:(CONTAINS:BP_CAT:HOOF_REAR)]
- [TAG_ADD: {ATTACK:KICK:BODYPART:BY_CAT:HOOF_REAR}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:kick:kicks}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:(CONTAINS:BP_CAT:FOOT_REAR)]
- [TAG_ADD: {ATTACK:KICK:BODYPART:BY_CAT:FOOT_REAR}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:kick:kicks}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:(CONTAINS:BP_CAT:FOOT_FRONT)]
- [TAG_ADD: {ATTACK:KICK:BODYPART:BY_CAT:FOOT_FRONT}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:kick:kicks}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:(CONTAINS:BP_CAT:HORN)]
- [TAG_ADD: {ATTACK:GORE:BODYPART:BY_CAT:HORN}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:gore:gores}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [X]
- [IF:IS_AQUATIC:&:(CONTAINS:BP_CAT:TAIL)]
- [TAG_ADD:{ATTACK:SLAP:BODYPART:BY_CAT:TAIL}]
- [TAG_ADD: {ATTACK_SKILL:STANCE_STRIKE}]
- [TAG_ADD: {ATTACK_VERB:slap:slaps}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:4:4}]
- [TAG_ADD: {ATTACK_PRIORITY:(randomPriority)}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [TAG_ADD: {ATTACK_FLAG_BAD_MULTIATTACK}]
- [X]
- [IF:(CONTAINS:BP_CAT:TUSK):&:HEAD_BODY:FALSE]Anything that has tusks that isn't a gorlak
- [TAG_ADD:{ATTACK:GORE:BODYPART:BY_CAT:TUSK}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:gore:gores}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_WITH}]
- [X]
- [IF:(CONTAINS:BP_LIST:SNOUT_NOSMELL)]
- [TAG_ADD:{ATTACK:BITE:BODYPART:BY_CAT:NOSE}]
- [TAG_ADD: {ATTACK_SKILL:BITE}]
- [TAG_ADD: {ATTACK_VERB:stab:stabs}]
- [TAG_ADD: {ATTACK_CONTACT_PERC:100}]
- [TAG_ADD: {ATTACK_PENETRATION_PERC:100}]
- [TAG_ADD: {ATTACK_PRIORITY:MAIN}]
- [TAG_ADD: {ATTACK_FLAG_EDGE}]
- [TAG_ADD: {ATTACK_PREPARE_AND_RECOVER:3:3}]
- [X]
- SPAAAAAAACCCEEEEEEE
- Diurnal/nocturnal/all_active/crepuscular
- =======Gaits=======
- splitting this off from the other stuff. (note: the ==split== thing doesn't do anything, by the way - it's
- just a comment.) The reason is... This is totally new code. Toady added creature gaits to 40.xx, so I have
- to find a way to deal with it. Watch out, world. Protyping coming through.
- All of the following are comments made for my personal reference. Yay for maths.
- relevant tags: has_wings, is_biped, is_quadruped, has_fins, has_stance, has_tail, has_grasp, can_fly,
- can_swim, bodysize, grazer, likes_fighting, no_vegetation_perturb, slow_learner, meanderer, flier... may be more that affect it
- STANDARD_BIPED_GAITS: ranges from 1 to 41, standard 30?
- STANDARD_QUADRUPED_GAITS: ranges from 2 to 87, standard 10-45
- STANDARD_CLIMBING_GAITS: ranges from 1 to 56, standard 1-15
- STANDARD_SWIMMING_GAITS: ranges from 1 to 40, standard 1-35
- STANDARD_CRAWLING_GAITS: ranges from 1 to 12, standard 1-12
- STANDARD_FLYING_GAITS: ranges from 15 to 87, standard 15-35
- STANDARD_WALK_CRAWL_GAITS: ranges from 1 to 20, standard 1-10
- fullTotal
- Biped Gaits: 13% 100% 1442 1190 942 587 2440 3499 1.0
- Quadruped Gaits: 31% 100% 1424 1066 830 396 2430 3520 1.0
- Climbing Gaits: 43% 100% 5431 5009 4615 3625 6346 7450 1.0
- Swimming Gaits: 100% 100% 5638 5358 5092 4289 6453 7337 1.0
- Flying Gaits: 18% 100% 1214 936 704 445 2232 3289 1.0
- Crawling Gaits: 91% 100% 7526 7264 7022 6249 8222 8970 1.0
- Walk_crawl Gaits: 14% 100% 6905 6623 6358 5102 7658 8481 1.0
- min
- Biped Gaits: 100% 2% 900 708 515 286 1900 2900 0.62
- Quadruped Gaits: 100% 0% 900 464 322 175 1839 2889 0.63
- Climbing Gaits: 100% 0% 3063 2310 1558 752 4210 5659 0.56
- Swimming Gaits: 100% 0% 941 729 518 288 1947 2963 0.17
- Flying Gaits: 100% 1% 900 597 412 213 1900 2900 0.74
- Crawling Gaits: 100% 0% 4790 4239 3696 1316 5863 7255 0.64
- Walk_crawl Gaits: 100% 2% 3730 3432 3141 1097 4678 5733 0.54
- max
- Biped Gaits: 100% 2% 5487 5239 5004 3601 6285 7122 3.81
- Quadruped Gaits: 100% 0% 2380 1994 1609 689 3465 4738 1.67
- Climbing Gaits: 100% 0% 9000 8900 8825 8775 9500 9900 1.66
- Swimming Gaits: 100% 0% 8612 8462 8335 7857 9171 9677 1.53
- Flying Gaits: 100% 1% 2206 1692 1178 585 3400 4900 1.82
- Crawling Gaits: 100% 0% 9000 8900 8825 8775 9500 9900 1.2
- Walk_crawl Gaits: 100% 2% 9000 8900 8825 8775 9500 9900
- div These numbers show how big of a range there is for each.
- Flying trait: 2.45 2.83 2.86 2.75 1.79 1.69 145
- Crawling trait: 1.88 2.1 2.39 6.67 1.62 1.36 161
- Quadrupedtrait: 2.64 4.3 5.0 3.94 1.88 1.64 183
- Walk_craw trait:2.41 2.59 2.81 8.0 2.03 1.73 195
- Climbing trait: 2.94 3.85 5.66 11.67 2.26 1.75 283
- Biped trait: 6.1 7.4 9.72 12.59 3.31 2.46 416
- Swimming trait: 9.15 11.61 16.09 27.28 4.71 3.27 722
- deviation
- Flying trait: 1.0 0.77 0.58 0.37 1.84 2.71
- Crawling trait: 1.0 0.97 0.93 0.83 1.09 1.19
- Quadruped trait: 1.0 0.75 0.58 0.28 1.71 2.47
- Walk_crawl trait: 1.0 0.96 0.92 0.74 1.11 1.23
- Climbing trait: 1.0 0.92 0.85 0.67 1.17 1.37
- Biped trait: 1.0 0.83 0.65 0.41 1.69 2.43
- Swimming trait: 1.0 0.95 0.9 0.76 1.14 1.3
- gait tag: first initializes, second defines type being edited, third defines chance of the tag being added, fourth defines multiplication weight of standard speeds
- [IF:HAS_WINGS]
- [GAIT:BIPED:2:0.62]
- [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.
- [GAIT:CLIMBING:20:1.4]
- [GAIT:SWIMMING:14:1.53]
- [GAIT:FLYING:66:0.74]
- [GAIT:CRAWLING:16:1.15]
- [GAIT:WALK_CRAWL:2:1.3]
- [X]
- [IF:IS_BIPED]
- [GAIT:BIPED:97:0.99]
- [GAIT:CLIMBING:51:1.05]
- [GAIT:SWIMMING:29:1.21]
- [GAIT:FLYING:74:0.74]
- [GAIT:CRAWLING:33:0.88]
- [GAIT:WALK_CRAWL:4:0.54]
- [GAIT:QUADRUPED:0:1] This line tries to cancel out bipeds with quadruped gaits.
- [X]
- [IF:IS_QUADRUPED]
- [GAIT:QUADRUPED:98:1.01]
- [GAIT:CLIMBING:27:0.56]
- [GAIT:SWIMMING:40:1.28]
- [GAIT:CRAWLING:45:1.02]
- [GAIT:WALK_CRAWL:27:0.89]
- [GAIT:BIPED:0:1]
- [GAIT:FLYING:0:1]
- [X]
- [IF:HAS_FINS]
- [GAIT:SWIMMING:19:0.17]
- [GAIT:CRAWLING:0:1.2]
- [GAIT:WALK_CRAWL:2:1.3]
- [GAIT:BIPED:0:1]
- [GAIT:QUADRUPED:0:1]
- [GAIT:CLIMBING:0:1]
- [GAIT:FLYING:0:1]
- [X]
- [IF:HAS_FLIPPERS]
- [GAIT:CLIMBING:0:1.21]
- [GAIT:SWIMMING:3:0.22]
- [GAIT:CRAWLING:2:1.2]
- [GAIT:WALK_CRAWL:8:1.3]
- [GAIT:BIPED:0:1]
- [GAIT:QUADRUPED:0:1]
- [GAIT:FLYING:0:1]
- [X]
- [IF:UNDER_SWIM]
- [GAIT:CLIMBING:2:1.43]
- [GAIT:SWIMMING:23:0.2]
- [GAIT:CRAWLING:1:1.09]
- [GAIT:WALK_CRAWL:4:1.13]
- [GAIT:BIPED:0:1]
- [GAIT:QUADRUPED:0:1]
- [GAIT:FLYING:0:1]
- [X]
- [IF:HAS_STANCE]
- [GAIT:BIPED:86:1.01]
- [GAIT:QUADRUPED:96:0.93]
- [GAIT:CLIMBING:91:0.98]
- [GAIT:SWIMMING:73:1.09]
- [GAIT:FLYING:81:0.92]
- [GAIT:CRAWLING:76:0.95]
- [GAIT:WALK_CRAWL:17:0.98]
- [X]
- [IF:HAS_TAIL]
- [GAIT:BIPED:16:0.62]
- [GAIT:QUADRUPED:96:0.99]
- [GAIT:CLIMBING:27:0.84]
- [GAIT:SWIMMING:64:0.88]
- [GAIT:FLYING:6:0.74]
- [GAIT:CRAWLING:48:1.0]
- [GAIT:WALK_CRAWL:51:0.8]
- [X]
- [IF:HAS_GRASP]
- [GAIT:BIPED:65:1.04]
- [GAIT:QUADRUPED:0:0.63]
- [GAIT:CLIMBING:38:0.72]
- [GAIT:SWIMMING:16:1.17]
- [GAIT:FLYING:6:0.74]
- [GAIT:CRAWLING:18:0.81]
- [GAIT:WALK_CRAWL:6:0.68]
- [X]
- [IF:CAN_FLY]
- [GAIT:BIPED:11:2.41]
- [GAIT:CLIMBING:35:1.39]
- [GAIT:SWIMMING:13:1.52]
- [GAIT:FLYING:100:1.0]
- [GAIT:CRAWLING:21:1.1]
- [GAIT:WALK_CRAWL:4:1.3]
- [X]
- [IF:CAN_SWIM]
- [GAIT:BIPED:90:1.05]
- [GAIT:QUADRUPED:99:1.0]
- [GAIT:CLIMBING:80:0.91]
- [GAIT:SWIMMING:100:1.0]
- [GAIT:FLYING:72:0.74]
- [GAIT:CRAWLING:84:0.99]
- [GAIT:WALK_CRAWL:72:0.91]
- [X]
- [IF:IS_TINY]
- [GAIT:BIPED:6:3.81]
- [GAIT:QUADRUPED:16:1.56]
- [GAIT:CLIMBING:43:1.35]
- [GAIT:SWIMMING:33:1.07]
- [GAIT:FLYING:81:0.92]
- [GAIT:CRAWLING:37:1.14]
- [GAIT:WALK_CRAWL:44:1.13]
- [X]
- [IF:IS_HUGE]
- [GAIT:BIPED:25:0.66]
- [GAIT:QUADRUPED:36:0.93]
- [GAIT:CLIMBING:12:0.83]
- [GAIT:SWIMMING:23:0.79]
- [GAIT:FLYING:3:0.74]
- [GAIT:CRAWLING:21:0.87]
- [GAIT:WALK_CRAWL:21:0.89]
- [X]
- [IF:IS_GRAZER]
- [GAIT:QUADRUPED:34:0.71]
- [GAIT:CLIMBING:0:1.66]
- [GAIT:SWIMMING:11:1.41]
- [GAIT:CRAWLING:12:1.06]
- [GAIT:BIPED:0:1]
- [GAIT:FLYING:0:1]
- [GAIT:WALK_CRAWL:0:1]
- [X]
- [IF:SLOW_LEARNER]
- [GAIT:BIPED:13:0.68]
- [GAIT:CLIMBING:5:0.91]
- [GAIT:SWIMMING:2:0.98]
- [GAIT:CRAWLING:2:0.67]
- [GAIT:WALK_CRAWL:2:0.95]
- [GAIT:QUADRUPED:0:1]
- [GAIT:FLYING:0:1]
- [X]
- [IF:IS_MEANDERER]
- [GAIT:BIPED:11:0.7]
- [GAIT:QUADRUPED:66:0.79]
- [GAIT:CLIMBING:19:0.67]
- [GAIT:SWIMMING:39:1.15]
- [GAIT:FLYING:10:0.74]
- [GAIT:CRAWLING:37:1.05]
- [GAIT:WALK_CRAWL:10:0.64]
- [X]
- [IF:IS_SAVAGE]
- [GAIT:BIPED:6:0.62]
- [GAIT:QUADRUPED:5:0.63]
- [GAIT:CLIMBING:5:0.84]
- [GAIT:SWIMMING:3:0.81]
- [GAIT:FLYING:1:1.82]
- [GAIT:CRAWLING:4:0.64]
- [GAIT:WALK_CRAWL:2:1.3]
- [X]
- [IF:SWIMS_INNATE]
- [GAIT:BIPED:60:1.14]
- [GAIT:QUADRUPED:99:1.0]
- [GAIT:CLIMBING:62:1.01]
- [GAIT:SWIMMING:92:0.99]
- [GAIT:FLYING:71:0.74]
- [GAIT:CRAWLING:76:1.0]
- [GAIT:WALK_CRAWL:72:0.91]
- [X]
- [IF:IS_VERMIN]
- [GAIT:BIPED:6:3.81]
- [GAIT:QUADRUPED:6:1.67]
- [GAIT:CLIMBING:32:1.37]
- [GAIT:SWIMMING:20:0.83]
- [GAIT:FLYING:52:1.02]
- [GAIT:CRAWLING:22:1.12]
- [GAIT:WALK_CRAWL:29:1.2]
- [X]
- [IF:IS_WARBEAST]
- [GAIT:QUADRUPED:18:0.65]
- [GAIT:CLIMBING:5:0.56]
- [GAIT:SWIMMING:7:1.2]
- [GAIT:FLYING:3:0.74]
- [GAIT:CRAWLING:8:0.91]
- [GAIT:BIPED:0:1]
- [GAIT:WALK_CRAWL:0:1] snake warbeast don't exist in vanilla.
- [X]
- The gait_avg is for use by CALCULATE_GAITS. best not to change this unless you know what you're doing.
- This tells the program what the average values for each gait are.
- Normally I would hardcode this sort of thing. But, in the interest of moddability, have at it.
- [GAIT_AVG:BIPED:1442:1190:942:587:2440:3499]
- [GAIT_AVG:QUADRUPED:1424:1066:830:396:2430:3520]
- [GAIT_AVG:CLIMBING:5431:5009:4615:3625:6346:7450]
- [GAIT_AVG:SWIMMING:5638:5358:5092:4289:6453:7337]
- [GAIT_AVG:FLYING:1214:936:704:445:2232:3289]
- [GAIT_AVG:CRAWLING:7526:7264:7022:6249:8222:8970]
- [GAIT_AVG:WALK_CRAWL:6905:6623:6358:5102:7658:8481]
- Like the body assembler, the gait calculator is so wizardly complex that I
- decided to take it out of the script. I even had to write a program to write the code. okay, not
- really - but I did have to write a program that assembled all the above script data for me from the vanilla raws.
- You can tweak them however you want - it'll make a noticeable difference if you do a bunch of crazy
- stuff to it. DO NOT CHANGE IT TOO MUCH!!! you will wind up with sloths and/or bolts of
- lightning (in creature form) if you change it anywhere outside the 0.2-4 zone.
- watch it. be careful. And don't delete this next line:
- [CALCULATE_GAITS]
- ========Other stuff========
- [IF:(RND:0:1):1]
- [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.
- [X]
- [IF:(RND:0:1):1]This is going to have to go higher because of gait changes.
- [TAG_ADD:{SWIMS_INNATE}]
- [IF:SKIN_TYPE:SKIN:&:AMPHIBIOUS]
- [DESCRIPTION:NOUN:amphibian]
- [X]
- [X]
- ========Final description info========
- [IF:IS_SOLITARY]
- [IF:IS_HUNTER]
- [DESCRIPTION:VERB:prefers to hunt alone]
- [IF:IS_ROAMER]
- [DESCRIPTION:VERB:patrols its territory by itself]
- [IF:IS_GRAZER]
- [DESCRIPTION:VERB:likes lots of room to graze]
- [ELSEIF:IN_GROUPS]
- [IF:IS_HUNTER]
- [DESCRIPTION:VERB:hunts in packs]
- [IF:IS_ROAMER]
- [DESCRIPTION:VERB:roams from place to place with others]
- [IF:IS_GRAZER]
- [DESCRIPTION:VERB:is found grazing in groups]
- [X]
- [IF:(CONTAINS:BP_LIST:TRUNK)]
- [DESCRIPTION:VERB:lifts (foodWord) up with its long trunk to eat]
- [X]
- ========Gender Bending========
- [INT:xxx:(RND:0:1)]
- [IF:xxx:0]
- [TAG_ADD:{CASTE:FEMALE}]
- [TAG_ADD: {FEMALE}]
- [IF:(RND:0:1):1]
- [TAG_ADD: {MULTIPLE_LITTER_RARE}]
- [X]
- [TAG_ADD:{CASTE:MALE}]
- [TAG_ADD: {MALE}]
- [ELSE]
- [IF:(RND:0:1):1]
- [TAG_ADD:{BODY_DETAIL_PLAN:LEATHERY_EGG_MATERIALS}]
- [ELSE]
- [TAG_ADD:{BODY_DETAIL_PLAN:EGG_MATERIALS}]
- [X]
- [TAG_ADD:{CASTE:FEMALE}]
- [TAG_ADD: {FEMALE}]
- [TAG_ADD: {LAYS_EGGS}]
- [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGGSHEL:SOLID}]
- [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGG_WHITE:LIQUID}]
- [TAG_ADD: {EGG_MATERIAL:LOCAL_CREATURE_MAT:EGG_YOLK:LIQUID}]
- [TAG_ADD: {EGG_SIZE:(bodySize0:=*:bodySize0:1.1)}]
- [INT:cs:(RND:1:10)]
- [INT:cs2:(RND:1:5)]
- [cs2:=*:cs2:cs]
- [TAG_ADD: {CLUTCH_SIZE:(cs):(cs2)}]
- [TAG_ADD:{CASTE:MALE}]
- [TAG_ADD: {MALE}]
- [X]
- [TAG_ADD:{SELECT_CASTE:ALL}]
- 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.
- [IF:IS_FIREBREATHER]
- [TAG_ADD:{SELECT_MATERIAL:ALL}]
- [TAG_ADD: {MULTIPLY_VALUE:15}] Could be more random.
- [TAG_ADD: {COLDDAM_POINT:NONE}]
- [TAG_ADD: {HEADDAM_POINT:NONE}]
- [TAG_ADD: {IGNITE_POINT:NONE}]
- [TAG_ADD: {IF_EXISTS_SET_MELTING_POINT:55000}]
- [TAG_ADD: {IF_EXISTS_SET_BOILING_POINT:57000}]
- [TAG_ADD: {SPEC_HEAT:30000}]
- [TAG_ADD:{SELECT_MATERIAL:BLOOD}]
- [TAG_ADD: {MELTING_POINT:10000}]
- [X]
- [X] This is an intentional mistake to catch bugs.
- ========Coloration========
- [IF:skinType:!:STONE]
- [IF:skinType:SKIN]
- [INT:skinNum:(RND:1:$COUNT:skinList$)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:SKIN}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(skinList:skinNum)}] some of these array values may be wrong
- [TAG_ADD: {TLCM_NOUN:skin:SINGULAR}]
- [TAG_SET:4:{COLOR:(colorList:skinNum)}]
- [DESCRIPTION:ADJ:(colorToString:skinList:skinNum)}] internal function. takes a DF color (0:0:1, for instance) and turns it into its corresponding color.
- [ELSEIF:skinType:CHITIN]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:CHITIN}]
- [TAG_ADD: {TL_COLOR_MODIFIER:BLACK:1}]
- [TAG_ADD: {TLCM_NOUN:exterior:SINGULAR}]
- [TAG_SET:4:{COLOR:0:0:1}]
- [DESCRIPTION:ADJ:black}]
- [ELSEIF:skinType:SCALE]
- [INT:skinNum:(RND:1:$COUNT:scaleList$)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:SCALE}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(scaleList:skinNum)}]
- [TAG_ADD: {TLCM_NOUN:scales:PLURAL}]
- [TAG_SET:4:{COLOR:(scaleColor:skinNum)}]
- [DESCRIPTION:ADJ:(colorToString:scaleList:skinNum)]
- [ELSEIF:skinType:FLESH]
- [INT:skinNum:(RND:1:$COUNT:skinList$)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:FLESH}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(skinList:skinNum)}]
- [TAG_ADD: {TLCM_NOUN:flesh:SINGULAR}]
- [TAG_SET:4:{COLOR:(scaleColor:skinNum)}]
- [DESCRIPTION:ADJ:(colorToString:skinList:skinNum)}]
- [ELSEIF:skintype:WET]
- [INT:skinNum:(RND:1:$COUNT:slimeColor$)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:BLOOD}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(slimeColor:skinNum)}]
- [TAG_ADD: {TLCM_NOUN:(thisType):SINGULAR}] wayyyy, up there, thisType is the type of goo that the creatuer is made of.
- [TAG_SET:4:{COLOR:(dumbList:skinNum)}]
- [DESCRIPTION:ADJ:(colorToString:slimeColor:skinNum)}]
- [X]
- [IF:ADD_HAIR]
- [INT:hairInt:(RND:1:$COUNT:hairList$)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:HAIR}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(hairList:hairInt)}]
- [TAG_ADD: {TLCM_NOUN:hair:SINGULAR}]
- [IF:(R01)] I don't remember what this calls at the moment.
- [DESCRIPTION:ADJ:SET_LAST:(colorToString:hairList:hairInt)] ooh, funky. This is gettin' all complex up in here.
- [X]
- [X]
- [IF:HAS_FEATHER]
- [INT:featherInt:(RND:1:featherList)] Alternate option: using a list as an integer returns the list size
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:FEATHER}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(featherList:featherInt)}]
- [TAG_ADD: {TLCM_NOUN:feathers:PLURAL}]
- [IF:(R01)]
- [DESCRIPTION:ADJ:SET_LAST:(colorToString:featherList:featherInt)]
- [X]
- [X]
- [IF:EYE_COUNT:>:0]
- [INT:eyeColorNum:(RND:1:(COUNT:EYELIST))]okay, double calls. it needs to be done, might as well.
- [STR:temp0:(colorToString:eyeList:eyeColorNum)]
- [IF:(CONTAINS:temp0: ):FALSE:&:temp0:!:black] the CONTAINS call can be used on regular strings as well.
- [PREFLIST:(temp0) eyes]
- [IF:(R01)]
- [DESCRIPTION:ADJ:(temp0) eyes]
- [ELSE]
- [DESCRIPTION:DESC:(temp0) eyes]
- [X]
- [X]
- [IF:skinType:!:FLESH:&:skinType:!:WET:&:skinType:!:STONE]
- [IF:EYE_COUNT:>:1:&!:(CONTAINS:BP_LIST:BODY_EYE)]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:EYE:EYE}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(eyeList:eyeColorNum)}]
- [TAG_ADD: {TLCM_NOUN:eyes:PLURAL}]
- [ELSEIF:EYE_COUNT:1]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:EYE}]
- [TAG_ADD: {TL_COLOR_MODIFIER:(eyeList:eyeColorNum)}]
- [TAG_ADD: {TLCM_NOUN:eye:SINGULAR}]
- [X]
- [X]
- [ELSE]
- [TAG_ADD: {SET_TL_GROUP:BY_CAT:ALL:ROCK}]
- [TAG_ADD: {TL_COLOR_MODIFIER:GRAY}]
- [TAG_ADD: {TLCM_NOUN:stone:SINGULAR}]
- [TAG_SET:4:{COLOR:0:0:1}]
- [X]
- And we're finally done with colors.
- [IF:(RND:0:277):<:77]
- [TAG_ADD:{SELECT_MATERIAL:ALL}]
- [TAG_ADD: {MULTIPLY_VALUE:(RND:2:4)}]
- [DESCRIPTION:VERB:is valuable for trade]
- [X]
- I feel like commenting things today, so here's another comment.
- ========Preflist and Description updates========
- [IF:(CONTAINS:BP_DUMP:SKULL)]the "BP_dump" is a string with a list of all the bodyparts.
- [PREFLIST:skulls]
- [DESCRIPTION:DESC:a (skullList) skull]
- Seems like this would appear way too often. May be a sign that I need to fix things up.
- We'll wait and see.
- By the way, while you're here, listen to this: https://www.youtube.com/watch?v=pfAuWjCXwnw
- [X]
- [IF:(CONTAINS:BP_DUMP:HORN)]
- [PREFLIST:horns]
- [X]
- [IF:(CONTAINS:BP_DUMP:FLIPPER)]
- [PREFLIST:flippers]
- [DESCRIPTION:DESC:(skullList) flippers]
- [X]
- [IF:(CONTAINS:BP_DUMP:NECK):&:(CONTAINS:BP_DUMP:NECKS):FALSE]
- [PREFLIST:necks]
- [DESCRIPTION:DESC:a (neckList) neck]
- [X]
- [IF:(CONTAINS:BP_DUMP:8_SIMPLE_HEAD_ARMS)]
- [PREFLIST:many (neckList) arms]
- [PREFLIST:intelligence]
- [DESCRIPTION:VERB:is the most clever of its kind] I may need to remove these. As I recall, they confused someone in the main thread.
- I was really just stealing the description from octopi.
- [X]
- [IF:(CONTAINS:BP_DUMP:PROBOSCIS)]
- [PREFLIST:ability to feast on blood]
- [DECRIPTION:VERB:sucks blood from its host with its long nose]
- [X]
- [IF:(CONTAINS:BP_DUMP:UPPERBODY_PINCERS)]
- [PREFLIST:strangeList1)(strangeList1) (strangeList2) appearance]
- [PREFLIST:pincers]
- [DESCRIPTION:DESC:pincers]
- [X]
- [IF:(CONTAINS:BP_DUMP:BASIC_HEAD):&:(CONTAINS:BOYPART_DUMP:MOUTH):&:(CONTAINS:BP_DUMP:TEETH)]
- [DESCRIPTION:DESC:an enormous toothy maw instead of a head]
- [X]
- [IF:(CONTAINS:BP_DUMP:TUSK)]
- [PREFLIST:TUSK]
- [DESCRIPTION:VERB]
- [X]
- [IF:(CONTAINS:BP_DUMP:SIX_TENTACLES)]
- [PREFLIST:strangeList1)(strangeList1) (strangeList2) appearance]This was "horrifying freakish appearance" - a favorite of Toady's.
- [DESCRIPTION:VERB:terrifies the (LAND_OR_SEA) through which it roams] land_or_sea checks the biome info and returns land, or waters.
- [DESCRIPTION:DESC:(tentacleList)]
- [X]
- [IF:(CONTAINS:BP_DUMP:TEETH)]
- [PREFLIST:teeth]
- [DESCRIPTION:DESC:(toothList1)(toothList2) teeth]
- [IF:(CONTAINS:BP_DUMP:GENERIC_TEETH_WITH_LARGE_EYE_TEETH):&:(CONTAINS:BP_DUMP:MOUTH)]
- [DESCRIPTION:ADJ:long-toothed]
- [DESCRIPTION:ADJ:fanged]
- [PREFLIST:toothy maw]
- [X]
- [X]
- [IF:(CONTAINS:BP_DUMP:EYES):|:(CONTAINS:BP_DUMP:BODY_EYE;)]I really didn't want to have to do this, but now I don't really have a choice. All instances of ; get translated into :. And, I'll admit, I really love being able to just type anywhere for it to be a comment. It's relaxing, in a way. Better than putting 'before everything or //before everything. As an added bonus, it encourages you to comment your code.
- [PREFLIST:eyes]
- [INT:eyeCount]
- [IF:(CONTAINS:BP_DUMP:EYESTALK)]
- [eyeCount:+=:2] += is different from =+. += adds the following to the integer at far left (eyeCount in this case). =+ just adds everything to the right together.
- [X]
- [IF:(CONTAINS:BP_DUMP:4EYES)]
- [eyeCount+=:4] yay for cheap math.
- [X]
- [IF:(CONTAINS:BP_DUMP:3EYES)]
- [eyeCount:+=:3]
- [X]
- [IF:(CONTAINS:BP_DUMP:2EYES)]
- [eyeCount:+=:2]
- [X]
- [IF:eyeCount:0]
- [eyeCount:1]
- [X]
- [INT:ec:(RND:0:eyeAdj)]
- [IF:eyeCount:2]
- [DESCRIPTION:DESC:(size)eyes] this used to be "large eyes to penetrate the darkness". Now it's not. For good reason. It was confusing people.
- [ELSEIF:eyeCount:1]
- [DESCRIPTION:DESC:a single (eyeAdj)eye]
- [ELSEIF:eyeCount:3]
- [DESCRIPTION:DESC:three (eyeAdj:ec)eyes]
- [PREFLIST:three (eyeAdj:ec)eyes]
- [ELSEIF:eyeCount:4]
- [DESCRIPTION:DESC:four (eyeAdj:ec)eyes]
- [PREFLIST:four (eyeAdj:ec)eyes]
- [ELSEIF:eyeCount:5]
- [DESCRIPTION:DESC:five (eyeAdj:ec)eyes]
- [PREFLIST:five (eyeAdj:ec)eyes]
- [PREFLIST:(strangeList2) appearance]
- [ELSEIF:eyeCount:6]
- [DESCRIPTION:DESC:six (eyeAdj:ec)eyes]
- [PREFLIST:six (eyeAdj:ec)eyes]
- [PREFLIST:(strangeList1) (strangeList2) appearance]
- [ELSEIF:eyeCount:7]
- [DESCRIPTION:DESC:seven (eyeAdj:ec)eyes]
- [PREFLIST:seven (eyeAdj:ec)eyes]
- [PREFLIST:(strangelist2) appearance]
- [ELSEIF:eyeCount:8]
- [DESCRIPTION:DESC:eight (eyeAdj:ec)eyes]
- [DESCRIPTION:DESC:eight (eyeAdj:ec)eyes] two entries because eight eyes? that's important.
- [PREFLIST:eight (eyeAdj:ec)eyes]
- [PREFLIST:eight (eyeAdj:ec)eyes]
- [ELSE] more than eight eyes - important to remember and stuff.
- [DESCRIPTION:DESC:(largeNumer) (eyeAdj:ec)eyes]
- [DESCRIPTION:DESC:(largeNumer) (eyeAdj:ec)eyes]
- [PREFLIST:(largeNumer) (eyeAdj:ec)eyes]
- [PREFLIST:(largeNumer) (eyeAdj:ec)eyes]
- [PREFLIST:(strangelist2) appearance]
- [X]
- [ELSE] no eyes
- [DESCRIPTION:DESC:no eyes]
- [DESCRIPTION:DESC:a (strangeList2) lack of eyes]
- [X]
- [IF:(CONTAINS:BP_DUMP:MOUTH)]
- [PREFLIST:mouths]
- [IF:(CONTAINS:BP_DUMP:TENTACLE_MOUTH):FALSE]
- [DESCRIPTION:DESC:a (mouthAdj) mouth]
- [X]
- [ELSE]
- [IF:(CONTAINS:BP_DUMP:PROBOSCIS):FALSE]
- [DESCRIPTION:VERB:(mouthlessCreature)]
- [X]
- [X]
- [IF:(CONTAINS:BP_DUMP:BEAK)]
- [INT:bn:(RND:0:beakList)]
- [PREFLIST:(beakList:bn) beaks] this is a test comment
- [DESCRIPTION:DESC:(beakList:bn) beaks]
- [X]
- [IF:(CONTAINS:BP_DUMP:FOUR_TENTACLE)]
- [DESCRIPTION:DESC:four (tentacleList)]
- [X]
- [IF:(CONTAINS:BP_DUMP:BODY_HEAD):&:(CONTAINS:BP_DUMP:MOUTH)]
- [DESCRIPTION:NOUN:mouth]
- [X]
- [IF:(CONTAINS:BP_DUMP:BODY_HEAD):&:(CONTAINS:BP_DUMP:2TUSKS):&:(CONTAINS:BP_DUMP:MOUTH)]
- [DESCRIPTION:DESC:a body mostly taken up by its tusked mouth]
- [X]
- [IF(CONTAINS:BP_DUMP:EARS)]
- [INT:el:(RND:0:earList)]
- [PREFLIST:(earList:el) ears]
- [DESCRIPTION:DESC:(earList:el) ears]
- [X]
- [IF:(CONTAINS:BP_DUMP:FACIAL_FEATURES)]
- [PREFLIST:resounding hoots]
- [X]
- [IF:HEAD_BODY:&:(CONTAINS:BP_CAT:EYE):&:(CONTAINS:BP_CAT:EAR):&:(CONTAINS:BP_CAT:NOSE):&:(CONTAINS:BP_CAT:MOUTH)]rare, to say the least
- [DESCRIPTION:DESC:a body shaped as the head of a man]
- [X]
- [IF:(CONTAINS:BP_DUMP:LARGE_MANDIBLES):&:(CONTAINS:BP_CAT:MOUTH):&:(CONTAINS:BP_CAT:EYE)]
- [DESCRIPTION:DESC:the head of an insect]
- [X]
- [IF:(CONTAINS:BP_DUMP:7HEADNECKS)]
- [DESCRIPTION:DESC:seven biting heads]
- [PREFLIST:seven heads]
- [X]
- [IF:(CONTAINS:BP_DUMP:TAIL_STANCE)]
- [DESCRIPTION:DESC:the tail of a fish instead of legs]
- [PREFLIST:legs]
- [X]
- [IF:(CONTAINS:BP_DUMP:LARGE_MANDIBLES)]
- [DESCRIPTION:DESC:large mandibles]
- [X]
- [IF:(CONTAINS:BP_CAT:TAIL)]
- [IF:(RND:0:1):0]
- [DESCRIPTION:DESC:(tailList) tail]
- [X]
- [X]
- [IF:(CONTAINS:BP_DUMP:2HEAD_HORN)]
- [DESCRIPTION:DESC:(hornList)]
- [X]
- [IF:(CONTAINS:BP_DUMP:STALK)]
- [DESCRIPTION:DESC:two (neckList) eyestalks]
- [X]
- [IF:(CONTAINS:BP_DUMP:TENTACLE_MOUTH)]
- [DESCRIPTION:DESC:two mouths at the end of a pair of tentacles]
- [X]
- [IF:(CONTAINS:BP_DUMP:WINGS)]not done yet - needs fixing
- [IF:FLIES:FALSE]
- [IF:(R01)]
- [DESCRIPTION:DESC:wings that fall limp at its side]
- [ELSE]
- [IF:(R01)]
- [DESCRIPTION:DESC:heavy, useless wings]
- [ELSE]
- [DESCRIPTION:DESC:tiny, worthless wings]
- [X]
- [X]
- [DESCRIPTION:ADJ:FLIGHTLESS]
- [ELSE]
- [IF:(R01)]
- [DESCRIPTION:VERB:flies with bat wings]
- [ELSE]
- [DESCRIPTION:DESC:great, majestic wings]
- [X]
- [X]
- [X]
- [IF:(CONTAINS:BP_DUMP:4ARMS_STANCE)]
- [IF:(CONTAINS:BP_DUMP:BASIC_1PARTBODY)]
- [DESCRIPTION:VERB:crawls along the ground with its four hands]
- [ELSEIF:(CONTAINS:BP_DUMP:BODY_HEAD)]
- [DESCRIPTION:VERB:crawls along with four (neckList) arms]
- [ELSE]
- [DESCRIPTION:VERB:crawls along the ground]
- [X]
- [X]
- [IF:(CONTAINS:BP_DUMP:BODY_WITH_HEAD_FLAG):&:(CONTAINS:BP_CAT:MOUTH)]
- [DESCRIPTION:VERB:eats with a mouth on the bottom of its body]
- [X]
- [IF:TOE_COUNT:>:0]
- [DESCRIPTION:DESC:(intToString:TOE_COUNT) toes on each foot]
- [X]
- [IF:FINGER_COUNT:>:0]
- [DESCRIPTION:DESC:(intToString:FINGER_COUNT) fingers on each hand]
- [X]
- [IF:(CONTAINS:BP_DUMP:QUADRUPED):&:(CONTAINS:BP_DUMP:5TOES_RQ_ANON)]
- [DESCRIPTION:DESC:hands at the end of its forelimbs]
- [X]
- ==NEW DESC STUFF==
- Not done yet
- ========Now we reset the stuff at the beginning======
- Don't edit or remove any of this unless you really know what you're doing.
- Most of this is controlled internally because there's nothing here you can really customize.
- [GENERATE_DESCRIPTIONS]
- [GENERATE_PREFERENCES]
- [GENERATE_NAME:tile:bodySize2] Generates a new name - an (official) name - for the creature. Also re-assigns the creature tile. Also checks bodysize.
- [GENERATE_PREFERENCES] Generates a small list of preferences. May give multiple, depending on certain things.
- [WRITE_CREATURE] The big wheel. Writes your new creature to a file and loops it out. The circle of life goes on.
- [END_CREATURE_CODE]
- And it is finished.
- ========CIV GENERATION MESS========
- And it's not actually finished.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement