v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "User:JT/Token Wishlist"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(BRACHIATOR, ARBOREAL, CLIMBER, GAIT:GLIDE, FLYING_HEIGHT, MIN_AIRSPEED, STANCE_GRIP, SLEEP_ROOST, SLEEP_STANDING, SLEEP_INVERTED, TUMBLE)
(→‎[REPRODUCTIVE_CONTRIBUTE] / [REPRODUCTIVE]: not sure why I didn't think of this first)
Line 432: Line 432:
  
 
For REPRODUCTIVE_CONTRIBUTE, this allows some redundancy -- as long as there is at least one REPRODUCTIVE_CONTRIBUTE organ remaining, the animal can reproduce.  If all REPRODUCTIVE_CONTRIBUTE organs are missing, however, the creature can no longer reproduce.  Intended to allow gelding stallions and bulls or otherwise neutering male pets (removal of testes) or spaying female pets (removal of ovaries).
 
For REPRODUCTIVE_CONTRIBUTE, this allows some redundancy -- as long as there is at least one REPRODUCTIVE_CONTRIBUTE organ remaining, the animal can reproduce.  If all REPRODUCTIVE_CONTRIBUTE organs are missing, however, the creature can no longer reproduce.  Intended to allow gelding stallions and bulls or otherwise neutering male pets (removal of testes) or spaying female pets (removal of ovaries).
 +
 +
The less squicky version of this feature would simply implement the ability to spay/neuter animals or castrate historical figures by flagging the hist fig, without actually requiring all of the naughty bits to be simulated...

Revision as of 11:16, 9 August 2014

Creature Tokens

Reproductive Tokens

[OFFSPRING:mateid:offspringid:min:max:gestation:weighting]
Arguments:
  • mateid: The creature ID of the species with which this being can reproduce.
  • offspringid: The creature ID of the species which is produced by a successful mating with the above creature ID, or NOTHING to denote that there is a possibility/potential desire to be mated with by the given creature type but no chance of conception.
  • min: The minimum size of the litter of OFFSPRING.
  • max: The maximum size of the litter of OFFSPRING.
  • gestation: The number of days of gestation. Gestation period is calculated from this number ±5%.
  • weighting: In the event of more than one OFFSPRING tag for a given mate type, the weighting determines the odds that a particular offspring is produced.
Allows a female member of the species to be impregnated by a male member of the given mate type. This tag allows for complex intraspecies and interspecies reproductive capability, vastly expanding the existing functionality for creature breeding in the game.
In all cases, the OFFSPRING tag applies to the female of the species, for object-orientedness. That is, a female of a species specifies which creature types can impregnate it. If the species has no gender, it is assumed that the entire species is "female" for purposes of this token.
If no OFFSPRING tag is found for a species it is assumed to have the "implicit tag" [OFFSPRING:owntype:owntype:1:1:270:1], meaning that the species can reproduce with other members of its own species. The various existing tags (LITTERSIZE, MULTIPLE_LITTER_RARE, etc.) all serve to modify the implicit tag, but have no effect if the creature defines any explicit OFFSPRING tags. The implicit tag does not appear for any species with the NOGENDER or NOREPRODUCTION tags; if you wish for a non-gendered species to reproduce you must specifically provide OFFSPRING tags to that effect. N.b., a creature with explicit tags which do not include its own creature ID will be incapable of reproduction with its own species; this allows folklore versions of nymphs which can reproduce successfully only with human males, for instance.
If an OFFSPRING tag exists, but the creature is also IMPOTENT towards that creature type, then the creature has no interest and any reproduction would have to be forced. See IMPOTENT tag for further detail.
Examples:
(Mermaid)
[OFFSPRING:MERMAN:MERMAID:1:1:270:5]
[OFFSPRING:MERMAN:MERMAN:1:1:270:1]
The above tags, applied to the CREATURE:MERMAID, give the MERMAID the ability to reproduce with a CREATURE:MERMAN. The mermaid will have a 1 in 6 chance of producing a merman, and a 5 in 6 chance of producing a mermaid.
(Horse)
[OFFSPRING:HORSE:HORSE:1:1:340:5]
[OFFSPRING:DONKEY:MULE:1:1:340:1]
[OFFSPRING:MULE:NOTHING:0:0:0:1]
The above tags, applied to the CREATURE:HORSE, allow the female horse to reproduce with a male horse to produce a foal of either gender (the CREATURE:HORSE has no [MALE] or [FEMALE] tag and thus has gender randomly assigned when it is birthed). The horse can also be impregnated by a male CREATURE:DONKEY and will produce mules. Finally, the mare is willing to engage in reproductive behaviour with a CREATURE:MULE, but conception is impossible (the rare instances of fertile mules are ignored for purposes of gameplay). The mare will prefer to mate with stallions; if there is one stallion and one male donkey available, the mare will mate with the stallion 83% of the time if it can—if an animal caretaker wishes to produce mules, the animal caretaker would have to husband the mare and the donkey specifically in some fashion.
(Human)
[OFFSPRING:HUMAN:HUMAN:1:1:270:98]
[OFFSPRING:HUMAN:HUMAN:2:2:270:2]
[OFFSPRING:ORC:HALFORC:1:1:270:1]
Humans will give birth to a single child most of the time. Approximately 2% of the time, a human mother will give birth to twins. Human females can also be impregnated by male orcs, who will cause the human female to produce half-orc offspring of random gender. See also IMPOTENT tag for unwillingness to mate, however.
[MALEOFFSPRING:mateid:offspringid:min:max:gestation:weighting]
Arguments: as per OFFSPRING tag
The MALEOFFSPRING tag is a variant of the OFFSPRING tag which allows a male member of the species to be impregnated by any gender of the specified mateid creature type. If there is a reciprocal case of OFFSPRING and MALEOFFSPRING tags, denoting that either of the partners can be impregnated by the other, then the impregnated partner is chosen randomly.
This tag is used extremely rarely and is intended for cases where a male host can be impregnated in some fashion by another lifeform. It is chiefly useful for hermaphroditic species (species with male and female genitals) which are still somewhat identifiable as either male or female.
[FEMALEOFFSPRING:mateid:offspringid:min:max:gestation:weighting]
Arguments: as per OFFSPRING tag
The FEMALEOFFSPRING tag is another variant which allows a female member of the species to be impregnated by any gender of the specified mateid creature type. This allows for females to be impregnated by "females" of the other creature type, which is not otherwise possible with the MALEOFFSPRING or OFFSPRING tags.
[GESTATION:gestation]
Arguments:
  • gestation: The number of days of gestation, as per the OFFSPRING tag.
Affects the "default" gestation of the creature for the purposes of its implicit OFFSPRING tag if the creature does not explicitly define one.
[IMPOTENT_ALL] / [IMPOTENT:creaturetype]
Arguments:
  • creaturetype: The type of creature with which this creature has no urge to mate.
The creature has no urge to mate. It is still fertile, given an OFFSPRING tag (or the implicit OFFSPRING tag), and can thus be impregnated; however, males are impotent and females are unwilling, meaning that the creature does not represent a successful species.
If it is possible to be fertilised by another species which does have the urge to mate, via an OFFSPRING tag, then it can still reproduce if a member of the other species presents itself. In other words, if one creature type has IMPOTENT towards a second creature type, but the second creature type does not circularly have IMPOTENT towards the first, then the second creature type is still interested in mating with the first creature type.
To Toady: The latter possibility would represent forced reproduction, which may be contrary to your moral integrity and may thus (at your option) remain unimplemented (rendering the existence of this tag moot); in such a case, an IMPOTENT tag in either direction would represent impossibility of reproduction or copulation (as opposed to OFFSPRING:PARTNER:NOTHING which represents willingness to mate, including the happy thoughts acquired from engaging in the reproductive act, but no successful offspring).
Example:
(Human)
[IMPOTENT:ORC]
Human males are not interested in impregnating orc females, regardless of the possibility to do so, nor are human females interested in being impregnated by orc males.
[NOREPRODUCTION]
Implies IMPOTENT_ALL and eliminates the implicit OFFSPRING tag.
Effectively, this means that the creature will be completely unwilling to mate and completely unable to produce offspring if it does. If the creature includes any user-defined OFFSPRING or MALEOFFSPRING tags, the creature may still be impregnated by those means; however, it will not wittingly do so.
[NOGENDER]
(Existing tag NO_GENDER revised to NOGENDER to be consistent, with clarifications as follows) The species has a "neuter" gender. This eliminates the implicit OFFSPRING tag, to allow for the existence of magical constructs and sterile breeds. The user may still add an OFFSPRING tag manually to allow the creature to reproduce (or desire to reproduce) in a sexual fashion.
[BOTH_IMPREGNATED]
If there exists a circular OFFSPRING/MALEOFFSPRING/FEMALEOFFSPRING link between the two partners engaged in a reproductive act—for instance if the male can be impregnated by the female and the female can be impregnated by the male—then both partners will become impregnated after the act given this tag.
With this tag:
  • In a heterosexual encounter with circular fertility, both will be impregnated.
  • In a homosexual encounter with circular fertility, both will be impregnated.
  • If only one partner may become impregnated, only that partner becomes impregnated.
  • If neither partner may become impregnated, then that remains true.
Without this tag:
  • In a heterosexual encounter with circular fertility, the female will be impregnated.
  • In a homosexual encounter with circular fertility, the impregnated partner is selected randomly.
  • If only one partner may become impregnated, that partner becomes impregnated.
  • If neither partner may become impregnated, then that remains true.
[EXTERNAL_FERTILIZE]
A modifier tag for LAYS_EGGS, this indicates that the creature lays eggs without having sexual intercourse; the male of the species fertilises the eggs externally (such as in the case of a spawning salmon). The eggs can shrivel or rot (depending on whether they are soft eggs or hard eggs). If they are fertilised, the gestation time is reset and they will then grow on their own.
[WARMS_EGGS]
If at least one caste includes this token, the eggs must be warmed in order to hatch. The castes which possess this token will share in the effort of warming the eggs.
[OVIPOSITOR]
The species injects its eggs into the eggs' nest (whether that "nest" is a womb, its partner, or an unwilling host), effectively meaning that the female impregnates the male instead of vice-versa. This applies only to seahorses in the case of non-PARASITE_EGG and non-SAPOTROPH_EGG reproduction and is thus not a very critical feature.
[PARASITE_EGG]
The species lays its eggs inside the living body of another creature, which carries the eggs to term. The eggs then hatch and the baby attacks the other creature from the inside in order to get out. Contrary to what you might expect, this isn't meant to imply the Alien style of breeding, but rather the form of breeding exhibited by some forms of wasps. Imagine the horror of being stung by a giant wasp with a paralytic stinger, who then injects her eggs into your body until they hatch and eat their way out! Implies OVIPOSITOR.
An attack within the creature record must have an ATTACK_FLAG_OVIPOSITOR in order to allow implantation.
[SAPOTROPH_EGG:target]
Arguments:
  • target: The creature ID or creature class of the species where eggs are injected, or ANY for any dead body.
The species lays its eggs inside the corpse of another creature, which carries the eggs to term. The eggs then hatch and the litter emerges from the corpse. Implies OVIPOSITOR.
The target can be a specific species, to reflect certain predatory flies which have specific creatures they target.
[KILLS_FOR_SAPOTROPH_EGGS]
The creature after being impregnated will actively and aggressively manufacture corpses to lay eggs inside, if no corpses are already available.
[PREGNANT_PERMANENT]
Once impregnated by a given other creature, the creature is thereafter permanently impregnated by that creature and will continuously produce offspring from that genetic material after each successive delivery. If another partner impregnates it, it will then continously produce offspring from its new partner (the new partner having effectively replaced the genetic material from the first partner with its own). Unless genetic traits from specific parents are introduced, the new partner must be of a different creature type for this replacement to have any effect.
This method of reproduction is most often seen in queen ants and queen bees of the insect order of hymenoptera. The queen maintains as much of her mate's DNA as required to fertilize her own offspring once the male has impregnated her during her mating flight.
You could assign this variable to rats, since rats are born pregnant. (Yes, that's a joke.)
[VOLUNTARY_EGGS]
If a LAYS_EGGS creature has this tag, it is allowed to choose whether or not to lay eggs; it does not lay eggs at every reproductive cycle unless they are fertilized.
If the creature lays an egg uselessly, it will receive a bad thought (if it lays an egg usefully, it will receive a good thought). Good living conditions can make up for the bad thoughts from failing to reproduce.
An unfertilised egg will remain intact once laid, but can rot naturally just like any other food item left to its own devices.
[ASEXUAL:offspringid:min:max:gestation:weighting]
The creature reproduces asexually and does not need another creature to fertilise it or otherwise provide genetic material.
[INFANT_MORTALITY:number:ratio]
Arguments:
  • number: The number out of the ratio that will die
  • ratio: The total ratio of surviving and extinct offspring by reaching childhood (or maturity, if no BABY tag)
This causes infants of the creature to die during world gen, or spontaneously during fortress mode when outdoors (based on implied predation), based on the given ratio of dead offspring to the total ratio. For instance, if INFANT_MORTALITY:3:1000, then there is a 3 in 1000 chance that any given member of the species will die within its infancy.
This is intended to balance creatures which lay massive egg clutches, as they do so in reality in order to counterbalance their extremely low infant survival rates: for instance, infant crocodiles are frequently eaten by birds and even fish. Turtles also employ similar mass-clutch laying based on the same principle.
[PARENTAL_ADOPTION:minimum:maximum]
Arguments:
  • number: The minimum number of offspring per litter that parents will raise.
  • number: The maximum number of offspring per litter that parents will raise, allowing the others to die.
This is intended to represent the behaviour of pandas, where they may occasionally have multiple births but will adopt only the strongest of their infants. Creatures with this tag will choose the offspring in the litter that has the highest average attributes. Theoretically this helps ensure the survival of the species, however barbaric it may seem to we humans who care so deeply about our own offspring (but then again, it hasn't exactly worked out well for pandas so far -- and actually, as carnivores that live in mountainous areas and prefer to eat bamboo that grows on flatter ground, they really are a species that just doesn't want to survive...).
[ALPHA_REPRODUCTION]
This tag forces only one mated pair per population cluster (i.e., CLUSTER_NUMBER) to reproduce. Only the female with the highest attributes will bear offspring, with all other females in the group simply being suppressed from mating. This inborn social control reduces overpopulation among animals that bear large numbers of offspring.
[SOULMATE]
This tag causes a species to have only one mate at a time. Once it has found a mate, it will remain with that mate, and it will not reproduce unless its mate is accessible. If its mate is killed or passes away naturally, it will receive an unhappy thought even if it is not an [INTELLIGENT] species, but it will then be capable of finding another mate. Most humanoids demonstrate this behaviour.
[SOULMATE_PERMANENT]
This tag causes a species to seek only one mate during its lifetime. It will receive an indefinite unhappy thought when its soulmate dies, and will never again seek another mate. Seahorses fit this behaviour.
[SEASONAL_REPRODUCTION:season...]
Arguments:
  • season: ANY, or one or more of SPRING, SUMMER, AUTUMN, and/or WINTER separated by colons.
This tag means that the species is only seasonally fertile, in that it will reproduce only in certain seasons; e.g., [SEASONAL_REPRODUCTION:SPRING]. When a fertile season begins, the animal resumes normal computation of its fertility cycles. When the season ends (and the next season is no longer fertile), the being is suppressed from mating; the fertility cycle counter halts, to resume from where it left off in the next fertile season.
This allows limiting certain species' reproductive intervals to reduce overpopulation due to year-round reproduction.
Default is [SEASONAL_REPRODUCTION:ANY].
[TEMPERATE_REPRODUCTION:weather...]
Arguments:
  • season: ANY; one or more of SCORCHING, HOT, WARM, TEMPERATE, COOL, COLD, or FREEZING, separated by colons; or a specific temperature range min:max in degrees Urist.
e.g., [TEMPERATE_REPRODUCTION:ANY], [TEMPERATE_REPRODUCTION:SCORCHING:HOT:WARM], [TEMPERATE_REPRODUCTION:10000:10060]
In addition to a blacklist based on SEASONAL_REPRODUCTION, a species may also have its fertility blacklist set to certain weather, to prevent it from reproducing in environmental conditions that are hostile to it or its offspring. It is intended more for fortress mode (and ostensibly adventure mode in the far future), to prevent species that have been imported from breeding successfully in hostile environments, as BIOME already serves as an adequate limiter on worldgen populations.
Default is [TEMPERATE_REPRODUCTION:ANY].
[CONDITIONAL_FERTILITY:population]
Arguments:
  • population: The population limit of the species within the region.
This tag allows a population to be conditionally fertile, based on its population number per unit area; if the population exceeds the specified number, all fertility cycles halt until the population falls. Aside from its metagame usefulness for controlling populations for better frame rates, it represents those species in reality which are genuinely capable of conditional fertility. As with other caps, it is a soft cap -- multiple births in a litter or pre-existing pregnancies can bring the population over the cap.
[REPRODUCTION_FREQUENCY:days:duration]
Arguments:
  • days: The number of days between subsequent fertility cycles.
  • duration: The length of days (overlapping with the days parameter) during which the animal is fertile.
This controls the frequency of a species' reproductive cycles, blacklisting animals from becoming pregnant outside of their fertility periods.
For code simplicity, since the oestrus event itself wouldn't simulated (although simulating it would be of particular realism interest for keen-sensed animals, especially bloodthirsty animals like sharks or Pitch Black-style blind predators), it would be easier just to make the "fertile" period begin immediately when the cycle begins, rather than halfway through.
The default is the standard human 28-day cycle, [REPRODUCTION_FREQUENCY:28:5] -- the female is fertile for 5 days out of every 28-day period. If a fertility check falls on this interval... congratulations!
[REPRODUCTION_SUCCESS:permille]
Arguments:
  • permille: Chance of becoming pregnant on a pregnancy check.
This allows finer control over successful reproduction even when blacklisting based on season, temperature/climate, fertility cycle, and population are taken into account, to allow species that tend to reproduce too quickly to be fine-tuned for greater realism.
Default is whatever the current pregnancy chance is set to, which is probably buried deeply in the code somewhere...

General Tokens

[BRACHIATOR:frequency]]
Arguments:
  • frequency: Percentage of time preferably spent in trees
A brachiating creature will prefer to climb and jump versus travelling over open ground, although it will occasionally climb down to ground level during random wandering or foraging, or if there are no more trees available in a given direction. It will also automatically succeed in grasping any tree branch in its own tile, regardless of climbing skill. Intended for chimpanzees and tree squirrels.
[ARBOREAL]]
An arboreal creature will climb trees during random movement, and will prefer to flee into trees to avoid danger, climbing back down when safe. Intended for cats.
[CLIMBER]
A climber is similar to an arboreal, but will randomly climb any surface -- e.g., cliff faces -- rather than trees only.
[GAIT:GLIDE:...]
A gliding gait (taking the same arguments as a typical gait) gives a creature the ability to glide. It cannot fly up (optionally: unless it builds up momentum?), but can fly laterally or choose to descend faster, decreasing in altitude every 100(?) ticks. A gliding lifeform will also never hurt itself when gliding onto ground level unless it is stunned in mid-air. Intended for flying squirrels.
[FLYING_HEIGHT:height]
Arguments:
  • height: The desired height for the flying creature to maintain, as a matter of preference.
