Diseases are an intersting form of spellcraft in Atrinik. Once cast, 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 |
|---|---|---|
| anim speed | obj::anim_speed | How fast to play this animation. |
| animation | obj::animation_id | The animation-name defines what animation is displayed for this object in-game. Note that a set animation will overrule the face. |
| attenuation | obj::last_grace | The <attenuation> value reduces the diseases' <infectiousness> everytime 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 of it. |
| can reflect missiles | FLAG_CAN_REFL_MISSILE | Object can reflect missiles. See reflect missiles. |
| can reflect spells | FLAG_CAN_REFL_SPELL | Object can reflect spells. See reflect spells. |
| 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. |
| cursed | FLAG_CURSED | The item is cursed. This object can't be removed when wielded or worn (without uncursing it). Remove curse will remove this flag. |
| 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. |
| damned | FLAG_DAMNED | Stronger form of curse. Item can't be removed when wielded or worn. Remove damnation will remove this flag. |
| direction | obj::direction | The object's direction. |
| 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 than 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 <plague 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. |
| inv. system object | FLAG_SYS_OBJECT | Marks an object as system object. System objects are ALWAYS invisible and hidden from the players. System objects are put in layer 0. |
| invisible | FLAG_IS_INVISIBLE | Generally makes the object invisible. Invisible objects will be shown if the player has "see invisible" (from an item). To hide objects totally from detection, use "sys_object". |
| is animated | FLAG_ANIMATE | If set, the object is animated and animation is used. Note: Some special objects will use an animation NOT as animation but as frame list. Examples are buttons (which frames are changed by the object status of the button). IS_TURNABLE will enable direction turning for some object types. These flags are all system related. Be VERY careful when changing them. |
| is turnable | FLAG_IS_TURNABLE | System flag. Object can be turned into directions. |
| layer | obj::layer | This is the map layer the object will put in. The selected layer will affect where and how this object is shown on client side. Layer 0 is reserved for sys_object type objects and will NEVER be shown on client side. Layer 1 is for floor objects and layer 2 for floor masks. Layer 3 and 4 are for items on the ground. Layer 5 is for walls, layer 6 is reserved for players and layer 7 is for spell effects and high flying/visible objects like arrows. |
| magical | FLAG_IS_MAGICAL | If set, this object counts as "magical". Detect magic or identify will show this flag and the player will see a small blue M in the client's inventory part. |
| 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_real | The material defines the exact material of which the object consists. It is much more specific than <material class>, however only one material can be selected, not multiple. <material> is not required to be set, it can be left 'undefined'. |
| material class | obj::material | This bitmask-value informs the player of which basic material(s) the object consists. Material class does also affect how likely the object can be destroyed by hazardous spell-effects, like firestorm. |
| 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. |
| no prayers | FLAG_NO_CLERIC | If enabled, it is impossible for players to use prayers on that spot. |
| no spells | FLAG_NO_MAGIC | If enabled, it is impossible for players to use spells on that spot. |
| no teleport | FLAG_NO_TELEPORT | Marks an object as no teleport object. A no teleport object can't be teleported by teleporter except if the object is inside the inventory of another object which can be teleported. |
| 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 goldcoins => "number = 100"). You should set this at least to one, for any pickable object - otherwise it won't be mergeable into a stack. |
| one drop | FLAG_ONE_DROP | In the moment a player gets or applies this item, it will be flagged as godgiven and vanish when dropped to the ground. If this flag is set for an item inside monster's quest_container with the quest being quest item type, the player will be able to find the item again, should he lose it. |
| permanent cursed | FLAG_PERM_CURSED | The item is permanently cursed. If this flag is set, applying or unapplying it will set "cursed 1" again. This flag can't be removed by remove curse. |
| permanent damned | FLAG_PERM_DAMNED | The item is permanently damned. If this flag is set, applying or unapplying it will set "damned 1" again. This flag can't be removed by remove damnation. |
| 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). |
| plague level | obj::level | The <plague level> is proportional to the disease's deadliness. This mainly reflects in the <damage>. It has no effect on most other symptoms. Neverthless, it is a very important value for all damage-inflicting diseases. |
| player only | FLAG_PLAYER_ONLY | If set, only players can enter the tile the object with this flag is on. |
| progressiveness | liv::ac | Every time the disease "moves" the severity of the symptoms are increased by <progressiveness> / 100. (severity = 1 + (accumulated progression) / 100) |
| slowdown | obj::last_sp | If set, the disease imposes a <slowdown> penalty while being infected. The player's speed is reduced by <slowdown> % of normal value. |
| stackable | FLAG_CAN_STACK | If set, the item can be stacked. Careful, don't use on rings or other applyable items, it will lead to side effects. Missiles are designed to be used as stacks for example. |
| start speed | obj::speed_left | When an active object (with 'speed' being non-zero) is put on a map, this value is used as counter. Every 'tick', 'speed' (if negative, value is turned positive before) is added to this value - if it is bigger than 0 the object 'will do something' and this counter is decreased with -1.0. By default a normal object will be put on the map with start speed 0. It 'will do something' with the next coming 'tick'. Setting this value to -1.0 will put it on map but wait one full 'lifetime' round until it does something. A 'fire object' should be put on map with start speed 0 - it should try to burn something in the moment it comes in the game. A bomb for example should be put with speed -1.0 on the map - it will stay then on map until the bomb becomes active - it explodes. The 'lifetime' round is determinated by speed. A speed of 1.0 will give a 'lifetime' round of 1 tick - a speed of 0.01 100 ticks. Special case: A negative speed value will add to start speed a random value between 0.0 to 0.9 . So, a speed of -0.1 with a start speed of -1.0 will result in speed 0.1 and start speed between -1.0 and -0.1. This is useful to let a row of same objects act in different tick ranges. |
| sub type | obj::sub_type1 | This important value is used to define "sub types" for objects of the same object type. Examples are weapons, which are all from type WEAPON but can be different sub types like slash, cleave, two-handed, polearms and so on. This value goes to the client too. Warning: Not all objects have a sub type and changing it without care can corrupt server AND/OR the clients. Normally this is not a subject to change outside arch definition. |
| 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 Yordan", "of xray vision" etc. |
| unpaid | FLAG_UNPAID | An <unpaid> item cannot be used unless the player carried it over a shop mat, paying the demanded price. Setting this flag makes sense only for items inside shops. |
| value | obj::value | Change an object's value. |
| weight | obj::weight | This value defines the object's weight in gram (1000g is 1kg). Objects with zero weight are not pickable for players. Still, set the "non-pickable" flag for explicitly non-pickable objects. |
1.6.2