Atrinik Server 2.5
Data Fields
obj Struct Reference

#include <object.h>

Data Fields

struct objactive_next
struct objactive_prev
struct objbelow
struct objabove
struct objinv
struct objenv
struct objmore
struct objhead
struct mapdefmap
tag_t count
uint32 damage_round_tag
sint32 carrying
const char * name
const char * title
const char * race
const char * slaying
const char * msg
shstrartifact
shstrcustom_name
struct objenemy
struct objattacked_by
struct objowner
struct objchosen_skill
struct objexp_obj
tag_t enemy_count
tag_t ownercount
tag_t attacked_by_count
struct archtarch
struct archtother_arch
struct treasureliststructrandomitems
New_Faceface
New_Faceinv_face
sint64 value
uint32 event_flags
sint32 weight
uint32 weight_limit
uint32 path_attuned
uint32 path_repelled
uint32 path_denied
uint32 nrof
uint32 update_tag
uint32 flags [NUM_FLAGS_32]
sint16 x
sint16 y
sint16 z
sint16 attacked_by_distance
uint16 last_damage
uint16 terrain_type
uint16 terrain_flag
uint16 material
sint16 material_real
sint16 last_heal
sint16 last_sp
sint16 last_grace
sint16 last_eat
uint16 animation_id
uint16 inv_animation_id
sint16 align
sint16 rotate
sint8 glow_radius
sint8 magic
uint8 state
sint8 level
sint8 direction
sint8 facing
uint8 quick_pos
uint8 type
uint8 sub_type
uint8 item_quality
uint8 item_condition
uint8 item_race
uint8 item_level
uint8 item_skill
sint8 move_status
uint8 move_type
uint8 attack_move_type
sint8 anim_enemy_dir
sint8 anim_moving_dir
sint8 anim_enemy_dir_last
sint8 anim_moving_dir_last
sint8 anim_last_facing
sint8 anim_last_facing_last
uint8 anim_speed
uint8 last_anim
uint8 behavior
uint8 run_away
uint8 layer
uint8 quickslot
uint8 attack [NROFATTACKS]
sint8 protection [NROFATTACKS]
sint8 item_power
uint8 zoom
uint8 alpha
float speed
float speed_left
float weapon_speed
float weapon_speed_left
float weapon_speed_add
living stats
void * custom_attrset
key_valuekey_values

Detailed Description

Object structure.

Definition at line 85 of file object.h.


Field Documentation

struct obj* obj::above

Pointer to the object stacked above this one Note: stacked in the *same* environment

Definition at line 109 of file object.h.

Next object in the 'active' list This is used in process_events so that the entire object list does not need to be gone through.

Definition at line 94 of file object.h.

Previous object in the 'active' list This is used in process_events so that the entire object list does not need to be gone through.

Definition at line 101 of file object.h.

special shadow variable: show dir to targeted enemy

Definition at line 370 of file object.h.

if we change facing in movement, we must test for update the anim

Definition at line 376 of file object.h.

The last direction this monster was facing

Definition at line 382 of file object.h.

The last direction this monster was facing backbuffer

Definition at line 385 of file object.h.

sic: shows moving dir or -1 when object do something else

Definition at line 373 of file object.h.

sic:

Definition at line 379 of file object.h.

struct archt* obj::arch

Pointer to archetype

Definition at line 202 of file object.h.

Artifact name that was applied to this object by give_artifact_abilities().

Definition at line 168 of file object.h.

uint8 obj::attack[NROFATTACKS]

our attack values - range from 0%-125%. (negative values makes no sense). Note: we can in theory allow 300% damage for a attacktype. all we need is to increase sint8 to sint16. That's true for resist & protection too. But it will be counter the damage calculation. Think about a way a player deals only 10 damage at base but can grab so many items that he does 3000% damage. that's not how this should work. More damage should come from the stats.dmg value - NOT from this source. The "125% max border" should work nice and the 25% over 100% should give a little boost. I think about to give player crafters the power to boost items to 100%+.

Definition at line 417 of file object.h.

What kind of attack movement

Use

Type(s) Description
Monster & NPC, Spawn Point Monster Distance attack: Move toward a player if far, but mantain some space. Run away: Run but attack if player catches up to object. Hit and run: Run to then hit player then run away cyclicly. Wait and hit: Wait for player to approach then hit, move if hit. Rush: Rush toward player blindly, similiar to dumb monster. Always run: Always run never attack. Wait and hit from distance: Attack from a distance if hit. Keep distance: Do not try to move towards player if far.

Definition at line 367 of file object.h.

This object starts to attack us! Only player & monster

Definition at line 177 of file object.h.

The tag of attacker, so we can be sure

Definition at line 199 of file object.h.

Needed to target the nearest enemy

Definition at line 264 of file object.h.

Various behavior flags.

Use

Type(s) Description
Monster & NPC, Spawn Point Monster This entry defines what kind of actions/behavior the monster is capable of.

Definition at line 394 of file object.h.

struct obj* obj::below

Pointer to the object stacked below this one

Definition at line 104 of file object.h.

How much weight this object contains (of objects in inv). This is not copied by memcpy(), since the memcpy() doesn't actually copy over the inventory either, so it would create bogus carrying weight in some cases.

Use

Type(s) Description
Monster & NPC, Spawn Point Monster If a monster has something in the inventory, this value can be set to reflect the slowdown due to the carried weight.

Definition at line 143 of file object.h.