This controls the altitude that the creature (caste?) will prefer to maintain. Smaller birds will tend to remain closer to ground level except when a predator threatens them, whereas raptors will prefer to remain higher for better sight lines.
[MIN_AIRSPEED:velocity]
Arguments:
  • velocity: Minimum airspeed velocity in millimetres per second.
The creature must maintain the specified airspeed (1000 = Adventure Mode 1.0). If the creature becomes tired due to flight, it will attempt to find somewhere to land.
[STANCE_GRIP:angle]
Arguments:
  • angle: STANDARD, LATERAL, or INVERTED.
The creature has the ability to grip onto any surface with its STANCE parts, but is unable to climb. In other words, it can fly into any tile, then choose to "hold on", and can then choose to "release hold" and fly away, but it cannot move to another tile while holding on.
If the creature has STANCE_GRIP:STANDARD, it can hold onto its own tile. If the creature has STANCE_GRIP:LATERAL, it can hold onto its own tile or onto any adjacent tile in the eight cardinal directions. If the creature has STANCE_GRIP:INVERTED, it can hold onto its own tile, any adjacent tile, or the tile directly above.
[SLEEP_ROOST]
The creature will prefer to find tree branches to roost in, preferring higher branches over lower ones. It is able to sleep in tree branches without falling out. Implies STANCE_GRIP:STANDARD (does not imply STANCE_CLIMBER). Intended for most avians.
[SLEEP_STANDING]
The creature has locking joints that allow it to sleep while standing up, instead of having to lie down. Intended for most equines.
[SLEEP_INVERTED]
The creature prefers to sleep on ceilings and against wall surfaces in open spaces that are at 2 Z levels above any floor. It has locking claws that allow it to sleep without falling off the surface it is hanging on. Implies STANCE_GRIP:INVERTED. Intended for bats.
[TUMBLE:altitude]
Arguments:
  • altitude: The number of Z levels that can be fallen.
