Effects data

Back to modding

The effects.data file contains an array of 'Effect' objects which can be defined as either cures or side-effects. Any effects included here will automatically be included in the game.

### Example Cure

```
   {
       "id":"painkiller",
       "family":"pain",
       "level":0,
       "baseValue":95,
       "sensitivity":2250,
       "helpRate":100,
       "boundary":[5,12],
       "contractionRate":{"follow":"cancervaccine"},
       "reaction":{"upgrade":{"machine":"evaporator","conc":[7,10],"combine":"catalyst2","product":"migraine"}}
   },

```

### Example Side-Effect

```
   {
       "id":"blackouts",
       "catalyst":"catalyst4",
       "level":-5,
       "boundary":[6,14],
       "reaction":{"remove":{"machine":"uv_curer","conc":[1,5]}}
   },

```

### Effect Keys

Include as many as required:

* id - the unique id for this effect. This is used to look up the display text associated with this effect in strings-xx.data.
* family - CURE ONLY - groups cures into columns on the cure tab. To avoid display errors in the cures tab, cures should only ever upgrade to the next cure listed in the same family.
* level - the tier of cure or severity of side-effect. Level 0 is a starting cure and can therefore appear in raw ingredients. A negative level denotes a side-effect. A large negative value means the cure rating will decrease more if it is active within a product.
* baseValue - CURE ONLY - the basic value of the cure. This is the value at 100% demand with no cure margin modifier.
* sensitivity - CURE ONLY - the number of sufferers at 100% demand. The higher this value, the more of a cure can be supplied before it reaches 100% saturation and the less the price will fall when it is above 100% saturation.
* helpRate - CURE ONLY - the rate at which this cure is "successful" at 100% strength. This is mostly for flavour purposes as the cure rating calculation takes nominal help rate into account. One small mechanical effect is that there is no point in increasing the strength of a cure beyond 100% if its helpRate is already at 100%.
* cureRate - CURE ONLY - the rate at which this cure permanently decreases the number of sufferers by 1 at 100% strength.
* boundary - the concentrations between which the effect is active, in the form [LOW,HIGH].
* reaction - the upgrade/remove reaction (see below).
* contractionRate - adds dynamic demand changes (see below)
* catalyst - SIDE-EFFECT ONLY - the level of catalyst. In the base game the catalyst is always equal to one less than the magnitude of the "level" stat. However this is not a requirement for the game to work.

### Reaction Keys

Choose one of:

* upgrade - converts the effect into another effect (see below)
* remove - SIDE-EFFECT ONLY - removes the effect (see below)

### Upgrade and Remove Keys

Include as many as required:

* machine - the machine required for the reaction
* conc - the concentration required for the reaction
* catalyst - the catalyst required for the reaction
* product - CURE ONLY - the id of the effect that this effect can upgrade to

### Contraction Rate Keys

Include as many as required:

* follow - the id of the effect to follow. This allows cures to follow each other's demand. E.g. Combats Cancer follows Cancer Vaccine so if there is a huge supply of vaccines the demand for drug that combats the effect decreases.
* followdown - the id of the effect to follow down. Same as above except this effect would only follow the named effect down, not up.
* start - the id of the effect to appear after. E.g. the demand for HIV treatment only appears after AIDS treatment is created and supplied.
* cyclic - add a cycle to the demand, see below
* formula - polynomial formula where x is the current demand, in the format: [x0,x1,x2,x3...] where x0 is the coefficient of x^1, x1 is the coefficient of x^1 etc.

### Cyclic Keys

All cycles follow a sine wave. Include all of the following:

* mag- the magnitude of the cycle
* offset - the offset from January 1st in days.
* period - the length of the full cycle in days.