The skill chosen to use

Definition at line 187 of file object.h.

Unique object number for this object

Definition at line 130 of file object.h.

Type-dependant extra data.

Definition at line 455 of file object.h.

Custom name assigned by player.

Definition at line 171 of file object.h.

Needed for the damage info for client in map2. Also used for unmodified carrying weight of magical containers to prevent rounding errors.

Definition at line 136 of file object.h.

struct obj* obj::enemy

Monster/player to follow even if not closest

Definition at line 174 of file object.h.

What count the enemy has

Use

Type(s) Description
Spawn Point Monster The spawn point will use a random number between 0-9999 to find a usable mob to spawn. If this value is nearest but not higher, this mob is selected. A number of 0 and only one mob in the spawn point means this mob is spawned always. A number of 5000 means a 50% chance to spawn.

Definition at line 193 of file object.h.

struct obj* obj::env

Pointer to the object which is the environment. This is typically the container that the object is in. If env == NULL then the object is on a map or in the nirvana.

Definition at line 118 of file object.h.

flags matching events of event objects inside object ->inv

Definition at line 220 of file object.h.

struct obj* obj::exp_obj

The exp. obj (category) associated with this object

Definition at line 190 of file object.h.

Object is oriented/facing that way.

Definition at line 331 of file object.h.

uint32 obj::flags[NUM_FLAGS_32]

Various flags

Definition at line 246 of file object.h.

Object is a light source

Use

Type(s) Description
Misc Object, Light Source, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Monster & NPC, Spawn Point, Spawn Point Monster, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Treasure, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info 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.
Applyable Light Applyable light can be turned on or off. The value above will determinate how and then it's copied to this value. If this value is 0 (default) the light is off - every other value means on. This value is normally autoset when applied but can be set by map makers to simulate light on.

Definition at line 316 of file object.h.

struct obj* obj::head

Points to the main object of a large body

Definition at line 124 of file object.h.

struct obj* obj::inv

Pointer to the first object in the inventory

Definition at line 112 of file object.h.

An index into the animation array for the client inv

Definition at line 299 of file object.h.

Struct pointer to the inventory 'face' - the picture(s)

Definition at line 214 of file object.h.

Condition of repair of an item - from 0 to 100% item_quality

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield This is the real quality status of item - showing how much it is used up. The quality value represents a percent value affecting the item's stats. Lower quality than 100% means effects like protection/damage etc are reduced.
Monster & NPC, Spawn Point Monster Level of the monster relative to map difficulty.

Definition at line 349 of file object.h.

Level needed to use or apply this item

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield

If <required level> is set to a value greater than zero, players cannot wear this item unless they meet this level in the skill category specified by <level required in>.

For example: <required level> = 15, <level required in> = physical means the player cannot wear the item unless he is equal or greater than level 15 in the physical skill category.

Monster & NPC, Spawn Point Monster If random_move is set, this determines value of Y position the creatures can move away from the spawn point (if it has one).
Shooting Weapon

If <required level> is set to a value greater than zero, players cannot use the weapon unless they meet this level in the skill category specified by <level required in>.

For example: <required level> = 15, <level required in> = physical means the player cannot use the weapon unless he is equal or greater than level 15 in the physical skill category.

Weapon

If <required level> is set to a value greater than zero, players cannot use the weapon unless they meet this level in the skill category specified by <level required in>.

For example: <required level> = 15, <level required in> = physical means the player cannot use the weapon unless he is equal or greater level than 15 in the physical skill category.

Client Map Info Number of tiles around the info object (including the info object's tile) that are within the tooltip's area.

Definition at line 355 of file object.h.

Power rating of the object.

Definition at line 423 of file object.h.

Quality of an item in range from 0-100

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield

Every item has a natural material quality, ranging from 0 to 100. This is a percent factor, which affects the base stats of the item. However, <max. quality> does not represent the actual state of the item but the best <actual quality> value this item can ever have.

Basic quality is 80%. If the item is made of cheap material, the value may be lower. If made of very fine material it may be 100%.

Definition at line 346 of file object.h.

Item crafted from race x. "orcish xxx", "dwarven xxxx"

Use

Type(s) Description
Monster & NPC, Spawn Point Monster If random_move is set, this determines value of X position the creatures can move away from the spawn point (if it has one).

Definition at line 352 of file object.h.

if set and item_level, item_level in this skill is needed

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield

This attribute specifies in which skill category the player must meet the <required level> in order to wear the item. It is meaningless when <required level> is zero/unset.

For example: <required level> = 15, <level required in> = physical means the player cannot wear the item unless he is equal or greater than level 15 in the physical skill category.

Shooting Weapon

This attribute specifies in which skill category the player must meet the <required level> in order to use the weapon. It is meaningless when <required level> is zero/unset.

For example: <required level> = 15, <level required in> = physical means the player cannot use the weapon unless he is equal or greater than level 15 in the physical skill category.

Weapon

This attribute specifies in which skill category the player must meet the <required level> in order to use the weapon. It is meaningless when <required level> is zero/unset.

For example: <required level> = 15, <level required in> = physical means the player cannot use the weapon unless he is equal or greater level than 15 in the physical skill category.

Client Map Info If not 0, will draw an outline around the tooltip's edges with the specified border size.

Definition at line 358 of file object.h.

Fields not explicitly known by the loader.

Definition at line 458 of file object.h.

Ticks between animation-frames

Definition at line 391 of file object.h.

The damage sent with map2

Definition at line 267 of file object.h.

How long since we last ate

Use

Type(s) Description
Applyable Light If set this light will wear out. If not set, it is a permanent light and <Ticks of Light> counter is ignored.
Altar, Altar Trigger, Button, Trigger Button, Detector, Handle, Handle Trigger, Inventory Checker, Pedestal, Trigger Pedestal Depending on the target object, setting this flag or not can have different effects. See the object you are connecting to this.
Disease

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.

Exit

This flag defines the destined map as "personal unique map". If set, there will be a seperate version of that map for every player out there. This feature is used for the permanent apartments.

It should not be used for anything else other than apartments, since Atrinik is a multiplayer game.

An exit pointing outside of a personal unique map must have the "unique destination" flag unset.

Magic Mirror How much to adjust height of objects using height on the mirrored tile by.
Magic Wall If set the wall is "on" and casts spells - if not set the wall is "off" and doesn't cast spells (but can be turned on).
Spawn Point Monster

The monster will: a) Only spawn when this darkness setting is the same as the map's darkness b) If the monster is spawned already and the darkness changes to an invalid value, the spawn point will remove the monster.