A creature that can tumble can fall the specified number of Z levels without coming to harm. Intended for cats.
[HIBERNATION:season...]
Arguments:
  • season: ANY, or one or more of SPRING, SUMMER, AUTUMN, and/or WINTER separated by colons.
A species which hibernates will not spawn on the map outside of the valid seasons -- it will remain comfortably within the site populations instead. Species which hibernate will automatically go to sleep during fortress mode and remain asleep, requiring no food or water, until the end of the season. At the end of the season, however, they will be set automatically to Hungry and Thirsty and will seek food to eat. (Though many species which hibernate remain awake, and do eat and drink while hibernating, this implementation is far simpler to simulate.)
[CORPSE_SPECHEAT] / [CORPSE_LAYERING] / [CORPSE_CORPSE_BOILING_POINT] / etc.
These tokens would allow a being's corpse to have temperatures that are different than their living temperatures. The primary usefulness would be in making creatures which spontaneously combust when killed (vampires in Blade series!) or creatures which burn while alive but turn into useless lumps when dead. The current closest token, itemcorpse, only accomplishes the latter.
Cool beans!
[CHILD_CONVERTER:species:product:time]
Arguments:
  • species: The species to assimilate, or NONE for all species
  • product: The species produced, or NONE for this species
  • time: The number of assimilation points it takes to totally assimilate that creature
