[Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide

no-reply_wiki at metalforge.org no-reply_wiki at metalforge.org
Sat Nov 25 19:50:45 CST 2006


A page in your DokuWiki was added or changed. Here are the details:

Date        : 2006/11/25 19:50
User        : leaf
Edit Summary: Import exit, book, sign / magic mouth, converter, savebed, wand/staff, runes / traps

@@ -492,19 +492,145 @@
  
  (Of course you must always give clear hints about keywords! And there is no reason why you couldn't use a button/lever/[[pedestal]] etc. instead of a [[magic_ear]].)
  
  === type 66: exit ===
+ 
+ Functionality of exits:           
+ When the player applies an exit, he is transferred to a different location. (Monsters cannot use exits.) Depending on how it is set, the player applies the exit just by walking into it, or by pressing <a>pply when standing on the exit. 
+  
+   * "slaying <map_path>" defines the map that the player is transferred to. <map_path> can be an absolute path, beginning with '/' (for example "/peterm/FireTemple/fire1"). It can also be a relative path, not beginning with '/' (On the map "/peterm/FireTemple/Fire2" for example I could use the relative path "Fire1"). 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".
+   * "hp <number>",  "sp <number>": hp, sp define the (x, y)- coordinates of the exit's destination. If both are set to zero, the player will be transferred to the "default enter location" of the destined map. The latter can be set in the map's attributes as "hp"/"sp", with crossedit there are input masks labeled "Start X"/"Start Y". Though, please DO NOT use that. I wrote it here only so that you understand some existing maps. It turned out to be a source for numerous map-bugs.
+   * "walk_on 1": If set, the player will apply the exit by just walking into it. This must be set for the invisible exits for example. If "walk_on 0", the player has to step onto the exit and press <a> to get transferred.
+   * "fly_on 1": If set, the player will apply the exit by "flying into it". Flying means the player is levitating. E.g. he might wear the levitation boots.
+   * "msg <text> endmsg": If set, <text> 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...". Well, my english is poor, but you got the point. =)
+   * "unique 1" defines the destined map as "personal unique map". That means there will be a seperate version of that map for every player out there. This feature is used for the permanent apartments (in Scorn/Nuernberg/Caterham...). It should not be used for anything else than apartments, since Crossfire is a *multi*player game. In such a permanent apartment don't forget to set "unique 1" for all floor tiles too (see [[floors]]). An exit pointing outside of a "personal unique map" must be "unique 0".
+    
+ Notes on usage:
+ If you want to have an invisible exit, set "invisible 1" (, of course "walk_on 1"), and put it *under* the floor. Otherwise it could be detected with the show_invisible spell.
+ 
+ You can be quite creative with the outlook of secret exits (their "face"). Don't forget to give the player relyable hints about them though.
+ 
+ see also:  [[teleporter]] (41)
  
  === type 85: spellbook ===
+ 
+ Functionality of spellbooks:      
+ By reading a spellbook, the player has a chance of learning the contained spell. Once learned from a book, the spell is available forever. Spellbooks with high level spells require some skill-level to read.
+  
+   * "sp  <[[spellnum]]>" defines the contained spell. You can look up the spellnumbers [[here]]. You could alternatively use the slaying.
+   * "slaying  <[[spell_name]]>" also defines the contained spell, just like sp, but here you write the spell's name instead of it's number. Saves you the hassle to look it up, and makes your stuff more readable to others.
+   * "msg <text> endmsg" could contain a nice description of the spellbook's cover or something.
+    
+ Notes on usage:
+ Don't put any of the godgiven spells into a spellbook! These are reserved for the followers of the appropriate cults. Handing them out in a spellbook would violate the balance between different religions.
+ 
+ If you want to have a random spellbook, you must use the arch "random_spells" ([[type 4]]) instead.
+ 
+ see also: [[book]] (8)
  
  === type 98: sign/ magic mouth ===
+ 
+ Functionality of signs/ magic_mouths:           
+ The purpose of a sign or magic_mouth is to display a certain message to the player. There are three ways to have the player get this message: The player walking onto it (-> magic_mouth), the player pressing <a>pply (-> sign) or the player triggering a button/handle/etc (-> magic_mouth).
+  
+   * "msg <text> endmsg" contains the <text> that will be displayed to the player.
+   * "invisible 1" should always be set if you want to have the object work as magic_mouth. Put magic_mouths *under* the floor, to prevent them being affected by the show_invisible spell. If you want to have a sign, set "invisible 0". That way the player can see the object, thus apply it, and get the message.
+   * "walk_on 1": If set, the player gets the message when walking ontop of the object. "invisible 1" should be set in this case. This is the typical configuration for a "magic_mouth": The player walks through a dungeon and suddenly he gets a message. Use this to create some roleplay atmosphere, and to inform the player about possible dangers or secrets.
+   * "fly_on 1": If set, the player gets the message when flying (=levitating) ontop of the object. Usually this should be set together with walk_on.
+   * "connected <connector_number>" means the message will be printed when the object is triggered via <connector_value>. This should be used in combination with "invisible 1" and "walk/fly_on 0". If activating your magic_mouth this way, the message will not only be printed to one player, but all players on the current map!
+   * "food <number>": If "food" is set, the sign/magic_mouth can be applied (printing the message) only <number> times. For signs this really shouldn't be used, while for magic_mouths it is extremely helpful. Often, you might want to have a message displayed only one time. For example: The player enters your map and you put a magic_mouth to tell him about the monsters and how dangerous they look and all. Later, when all the monsters are killed and the player leaves the map, displaying the same message a second time would be silly. "food 1" does a perfect job in such cases. Otherwise set "food 0" for infinite use (that is the default).
+ 
+ Notes on usage:
+ Use signs and magic_mouths, plenty of them! Place magic_mouths to add some true roleplay feeling to your maps, support your storyline or give hints about hidden secrets/dangers. Place signs to provide the player with all kinds of useful information for getting along in your maps.
+ 
+ see also:  [[book]] (8)
  
  === type 103: converter ===
+ 
+ Functionality of converters:     
+ Converters are like "exchange tables". When the player drops a specific type of items, they get converted into other items, at a predefined exchange-ratio.
+  
+   * "slaying <give_item>": <give_item> is the name of the archetype to convert from.
+   * "other_arch <get_item>": <get_item> is the name of the archetype to convert into.
+   * "sp <sp_value>",  "food <food_value>" defines the exchange-ratio: For <food_value> pieces of <give_item> the player will get <sp_value> pieces of <get_item>.
+   * "walk_on 1" and  "no_pick 1" must always be set for converters.
+  
+ Notes on usage:
+ Converters are better than shopping with doormats, because the converters never get sold out. For some items like food or jewels those "exchange tables" are really nice, while for the more important stuff like potions converters should not exist.
+ 
+ VERY IMPORTANT: Be careful with the exchange-ratio! When you drop items on a converter, the stuff you get must be of equal or lesser value than before! (Except if you are using "rare" items like dragonscales for payment). The code will not check if your ratio is sane, so the player could gain infinite wealth by using your converter.
+ 
+ See also: [[creator]] (42)
  
  === type 106: savebed ===
+ 
+ Functionality of savebeds:   
+ When the player applies a savebed, he is not only saved. Both his respawn-after-death and his word-of-recall positions are pointing to the last-applied savebed.
+  
+   * "no_pick 1" makes sure the savebed is non-pickable. DO NOT CHANGE THIS!
+   * "no_magic 1",  "damned 1" marks the savebed as no-spell-area. Again, DO NOT CHANGE THIS. Sometimes players die in auto fire mode...
+    
+ Notes on usage:
+ Put savebed locations in towns, do not put them into dungeons. It is absolutely neccessary that a place with savebeds is 100% secure. That means:
+ 
+   * Monsters must not be able to reach the savebeds under any circumstances!
+   * If there are NPCs around, make sure they have "friendly 1" set.
+   * Insert a relyable exit! Make sure there is no possibility that players get trapped in a savebed location.
+   * If possible, mark the whole site as no-spell area (Insert this arch called "dungeon_magic" everywhere). This is not required, but it makes the place much more safe. 
  
  === type 109: wand/staff=== 
+ 
+ Functionality of wands/staves:      
+ Wands contain a certain spell. The player can apply (ready) and fire the wand. After a defined number of casts, the wand is "used up". It is possible to recharge a wand with scrolls of charging, but usually that isn't worth the cost.
+ 
+   * "sp  <[[spellnum]]>" specifies the contained spell. You can look up the spellnumbers [[here]].
+   * "level <number>": The wand/staff will cast at level <number>. An average level for wands in shops is about 10.
+   * "food <number>" is the number of charges left before it is used up.
+    
+ Notes on usage:
+ Wands are quite seldomly used. The reason prolly is that they're generally not cost-efficient. Handing out high-level wands with powerfull special spells isn't a good idea either, because of the recharge ability.
+ 
+ For low levels, staffs of healing/cure and word of recall are quite desireable though.
+ 
+ see also: [[rod]] (3), [[potion]] (5), [[scroll]] (111)
  
  === type 122: container === 
+ 
+ Functionality of conatiners:           
+ A player can put (certain kinds of) items in the container. The overall weight of items is reduced when put inside a container, depending on the settings.
+ 
+ A special feature of containers is the "cauldron", capable of mixing alchemical receipes.
+  
+   * "container <value>": The container can hold a maximum total weight of <value> gram. Note that this weight limit is calculated *after* the weight reduction (-> Str) has been applied.
+   * "Str <value>" determines how much the weight of items is reduced in percent, when put inside the container. "Str 0" means no reduction, "Str 100" means items are weightless inside. Most default values are in the range of ten.
+   * "race <container_type>": If set, the container will hold only certain types of objects. Possible choices for <container_type> are: "gold and jewels", "arrows" and "keys".  Unfortunately it is not easy to create new container types, because they are hardcoded.
+   *  "is_cauldron 1": If set, the container can be used as alchemy-cauldron. The player can put ingredients inside, close it, cast alchemy and if his formulae is true, he'll get what he longed for.
+   * "other_arch <arch_name>" 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.
+   * "no_pick 1" should be set for all containers that you're using as map-decoration/furniture, like bookshelves, (permanent) chests or deposit boxes. For the ones you want the player to have, set "no_pick 0".
+  
+ Note on chests:   
+ There are two types of chests:
+ First the random treasure chests - Those are NOT containers (but  object type 4), they create random treasures when applied. Archetype name is "chest". Second there are the permanent chests - Those are containers, they can be opened and closed again. Archetype name is "chest_2".
  
  === type 154: rune/trap ==
  
+ Functionality of runes/ traps:               
+ A rune is a magical enscription on the dungeon floor. Traps are just like runes except they are not magical in nature, and generally have a physical attack.
+ 
+ Runes hit any monster or person who steps on them for 'dam' damage in 'attacktype' attacktype. Alternatively, the rune could contain any spell, and will cast this spell when it detonates. Yet another kind is the "summoning rune", summoning predefined monsters of any kind, at detonation.
+ 
+ Many traps and runes are already defined in the archetypes.
+  
+   * "level <number>": Level the rune will cast the spell it contains at, if applicable. A level 99 rune casts a very, very mean spell of whatever. ("level 0" runes won't detonate at all!) Level Also effects 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.
+   * "Cha <value>" determines what fraction of the time the rune is visible: It'll be randomly visible 1/Cha of the time. Also effects how easily the trap may be found.
+   * "sp  <[[spellnum]]>" defines the spell in the rune, if any. (Many runes and all traps do direct damage).
+   * "slaying  <[[spell_name]]>": Name of the spell in the rune, if any. Slaying is optional, but if present, overrides sp. Recommended for use by mapmakers to ensure portability.
+   * "hp <number>": The rune will detonate <number> times before disappearing.
+   * "attacktype  <[[attack_num]]>": If there isn't any spell (and race is unset), this attribute defines what attacktype to use for direct damage when the rune detonates.
+   * "msg <text> endmsg": When the rune detonates, <text> is displayed to the victim. For especially powerful runes, create an appropriate thrilling description. ;)
+   * "dam <value>" specifies how much damage is done by the rune, if it doesn't contain a spell. This should be set in reasonable relation to the rune's level. 
+   * "maxsp <rotation_num>" sets the direction to cast the spell the rune contains, if any. 1=north, 2=northeast, 3=east, ..., 8=northwest. In most cases this appears useless since the spell directly hits the player.
+   * "race <monster_arch_name>": If this is set to the arch name of any monster, together with "slaying summon evil monster", the rune will summon a bunch of those on detonation. (dam and attacktype will still be ignored in this case). In theory, runes are even capable of summoning multi-square monsters, given enough space. You'd better test it though.
+   * "maxhp <number>" should only be set to a summoning rune. It will then summon <number> creatures of <monster_arch_name>.
+    
+ Notes on usage:
+ Avoid monsters stepping on your runes. For example, summoning runes together with spellcasting- and  attack-runes is usually a bad idea.


IP-Address  : 65.165.40.73
Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164504784
New Revision: http://wiki.metalforge.net/doku.php/map-making_guide

-- 
This mail was generated by DokuWiki at
http://wiki.metalforge.net/




More information about the crossfire-wiki mailing list