A positive darkness value means "if higher". A negative darkness value means "if lower" from absolute value.

A value of 4 means monster will be shown until darkness drops to 4 or lower. A value of -4 means monster will be shown until darkness is 4 or higher.

0 means "show always" (default).

Potion If this value is 0, the potion will invoke a spell effect when used. If set to -1, the potion will create a force when used and grant the user with the effects set (stats bonuses, resists, etc). Values higher than 0 are used internally for special potions - don't play around with it here!

Definition at line 293 of file object.h.

as last_sp, except for grace

Use

Type(s) Description
Ability The casting delay this spell/ability invokes to a monster using it. This is cumulatively added to the monster's default casting delay.
Disease The <attenuation> value reduces the diseases' <infectiousness> everytime it infects someone new. This limits how many generations a disease can propagate.
Horn, Rod, Wand & Staff When fired/used, this value in ticks defines how long it needs before the player can fire it again. The value is in ticks. 8 ticks are a second.
Inventory Checker If set, only players meeting the match criteria can pass through that space. If unset (default), the inventory checker acts like a trigger/button.
Spawn Point Defines the base spawn chance. Value 0 means spawn try every active phase. -1 means no spawn try. Values > 0 means spawn chance is 1 / value + 1.
Potion If throwable, this value in ticks defines how long it needs before the player can throw something again. The value is in ticks. 8 ticks are a second.
Projectile After shooting the player can't do a second shoot for some time. This value + the bow shooting delay (different bows can have different delay) will determine the time the player must wait. The value is in ticks. 8 ticks are one second.

Definition at line 290 of file object.h.

Last healed. Depends on constitution

Use

Type(s) Description
Brestplate Armour This poses a penalty to spell regeneration speed, for wearing the armour. The bigger the spellpoint penalty, the worse.
Boots This poses a penalty to spell regeneration speed, for wearing the boots. The higher the spellpoint penalty, the worse.
Helmet This poses a penalty to spell regeneration speed, for wearing the helmet. The higher the spellpoint penalty, the worse.
Inventory Checker

<Remove match> means remove object if found. Setting this is usually not recommended because inventory checkers are in general invisible. So, unlike for altars/locked doors, the player won't expect to lose an object when walking over that square. And he doesn't even get a message either.

So, *if* you enable <remove match>, make sure to inform the player what's going on!

Magic Mirror How much to zoom the mirrored objects.
Spawn Point Size of an area around the spawn point where the mob should be placed randomly. If this value is set to 0, spawn point will find no free place. If set to 1, it tests the space where the spawn point itself is. Increasing the value will start a search around the spot, starting in the south. value 2 searches spot 0, -1, value 3 spot 1, -1, 4 = 0, -1, etc.
Poison Food When a poison force is created after someone is affected by this poison food this value sets how often the DOT force applies damage before it wears out. (DOT = Damage Over Time)
Client Map Info Adjusts the label's tile X position.

Definition at line 284 of file object.h.

As last_heal, but for spell points

Use

Type(s) Description
Applyable Light

If <glow radius> is set to a value not zero, the object appears lit up on dark maps. The higher the value, the more light does the object emit. The current reasonable max value is 9.

If the value is 0, the light can't be lit and can't be applied. This is used for burned out lights like torches.

If the value is negative, this object will invoke darkness.

Altar The spell will be cast in this direction. Note, that if the altar should cast a healing spell on the player, this must be direction 0. For other spells like firestorm, it should be set a valid point of the compass direction.
Altar Trigger

If this attribute is enabled, the altar trigger won't push the connected value by altar reset. Only ONCE by dropping the sacrifice. This is typically used when the altar is connected to a creator, e.g. for selling tickets.

If this attribute is disabled (default), the altar trigger will push the connected value TWICE per sacrifice: First by dropping sacrifice, second by reset. This mode is typically used for altars being connected to gates, resulting in the gate being opened and closed again.