The motivation behind this token is to allow goblins to transform captured children into their own kind. Unlike the Trekkie assimilation, this is done in campaign time; each assimilation attempt takes one day, causing one assimilation point. The transformation occurs when the number of assimilation points stored up for a given creature exceeds the specified time, in days. Only one attempt could be made per creature per day. Once the creature is assimilated and transformed into the new creature type, it treats the CHILD_CONVERTER as its parent.
Dance, magic dance... dance, magic dance!
Dance, magic dance... dance, magic dance!
Put that baby spell on me
Jump, magic jump... jump, magic jump!
Jump, magic jump... jump, magic jump!
Put that magic jump on me
Slap that baby, make him free!

The closest current tag is SPOUSE_CONVERTER, which applies to compatible sexes and which lacks parameters.

[ASSIMILATE_CONVERTER:species:product:time]
As per CHILD_CONVERTER, but for any member of the targetted species. The converted creature will become a faction member instead of a dynastic member.
[APPLY_CASTE_VARIATION:variation]
Arguments:
  • variation: The creature variation to apply to this specific caste (i.e., not affecting any other caste).
APPLY_CREATURE_VARIATION currently affects all castes, which doesn't suit gender dimorphism too well. It would be great if there were a way to apply a creature variation to the currently selected caste instead of implicitly affecting the "all" caste.

