Crossfire Server, Branches 1.12
R18729
|
Diseases are an interesting form of spellcraft in Crossfire. Once casted, they can spread out and infect creatures in a large area. Being infected can have various effects, from amusing farts to horrible damage - almost everything is possible.
Type defined by:
Attribute | Field | Description |
---|---|---|
attacktype | obj::attacktype | The disease will attack the host with the given <attacktype>. Godpower attacktype is commonly used for "unresistable" diseases. |
attenuation | obj::last_grace | The <attenuation> value reduces the diseases' <infectiousness> every time it infects someone new. This limits how many generations a disease can propagate. |
block view | FLAG_BLOCKSVIEW | If an item is set to block view, players (and monsters) cannot see beyond it unless they cross it or manage to stand on top. |
charisma | liv::Cha | The player's charisma will rise by the given value while being infected. (Negative values make charisma fall) |
constitution | liv::Con | The player's constitution will rise by the given value while being infected. (Negative values make constitution fall) |
create arch | obj::other_arch | If set, the specified arch is created and dropped every time the symptoms strike. This can be various things: farts, body pieces, eggs ... Even monsters can be created that way. You could also make a disease where some exotic stuff like money/gems is created. |
curing duration | liv::maxgrace | The disease will last in the host for <curing duration> "disease moves" (Assuming the host survives and doesn't use a curing spell). After this period the disease is naturally cured, which provides the host with immunity from this particular disease of lower or equal level. A negative value means the disease can never be cured naturally. Note that this value can be further modulated by spell-parameters, if the disease is registered as spell in the code. Due to that, most default diseases take a lot longer to cure than it seems. |
damage | liv::dam | A disease with a positive <damage> value will strike the player for that amount of damage every time the symptoms occur. A negative <damage> value produces %-based damage: "<damage> -10" means the player's health is reduced by 10% every time the symptoms strike. Diseases with %-based damage can be dangerous - but not deadly - for players of all levels. |
dexterity | liv::Dex | The player's dexterity will rise by the given value while being infected. (Negative values make dexterity fall) |
elevation | obj::elevation | The elevation (height above sea level) of this tile. It is used for weather calculations and should be in the range -32000..32000. The elevation of a tile must be set in the bottom-most game object; elevation values for non-bottom-most game objects are ignored by the Crossfire server. |
exp. for curing | liv::exp | When the player manages to cure this disease (with a curing spell), he is awarded with <exp. for curing> experience. |
food depletion | obj::last_eat | Every time the disease "moves", the player's food is reduced by the value of <food depletion>. For negative values, a %-based amount is taken. |
glow radius | obj::glow_radius | If <glow radius> is set to a value greater zero, the object appears lit up on dark maps. <glow radius> can be a value between 0 and 4, the higher, the more light does the object emit. |
health regen. | liv::hp | This value increases the player's healing rate. Negative values decrease it. |
identified | FLAG_IDENTIFIED | If an item is identified, the player has full knowledge about it. |
image | obj::face | The image-name defines what image is displayed for this object in-game. |
infect race | obj::race | The disease will only infect creatures of the specified <race>. "<race> *" means every creature can be infected. |
infection range | obj::magic | <infection range> sets the range at which infection may occur. If positive, the <infection range> is level dependant - If negative, it is not: E.g. "<infection range> -6" means creatures can be infected in six square range, and <plaque level> doesn't modify that. |
infectiousness | liv::wc | The <infectiousness> defines the chance of new creatures getting infected. If you set this too high, the disease is very likely to be too effective. <infectiousness>/127 is the chance of someone in range catching it. |
intelligence | liv::Int | The player's intelligence will rise by the given value while being infected. (Negative values make intelligence fall) |
invisible | obj::invisible | Generally makes the object invisible. Depending on the object-type, some can be made visible by the show_invisible spell. If in doubt, test it. Putting an invisible object under the floor always prevents it from being shown. |
mana depletion | liv::maxsp | Every time the disease "moves", the player's mana is reduced by the value of <mana depletion>. For negative values, a %-based amount is taken. |
mana regen. | liv::sp | This value increases the player's rate of mana regeneration. Negative values decrease it. |
material | obj::material | This bitmask-value informs the player of which material(s) the object consists. Material does also affect how likely the object can be destroyed by hazardous spell-effects. |
message | obj::msg | This text is displayed to the player every time the symptoms strike. |
moving speed | obj::speed | The <speed> of the disease determines how fast the disease will "move", thus how fast the symptoms strike the host. |
name | obj::name | This is the name of the object, displayed to the player. |
non-pickable | FLAG_NO_PICK | If set, the object cannot be picked up (Neither by players nor monsters). |
number | obj::nrof | This value determines the number of objects in one stack (for example: 100 gold coins => "number = 100"). You should set this at least to one, for any pickable object - otherwise it won't be mergeable into a stack. |
persistence | liv::maxhp | <persistence> defines how long the disease can persist OUTSIDE a host. The disease can "move" <persistence> times outside a host before it vanishes. A negative value means the disease lasts for permanent (which is only recommended to use in maps without monsters). |
plaque level | obj::level | The <plaque level> is proportional to the disease's deadliness. This mainly reflects in the <damage>. It has no effect on most other symptoms. Nevertheless, it is a very important value for all damage-inflicting diseases. |
plural name | obj::name_pl | This is the plural name of the object. A plural name must be set for all items that can be picked up and collected by the player. |
power | liv::Pow | The player's power will rise by the given value while being infected. (Negative values make power fall) |
progressiveness | liv::ac | Every time the disease "moves" the severity of the symptoms are increased by <progressiveness>/100. (severity = 1 + (accumulated progression)/100) |
slowdown penalty | obj::last_sp | If set, the disease imposes a <slowdown penalty> while being infected. The player's speed is reduced by <slowdown penalty> % of normal value. |
smooth level | obj::smoothlevel | If <smooth level> is set to a value greater zero, the object will be drawn partially over adjacent squares having a lower <smooth level> value. The value must be between 0 and 255 (inclusive); 0 means "never overlap adjacent squares". |
strength | liv::Str | The player's strength will rise by the given value while being infected. (Negative values make strength fall) |
title | obj::title | This is the object's title. Once an object is identified the title is attached to the name. Typical titles are "of Mostrai", "of xray vision" etc. |
unpaid | FLAG_UNPAID | An <unpaid> item cannot be used unless a player carried it over a shop mat, paying the demanded price. Setting this flag makes sense only for pickable items inside shops. |
value | obj::value | Adds a certain value to the object: It will be worth that many times the default value from it's archetype (E.g. "value = 3" means three times worth the default value). Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. |
weight | obj::weight | This value defines the object's weight in grams (1000g is 1kg). Objects with zero weight are not pickable for players. Still, set the "non-pickable"-flag for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). |
wisdom | liv::Wis | The player's wisdom will rise by the given value while being infected. (Negative values make wisdom fall) |