Brestplate Armour Slowdown penalty reduces the player's walking speed while wearing the armour. Higher values are worse - zero is the best.
Boots Slowdown penalty reduces the player's walking speed when wearing the boots. Higher values are worse - zero is best.
Helmet Slowdown penalty reduces the player's walking speed when wearing the helmet. Higher values are worse - zero is best.
Disease If set, the disease imposes a <slowdown> penalty while being infected. The player's speed is reduced by <slowdown> % of normal value.
Floor This value sets the basic light/darkness value of tile space. This is how much this space is naturally glowing. This is NOT the light source value. This value can be negative (shadow) and is directly added to a tile light value.
Inventory Checker, Sign & MagicMouth Enabled means having that object is a match. Disabled means not having that object is a match.
Mood Floor

<mood> is used to determine what will happen to the monster when affected by the mood floor:

furious: Makes all monsters aggressive. angry: As above but pets are unaffected. calm: Makes all monsters unaggressive. sleep: Puts all monsters to sleep. charm: Turns monster into a pet of person who triggers the square. This setting is not enabled for continous operation, you need to insert a <connection> value!

Pit, Trapdoor If the transfer flag is set, the destination values are used in a special way - instead of marking a fixed position, they are used to define a "drop area" where the player drops randomly.
Potion This value is supposed to be the base <throw range>. The value is only valid for potions which can be thrown.
Projectile This value is supposed to be the base <throw or shooting range>. For ammunition like arrows or bolts, the value is a base value which is added to the shooting weapon base value (bow, crossbow, sling).
Shooting Weapon This value is supposed to be the base <shooting range>. It is added to the base range of the used ammunition (arrow, bolt, etc).
Client Map Info Adjusts the label's tile Y position.

Definition at line 287 of file object.h.

the layer in a map, this object will be sorted in

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Monster & NPC, Spawn Point, Spawn Point Monster, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Treasure, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info 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.

Definition at line 400 of file object.h.

the level of this object (most used for mobs & player)

Use

Type(s) Description
Altar Set the power level of the spell.
Book If this value is set to be greater than zero, the player needs a certain literacy level to succeed reading the book. The book can be read if: mental level is greater than <literacy level> - 5. Adding level to a book can be a nice idea, personally I like it when a player needs more than his fighting skills to solve a quest. However, keep the book's level at least below 15 because it is quite difficult to gain high mental levels.
Creator

The created object will be of that level. If zero/unset, the standard level of the archetype is used.

(Only used if "create arch" is set)

Disease 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.
Duplicator The number of items in the target pile will be multiplied by this value. If it is set to zero, all target objects will be destroyed.
Flesh

The <flesh level> is not visible to the players and it affects only dragon players. Normally this value reflects the level of the monster from which the flesh item originates.

Dragon players always search for flesh of highest level possible, because it bears the best chance to gain high resistances.

Damager Level of the damager. Affects the chance for the damager to miss (same chance as spells).
Holy Altar

To re-consecrate an altar, the player's wisdom level must be as high or higher than this value. In that way, some altars can not be re-consecrated, while other altars, like those in dungeons and apartments could be.

Altars located in temples should have at least <reconsecrate level> 200. Some characters might need those altars, they would be very unhappy to see them re-consecrated to another cult.

Horn The casting level of the <spell> determines it's power. For attack spells, level should not be set too high.
Rod The casting level of the <spell> determines it's power. For attack spells, level should be set to something reasonable.
Magic Wall The wall will cast it's spells at level <spell level>. "level 1" walls cast spells at minimal strength. "level 115" walls cast deadly spells. Arch default is level 1 - you should always set this value to meet the overall difficulty of your map.
Monster & NPC, Spawn Point Monster A monster's <level> is the most important attribute. <level> affects the power of a monster in various ways, and also how much experience the player gains for killing the monster.
Mover

If <move players> is enabled, both players and monsters will be moved. In the arches' default it is disabled - thus ONLY monsters get moved. Remember that "monsters" include NPCs.

This feature provides you with the possibility to make NPCs literally "come to life". Example: The player is talking with an NPC, speaking a certain keyword. This triggers a magic ear and activates creators, creating (per default: monster-only) movers under the NPC's feet. The NPC starts "walking" on a predefined route!

Poison Food Set the power level of the poison.
Potion If the potion contains a spell, the spell is cast at this level. For other potions it should be set to at least 1.
Rune & Trap