Thought Tokens

[MELANCHOLY:weight] / [BERSERKNESS:weight] / [MADNESS:weight]
Arguments:
  • weight: The odds that when the being suffers this form of insanity when pushed to depression.
This is designed to influence how exactly a given species behaves when it hits insanity. The possible insanity forms are rolled against with weighted throws to determine which form of insanity takes hold.
Additional insanity types, as they are added, would also have corresponding weighting tokens added. Gaining disturbing fetishes, becoming sociopathic (i.e., covert murder instead of overt murder when found alone with a potential victim), and acquiring debilitating phobias are all potential insanity forms that could be added to DF.
If a token for a corresponding insanity type does not appear, it takes on the default weighting of 100.
[LIMIT_HAPPINESS:min:max]
Arguments:
  • min: The minimum, default -100.
  • max: The maximum, default 100.
This is designed to impose caps to the creature's possible happiness. This also allows the creation of generally emotionless races, if you were to set both values to zero.
If the minimum is set above the unhappiness threshold, the being can never become insane due to unhappiness, so ideally there would be other penalties to unhappiness like having their work rate directly proportional to their current percentage of happiness or some such.
Mostly this token would be used to impose a maximum cap while leaving the minimum as -100, so certain beings are simply more prone to insanity.
[HAPPYMULT:percent] / [SADMULT:percent]
Arguments:
  • percent: The percentage by which thought modify the current happiness level.
