CDR

Chemical Emitter

Overview

A chemical emitter gene controls the injection of a particular chemical into the norn based upon data retrieved from some Organ, Tissue or Locus within the norn.

The Organ, Tissue or Locus is a data value controlled by the Creatures executable ranging in value from 0 through to 255. It can represent a brain cell, external stimuli or other things selected from the dialog box.

Every given time period the Organ, Tissue or Locus is examined and compared against a number of settings defined in this gene. Depending upon the results of this comparison an amount of chemical can be injected into the norn.

Dialog Box

Breakdown

Gene Header

Embryo
This field indicates the age at which this gene will switch on. Most genes turn on at the 'Embryo' stage to ensure they operate correctly as soon as the norn is born.
 
Dup
If this flag is checked then the gene can be duplicated as a genetic mutation. That is, multiple copies of this gene will be able to exist due to mutation.
Mut
Sets whether genetic mutations can be applied to the values contained within this gene.
Cut
If set the gene can be removed during breeding or as the result of mutation.
B/M/F
Defines the gender that this gene will switch on. This is often used to select between genes that involve male or female functionality (eg. hormones).

Organs, Tissue, Locus

Defines the area of the norn that will be examined to calculate how much (if any) chemical to inject into the norn. Each of the options is represented by a data value ranging from 0 through to 255. The following table describes each possible option.

Box 1 Box 2 Box 3
Brain Any Brain Lobe Lobe Activity
Still to be investigated.
# Loose Dens/Cells type 0
Still to be investigated.
# Loose Dens/Cells type 1
Still to be investigated.
Cell(n) Output
Represents the output value of the given cell in the brain lobe. See the brain lobe page for details on brain cells.
Creature Somatic Muscle Energy Used
Still to be investigated.
Circulatory Floating recip-emit n
A floating recip-emit is a place that a receptor can use for storing a data value from 0-255 which an emitter can then use for any purpose. It's a means of linking a receptor directly to an emitter without going through a brain lobe. There are up to eight of these numbered from 0-7 (the 'n'). The life kit norns use this for the hunger/glycogen equation.
Reproductive I am fertile (egg/sperm ready)
This will be a value of 0 until the norn becomes fertile in which case it will be 255. (Not confirmed, to be investigated).
I am pregnant (egg&sperm ready)
This will be a value of 0 until the norn becomes pregnant in which case it will be 255. (Not confirmed, to be investigated).
Immune I'm dead (post mortem chemistry)
This will be a value of 0 while the norn is alive. When the norn dies it will be 255. (Not confirmed, to be investigated).
Sensorimotor Permanently Active (255)
Always produces a value of 255. (Not confirmed, to be investigated).
I'm Asleep (255)
This will be a value of 0 while the norn is awake. When the norn sleeps it will be 255. (Not confirmed, to be investigated).
Air is this cold
This is always zero. It is not connected in Creatures 1.
Air is this hot
This is always zero. It is not connected in Creatures 1.
Light level
A value from 0-255 indicating the light level. (Not confirmed, to be investigated).
Crowdedness
A value from 0-255 indicating the current crowdedness of the norn. (Not confirmed, to be investigated).
Drive Levels Drive Lobe
The current value of the given drive represented as a number from 0-255.

Emitter Type

Analogue
The amount of chemical injected into the norn will be proportional to the signal level received from the locus. The following calculation will be applied to work out how much chemical to inject: (signal - threshold) * (gain / 255). So if signal was 255, threshold 170 and gain 40 then the amount of chemical injected when the emitter is processed will be (255-170) * (40/255) = 13.
Digital
A constant amount of chemical will be injected into the norn when the signal from the locus reaches a specified threshold. If the 'signal' received from the locus is greater than the value of the 'threshold' the amount of chemical injected is that specified by the 'gain'. So using the same example in 'Analogue' above, 40 units of chemical will be injected as 255 is greater than 170.

Chemical Information

Chemical
Defines the particular chemical that will be injected into the norn.
Smpl Rate
Sample Rate indicates how often the emitter is processed and therefore how often the chemical will be injected into the norn. The higher the value the slower the rate. A rate of zero is instantaneous and a rate of 255 appears to be almost never.
Gain
Defines how much chemical will be injected into the norn. Note that this will increase the amount of chemical in the norn by the given amount, not replace it entirely. See the description of 'Emitter Type' above for the calculation used to work out the amount.
Threshold
Defines how highly the locus must be firing for a chemical injection to occur. In the case of Digital emitters the signal from the locus must be greater than this threshold for the chemical to be injected. For Analogue emitters the signal is reduced by the amount of this threshold before calculating the gain. See the description of 'Emitter Type' above for the calculation used.
Clear Source Byte after Reading
After the emitter is processed the locus value will be reset to zero if this option is selected.
Invert Input Signal
The signal value used in all calculations in the emitter will be '255-signal' if this option is selected. This new signal value will then be used for all emitter calculations (including comparison against the threshold). For example the signal value of 170 described above will become 85 if this option is selected.

Notes

I've noticed that when a norn is born the emitter is processed at least twice. So even if the sample rate is set to almost never the emitter will be processed.

Sometimes the emitter is processed when importing a norn. A norn with an emitter set to almost never had the emitter processed when imported. Could this be related to import deaths in some way?