This value sets the level the rune will cast the spell it contains at, if applicable. A level 99 rune casts a very, very mean spell of whatever. (<rune level> 0 runes won't detonate at all!)

Level also affects how easily a trap may be found and disarmed, and how much experience the player gets for doing so. Beware: High level runes can be quite a cheap source of experience! So either make them tough, or keep the level low.

Scroll The spell of the scroll will be casted at this level. This value should always be set, to at least 1.
Wand & Staff The <casting level> of the wand determines it's power.

Definition at line 325 of file object.h.

Any magical bonuses to this item

Use

Type(s) Description
Bracers <Magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the bracers.
Brestplate Armour <Magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the armour.
Boots

<Magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the boots.

Important: <magic bonus> on boots has no effect if there is no <armour class> set. It only works in combination with <armour class>.

Cloak

<Magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the cloak.

Important: <magic bonus> on cloaks has no effect if there is no <armour class> set. It only works in combination with <armour class>.

Girdle

<magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the girdle.

Important: <magic bonus> on girdles has no effect if there is no <armour class> set. It only works in combination with <armour class>.

Gloves If the gloves provide <armour class>, <magic bonus> will increase it. If the gloves have <weapon class> instead, then <magic bonus> will increase that.
Helmet

<Magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the helmet.

Important: <magic bonus> on helmets has no effect if there is no <armour class> set. It only works in combination with <armour class>. Crowns for example typically provide no <amour class>.

Shield <magic bonus> works just like ac, except that it can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct armour-class bonus on the shield.
Disease

<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. "&lt;infection range&gt; -6" means creatures can be infected in six square range, and <plague level> doesn't modify that.

Monster & NPC, Spawn Point Monster The casting delay this monster invokes every cast. This is cumulatively added to the spell's default casting delay.
Projectile Magic bonus increases chance to hit and damage a little bit.
Shooting Weapon <Magic bonus> improves the quality of the shooting weapon. I'm not sure what exactly is increased - maybe weaponclass? However, <magic bonus> seems to have a little bit of positive influence on your chance to hit.
Weapon For a weapon, magic bonus works just like weapon class, except that magic bonus can be improved by the gods or reduced by acid. Hence, it is less useful than direct weapon class value on a weapon.

Definition at line 319 of file object.h.

struct mapdef* obj::map

Pointer to the map in which this object is present

Definition at line 127 of file object.h.

What materials this object consists of

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info 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.
Special Key For Special Keys, material should always be set to "0" (no material) or "256" (adamantite). This prevents the key from getting burned or otherwise destroyed.

Definition at line 278 of file object.h.

This holds the real material value like what kind of steel

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info

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'.

Definition at line 281 of file object.h.

struct obj* obj::more

Pointer to the rest of a large body of objects

Definition at line 121 of file object.h.

What stage in attack mode

Definition at line 361 of file object.h.

What kind of movement

Use

Type(s) Description
Monster & NPC, Spawn Point Monster Pet movement: The monster does pet movement. Small circle: Will move in a circle until it is attacked. Large circle: Same as small circle, but a larger circle is used. Short horizontal pace: Will pace back and forth until attacked. Long horizontal pace: Like short one, but the length of the horizontal pace area is longer. Random direction: Will go in a random direction. Random walk: Constantly move in a different random direction. Short vertical pace: Like short horizontal pace, but vertical instead. Long vertical pace: Like short one, but the length of the vertical pace area is longer. Use waypoints: The monster uses waypoints, if it has any.

Definition at line 364 of file object.h.

If this is a book/sign/magic mouth/etc

Use

Type(s) Description
Misc Object, Floor, Gems, Jewels, Nuggets This text may describe the object.
Altar, Altar Trigger This text will be displayed to the player in the exact moment when the altar is activated.
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield This text describes the item's "story". Every decent artifact should have such a description.
Clock, Button, Trigger Button, Flesh, Handle, Handle Trigger This text may describe the item.
Book This is the text that appears "written" in the book.
Container This text may contain a description of the container.
Converter This text may contain a description of the converter.
Disease This text is displayed to the player every time the symptoms strike.
Exit If set, this message will be displayed to the player when he applies the exit. This is quite useful to throw in some "role-play feeling": "As you enter the dark cave you hear the sound of rustling dragonscales...".
Horn This text may contain a description of the horn.
Rod This text may contain a description of the rod.
Locked Door When a player is trying to open the door without carrying the appropriate key, this text is displayed to the player. This is a good opportunity to place hints about the special key needed to unlock the door.
Magic Ear, Monster & NPC, Spawn Point Monster

This textfield contains the keyword-matching-syntax. The text should have the following format:

"@match &lt;keyword1&gt;|&lt;keyword2&gt;|... ".

Any number of keywords from one to infinite is allowed. Make sure they are seperated by a '|'.

Examples: "@match yes", "@match gold|treasure". The connected value will be triggerd when the player speaks any of the given keywords within a two-square radius.

IMPORTANT: Upper/lower case does not make a difference.

Marker In the moment when the player gets marked, this text is displayed to him. You should really set a message in any marker you create, because it's the only way for the player to notice what's going on.
Projectile This text may describe the projectile. This could be nice for very special ones.
Rune & Trap When the rune detonates, this text is displayed to the victim. For especially powerful runes, create an appropriate thrilling description. ;)
Shooting Weapon, Weapon This text describes the weapons's "story". Every decent artifact weapon should have such a description.
Sign & MagicMouth This text will be displayed to the player.
Special Key This will add a description to the object. The player can read this text by clicking on the item in his inventory. Use this message to describe what the key is good for. A player might have 50 different keys on his key-ring. Don't expect players to recall their purpose just by their names.
Spellbook This text may contain a nice description of the spellbook's cover or something.
Wand & Staff This text may contain a description of the wand.
Event Object, Map Event Object Allows you to pass multi-line options to the event.
Client Map Info Label name or the tooltip's contents. Client markup is allowed.

Definition at line 165 of file object.h.

The name of the object, obviously...

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Money, Monster & NPC, Spawn Point, Spawn Point Monster, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Treasure, Weapon, Random Drop Container, Wand & Staff, Waypoint Object This is the name of the object, displayed to the player.
Damager

The name of the damager. This is so the player knows what is hitting them, and in case they die, the killer's name.

Examples are 'lava', 'spikes', etc.

Marker

When the player steps onto the marker, all existing forces in the player's inventory with a <key string> matching <delete mark> will be removed. If you don't want to remove any marks, leave this textfield empty.

Note that the string <delete mark> is set as the name of this marker. So don't be confused, and remember changing the name will take effect on the marker's functionality.

Event Object Name of the plugin which should be triggered by this event object.
Map Event Object Name of the plugin which should be triggered by this map event object.
Quest Container Name of this quest.
Beacon ID of the beacon. This should be unique string and no other beacon should have the same ID.
Client Map Info Each label/tooltip/etc name must be unique and cannot contain spaces.