This token makes some beings naturally more prone to becoming happy or to becoming sad as a result of unhappy thoughts. If a being has HAPPYMULT 50 and SADMULT 100, for instance, then happy thoughts are one half as effective at making the being happy and sad thoughts are of normal effectiveness.
With high values for each, this makes beings have greater mood swings. With low values for each, this makes beings more steady. With low values for HAPPYMULT and high values for SADMULT, this makes the creatures tend towards depression. The converse is true for high HAPPYMULT and low SADMULT.
[BAD_EMOTION:emotion]
Arguments:
  • emotion: The type of emotion that upsets the being when it is experienced.
Emotion Parameters:
  • FEAR: Causes the being to receive an unhappy thought every time it is forced to flee from an enemy.
  • ATTACK : Causes the being to receive an unhappy thought every time it is forced to fight.
  • KILL : Causes the being to receive an unhappy thought every time it is credited with a kill.
This token causes the being to receive a small unhappy thought each and every time it performs the indicated activity. This can rapidly lead to insanity.
This is hard to quantify in human terms and would mostly be used to give certain behaviour to animals when they are otherwise experiencing unusual circumstances. For instance, a normal being (who flees from conflict instead of stays and fights) with BERSERKNESS:500, SADMULT:500 and BAD_EMOTION:FEAR is being chased by a hunter. The being will attempt to flee, and if the aggressor continually chases after it the being will be rapidly driven to go berserk and lash out at its attacker.

