Crossfire Server, Trunk
|
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 |
---|---|---|
artifact | object::artifact | If defined, refers to an artifact to get values from. |
attack type | object::attacktype | The disease will attack the host with the given <attack type>. Godpower attack type is commonly used for "unresistable" diseases. |
attenuation | object::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. |
blocks prayers | blocks_prayer | Similar to damned, but does not appear in detect curse. |
changing | FLAG_CHANGING | A <changing> object converts to <food> <other_arch> objects; when it's animation is done. For non-living objects <food> is checked: if it is zero, the change happens; otherwise <food> is decreased by one. I suggest you don't mess with this value - leave the default in place. |
charisma | living::Cha | The player's charisma will rise by the given value while being infected. (Negative values make charisma fall) |
client-sided randomized animation? | FLAG_CLIENT_ANIM_RANDOM | If defined, then the object's animation is client-sided. Similar objects are animated independently. |
client-sided synchronized animation? | FLAG_CLIENT_ANIM_SYNC | If defined, then the object's animation is client-sided. Similar objects are animated synchronized. |
constitution | living::Con | The player's constitution will rise by the given value while being infected. (Negative values make constitution fall) |
create arch | object::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 | living::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 | living::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 | living::Dex | The player's dexterity will rise by the given value while being infected. (Negative values make dexterity fall) |
elevation | elevation | The elevation (height above sea level) of this square. 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 | living::exp | When the player manages to cure this disease (with a curing spell), he is awarded with <exp. for curing> experience. |
food depletion | object::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 | object::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. | living::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. |
identified animation | identified_animation | If defined, then the object will take this animation when identified. |
identified animation speed | identified_anim_speed | If defined, then the object will have this animation speed when identified. |
identified image | identified_face | If defined, then the object will take this appareance when identified. |
identified random animation? | identified_anim_random | If defined, then the object's animation is in a random sequence when identified. |
identified_name | identified_name | If defined, then the object will take this name when identified. |
identified_name_pl | identified_name_pl | If defined, then the object will take this plural name when identified. |
image | object::face | The image-name defines what image is displayed for this object in-game. |
infect race | object::race | The disease will only infect creatures of the specified <race>. "<race> *" means every creature can be infected. |
infection range | object::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 | living::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 | living::Int | The player's intelligence will rise by the given value while being infected. (Negative values make intelligence fall) |
invisible | object::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. |
is used up | FLAG_IS_USED_UP | If set, decrement the <food> field at <speed>. When <food> reaches zero, remove the object. |
mana depletion | living::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. | living::sp | This value increases the player's rate of mana regeneration. Negative values decrease it. |
material | object::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 | object::msg | This text is displayed to the player every time the symptoms strike. |
moving speed | object::speed | The <speed> of the disease determines how fast the disease will "move", thus how fast the symptoms strike the host. |
name | object::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 | object::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 | living::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 | object::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 | object::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 | living::Pow | The player's power will rise by the given value while being infected. (Negative values make power fall) |
price adjustment | price_adjustment | If set, this is the buy and sell price adjustment ratio for the item. |
price adjustment for buying | price_adjustment_buy | If set, this is the adjustment ratio when buying the item. Ignored if <price> adjustment is set. |
price adjustment for selling | price_adjustment_sell | If set, this is the adjustment ratio when selling the item. Ignored if <price> adjustment is set. |
progressiveness | living::ac | Every time the disease "moves" the severity of the symptoms are increased by <progressiveness>/100. (severity = 1 + (accumulated progression)/100) |
slowdown penalty | object::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 | object::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". |
splitting | FLAG_SPLITTING | A <splitting> object converts to <food> <other_arch> objects; when it is hit physically. For non-living objects <food> is checked: if it is zero, the change happens; otherwise <food> is decreased by one. I suggest you don't mess with this value - leave the default in place. |
strength | living::Str | The player's strength will rise by the given value while being infected. (Negative values make strength fall) |
title | object::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 | object::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 | object::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 open source... you never know ;) ). |
wisdom | living::Wis | The player's wisdom will rise by the given value while being infected. (Negative values make wisdom fall) |