Definition at line 151 of file object.h.

Pointer used for various things

Use

Type(s) Description
Applyable Light If a light source wears out, it checks this value. If it set, the object changes to this new object. This happens with torches - after they wear out, they change to burned out torches which can't be re-lit or refilled.
Container This is used for a certain kind of... "animation" when opening the container. Stick to the default arches here and you won't get into trouble.
Converter <receive arch> is the name of the archetype to convert into.
Creator

This string defines the object that will be created. You can choose any of the existing arches.

If you leave this empty, the creator will clone any non-system objects from its inventory instead (sort of like the spawn point).

Creators can't create mobs, use spawn points for that.

Disease

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.

Holy Altar

The altar belongs to the god of the given name. Possible options for <god name> are: Tabernacle, Moroch.

If you want to have an unconsecrated altar, set <god name> to empty string and eventually <reconsecrate level> 0.

Locked Door If set, the door will when opened change permanently to this object. If not set, the door will be used as "auto-closing" door, using the open counter value.
Monster & NPC, Spawn Point Monster This only takes effect if <multiply> or <splits> is enabled. The monster will create a <breed monster> every once in a while. <breed monster> can be set to any valid arch-name of a monster.

Definition at line 205 of file object.h.

struct obj* obj::owner

Pointer to the object which controls this one.

Owner should not be referred to directly - get_owner() should be used instead.

Definition at line 184 of file object.h.

What count the owner had (in case owner has been freed)

Definition at line 196 of file object.h.

Paths the object is attuned to

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield, Weapon Click on the <attuned paths> button to select spellpaths. The player will get attuned to the specified spellpaths while wearing this item.
Magic Mirror Layers to zoom.
Monster & NPC, Spawn Point Monster Click on the <attuned paths> button to select spellpaths. The creature will get attuned to the specified spellpaths.
Map Event Object A combination of AI events this object wants to receive.
Client Map Info Number of tiles east of the info object that the object spans.

Definition at line 231 of file object.h.

Paths the object is denied access to

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield, Weapon Click on the <denied paths> button to select spellpaths. The specified spellpaths will be denied to the player while wearing this item.
Monster & NPC, Spawn Point Monster Click on the <denied paths> button to select spellpaths. The creature won't be able to cast spells of the specified paths.

Definition at line 237 of file object.h.

Paths the object is repelled from

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield, Weapon Click on the <repelled paths> button to select spellpaths. The player will get attuned to the specified spellpaths while wearing this item.
Monster & NPC, Spawn Point Monster Click on the <repelled paths> button to select spellpaths. The creature will get repelled to the specified spellpaths.
Client Map Info Number of tiles south of the info object that the object spans.

Definition at line 234 of file object.h.

sint8 obj::protection[NROFATTACKS]

Resistance against attacks in % - range from -125 to 125

Definition at line 420 of file object.h.

quick pos is 0 for single arch, xxxx0000 for a head or x/y offset packed to 4 bits for a tail warning: change this when include > 15x15 monster

Definition at line 337 of file object.h.

Quickslot ID this object goes in

Definition at line 403 of file object.h.

Human, goblin, dragon, etc

Use

Type(s) Description
Light Refill Object Defines the light type which we can refill with this refill object.
Container

If set, the container will hold only certain types of objects. Possible choices for <container class> are: "gold and jewels", "arrows" and "keys".

Unfortunately it is not easy to create new container classes, because items need a matching counterpiece-attribute to the <container class> before they can be put inside a container. This attribute ("race") is set only for the existing container classes.

Disease

The disease will only infect creatures of the specified <race>.

"&lt;race&gt; *" means every creature can be infected.

Inventory Checker, Sign & MagicMouth This string specifies the object we are looking for: We have a match if the player does/don't carry an object of archetype <match arch name>.
Monster & NPC, Spawn Point Monster Every monster should have a race set to categorize it. The monster's <race> can have different effects: Slaying weapons inflict triple damage against enemy races and holy word kills only enemy races of the god.
Projectile

Only shooting weapons with matching <ammunition class> (and matching <ammunition type>) can fire these projectiles. For arrows set "arrows", for crossbow bolts set "crossbow bolts" (big surprise).

You can also make special containers holding these projectiles by setting the <container class> to match your <ammunition class>.

Shooting Weapon

Only projectiles with matching <ammunition class> can be fired with this weapon. For normal bows set "arrows", for normal crossbows set "crossbow bolts".

In certain cases, the ammunition class is displayed in the game. Hence, when you create a new ammunition class, choose an intuitive name like "missiles", "spirit bolts" - whatever.

Event Object Name of the script of data file we want submit to the plugin when the event is triggered.
Map Event Object Name of the script of data file we want submit to the plugin when the map event is triggered.

Definition at line 157 of file object.h.

Items to be generated

Use

Type(s) Description
Monster & NPC, Spawn Point Monster

When the monster is killed, items from the treasurelist will drop to the ground. This is a common way to reward players for killing (masses of) monsters.

Note that you can always put items into the monster's inventory. Those will drop-at-kill just like the stuff from the <treasurelist>.

Shop Floor This entry determines what kind of treasure will appear, when <generate goods> is enabled.
Treasure This entry determines what kind of treasure will appear.

Definition at line 208 of file object.h.

