Crossfire Server, Trunk  R20513
Magic Wall


Magic walls fire spells in a given direction, in regular intervals. Magic walls can contain any spell. However, some spells do not operate very successfully in them. The only way to know is to test the spell you want to use with a wall.

Several types of magical walls are predefined for you in the archetypes, and can be found on the "connected" Pickmap.

Type defined by:


Attribute Field Description
armor class liv::ac A magic wall of high <armor class> is less likely to get hit from an opponent. <armor class> can be considered the "counter piece" to <weapon class>.
artifact obj::artifact If defined, refers to an artifact to get values from.
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.
blocked movement obj::move_block If set, the object cannot be passed by players nor monsters.
casting speed obj::speed The <casting speed> defines the spell-casting speed of the wall. You can fine-tune how long the duration between two casts shall be. If you want to create a wall that can be activated (cast per trigger) via connected lever/button/etc, you must set "speed 0".
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.
connection connection value Every time the <connection> value is triggered, the wall will cast it's spell. You should set <casting speed> to zero, or this won't have much visible effect.
direction liv::sp The magic wall will cast it's spells always in the specified <direction>. A magic wall with direction set to <none> will always fire in a random direction.
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.
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.
hitpoints liv::hp The more <hitpoints> the wall has, the longer it takes to be destroyed.
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 obj::face The image-name defines what image is displayed for this object in-game.
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.
is destroyable FLAG_ALIVE Walls with <is destroyable> enabled can be attacked and (eventually) destroyed by the player. If disabled, all other attributes on this tab, as well as resistances, are meaningless.
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.
max hitpoints liv::maxhp <max hitpoints> are the maximum amount of hitpoints the wall can have. This only makes sense if the wall can regain health.
name obj::name This is the name of the object, displayed to the player.
no damage FLAG_NO_DAMAGE If set to non-zero, the wall cannot be destroyed by attacking it.
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.
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.
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.
resist acid % obj::resist (no description)
resist blinding % obj::resist (no description)
resist chaos % obj::resist (no description)
resist cold % obj::resist (no description)
resist confusion % obj::resist (no description)
resist death-attack % obj::resist (no description)
resist depletion % obj::resist (no description)
resist draining % obj::resist (no description)
resist electricity % obj::resist (no description)
resist fear % obj::resist (no description)
resist fire % obj::resist (no description)
resist ghosthit % obj::resist (no description)
resist godpower % obj::resist (no description)
resist holy power % obj::resist (no description)
resist magic % obj::resist (no description)
resist paralyze % obj::resist (no description)
resist physical % obj::resist (no description)
resist poison % obj::resist (no description)
resist slow % obj::resist (no description)
resist turn undead % obj::resist (no description)
resist weaponmagic % obj::resist (no description)
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".
spell level obj::level The wall will cast it's spells at level <spell level>. "level 1" walls cast spells at minimal strength. "level 100" walls cast deadly spells. Arch default is level 1 - you should always set this value to meet the overall difficulty of your map.
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.
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 open source.. you never know ;) ).