Examples

  • To allow females to be impregnated only by males, use OFFSPRING.
  • To allow males to be impregnated by males or females or neuters, use MALEOFFSPRING.
  • To allow males to be impregnated only by females, use OFFSPRING, and use OVIPOSITOR on both the male and female -- the male fertilizes the female's eggs, then the female inserts those eggs into the male's womb (implied via OVIPOSITOR).
  • To allow females to be impregnated by males or females or neuters, use FEMALEOFFSPRING.
  • To allow neuter-gendered beings to reproduce, use OFFSPRING.
  • There is, at this time, no syntax for allowing a male to be impregnated only by a male.
  • To make a hen which lays eggs regardless of whether it has been impregnated by a rooster, use [OVIPAROUS][INVOLUNTARY_EGGS]. If it lays eggs which have not been fertilized, the eggs are worthless (from a reproductive standpoint) and will rot. They can be eaten as food.
  • To make a parasitic wasp-like creature which lays eggs inside other creatures at will, use [OVIPAROUS][PARASITE_EGG].
  • If you want the above-mentioned parasitic wasp to squirt out its egg if it cannot do so inside another creature (due to lack of supply of other creatures), also include [INVOLUNTARY_EGGS] and the wasp will occasionally lay an egg (to die) in the open. This will piss it off, and you don't want to piss off a wasp.