Object's rotation value in degrees.

Definition at line 313 of file object.h.

Monster runs away if its hp goes below this percentage.

Use

Type(s) Description
Monster & NPC, Spawn Point Monster This is a percentage based value in the range 0-100. The creature will attempt to run from the attacker when it's health points drops below this percentage of max health.

Definition at line 397 of file object.h.

Which race to do double damage to. If this is an exit, this is the filename

Use

Type(s) Description
Altar, Altar Trigger This string specifies the item that must be put on the altar to activate it. It can either be the name of an archetype, or directly the name of an object. Yet, titles are not recognized by altars. Remember to put a note somewhere, telling the player what he is expected to drop on the altar. Often this is put in the altar's name: E.g. "drop 100 platinums".
Container If <key string> is set, only players with a special key of matching <key string> are able to open the container.
Converter <Cost arch> is the name of the archetype the player has to put on the converter, as payment.
Creator

The created object will bear the name specified in <name creation>. If nothing is set, the standard name of the archetype is used.

(Only used if "create arch" is set)

Detector <Match name> specifies the name of the object we are looking for. Actually it does also check for the <key string> in key-objects, but for this case inventory checkers are often more powerful to use.
Duplicator Only objects of matching archetype, lying on top of the duplicator will be duplicated, multiplied or removed. All other objects will be ignored.
Exit, Pit, Teleporter, Trapdoor

The exit path defines the map that the player is transferred to.

You can enter an absolute path, beginning with '/' (for example "/tutorial"). It can also be a relative path, not beginning with '/' (on the map "/shattered_islands/world_0303" for example I could use the relative path "0304"). Use relative paths whenever possible! Note that upper/lower case must always be set correctly. However, please use lower case only.

It is well possible to have an exit pointing to the same map that the exit is on. If slaying is not set in an exit, the player will see a message like "The exit is closed".

Inventory Checker, Sign & MagicMouth This string specifies the object we are looking for: We have a match if the player does/don't carry a key object or a mark with identical <key string>. This string is compared to the name of an object. If the "match = slaying field" is set, the text is compared to the slaying field of the object we search for. This can make sense if we really want avoid any problems with user set names of objects.
Locked Door The <key string> in the door must be identical with the <key string> in the special key, then the door is unlocked. It is VERY important to set the <key string> to something that is unique among the Atrinik maps.
Magic Mirror

The map path the magic mirror is pointing to. Can be either absolute or relative map path.

If not set, the current map path is used.

Marker The <key string> can be detected by inventory checkers/ detectors. If the player already has a force with that <key string>, there won't be inserted a second one.
Pedestal, Trigger Pedestal

The <match race> defines the object we're looking for. If <match race> matches the monster's or the player's race, we have a match. Yes, pedestals can detect a player's race! E.g. you could create a place where only fireborns can enter, by setting "slaying unnatural".

If it is set to "player", any player stepping on the pedestal is a match. Very useful if you want to open a gate for players but not for monsters.

Projectile

Slaying means the weapon does triple (3x) damage to monsters of the specified race. If <slaying race> matches an arch name, only monsters of that archetype receive triple damage.

Triple damage is very effective, especially on higher levels.

Special Key This string must be identical with the <key string> in the locked door, then it can be unlocked. It can also be used to trigger inventory checkers.
Spellbook This string also defines the contained spell (just like field above), but here you write the spell's name directly. Setting both <spell> and <spell name> makes no sense.
Weapon Slaying means the weapon does triple (3x) damage to monsters of the specified race. If <slaying race> matches an arch name, only monsters of that archetype are hit with triple damage.
Event Object This string is given the event as option string.
Map Event Object This string is given the map event as option string.
Waypoint Object

Path to destination map. Leave blank to use current map.

You can enter an absolute path, beginning with '/' (for example "/tutorial"). It can also be a relative path, not beginning with '/' (on the map "/shattered_islands/world_0303" for example I could use the relative path "0304"). Use relative paths whenever possible! Note that upper/lower case must always be set correctly. However, please use lower case only.