Creature Variation Tokens

[CVCT_APPEND:...]
Arguments:
  • ...: Colon-separated list of additional parameters to append to end of CVCT_MASTER token's parameters
As a fundamental improvement on my former ADD_BODY_TAG request, this would make use of existing CVCT functionality to allow appending parameters to existing tokens, with particular intention for use with a CVCT_MASTER:BODY (but fundamentally it should work with any tag, except perhaps for reciprocal creature variation tags). There is presently no way of using creature variations to add new body parts to the BODY tag, only to replace existing parts within the tag (e.g., I can convert the fingers to talons, but I can't add three adamantium spikes to the existing hands and fingers unless I replace one of those existing body parts with itself while doing so); this currently means that your creature variation tag must cover all possible usage scenarios instead of being properly generic -- i.e., instead of simply adding tags to the BODY, it has to target BASIC_1PARTBODY, BASIC_2PARTBODY, HUMANOID, HUMANOID_NECK, HUMANOID_HOOF, HUMANOID_NECK_HOOF, etc., etc.... The proposed new tag would neatly avoid that by allowing you to add any body part scot free, without worrying about what body parts are already there, proviso that you don't create an invalid body (which would simply appear in errorlog.txt as normal).
Note in particular that this would vastly simplify such things as sheep:
[CREATURE_VARIATION:BASIC_2HORNS]
	[CV_CONVERT_TAG]
		[CVCT_MASTER:BODY]
		[CVCT_APPEND:2HEAD_HORN]
Instead of having two define the body token twice, once under CASTE:FEMALE and once under CASTE:MALE, the body tag could be defined once under the root ("all") caste, and then a CREATURE_VARIATION could be applied to the male caste, [APPLY_CREATURE_VARIATION:BASIC_2HORNS]. The fact that such a tag would be generically useful for such things as demon variations of humanoids, etc. is also of note.

Body Tokens

[OVIPOSITOR]

This portion of the body is used for injecting eggs into a victim.

[MILK]

This portion of the body is responsible for production of milk, and if destroyed the creature can no longer produce it or feed its offspring. Multiple MILK organs correspond to a proportional reduction in ability to nurse their young. Viable for udders for cows, goats, donkeys, etc.

[REPRODUCTIVE_CONTRIBUTE] / [REPRODUCTIVE]

For REPRODUCTIVE, this portion of the body is responsible for laying of eggs or (non-simulated) copulation, and if destroyed the creature can no longer reproduce. Intended to allow entity-based punishments of castration (in world-gen, presumably).

For REPRODUCTIVE_CONTRIBUTE, this allows some redundancy -- as long as there is at least one REPRODUCTIVE_CONTRIBUTE organ remaining, the animal can reproduce. If all REPRODUCTIVE_CONTRIBUTE organs are missing, however, the creature can no longer reproduce. Intended to allow gelding stallions and bulls or otherwise neutering male pets (removal of testes) or spaying female pets (removal of ovaries).

The less squicky version of this feature would simply implement the ability to spay/neuter animals or castrate historical figures by flagging the hist fig, without actually requiring all of the naughty bits to be simulated...