Client Map Info Color of the outline in HTML notation (default is red, or #ff0000).

Definition at line 162 of file object.h.

The overall speed of this object

Use

Type(s) Description
Misc Object The object's speed.
Detector This value defines the time between two detector checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like <detection speed> 1.0.
Disease The <speed> of the disease determines how fast the disease will "move", thus how fast the symptoms strike the host.
Damager

Controls how often the damager hits creatures standing on top of it.

If 0, no damage will be done.

Magic Wall The <casting speed> defines the spellcasting speed of the wall. You can fine-tune how long the duration between two casts shall be.
Marker The <marking speed> defines how quickly it will mark something standing on the marker. Set this value rather high to make sure the player really gets his mark. I think <marking speed> 1.0 should do fine.
Monster & NPC, Spawn Point Monster The <speed> determines how fast a monster will both move and fight. High <speed> makes a monster considerably stronger. If the start value is negative (like -0.1) then the speed is set to 0.1 but the speed counter becomes a random start value.
Spawn Point The <speed> determines how often a spawn point will control itself and/or its monster. If there is no monster, the spawn point will try to spawn a new one.
Mover The movement speed value determines how fast a chain of these movers will push a player along (default is -0.2).
Swamp

The higher this value, the faster will players and items sink into the swamp. Swamp with very high drowning speed can be a nasty and unexpected death-trap.

Players should get a warning before such areas.

Teleporter

If the <activation speed> is nonzero, the teleporter will automatically be activated in regular time-intervals. Hence, the player can just step on it and gets teleported sooner or later. The duration between two activates depends on the given value. Default in the teleporter arch is <activation speed> 0.1.

VERY IMPORTANT: If you want to have your teleporter activated via button/handle/magic_ear/etc, you must set <activation speed> to zero!

Definition at line 437 of file object.h.

How much speed is left to spend this round

Use

Type(s) Description
Misc Object, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Monster & NPC, Spawn Point, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Treasure, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info

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.

Food The <speed> determines how long a force will stay if it gets created from food effects. Only used when food has effects and then copied to force speed.
Poison Food This value sets the speed of the DOT ticks. Careful - a value of 1 means damage every game tick - that can be 9 per second! (DOT = Damage Over Time)

Definition at line 440 of file object.h.

How the object was last drawn (animation)

Definition at line 322 of file object.h.

Str, Con, Dex, etc

Definition at line 452 of file object.h.

Sub type definition - this will be sent to client too

Definition at line 343 of file object.h.

The object can move over/is unaffected from this terrain type

Use

Type(s) Description
Misc Object What terrain can this object move on.
Monster & NPC, Spawn Point Monster These settings define on which kind of terrain this creature can move. If nothing is set, the creature can walk on land surface.

Definition at line 275 of file object.h.

type flags for different environment (tile is under water, firewalk,...) A object which can be applied GIVES this terrain flags to his owner

Use

Type(s) Description
Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Helmet, Shield, Weapon

The bearer of this item can move in every terrain that is set by <support terrain>. Such abilities like "water walking", "fire walking" etc are almost priceless as they open access to an entire new plane of the Atrinik world.

Artifacts with <support terrain> attributes are VERY SPECIAL and they must be well-balanced!

Floor The <terrain type> defines what kind of environment exists on this tile. This can be anything from normal land (= "none") to water, fire etc. Only creatures whith appropriate terrain abilities can pass over this square.

Definition at line 272 of file object.h.

PLAYER, BULLET, etc. See define.h

Definition at line 340 of file object.h.

This is used from map2 update!

Definition at line 243 of file object.h.

new weapon speed system. swing of weapon

Use

Type(s) Description
Container This value determines how much the weight of items is reduced in percent, when put inside the container. <reduce weight %> 1.0 means no reduction, <reduce weight %> 0 means items are weightless inside. 0.5 means weight is halved.
Weapon The weapon speed determines how often the wielder can swing the weapon during a certain period of time. The lower the faster, <weapon speed> 1 is best (that is lighting fast). A typical average value is 8. Speed and damage should be kept in reasonable relation.

Definition at line 443 of file object.h.

Weapon speed add

Definition at line 449 of file object.h.

Weapon speed left

Definition at line 446 of file object.h.

Attributes of the object - the weight

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Floor, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Monster & NPC, Spawn Point, Spawn Point Monster, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info 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.
Button, Trigger Button The button is pressed (triggered), as soon as <press weight> grams are placed on top of it.
Trapdoor This value defines how much weight the trapdoor can hold. Once items or creatures are gathered on the trapdoor, with a total weight surpassing this value, then the trapdoor will open and things start falling through.

Definition at line 223 of file object.h.

Weight-limit of object - player and container should have this... perhaps we can substitute it?

Use

Type(s) Description
Container The container can hold a maximum total weight of the given value in gram. Note that this weight limit is calculated *after* the weight reduction (<reduce weight>) has been applied.
Random Drop Container Set to a range from 0 to x. 0 means dropped always. 999999 means a chance from 1/999999 to drop.

Definition at line 228 of file object.h.

X position in the map for this object

Definition at line 249 of file object.h.

Y position in the map for this object

Definition at line 252 of file object.h.

Z-Position in the map (in pixels) for this object.

For floor (layer 1), this makes the client use tile stretching. All other objects get Y position (height) adjustment on the map (100 = the object moves 100 pixels further to the top, -50 = the object moves 50 pixels to the bottom).

Use

Type(s) Description
Misc Object, Light Source, Applyable Light, Light Refill Object, Ability, Altar, Altar Trigger, Amulet, Ring, Bracers, Brestplate Armour, Boots, Cloak, Girdle, Gloves, Clock, Helmet, Shield, Book, Button, Trigger Button, Container, Converter, Creator, Detector, Director, Disease, Duplicator, Exit, Flesh, Wall, Food, Drink, Gate, Timed Gate, Handle, Handle Trigger, Damager, Holy Altar, Horn, Rod, Inorganic, Inventory Checker, Gems, Jewels, Nuggets, Locked Door, Magic Ear, Magic Mirror, Magic Wall, Marker, Money, Monster & NPC, Spawn Point, Spawn Point Monster, Mood Floor, Mover, Pedestal, Trigger Pedestal, Pit, Poison Food, Organic, Potion, Power Crystal, Projectile, Rune & Trap, Savebed, Shooting Weapon, Scroll, Shop Floor, Shop Mat, Sign & MagicMouth, Special Key, Spellbook, Spinner, Swamp, Teleporter, Trapdoor, Treasure, Weapon, Random Drop Container, Wand & Staff, Event Object, Map Event Object, Waypoint Object, Quest Container, Beacon, Client Map Info Adjusts Y position of the object as it appears on the map.
Floor Height of this tile.

Definition at line 261 of file object.h.


The documentation for this struct was generated from the following files: