From no-reply_wiki at metalforge.org Thu Nov 2 22:18:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 02 Nov 2006 22:18:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:rednaxela:todo Message-ID: <1162527532.160002.9105.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/02 22:18 User : rednaxela Edit Summary: Update my todo page @@ -1,15 +1,25 @@ ====== My todo list: ====== + === "Now" (whatever that means) === + * Begin the proposed [[dev_todo:refactor|refactoring]] + * Have some //very// preliminary work, not worth committing yet. + * For the gtk2 client, deal with how to [[http://www.archivum.info/gtk -app-devel-list at gnome.org/2004-11/msg00267.html|replace gtk_combo_box_get_ active_text in pre-2.6 version of gtk]] + * Have a patch for it, but am feeling uncertain if it's a good fix t o it or not + === In the near future... === + * Contact [[http://www.klocwork.com/|Klocwork]] to request their [[htt p://www.klocwork.com/forms/open_source_analysis.asp|open source deal]] for source code analysis. + * Thinking of waiting till after refactoring, and perhaps other misc code cleanup. + === Eventually... === * Finish my python based client libs * Port the spellcasting swords to the new python server bindings and g et into cvs * Get a quest made for the 'create repulsion wall' spell * [[dev_todo:landplots|Land Plots]] + === Just ideas... === * "scrying" via tiling (already done by Mikee a little after I mention ed the idea) * A 'capture the flag' arena * Fancier monster ai - * And more things I'm forgetting... + ---- Back to [[user:rednaxela|my user page]] Back to [[:dev_todo|the main todo list]] IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/user:rednaxela:todo?rev =1138567149 New Revision: http://wiki.metalforge.net/doku.php/user:rednaxela:todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 2 22:25:00 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 02 Nov 2006 22:25:00 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:rednaxela:todo Message-ID: <1162527900.157729.9114.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/02 22:24 User : rednaxela Edit Summary: @@ -6,9 +6,9 @@ * Have a patch for it, but am feeling uncertain if it's a good fix t o it or not === In the near future... === * Contact [[http://www.klocwork.com/|Klocwork]] to request their [[htt p://www.klocwork.com/forms/open_source_analysis.asp|open source deal]] for source code analysis. * Thinking of waiting till after refactoring, and perhaps other misc code cleanup. - === Eventually... === + === Unfinished bussiness... === * Finish my python based client libs * Port the spellcasting swords to the new python server bindings and g et into cvs * Get a quest made for the 'create repulsion wall' spell * [[dev_todo:landplots|Land Plots]] IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/user:rednaxela:todo?rev =1162527531 New Revision: http://wiki.metalforge.net/doku.php/user:rednaxela:todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 4 08:24:28 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 04 Nov 2006 08:24:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: people Message-ID: <1162650268.469502.13123.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/04 08:24 User : alien Edit Summary: @@ -18,12 +18,13 @@ | Gene Alexander | [[user:eracc]] | eracc\\ galahadcf\\ (runs cfbot) | [ [http://sourceforge.net/users/eracc|eracc]] | | | | Ruben Safir | [[user:mrbrklyn]] | mrbrklyn\\ ruben\\ (runs xchat at al ) | | | [[http://www.mrbrklyn.com]] | | Kurt Fitzner | [[user:kfitzner]] | Fortiscue\\ Reven (forums) | [[http ://sourceforge.net/users/kfitzner|kfitzner]] | | [[http://www.excelcia.org ]] | | Christian Hujer | | Cher | [[http://sourceforge.net/users/christianhuj er|christianhujer]] | | [[http://www.riedquat.de]] | + | Maarten Vanraes | [[user:alien]] | AL13N | [[http://sourceforge.net/us ers/alien999999999|alien999999999]] | | | ===== Package Maintainers ===== ^ Full Name ^ irc ^ Distribution ^ | Kari Pahula | kaol | Debian| | Michael Thomas | _wart_ | Fedora| | Ketche South | Ketche | Mac OS X(ppc-X11) | | Ryo | ryo_ | Windows | IP-Address : 213.132.141.8 Old Revision: http://wiki.metalforge.net/doku.php/people?rev=1160919144 New Revision: http://wiki.metalforge.net/doku.php/people -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 4 11:40:15 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 04 Nov 2006 11:40:15 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides Message-ID: <1162662015.156528.13438.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/04 11:40 User : eracc Edit Summary: @@ -74,8 +74,9 @@ ==== Maps and Archetypes ==== Documentation on various aspects of modifing and creating maps or archet ypes. + * [[Custom Item Creation]] - Information and guidelines about creating custom items. * [[Item Type Guide]] - Information about how different types and attr ibutes affect objects. * [[Map Scale]] - A note about the scale of maps ==== Code ==== IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/guides?rev=1162131457 New Revision: http://wiki.metalforge.net/doku.php/guides -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 4 11:47:21 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 04 Nov 2006 11:47:21 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: custom_item_creation Message-ID: <1162662441.399189.13450.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/04 11:47 User : eracc Edit Summary: @@ -1,10 +1,10 @@ ====== Creating Custom Items ====== - This page contains a set of guidelines for creating custom weapons for s pecific maps. Custom weapons are created using an existing archetype and m odifying it to the map maker's purpose. + This page contains a set of guidelines for creating custom items for spe cific maps. Custom items are created using an existing archetype and modif ying it to the map maker's purpose. ===== Do and Do Not ===== FIXME ===== General Information ===== Some things to keep in mind when creating custom items. - * If you want your item to be able to be modified remember - don't cre ate a weapon that gives any resists, hp regenerates, sp regenerates, affec ts speed, or affects AC + * If you want your custom weapon to be able to be modified remember - don't create a weapon that gives any resists, hp regenerates, sp regenerat es, affects speed, or affects AC IP-Address : 72.4.41.2 Old Revision: http://wiki.metalforge.net/doku.php/custom_item_creation?rev =1162662390 New Revision: http://wiki.metalforge.net/doku.php/custom_item_creation -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 4 11:46:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 04 Nov 2006 11:46:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: custom_item_creation Message-ID: <1162662390.937360.13447.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/04 11:46 User : eracc Edit Summary: created ====== Creating Custom Items ====== This page contains a set of guidelines for creating custom weapons for spe cific maps. Custom weapons are created using an existing archetype and mod ifying it to the map maker's purpose. ===== Do and Do Not ===== FIXME ===== General Information ===== Some things to keep in mind when creating custom items. * If you want your item to be able to be modified remember - don't creat e a weapon that gives any resists, hp regenerates, sp regenerates, affects speed, or affects AC IP-Address : 72.4.41.2 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/custom_item_creation -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 5 22:23:03 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 05 Nov 2006 22:23:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1162786983.908893.17190.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/05 22:23 User : rednaxela Edit Summary: Add lots more info about Gridarta @@ -1,5 +1,33 @@ - Gridarta is a project that merges CFJavaEditor from Crossfire with its d erivate DaimoninEditor from Daimonin. + ====== Gridarta ====== + ===== Introduction ===== + Gridarta is a project that merges CFJavaEditor from Crossfire with its d erivate DaimoninEditor from Daimonin, started in May 2006 by Christian Huj er (Cher), Andreas Kirschbaum (Ragnor), and Zergus. + ===== Status ===== + There have been no official releases of Gridarta yet. + Most of the current effort seems to be going towards merging and cleanup on both sides. This table gives a rough idea of how much code is merged c urrently: + ^ Section ^ Lines (including blank and commented) ^ + | Merged code | 5178 | + | Gridarta4Crossfire | 31627 | + | Gridarta4Daimonin | 32060 | + | --- //[[user:rednaxela|Alex Schultz]] 2006/11/05 22:08//|| + ===== Getting Gridarta ===== + Gridarta can be retrieved from svn with: + svn co https://svn.sourceforge.net/svnroot/gridarta + ===== Building and Running Gridarta ===== + To build Gridarta, you need to use the //[[http://en.wikipedia.org/wiki/ Apache_Ant|Apache Ant]]// build system, and Java 1.5.0 or higher is requir ed to both build and run Gridarta. + ==== Building Gridarta4Crossfire ==== + Inside of the Gridarta source directory, run: + cd crossfire + ant + ==== Building Gridarta4Daimonin ==== + cd daimonin + ant + ==== Running Gridarta ==== + For Gridarata4Crossfire run: + java -jar CFJavaEditor.jar + or for Gridarta4Daimonin run: + java -jar DaimoninEditor.jar + Also, it is possible java may not allocated enough memory defaultly, in which case use "//-Xmx128M//" or similar in the parameters to Java. - ==== Links ==== + ===== Links ===== * http://gridarta.sourceforge.net/ Gridarta Website IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=116091884 7 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 5 22:49:31 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 05 Nov 2006 22:49:31 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1162788571.745725.17232.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/05 22:49 User : rednaxela Edit Summary: @@ -1,7 +1,7 @@ ====== Gridarta ====== ===== Introduction ===== - Gridarta is a project that merges CFJavaEditor from Crossfire with its d erivate DaimoninEditor from Daimonin, started in May 2006 by Christian Huj er (Cher), Andreas Kirschbaum (Ragnor), and Zergus. + Gridarta is a project that merges CFJavaEditor from Crossfire with its d erivate DaimoninEditor from Daimonin, started in May 2006 by Cher, Ragnor, and Zergus. ===== Status ===== There have been no official releases of Gridarta yet. Most of the current effort seems to be going towards merging and cleanup on both sides. This table gives a rough idea of how much code is merged c urrently: ^ Section ^ Lines (including blank and commented) ^ IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=116278698 3 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 5 23:21:55 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 05 Nov 2006 23:21:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1162790515.548924.17289.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/05 23:21 User : rednaxela Edit Summary: Add unofficial build list @@ -11,8 +11,11 @@ | --- //[[user:rednaxela|Alex Schultz]] 2006/11/05 22:08//|| ===== Getting Gridarta ===== Gridarta can be retrieved from svn with: svn co https://svn.sourceforge.net/svnroot/gridarta + + Also, there is the following 'unoffical' gridarta build: + * [[http://www.eracc.com/files/crossfire/CFJavaEditor.jar|Ragnor's G ridarta4Crossfire Build]] (usually updated when Ragnor makes user-visible changes) ===== Building and Running Gridarta ===== To build Gridarta, you need to use the //[[http://en.wikipedia.org/wiki/ Apache_Ant|Apache Ant]]// build system, and Java 1.5.0 or higher is requir ed to both build and run Gridarta. ==== Building Gridarta4Crossfire ==== IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=116278857 1 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 5 23:33:32 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 05 Nov 2006 23:33:32 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1162791212.831374.17304.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/05 23:33 User : rednaxela Edit Summary: add note @@ -4,9 +4,9 @@ ===== Status ===== There have been no official releases of Gridarta yet. Most of the current effort seems to be going towards merging and cleanup on both sides. This table gives a rough idea of how much code is merged c urrently: ^ Section ^ Lines (including blank and commented) ^ - | Merged code | 5178 | + | Merged code | 5178 (excluding textedit stuff) | | Gridarta4Crossfire | 31627 | | Gridarta4Daimonin | 32060 | | --- //[[user:rednaxela|Alex Schultz]] 2006/11/05 22:08//|| ===== Getting Gridarta ===== IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=116279051 5 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Nov 7 08:57:15 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 07 Nov 2006 08:57:15 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: history_of_crossfire Message-ID: <1162911435.746387.20851.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/07 08:57 User : lauwenmark Edit Summary: Added references to Dai-Moh-Ni @@ -56,16 +56,28 @@ == 4131 EK == * Foundation of the Elven City of [[Tashkeren-tah]] at [[Vkovzerov]] ( Lake Country). == 4453 EK == * The Elven City of [[Tashkeren-tah]] sinks into the largest lake of L ake Country. + + ==== Fifth Millenia EK ==== + == 5524 EK == + * The Meteomage Grab of Ledh fails an experiment, making the weather m ad for a while, an event remembered as "The Weather Madness". + == Late LVIth Century EK == + * The Great Schism between the Simplifists led by Mish the Toon and th e Stabilists: The Sedition Wars. + == 5581 EK == + * Battle of the Glowing Crystal: the Order of the Careful Coders is di sbanded. + == 5598 EK == + * The Simplifists exile themselves into the Pocket Dimension of Da? ?-Moh-N??, "The World With a Future", in Ancient Daigojij Language. ==== Sixth Millenia EK ==== == 6356 EK == * Butakis settles in Lake Country and starts building the Lake Pump. == 6356 EK == * The Lake Pump is destroyed by Twak. Lake Country is covered by fog. Butakis is disfigured. ==== Seventh Millenia EK ==== + == 7124 EK == + * Harta accidentally creates a Dimensional Grid, connecting the Crossf ire Continuum with the Da??-Moh-N?? Dimension. == 7563 EK == * The tower of [[Melficef]] the Red explodes. ==== Eighth Millenia EK ==== IP-Address : 81.240.76.154 Old Revision: http://wiki.metalforge.net/doku.php/history_of_crossfire?rev =1160940739 New Revision: http://wiki.metalforge.net/doku.php/history_of_crossfire -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 8 15:38:54 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 08 Nov 2006 15:38:54 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: people Message-ID: <1163021934.521678.24410.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/08 15:38 User : Edit Summary: @@ -6,9 +6,9 @@ | Brendan Lally | | cavehippo | [[http://sourceforge.net/users/cavesomet hing/|cavesomething]] | [[https://launchpad.net/people/brenlally | brenlal ly]] | | | Lalo Martins | [[user:lalomartins]] | lalo | [[http://sourceforge.net/ users/lalo/|lalo]] | [[https://launchpad.net/people/lalo.martins|lalo.mart ins]] | | | David Delbecq | | tchize | | | [[http://www.tchize.be]] | | Rick Tanner | Leaf | Leaf | [[http://sourceforge.net/users/rjtanner|rj tanner]] | | | - | Ketche South | | Ketche | | | [[http://meeg.elvenrealms.net/]] | + | Ketche | | Ketche | | | [[http://meeg.elvenrealms.net/]] | | Andrew Fuchs | [[user:techolous]] | TechII | [[http://sourceforge.net/ users/bbotbuilder/|bbotbuilder]] | [[https://launchpad.net/people/fuchs.an dy|fuchs.andy]] | | | Alex Schultz | [[user:rednaxela]] | Rednaxela | [[http://sourceforge.n et/users/qal21/|qal21]] | [[https://launchpad.net/people/rednaxela|rednaxe la]] | | | Rapha?l Quinet | [[user:raphael]] | raphael (gimpnet),\\ RaphaelQ (freenode) | [[http://sourceforge.net/users/quinet/|quinet]] | [[https:// launchpad.net/people/raphael-gimp|raphael-gimp]] | | | Joshua Wilson | majorwoo | majorwoo | [[http://sourceforge.net/users/m ajorwoo|majorwoo]] | | | @@ -25,6 +25,7 @@ ^ Full Name ^ irc ^ Distribution ^ | Kari Pahula | kaol | Debian| | Michael Thomas | _wart_ | Fedora| - | Ketche South | Ketche | Mac OS X(ppc-X11) | + | Ketche | Ketche | Mac OS X(ppc-X11) | + | Ketche | Ketche | SPARC Solaris | | Ryo | ryo_ | Windows | IP-Address : 24.21.151.193 Old Revision: http://wiki.metalforge.net/doku.php/people?rev=1162650268 New Revision: http://wiki.metalforge.net/doku.php/people -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 10 16:18:55 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 10 Nov 2006 16:18:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1163197135.511815.29430.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/10 16:18 User : cher Edit Summary: Added note about -client option. @@ -24,13 +24,15 @@ ant ==== Building Gridarta4Daimonin ==== cd daimonin ant + ==== Running Gridarta ==== For Gridarata4Crossfire run: java -jar CFJavaEditor.jar or for Gridarta4Daimonin run: java -jar DaimoninEditor.jar Also, it is possible java may not allocated enough memory defaultly, in which case use "//-Xmx128M//" or similar in the parameters to Java. + For larger machines, explicitely requesting a client type VM can signifi cantly speedup gridarta, so consider using "//-client//". ===== Links ===== * http://gridarta.sourceforge.net/ Gridarta Website IP-Address : 62.158.84.65 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=116279121 2 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From www-data at wiki.metalforge.net Wed Nov 15 11:05:00 2006 From: www-data at wiki.metalforge.net (www-data at wiki.metalforge.net) Date: Wed, 15 Nov 2006 11:05:00 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1163610300.553440.13318.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:04 User : ryo Edit Summary: add [SG]etReturnValue @@ -21,9 +21,8 @@ Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: * **title** : should be //Python// to call the Python plugin. * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. - ===== How do I hook a script to a global event? ===== Create a script, and put it in the ''/maps/trunk/python/events/xxx'' subdirectory, where ''xxx'' is the event's name. Existing events are: @@ -60,8 +59,12 @@ It is possible to override a built-in server command by specifying an existing command name. FIXME {check that} There is no way to unregister a command. + + ===== Return value ===== + + The return value of the script can manipulated through the ''GetReturnValue'' and ''SetReturnValue'' functions. Signification of this value depends on the event being handled. ====== Python API reference ====== Constants are available to wrap values used in Crossfire code like object types, movements, ... IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=cfpython&rev=1163609524 New Revision: http://wiki.metalforge.net/doku.php?id=cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From www-data at wiki.metalforge.net Wed Nov 15 11:08:38 2006 From: www-data at wiki.metalforge.net (www-data at wiki.metalforge.net) Date: Wed, 15 Nov 2006 11:08:38 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1163610518.778217.13336.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:08 User : ryo Edit Summary: some rewriting @@ -1,11 +1,16 @@ + ====== General information ====== + Server plugins enable to enhance the server with optional features. + FIXME {expand} - ====== Existing plugins ====== + ===== Existing plugins ===== Currently existing plugins are : - * [[cfpython]], for Python scripts - * [[cfanim]] + ^ Name ^ Description ^ Status ^ + | [[cfanim]] | animate objects | build, but untested | + | [[cfpython]] | run Python scripts | working | + | template | not a real plugin, but a skeleton to create new ones | up-to-date | ====== Hooks ====== Plugin system works through //hooks//. A hook is merely an event taking place, to which plugins can respond. Default server behavior can sometimes be overridden totally. @@ -18,8 +23,22 @@ ===== Hooking to global events ===== Plugin should use provided server functions to register itself. + + ===== Registering a command ===== + + A plugin can register a command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. + + A plugin can override an existing Crossfire command simply by declaring a command with desired name and returning ''1'' after execution. + FIXME {check overring of builtin command and return value} ====== Creating a plugin ====== - The simplest way is to look at the template plugin, available in[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] FIXME expand + Plugins should use the ''common'' plugin helper library, and use provided functions to manipulate Crossfire data. + + A plugin should never use ''free'' or equivalent on data the server allocated. A plugin should never directly link to Crossfire library and call functions. This may work on some platforms, but will crash on others (example is Windows). + + A plugin should never change directly a value in a Crossfire object (player structure, ...), but use provided wrapping functions. Ideally, a plugin should not access directly that structure's memory to read values, either. + + The simplest way is to look at the template plugin, available in[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/plugins/template/|plugins/template directory of the server sources]] + FIXME {expand} IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=server_plugin&rev=1163606745 New Revision: http://wiki.metalforge.net/doku.php?id=server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From www-data at wiki.metalforge.net Wed Nov 15 11:10:12 2006 From: www-data at wiki.metalforge.net (www-data at wiki.metalforge.net) Date: Wed, 15 Nov 2006 11:10:12 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1163610612.116757.13354.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:10 User : ryo Edit Summary: reformulation @@ -19,12 +19,13 @@ ===== Hooking to an object ===== Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. + ===== Hooking to global events ===== - Plugin should use provided server functions to register itself. + Plugin should use provided server callbacks to register itself. See the specific plugin documentation. ===== Registering a command ===== A plugin can register a command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=server_plugin&rev=1163610516 New Revision: http://wiki.metalforge.net/doku.php?id=server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From www-data at wiki.metalforge.net Wed Nov 15 11:12:38 2006 From: www-data at wiki.metalforge.net (www-data at wiki.metalforge.net) Date: Wed, 15 Nov 2006 11:12:38 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1163610758.465298.13357.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:12 User : ryo Edit Summary: reformulation @@ -63,13 +63,14 @@ ===== Return value ===== The return value of the script can manipulated through the ''GetReturnValue'' and ''SetReturnValue'' functions. Signification of this value depends on the event being handled. + ====== Python API reference ====== Constants are available to wrap values used in Crossfire code like object types, movements, ... - They are available through ''Crossfire.xxx.value'', where ''xxx'' is the constant type. + They are available through ''Crossfire.xxx.VALUE'', where ''xxx'' is the constant type and ''VALUE'' the value as in the C sources code in uppercase. For each constant group ''xxx'' there exists a ''xxxName'' dictionary object containing the name of the value as a string. The following constant types exist: IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=cfpython&rev=1163610297 New Revision: http://wiki.metalforge.net/doku.php?id=cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From www-data at wiki.metalforge.net Wed Nov 15 11:21:36 2006 From: www-data at wiki.metalforge.net (www-data at wiki.metalforge.net) Date: Wed, 15 Nov 2006 11:21:36 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1163611296.448437.13375.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:21 User : ryo Edit Summary: + scripts in python subdir, some info @@ -5,18 +5,21 @@ Old plugin's reference can be found on [[plugin_python]]. ====== General information ====== - The plugin has access to all built-in functions of Python, and its regular libraries. + The plugin has access to all built-in functions of Python, and its regular libraries. Python version being used depends on the platform the server was built, but should be 2.3 or higher. FIXME {is that always true?} Using a library not part of Python's default distribution is discouraged as this introduces new dependencies. Scripts execute in their own context, and their state information is not kept between runs. There are functions to persist data, or share between scripts. Note that persisted data will not survive a server restart. - Scripts should import the ''Crossfire'' module to access Crossfire's built-in functions. Calling Crossfire functions with invalid arguments will result in a Python exception being raised. A function failure will also result in an exception. + + Scripts will have the same access rights as the server itself. It may be able to write to some directories, but not others. + + Data should be persisted in the ''PlayerDirectory'' (for specific player information) or ''DataDirectory'' (for reglar information), where server normally has write access. ===== How do I hook a script to an object? ===== Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: @@ -66,8 +69,14 @@ The return value of the script can manipulated through the ''GetReturnValue'' and ''SetReturnValue'' functions. Signification of this value depends on the event being handled. ====== Python API reference ====== + + The following functions and objects are available to all scripts using the Crossfire module through ''import Crossfire''. + + **Convention:** in the reference, ''xxx()'' specifies a method, ''xxx'' specifies a property. + + ===== Constants ===== Constants are available to wrap values used in Crossfire code like object types, movements, ... They are available through ''Crossfire.xxx.VALUE'', where ''xxx'' is the constant type and ''VALUE'' the value as in the C sources code in uppercase. @@ -81,11 +90,8 @@ Example: ''whoami.Say("%s => %d"%(Crossfire.DirectionName[Crossfire.Direction.NORTH],Crossfire.Direction.NORTH))'' will write ''NORTH => 1'' **Warning**: Python doesn't know about constants, thus scripts can modify those values. Doing this can lead to weird results, and should be avoided at all cost. Note that the C code itself is immune to the changes, only the scripts would suffer. - - **Note:** in the reference, ''xxx()'' specifies a method, ''xxx'' specifies a property. - ===== Crossfire module methods ===== @@ -347,5 +353,8 @@ Methods: * Next * Parent + ====== Scripts part of Crossfire default maps ====== + Those Python scripts reside in the [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/python/|python]] subdirectory of the maps tree. They provide additional functionality, and may be considered as always present. + FIXME {describe existing ones} IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=cfpython&rev=1163610754 New Revision: http://wiki.metalforge.net/doku.php?id=cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:48:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:48:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_release_cycle Message-ID: <1163612932.067129.13442.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:48 User : Edit Summary: change CVS to SVN @@ -1,9 +1,9 @@ This document describes the crossfire release cycle - what goes in each release, how often releases are made, repositories, branches, etc. === Crossfire versioning is described as major.minor.micro === * 2.3.4 means major version 2, minor 3, micro 4 - * The main (head) of the CVS branch contains what will be the next major release. + * The main (head) of the SVN branch contains what will be the next major release. * A branch for the minor releases will be made when a major release is done * It is from this stable-major branch that future minor releases are made. * If a micro release is necessary, it will be branched from the stable-major branch, as stable-major-minor. * The RE may choose to make a branch for an upcoming minor release to limit changes, as stable-major-minor. IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=crossfire_release_cycle&rev=1155625632 New Revision: http://wiki.metalforge.net/doku.php?id=crossfire_release_cycle -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:50:18 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:50:18 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1163613018.357385.13451.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:50 User : ryo Edit Summary: precision @@ -24,12 +24,13 @@ ===== Hooking to global events ===== Plugin should use provided server callbacks to register itself. See the specific plugin documentation. + ===== Registering a command ===== - A plugin can register a command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. + A plugin can register a custom game command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. A plugin can override an existing Crossfire command simply by declaring a command with desired name and returning ''1'' after execution. FIXME {check overring of builtin command and return value} IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=server_plugin&rev=1163610610 New Revision: http://wiki.metalforge.net/doku.php?id=server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:53:03 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:53:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: servers:cftest Message-ID: <1163613183.495418.13454.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:53 User : Edit Summary: change CVS to SVN @@ -1,9 +1,9 @@ ====== TBA Test Server ====== A planned server, which will be used for testing. ===== Proposed Features ===== - * nightly cvs(or whatever vcs we move to) builds + * nightly svn builds * playerfile download (no upload) * using existing cgi script * ability to run from a branch * Approved users will be able to upload maps, and possibly arches IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=servers:cftest&rev=1157072631 New Revision: http://wiki.metalforge.net/doku.php?id=servers:cftest -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:54:28 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:54:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfjavaeditor Message-ID: <1163613269.008789.13457.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:54 User : Edit Summary: @@ -1,9 +1,9 @@ ====== CFJavaEditor ====== - CFJavaEditor (a.k.a. the Java Editor) is the more used of the two crossfire map editors. It is contained in the "cfjavaeditor" CVS module. This editor will latter be replaced with [[gridarta]]. + CFJavaEditor (a.k.a. the Java Editor) is the more used of the two crossfire map editors. It is contained in the "cfjavaeditor" CVS module, which was not moved into SVN. This editor is succeeded by [[gridarta]]. There have not been any gridarta releases yet. ===== External Links ===== * http://crossfire.real-time.com/download/index.html#javaeditor - Download compiled versions of CFJavaEditor. * http://gridarta.sourceforge.net/ - The Gridarta project. IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=cfjavaeditor&rev=1157062503 New Revision: http://wiki.metalforge.net/doku.php?id=cfjavaeditor -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:56:06 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:56:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:rednaxela:todo Message-ID: <1163613366.545358.13469.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:56 User : Edit Summary: @@ -8,9 +8,9 @@ * Contact [[http://www.klocwork.com/|Klocwork]] to request their [[http://www.klocwork.com/forms/open_source_analysis.asp|open source deal]] for source code analysis. * Thinking of waiting till after refactoring, and perhaps other misc code cleanup. === Unfinished bussiness... === * Finish my python based client libs - * Port the spellcasting swords to the new python server bindings and get into cvs + * Port the spellcasting swords to the new python server bindings and get into svn * Get a quest made for the 'create repulsion wall' spell * [[dev_todo:landplots|Land Plots]] === Just ideas... === * "scrying" via tiling (already done by Mikee a little after I mentioned the idea) IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=user:rednaxela:todo&rev=1162527899 New Revision: http://wiki.metalforge.net/doku.php?id=user:rednaxela:todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:55:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:55:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_traffic Message-ID: <1163613330.417283.13466.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:55 User : Edit Summary: change 'cvs list' to 'commit list' @@ -3,10 +3,10 @@ - Crossfire Traffic is a means to communicate the activity surrounding crossfire in an accessible and non-technical way, it is targeted at those who are curious about what is happening with the project, but find the existing mailing lists, CVS list. forum, wiki and IRC channels overly complicated, scary, or time consuming to read. As such it does not contain any background details, but instead focuses only on things that are user-visible + Crossfire Traffic is a means to communicate the activity surrounding crossfire in an accessible and non-technical way, it is targeted at those who are curious about what is happening with the project, but find the existing mailing lists, commit list, forum, wiki and IRC channels overly complicated, scary, or time consuming to read. As such it does not contain any background details, but instead focuses only on things that are user-visible ===== Archive ===== === 2006 === * [[Crossfire_traffic:2006:August]] //*Draft// * [[Crossfire_traffic:2006:July]] * [[Crossfire_traffic:2006:March]] === Template === * [[Crossfire_traffic:template]] IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=crossfire_traffic&rev=1154714921 New Revision: http://wiki.metalforge.net/doku.php?id=crossfire_traffic -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 11:57:50 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 11:57:50 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:cf2.0 Message-ID: <1163613470.366671.13472.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 11:57 User : Edit Summary: change cvs to svn @@ -20,10 +20,10 @@ Medium - Should probably have, but may be scrapped Low - Would be nice to have in the 2.0 release, but not necesarily needed. Status: - Completed - Feature has been commited to cvs, and has been tested - Commited - Feature has been commited to cvs, but could use more testing + Completed - Feature has been commited to svn, and has been tested + Commited - Feature has been commited to svn, but could use more testing Patch Availible - A patch is availible on the sf.net tracker (please link to the patch) Active - Feature is currently being worked on Inactive - No work or discussion is taking place for this feature Planning - The feature, and its details are being actively planed/debated IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=dev_todo:cf2.0&rev=1157904097 New Revision: http://wiki.metalforge.net/doku.php?id=dev_todo:cf2.0 -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 12:02:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 12:02:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: attribution_policy Message-ID: <1163613750.205509.13481.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 12:02 User : Edit Summary: change cvs to svn @@ -1,8 +1,8 @@ ====== Policies for Attribution ====== - ===== Patches Commited to CVS ===== - * The commiter of the patch SHOULD attribute it in cvs commit message. - * Someone WILL attribute the patch in the changelog. (//the one in with the code, not the one cvs keeps//) + ===== Patches Commited to SVN ===== + * The commiter of the patch SHOULD attribute it in svn commit message. + * Someone WILL attribute the patch in the changelog. (//the one in with the code, not the one svn keeps//) * Unless it is a huge change, do not expect attribution in the form of a comment in the code. * If you feel that something was improperly attributed, make a request on the mailing list to get it fixed. * When making such a request to the mailing list, please be sure to include a reference & details to the exact checkin(s) in question. IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=attribution_policy&rev=1151784461 New Revision: http://wiki.metalforge.net/doku.php?id=attribution_policy -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 12:08:51 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 12:08:51 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:pupland Message-ID: <1163614131.802828.13490.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 12:08 User : Edit Summary: @@ -1,9 +1,9 @@ [[user:lalomartins|Lalo]] is working on a Bigworld version of Pupland. ====== Status of the mapping work ====== - * The work is accessible as a CVS branch. You can see it by doing ''cvs up -r lalo-pupland'' on your ''maps-bigworld'' checkout. + * The work is accessible as a branch in CVS. You can see it by doing ''cvs up -r lalo-pupland'' on your ''maps-bigworld'' cvs checkout. In SVN the lalo-pupland branch has been added to the maps tree however it currently does not contain any of the new work and at the second is just a copy of the trunk branch. * Weather **will break** above a certain level (I haven't tested which one). That's because these maps make the world non-rectangular; the weather code should probably be changed to assume empty, plain ocean on missing tiles. See also [[dev_todo:fix_weather]]. It has also been discussed that it would probably be nice for the weather system to change its idea of "poles", since even if Bigworld is a planet as we understand it, the area we have mapped is not the whole planet (in fact the Scorn/Navar continent hardly qualifies as a continent -- it's roughly the size of one of the islands that make up Hawaii). Note that without that change, Lone Town will be a **very** cold place :-) not that that's a bad thing, might be reasonable (at least gives a reason for being "lone") * Nurnberg is basically ready; Castle Eureca, Kurte, the huts, barbarian ruins, tower of ordeal, cave pass, and rebel port are linked (in but not out). There are still some maps from the Pupland quest to link: power plant, research facility, army camp. Lone Town is placed, but empty (buildings need to be copy-pasted in place). The big port was promoted into its own town -- for the lack of a better name, "port Pupland". (So all you port-loving map makers, here's an entire new port for you to play with.) IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=dev_todo:pupland&rev=1155625672 New Revision: http://wiki.metalforge.net/doku.php?id=dev_todo:pupland -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 12:18:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 12:18:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: python_plugin Message-ID: <1163614728.809280.13517.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 12:18 User : ryo Edit Summary: see cfpython :) @@ -1,16 +1 @@ - ====== Python Plugin ====== - - The Python Plugin allows for powerful scripting to be done with everyone's favorite braceless programming language - Python. - - //Here are some pages detailing the functions of the Pyhton Plugin for Crossfire on loan from the documents section// - - //**Attention wiki editors**: What to do with the following tidbit which was appended to the previous line of text from the old wiki? - **(bonus that both Zwiki and the [Back Talk Book] tool are using [Structured Text Rules]).** Are these applicable with the new wiki?// - - * [[CFPython]] (The Python Plugin) - * [[CFPython A-C]] - * [[CFPython D-G]] - * [[CFPython H-R]] - * [[CFPython S-Z]] - - + see [[cfpython]], and please fix the link to here! :) IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php?id=python_plugin&rev=1131912522 New Revision: http://wiki.metalforge.net/doku.php?id=python_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 12:20:54 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 12:20:54 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: servers Message-ID: <1163614854.750280.13529.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 12:20 User : Edit Summary: @@ -4,9 +4,9 @@ This section will hopefully contain a useful collection of information about running and historical crossfire servers. Please keep this limited to public servers, or private ones which have been historically significant. ===== Presently Running Crossfire Servers ===== ^ Server ^ Address ^ Version ^ Mapset ^ Lifespan ^ Description ^ - | [[servers:MetalForge]]| crossfire.metalforge.net | 1.9.1-CVS | bigworld(official)((Sometimes maps are included for testing before in CVS)) | 2003-May-12 to current | Currently has the most actual players, strict rules. Around late August 2006, ~6-19 players online at a time. | + | [[servers:MetalForge]]| crossfire.metalforge.net | 1.9.1-SVN | bigworld(official)((Sometimes maps are included for testing before in SVN)) | 2003-May-12 to current | Currently has the most actual players, strict rules. Around late August 2006, ~6-19 players online at a time. | | Zeus | zeus.fh-brandenburg.de | 1.9.0 | bigworld | unknown to current | Rarely active. | | Kobold | crossfire.kobold.org | 1.9.1 | bigworld | unknown to current | Rarely active. | | Netarbeiter | crossfire.netarbeiter.com | 1.9.1 | bigworld | unknown to current | Rarely active. | | Bratwurst| bratwurst.unix-ag.uni-kl.de | 1.8.0 | bigworld | unknown to current | Rarely active. | IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=servers&rev=1158486130 New Revision: http://wiki.metalforge.net/doku.php?id=servers -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 12:19:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 12:19:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: join Message-ID: <1163614788.960722.13520.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 12:19 User : Edit Summary: Change cvs to svn @@ -20,11 +20,11 @@ * Game guides (hints, spoilers, documentation, etc.) * IRC channels: #crossfire (Official) and #crossfire-bs (unofficial/OT) on FreeNode * Mailing lists * [[http://mailman.metalforge.org/mailman/listinfo/crossfire-announce|Crossfire Announcement List]] - * [[http://lists.sourceforge.net/mailman/listinfo/crossfire-CVS|Crossfire CVS List]] (tells of cvs commits) + * [[http://lists.sourceforge.net/mailman/listinfo/crossfire-CVS|Crossfire CVS List]]((Name says CVS due to it being difficult/impossible to change on SF.net)) (tells of svn commits) * [[http://mailman.metalforge.org/mailman/listinfo/crossfire/|Crossfire Discussion List]] (The Main One) * [[http://lists.sourceforge.net/lists/listinfo/crossfire-maps|Crossfire Maps Discussion List]] * [[http://forum.metalforge.net|Web forum]] * [[Crossfire Traffic]] IP-Address : 192.139.27.18 Old Revision: http://wiki.metalforge.net/doku.php?id=join&rev=1151776121 New Revision: http://wiki.metalforge.net/doku.php?id=join -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 18:50:22 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 18:50:22 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1163638222.472172.14147.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 18:50 User : leaf Edit Summary: Latest story from IRC - Kingdrom of Brittany and the city of Brest @@ -18,4 +18,65 @@ ==The Moons of Bigworld== The are three moons that orbit bigworld, they are called [[Ranisha]] the Red, [[Asferenn]] the Blue and [[Wolfen]] the White. In the elven language, they are known as "Snarfa", "Skorta", and "Svertzika". + + == Kingdrom of Brittany and the city of Brest == + + + Children in Scorn usually love the stories of their quests. It is much better so. + + That's indeed weird to have so many easy travels to Brittany, while the whole point of the Exiled was to be hard to reach :) + + While Brittany is the area where the Last Men went to hide from the Werebeasts. Strange thing, actually, that "Brittany" comes from the old Khelentari meaning "Wide Plains". Well, it is nowaday strange, of course. When the first explorers reached that area, there were no mountains separating that from the region of Scorn. + + No, definitely not. Juberness the Erudite found out that this common belief came from an erroneous transcript of the Codex Magirata by Furnenn during the XXIIth century. + + You see, it was a harsh time. It was during the Great War against the dragons. Scorn itself stood firm, but many people doubted that it would be able to resist against the Great Dragons that had crossed the Wall. + + The Baron of Quay-Vy, a small state-city that was allied to Scorn, then sent messenger all around in the few territories still free from the dragons asking for any possible help, promising a huge treasure as a reward. Many came, but with no real proposal. + + Then, a Mage came. The story forgot his name - or maybe he made it forget - but he was powerful for sure. He sent his creation to help men: the terrible werebeasts. And, as we now know, the Allied People vainquished the dragons. And so did the mage ask for his bill to be paid. But his price was way too high, and the ravages of the war made it impossible for the Baron to pay him. + + "So be said, then !" said the furious mage, "You'll pay with blood what your purse refused to spit out !" + + Werebeasts then attacked those they once helped. Already weakened by the dragon's war, the remaining Thinking Races were on the verge of becoming extinct. The College of Wizards of Scorn then took a drastic decision: selecting 100 young men and 100 young women across the country, the "Last Men", they organised an exodus to the south, and used all their powers to prevent the werebeasts to kill those survivors. + + First, they raised mountains all around. High. Dangerous. Nasty Weather and stuff. + + Of course, it meant that the Last Men were now cut from the rest of the world completely. + Then, they built two fortresses guarding the two passages that existed through the mountains they had raised. And, to ensure they'd stand against the werebeasts, they cast a spell of Temporal Lock on them. + + Temporal Locks are very powerful and dangerous spells. + + As long as they are in effect, the people they protect never get old, and are harder to kill than simple mortals. On the other hand, invaders and enemies of all sorts perish much more easily. + + There is a drawback to Temporal Locks, though, which is why it is usually banned by most white wizards. + + When the spell comes to its end, it "runs out of magical energy". Then, it finds energy to try to maintain itself at all costs, and sucks the very life of those it protects. Turning them into people that are neither alive or dead, or even undead, but both and neither at the same time. Finally, the spell dies, having exhausted everything and everybody, and only ruins remain, that look centuries old even if they are only a few months old in fact. That's what happened to the two fortresses for sure. + + but + + What about the werebeasts ? + + Well, unknown to the inhabitants of Brittany, the Five Ones tracked them, killed them, and saved not only Scorn, but also the Thinking Races, from total destruction. The Five Ones then were able to reach Brittany and tell its inhabitants that they could stop hiding. The Five were actually a team of five, well, heroes that are still famous today. + + But, so confident were the Last Men in their magical defenses that they didn't believe what they told us, saying that they were just poor comedians in desperate need of easy money. Disgusted, the Five Ones left Brittany. And no other man crossed the mountains for 2500 years. + + During that time, Brittany flourished, completely convinced that it was the last human kingdom in a world dominated by monsters of all sorts. + Then, Mer'eric the Walker discovered by accident that a light could be seen, on clear days, from above the top of Nursen, the high mountain that dominates Brest, the Capital City of Brittany. + + He spent ten years of his life to build the Great Heliograph, a device that could focus the sunlight into a wide beam, that could be used to send messages. + + On the other side, the man now known as the "Mad Mage" was holding experiences about the properties of light. It was him that inadvertently attracted the attention of Mer'eric. And he quickly noticed the signs sent by the Great Heliograph, and built on his side a similar device. + + But in Brest, things weren't as joyful as one could have thought. + + People were thinking: "Those are dragons, trying to fool us ! Mer'eric as doomed us all !" + And Mer'eric himself became afraid of the consequences of what he had done. So he hid his machine, and decided to cross the mountains to see by himself what had happened. + + When he came back five years later with some companions, Brestians were forced to admit that they weren't the last ones on Earth. And they felt angry and spoiled from what they said was their heritage. Tension rose between Brittany and Scorn, and shadows of War became longer again. + It is then, when everything seemed to go to another butcher's feast, that the Five Ones reappeared. It is said that it is the "Mad Mage" that called them through the gateways of time. Who knows ? One thing is sure: they prevented the war, about 10 years ago. One of them, a brave warrior with hairs of the color of the sun, is still the only and true ruler of Brittany. + + But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "Mad Mage" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? + + As for myself, I don't know, and here ends my knowledge about Brittany's Past. IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1160940685 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed Nov 15 19:07:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 15 Nov 2006 19:07:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1163639250.759915.14168.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/15 19:07 User : leaf Edit Summary: Story from last week on IRC - Lorkas the Fallen @@ -79,4 +79,83 @@ But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "Mad Mage" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? As for myself, I don't know, and here ends my knowledge about Brittany's Past. + + == Story of Lorkas the Fallen == + + I'll tell you about Lorkas of Amudrias, and how he found the White Bird of Hope, and how he capitained it, opening the Gates of the Sun, and some stuff like that. + + Some say that Lorkas was an angel of Valriel, that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new un derground domains. + + Some also say that Lorkas is a dark spirit, a lost soul, an unclean, unfaithful, untrusty creature of Doom and Chaos. + + But, for what matters, some also said that Fido was a fiction, or that the Empire never was more than a dream of a past that never existed. Some definitely are foolishly uninformed for sure, and speak more than they think. + + Because, if they were less quick on jumping to conclusions, they'd quickly notice how difficult it is for an angel to fall from the sky and never be able to climb back, as if wild gooses were never able to take off again once they land after their long journey to the South. + + Anyway, as every wise man knows, Lorkas was no angelic creature of divine essence, or even a magical creation of a godly force. + + Some say that Khelens is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of Songor the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the Long Wall. And before it, the forgotten towers of light that Horadrists built + + Lorkas was born in Kuratas, a small agrarian state that existed on the Coronian Valley, when Songer and Khelens were still in infancy. He was a boy that w anted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. + + + But life was rude in Kuratas, and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, Kuratas dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. + + Tired of his senseless life, he left his parents, his village, his friends, when he was only 12, and for weeks walked to the West, until he reached the Coast of the Stonewalls. + + And there, he saw Ottarakans, the Infinite Ocean that extends west of the Old World, and so fell in love for the sea. He then joined the Port of Kridatta, which was famous for its ships, as its inhabitants had mastered a powerful arcane, so that their boats roamed not only the seas, but the very clouds themselves. + + Because he was smart and quick-brained, Lorkas soon got enrolled in the team of Capt'n Bortaras; and after several adventures I shall maybe tell about another day, he took the succession of the old mariner. + + Horizon was the name of his ship, and famous was his crew, exploring huge territories and fighting the Princes of Sinas, who back then tried to put the whole area under their iron, greedy grasps. + + But Lorkas heard about a wonder that him and his crew soon wanted to find: The White Bird of Hope. + + Buried in the Very East, it was said to be. And so he sailed east; he crossed the Great Desert, passed the Mountains of Daigojij, reached the forests of t he western normanika. But still was the Bird further away. + + Reaching the Eastern Ocean, they decided to try to cross it, despite that it was said to be the end of the world. And for 30 days and nights, across tempests and monsters, they firmly kept heading east, east, east. + + When despair was growing on them, mists magically opened, revealing a golden city built on what seemed to be a rich, fertile coastal plain. + + People there spoke a strange language; they were small and not unlike joyful foxes, and they welcomed Lorkas and his men (and women) warmly. Soon, they le arned to understand each other enough. + + They called themselves "The People of the Mother", and they had never seen the "Flat-Eared Giants" before, although they already met "Flat-Eared Beards" a nd "Flat-Eared Greens" before. + + But there was a lady called Sonja. And, although she wasn't human, she seemed brighter, smarter, more beautiful than any other woman Lorkas had ever seen before. + + Those months were the most wonderful for him - and her - and time seemed to have stopped for them in their endless love. + But of course, it hadn't. + + And after a while, some of his men wanted to go back to their own homes, and some wanted for their families to come to the Golden City. And, also, there was the Bird. + + They had no problem to find the White Bird of Hope - a statue entirely made of the purest of the white marble, with gemstones of red ruby as eyes. But so much the inhabitants liked it, so they thought that a valuable friend was much better than a valuable statue. + + And so they said: "Take the bird as a gift of us to your masters, to show them we want to make friendship with them. Welcome are the friends of the children of the White Bird." + + And so Lorkas left, promising Sonja that he'd soon return. + + The people of the Golden City also told him that "The Bird is imbued with powerful magic: the one owning it will always keep hope." + + When Lorkas came back, he and his men were welcomed as heroes. So where does the story turns soure, as Lorkas is said to have fallen from the skies ? + + Well, when he and his crew came back home, Kridatta was at war with Sinas, and for several years, he and his crew fought, using the power of the bird to help them. And during those years, Lorkas kept the hope of seeing again Sonja in heart. + + Then came the Fever Plague, that killed a third of the people in the Ancient World. And again was the Bird used, and again did Lorkas help all those he co uld help, still having hope is seeing the golden city again soon. + + And then, he sent messengers and explorers, as he had become influent, rich, and powerful, across the seas, to rebind the ties with the Golden City, as he promised. But they all came without finding their way to those faraway shores; yet all that time, and for each new mission sent to explore the seas and the skies, they seemed closed and closer from the goal. + + Sixty years passed. The world changed; new kingdoms ruled old cities; Lorkas was now an old man that lived in a small house looking at the Ocean. + + And still, each day, he spent hours waiting, watching the line where the sea met the sky, hoping that one day, one would sail back and tell him: "we found the Golden City !". And always he hoped, but never received. + + Nearly all of his companions were now dead, and the Horizon had been retired long ago, now slowly rotting in the bay, fading souvenir of a long forgotten past. + + Lorkas walked to his boat, and where there was only tarnished wood and corroded metal, he still saw the fierce ship on which he saw Sonja for the first time, so long ago. Who knows what he did, then ? One thing is sure: the vigile of the Sea Tower of Kridatta, that watched boats coming and leaving from dozens of miles away, reported that an ancient ship left the bay, with Lorkas sitting at the front of it, holding the Bird, as if he was sleeping. + + Nobody knows exactly where he went. Was he even dead ? Nobody knows. But everybody kept hope that, one day, he'd reach the Golden City again. + Lots of people tried to find the Bird after that event. They all accused Lorkas of having "stolen" it. The story became legend. The legend became fairy tale. And the fairy tale got forgotten by most. + + Yet, Centuries ago, deep in the oldest parts of the Old City of Scorn, people claimed to have found an ancient mausoleum, a relic of the past. All made of the purest, finest gold. On the walls were engraved a man at the wheel of a strange ship, and a woman with pointy ears, watching the skies. And many nowadays keep the Hope that the White Bird now sleeps down below the streets, having found its way back to home with Lorkas. + + But who could tell if it is the truth, or only a silly story ? Who knows ? As for myself, I don't care: I just hold hope it is. And so ends the Story of Lorkas, and so keeps Hope running. IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1163638221 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 08:30:20 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 08:30:20 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1163687420.483015.15679.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 08:30 User : ryo Edit Summary: fix headers for section editing @@ -1,5 +1,5 @@ - ==Scorn and the oldcity== + =====Scorn and the oldcity===== [[world:Scorn]] was founded in 435EK, when the expedition of [[Skud]] reached the shores of the Great Continent. It is said that he first pitched his tent on the spot where the inn now stands. After that, "Skorn" ("The City of Skud") became the first Imperial Colony on the Great Continent, and the seat of power for the whole of the West. @@ -14,14 +14,14 @@ Azuriner the Careful finally used the Golden Lance of Lythander (which was claimed by Mandor the Mad to be powerful enough to "Command to Those of the Skies") to defeat the dragons and rebuilt Scorn - above the old one. It is said that when Azuriner died, he was buried in the Old Scorn Below with his Golden Lance, and asked his sons to seal the doors to the world below, which was now "the domain of the past". the key to open the deeper levels of the Old City was believed to have been sent back to Khelens, but no ships have crossed the High Ocean since the end of the Flame Wars, nearly 5000 years ago. - ==The Moons of Bigworld== + =====The Moons of Bigworld===== The are three moons that orbit bigworld, they are called [[Ranisha]] the Red, [[Asferenn]] the Blue and [[Wolfen]] the White. In the elven language, they are known as "Snarfa", "Skorta", and "Svertzika". - == Kingdrom of Brittany and the city of Brest == + ===== Kingdrom of Brittany and the city of Brest ===== Children in Scorn usually love the stories of their quests. It is much better so. @@ -80,9 +80,9 @@ But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "Mad Mage" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? As for myself, I don't know, and here ends my knowledge about Brittany's Past. - == Story of Lorkas the Fallen == + ===== Story of Lorkas the Fallen ===== I'll tell you about Lorkas of Amudrias, and how he found the White Bird of Hope, and how he capitained it, opening the Gates of the Sun, and some stuff like that. Some say that Lorkas was an angel of Valriel, that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new un derground domains. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1163639248 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 08:43:36 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 08:43:36 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1163688216.910173.15703.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 08:43 User : ryo Edit Summary: a few typos, typography fixes, minor changes (but I may be wrong in assuming things, so please correct !) @@ -79,14 +79,15 @@ But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "Mad Mage" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? As for myself, I don't know, and here ends my knowledge about Brittany's Past. + ===== Story of Lorkas the Fallen ===== I'll tell you about Lorkas of Amudrias, and how he found the White Bird of Hope, and how he capitained it, opening the Gates of the Sun, and some stuff like that. - Some say that Lorkas was an angel of Valriel, that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new un derground domains. + Some say that Lorkas was an angel of Valriel, that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new underground domains. Some also say that Lorkas is a dark spirit, a lost soul, an unclean, unfaithful, untrusty creature of Doom and Chaos. But, for what matters, some also said that Fido was a fiction, or that the Empire never was more than a dream of a past that never existed. Some definitely are foolishly uninformed for sure, and speak more than they think. @@ -94,14 +95,14 @@ Because, if they were less quick on jumping to conclusions, they'd quickly notice how difficult it is for an angel to fall from the sky and never be able to climb back, as if wild gooses were never able to take off again once they land after their long journey to the South. Anyway, as every wise man knows, Lorkas was no angelic creature of divine essence, or even a magical creation of a godly force. - Some say that Khelens is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of Songor the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the Long Wall. And before it, the forgotten towers of light that Horadrists built + Some say that Khelens is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of Songor the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the Long Wall. And before it, the forgotten towers of light that Horadrists built. - Lorkas was born in Kuratas, a small agrarian state that existed on the Coronian Valley, when Songer and Khelens were still in infancy. He was a boy that w anted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. + Lorkas was born in Kuratas, a small agrarian state that existed on the Coronian Valley, when Songer and Khelens were still in infancy. He was a boy that wanted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. - But life was rude in Kuratas, and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, Kuratas dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. + But life was rude in Kuratas, and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, Lorkas dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. Tired of his senseless life, he left his parents, his village, his friends, when he was only 12, and for weeks walked to the West, until he reached the Coast of the Stonewalls. And there, he saw Ottarakans, the Infinite Ocean that extends west of the Old World, and so fell in love for the sea. He then joined the Port of Kridatta, which was famous for its ships, as its inhabitants had mastered a powerful arcane, so that their boats roamed not only the seas, but the very clouds themselves. @@ -111,22 +112,21 @@ Horizon was the name of his ship, and famous was his crew, exploring huge territories and fighting the Princes of Sinas, who back then tried to put the whole area under their iron, greedy grasps. But Lorkas heard about a wonder that him and his crew soon wanted to find: The White Bird of Hope. - Buried in the Very East, it was said to be. And so he sailed east; he crossed the Great Desert, passed the Mountains of Daigojij, reached the forests of t he western normanika. But still was the Bird further away. + Buried in the Very East, it was said to be. And so he sailed east; he crossed the Great Desert, passed the Mountains of Daigojij, reached the forests oft he western normanika. But still was the Bird further away. Reaching the Eastern Ocean, they decided to try to cross it, despite that it was said to be the end of the world. And for 30 days and nights, across tempests and monsters, they firmly kept heading east, east, east. When despair was growing on them, mists magically opened, revealing a golden city built on what seemed to be a rich, fertile coastal plain. - People there spoke a strange language; they were small and not unlike joyful foxes, and they welcomed Lorkas and his men (and women) warmly. Soon, they le arned to understand each other enough. + People there spoke a strange language; they were small and not unlike joyful foxes, and they welcomed Lorkas and his men (and women) warmly. Soon, they learned to understand each other enough. - They called themselves "The People of the Mother", and they had never seen the "Flat-Eared Giants" before, although they already met "Flat-Eared Beards" a nd "Flat-Eared Greens" before. + They called themselves "The People of the Mother", and they had never seen the "Flat-Eared Giants" before, although they already met "Flat-Eared Beards" and "Flat-Eared Greens" before. But there was a lady called Sonja. And, although she wasn't human, she seemed brighter, smarter, more beautiful than any other woman Lorkas had ever seen before. - Those months were the most wonderful for him - and her - and time seemed to have stopped for them in their endless love. - But of course, it hadn't. + Those months were the most wonderful for him - and her - and time seemed to have stopped for them in their endless love. But of course it hadn't. And after a while, some of his men wanted to go back to their own homes, and some wanted for their families to come to the Golden City. And, also, there was the Bird. They had no problem to find the White Bird of Hope - a statue entirely made of the purest of the white marble, with gemstones of red ruby as eyes. But so much the inhabitants liked it, so they thought that a valuable friend was much better than a valuable statue. @@ -136,26 +136,26 @@ And so Lorkas left, promising Sonja that he'd soon return. The people of the Golden City also told him that "The Bird is imbued with powerful magic: the one owning it will always keep hope." - When Lorkas came back, he and his men were welcomed as heroes. So where does the story turns soure, as Lorkas is said to have fallen from the skies ? + When Lorkas came back, he and his men were welcomed as heroes. So where does the story turns sour, as Lorkas is said to have fallen from the skies ? - Well, when he and his crew came back home, Kridatta was at war with Sinas, and for several years, he and his crew fought, using the power of the bird to help them. And during those years, Lorkas kept the hope of seeing again Sonja in heart. + Well, when he and his crew came back home, Kridatta was at war with Sinas, and for several years, he and his crew fought, using the power of the Bird to help them. And during those years, Lorkas kept in his heart the hope of seeing again Sonja. - Then came the Fever Plague, that killed a third of the people in the Ancient World. And again was the Bird used, and again did Lorkas help all those he co uld help, still having hope is seeing the golden city again soon. + Then came the Fever Plague, that killed a third of the people in the Ancient World. And again was the Bird used, and again did Lorkas help all those he could help, still having hope of seeing the Golden City again soon. - And then, he sent messengers and explorers, as he had become influent, rich, and powerful, across the seas, to rebind the ties with the Golden City, as he promised. But they all came without finding their way to those faraway shores; yet all that time, and for each new mission sent to explore the seas and the skies, they seemed closed and closer from the goal. + And then, he sent messengers and explorers, as he had become influent, rich, and powerful, across the seas, to rebind the ties with the Golden City, as he promised. But they all came without finding their way to those faraway shores; yet all that time, and for each new mission sent to explore the seas and the skies, they seemed closed and closer from the goal. Sixty years passed. The world changed; new kingdoms ruled old cities; Lorkas was now an old man that lived in a small house looking at the Ocean. - And still, each day, he spent hours waiting, watching the line where the sea met the sky, hoping that one day, one would sail back and tell him: "we found the Golden City !". And always he hoped, but never received. + And still, each day, he spent hours waiting, watching the line where the sea met the sky, hoping that one day, one would sail back and tell him: "we found the Golden City !". And always he hoped, but never received. Nearly all of his companions were now dead, and the Horizon had been retired long ago, now slowly rotting in the bay, fading souvenir of a long forgotten past. - Lorkas walked to his boat, and where there was only tarnished wood and corroded metal, he still saw the fierce ship on which he saw Sonja for the first time, so long ago. Who knows what he did, then ? One thing is sure: the vigile of the Sea Tower of Kridatta, that watched boats coming and leaving from dozens of miles away, reported that an ancient ship left the bay, with Lorkas sitting at the front of it, holding the Bird, as if he was sleeping. + Lorkas walked to his boat, and where there was only tarnished wood and corroded metal, he still saw the fierce ship on which he saw Sonja for the first time, so long ago. Who knows what he did, then? One thing is sure: the vigile of the Sea Tower of Kridatta, that watched boats coming and leaving from dozens of miles away, reported that an ancient ship left the bay, with Lorkas sitting at the front of it, holding the Bird, as if he was sleeping. - Nobody knows exactly where he went. Was he even dead ? Nobody knows. But everybody kept hope that, one day, he'd reach the Golden City again. + Nobody knows exactly where he went. Was he even dead? Nobody knows. But everybody kept hope that, one day, he'd reach the Golden City again. Lots of people tried to find the Bird after that event. They all accused Lorkas of having "stolen" it. The story became legend. The legend became fairy tale. And the fairy tale got forgotten by most. Yet, Centuries ago, deep in the oldest parts of the Old City of Scorn, people claimed to have found an ancient mausoleum, a relic of the past. All made of the purest, finest gold. On the walls were engraved a man at the wheel of a strange ship, and a woman with pointy ears, watching the skies. And many nowadays keep the Hope that the White Bird now sleeps down below the streets, having found its way back to home with Lorkas. - But who could tell if it is the truth, or only a silly story ? Who knows ? As for myself, I don't care: I just hold hope it is. And so ends the Story of Lorkas, and so keeps Hope running. + But who could tell if it is the truth, or only a silly story? Who knows? As for myself, I don't care: I just hold hope it is. And so ends the Story of Lorkas, and so keeps Hope running. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1163687417 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 08:45:19 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 08:45:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1163688319.723576.15712.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 08:45 User : ryo Edit Summary: T :) @@ -12,9 +12,9 @@ Scorn was crushed under a rain of stone, while its inhabitants fled to the swamps in the north. Azuriner the Careful finally used the Golden Lance of Lythander (which was claimed by Mandor the Mad to be powerful enough to "Command to Those of the Skies") to defeat the dragons and rebuilt Scorn - above the old one. - It is said that when Azuriner died, he was buried in the Old Scorn Below with his Golden Lance, and asked his sons to seal the doors to the world below, which was now "the domain of the past". the key to open the deeper levels of the Old City was believed to have been sent back to Khelens, but no ships have crossed the High Ocean since the end of the Flame Wars, nearly 5000 years ago. + It is said that when Azuriner died, he was buried in the Old Scorn Below with his Golden Lance, and asked his sons to seal the doors to the world below, which was now "the domain of the past". The key to open the deeper levels of the Old City was believed to have been sent back to Khelens, but no ships have crossed the High Ocean since the end of the Flame Wars, nearly 5000 years ago. =====The Moons of Bigworld===== The are three moons that orbit bigworld, they are called [[Ranisha]] the Red, [[Asferenn]] the Blue and [[Wolfen]] the White. In the elven language, they are known as "Snarfa", "Skorta", and "Svertzika". IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1163688213 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 10:14:26 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 10:14:26 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:cf2.0 Message-ID: <1163693666.540826.15845.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 10:14 User : ryo Edit Summary: typos @@ -13,22 +13,22 @@ Developer: A list of developers currently working on this feature Priority: - //(not neccesary the order everything is worked on :-/)// + //(not necessary the order everything is worked on :-/)// Required - Needed for the 2.0 release High - Highly desired by several developers for the 2.0 release Medium - Should probably have, but may be scrapped - Low - Would be nice to have in the 2.0 release, but not necesarily needed. + Low - Would be nice to have in the 2.0 release, but not necessarily needed. Status: - Completed - Feature has been commited to svn, and has been tested - Commited - Feature has been commited to svn, but could use more testing - Patch Availible - A patch is availible on the sf.net tracker (please link to the patch) + Completed - Feature has been committed to SVN, and has been tested + Committed - Feature has been committed to SVN, but could use more testing + Patch Available - A patch is available on the sf.net tracker (please link to the patch) Active - Feature is currently being worked on Inactive - No work or discussion is taking place for this feature Planning - The feature, and its details are being actively planed/debated - Defered - The feature will not be completed for the 2.0 release + Deferred - The feature will not be completed for the 2.0 release MIA - Lots of talk, possibly some code, but no clue where it is. Feel free to add more states to the priority and status lists. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:cf2.0?rev=1163613467 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:cf2.0 -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 10:17:25 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 10:17:25 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: book.py Message-ID: <1163693845.408769.15857.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 10:17 User : ryo Edit Summary: client-side @@ -4,9 +4,9 @@ #! /usr/bin/env python import sys - # A simple script to write a book from a text file. + # A simple client-side script to write a book from a text file. # It requires that you have a pen, and marked a book # or other writable object. # Then, issue the command 'script PATH/TO/book.py file/to/write/to/book'. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/book.py?rev=1131912973 New Revision: http://wiki.metalforge.net/doku.php/book.py -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 16 11:14:53 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 16 Nov 2006 11:14:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_toto:quest_management_system Message-ID: <1163697293.285353.15943.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/16 11:14 User : ryo Edit Summary: blanked, removed unless i'm mistaking? @@ -1,3 +1 @@ - ====== Page Moved ====== - Because of a spelling error in the title, this page has been moved to [[dev_todo:quest_management_system|dev_todo:quest_management_system]]. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/dev_toto:quest_management_system?rev=1150054939 New Revision: http://wiki.metalforge.net/doku.php/dev_toto:quest_management_system -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 20 14:54:31 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 20 Nov 2006 14:54:31 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: races:dragons Message-ID: <1164056071.655499.26460.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/20 14:54 User : Edit Summary: created ======Dragons ====== IP-Address : 206.64.224.128 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 20 15:05:21 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 20 Nov 2006 15:05:21 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164056721.966439.26487.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/20 15:05 User : jbird80 Edit Summary: @@ -1,2 +1,2 @@ ======Dragons ====== - + {{:images:pl_dragon_r.base.151.png}} IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164056068 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 20 15:24:33 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 20 Nov 2006 15:24:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164057873.631246.26531.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/20 15:24 User : jbird80 Edit Summary: @@ -1,2 +1,19 @@ ======Dragons ====== {{:images:pl_dragon_r.base.151.png}} + + =====Player Race ===== + The Dragon is selectable by players as their race. + ====Modifications ==== + * Str +5 + * Dex 0 + * Con +6 + * Int -3 + * Wis -8 + * Pow +5 + * Cha 0 + + ====Attributes==== + ^ Immunities ^ Protection ^ Vulnerable ^ Attacktype ^ Special | + | None | Acquirable | None |Physical | Can't use Armor, Can't Use Weapons, Clawing Attack, Elemental Focus | + + IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164056719 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 20 16:41:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 20 Nov 2006 16:41:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164062469.898244.26667.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/20 16:41 User : Edit Summary: @@ -15,5 +15,17 @@ ====Attributes==== ^ Immunities ^ Protection ^ Vulnerable ^ Attacktype ^ Special | | None | Acquirable | None |Physical | Can't use Armor, Can't Use Weapons, Clawing Attack, Elemental Focus | - + ====Skills ==== + * Levitate - (Hint - Using levitate while outside of cities allows you to move quickly over different types of terrain) + * Clawing - Clawing is you default skill as a dragon. + =====Foods===== + Most of this section is taken right out of the [[http://crossfire.real-time.com/guides/character/dragons.html|"A Young Fire Hatchling's Guide"]] + ====Tastes==== + * **Delicious => ** Good chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) + * **Very Good => ** Little chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) + * **Good => ** Very little chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) + * **Boring => ** Almost no chance of gaining resistance. You are very near to where this flesh stops helping (Takes a ton to get the resistance up more) + * **No Taste => ** No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. + * **Disgusting => ** Human food. Ick. No chance for gaining resistance. + =====Focus===== IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164057870 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Nov 21 09:25:50 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 21 Nov 2006 09:25:50 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164122750.535020.28446.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/21 09:25 User : jbird80 Edit Summary: @@ -1,6 +1,6 @@ ======Dragons ====== - {{:images:pl_dragon_r.base.151.png}} + {{:images:pl_dragon_r.base.151.png}}WARNING: Although it is not the intent of this article to reveal spoilers it is a possibility depending on your definition of a spoiler. =====Player Race ===== The Dragon is selectable by players as their race. ====Modifications ==== IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164062467 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Nov 21 10:12:44 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 21 Nov 2006 10:12:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164125565.003926.28521.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/21 10:12 User : jbird80 Edit Summary: @@ -28,4 +28,23 @@ * **Boring => ** Almost no chance of gaining resistance. You are very near to where this flesh stops helping (Takes a ton to get the resistance up more) * **No Taste => ** No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. * **Disgusting => ** Human food. Ick. No chance for gaining resistance. =====Focus===== + ====Fire==== + * Fire attuned + * Fire claws + * Dragon's Breath (gives you the spell if you don't have it) + + ====Cold==== + * Cold attuned + * Cold Claws + * Large Icestorm (gives you the spell if you don't have it) + + ====Lightning==== + * Lightning Attuned + * Lightning Claws + * Ball Lightning (gives you the spell if you don't have it) + * X-ray Vision (always on, never have to cast it again) + + ====Poison==== + * Poison Cloud (gives you the spell if you don't have it) + * Poison Claws IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164122747 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Nov 21 10:13:46 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 21 Nov 2006 10:13:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164125626.985284.28524.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/21 10:13 User : jbird80 Edit Summary: @@ -27,9 +27,10 @@ * **Good => ** Very little chance of gaining resistance. This usually adds 1 to a (couple of) resistance(s) * **Boring => ** Almost no chance of gaining resistance. You are very near to where this flesh stops helping (Takes a ton to get the resistance up more) * **No Taste => ** No help whatsoever. No chance of resistance gain. Either you are well beyond the listed resistance or it never gives a bonus to resistances. * **Disgusting => ** Human food. Ick. No chance for gaining resistance. - =====Focus===== + =====Focuses and abilities===== + Most of this section is taken right out of the [[http://crossfire.real-time.com/guides/character/dragons.html|"A Young Fire Hatchling's Guide"]] ====Fire==== * Fire attuned * Fire claws * Dragon's Breath (gives you the spell if you don't have it) IP-Address : 206.64.224.128 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164125562 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue Nov 21 10:29:20 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 21 Nov 2006 10:29:20 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: races:dragons Message-ID: <1164126560.925409.28548.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/21 10:29 User : Edit Summary: @@ -1,6 +1,8 @@ ======Dragons ====== {{:images:pl_dragon_r.base.151.png}}WARNING: Although it is not the intent of this article to reveal spoilers it is a possibility depending on your definition of a spoiler. + + Notice! = Looks like this page is a duplicate of http://wiki.metalforge.net/doku.php/fire_hatchling?s=dragon ?? =====Player Race ===== The Dragon is selectable by players as their race. ====Modifications ==== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/races:dragons?rev=1164125625 New Revision: http://wiki.metalforge.net/doku.php/races:dragons -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 22:49:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 22:49:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo_new Message-ID: <1164343749.485414.2598.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 22:49 User : leaf Edit Summary: Added Python Guilds to the list, minor spelling correction @@ -41,17 +41,18 @@ | [[dev_todo:Thread the Server]] - Make the server multithreaded | 3.0 | 2 | None | Server | | | [[dev_todo:Player Economy]] - Have player buying/selling influence economy | 3.0? | 2 | None | Server/Maps | | | [[dev_todo:Improved Player Communication]] - Allow chatting between servers, and connections just for chatting. | 3.0 | 2 | None | Server | | | [[dev_todo:Player Clothing]] - Change player image based on clothing/equipment | 3.0 | 3? | None | Server/Client/Arch | | + | [[dev_todo:Python Guilds]] - Update guilds using existing Python Guild scripts | 2.0 | 2? | Planning| Maps | | * Project is a brief summary of the project. * Target release is when it is hoped the feature will completed. * Priority is important of the feature - 1 being highest priority. * Status is current state of project: * None - other than being listed as something to do, no progress has been made. * Planning - Discussion/layout of the project is in progress or has been completed. * Coding - project is currently undergoing actual coding (or map making, etc). - * Testing - project is complete, and typically commited, but is undergoing testing for balance, stability, etc. + * Testing - project is complete, and typically committed, but is undergoing testing for balance, stability, etc. * Completed - project is committed and no additional work is planned on it. * Component is what portion of crossfire the change affects - server, client, editor, maps, archetypes * Developer - person currently working on this. Update this is you work on a project. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo_new?rev=1163530942 New Revision: http://wiki.metalforge.net/doku.php/dev_todo_new -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 22:53:59 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 22:53:59 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: dev_todo:python_guilds Message-ID: <1164344039.363504.2607.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 22:53 User : leaf Edit Summary: Page created, content added ====== Python Based Guilds ====== Quite a bit of framework is already in place to add new features to the Crossfire guild system. However, this functions hasn't seen any development or updates for quite some time. This TODO was setup to re-implement and update what has been started. ===== Features ===== Here's a summary of what features are available, but listed as what works and what does not work. ==== What Works ==== ==== Does Not Work ==== ==== New or Suggested Features and Ideas ==== IP-Address : 65.165.40.73 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 23:10:33 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 23:10:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164345033.296591.2643.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 23:10 User : leaf Edit Summary: Updated the section header, added content @@ -7,12 +7,24 @@ Here's a summary of what features are available, but listed as what works and what does not work. ==== What Works ==== + ==== Incomplete ==== - ==== Does Not Work ==== + "Broken Altars" - it appears that it has been undecided on what exactly should be used or dropped to gain access to the following: - - ==== New or Suggested Features and Ideas ==== + * mainfloor, drop x for a mailbox + * mainfloor, drop x for basement stairs + * mainfloor, drop x for a forge + * mainfloor, drop x for a message board + * mainfloor, drop x for stove + * secondfloor, drop 20 amulets of Lifesaving for a portal to ? + * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) + * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) + * secondfloor, drop x for Jewelers room + * secondfloor, drop x for Thaumaturgy room + * basement, drop 10 gold coins (for what?) + * Other areas untested + ==== New or Suggested Features and Ideas ==== IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164344036 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 23:11:37 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 23:11:37 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164345097.603892.2646.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 23:11 User : leaf Edit Summary: Comment - noting that this is not fully tested @@ -6,8 +6,10 @@ Here's a summary of what features are available, but listed as what works and what does not work. ==== What Works ==== + + Not fully tested ==== Incomplete ==== "Broken Altars" - it appears that it has been undecided on what exactly should be used or dropped to gain access to the following: IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164345031 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 23:12:10 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 23:12:10 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164345130.619306.2649.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 23:12 User : leaf Edit Summary: Minor comment, asking for suggestions @@ -26,7 +26,7 @@ * secondfloor, drop x for Thaumaturgy room * basement, drop 10 gold coins (for what?) * Other areas untested + ==== New or Suggested Features and Ideas ==== - - ==== New or Suggested Features and Ideas ==== + Please add your suggestion here IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164345096 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu Nov 23 23:49:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 23 Nov 2006 23:49:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164347388.332188.2706.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/23 23:49 User : Edit Summary: Add "nethack in crossfire" note @@ -19,8 +19,9 @@ * mainfloor, drop x for a forge * mainfloor, drop x for a message board * mainfloor, drop x for stove * secondfloor, drop 20 amulets of Lifesaving for a portal to ? + * This is probably for the "nethack in crossfire" maps, just as in current guilds. * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, drop x for Jewelers room * secondfloor, drop x for Thaumaturgy room IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164345128 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:30:43 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:30:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: document_repository Message-ID: <1164382243.190134.3841.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:30 User : ryo Edit Summary: fix link, put at correct place @@ -68,22 +68,23 @@ * [[The Elementals]] * [[The Lich]] * [[The Titan]] * [[The Vampire]] + ===== Developer Guides ===== Some information for developers. * [[CrossfireServer]] * [[server plugin|server plugins]] + * [[cfpython|Python Plugin]] * [[Insult Generator]] and [[Insult Generator Source Code]] * [[Map Making]] * [[Making Archetypes]] - * [[Python Plugin]] * [[Crossfire Release Cycle]] ===== Website Links ===== * [[Server Home Pages]] * [[Development and Informational Links]] IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/document_repository?rev=1163606893 New Revision: http://wiki.metalforge.net/doku.php/document_repository -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:31:25 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:31:25 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: python_plugin Message-ID: <1164382285.553375.3844.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:31 User : ryo Edit Summary: links fixed, blanking (=> trashing) page @@ -1 +1 @@ - see [[cfpython]], and please fix the link to here! :) + IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/python_plugin?rev=1163614726 New Revision: http://wiki.metalforge.net/doku.php/python_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:33:51 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:33:51 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164382431.880575.3847.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:33 User : ryo Edit Summary: missing init @@ -24,16 +24,18 @@ Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: * **title** : should be //Python// to call the Python plugin. * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. + ===== How do I hook a script to a global event? ===== Create a script, and put it in the ''/maps/trunk/python/events/xxx'' subdirectory, where ''xxx'' is the event's name. Existing events are: * born * clock * death * gkill + * init * kick * login * logout * mapenter IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1163611293 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:36:54 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:36:54 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1164382614.875395.3856.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:36 User : ryo Edit Summary: more info @@ -9,14 +9,17 @@ ^ Name ^ Description ^ Status ^ | [[cfanim]] | animate objects | build, but untested | | [[cfpython]] | run Python scripts | working | | template | not a real plugin, but a skeleton to create new ones | up-to-date | + ====== Hooks ====== Plugin system works through //hooks//. A hook is merely an event taking place, to which plugins can respond. Default server behavior can sometimes be overridden totally. The full list of events corresponds to the //event_xxx// archetypes, found in the [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/system/|/system folder of the archetypes]]. + + Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. ===== Hooking to an object ===== Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1163613016 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:37:17 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:37:17 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1164382637.702386.3859.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:37 User : ryo Edit Summary: fix title @@ -19,9 +19,10 @@ The full list of events corresponds to the //event_xxx// archetypes, found in the [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/system/|/system folder of the archetypes]]. Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. - ===== Hooking to an object ===== + + ===== Hooking to an object-specific event ===== Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1164382614 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:43:33 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:43:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1164383013.262269.3877.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:43 User : ryo Edit Summary: add list @@ -18,14 +18,80 @@ The full list of events corresponds to the //event_xxx// archetypes, found in the [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/system/|/system folder of the archetypes]]. Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. + ===== Hooking to an object-specific event ===== Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. + When an object-specific event is raised, affected object is sent to the plugin. + + Here is the full list of object-specific events. + + ==== Apply ==== + Archetype: event_apply + + This event is generated whenever the object is applied or unapplied. + + ==== Attack ==== + Archetype: event_attack + + This event is used in two cases: + * bound to a weapon, it is triggered each time the weapon is used to slay something; this can typically be used to generate special effects when you hit a monster; + * bound to a monster, it is triggered when the monster is attacked. + + ==== Close ==== + Archetype: event_close + + Generated when a container is closed. + + ==== Death ==== + Archetype: event_death + + Generated when the object dies. + + ==== Drop ==== + Archetype: event_drop + + Generated when the object is dropped, either on the floor or in a container. + + ==== Pickup ==== + Archetype: event_pickup + + Generated when the object is picked up. + + ==== Say ==== + Archetype: event_say + + Generated when someone says something around the object. + + ==== Stop ==== + Archetype: event_stop + + Generated for a thrown object, when the object is stopped for some reason. + + ==== Time ==== + Archetype: event_time + + Generated each time the object gets an opportunity to move. + + ==== Throw ==== + Archetype: event_throw + + Generated when the object is thrown. + + ==== Trigger ==== + Archetype: event_trigger + + Used for various objects, like traps, teleporters or triggers. Generated when those objects are used (for example, when a player passes through a teleporter). + + ==== Timer ==== + Archetype: event_timer + + Generated when the timer connected triggered. ===== Hooking to global events ===== Plugin should use provided server callbacks to register itself. See the specific plugin documentation. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1164382636 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:44:06 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:44:06 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1164383046.290137.3880.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:44 User : ryo Edit Summary: parameters @@ -9,8 +9,9 @@ ^ Name ^ Description ^ Status ^ | [[cfanim]] | animate objects | build, but untested | | [[cfpython]] | run Python scripts | working | | template | not a real plugin, but a skeleton to create new ones | up-to-date | + ====== Hooks ====== @@ -19,9 +20,9 @@ The full list of events corresponds to the //event_xxx// archetypes, found in the [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/arch/trunk/system/|/system folder of the archetypes]]. Events are either //global// or //object-specific//. Examples of global events include a player joining or exiting the game, a map being loaded. Examples of object-specific events include an item being applied, a player attacking a monster. - + FIXME check parameters and such :) ===== Hooking to an object-specific event ===== Just add an //event_xxx// object into your object's inventory, and fill the ''title'' field with the plugin name. See the specific plugin documentation for optional arguments. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1164383011 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:50:13 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:50:13 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1164383413.164767.3895.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:50 User : ryo Edit Summary: add list (from developer doc in svn) @@ -91,13 +91,72 @@ ==== Timer ==== Archetype: event_timer Generated when the timer connected triggered. + ===== Hooking to global events ===== + + Those concern the game as a whole or can't be bound to a specific object. Those events may be "registered" by a plugin (it means that the plugin requests to get a message each time one of those events happens). Plugin should use provided server callbacks to register itself. See the specific plugin documentation. + FIXME {add parameters} + + ==== Born ==== + Generated when a new character is created. + + ==== Clock ==== + Generated at each game loop. + + Note: when no player is logged, the loop "stops", meaning that clock events are not generated anymore! + + ==== Crash ==== + Generated when a server crash does occur. It is not a recursive event, so if a crash occur from *inside* the crash event handling, it is not called a second time, preventing infinite loops to occur. + + Note: This event is not implemented for now. + + ==== Gdeath ==== + Generated whenever a player dies. + + ==== Gkill ==== + Generated whenever something/someone is killed. + + ==== Kick ==== + Generated when a player was kicked by a DM. + + ==== Login ==== + Generated whenever a player logs into the game. + + ==== Logout ==== + Generated whenever a player logs out the game. + + ==== Mapenter ==== + Generated whenever someone enters a map. + + ==== Mapleave ==== + Generated whenever someone leaves a map. + + ==== Mapload ==== + Generated when a map is loaded in memory. + + ==== Mapreset ==== + Generated each time a map is reset. + + ==== Mapunload ==== + Generated when a map is being unloaded from memory. + + ==== Muzzle ==== + Generated when a player was muzzled by a DM. + + ==== Remove ==== + Generated when a player character is removed from the game ("quit" command). + + ==== Shout ==== + Generated whenever someone shouts something. + + ==== Tell ==== + Generated whenever someone tells something. ===== Registering a command ===== A plugin can register a custom game command. This command will work exactly like other commands from the player's point of view, accepting arguments and such. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1164383045 New Revision: http://wiki.metalforge.net/doku.php/server_plugin -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:52:50 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:52:50 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164383570.592797.3898.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:52 User : ryo Edit Summary: link instead of list @@ -24,31 +24,16 @@ Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: * **title** : should be //Python// to call the Python plugin. * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. + ===== How do I hook a script to a global event? ===== - Create a script, and put it in the ''/maps/trunk/python/events/xxx'' subdirectory, where ''xxx'' is the event's name. Existing events are: - * born - * clock - * death - * gkill - * init - * kick - * login - * logout - * mapenter - * mapleave - * mapload - * mapreset - * mapunload - * muzzle - * remove - * shout - * tell + Create a script, and put it in the ''/python/events/xxx'' subdirectory or the ''maps'' directory, where ''xxx'' is the event's name. Existing events are listed [[server_plugin#Hooking to global events:|on the server_plugin page]]. + In addition, there is a special event, ''init'', which is called just after the plugin has been loaded. It behaves like other events in every aspect. ===== How do I register a custom command? ===== To register a command, a script should call the ''Crossfire.RegisterCommand'' method, proving three arguments: IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164382430 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 09:54:29 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 09:54:29 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164383669.276548.3901.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 09:54 User : ryo Edit Summary: clarify, remove parasitic : @@ -24,14 +24,15 @@ Python plugin is a [[server plugin]], thus you need to insert in this object one of the //event_xxx// archetype (see ''arch/system'' directory). The fields to fill are: * **title** : should be //Python// to call the Python plugin. * **slaying** : contains the path to the Python script to execute. Root refers to the map directory. + ===== How do I hook a script to a global event? ===== - Create a script, and put it in the ''/python/events/xxx'' subdirectory or the ''maps'' directory, where ''xxx'' is the event's name. Existing events are listed [[server_plugin#Hooking to global events:|on the server_plugin page]]. + Create a script, and put it in the ''/python/events/xxx'' subdirectory or the ''maps'' directory, where ''xxx'' is the event's name in lowercase (create the directory if it doesn't exist). Available events are listed [[server_plugin#Hooking to global events|on the server_plugin page]]. In addition, there is a special event, ''init'', which is called just after the plugin has been loaded. It behaves like other events in every aspect. ===== How do I register a custom command? ===== IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164383568 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:28:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:28:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164385728.190074.3958.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:28 User : ryo Edit Summary: more info @@ -78,57 +78,146 @@ Example: ''whoami.Say("%s => %d"%(Crossfire.DirectionName[Crossfire.Direction.NORTH],Crossfire.Direction.NORTH))'' will write ''NORTH => 1'' **Warning**: Python doesn't know about constants, thus scripts can modify those values. Doing this can lead to weird results, and should be avoided at all cost. Note that the C code itself is immune to the changes, only the scripts would suffer. + ===== Crossfire module methods ===== - * WhoAmI - * WhoIsActivator - * WhoIsOther - * WhatIsMessage - * ScriptName - * ScriptParameters - * MapDirectory - * UniqueDirectory - * TempDirectory - * ConfigDirectory - * LocalDirectory - * PlayerDirectory - * DataDirectory - * DirectionNorth - * DirectionNorthEast - * DirectionEast - * DirectionSouthEast - * DirectionSouth - * DirectionSouthWest - * DirectionWest - * DirectionNorthWest - * CostFlagTrue - * CostFlagBuy - * CostFlagSell - * CostFlagNoBargain - * CostFlagIdentified - * CostFlagNotCursed - * ReadyMap - * FindPlayer - * MatchString - * GetReturnValue - * SetReturnValue - * PluginVersion - * CreateObject - * CreateObjectByName - * GetPrivateDictionary - * GetSharedDictionary - * GetArchetypes - * GetMaps - * GetParties - * GetRegions - * RegisterCommand - * RegisterGlobalEvent - * UnregisterGlobalEvent - * GetTime + ==== WhoAmI ==== + Returns the ''Crossfire.Object'' to from which the event being handled was raised. Can be ''NULL''. + + ==== WhoIsActivator ==== + Returns the ''Crossfire.Object'' having caused the event being handled. Can be ''NULL''. + + ==== WhoIsOther ==== + ==== WhatIsMessage ==== + ==== ScriptName ==== + Returns the path of the currently executing script. Relative to maps directory FIXME check + + ==== ScriptParameters ==== + ==== MapDirectory ==== + Returns the system directory containing the maps. + + ==== UniqueDirectory ==== + Returns the system directory where unique items and maps are stored. FIXME? + + ==== TempDirectory ==== + Returns the system directory where temporary files are stored. + + ==== ConfigDirectory ==== + FIXME? + + ==== LocalDirectory ==== + FIXME? + + ==== PlayerDirectory ==== + Returns the system directory containing player files. + + ==== DataDirectory ==== + Returns the system directory containing persistent data. + + ==== DirectionNorth ==== + ==== DirectionNorthEast ==== + ==== DirectionEast ==== + ==== DirectionSouthEast ==== + ==== DirectionSouth ==== + ==== DirectionSouthWest ==== + ==== DirectionWest ==== + ==== DirectionNorthWest ==== + ==== CostFlagTrue ==== + ==== CostFlagBuy ==== + ==== CostFlagSell ==== + ==== CostFlagNoBargain ==== + ==== CostFlagIdentified ==== + ==== CostFlagNotCursed ==== + ==== ReadyMap ==== + Parameter: + * map name (string) + + Loads specified map, and returns a ''Crossfire.Map'' object wrapping it. Will return ''NULL'' if map couldn't be found. + + FIXME what about unique player map? Or only maps in /maps? + + ==== FindPlayer ==== + Parameter: + * player name (string) FIXME partial? + + Returns a ''Crossfire.Player'' object for specified player, based on name, or ''NULL'' if not found. + + ==== MatchString ==== + Parameters: FIXME check order + * string to be searched + * pattern to search for + + Returns ''1'' if string matches the pattern, ''0'' else. + + Pattern can be a regular expression FIXME specifications + + ==== GetReturnValue ==== + Return current return value. + + ==== SetReturnValue ==== + Parameters: + * return value (integer) + + Sets the value the plugin will return to the server when the script exits. Value and effect depend on the event being handled. + + ==== PluginVersion ==== + Returns an integer representing the Python plugin version. + + ==== CreateObject ==== + Returns an empty object which can then be manipulated and inserted in map. + + ==== CreateObjectByName ==== + Parameters: + * archetype name (string) FIXME make sure + + Returns object of specified archetype, or ''null'' if archetype wasn't found. + + ==== GetPrivateDictionary ==== + Returns a Python ''dictionary'' the script can use to store data between runs. This data is not shared with other scripts. + + Note that data will be lost in case of server restart. + + ==== GetSharedDictionary ==== + Returns a Python ''dictionary'' the script can use to share data with other scripts. + + Note that data will be lost in case of server restart. + + ==== GetArchetypes ==== + Returns a Python ''list'' containing ''Crossfire.Archetype'' objects representing all archetypes the server knows. Should not be called lightly, as this can take some time. + + ==== GetMaps ==== + Returns a Python ''list'' containing ''Crossfire.Map'' objects, one for each map currently being loaded. This includes random and unique maps. + + ==== GetParties ==== + Returns a Python ''list'' containing ''Crossfire.Party'' objects, one for each existing party on the server. + + ==== GetRegions ==== + Returns a Python ''list'' containing ''Crossfire.Region'' objects, one for each region. + + ==== RegisterCommand ==== + Parameters: + * command name (string) + * script (string) + * speed (decimal, must be positive or 0) + + Registers a server command which will be mapped to specified script. See [[server plugin#Registering a command]] for more information. + + ==== RegisterGlobalEvent ==== + ==== UnregisterGlobalEvent ==== + ==== GetTime ==== + Returns a Python ''list'' corresponding to the in-game server time. Fields are (start at ''0'' to access): + - year + - month + - day + - hour + - minute + - day of week + - week of month + - season ===== Crossfire.Object methods and attributes ===== Properties in **bold** are read-write, others are readonly. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164383666 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:29:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:29:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164385792.365378.3961.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:29 User : ryo Edit Summary: + Archetype @@ -216,8 +216,11 @@ - minute - day of week - week of month - season + + ===== Crossfire.Archetype methods and attributes ===== + FIXME todo :) ===== Crossfire.Object methods and attributes ===== Properties in **bold** are read-write, others are readonly. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164385725 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:33:41 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:33:41 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164386021.343093.3970.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:33 User : ryo Edit Summary: Python uses None, not NULL :) @@ -84,12 +84,12 @@ ===== Crossfire module methods ===== ==== WhoAmI ==== - Returns the ''Crossfire.Object'' to from which the event being handled was raised. Can be ''NULL''. + Returns the ''Crossfire.Object'' to from which the event being handled was raised. Can be ''None''. ==== WhoIsActivator ==== - Returns the ''Crossfire.Object'' having caused the event being handled. Can be ''NULL''. + Returns the ''Crossfire.Object'' having caused the event being handled. Can be ''None''. ==== WhoIsOther ==== ==== WhatIsMessage ==== ==== ScriptName ==== @@ -134,17 +134,17 @@ ==== ReadyMap ==== Parameter: * map name (string) - Loads specified map, and returns a ''Crossfire.Map'' object wrapping it. Will return ''NULL'' if map couldn't be found. + Loads specified map, and returns a ''Crossfire.Map'' object wrapping it. Will return ''None'' if map couldn't be found. FIXME what about unique player map? Or only maps in /maps? ==== FindPlayer ==== Parameter: * player name (string) FIXME partial? - Returns a ''Crossfire.Player'' object for specified player, based on name, or ''NULL'' if not found. + Returns a ''Crossfire.Player'' object for specified player, based on name, or ''None'' if not found. ==== MatchString ==== Parameters: FIXME check order * string to be searched @@ -172,9 +172,9 @@ ==== CreateObjectByName ==== Parameters: * archetype name (string) FIXME make sure - Returns object of specified archetype, or ''null'' if archetype wasn't found. + Returns object of specified archetype, or ''None'' if archetype wasn't found. ==== GetPrivateDictionary ==== Returns a Python ''dictionary'' the script can use to store data between runs. This data is not shared with other scripts. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164385789 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:52:23 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:52:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164387143.383941.4009.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:52 User : ryo Edit Summary: more info @@ -183,16 +183,24 @@ Returns a Python ''list'' containing ''Crossfire.Party'' objects, one for each existing party on the server. ==== GetRegions ==== Returns a Python ''list'' containing ''Crossfire.Region'' objects, one for each region. + ==== RegisterCommand ==== Parameters: * command name (string) * script (string) * speed (decimal, must be positive or 0) Registers a server command which will be mapped to specified script. See [[server plugin#Registering a command]] for more information. + + The script path is relative to the ''maps'' subdirectory. + + When the command is called, the following methods will provide information: + * ''WhoAmI'' contains the player + * ''ScriptName'' contains the currently executing script's name + * ''ScriptParameters'' contains any parameter the player added to the command. FIXME {can NULL be passed?} ==== RegisterGlobalEvent ==== ==== UnregisterGlobalEvent ==== ==== GetTime ==== IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164387076 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:51:19 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:51:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164387079.065350.4006.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:51 User : ryo Edit Summary: point to command instead of detailing here @@ -33,25 +33,13 @@ Create a script, and put it in the ''/python/events/xxx'' subdirectory or the ''maps'' directory, where ''xxx'' is the event's name in lowercase (create the directory if it doesn't exist). Available events are listed [[server_plugin#Hooking to global events|on the server_plugin page]]. In addition, there is a special event, ''init'', which is called just after the plugin has been loaded. It behaves like other events in every aspect. + ===== How do I register a custom command? ===== - To register a command, a script should call the ''Crossfire.RegisterCommand'' method, proving three arguments: - * command name - * script to execute for the command - * command speed (double value), which mustn't be negative - - When a player issues the command, the script is called with the following arguments: - * ''WhoAmI'' contains the player - * ''ScriptName'' contains the currently executing script's name - * ''ScriptParameters'' contains any parameter the player added to the command. FIXME {can NULL be passed?} - - It is possible to override a built-in server command by specifying an existing command name. - FIXME {check that} - - There is no way to unregister a command. + Check ''[[cfpython#RegisterCommand|Crossfire.RegisterCommand]]''. ===== Return value ===== The return value of the script can manipulated through the ''GetReturnValue'' and ''SetReturnValue'' functions. Signification of this value depends on the event being handled. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164386018 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:56:01 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:56:01 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164387361.865361.4021.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:56 User : ryo Edit Summary: link to documentation @@ -181,11 +181,12 @@ Returns a Python ''list'' containing ''[[cfpython#Crossfire.Map methods and attributes|Crossfire.Map]]'' objects, one for each map currently being loaded. This includes random and unique maps. ==== GetParties ==== Returns a Python ''list'' containing ''Crossfire.Party'' objects, one for each existing party on the server. + ==== GetRegions ==== - Returns a Python ''list'' containing ''Crossfire.Region'' objects, one for each region. + Returns a Python ''list'' containing ''[[cfpython#Crossfire.Region methods and attributes|Crossfire.Region]]'' objects, one for each region. ==== RegisterCommand ==== Parameters: IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164387283 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 10:54:46 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 10:54:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1164387286.385277.4012.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 10:54 User : ryo Edit Summary: link @@ -174,11 +174,12 @@ Note that data will be lost in case of server restart. ==== GetArchetypes ==== Returns a Python ''list'' containing ''Crossfire.Archetype'' objects representing all archetypes the server knows. Should not be called lightly, as this can take some time. + ==== GetMaps ==== - Returns a Python ''list'' containing ''Crossfire.Map'' objects, one for each map currently being loaded. This includes random and unique maps. + Returns a Python ''list'' containing ''[[cfpython#Crossfire.Map methods and attributes|Crossfire.Map]]'' objects, one for each map currently being loaded. This includes random and unique maps. ==== GetParties ==== Returns a Python ''list'' containing ''Crossfire.Party'' objects, one for each existing party on the server. IP-Address : 213.174.127.3 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1164387140 New Revision: http://wiki.metalforge.net/doku.php/cfpython -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 12:50:12 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 12:50:12 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: player_commands Message-ID: <1164394212.200085.4213.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 12:50 User : techolous Edit Summary: created ====== Player Commands ====== Copied from the server files (server/lib/help). ==== apply ==== Apply applies an object. If no options are given, it applies an object you are standing on. If an object name is given, it will apply/unapply that object (toggle) Extra options to apply: -a: Always applies the object -u: Always unapplies the object. These two options disable the toggling feature. ==== applymode ==== Applymode controls what happens when you are equipping something that would require something else to be unequipped. The options are: nochoice: In this case, if there is no choice for the item(s) being removed in order to equip your new item. An example of this is a wand - there can only be one other item needed to be unequipped for the new item to be equipped. Note that in the case of two handed objects, like bows, it can result in two (or more) items being unequipped to equip your new item. never: In this case, it will never unequip something for you. It will instead tell you want you need to unequip - this can be a list of many objects. always: This will unequip whatever is needed to equip your new item. An example of how the above works: If your character currently has two rings, and tries to equip a third, the nochoice mode will print the two rings you currently have equipped. The always mode will unequip one of the rings in your inventory. The ring unequipped is fairly indeterminate - it depends on how the server has ordered your inventory (which is not the same as the order your window displays). If your character is currently wearing a suit of armor, and you try to equip another suit, both nochoice and always will cause the new suit to get equipped. See Also: apply ==== bind ==== Syntax: bind [-nfreg] Flags (default -nrf): n - used in normal-mode f - used in fire-mode r - used in run-mode e - leave command in line edit g - global key (not recommended) Multiple commands can be bound to the same key be seperating them with semicolons. Special bind's: bind commandkey - sets commandkey bind firekey1 - sets first firekey bind firekey2 - sets second firekey bind runkey1 - sets first runkey bind runkey2 - sets second runkey Examples: bind -f cast paralyzed (F3) will typically mean that Shift-F3 is used to select that spell (Shift being the fire key) bind use_skill sense curse; use_skill sense magic (S) will bind those two commands to the S key. ==== bowmode ==== Bowmode controls how you will fire arrows and bolts. The options are: Normal: As you would expect. Threewide: Fires three arrows in parallel. Spreadshot: Fires three arrows which spread out over distance. Fire: Locks in the direction the missiles will fire, specify by compas position: firenorth, firene, fireeast, firese, firesouth, firesw, firewest, firenw Bestarrow: Selects and fires the probable best arrow for from your inventory. ==== brace ==== Brace: When you enter the 'brace' command to brace your character, your character will no longer move. It can still attack adjoining spaces. Bracing can be useful to hold a location. When you are braced, you lose your dex bonus and incur a 2 point ac penalty beyond that (if you have a negative dex bonus, you may in fact come out ahead. You also only get 20% of the normal experience for killing creatures, and incure a 4 point wc (to hit) penalty. ==== cast ==== You use the cast command to set your range-weapon to the spell you want. Example: 'cast burning hands sets your RANGE weapon to 'spell: burning hands' If you don't know the spell, shows which spells you do know. It is helpful to bind strings like 'cast burning hands' to keys. see 'help bind' 'help range for more information on range weapons. ==== drop ==== Drop usage: drop [number] name name is the name of the item(s) to drop. It may match multiple items. The name is matched against the start of the objects in your inventory. The name matching is case insensitive. There are a few special name values: all - matches any item. unpaid - matches unpaid items cursed - drops items known to be cursed or damned. unlocked - drops items not locked in your inventory number is optional. This acts as the number of the object to drop. The objects number must be at least the number for it to be dropped. For example, if you do 'drop 10 scroll', only groupings of 10 or more scrolsl will be dropped. A collection of 5 scrolls will not be dropped. See also 'dropall' and mouse button control within client for dropping objects. ==== dropall ==== DROPALL help: dropall [type] dropall drops all items in your inventory to the ground, excepting locked items. The type parameter will also control what is dropped: 'empty' (eg, nothing speciified) - drops all objects except food, money, keys, and containers. weapons - drops weapons, bows, and arrows. armor (armour) - drops armor, shield, and helmets. misc - drops horns, books, girdles, amulets, rings, cloaks, boots, gloves, bracers, scrolls, wands, rods, and potions. See also 'drop' and mouse button control for dropping objects. ==== golem ==== Golems are creatures that the player has some control over. Note that many summoned creatures are considered golems, even if they are not called golems. If you have a golem in control your spell type will be listed as golem, with the creature name in parantheses. To control your golem, just press the fire key in the direction you want your golem to move. Your golem will then start moving in that direction, and keep moving in that direction until you change its direction. Note that once you leave the map that the golem is on, the golem will disappear. Also, once you select another spell to cast, or change your range type, your golem will disappear. ==== invoke ==== The invoke command is used to cast a spell immediately, or when it is necessary to give a parameter to the spell. Invoke will not set the range weapon. Examples: 'invoke restoration 'invoke magic rune of large fireball 'invoke reincarnation of Iamdead 'invoke create food of waybread It is very helpful to bind healing spells to keys like this: 'bind invoke medium healing c the c key now casts medium healing instantly ==== keys ==== These are the basic movement keys: yku h l bjn Running is done by holding control and move. Running is recommended. Firing the range weapon (help range) is done by holding shift and move. 'help mouse for help on what the mouse buttons do. 'help melee for advice on how to fight 'help traps for help with finding and disarming traps ==== killpets ==== The killpets command is a quick and convenient way to get rid of all your pets when they are no longer useful or are getting in the way. Any equipment they had will be left behind, but you will get no experience for their death. However, it kills them instantaneously. If a name is specified then only pets with that name will be killed, eg killpets bat will kill bats but not bees. If a number is specified, the pet corresponding to that number is killed. ==== listen ==== Listen, sets the level of messages you will hear. ==== mark ==== mark is used to mark items for items that apply other items. Examples of these are flint & steel marked for apply torches, a weapon marked for improve weapon scrolls. mark without options shows your currently marked item. usage is as follows: mark sword +3 mark three torches mark sword mark will look for best match first, and then look for matches based on shortened name, object name, archetype name. It prints the match it finds. ==== melee ==== You fight to kill monsters. You can either use magic or weapons. To use weapons, simply wield a weapon (and armour!) and move into the monster you want to attack. To use magic or bows, read 'help spells and 'help range and 'help cast and 'help invoke ==== mode ==== The mode commands are as follows: Applymode, adjusts how items are applied Bowmode, adjusts the way bows work Peaceful, sets how you react to other players Petmode, adjusts how your pets behave ==== motd ==== motd displays the Message Of The Day file. ==== mouse ==== The mouse isn't a great way to move your character. It'll work, but you'll be handicapped unless you use the keyboard for this. However, the mouse has the following inventory uses: Middle button on item: apply or equip Right button: drop or pickup item on ground Left button: info on item ==== move ==== These are the basic movement keys: yku h l bjn Running is done by holding control and move. Running is recommended. Firing the range weapon (help range) is done by holding shift and move. 'help mouse for help on what the mouse buttons do. 'help melee for advice on how to fight 'help traps for help with finding and disarming traps ==== news ==== rules displays the server news. ==== output ==== As of version 0.91.7, new output handling was added. The behaviour is controlled with the output-sync and output-count commands. output-sync controls how often information is sent to the screen. Each buffer has its own time value, and will be flushed independantly. The default value is 16 ticks (about 2 seconds). output-count sets after how many messages of the same type, they are then printed out. If the value was 10, then after killing ten orcs, the message '10 times you kill orc' would be printed out. The default value is 1 - this means that all messages get printed out as they are requested - buffering is disabled in this regard. ==== output-count ==== As of version 0.91.7, new output handling was added. The behaviour is controlled with the output-sync and output-count commands. output-sync controls how often information is sent to the screen. Each buffer has its own time value, and will be flushed independantly. The default value is 16 ticks (about 2 seconds). output-count sets after how many messages of the same type, they are then printed out. If the value was 10, then after killing ten orcs, the message '10 times you kill orc' would be printed out. The default value is 1 - this means that all messages get printed out as they are requested - buffering is disabled in this regard. ==== output-sync ==== As of version 0.91.7, new output handling was added. The behaviour is controlled with the output-sync and output-count commands. output-sync controls how often information is sent to the screen. Each buffer has its own time value, and will be flushed independantly. The default value is 16 ticks (about 2 seconds). output-count sets after how many messages of the same type, they are then printed out. If the value was 10, then after killing ten orcs, the message '10 times you kill orc' would be printed out. The default value is 1 - this means that all messages get printed out as they are requested - buffering is disabled in this regard. ==== party ==== party join partyname Puts you in a party, prompts you for a passwd if there is one party form partyname Forms a party and puts you as leader, 32 character max. At the moment, being party leader does nothing. May be used in the future. party list Lists currently formed parties and their 'leader' party passwd Changes the passwd for the party you are in, 8 character max. party who lists the members of the party you are in party say sends messsage to party members party leave takes you out of current party ==== peaceful ==== The 'peaceful' command will switch you between peaceful and hostile attack modes. When peaceful is on you will not automatically attack other player when bumping into them and will do reduced damage against other players if you do attack them (friendly fire). Having peaceful mode on only lowers damage against other players, it has no effect on damage done to monsters or other NPCs, so it is generally advisable to remain in peaceful mode unless you are looking for trouble. It is still entirely possible to kill other players when in peaceful mode so you should still be careful when interacting with other players. Hostile mode (peaceful off) will enable melee combat when bumping into other players and does normal damage for other attacks as well. Damage done by area effect attacks like cone spells, explosive detonations, fireballs, poisons, cloud or swarm attacks, runes or disease are not modified by peaceful/hostile mode. ==== petmode ==== Petmode controls how your pets (charmed monsters) will behave. The options are: Normal: As you would expect. SAD (Search and Destroy): Pets will roam and seek out things to attack. Defend: Pets will try to stay close and defend you. Arena: As normal, except that pets will attack other players in the arena. ==== pickup ==== 'pickup' changes how you pick up items when you step on them. to pickup an item manually, use the ',' key. Mode 0: Don't pick up items. Mode 1: Pick up one item Mode 2: Pickup up one item and stop Mode 3: Stop before picking up items Mode 4: Pick up all items Mode 5: Pick up all items and stop Mode 6: Pick up all magical items Mode 7: Pick up all coins and gems Modes above 7: Pickup items with a value density greater than the pickup mode. Value density is value in gold/weight in kilograms. The value in gold is what the item is worth if you sold it in the shop. Goldcoins have a value density of 66, Density 10 will pickup silver, gold, rings, wands, books, and scrolls. Artifacts are also picked up. ==== quests ==== The quests command lists the quests you are doing or have completed. Parameters are: * nothing: displays current quests. * finished: displays finished quests; * xxx: displays details for quests (finished or not) with name containing xxx ==== quit ==== If you want to quit without deleting your character, you must use a 'Bed to Reality'. Find a bed (probably in a building close to where you entered the game), get on top of it, and Apply it using shift-A (capital A). ==== range ==== Your range weapon can be one of several weapons, a spell you cast, a bow-and-arrow, a rod, or a wand, to name a few. Your range weapon is fired when you press SHIFT-direction, and will be fired in that direction. ==== rename ==== Changes the custom name of an item. Syntax: rename to (Note: <> are mandatory) If '' is omitted, defaults to marked item. If 'to ' is omitted, clears the custom name. Note: maximum allowed name length is 127 characters. ==== rules ==== rules displays the rules in effect on this server. ==== save ==== No parameters. Updates players status to disk. This can be useful for making backup copies if you fear the server is about to crash. WARNING--if you want to leave the game without destroying your player, you must find a 'Bed to Reality' and hit A on the bed to apply it. Doing 'save and then quitting will still delete your character. ==== shout ==== Usage: shout Sends a message to all players on the server. ==== showpets ==== Usage: showpets Shows a numbered list of the pets owned by the player. If a number is specified, instead shows a detailed printout about that pet ==== sort_inventory ==== If sort_inventory is set, items will be inserted into your inventory in order by type than alphabetical. This, all scrolls will be grouped together, but in alphabetical order. Same for all weapons. This only applies to new items you pick up - items that you are already holding will not be sorted. If sort_inventory is not set (default), items will be inserted via type, subtype and magic. This, all axes will be grouped together in magic order, all daggers by magic order, etc. Unforunately, for scrolls and rings, new ones just get inserted last. If you have a lot of stuff that is not in alphabetical order but you would like it to be, the best method is to drop all of it and then pick it up. ==== statistics ==== statistics shows various useful information about your character. None of the information it shows is stuff that is not contained in the documentation. As of now, it shows how much experience you need for your next level. It also shows natural, real, and maximum statistic values. Your natural stat is the stat without any items/spells applied. Real is what the current value is (same as in the stat window.) Maximum is the maximum value for your natural stat. ==== take ==== The take commands take object(s) on the space the player is standing on, and inserts them into the players inventory. If no parameter is given, take will get the top object that can be taken and put it in the players inventory. If no object can be taken, that will be stated. A parameter can be given to take. In this case, all object that have names that match the parameter will be picked up. Thus, if there is a 'sword of WOE', and 'sword +1' and a 'sword -3' on the ground, 'take sword' will pick all of them up. By default, take is bound to the comma key, with no parameters. To change this, look at the bind command. ==== traps ==== I recommend the following keybindings 'bind search s 'bind disarm d Then you can use the 's' and 'd' keys for searching for and disarming traps. Traps appear at random in doors and in chests. Search those before you open them up. Search by going near where you suspect a trap, and type 's' ==== unbind ==== Syntax: unbind [-g] [#] unbind reset Without -g command uses user's binding, with -g global binding. Without number it displays current bindings, with # it unbinds it. 'reset' resets default bindings. ==== usekeys ==== The usekeys option determines the behaviour of using keys. Values are: inventory: Only keys in the top level inventory are used (default) keyrings: Only keys in active keyrings are used. containers: Only keys in active containers are used. Note that keyrings are just a specialized container, so the containers will also find keys in keyrings. Only active containers are used - keys will not jump out of closed containers, but hints will be given if you have keys in such containers. ==== whereabouts ==== The whereabouts command gives a summary about the regions in which players are currently staying. IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/player_commands -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 13:23:12 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 13:23:12 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: player_commands Message-ID: <1164396192.905632.4264.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 13:23 User : techolous Edit Summary: cleanup + wiki stuff @@ -3,688 +3,426 @@ ==== apply ==== Apply applies an object. - If no options are given, it applies - an object you are standing on. + If no options are given, it applies an object you are standing on. - If an object name is given, it - will apply/unapply that object (toggle) + If an object name is given, it will apply/unapply that object (toggle) Extra options to apply: - -a: Always applies the object - -u: Always unapplies the object. + * -a: Always applies the object + * -u: Always unapplies the object. - These two options disable the - toggling feature. + These two options disable the toggling feature. ==== applymode ==== - Applymode controls what happens when you are equipping something that would require something - else to be unequipped. + Applymode controls what happens when you are equipping something that would require something else to be unequipped. The options are: - nochoice: In this case, if there is no choice for the item(s) being removed in order - to equip your new item. An example of this is a wand - there can only be one other item - needed to be unequipped for the new item to be equipped. Note that in the case of two handed - objects, like bows, it can result in two (or more) items being unequipped to equip your new - item. - - never: In this case, it will never unequip something for you. It will instead tell you - want you need to unequip - this can be a list of many objects. - - always: This will unequip whatever is needed to equip your new item. + * nochoice: In this case, if there is no choice for the item(s) being removed in order to equip your new item. An example of this is a wand - there can only be one other item needed to be unequipped for the new item to be equipped. Note that in the case of two handed objects, like bows, it can result in two (or more) items being unequipped to equip your new item. + * never: In this case, it will never unequip something for you. It will instead tell you want you need to unequip - this can be a list of many objects. + * always: This will unequip whatever is needed to equip your new item. An example of how the above works: - If your character currently has two rings, and tries to equip a third, the nochoice - mode will print the two rings you currently have equipped. The always mode will unequip - one of the rings in your inventory. The ring unequipped is fairly indeterminate - it - depends on how the server has ordered your inventory (which is not the same as the - order your window displays). + If your character currently has two rings, and tries to equip a third, the nochoice mode will print the two rings you currently have equipped. The always mode will unequip one of the rings in your inventory. The ring unequipped is fairly indeterminate - it depends on how the server has ordered your inventory (which is not the same as the order your window displays). - If your character is currently wearing a suit of armor, and you try to equip another - suit, both nochoice and always will cause the new suit to get equipped. + If your character is currently wearing a suit of armor, and you try to equip another suit, both nochoice and always will cause the new suit to get equipped. - See Also: apply + See Also: [[player_commands#apply]] ==== bind ==== Syntax: bind [-nfreg] Flags (default -nrf): - n - used in normal-mode - f - used in fire-mode - r - used in run-mode - e - leave command in line edit - g - global key (not recommended) + * n - used in normal-mode + * f - used in fire-mode + * r - used in run-mode + * e - leave command in line edit + * g - global key (not recommended) - Multiple commands can be bound to - the same key be seperating them - with semicolons. + Multiple commands can be bound to the same key be seperating them with semicolons. - Special bind's: - bind commandkey - sets commandkey - bind firekey1 - sets first firekey - bind firekey2 - sets second firekey - bind runkey1 - sets first runkey - bind runkey2 - sets second runkey + == Special bind's: == + * bind commandkey - sets commandkey + * bind firekey1 - sets first firekey + * bind firekey2 - sets second firekey + * bind runkey1 - sets first runkey + * bind runkey2 - sets second runkey - Examples: - bind -f cast paralyzed (F3) - will typically mean that Shift-F3 - is used to select that spell (Shift - being the fire key) + == Examples: == + bind -f cast paralyzed (F3) + will typically mean that Shift-F3 is used to select that spell (Shift being the fire key) - bind use_skill sense curse; - use_skill sense magic (S) - will bind those two commands to the - S key. + bind use_skill sense curse; + use_skill sense magic (S) + will bind those two commands to the S key. ==== bowmode ==== Bowmode controls how you will fire arrows and bolts. - The options are: - - Normal: As you would expect. - - Threewide: Fires three arrows in parallel. - - Spreadshot: Fires three arrows which spread out over distance. - - Fire: Locks in the direction the missiles will fire, - specify by compas position: - firenorth, firene, fireeast, firese, firesouth, firesw, firewest, firenw - - Bestarrow: Selects and fires the probable best arrow for from your inventory. + == The options are: == + * Normal: As you would expect. + * Threewide: Fires three arrows in parallel. + * Spreadshot: Fires three arrows which spread out over distance. + * Fire: Locks in the direction the missiles will fire, specify by compas position: firenorth, firene, fireeast, firese, firesouth, firesw, firewest, firenw + * Bestarrow: Selects and fires the probable best arrow for from your inventory. ==== brace ==== Brace: - When you enter the 'brace' command to brace your character, your character - will no longer move. It can still attack adjoining spaces. Bracing can - be useful to hold a location. + When you enter the 'brace' command to brace your character, your character will no longer move. It can still attack adjoining spaces. Bracing can be useful to hold a location. - When you are braced, you lose your dex bonus and incur a 2 point - ac penalty beyond that (if you have a negative dex bonus, you may in - fact come out ahead. You also only get 20% of the normal experience - for killing creatures, and incure a 4 point wc (to hit) penalty. + When you are braced, you lose your dex bonus and incur a 2 point ac penalty beyond that (if you have a negative dex bonus, you may in fact come out ahead. You also only get 20% of the normal experience for killing creatures, and incure a 4 point wc (to hit) penalty. ==== cast ==== - You use the cast command to - set your range-weapon to the - spell you want. Example: - 'cast burning hands + You use the cast command to set your range-weapon to the spell you want. - sets your RANGE weapon to - 'spell: burning hands' + == Example: == + 'cast burning hands - If you don't know the spell, - shows which spells you do - know. + sets your RANGE weapon to 'spell: burning hands' - It is helpful to bind strings - like 'cast burning hands' - to keys. see 'help bind' + If you don't know the spell, shows which spells you do know. - 'help range - for more information on - range weapons. + It is helpful to bind strings like 'cast burning hands' to keys. see 'help bind' + + 'help [[player_commands#range]] + for more information on range weapons. ==== drop ==== Drop usage: - drop [number] name + drop [number] name - name is the name of the item(s) to drop. It may match multiple items. - The name is matched against the start of the objects in your inventory. - The name matching is case insensitive. + name is the name of the item(s) to drop. It may match multiple items. The name is matched against the start of the objects in your inventory. The name matching is case insensitive. - There are a few special name values: - all - matches any item. - unpaid - matches unpaid items - cursed - drops items known to be cursed or damned. - unlocked - drops items not locked in your inventory + == There are a few special name values: == + * all - matches any item. + * unpaid - matches unpaid items + * cursed - drops items known to be cursed or damned. + * unlocked - drops items not locked in your inventory - number is optional. This acts as the number of the object to drop. - The objects number must be at least the number for it to be dropped. - For example, if you do 'drop 10 scroll', only groupings of 10 or more - scrolsl will be dropped. A collection of 5 scrolls will not be dropped. + number is optional. This acts as the number of the object to drop. The objects number must be at least the number for it to be dropped. For example, if you do 'drop 10 scroll', only groupings of 10 or more scrolsl will be dropped. A collection of 5 scrolls will not be dropped. - See also 'dropall' and mouse button control within client for dropping - objects. + See also '[[player_commands#dropall]]' and [[player_commands#mouse|mouse button control]] within client for dropping objects. ==== dropall ==== DROPALL help: dropall [type] - dropall drops all items in your inventory to the ground, excepting - locked items. The type parameter will also control what is dropped: + dropall drops all items in your inventory to the ground, excepting locked items. The type parameter will also control what is dropped: - 'empty' (eg, nothing speciified) - drops all objects except food, money, keys, - and containers. - weapons - drops weapons, bows, and arrows. - armor (armour) - drops armor, shield, and helmets. - misc - drops horns, books, girdles, amulets, rings, cloaks, boots, gloves, - bracers, scrolls, wands, rods, and potions. + * 'empty' (eg, nothing speciified) - drops all objects except food, money, keys, and containers. + * weapons - drops weapons, bows, and arrows. + * armor (armour) - drops armor, shield, and helmets. + * misc - drops horns, books, girdles, amulets, rings, cloaks, boots, gloves, bracers, scrolls, wands, rods, and potions. See also 'drop' and mouse button control for dropping objects. ==== golem ==== - Golems are creatures that the player - has some control over. Note that - many summoned creatures are considered - golems, even if they are not called - golems. + Golems are creatures that the player has some control over. Note that many summoned creatures are considered golems, even if they are not called golems. - If you have a golem in control your - spell type will be listed - as golem, with the creature name - in parantheses. + If you have a golem in control your spell type will be listed as golem, with the creature name in parantheses. - To control your golem, just press the - fire key in the direction you want your - golem to move. Your golem will then - start moving in that direction, and - keep moving in that direction until - you change its direction. + To control your golem, just press the fire key in the direction you want your golem to move. Your golem will then start moving in that direction, and keep moving in that direction until you change its direction. - Note that once you leave the map that - the golem is on, the golem will - disappear. Also, once you select - another spell to cast, or change - your range type, your golem will - disappear. + Note that once you leave the map that the golem is on, the golem will disappear. Also, once you select another spell to cast, or change your range type, your golem will disappear. ==== invoke ==== - The invoke command is used - to cast a spell immediately, - or when it is necessary to give - a parameter to the spell. Invoke - will not set the range weapon. + The invoke command is used to cast a spell immediately, or when it is necessary to give a parameter to the spell. Invoke will not set the range weapon. - Examples: - 'invoke restoration - 'invoke magic rune of large fireball - 'invoke reincarnation of Iamdead - 'invoke create food of waybread + == Examples: == + * 'invoke restoration + * 'invoke magic rune of large fireball + * 'invoke reincarnation of Iamdead + * 'invoke create food of waybread - It is very helpful to bind healing - spells to keys like this: + It is very helpful to bind healing spells to keys like this: - 'bind invoke medium healing - c + 'bind invoke medium healing + c the c key now casts medium healing instantly ==== keys ==== - These are the basic movement - keys: + These are the basic movement keys: + yku h l bjn - Running is done by holding - control and move. Running - is recommended. + Running is done by holding control and move. Running is recommended. - Firing the range weapon (help range) - is done by holding shift and - move. + Firing the range weapon (help range) is done by holding shift and move. - 'help mouse for help on what the - mouse buttons do. + 'help [[player_commands#mouse]] for help on what the mouse buttons do. - 'help melee for advice on how to - fight + 'help [[player_commands#melee]] for advice on how to fight - 'help traps for help with finding - and disarming traps + 'help [[player_commands#traps]] for help with finding and disarming traps ==== killpets ==== - The killpets command is a quick and convenient way - to get rid of all your pets when they are no longer - useful or are getting in the way. Any equipment - they had will be left behind, but you will get no - experience for their death. However, it kills them - instantaneously. + The killpets command is a quick and convenient way to get rid of all your pets when they are no longer useful or are getting in the way. Any equipment they had will be left behind, but you will get no experience for their death. However, it kills them instantaneously. + + If a name is specified then only pets with that name will be killed, eg killpets bat will kill bats but not bees. If a number is specified, the pet corresponding to that number is killed. - If a name is specified then only pets with that - name will be killed, eg killpets bat will kill bats - but not bees. If a number is specified, the pet - corresponding to that number is killed. ==== listen ==== Listen, sets the level of messages you will hear. ==== mark ==== - mark is used to mark items for items - that apply other items. Examples - of these are flint & steel marked for - apply torches, a weapon marked - for improve weapon scrolls. + mark is used to mark items for items that apply other items. Examples of these are flint & steel marked for apply torches, a weapon marked for improve weapon scrolls. - mark without options shows your - currently marked item. + mark without options shows your currently marked item. usage is as follows: - mark sword +3 - mark three torches - mark sword - mark will look for best match first, and - then look for matches based on shortened - name, object name, archetype name. - It prints the match it finds. + mark sword +3 + + mark three torches + + mark sword + + mark will look for best match first, and then look for matches based on shortened name, object name, archetype name. It prints the match it finds. ==== melee ==== - You fight to kill monsters. You - can either use magic or weapons. + You fight to kill monsters. You can either use magic or weapons. - To use weapons, simply wield a - weapon (and armour!) and move into - the monster you want to attack. + To use weapons, simply wield a weapon (and armour!) and move into the monster you want to attack. - To use magic or bows, read - 'help spells - and - 'help range - and - 'help cast - and - 'help invoke + To use magic or bows, read 'help [[player_commands#spells]] and 'help [[player_commands#range]] and 'help [[player_commands#cast] and 'help [[player_commands#invoke]] ==== mode ==== The mode commands are as follows: - Applymode, adjusts how items are applied - Bowmode, adjusts the way bows work - Peaceful, sets how you react to other players - Petmode, adjusts how your pets behave + * [[player_commands#Applymode]], adjusts how items are applied + * [[player_commands#Bowmode]], adjusts the way bows work + * [[player_commands#Peaceful]], sets how you react to other players + * [[player_commands#Petmode]], adjusts how your pets behave ==== motd ==== motd displays the Message Of The Day file. ==== mouse ==== - The mouse isn't a great way - to move your character. It'll - work, but you'll be handicapped - unless you use the keyboard for - this. However, the mouse has - the following inventory uses: + The mouse isn't a great way to move your character. It'll work, but you'll be handicapped unless you use the keyboard for this. However, the mouse has the following inventory uses: - Middle button on item: apply - or equip - - Right button: drop or pickup - item on ground - - Left button: info on item + * Middle button on item: apply or equip + * Right button: drop or pickup item on ground + * Left button: info on item ==== move ==== - These are the basic movement - keys: + These are the basic movement keys: + yku h l bjn - Running is done by holding - control and move. Running - is recommended. + Running is done by holding control and move. Running is recommended. - Firing the range weapon (help range) - is done by holding shift and - move. + Firing the range weapon (help range) is done by holding shift and move. - 'help mouse for help on what the - mouse buttons do. - - 'help melee for advice on how to - fight - - 'help traps for help with finding - and disarming traps + * 'help mouse for help on what the mouse buttons do. + * 'help melee for advice on how to fight + * 'help traps for help with finding and disarming traps ==== news ==== - rules displays the server news. + news displays the server news. ==== output ==== - As of version 0.91.7, new output handling - was added. The behaviour is controlled - with the output-sync and output-count - commands. + As of version 0.91.7, new output handling was added. The behaviour is controlled with the output-sync and output-count commands. - output-sync controls how often information - is sent to the screen. Each buffer has its - own time value, and will be flushed - independantly. The default value is 16 ticks - (about 2 seconds). + * [[player_commands#output-sync]] controls how often information is sent to the screen. Each buffer has its own time value, and will be flushed independantly. The default value is 16 ticks (about 2 seconds). + * [[player_commands#output-count]] sets after how many messages of the same type, they are then printed out. If the value was 10, then after killing ten orcs, the message '10 times you kill orc' would be printed out. The default value is 1 - this means that all messages get printed out as they are requested - buffering is disabled in this regard. - output-count sets after how many messages - of the same type, they are then printed out. - If the value was 10, then after killing - ten orcs, the message '10 times you kill orc' - would be printed out. The default value is 1 - - this means that all messages get printed out - as they are requested - buffering is disabled - in this regard. + === output-count === + see [[player_commands#output]] - ==== output-count ==== - As of version 0.91.7, new output handling - was added. The behaviour is controlled - with the output-sync and output-count - commands. + === output-sync === + see [[player_commands#output]] - output-sync controls how often information - is sent to the screen. Each buffer has its - own time value, and will be flushed - independantly. The default value is 16 ticks - (about 2 seconds). + ==== party ==== - output-count sets after how many messages - of the same type, they are then printed out. - If the value was 10, then after killing - ten orcs, the message '10 times you kill orc' - would be printed out. The default value is 1 - - this means that all messages get printed out - as they are requested - buffering is disabled - in this regard. + party join partyname - ==== output-sync ==== - As of version 0.91.7, new output handling - was added. The behaviour is controlled - with the output-sync and output-count - commands. + Puts you in a party, prompts you for a passwd if there is one - output-sync controls how often information - is sent to the screen. Each buffer has its - own time value, and will be flushed - independantly. The default value is 16 ticks - (about 2 seconds). + party form partyname - output-count sets after how many messages - of the same type, they are then printed out. - If the value was 10, then after killing - ten orcs, the message '10 times you kill orc' - would be printed out. The default value is 1 - - this means that all messages get printed out - as they are requested - buffering is disabled - in this regard. + Forms a party and puts you as leader, 32 character max. At the moment, being party leader does nothing. May be used in the future. - ==== party ==== - party join partyname - Puts you in a party, prompts you for a passwd if there is - one + party list - party form partyname - Forms a party and puts you as leader, 32 character max. - At the moment, being party leader does nothing. May be used in - the future. + Lists currently formed parties and their 'leader' - party list - Lists currently formed parties and their 'leader' + party passwd - party passwd - Changes the passwd for the party you are in, 8 character max. + Changes the passwd for the party you are in, 8 character max. - party who - lists the members of the party you are in + party who - party say - sends messsage to party members + lists the members of the party you are in - party leave - takes you out of current party + party say + sends messsage to party members + party leave + takes you out of current party ==== peaceful ==== The 'peaceful' command will switch you between peaceful and hostile attack modes. - When peaceful is on you will not automatically attack other player when bumping into them and will do reduced damage against other players if you do attack them (friendly fire). - Having peaceful mode on only lowers damage against other players, it has no effect on damage done to monsters or other NPCs, so it is generally advisable to remain in peaceful mode unless you are looking for trouble. - It is still entirely possible to kill other players when in peaceful mode so you should still be careful when interacting with other players. - Hostile mode (peaceful off) will enable melee combat when bumping into other players and does normal damage for other attacks as well. + When peaceful is on you will not automatically attack other player when bumping into them and will do reduced damage against other players if you do attack them (friendly fire). Having peaceful mode on only lowers damage against other players, it has no effect on damage done to monsters or other NPCs, so it is generally advisable to remain in peaceful mode unless you are looking for trouble. It is still entirely possible to kill other players when in peaceful mode so you should still be careful when interacting with other players. Hostile mode (peaceful off) will enable melee combat when bumping into other players and does normal damage for other attacks as well. Damage done by area effect attacks like cone spells, explosive detonations, fireballs, poisons, cloud or swarm attacks, runes or disease are not modified by peaceful/hostile mode. ==== petmode ==== Petmode controls how your pets (charmed monsters) will behave. - The options are: - - Normal: As you would expect. - - SAD (Search and Destroy): Pets will roam and seek out things to attack. - - Defend: Pets will try to stay close and defend you. - - Arena: As normal, except that pets will attack other players in the arena. + == The options are: == + * Normal: As you would expect. + * SAD (Search and Destroy): Pets will roam and seek out things to attack. + * Defend: Pets will try to stay close and defend you. + * Arena: As normal, except that pets will attack other players in the arena. ==== pickup ==== 'pickup' changes how you pick up items when you step on them. + to pickup an item manually, use the ',' key. - Mode 0: Don't pick up items. - Mode 1: Pick up one item - Mode 2: Pickup up one item and stop - Mode 3: Stop before picking up items - Mode 4: Pick up all items - Mode 5: Pick up all items and stop - Mode 6: Pick up all magical items - Mode 7: Pick up all coins and gems - - Modes above 7: Pickup items with - a value density greater than the pickup mode. + * Mode 0: Don't pick up items. + * Mode 1: Pick up one item + * Mode 2: Pickup up one item and stop + * Mode 3: Stop before picking up items + * Mode 4: Pick up all items + * Mode 5: Pick up all items and stop + * Mode 6: Pick up all magical items + * Mode 7: Pick up all coins and gems + * Modes above 7: Pickup items with a value density greater than the pickup mode. Value density is value in gold/weight in kilograms. - The value in gold is what the item is worth if you - sold it in the shop. - - Goldcoins have a value density of 66, - - Density 10 will pickup silver, gold, - rings, wands, books, and scrolls. - Artifacts are also picked up. - + The value in gold is what the item is worth if you sold it in the shop. Goldcoins have a value density of 66, Density 10 will pickup silver, gold, rings, wands, books, and scrolls. Artifacts are also picked up. ==== quests ==== - The quests command lists the - quests you are doing or have completed. + The quests command lists the quests you are doing or have completed. Parameters are: - * nothing: displays current quests. - * finished: displays finished quests; - * xxx: displays details for quests (finished - or not) with name containing xxx + * nothing: displays current quests. + * finished: displays finished quests; + * xxx: displays details for quests (finished or not) with name containing xxx ==== quit ==== - If you want to quit without - deleting your character, you must - use a 'Bed to Reality'. Find - a bed (probably in a building close - to where you entered the game), - get on top of it, and Apply it - using shift-A (capital A). + If you want to quit without deleting your character, you must use a 'Bed to Reality'. Find a bed (probably in a building close to where you entered the game), get on top of it, and Apply it using shift-A (capital A). ==== range ==== - Your range weapon can be one - of several weapons, a spell - you cast, a bow-and-arrow, - a rod, or a wand, to name a - few. - - Your range weapon is fired when - you press SHIFT-direction, - and will be fired in that direction. + Your range weapon can be one of several weapons, a spell you cast, a bow-and-arrow, a rod, or a wand, to name a few. + Your range weapon is fired when you press SHIFT-direction, and will be fired in that direction. ==== rename ==== Changes the custom name of an item. + Syntax: - rename to + + rename to (Note: <> are mandatory) - If '' is omitted, - defaults to marked item. + If '' is omitted, defaults to marked item. - If 'to ' is omitted, - clears the custom name. + If 'to ' is omitted, clears the custom name. - Note: maximum allowed name length - is 127 characters. + Note: maximum allowed name length is 127 characters. ==== rules ==== rules displays the rules in effect on this server. ==== save ==== No parameters. Updates players status to disk. - This can be useful for making - backup copies if you fear the - server is about to crash. + This can be useful for making backup copies if you fear the server is about to crash. - WARNING--if you want to leave the - game without destroying your player, - you must find a 'Bed to Reality' - and hit A on - the bed to apply it. Doing 'save - and then quitting will still - delete your character. + WARNING--if you want to leave the game without destroying your player, you must find a 'Bed to Reality' and hit A on the bed to apply it. Doing 'save and then quitting will still delete your character. ==== shout ==== - Usage: shout - Sends a message to all players - on the server. + Usage: + + shout + + Sends a message to all players on the server. ==== showpets ==== - Usage: showpets - Shows a numbered list of the pets owned by the player. - If a number is specified, instead shows a detailed printout about that pet + Usage: + + showpets + + Shows a numbered list of the pets owned by the player. If a number is specified, instead shows a detailed printout about that pet ==== sort_inventory ==== - If sort_inventory is set, items will be - inserted into your inventory in - order by type than alphabetical. This, - all scrolls will be grouped together, - but in alphabetical order. Same for - all weapons. This only applies - to new items you pick up - items that - you are already holding will not be - sorted. + If sort_inventory is set, items will be inserted into your inventory in order by type than alphabetical. This, + all scrolls will be grouped together, but in alphabetical order. Same for all weapons. This only applies to new items you pick up - items that you are already holding will not be sorted. - If sort_inventory is not set (default), - items will be inserted via type, - subtype and magic. This, all axes - will be grouped together in magic - order, all daggers by magic order, - etc. Unforunately, for scrolls and - rings, new ones just get inserted - last. + If sort_inventory is not set (default), items will be inserted via type, subtype and magic. This, all axes + will be grouped together in magic order, all daggers by magic order, etc. Unforunately, for scrolls and rings, new ones just get inserted last. - If you have a lot of stuff that is not - in alphabetical order but you would - like it to be, the best method is to - drop all of it and then pick it up. + If you have a lot of stuff that is not in alphabetical order but you would like it to be, the best method is to drop all of it and then pick it up. ==== statistics ==== - statistics shows various useful - information about your character. - None of the information it shows - is stuff that is not contained - in the documentation. + statistics shows various useful information about your character. None of the information it shows is stuff that is not contained in the documentation. - As of now, it shows how much - experience you need for your next - level. It also shows - natural, real, and maximum - statistic values. + As of now, it shows how much experience you need for your next level. It also shows natural, real, and maximum statistic values. - Your natural stat is the stat - without any items/spells applied. - - Real is what the current value is - (same as in the stat window.) - - Maximum is the maximum value - for your natural stat. + * Your natural stat is the stat without any items/spells applied. + * Real is what the current value is (same as in the stat window.) + * Maximum is the maximum value for your natural stat. ==== take ==== - The take commands take object(s) on the - space the player is standing on, and inserts - them into the players inventory. + The take commands take object(s) on the space the player is standing on, and inserts them into the players inventory. - If no parameter is given, take will get the - top object that can be taken and put it in - the players inventory. If no object can - be taken, that will be stated. + If no parameter is given, take will get the top object that can be taken and put it in the players inventory. If no object can be taken, that will be stated. - A parameter can be given to take. In this - case, all object that have names that match - the parameter will be picked up. Thus, - if there is a 'sword of WOE', and 'sword +1' - and a 'sword -3' on the ground, 'take sword' - will pick all of them up. + A parameter can be given to take. In this case, all object that have names that match the parameter will be picked up. Thus, if there is a 'sword of WOE', and 'sword +1' and a 'sword -3' on the ground, 'take sword' will pick all of them up. - By default, take is bound to the comma - key, with no parameters. To change this, - look at the bind command. + By default, take is bound to the comma key, with no parameters. To change this, look at the [[player_commmands#bind]] command. ==== traps ==== - I recommend the following - keybindings - 'bind search - s - 'bind disarm - d - Then you can use the 's' and - 'd' keys for searching for and - disarming traps. + I recommend the following keybindings: - Traps appear at random in doors - and in chests. Search those - before you open them up. Search - by going near where you suspect - a trap, and type 's' + 'bind search + s + + 'bind disarm + d + + Then you can use the 's' and 'd' keys for searching for and disarming traps. + + Traps appear at random in doors and in chests. Search those before you open them up. Search by going near where you suspect a trap, and type 's' ==== unbind ==== Syntax: + unbind [-g] [#] unbind reset - Without -g command uses user's binding, - with -g global binding. - Without number it displays current bindings, - with # it unbinds it. - 'reset' resets default bindings. + + Without -g command uses user's binding, with -g global binding. Without number it displays current bindings, with # it unbinds it. 'reset' resets default bindings. ==== usekeys ==== - The usekeys option determines the behaviour - of using keys. - - Values are: - - inventory: Only keys in the top level - inventory are used (default) - - keyrings: Only keys in active keyrings - are used. - - containers: Only keys in active containers - are used. + The usekeys option determines the behaviour of using keys. - Note that keyrings are just a specialized - container, so the containers will also - find keys in keyrings. + == Values are: == - Only active containers are used - keys will - not jump out of closed containers, but hints - will be given if you have keys in such containers. + * inventory: Only keys in the top level inventory are used (default) + * keyrings: Only keys in active keyrings are used. + * containers: Only keys in active containers are used. + Note that keyrings are just a specialized container, so the containers will also find keys in keyrings. + Only active containers are used - keys will not jump out of closed containers, but hints will be given if you have keys in such containers. ==== whereabouts ==== - The whereabouts command gives a summary about the - regions in which players are currently staying. + The whereabouts command gives a summary about the regions in which players are currently staying. IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/player_commands?rev=1164394209 New Revision: http://wiki.metalforge.net/doku.php/player_commands -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 13:28:40 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 13:28:40 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: bigworld Message-ID: <1164396520.371834.4276.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 13:28 User : techolous Edit Summary: @@ -14,8 +14,10 @@ Most people nowadays use the old Khelenti name (earth) or its direct translation in local languages/idioms. ===== Places ===== Places both real, and mythical. + + see [[landforms]] ==== The Continent ==== Big World, or Big Earth, as the first Khelenti colonists called it in reference to its obviously large size. As silly as it may sound, "Big World" is still the most commonly used name for what is the most important landmass currently known in the world of Crossfire. IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/bigworld?rev=1160947759 New Revision: http://wiki.metalforge.net/doku.php/bigworld -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 13:27:34 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 13:27:34 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: landforms Message-ID: <1164396454.119203.4273.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 13:27 User : techolous Edit Summary: @@ -32,9 +32,9 @@ ==== South West ==== ^ Map ^ Place Name ^ Used by (race/group) ^ Description ^ | | Some Mountains | | A range of hazardous mountains surrounding the region of [[world:Brittany]] | | [[http://dooler.woosworld.net/cf_map/zoom.php?X=107&Y=124|world_107_124]] | A Lake | | A lake to the south of the city of [[world:brittany:Brest]] | - | | [[world:Dragon Island]] | | The island [[world:Stoneville]] is on | + | | [[world:Dragon Island]] | | The island [[world:dragonisland:Stoneville]] is on | | world_100_116 | [[world:Tortola Island]] | | A strange island (used in a quest) | ==== South East ==== ^ Map ^ Place Name ^ Used by (race/group) ^ Description ^ IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/landforms?rev=1160944586 New Revision: http://wiki.metalforge.net/doku.php/landforms -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 13:57:03 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 13:57:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: backstory_development Message-ID: <1164398223.575505.4324.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 13:57 User : techolous Edit Summary: linkify some stuff, to hopefuly promote more development of lore @@ -2,160 +2,160 @@ [[world:Scorn]] was founded in 435EK, when the expedition of [[Skud]] reached the shores of the Great Continent. It is said that he first pitched his tent on the spot where the inn now stands. After that, "Skorn" ("The City of Skud") became the first Imperial Colony on the Great Continent, and the seat of power for the whole of the West. - What we know of today as Scorn Castle is in fact the upper part of the Great Tower of Watch that was built during that time. + What we know of today as [[world:scorn:Scorn Castle]] is in fact the upper part of the Great Tower of Watch that was built during that time. - At that time there were a great many dragons that dwelt in the Great Continent, which had long been their home. But the Empire drove them out of the West, far on the other side of the mountains. They built the Great Wall to keep the dragons away, and for over four centuries, Scorn and the West were rich and peaceful. + At that time there were a great many [[races:dragons]] that dwelt in the Great Continent, which had long been their home. But the Empire drove them out of the West, far on the other side of the mountains. They built the Great Wall to keep the dragons away, and for over four centuries, Scorn and the West were rich and peaceful. - Eventually the Empire started to crumble and there was great political unrest. Enteranni the Red tried to seize power and declare himself emperor, he planned to unleash the dragons upon the West, that he might be the one to banish them and be the "saviour" of the West. Unfortunately (as it is told in the "Tale of the Flaming Walls") he failed, the dragons he helped unleash crossed the Great Wall and attacked the West. + Eventually the Empire started to crumble and there was great political unrest. Enteranni the Red tried to seize power and declare himself emperor, he planned to unleash the dragons upon the West, that he might be the one to banish them and be the "saviour" of the West. Unfortunately (as it is told in the "[[Tale of the Flaming Walls]]") he failed, the dragons he helped unleash crossed the Great Wall and attacked the West. - Scorn was crushed under a rain of stone, while its inhabitants fled to the swamps in the north. + [[world:Scorn]] was crushed under a rain of stone, while its inhabitants fled to the swamps in the north. - Azuriner the Careful finally used the Golden Lance of Lythander (which was claimed by Mandor the Mad to be powerful enough to "Command to Those of the Skies") to defeat the dragons and rebuilt Scorn - above the old one. + [[Azuriner the Careful]] finally used the [[Golden Lance of Lythander]] (which was claimed by [[Mandor the Mad]] to be powerful enough to "Command to Those of the Skies") to defeat the [[races:dragons]] and rebuilt [[world:Scorn]] - above the old one. - It is said that when Azuriner died, he was buried in the Old Scorn Below with his Golden Lance, and asked his sons to seal the doors to the world below, which was now "the domain of the past". The key to open the deeper levels of the Old City was believed to have been sent back to Khelens, but no ships have crossed the High Ocean since the end of the Flame Wars, nearly 5000 years ago. + It is said that when [[azuriner the Careful|Azuriner]] died, he was buried in the [[world:scorn:scornoldcity|Old Scorn]] Below with his [[golden lance of lythander|Golden Lance]], and asked his sons to seal the doors to the world below, which was now "the domain of the past". The key to open the deeper levels of the [[world:scorn:scornoldcity|Old City]] was believed to have been sent back to [[Khelens]], but no ships have crossed the High Ocean since the end of the [[Flame Wars]], nearly 5000 years ago. =====The Moons of Bigworld===== - The are three moons that orbit bigworld, they are called [[Ranisha]] the Red, [[Asferenn]] the Blue and [[Wolfen]] the White. In the elven language, they are known as "Snarfa", "Skorta", and "Svertzika". + The are three moons that orbit bigworld, they are called [[Ranisha]] the Red, [[Asferenn]] the Blue and [[Wolfen]] the White. In the elven language, they are known as "[[ranisha|Snarfa]]", "[[asferenn|Skorta]]", and "[[wolfen|Svertzika]]". ===== Kingdrom of Brittany and the city of Brest ===== Children in Scorn usually love the stories of their quests. It is much better so. - That's indeed weird to have so many easy travels to Brittany, while the whole point of the Exiled was to be hard to reach :) + That's indeed weird to have so many easy travels to [[world:Brittany]], while the whole point of the Exiled was to be hard to reach :) - While Brittany is the area where the Last Men went to hide from the Werebeasts. Strange thing, actually, that "Brittany" comes from the old Khelentari meaning "Wide Plains". Well, it is nowaday strange, of course. When the first explorers reached that area, there were no mountains separating that from the region of Scorn. + While [[world:Brittany]] is the area where the Last Men went to hide from the Werebeasts. Strange thing, actually, that "[[world:Brittany]]" comes from the old Khelentari meaning "Wide Plains". Well, it is nowaday strange, of course. When the first explorers reached that area, there were no mountains separating that from the region of [[world:Scorn]]. - No, definitely not. Juberness the Erudite found out that this common belief came from an erroneous transcript of the Codex Magirata by Furnenn during the XXIIth century. + No, definitely not. [[Juberness the Erudite]] found out that this common belief came from an erroneous transcript of the [[Codex Magirata]] by [[Furnenn]] during the XXIIth century. You see, it was a harsh time. It was during the Great War against the dragons. Scorn itself stood firm, but many people doubted that it would be able to resist against the Great Dragons that had crossed the Wall. - The Baron of Quay-Vy, a small state-city that was allied to Scorn, then sent messenger all around in the few territories still free from the dragons asking for any possible help, promising a huge treasure as a reward. Many came, but with no real proposal. + The Baron of [[Quay-Vy]], a small state-city that was allied to [[world:Scorn]], then sent messenger all around in the few territories still free from the [[races:dragons]] asking for any possible help, promising a huge treasure as a reward. Many came, but with no real proposal. - Then, a Mage came. The story forgot his name - or maybe he made it forget - but he was powerful for sure. He sent his creation to help men: the terrible werebeasts. And, as we now know, the Allied People vainquished the dragons. And so did the mage ask for his bill to be paid. But his price was way too high, and the ravages of the war made it impossible for the Baron to pay him. + Then, a Mage came. The story forgot his name - or maybe he made it forget - but he was powerful for sure. He sent his creation to help men: the terrible werebeasts. And, as we now know, the Allied People vainquished the [[races:dragons]]. And so did the mage ask for his bill to be paid. But his price was way too high, and the ravages of the war made it impossible for the Baron to pay him. "So be said, then !" said the furious mage, "You'll pay with blood what your purse refused to spit out !" Werebeasts then attacked those they once helped. Already weakened by the dragon's war, the remaining Thinking Races were on the verge of becoming extinct. The College of Wizards of Scorn then took a drastic decision: selecting 100 young men and 100 young women across the country, the "Last Men", they organised an exodus to the south, and used all their powers to prevent the werebeasts to kill those survivors. First, they raised mountains all around. High. Dangerous. Nasty Weather and stuff. Of course, it meant that the Last Men were now cut from the rest of the world completely. - Then, they built two fortresses guarding the two passages that existed through the mountains they had raised. And, to ensure they'd stand against the werebeasts, they cast a spell of Temporal Lock on them. + Then, they built two fortresses guarding the two passages that existed through the mountains they had raised. And, to ensure they'd stand against the werebeasts, they cast a spell of [[temporal lock|Temporal Lock]] on them. - Temporal Locks are very powerful and dangerous spells. + [[Temporal Locks]] are very powerful and dangerous spells. As long as they are in effect, the people they protect never get old, and are harder to kill than simple mortals. On the other hand, invaders and enemies of all sorts perish much more easily. - There is a drawback to Temporal Locks, though, which is why it is usually banned by most white wizards. + There is a drawback to [[Temporal Locks]], though, which is why it is usually banned by most white wizards. When the spell comes to its end, it "runs out of magical energy". Then, it finds energy to try to maintain itself at all costs, and sucks the very life of those it protects. Turning them into people that are neither alive or dead, or even undead, but both and neither at the same time. Finally, the spell dies, having exhausted everything and everybody, and only ruins remain, that look centuries old even if they are only a few months old in fact. That's what happened to the two fortresses for sure. but What about the werebeasts ? - Well, unknown to the inhabitants of Brittany, the Five Ones tracked them, killed them, and saved not only Scorn, but also the Thinking Races, from total destruction. The Five Ones then were able to reach Brittany and tell its inhabitants that they could stop hiding. The Five were actually a team of five, well, heroes that are still famous today. + Well, unknown to the inhabitants of [[world:Brittany]], the Five Ones tracked them, killed them, and saved not only [[world:Scorn]], but also the Thinking Races, from total destruction. The Five Ones then were able to reach [[world:Brittany]] and tell its inhabitants that they could stop hiding. The Five were actually a team of five, well, heroes that are still famous today. - But, so confident were the Last Men in their magical defenses that they didn't believe what they told us, saying that they were just poor comedians in desperate need of easy money. Disgusted, the Five Ones left Brittany. And no other man crossed the mountains for 2500 years. + But, so confident were the [[Last Men]] in their magical defenses that they didn't believe what they told us, saying that they were just poor comedians in desperate need of easy money. Disgusted, the Five Ones left [[world:Brittany]]. And no other man crossed the mountains for 2500 years. - During that time, Brittany flourished, completely convinced that it was the last human kingdom in a world dominated by monsters of all sorts. - Then, Mer'eric the Walker discovered by accident that a light could be seen, on clear days, from above the top of Nursen, the high mountain that dominates Brest, the Capital City of Brittany. + During that time, [[world:Brittany]] flourished, completely convinced that it was the last human kingdom in a world dominated by monsters of all sorts. + Then, [[Mer'eric]] the Walker discovered by accident that a light could be seen, on clear days, from above the top of [[landforms:Nursen]], the high mountain that dominates [[world:brittany:Brest]], the Capital City of [[world:Brittany]. - He spent ten years of his life to build the Great Heliograph, a device that could focus the sunlight into a wide beam, that could be used to send messages. + He spent ten years of his life to build the [[Great Heliograph]], a device that could focus the sunlight into a wide beam, that could be used to send messages. - On the other side, the man now known as the "Mad Mage" was holding experiences about the properties of light. It was him that inadvertently attracted the attention of Mer'eric. And he quickly noticed the signs sent by the Great Heliograph, and built on his side a similar device. + On the other side, the man now known as the "[[Mad Mage]]" was holding experiences about the properties of light. It was him that inadvertently attracted the attention of [[Mer'eric]]. And he quickly noticed the signs sent by the [[Great Heliograph]], and built on his side a similar device. - But in Brest, things weren't as joyful as one could have thought. + But in [[world:brittany:Brest]], things weren't as joyful as one could have thought. People were thinking: "Those are dragons, trying to fool us ! Mer'eric as doomed us all !" And Mer'eric himself became afraid of the consequences of what he had done. So he hid his machine, and decided to cross the mountains to see by himself what had happened. - When he came back five years later with some companions, Brestians were forced to admit that they weren't the last ones on Earth. And they felt angry and spoiled from what they said was their heritage. Tension rose between Brittany and Scorn, and shadows of War became longer again. - It is then, when everything seemed to go to another butcher's feast, that the Five Ones reappeared. It is said that it is the "Mad Mage" that called them through the gateways of time. Who knows ? One thing is sure: they prevented the war, about 10 years ago. One of them, a brave warrior with hairs of the color of the sun, is still the only and true ruler of Brittany. + When he came back five years later with some companions, Brestians were forced to admit that they weren't the last ones on [[bigworld|Earth]]. And they felt angry and spoiled from what they said was their heritage. Tension rose between [[world:Brittany]] and [[world:Scorn]], and shadows of War became longer again. + It is then, when everything seemed to go to another butcher's feast, that the Five Ones reappeared. It is said that it is the "[[Mad Mage]]" that called them through the gateways of time. Who knows ? One thing is sure: they prevented the war, about 10 years ago. One of them, a brave warrior with hairs of the color of the sun, is still the only and true ruler of [[world:Brittany]]. - But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "Mad Mage" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? + But where is he ? And what about the four others ? That I don't know, and probably few people can answer that question. The "[[Mad Mage]]" is now grumbling alone in his solitary tower about his younger days, when he ran on the Earth to save people with his four friends, but who is to believe the bearded man with foolish, tearful eyes ? - As for myself, I don't know, and here ends my knowledge about Brittany's Past. + As for myself, I don't know, and here ends my knowledge about [[world:Brittany]]'s Past. ===== Story of Lorkas the Fallen ===== - I'll tell you about Lorkas of Amudrias, and how he found the White Bird of Hope, and how he capitained it, opening the Gates of the Sun, and some stuff like that. + I'll tell you about [[Lorkas]] of Amudrias, and how he found the [[White Bird of Hope]], and how he capitained it, opening the [[Gates of the Sun]], and some stuff like that. - Some say that Lorkas was an angel of Valriel, that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new underground domains. + Some say that [[Lorkas]] was an angel of [[Valriel]], that fell long ago from the Skies, stealing a couple of highly holy artifacts, and hiding them in his new underground domains. - Some also say that Lorkas is a dark spirit, a lost soul, an unclean, unfaithful, untrusty creature of Doom and Chaos. + Some also say that [[Lorkas]] is a dark spirit, a lost soul, an unclean, unfaithful, untrusty creature of Doom and Chaos. - But, for what matters, some also said that Fido was a fiction, or that the Empire never was more than a dream of a past that never existed. Some definitely are foolishly uninformed for sure, and speak more than they think. + But, for what matters, some also said that [[Fido]] was a fiction, or that the Empire never was more than a dream of a past that never existed. Some definitely are foolishly uninformed for sure, and speak more than they think. Because, if they were less quick on jumping to conclusions, they'd quickly notice how difficult it is for an angel to fall from the sky and never be able to climb back, as if wild gooses were never able to take off again once they land after their long journey to the South. - Anyway, as every wise man knows, Lorkas was no angelic creature of divine essence, or even a magical creation of a godly force. + Anyway, as every wise man knows, [[Lorkas]] was no angelic creature of divine essence, or even a magical creation of a godly force. - Some say that Khelens is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of Songor the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the Long Wall. And before it, the forgotten towers of light that Horadrists built. + Some say that [[Khelens]] is the Beginning, first of the Cities of Men. That, too, is untrue: before the Age of Khelens was the Time of the Kingdoms at War. And before them, the Era of [[Songor]] the Great. And going back through the thick book of history, you'll cross Arnistar of the Desert Dwellers, the Republic of the Two Rivers, and the Ancient Haemdel, and the Kingdom of the [[Long Wall]]. And before it, the forgotten [[towers of light]] that [[Horadrists]] built. - Lorkas was born in Kuratas, a small agrarian state that existed on the Coronian Valley, when Songer and Khelens were still in infancy. He was a boy that wanted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. + [[Lorkas]] was born in [[Kuratas]], a small agrarian state that existed on the [[Coronian Valley]], when [[Songer]] and [[Khelens]] were still in infancy. He was a boy that wanted to see everything, to understand the world and its stars, and discover its limits, for it was extending much further than the mists of his home valley. - But life was rude in Kuratas, and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, Lorkas dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. + But life was rude in [[Kuratas]], and trying to think about anything else than your next harvest wasn't well perceived by most; and, more than often, [[Lorkas]] dreamed with tears and despair about the Mountains with the white tops, and Seas that ended only when they touched the sky, far away. - Tired of his senseless life, he left his parents, his village, his friends, when he was only 12, and for weeks walked to the West, until he reached the Coast of the Stonewalls. + Tired of his senseless life, he left his parents, his village, his friends, when he was only 12, and for weeks walked to the West, until he reached the Coast of the [[Stonewalls]]. - And there, he saw Ottarakans, the Infinite Ocean that extends west of the Old World, and so fell in love for the sea. He then joined the Port of Kridatta, which was famous for its ships, as its inhabitants had mastered a powerful arcane, so that their boats roamed not only the seas, but the very clouds themselves. + And there, he saw [[Ottarakans]], the Infinite Ocean that extends west of the Old World, and so fell in love for the sea. He then joined the Port of [[Kridatta]], which was famous for its ships, as its inhabitants had mastered a powerful arcane, so that their boats roamed not only the seas, but the very clouds themselves. - Because he was smart and quick-brained, Lorkas soon got enrolled in the team of Capt'n Bortaras; and after several adventures I shall maybe tell about another day, he took the succession of the old mariner. + Because he was smart and quick-brained, [[Lorkas]] soon got enrolled in the team of Capt'n [[Bortaras]]; and after several adventures I shall maybe tell about another day, he took the succession of the [[old mariner]]. - Horizon was the name of his ship, and famous was his crew, exploring huge territories and fighting the Princes of Sinas, who back then tried to put the whole area under their iron, greedy grasps. + [[Horizon]] was the name of his ship, and famous was his crew, exploring huge territories and fighting the Princes of [[Sinas]], who back then tried to put the whole area under their iron, greedy grasps. - But Lorkas heard about a wonder that him and his crew soon wanted to find: The White Bird of Hope. + But [[Lorkas]] heard about a wonder that him and his crew soon wanted to find: The [[White Bird of Hope]]. - Buried in the Very East, it was said to be. And so he sailed east; he crossed the Great Desert, passed the Mountains of Daigojij, reached the forests oft he western normanika. But still was the Bird further away. + Buried in the Very East, it was said to be. And so he sailed east; he crossed the [[Great Desert]], passed the Mountains of [[Daigojij]], reached the forests oft he western normanika. But still was the Bird further away. Reaching the Eastern Ocean, they decided to try to cross it, despite that it was said to be the end of the world. And for 30 days and nights, across tempests and monsters, they firmly kept heading east, east, east. When despair was growing on them, mists magically opened, revealing a golden city built on what seemed to be a rich, fertile coastal plain. - People there spoke a strange language; they were small and not unlike joyful foxes, and they welcomed Lorkas and his men (and women) warmly. Soon, they learned to understand each other enough. + People there spoke a strange language; they were small and not unlike joyful foxes, and they welcomed [[Lorkas]] and his men (and women) warmly. Soon, they learned to understand each other enough. They called themselves "The People of the Mother", and they had never seen the "Flat-Eared Giants" before, although they already met "Flat-Eared Beards" and "Flat-Eared Greens" before. - But there was a lady called Sonja. And, although she wasn't human, she seemed brighter, smarter, more beautiful than any other woman Lorkas had ever seen before. + But there was a lady called [[Sonja]]. And, although she wasn't human, she seemed brighter, smarter, more beautiful than any other woman Lorkas had ever seen before. Those months were the most wonderful for him - and her - and time seemed to have stopped for them in their endless love. But of course it hadn't. - And after a while, some of his men wanted to go back to their own homes, and some wanted for their families to come to the Golden City. And, also, there was the Bird. + And after a while, some of his men wanted to go back to their own homes, and some wanted for their families to come to the [[Golden City]]. And, also, there was the Bird. - They had no problem to find the White Bird of Hope - a statue entirely made of the purest of the white marble, with gemstones of red ruby as eyes. But so much the inhabitants liked it, so they thought that a valuable friend was much better than a valuable statue. + They had no problem to find the [[White Bird of Hope]] - a statue entirely made of the purest of the white marble, with gemstones of red ruby as eyes. But so much the inhabitants liked it, so they thought that a valuable friend was much better than a valuable statue. And so they said: "Take the bird as a gift of us to your masters, to show them we want to make friendship with them. Welcome are the friends of the children of the White Bird." - And so Lorkas left, promising Sonja that he'd soon return. + And so [[Lorkas]] left, promising [[Sonja]] that he'd soon return. - The people of the Golden City also told him that "The Bird is imbued with powerful magic: the one owning it will always keep hope." + The people of the [[Golden City]] also told him that "The Bird is imbued with powerful magic: the one owning it will always keep hope." - When Lorkas came back, he and his men were welcomed as heroes. So where does the story turns sour, as Lorkas is said to have fallen from the skies ? + When [[Lorkas]] came back, he and his men were welcomed as heroes. So where does the story turns sour, as [[Lorkas]] is said to have fallen from the skies ? - Well, when he and his crew came back home, Kridatta was at war with Sinas, and for several years, he and his crew fought, using the power of the Bird to help them. And during those years, Lorkas kept in his heart the hope of seeing again Sonja. + Well, when he and his crew came back home, [[Kridatta]] was at war with [[Sinas]], and for several years, he and his crew fought, using the power of the Bird to help them. And during those years, [[Lorkas]] kept in his heart the hope of seeing again [[Sonja]]. - Then came the Fever Plague, that killed a third of the people in the Ancient World. And again was the Bird used, and again did Lorkas help all those he could help, still having hope of seeing the Golden City again soon. + Then came the [[Fever Plague]], that killed a third of the people in the Ancient World. And again was the Bird used, and again did [[Lorkas]] help all those he could help, still having hope of seeing the [[Golden City]] again soon. - And then, he sent messengers and explorers, as he had become influent, rich, and powerful, across the seas, to rebind the ties with the Golden City, as he promised. But they all came without finding their way to those faraway shores; yet all that time, and for each new mission sent to explore the seas and the skies, they seemed closed and closer from the goal. + And then, he sent messengers and explorers, as he had become influent, rich, and powerful, across the seas, to rebind the ties with the [[Golden City]], as he promised. But they all came without finding their way to those faraway shores; yet all that time, and for each new mission sent to explore the seas and the skies, they seemed closed and closer from the goal. - Sixty years passed. The world changed; new kingdoms ruled old cities; Lorkas was now an old man that lived in a small house looking at the Ocean. + Sixty years passed. The world changed; new kingdoms ruled old cities; [[Lorkas]] was now an old man that lived in a small house looking at the Ocean. And still, each day, he spent hours waiting, watching the line where the sea met the sky, hoping that one day, one would sail back and tell him: "we found the Golden City !". And always he hoped, but never received. - Nearly all of his companions were now dead, and the Horizon had been retired long ago, now slowly rotting in the bay, fading souvenir of a long forgotten past. + Nearly all of his companions were now dead, and the [[Horizon]] had been retired long ago, now slowly rotting in the bay, fading souvenir of a long forgotten past. - Lorkas walked to his boat, and where there was only tarnished wood and corroded metal, he still saw the fierce ship on which he saw Sonja for the first time, so long ago. Who knows what he did, then? One thing is sure: the vigile of the Sea Tower of Kridatta, that watched boats coming and leaving from dozens of miles away, reported that an ancient ship left the bay, with Lorkas sitting at the front of it, holding the Bird, as if he was sleeping. + Lorkas walked to his boat, and where there was only tarnished wood and corroded metal, he still saw the fierce ship on which he saw [[Sonja]] for the first time, so long ago. Who knows what he did, then? One thing is sure: the vigile of the Sea Tower of [[Kridatta]], that watched boats coming and leaving from dozens of miles away, reported that an ancient ship left the bay, with [[Lorkas]] sitting at the front of it, holding the Bird, as if he was sleeping. - Nobody knows exactly where he went. Was he even dead? Nobody knows. But everybody kept hope that, one day, he'd reach the Golden City again. - Lots of people tried to find the Bird after that event. They all accused Lorkas of having "stolen" it. The story became legend. The legend became fairy tale. And the fairy tale got forgotten by most. + Nobody knows exactly where he went. Was he even dead? Nobody knows. But everybody kept hope that, one day, he'd reach the [[Golden City]] again. + Lots of people tried to find the Bird after that event. They all accused [[Lorkas]] of having "stolen" it. The story became legend. The legend became fairy tale. And the fairy tale got forgotten by most. - Yet, Centuries ago, deep in the oldest parts of the Old City of Scorn, people claimed to have found an ancient mausoleum, a relic of the past. All made of the purest, finest gold. On the walls were engraved a man at the wheel of a strange ship, and a woman with pointy ears, watching the skies. And many nowadays keep the Hope that the White Bird now sleeps down below the streets, having found its way back to home with Lorkas. + Yet, Centuries ago, deep in the oldest parts of the [[world:scorn:scornoldcity|Old City of Scorn]], people claimed to have found an ancient mausoleum, a relic of the past. All made of the purest, finest gold. On the walls were engraved a man at the wheel of a strange ship, and a woman with pointy ears, watching the skies. And many nowadays keep the Hope that the White Bird now sleeps down below the streets, having found its way back to home with Lorkas. - But who could tell if it is the truth, or only a silly story? Who knows? As for myself, I don't care: I just hold hope it is. And so ends the Story of Lorkas, and so keeps Hope running. + But who could tell if it is the truth, or only a silly story? Who knows? As for myself, I don't care: I just hold hope it is. And so ends the Story of [[Lorkas]], and so keeps Hope running. IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/backstory_development?rev=1163688317 New Revision: http://wiki.metalforge.net/doku.php/backstory_development -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:06:15 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:06:15 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: guides:alchemy_guide Message-ID: <1164398775.472758.4342.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:06 User : techolous Edit Summary: moved from "alchemy_guide" ====== Alchemy Guide ====== Taken from the old wiki, and converted some stuff to use dokuwiki's syntax. I have no idea if zeph is still working on this. ---- Platinum is a very nice thing to have in Crossfire. It won't get you everything, but it sure helps. You can buy with it anything the stores care to sell, and often what other players do as well. Having platinum also allows you to enhance many other characteristics of your player. It isn't everything, again, but the more the merrier, certainly. Your first few levels in Crossfire are going to be the kill-loot cycle. You clear a newbie dungeon. Then you make tedious trips hauling whatever you find to the nearest shop. You think: there must be an easier way! There is. Alchemy! It is a word which inspires fear, for perhaps the Evil Masters shall be summoned once again. (see [[Bonzi Evil Masters]] ) For perhaps the powers of magical energy shall once again be unleashed upon the world as chaotic power. Perhaps once again... That is why alchemy is both feared and revered. To those outside its inner circle, it posses a great mystique, one of power, perhaps too much so. To those inside this inner circle, however, the possibilities are limitless... True alchemy is not for the faint of heart, but all may reap the benefits of its simpler side. To begin, I must introduce alchemy. Alchemy was once the simple art of transfiguring base metal into gold, and later, platinum. The early alchemists quickly profited greatly, buying whatever they desired, but that was not enough. The peasants of the realm had only so much, and nothing more. The alchemists wanted more. Many of the alchemists began to deviate from their peers, using their cauldrons to make many potions. They began to create items of great power. Power, though, came at a price, and what horrors the alchemists had unleashed were never to cease. (I'm skipping the story, saving it for later, and going on to the actual guide.) Alchemy is a very easy skill. You only need: The alchemy skill. This is a very nice skill to have, and well worthwhile for both money-making and making yourself invulnerable when you feel like it. There is no talisman, as it is not an attack skill. Instead, you can get the scroll. 500 plat. Easy, but expect to stalk shops for quite a bit. (Unless you know one of two places...) A cauldron. Get spares. You WILL set a few on fire and such. Some are enchanted, and work better. A +1 cauldron is nice. I've seen up to a +3, though I suspect the code allows +5. Remember, these +es are rare. A +1 cauldron is rarer than any +4 standard weapon, and most artifacts. A +2 is something you can show off. A +3 is a sign of power. A +4 will almost get you a ring of Ruling. A +5? Well, then I begin to become suspicious. Ingredients. Go figure. The alchemy skill requires things to be put into cauldrons. There are the standard reagents and monster parts. You'll only work with a few early on. You need a bit of level in alchemy first. Level 1 tends not to be safe near a cauldron. Take advantage of alchemy's other use, identification. Bind a key to drop platinum on the alchemy sale table for one ingredient, use_skill alchemy. Do this over the mineral oil table. Plan to spend a few thousand platinum. Eventually, you will get to level 5 alchemy. You are now cauldron capable, but just barely. At this time, I would like to note that in alchemy, the numbers 7, and to a lesser degree 3 and 5, are very useful. Back to the matter of making money and getting experience. Remember your mineral oil? Remember your magic numbers? (To be continued whenever. Let me finish the draft before any other changes are added, please. ~Zeph) ===== Comments ===== Maybe a section for [[Alchemical Recipies]], would be nice? IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:06:49 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:06:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides Message-ID: <1164398809.255655.4345.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:06 User : techolous Edit Summary: @@ -56,11 +56,11 @@ ===== Doing things ===== Tutorials and information about various things you can do in crossfire. - * [[Alchemy Guide]] - * [[Cooking Guide]] - * [[Smithing Guide]] + * [[guides:Alchemy Guide]] + * [[guides:Cooking Guide]] + * [[guides:Smithing Guide]] * [[Client Side Scripting]] ===== Command Syntax ===== IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/guides?rev=1162662014 New Revision: http://wiki.metalforge.net/doku.php/guides -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:05:23 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:05:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: alchemy_guide Message-ID: <1164398723.279013.4339.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:05 User : techolous Edit Summary: moving to guides:alchemy_guide @@ -1,44 +1 @@ - ====== Alchemy Guide ====== - Taken from the old wiki, and converted some stuff to use dokuwiki's syntax. I have no idea if zeph is still working on this. - - ---- - - Platinum is a very nice thing to have in Crossfire. It won't get you everything, but it sure helps. You can buy with it anything the stores care to sell, and often what other players do as well. Having platinum also allows you to enhance many other characteristics of your player. It isn't everything, again, but the more the merrier, certainly. - - Your first few levels in Crossfire are going to be the kill-loot cycle. You clear a newbie dungeon. Then you make tedious trips hauling whatever you find to the nearest shop. You think: there must be an easier way! There is. - - Alchemy! - - It is a word which inspires fear, for perhaps the Evil Masters shall be summoned once again. (see [[Bonzi Evil Masters]] ) For perhaps the powers of magical energy shall once again be unleashed upon the world as chaotic power. Perhaps once again... That is why alchemy is both feared and revered. To those outside its inner circle, it posses a great mystique, one of power, perhaps too much so. - - To those inside this inner circle, however, the possibilities are limitless... - - True alchemy is not for the faint of heart, but all may reap the benefits of its simpler side. - - To begin, I must introduce alchemy. Alchemy was once the simple art of transfiguring base metal into gold, and later, platinum. The early alchemists quickly profited greatly, buying whatever they desired, but that was not enough. The peasants of the realm had only so much, and nothing more. The alchemists wanted more. - - Many of the alchemists began to deviate from their peers, using their cauldrons to make many potions. They began to create items of great power. Power, though, came at a price, and what horrors the alchemists had unleashed were never to cease. - - (I'm skipping the story, saving it for later, and going on to the actual guide.) - - Alchemy is a very easy skill. You only need: - - The alchemy skill. This is a very nice skill to have, and well worthwhile for both money-making and making yourself invulnerable when you feel like it. There is no talisman, as it is not an attack skill. Instead, you can get the scroll. 500 plat. Easy, but expect to stalk shops for quite a bit. (Unless you know one of two places...) - - A cauldron. Get spares. You WILL set a few on fire and such. Some are enchanted, and work better. A +1 cauldron is nice. I've seen up to a +3, though I suspect the code allows +5. Remember, these +es are rare. A +1 cauldron is rarer than any +4 standard weapon, and most artifacts. A +2 is something you can show off. A +3 is a sign of power. A +4 will almost get you a ring of Ruling. A +5? Well, then I begin to become suspicious. - - Ingredients. Go figure. The alchemy skill requires things to be put into cauldrons. There are the standard reagents and monster parts. You'll only work with a few early on. - - You need a bit of level in alchemy first. Level 1 tends not to be safe near a cauldron. Take advantage of alchemy's other use, identification. Bind a key to drop platinum on the alchemy sale table for one ingredient, use_skill alchemy. Do this over the mineral oil table. Plan to spend a few thousand platinum. Eventually, you will get to level 5 alchemy. - - You are now cauldron capable, but just barely. - - At this time, I would like to note that in alchemy, the numbers 7, and to a lesser degree 3 and 5, are very useful. - - Back to the matter of making money and getting experience. Remember your mineral oil? Remember your magic numbers? - - (To be continued whenever. Let me finish the draft before any other changes are added, please. ~Zeph) - - ===== Comments ===== - Maybe a section for [[Alchemical Recipies]], would be nice? IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/alchemy_guide?rev=1145737717 New Revision: http://wiki.metalforge.net/doku.php/alchemy_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:08:49 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:08:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: alchemical_recipies Message-ID: <1164398929.244746.4348.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:08 User : techolous Edit Summary: moving to guides:alchemy:recipies @@ -1,10 +1 @@ - ====== Alchemical Recipies ====== - Within are details of alchemical procedures, that one would usualy only find in books, found within the game. - __**WARNING**__: Contains spoilers - - ===== Basic Components ===== - Basic components, used to make several other things. - - * [[Philosophical Oil]] - * [[Water of the Wise]] IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/alchemical_recipies?rev=1130613294 New Revision: http://wiki.metalforge.net/doku.php/alchemical_recipies -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:11:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:11:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: guides:alchemy:recipies Message-ID: <1164399069.207005.4366.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:11 User : techolous Edit Summary: moved from "alchemical_recipies" ====== Alchemical Recipies ====== Within are details of alchemical procedures, that one would usualy only find in books, found within the game. __**WARNING**__: Contains spoilers ===== Basic Components ===== Basic components, used to make several other things. * [[Philosophical Oil]] * [[Water of the Wise]] IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy:recipies -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:12:03 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:12:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides:alchemy_guide Message-ID: <1164399123.675373.4369.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:12 User : techolous Edit Summary: @@ -40,5 +40,5 @@ (To be continued whenever. Let me finish the draft before any other changes are added, please. ~Zeph) ===== Comments ===== - Maybe a section for [[Alchemical Recipies]], would be nice? + Maybe a section for [[guides:alchemy:recipies|Alchemical Recipies]], would be nice? IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/guides:alchemy_guide?rev=1164398774 New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:14:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:14:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: water_of_the_wise Message-ID: <1164399270.638571.4375.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:14 User : techolous Edit Summary: moved @@ -1,6 +1 @@ - ====== Water of the Wise ====== - - Water of the Wise may be made with - * 7 waters - IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/water_of_the_wise?rev=1149896206 New Revision: http://wiki.metalforge.net/doku.php/water_of_the_wise -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:13:41 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:13:41 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: guides:alchemy:recipies:water_of_the_wise Message-ID: <1164399221.782118.4372.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:13 User : techolous Edit Summary: moved ====== Water of the Wise ====== Water of the Wise may be made with * 7 waters IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy:recipies:water_of_the_wise -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:16:43 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:16:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: philosophical_oil Message-ID: <1164399403.651309.4387.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:16 User : techolous Edit Summary: moving @@ -1,6 +1 @@ - ====== Philosophical Oil ====== - - Philosophical Oil may be made with - * 7 bottles of mineral oil - IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/philosophical_oil?rev=1149896064 New Revision: http://wiki.metalforge.net/doku.php/philosophical_oil -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:15:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:15:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides:alchemy:recipies Message-ID: <1164399352.842627.4384.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:15 User : techolous Edit Summary: @@ -5,6 +5,6 @@ ===== Basic Components ===== Basic components, used to make several other things. - * [[Philosophical Oil]] - * [[Water of the Wise]] + * [[guides:alchemy:recipies:Philosophical Oil]] + * [[guides:alchemy:recipies:Water of the Wise]] IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/guides:alchemy:recipies?rev=1164399068 New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy:recipies -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:18:26 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:18:26 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides:recipies:philosophical_oil Message-ID: <1164399506.705640.4396.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:18 User : techolous Edit Summary: umm, wrong namespace @@ -1,6 +1 @@ - ====== Philosophical Oil ====== - - Philosophical Oil may be made with - * 7 bottles of mineral oil - IP-Address : 72.88.35.213 Old Revision: http://wiki.metalforge.net/doku.php/guides:recipies:philosophical_oil?rev=1164399455 New Revision: http://wiki.metalforge.net/doku.php/guides:recipies:philosophical_oil -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:17:37 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:17:37 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: guides:recipies:philosophical_oil Message-ID: <1164399457.113687.4393.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:17 User : techolous Edit Summary: moved ====== Philosophical Oil ====== Philosophical Oil may be made with * 7 bottles of mineral oil IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/guides:recipies:philosophical_oil -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 14:20:41 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 14:20:41 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: guides:alchemy:recipies:philosophical_oil Message-ID: <1164399641.029470.4405.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 14:20 User : techolous Edit Summary: moved ====== Philosophical Oil ====== Philosophical Oil may be made with * 7 bottles of mineral oil IP-Address : 72.88.35.213 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/guides:alchemy:recipies:philosophical_oil -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 15:27:28 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 15:27:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: great_heliograph Message-ID: <1164403648.257430.4508.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 15:27 User : lauwenmark Edit Summary: created ====== The Great Heliograph ====== A device made by Mer'Eric the Walker. Built on the highest point of the Brestian Hills, it is basically a giant magnifying glass, using a complex mechanism commanding several mirrors, that is able to concentrate the sunlight into a powerful beam. The concentrator is associated to a Sun Stone that can receive similar long-range light signals and transform them into pure thaumic energy. A keyboard is attached to a mechanical obturator, allowing a single operator to send coded messages to very long distances. A magically-powered scriptor writes any such incoming message capted by the Sun Stone. Although Mer'Eric only saw the Great Heliograph as a research project and as a way to communicate easily across huge distances, this device is also a powerful weapon that can burn nearly anything several miles away. This is probably why he decided to hide it in a sealed cave. A similar device was built by the Mad Mage of Scorn, but its fate is unknown. IP-Address : 80.201.185.13 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/great_heliograph -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 15:32:35 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 15:32:35 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: ottarakans Message-ID: <1164403955.257742.4517.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 15:32 User : lauwenmark Edit Summary: created ====== Ottarakans ====== "The Infinite Blue" - this is the name of the ocean that extends west to the Old World. Its actual size is not known, as nobody ever succeeded to cross it. Ottarakans is also the name of the Old Woman of the Water, an ancient deity of Khelens, that is the symbol of endless patience and of the tranquility one feels after dying. IP-Address : 80.201.185.13 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/ottarakans -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 17:09:31 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 17:09:31 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164409771.802638.4673.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 17:09 User : leaf Edit Summary: Updated info in regards Nethack and the Mazes of Menace @@ -19,9 +19,9 @@ * mainfloor, drop x for a forge * mainfloor, drop x for a message board * mainfloor, drop x for stove * secondfloor, drop 20 amulets of Lifesaving for a portal to ? - * This is probably for the "nethack in crossfire" maps, just as in current guilds. + * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, drop x for Jewelers room * secondfloor, drop x for Thaumaturgy room IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164347385 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 17:10:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 17:10:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164409848.400869.4682.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 17:10 User : leaf Edit Summary: Added one feature that has been tested @@ -7,9 +7,11 @@ Here's a summary of what features are available, but listed as what works and what does not work. ==== What Works ==== - Not fully tested + * secondfloor, drop 20 amulets of Lifesaving for a portal to the Mazes of Menace + * Two entrances appear for some reason though + * Other areas have not been tested ==== Incomplete ==== "Broken Altars" - it appears that it has been undecided on what exactly should be used or dropped to gain access to the following: IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164409769 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 17:47:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 17:47:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164412029.535526.4739.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 17:47 User : leaf Edit Summary: More information on what has been tested and is working @@ -9,8 +9,14 @@ ==== What Works ==== * secondfloor, drop 20 amulets of Lifesaving for a portal to the Mazes of Menace * Two entrances appear for some reason though + * mainfloor, drop 1000 platinum for a silver to gold converter + * mainfloor, drop 1000 platinum for a gold to platinum converter + * mainfloor, drop 1000 platinum coins for a platinum to gold converter + * mainfloor, drop 5000 Platinum for a portal to Scorn + * mainfloor, drop 1000 diamonds for a portal to Brest + * mainfloor, drop 5000 pearls for a portal to Santo Dominion * Other areas have not been tested ==== Incomplete ==== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164409846 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:02:44 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:02:44 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164412964.940035.4760.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:02 User : leaf Edit Summary: Listing more areas that have been tested and work @@ -15,8 +15,10 @@ * mainfloor, drop 1000 platinum coins for a platinum to gold converter * mainfloor, drop 5000 Platinum for a portal to Scorn * mainfloor, drop 1000 diamonds for a portal to Brest * mainfloor, drop 5000 pearls for a portal to Santo Dominion + * guild_HQ, 'sayGM Message board + * mainfloor, Kennel token * Other areas have not been tested ==== Incomplete ==== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164412028 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:05:33 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:05:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164413133.537172.4769.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:05 User : leaf Edit Summary: Updated with more functions that are not working @@ -28,8 +28,10 @@ * mainfloor, drop x for basement stairs * mainfloor, drop x for a forge * mainfloor, drop x for a message board * mainfloor, drop x for stove + * mainfloor, Toolshed Token (found in Guild_HQ) + * mainfloor, Garden Token (found in Guild_HQ) * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164412963 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:21:39 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:21:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164414099.797798.4801.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:21 User : leaf Edit Summary: Test results for the religion altars in the basement - they all work @@ -15,10 +15,20 @@ * mainfloor, drop 1000 platinum coins for a platinum to gold converter * mainfloor, drop 5000 Platinum for a portal to Scorn * mainfloor, drop 1000 diamonds for a portal to Brest * mainfloor, drop 5000 pearls for a portal to Santo Dominion - * guild_HQ, 'sayGM Message board * mainfloor, Kennel token + * guild_HQ, 'sayGM Message board + * basement, drop 25 potions of fire resistance for an altar of Ixalovh + * basement, drop 25 potions of cold resistance for an altar of Gorokh + * basement, drop 50 pixie wings for an altar of Gnarg + * basement, drop 3 Bonecrushers for an altar of Mostrai + * basement, drop 15 healing potions for an altar of Gaea + * basement, drop 14 Elven Bows for an altar of Lythander + * basement, drop 6 mjoellnirs for an altar of Sorig + * basement, drop 5 Demonbanes for an altar to Valriel + * basement, drop 5 Firebrands for an altar of Ruggilli + * basement, drop 5 Frostbrands for an altar to Devourers * Other areas have not been tested ==== Incomplete ==== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164413132 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:22:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:22:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164414150.208057.4804.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:22 User : leaf Edit Summary: Suggest adding an altar for Valkyrie in the basement map @@ -51,5 +51,6 @@ * Other areas untested ==== New or Suggested Features and Ideas ==== - Please add your suggestion here + * Add an altar for Valkyrie in the basement map + * Please add your suggestion here IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164414097 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:28:54 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:28:54 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164414534.260135.4813.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:28 User : leaf Edit Summary: Noted problem with bigchest @@ -47,10 +47,12 @@ * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, drop x for Jewelers room * secondfloor, drop x for Thaumaturgy room * basement, drop 10 gold coins (for what?) + * basement, dropping the Firestar named fearless allows access to BigChest, but I suspect that the drop location of the chest is not as intended because the player is in the way + * bigchest, one you enter the chest the exit back to the basement is broken ("closed") * Other areas untested ==== New or Suggested Features and Ideas ==== * Add an altar for Valkyrie in the basement map * Please add your suggestion here IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164414148 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:31:15 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:31:15 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164414675.159329.4822.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:31 User : leaf Edit Summary: Obtaining Big Chest works (exit inside the map is broken though and noted earlier on the wiki) @@ -27,8 +27,9 @@ * basement, drop 6 mjoellnirs for an altar of Sorig * basement, drop 5 Demonbanes for an altar to Valriel * basement, drop 5 Firebrands for an altar of Ruggilli * basement, drop 5 Frostbrands for an altar to Devourers + * basement, drop a Firestar named Fearless for the Big Chest * Other areas have not been tested ==== Incomplete ==== IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164414531 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:39:59 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:39:59 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164415199.546717.4840.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:39 User : leaf Edit Summary: More updates on what works @@ -15,8 +15,10 @@ * mainfloor, drop 1000 platinum coins for a platinum to gold converter * mainfloor, drop 5000 Platinum for a portal to Scorn * mainfloor, drop 1000 diamonds for a portal to Brest * mainfloor, drop 5000 pearls for a portal to Santo Dominion + * mainfloor, drop 2 dragon mail for a portal to Navar + * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal (works, but is asking for the wrong item/material) * mainfloor, Kennel token * guild_HQ, 'sayGM Message board * basement, drop 25 potions of fire resistance for an altar of Ixalovh * basement, drop 25 potions of cold resistance for an altar of Gorokh IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164414674 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:49:03 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:49:03 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164415743.221526.4855.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:49 User : leaf Edit Summary: Noted problem with the Pupland Terminal portal @@ -43,8 +43,9 @@ * mainfloor, drop x for a message board * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) * mainfloor, Garden Token (found in Guild_HQ) + * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal - requires bolt_silk instead of tissue paper * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164415197 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 18:50:47 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 18:50:47 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164415847.325644.4864.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 18:50 User : leaf Edit Summary: More details on what portals work @@ -17,8 +17,10 @@ * mainfloor, drop 1000 diamonds for a portal to Brest * mainfloor, drop 5000 pearls for a portal to Santo Dominion * mainfloor, drop 2 dragon mail for a portal to Navar * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal (works, but is asking for the wrong item/material) + * mainfloor, drop a shootingstar for a portal to Nurnberg + * mainlfoor, drop an Unholy Bow for a portal to Ancient Pupland * mainfloor, Kennel token * guild_HQ, 'sayGM Message board * basement, drop 25 potions of fire resistance for an altar of Ixalovh * basement, drop 25 potions of cold resistance for an altar of Gorokh IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164415741 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 19:20:08 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 19:20:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164417608.624828.4915.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 19:20 User : leaf Edit Summary: Updated information on the ToolShed Token altar and the additional problems associated with it @@ -44,8 +44,10 @@ * mainfloor, drop x for a forge * mainfloor, drop x for a message board * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) + * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) + * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden * mainfloor, Garden Token (found in Guild_HQ) * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal - requires bolt_silk instead of tissue paper * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164415846 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 19:22:27 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 19:22:27 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164417747.482391.4918.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 19:22 User : leaf Edit Summary: Documenting more problems - kennel stairs disappeared @@ -46,8 +46,9 @@ * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden + * Another problem - the stair way to the Kennel does disappear (not hidden, it's gone) * mainfloor, Garden Token (found in Guild_HQ) * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal - requires bolt_silk instead of tissue paper * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) IP-Address : 65.193.16.100 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164417606 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 22:47:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 22:47:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:quest_management_system Message-ID: <1164430029.339774.5246.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 22:47 User : rednaxela Edit Summary: Use wiki bullets @@ -21,35 +21,35 @@ events (for instance follow player movement to know if they do what is required to complete a task). It would also keep, for each player, quest status, and such. - Advantages I see:\\ - * quest's information is in one file, it's easy to see globally how it works, + Advantages I see: + * quest's information is in one file, it's easy to see globally how it works, versus today's dispatched in maps, making it hard to look at, and check - whether it's broken or not\\ - * as a correlary, adding/turning off a quest means moving one file (or a - directory)\\ - * it wouldn't not rely on the hacks i did for the first basic quest system. I - don't really like'em anyway :) \\ - * we can think of DM commands to look at quests, know what quest a player did, - reset quest status. Maybe even dynamically alter quests! *g* \\ - * we can add a quest editor, probably included in the map one :) \\ + whether it's broken or not + * as a correlary, adding/turning off a quest means moving one file (or a + directory) + * it wouldn't not rely on the hacks i did for the first basic quest system. I + don't really like'em anyway :) + * we can think of DM commands to look at quests, know what quest a player did, + reset quest status. Maybe even dynamically alter quests! *g* + * we can add a quest editor, probably included in the map one :) - Drawbacks, opened questions:\\ - * one could change a map without updating a quest, thus it could be become + Drawbacks, opened questions: + * one could change a map without updating a quest, thus it could be become broken - server should try to handle that graciously, and report it in any - case \\ - * to have a really powerful quest system, and fun transitions (from bashing a + case + * to have a really powerful quest system, and fun transitions (from bashing a specific monster to having 3 players do a special dance at a certain time), the conditions / transitions will require a full scripting language. So either reuse an existing one (Python, maybe? Or LUA? Or anything else?), or make our own - I'd favor reusing existing one, to avoid making Yet Another Script Language. Though of course if we use Python the Python plugin would - become mandatory.\\ - * this quest system could be done either at server's core level, or as a + become mandatory. + * this quest system could be done either at server's core level, or as a plugin. Last option would require some changes in plugin architecture (basically move plugin handling from server part to common lib part, to add - hooks at a basic level. Also add interplugin communication).\\ - * tracking player behaviour could be resource intensive - that will need - testing and addressing if required :) \\ + hooks at a basic level. Also add interplugin communication). + * tracking player behaviour could be resource intensive - that will need + testing and addressing if required :) ---- IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:quest_management_system?rev=1158503865 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:quest_management_system -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri Nov 24 22:48:55 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 24 Nov 2006 22:48:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:quest_management_system Message-ID: <1164430135.395476.5249.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/24 22:48 User : rednaxela Edit Summary: Fix newlines @@ -22,34 +22,17 @@ required to complete a task). It would also keep, for each player, quest status, and such. Advantages I see: - * quest's information is in one file, it's easy to see globally how it works, - versus today's dispatched in maps, making it hard to look at, and check - whether it's broken or not - * as a correlary, adding/turning off a quest means moving one file (or a - directory) - * it wouldn't not rely on the hacks i did for the first basic quest system. I - don't really like'em anyway :) - * we can think of DM commands to look at quests, know what quest a player did, - reset quest status. Maybe even dynamically alter quests! *g* + * quest's information is in one file, it's easy to see globally how it works, versus today's dispatched in maps, making it hard to look at, and check whether it's broken or not + * as a correlary, adding/turning off a quest means moving one file (or a directory) + * it wouldn't not rely on the hacks i did for the first basic quest system. I don't really like'em anyway :) + * we can think of DM commands to look at quests, know what quest a player did, reset quest status. Maybe even dynamically alter quests! *g* * we can add a quest editor, probably included in the map one :) Drawbacks, opened questions: - * one could change a map without updating a quest, thus it could be become - broken - server should try to handle that graciously, and report it in any - case - * to have a really powerful quest system, and fun transitions (from bashing a - specific monster to having 3 players do a special dance at a certain time), - the conditions / transitions will require a full scripting language. So - either reuse an existing one (Python, maybe? Or LUA? Or anything else?), or - make our own - I'd favor reusing existing one, to avoid making Yet Another - Script Language. Though of course if we use Python the Python plugin would - become mandatory. - * this quest system could be done either at server's core level, or as a - plugin. Last option would require some changes in plugin architecture - (basically move plugin handling from server part to common lib part, to add - hooks at a basic level. Also add interplugin communication). - * tracking player behaviour could be resource intensive - that will need - testing and addressing if required :) + * one could change a map without updating a quest, thus it could be become broken - server should try to handle that graciously, and report it in any case + * to have a really powerful quest system, and fun transitions (from bashing a specific monster to having 3 players do a special dance at a certain time), the conditions / transitions will require a full scripting language. So either reuse an existing one (Python, maybe? Or LUA? Or anything else?), or make our own - I'd favor reusing existing one, to avoid making Yet Another Script Language. Though of course if we use Python the Python plugin would become mandatory. + * this quest system could be done either at server's core level, or as a plugin. Last option would require some changes in plugin architecture (basically move plugin handling from server part to common lib part, to add hooks at a basic level. Also add interplugin communication). + * tracking player behaviour could be resource intensive - that will need testing and addressing if required :) ---- IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:quest_management_system?rev=1164430027 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:quest_management_system -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 16:25:42 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 16:25:42 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides Message-ID: <1164493542.661533.7102.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 16:25 User : leaf Edit Summary: New page, Map-making Guide (by Andi Vogel and from MiDS site) @@ -77,8 +77,9 @@ * [[Custom Item Creation]] - Information and guidelines about creating custom items. * [[Item Type Guide]] - Information about how different types and attributes affect objects. * [[Map Scale]] - A note about the scale of maps + * [[Map-Making Guide]] - Notes, details and suggestions on making maps ==== Code ==== Documentation on the code and coding. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/guides?rev=1164398807 New Revision: http://wiki.metalforge.net/doku.php/guides -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 16:42:21 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 16:42:21 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: map-making_guide Message-ID: <1164494541.867659.7133.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 16:42 User : leaf Edit Summary: Initial import and incremental save of Map-Making Guide ====== Map-Making Guide ====== ===== Introduction ===== ==== General notes about objects and map-making ==== === What is an "object"? === Objects are the "atoms" that build the crossfire game. Every item that can be seen or picked up by the player is an object. There are many more objects not visible to the players, fullfilling various kinds of functionalities. Weapons, floors, walls, monsters... those are all objects. Note that there is one big "object"-datastructure, containing a huge list of attributes. The attributes differ, but the structure is the same for all objects. === What is an "arch"? === Arches are predefined objects. They save you the hassle of writing all the common objects from scratch. There are predefined arches for food, doors, walls, monsters.. almost *anything*. In crossedit you can pick any given arch from the pickmap in the main window. So, now you might ask yourself: "What the heck is the real difference between arch and object?". Well, arches are only "suggestions" for certain objects in crossfire. Take the "goblin" arch for example: Goblins in CF are commonly known as small greenish monsters. But maybe, on a certain map, you want to create a goblin that is stronger than normal. You can do so by increasing the goblins strenght, and probably you'll want to change its name too. Now you have an object that is no longer identical to its original arch. But there is still a strong relation to this original goblin arch. We call this relation "archetype". The modified goblin is an object of "archetype goblin". (Note that the expressions "arch" and "archetype" have almost identical meaning and thus very often get mixed up). === What is an "attribute" of an object? === In crossedit: Put a goblin somewhere on a map. Open the attribute window and press "Dump". Now you should see a list: "arch goblin name goblin race goblin face goblin.111 animation goblin Wis 10 hp 6 ..." Every line contains an attribute of this goblin object. "face", "name", "hp"... those are all attribues. There are HEAPS of attributes. And to make things even worse: they usually have different meanings for different object-types. Knowing about all the attributes is the key for creating cool maps. The main purpose of this tutorial is to explain every attribute out there, in any kind of functionality. === What is a "map-mechanism"? === Okay, I made this word up. What I mean with "map-mechanism" is creating "special effects", usually with combinations of buttons/levers/altars, gates/boulders, creators.. etc. The player pulls a lever and one gate out of three opens at random. That is what I call a map-mechanism. === What is an "NPC"? === NPC means "Non Player Character". That are typically friendly guys hanging around in towns, willing to talk to you or help you in other forms. Like in most roleplay games, these folks are commonly used in Crossfire to provide the player with information about quests. ==== Object types - Adding functionality to an object ==== The most important attribute of an object is the "type" (a number from 1-159). The object-type determines the "purpose" of the object, the object's "functionality". Is it eatable? is it a teleporter? a rune? a key? This is set by the type of the object. Very important: The ARCHETYPE DOES NOT AFFECT the PURPOSE of an object! I can take the food arch and make it work as teleporter, by setting "type 41". I can also take a teleporter- or door arch and make it eatable by setting "type 6". In chapter 2. there is a list of all types that are involved in map-making. Descriptions of their most important attributes and how to use them. For creating simple maps, you can use the predefined arches mostly as they are. But when you want to make some really cool maps, there is no other way but to read chapter 2. carefully. ==== Commonly used attributes ==== The following attributes are used for many different object-types: (These are only mentioned here, not in the detailed list of object-types later. Apply them to all objects where they make any "sense".) * "name ": will be the name of the object, displayed to the player. * "title ": will be an object's title. Once the object is identified the title is attached to the name. Typical titels are "of mostrai", "of xray vision" etc. * "face <name_of_face>" selects the picture displayed for the object. Look through the arches to get an idea of existing faces. * "nrof <number>" determines the number of objects in one stack (for example: 100 goldcoins => "nrof 100"). You should set at least "nrof 1" for any pickable object, otherwise it won't be mergeable! * "weight <gramm>" makes an object weight <gramm> gramm (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). * "value <num>" adds a certain value to the object: It will be worth <num> times the default value from it's archetype. Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. * "material [[<number>]]": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelyhood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials [[here.]] * "msg <text> endmsg": <text> is the "story" or description of the object (for the players). This should work for all pickable items in some way. For other object-types (living creatures/magic mouth..) this message has special meanings. In crossedit you can write this kind of message into the big text-frame in an object's attribute window. Add stories to all the special artifacts you create! * "invisible 1" 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, but, in some cases, might cause malfunction to the object. You may find more detailed info about this matter in the description of the affected object types. IP-Address : 65.165.40.73 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 16:52:23 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 16:52:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164495143.327630.7148.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 16:52 User : leaf Edit Summary: Incremental save @@ -56,9 +56,42 @@ * "face <name_of_face>" selects the picture displayed for the object. Look through the arches to get an idea of existing faces. * "nrof <number>" determines the number of objects in one stack (for example: 100 goldcoins => "nrof 100"). You should set at least "nrof 1" for any pickable object, otherwise it won't be mergeable! * "weight <gramm>" makes an object weight <gramm> gramm (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). * "value <num>" adds a certain value to the object: It will be worth <num> times the default value from it's archetype. Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. - * "material [[<number>]]": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelyhood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials [[here.]] + * "material <number>": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelyhood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials here. * "msg <text> endmsg": <text> is the "story" or description of the object (for the players). This should work for all pickable items in some way. For other object-types (living creatures/magic mouth..) this message has special meanings. In crossedit you can write this kind of message into the big text-frame in an object's attribute window. Add stories to all the special artifacts you create! * "invisible 1" 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, but, in some cases, might cause malfunction to the object. You may find more detailed info about this matter in the description of the affected object types. + ==== List of object types, their attributes and functionality: ==== + + === type 0: misc === + + Type 0 means: The object has no special functionality. + This usually applies for walls, floors and monsters. + + == floors: == + + * "is_floor 1" marks the object as floor. Any objects below will be invisible to the player. Never use a partly transparent pic for an object with is_floor! Every square visible to the player should contain a floor. Don't forget to put floors below walls and monsters! + * "no_pick 1" should be set for all floors. Prevents the player from picking the floor up. + * "unique 1": If this attribute is set to a floor tile, this square is treated as a "unique map". That means this part of the map doesn't get resetted like normal maps. Thus, when a player drops items to this square, they'll stay there forever, unless picked up again. + All the unique and permanent apartments have this flag set to every floor tile. + + == walls: == + + * "blocksview 1" makes the wall blocking a player's view. Keep in mind that the player might still be able to look behind it with xrays. If neccessary, make the wall two squares wide for perfect blocking view. It is very bad style when a player can see map-mechanisms with xray. If using a wall with "blocksview 0" (like fence/gates), be aware that the player can jump through it via dimension door. You must set "no_magic 1" and "damned 1" to prevent this. + * "no_pass 1" makes the wall non-passable. The player cannot walk through. You can create a secret passage by setting "no_pass 0" (and "no_pick 1"). Remember to put a hint somewhere so the player can find that spot! A huge room with a secret passage and no hint, that SUUUCKS. + * "tear_down 1", "alive 1", "hp/maxhp/level > 0" and some animation: This creates another form of secret passage - The break-away-walls. + + == monsters/ NPCs: == + + * "alive 1" and "monster 1" turns an object into a basic monster: It blocks the way, (per default) attacks the player and usually it can be killed. + * "unaggressive 1" makes the monster stand still, not attacking the player until being attacked first. Should not be used for NPCs since the chance for accidentally kiling an unaggressive creature is rather high. + * "friendly 1" should be used for all NPCs. When set to peaceful mode, a player won't attack such an NPC but push him instead. However, it is still possible to kill it. If your NPC plays a very important role in a quest, it might be useful to set immunity to all attacktypes (see "resist_<attacktype> <number>"). + * "Pow <number>": If the creature can cast spells, this is how many spell points are regenerated each move. + * "Con <number>": Monsters regenerate this many hit points each move. This is each time the monster has a move (same for Pow). So two monsters with the same Con can regenerate at different rates if their speeds are different. + * "Wis <number>": Determines how close a player needs to be before the creature wakes up. This is done as a square, for reasons of speed. Thus, if the wisdom is 11, any player that moves within the 11x11 square of the monster will wake the monster up. If the player has stealth, the size of this square is reduced in half plus 1. + * "hp > 0": The monster's hitpoints + * "maxhp > 0": The monsters maximum hitpoints (very important since most monsters regenerate hp fast). + * "resist_<attacktype> <number>" rises the monster's resistance from <attacktype> by <number> percent. 100 means perfect immunity. When set to -100, the monster will receive double damage from this attacktype. + * "attacktype <[[number]]>": the bitmask <number> determines the monster's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read the details about attacktypes [[here]]. + * "exp <value>" defines the amount of experience a player will get for killing the monster. You should be very careful with setting exp values. Take a good look at existing arches and try to adopt the "overall power/exp"-ratio of monsters. Note that non-spellcasting monsters in general are *much* easier to kill, thus deserve lower exp. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164494539 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 16:56:49 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 16:56:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164495409.061137.7157.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 16:56 User : rednaxela Edit Summary: spelling fixes @@ -5,16 +5,16 @@ ==== General notes about objects and map-making ==== === What is an "object"? === - Objects are the "atoms" that build the crossfire game. Every item that can be seen or picked up by the player is an object. There are many more objects not visible to the players, fullfilling various kinds of functionalities. Weapons, floors, walls, monsters... those are all objects. Note that there is one big "object"-datastructure, containing a huge list of attributes. The attributes differ, but the structure is the same for all objects. + Objects are the "atoms" that build the crossfire game. Every item that can be seen or picked up by the player is an object. There are many more objects not visible to the players, fulfilling various kinds of functionalities. Weapons, floors, walls, monsters... those are all objects. Note that there is one big "object"-datastructure, containing a huge list of attributes. The attributes differ, but the structure is the same for all objects. === What is an "arch"? === Arches are predefined objects. They save you the hassle of writing all the common objects from scratch. There are predefined arches for food, doors, walls, monsters.. almost *anything*. In crossedit you can pick any given arch from the pickmap in the main window. So, now you might ask yourself: "What the heck is the - real difference between arch and object?". Well, arches are only "suggestions" for certain objects in crossfire. Take the "goblin" arch for example: Goblins in CF are commonly known as small greenish monsters. But maybe, on a certain map, you want to create a goblin that is stronger than normal. You can do so by increasing the goblins strenght, and probably you'll want to change its name too. Now you have an object that is no longer identical to its original arch. But there is still a strong relation to this original goblin arch. We call this relation "archetype". The modified goblin is an object of "archetype goblin". (Note that the expressions "arch" and "archetype" have almost identical meaning and thus very often get mixed up). + real difference between arch and object?". Well, arches are only "suggestions" for certain objects in crossfire. Take the "goblin" arch for example: Goblins in CF are commonly known as small greenish monsters. But maybe, on a certain map, you want to create a goblin that is stronger than normal. You can do so by increasing the goblins strength, and probably you'll want to change its name too. Now you have an object that is no longer identical to its original arch. But there is still a strong relation to this original goblin arch. We call this relation "archetype". The modified goblin is an object of "archetype goblin". (Note that the expressions "arch" and "archetype" have almost identical meaning and thus very often get mixed up). === What is an "attribute" of an object? === In crossedit: Put a goblin somewhere on a map. Open the attribute window and press "Dump". Now you should see a list: @@ -25,9 +25,9 @@ animation goblin Wis 10 hp 6 ..." - Every line contains an attribute of this goblin object. "face", "name", "hp"... those are all attribues. There are HEAPS of attributes. And to make things even worse: they usually have different meanings for different object-types. + Every line contains an attribute of this goblin object. "face", "name", "hp"... those are all attributes. There are HEAPS of attributes. And to make things even worse: they usually have different meanings for different object-types. Knowing about all the attributes is the key for creating cool maps. The main purpose of this tutorial is to explain every attribute out there, in any kind of functionality. === What is a "map-mechanism"? === @@ -51,14 +51,14 @@ The following attributes are used for many different object-types: (These are only mentioned here, not in the detailed list of object-types later. Apply them to all objects where they make any "sense".) * "name <name>": <name> will be the name of the object, displayed to the player. - * "title <title>": will be an object's title. Once the object is identified the title is attached to the name. Typical titels are "of mostrai", "of xray vision" etc. + * "title <title>": will be an object's title. Once the object is identified the title is attached to the name. Typical titles are "of mostrai", "of xray vision" etc. * "face <name_of_face>" selects the picture displayed for the object. Look through the arches to get an idea of existing faces. * "nrof <number>" determines the number of objects in one stack (for example: 100 goldcoins => "nrof 100"). You should set at least "nrof 1" for any pickable object, otherwise it won't be mergeable! - * "weight <gramm>" makes an object weight <gramm> gramm (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). + * "weight <grams>" makes an object weight <grams> grams (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). * "value <num>" adds a certain value to the object: It will be worth <num> times the default value from it's archetype. Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. - * "material <number>": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelyhood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials here. + * "material <number>": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelihood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials here. * "msg <text> endmsg": <text> is the "story" or description of the object (for the players). This should work for all pickable items in some way. For other object-types (living creatures/magic mouth..) this message has special meanings. In crossedit you can write this kind of message into the big text-frame in an object's attribute window. Add stories to all the special artifacts you create! * "invisible 1" 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, but, in some cases, might cause malfunction to the object. You may find more detailed info about this matter in the description of the affected object types. ==== List of object types, their attributes and functionality: ==== @@ -76,16 +76,16 @@ All the unique and permanent apartments have this flag set to every floor tile. == walls: == - * "blocksview 1" makes the wall blocking a player's view. Keep in mind that the player might still be able to look behind it with xrays. If neccessary, make the wall two squares wide for perfect blocking view. It is very bad style when a player can see map-mechanisms with xray. If using a wall with "blocksview 0" (like fence/gates), be aware that the player can jump through it via dimension door. You must set "no_magic 1" and "damned 1" to prevent this. + * "blocksview 1" makes the wall blocking a player's view. Keep in mind that the player might still be able to look behind it with xrays. If necessary, make the wall two squares wide for perfect blocking view. It is very bad style when a player can see map-mechanisms with xray. If using a wall with "blocksview 0" (like fence/gates), be aware that the player can jump through it via dimension door. You must set "no_magic 1" and "damned 1" to prevent this. * "no_pass 1" makes the wall non-passable. The player cannot walk through. You can create a secret passage by setting "no_pass 0" (and "no_pick 1"). Remember to put a hint somewhere so the player can find that spot! A huge room with a secret passage and no hint, that SUUUCKS. * "tear_down 1", "alive 1", "hp/maxhp/level > 0" and some animation: This creates another form of secret passage - The break-away-walls. == monsters/ NPCs: == * "alive 1" and "monster 1" turns an object into a basic monster: It blocks the way, (per default) attacks the player and usually it can be killed. - * "unaggressive 1" makes the monster stand still, not attacking the player until being attacked first. Should not be used for NPCs since the chance for accidentally kiling an unaggressive creature is rather high. + * "unaggressive 1" makes the monster stand still, not attacking the player until being attacked first. Should not be used for NPCs since the chance for accidentally killing an unaggressive creature is rather high. * "friendly 1" should be used for all NPCs. When set to peaceful mode, a player won't attack such an NPC but push him instead. However, it is still possible to kill it. If your NPC plays a very important role in a quest, it might be useful to set immunity to all attacktypes (see "resist_<attacktype> <number>"). * "Pow <number>": If the creature can cast spells, this is how many spell points are regenerated each move. * "Con <number>": Monsters regenerate this many hit points each move. This is each time the monster has a move (same for Pow). So two monsters with the same Con can regenerate at different rates if their speeds are different. * "Wis <number>": Determines how close a player needs to be before the creature wakes up. This is done as a square, for reasons of speed. Thus, if the wisdom is 11, any player that moves within the 11x11 square of the monster will wake the monster up. If the player has stealth, the size of this square is reduced in half plus 1. IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164495140 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:08:19 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:08:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164496099.726731.7172.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:08 User : leaf Edit Summary: Incremental save @@ -93,5 +93,29 @@ * "maxhp > 0": The monsters maximum hitpoints (very important since most monsters regenerate hp fast). * "resist_<attacktype> <number>" rises the monster's resistance from <attacktype> by <number> percent. 100 means perfect immunity. When set to -100, the monster will receive double damage from this attacktype. * "attacktype <[[number]]>": the bitmask <number> determines the monster's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read the details about attacktypes [[here]]. * "exp <value>" defines the amount of experience a player will get for killing the monster. You should be very careful with setting exp values. Take a good look at existing arches and try to adopt the "overall power/exp"-ratio of monsters. Note that non-spellcasting monsters in general are *much* easier to kill, thus deserve lower exp. + + === type 3: Rod === + + Functionality of rods: + A rod contains a spell. The player can use this spell by applying and fireing the rod. Rods need time to regenerate their "internal" spellpoints, lowering the effectiveness in combat. But unlike wands/scrolls, rods can be used endlessly. + + * "sp <[[spellnumber]]>" sets the spell of the rod. A list of all spellnumbers can be viewed [[here]]. Consider twice before handing out special rods to players, since they can be used endlessly without any mana cost! Rods with heal/ restoration/ protection spells, IF available, MUST be very very VERY hard to get! + * "level <number>" is the casting level for the spell of that rod. For attack spells, level should be set to something reasonable. + * "hp <number>" is the initial amount of spellpoints in the rod. + * "maxhp <number>": <number> is the maximum amount of spellpoints the rod can hold. Make sure it is enough to cast the contained spell at least once. But don't set the value too high, that would make the rod too effective. + + see also: [[horn]] (35), [[wand]] (109) + + === type 4: Treasure === + + Functionality of treasure: A treasure-object turns into certain randomitems when the map is loaded into the game. + + * "randomitems <treasurelist>" determines what kind of treasure will appear. Look into /crossfire/share/crossfire/treasures for details about existing treasurelists. + * "auto_apply 1" must be set in order to have the treasure be created when the map is loaded. If you want to create a random treasure chest, you set "auto_apply 0". That way, the player has to apply the object (the chest), then the treasure is generated. + * "hp <number>": <number> pieces of the given treasurelist will appear. Note that for every piece there is a chance that nothing is generated. Also, sometimes there can be stacks of items generated, like for gems/money. (Setting "nrof" for treasure - objects doesn't have any effect!) + + About usage of the random-artifact treasurelist: + This will generate powerful stuff like girdles, xray helmets, special swords etc. If you put this as reward to your quest, players might be motivated to do it more than once. BUT, by doing so they will get a huge number of different artifacts! Besides, players will always seek the place with the most easy-to-get random artifact and ignore all others. My advice: Don't use it! Attract players with good fighting experience (from monsters), potions, spellbooks, money, and non-random artifacts. + IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164495406 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:12:51 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:12:51 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164496371.237366.7190.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:12 User : leaf Edit Summary: Copy the rest of the subheadings in @@ -117,5 +117,68 @@ About usage of the random-artifact treasurelist: This will generate powerful stuff like girdles, xray helmets, special swords etc. If you put this as reward to your quest, players might be motivated to do it more than once. BUT, by doing so they will get a huge number of different artifacts! Besides, players will always seek the place with the most easy-to-get random artifact and ignore all others. My advice: Don't use it! Attract players with good fighting experience (from monsters), potions, spellbooks, money, and non-random artifacts. + === type 5: potion === + + === type 6: food === + + === type 7: poison food === + + === type 8: books === + + === type 9: clock === + + === type 13: arrow/bolt === + + === type 14: shooting weapon=== + + === type 15: weapon === + + === type 16: (brestplate) armour === + + === type 17: pedestal=== + + === type 18: altar === + + === type 20: locked door=== + + === type 21: special key=== + + === type 29: magic ear === + + === type 31: altar_trigger === + + === type 40: mover === + + === type 41: teleporter === + + === type 42: creator === + + === type 51: detectors === + + === type 55: marker === + + === type 56: holy altar === + + === type 62: magic wall === + + === type 64: inventory checker === + + === type 65: mood floor === + + === type 66: exit === + + === type 85: spellbook === + + === type 98: sign/ magic mouth === + + === type 103: converter === + + === type 106: savebed === + + === type 109: wand/staff=== + + === type 122: container === + + === type 154: rune/trap == IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164496097 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:14:46 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:14:46 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164496486.255349.7193.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:14 User : leaf Edit Summary: added section for potions @@ -118,8 +118,18 @@ About usage of the random-artifact treasurelist: This will generate powerful stuff like girdles, xray helmets, special swords etc. If you put this as reward to your quest, players might be motivated to do it more than once. BUT, by doing so they will get a huge number of different artifacts! Besides, players will always seek the place with the most easy-to-get random artifact and ignore all others. My advice: Don't use it! Attract players with good fighting experience (from monsters), potions, spellbooks, money, and non-random artifacts. === type 5: potion === + + Functionality of potions: + The player can drink these and gain various kinds of benefits (/penalties) by doing so. + + * "level <number>": If the potion contains a spell, the spell is cast at level <number>. For other potions it should be set at least to 1. + * "cursed 1" generally turns benefits into penalties (see below). Note that potions can be "uncursed" by praying over an altar, with relative ease. *But* the potion must be identified to notice that it is cursed >:) + * "Str/Dex/Con/Int/Wis/Pow/Cha <num>" makes a stat-potion. The player's stat will rise/fall by value <num> for permanent (of course there is an upper limit). Generally there shouldn't be stat potions granting more than one stat. Cursed potions will subtract the stats if positive. + * "resist_<attacktype> <number>" makes a resistance potion. Resistance from <attacktype> by <number> percent. The effect is only temporare, and it does NOT add on the values from the player's equipment. Cursed potions will make negative resistance.. very nasty in combat! + * "sp <spellnum>": When a player drinks this potion, the spell of number <spellnum> will be casted (once). This should work for any given spell. Look for spellnumbers here. E.g. heal is "sp 35", magic power is "sp 67". + * "attacktype 1048576" makes an improvement potion. (I know, using attacktype for this is very ugly, bleah!!) If your potion is NOT supposed to be an improvement potion, leave attacktype zero. === type 6: food === === type 7: poison food === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164496368 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:17:23 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:17:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164496643.925788.7205.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:17 User : leaf Edit Summary: Adding section on/for food and poisonous food @@ -130,10 +130,20 @@ * "sp <spellnum>": When a player drinks this potion, the spell of number <spellnum> will be casted (once). This should work for any given spell. Look for spellnumbers here. E.g. heal is "sp 35", magic power is "sp 67". * "attacktype 1048576" makes an improvement potion. (I know, using attacktype for this is very ugly, bleah!!) If your potion is NOT supposed to be an improvement potion, leave attacktype zero. === type 6: food === + + Functionality of food: + By eating/drinking food-objects, the player can fill his stomache and gain a little health. + + * "food <number>": The player's stomache will get filled with <number> of foodpoints. The player's health will increase by <number>/50 hp. + + see also: [[flesh]] (72) === type 7: poison food === + + Functionality of poison food: + When eating, the player's stomache is drained by 1/4 of food. If his food drops to zero, the player might even die. === type 8: books === === type 9: clock === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164496483 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:21:26 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:21:26 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164496886.103931.7214.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:21 User : leaf Edit Summary: Imported sections for books, clock, arrow/bolt, shooting weapon @@ -144,14 +144,42 @@ Functionality of poison food: When eating, the player's stomache is drained by 1/4 of food. If his food drops to zero, the player might even die. === type 8: books === + + Functionality of books: + Applying a book, the containing message is displayed to the player. + + * "msg <text> endmsg": <text> is the text "written" in the book. + * "level <number>": If <number> is greater zero, the player needs a certain literacy level to succeed reading the book. The book can be read if: mental_level greater <number> - 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 booklevel at least below 15 because it is quite hard to gain high mental levels. + + see also: [[spellbook]] (85), [[sign]] (98), [[scroll]] (111) === type 9: clock === + + Functionality of clocks: + Applying a clock, the time is displayed to the player === type 13: arrow/bolt === - === type 14: shooting weapon=== + Functionality of arrows/bolts: + Arrows can be shot with bows, bolts with crossbows. They are usually weaker than melee but players can shoot from a safe distance. + + * "race <name>" should be set to either "race arrows" or "race crossbow bolts". If not, they won't work with bows/crossbows. + * "dam <number>" is the damage the projectile can inflict. + * "wc <number>": weapon-class bonus + * "attacktype <[[attack_num]]>": the bitmask <attack_num> determines the weapon's attacktypes. Read a more detailed description about attacktypes [[here]]. + * "food <number>" is the percentage chance of the projectile to break after hitting. "food 0" means it won't ever break, "food 100" means it will always break at first hit. + + === type 14: shooting weapon === + + Functionality of Shooting Weapons: + Bows can fire arrows, crossbows can fire bolts. You could also create your own pair of projectile & shooting weapon. When the "race"-attribute of both matches, it should work. + + * "race <name>" should be set to either "race arrows" or "race crossbow bolts". If not, they won't work with bows/crossbows. + * "sp <number>": After shooting a projectile, the player is frozen for a short period of time (to prevent shooting arrows machine-gun-like). The greater <number>, the shorter this period of time. "sp 1" means the player is frozen for a looong time. "sp 0" means the player is turned to stone forever. Nice, hum? =P + + see also: [[weapon]] (15) === type 15: weapon === === type 16: (brestplate) armour === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164496641 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:31:33 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:31:33 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164497493.125564.7229.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:31 User : leaf Edit Summary: Added notes on FIXME, imported section on weapon @@ -1,4 +1,6 @@ + FIXME - finish importing content from http://mids.student.utwente.nl/~avogl/map_guide/TOC.htm + ====== Map-Making Guide ====== ===== Introduction ===== @@ -180,8 +182,25 @@ see also: [[weapon]] (15) === type 15: weapon === + + Functionality of weapons: + Wielding a weapon, the object's stats will directly be inherited to the player. Usually enhancing his fighting-abilities. Non-magical weapons can be improved with scrolls. + + * "dam <number>" is the damage this weapon does per hit. <number> will add to the base damage of the player. + * "attacktype <[[attack_num]]>": the bitmask <attack_num> determines the weapon's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read a more detailed description about attacktypes [[here]]. Most artifact weapons have no more than one or two attacktypes. Keep in mind that all weapons can be blessed by the player's diety, thus adding an additional attacktype. When a player hits a monster with a weapon that has more than one attacktype, then he will do as much damage as the "best" of his attacktypes does. So, the more attacktypes you've got, the better your chance to take advantage of a monster's vulnerabilities. (Btw: Same rule applies for monster vs. player.). Attacktypes "magic" and "chaos" are somehow exceptions. + * "resist_<attacktype> <number>" adds resistance to the weapon. Resistance from <attacktype> by <number> percent. Treat this with CARE. Look at other maps and what they require to do for getting this-and-that artifact. + * "Str/Dex/Con/Int/Wis/Pow/Cha <number>": The wielder's stat(s) will rise/fall by value <number> for permanent. Again, don't mess around with this! Stats-bonus is very powerful. (Stat bonus does not mark a weapon being "magical") + * "slaying <race>": The weapon does tripple damage to monsters of this <race> cathegory. On the other hand, no god blessings are possible for such weapons. + * "last_sp <number>" determines the weapon-speed. The lower the faster, "last_sp 1" is best (that is lightning- fast). A typical average value is 8. Speed and damage should be kept in reasonable relation. + * "path_attuned/repelled/denied <[[spellpath]]>": This modifies the player's attunement to certain spellpaths. Attunes are more a matter of rings/amulets, while repells/denys are quite common. Remember that weapons are in general the barbarians' tools, not the wizards'. Read the details about spellpaths [[here]]. + * "wc <number>": weapon-class bonus + * "magical <number>" sets the weapon's magic bonus. It works just like wc, except that magic bonus can be improved by the gods or reduced by acid. Hence, it is less useful than direct wc on a weapon. + + General notes on artifacts (equipment) with stats- or resistance-bonus: + Keep playbalance in mind! Such items mustn't be reachable without hard fighting AND questing. + See "[[golden rules of map-making]]". === type 16: (brestplate) armour === === type 17: pedestal=== IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164496883 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:37:57 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:37:57 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164497877.296512.7238.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:37 User : rednaxela Edit Summary: Add note about multi-tile objects @@ -15,8 +15,10 @@ Arches are predefined objects. They save you the hassle of writing all the common objects from scratch. There are predefined arches for food, doors, walls, monsters.. almost *anything*. In crossedit you can pick any given arch from the pickmap in the main window. So, now you might ask yourself: "What the heck is the real difference between arch and object?". Well, arches are only "suggestions" for certain objects in crossfire. Take the "goblin" arch for example: Goblins in CF are commonly known as small greenish monsters. But maybe, on a certain map, you want to create a goblin that is stronger than normal. You can do so by increasing the goblins strength, and probably you'll want to change its name too. Now you have an object that is no longer identical to its original arch. But there is still a strong relation to this original goblin arch. We call this relation "archetype". The modified goblin is an object of "archetype goblin". (Note that the expressions "arch" and "archetype" have almost identical meaning and thus very often get mixed up). + + It should also be noted that there are limitations with multi-tile objects on how far one may diverge from the original arch. In maps one may never alter any attributes of the "tail" sections of the object or the size of a multi-tile object. === What is an "attribute" of an object? === In crossedit: Put a goblin somewhere on a map. Open the attribute window and press "Dump". Now you should see a list: IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164497489 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:44:14 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:44:14 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164498254.539401.7256.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:44 User : rednaxela Edit Summary: change "weight" to "weigh" @@ -58,9 +58,9 @@ * "name <name>": <name> will be the name of the object, displayed to the player. * "title <title>": will be an object's title. Once the object is identified the title is attached to the name. Typical titles are "of mostrai", "of xray vision" etc. * "face <name_of_face>" selects the picture displayed for the object. Look through the arches to get an idea of existing faces. * "nrof <number>" determines the number of objects in one stack (for example: 100 goldcoins => "nrof 100"). You should set at least "nrof 1" for any pickable object, otherwise it won't be mergeable! - * "weight <grams>" makes an object weight <grams> grams (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). + * "weight <grams>" makes an object weigh <grams> grams (1000g is 1kg). Objects with "weight 0" are not pickable for players. Still, set "no_pick 1" for explicitly non-pickable objects (hey, this is opensource.. you never know ;) ). * "value <num>" adds a certain value to the object: It will be worth <num> times the default value from it's archetype. Value for buying/selling will be further modified by various factors. Hence, testing values in-game is usually inevitable. * "material <number>": <number> is a bitmask, containing the information of what material the object is made of. An object's material affects its likelihood to get destroyed by certain hazards (fire/cold/acid..). Material 0 or 256 means the object cannot be destroyed at all (this is VERY important for special keys!). Read more about materials here. * "msg <text> endmsg": <text> is the "story" or description of the object (for the players). This should work for all pickable items in some way. For other object-types (living creatures/magic mouth..) this message has special meanings. In crossedit you can write this kind of message into the big text-frame in an object's attribute window. Add stories to all the special artifacts you create! * "invisible 1" 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, but, in some cases, might cause malfunction to the object. You may find more detailed info about this matter in the description of the affected object types. IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164497874 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 17:46:48 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 17:46:48 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164498408.008401.7265.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 17:46 User : rednaxela Edit Summary: spelling fixes @@ -136,18 +136,18 @@ === type 6: food === Functionality of food: - By eating/drinking food-objects, the player can fill his stomache and gain a little health. + By eating/drinking food-objects, the player can fill his stomach and gain a little health. - * "food <number>": The player's stomache will get filled with <number> of foodpoints. The player's health will increase by <number>/50 hp. + * "food <number>": The player's stomach will get filled with <number> of foodpoints. The player's health will increase by <number>/50 hp. see also: [[flesh]] (72) === type 7: poison food === Functionality of poison food: - When eating, the player's stomache is drained by 1/4 of food. If his food drops to zero, the player might even die. + When eating, the player's stomach is drained by 1/4 of food. If his food drops to zero, the player might even die. === type 8: books === Functionality of books: @@ -189,14 +189,14 @@ Functionality of weapons: Wielding a weapon, the object's stats will directly be inherited to the player. Usually enhancing his fighting-abilities. Non-magical weapons can be improved with scrolls. * "dam <number>" is the damage this weapon does per hit. <number> will add to the base damage of the player. - * "attacktype <[[attack_num]]>": the bitmask <attack_num> determines the weapon's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read a more detailed description about attacktypes [[here]]. Most artifact weapons have no more than one or two attacktypes. Keep in mind that all weapons can be blessed by the player's diety, thus adding an additional attacktype. When a player hits a monster with a weapon that has more than one attacktype, then he will do as much damage as the "best" of his attacktypes does. So, the more attacktypes you've got, the better your chance to take advantage of a monster's vulnerabilities. (Btw: Same rule applies for monster vs. player.). Attacktypes "magic" and "chaos" are somehow exceptions. + * "attacktype <[[attack_num]]>": the bitmask <attack_num> determines the weapon's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read a more detailed description about attacktypes [[here]]. Most artifact weapons have no more than one or two attacktypes. Keep in mind that all weapons can be blessed by the player's deity, thus adding an additional attacktype. When a player hits a monster with a weapon that has more than one attacktype, then he will do as much damage as the "best" of his attacktypes does. So, the more attacktypes you've got, the better your chance to take advantage of a monster's vulnerabilities. (Btw: Same rule applies for monster vs. player.). Attacktypes "magic" and "chaos" are somehow exceptions. * "resist_<attacktype> <number>" adds resistance to the weapon. Resistance from <attacktype> by <number> percent. Treat this with CARE. Look at other maps and what they require to do for getting this-and-that artifact. * "Str/Dex/Con/Int/Wis/Pow/Cha <number>": The wielder's stat(s) will rise/fall by value <number> for permanent. Again, don't mess around with this! Stats-bonus is very powerful. (Stat bonus does not mark a weapon being "magical") - * "slaying <race>": The weapon does tripple damage to monsters of this <race> cathegory. On the other hand, no god blessings are possible for such weapons. + * "slaying <race>": The weapon does triple damage to monsters of this <race> cathegory. On the other hand, no god blessings are possible for such weapons. * "last_sp <number>" determines the weapon-speed. The lower the faster, "last_sp 1" is best (that is lightning- fast). A typical average value is 8. Speed and damage should be kept in reasonable relation. - * "path_attuned/repelled/denied <[[spellpath]]>": This modifies the player's attunement to certain spellpaths. Attunes are more a matter of rings/amulets, while repells/denys are quite common. Remember that weapons are in general the barbarians' tools, not the wizards'. Read the details about spellpaths [[here]]. + * "path_attuned/repelled/denied <[[spellpath]]>": This modifies the player's attunement to certain spellpaths. Attunes are more a matter of rings/amulets, while repels/denies are quite common. Remember that weapons are in general the barbarians' tools, not the wizards'. Read the details about spellpaths [[here]]. * "wc <number>": weapon-class bonus * "magical <number>" sets the weapon's magic bonus. It works just like wc, except that magic bonus can be improved by the gods or reduced by acid. Hence, it is less useful than direct wc on a weapon. General notes on artifacts (equipment) with stats- or resistance-bonus: IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164498251 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 18:54:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 18:54:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164502492.610511.7367.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 18:54 User : leaf Edit Summary: Import brestplate armour, pedestal, altar, locked doors @@ -203,16 +203,68 @@ Keep playbalance in mind! Such items mustn't be reachable without hard fighting AND questing. See "[[golden rules of map-making]]". === type 16: (brestplate) armour === + + Functionality of armour: + Wearing an armour, the object's stats will directly be inherited to the player. Usually enhancing his defense. + + * "resist_<attacktype> <number>" adds resistance to the armour. Resistance from <attacktype> by <number> percent. "physical protection" (= armour) is referred to as resist_physical. + * "Str/Dex/Con/Int/Wis/Pow/Cha <number>": The wielder's stat(s) will rise/fall by value <number> for permanent. + * "path_attuned/repelled/denied <[[spellpath]]>": This modifies the player's attunement to certain spellpaths. + * "last_heal <number>" poses a penalty to spell regeneration speed, for wearing the armour. The bigger <number>, the worse. + * "last_sp <number>" reduces the player's walking speed when wearing the armour. The bigger <number>, the worse. + * "sp <number>" speeds up the players mana-regen. rate by <number>. (negative values reduce mana-regen). + * "ac <number>": armour-class bonus + * "magical <number>" sets the armour's magic bonus. It works just like ac, except that magic bonus can be improved by "scrolls of Enchant Armour" or reduced by acid. It is less useful than direct ac on the armour. + * "xrays 1" enables xray-vision for the player, while wearing this armour. + + see also: [[shield]] (33), [[helmet]] (34), [[amulet]] (39), [[ring]] (70), [[cloak]] (87), [[boots]] (99), [[gloves]] (100), [[bracers]] (104), [[girdle]] (113) + + These all work more or less exactly like brestplate armour. === type 17: pedestal=== + + Functionality of pedestals: + Pedestals are designed to detect certain types of living objects. When a predefined type of living creature steps on the pedestal, the connected value is triggered. + + * "slaying <race_type>" specifies the object we're looking for. If <race_type> 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 "slaying player" is set, any player stepping on the pedestal is a match. Very useful if you want to open a gate for players but not for monsters. + * "connected <connector_value>" defines the connector value to be activated when the pedestal is triggered. + * "walk_on 1", "walk_off 1" should both be set or it won't work. + + Notes on usage: + If you want to create a place where only players of a certain race can enter, put a [[teleporter]] over your pedestal. So the [[teleporter]] is only activated for players of the matching race. Do not use gates, because many other players could sneak in. If you put powerful artifacts into such places, generally set "startequip 1", so that they are preserved for that one race and can't be traded to others. + + see also: [[detector]] (51), [[inv. checker]] (64), [[altar]] (18) === type 18: altar === - === type 20: locked door=== + Functionality of altars: + When a player puts a defined number of certain items on the altar, then either a spell is casted (on the player) or a connector is triggered. If the latter is the case, the altar works only once. Either way, the sacrificed item dissapears. + + * "slaying <item_name>" specifies the item that must be put on the altar to activate it. <item_name> 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") + * "food <value>" is the amount of items (specified as above) that must be dropped to activate the altar. If "slaying money" is set, then the value of the sacrificed money must be equal to <value> (ie, if food=200, then 200 silver, 20 gold, or 4 platinum will all work.) Note that the maximum possible for <value> is 32767. + * "walk_on 1" must be set or it won't work. + * "connected <activate_num>": If <activate_num> is set, the altar will trigger all objects connected to it, when activated. This will only work once. + * "sp <[[spell_number]]>": When activated, the spell of number <spellnum> will be casted (once, on the player). This should work for any given spell. Look for spellnumbers [[here]]. The altar will work infinitly in this way. Don't set both "sp > 0" and "connected > 0" for one altar. + + see also: [[altar_trigger]] (31), [[holy altar]] (56) + + === type 20: locked door === + + Functionality of locked doors: + A locked door can be opened only when carrying the appropriate [[special key]]. + + * "slaying <unique_string>" must be identical with the slaying in the special key, then door is unlocked. It is VERY important to set <unique_string> to something that is unique among the CF mapset. DONT EVER USE the default string "set_individual_value". + * "msg <text> endmsg": When a player is trying to open the door without carrying the appropriate key, <text> is displayed to the player. This is a good opportunity to place hints about the special key needed to unlock the door. + * "no_magic 1", "damned 1" should always be set to prevent players passing through the door by dimension door spell. + + Notes on usage: + If you want to create a locked door that cannot be opened (no key), set a slaying like "no_key_available". This will clearify things and only a fool would create a key matching that slaying. Door-objects can not only be used for "doors". In many maps these are used with all kinds of faces/names, especially often as "magic force". A good example is the map "Lake_Country/ebony/masterlev". There you have magic forces (door objects) put under certain artifact items. To get your hands on the artifacts, you need to bring up the appropriate quest items (key objects). + + see also: [[special key]] (21) - === type 21: special key=== + === type 21: special key === === type 29: magic ear === === type 31: altar_trigger === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164498406 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 19:05:37 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:05:37 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164503137.665417.7388.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 19:05 User : leaf Edit Summary: Import special key, magic ear, altar_trigger @@ -263,12 +263,60 @@ see also: [[special key]] (21) === type 21: special key === + + Functionality of special keys: + When carrying the appropriate special key, a locked door can be opened. The key will dissapear. + This object-type can also be used for "passport"-like items: When walking onto an [[inventory checker]], a gate for example might get opened. The "passport" will stay in the player's inventory. + + * "slaying <unique_string>" must be identical with the slaying in the locked door, then it can be unlocked. It can also be used to trigger [[inventory checkers]]. + * "material 0" (no material) or "material 256" (adamantite) should be set. This prevents the key from getting burned or otherwise destroyed. + * "msg <text> endmsg": This will add a description to the object. The player can read <text> by clicking on the item in his inventory. Use this message to describe what the key/passport 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. + + Notes on usage: + How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that's all. The slaying certainly must match with the appropiate [[inventory checker]]. + + Of course you can be creative with names and faces of key-objects. A "mysterious crystal" or a "big dragon claw" (with appropriate faces) appear more interesting than just a "strange key", or "passport". + + see also: [[locked door]] (20), [[inventory checker]] (64) === type 29: magic ear === + + Functionality of magic_ears: + Magic_ears trigger a connected value when the player speaks a specific keyword. + + * "msg <text> endmsg" contains the keyword-matching-syntax. <text> should have the following format: "@match <keyword1>|<keyword2>|... ". 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. IMPORTANT: Upper/lower case does not make a difference! + * "invisible 1" should always be set for magic_ears. They cannot be discovered by the show invisible spell, so it doesn't matter if you put them above or below the floor. + + Notes on usage: + Whenever you put magic_ears on your maps, make sure there are CLEAR and RELIABLE hints about the keywords somewhere. Don't make something + like a gate that is opened by speaking "open" or "sesame", expecting the player to figure this out all by himself. + + Magic_ears are typically used for interaction with NPCs. You can create the impression that the NPC actually *does* something according to his conversation with a player. Mostly this means opening a gate or handing out some item, but you could be quite creative here. === type 31: altar_trigger === + + Functionality of altar_triggers: + Altar_triggers work pretty much like [[normal altars]] (drop sacrifice -> connection activated), except for the fact that they reset after usage. Hence, altar_triggers can be used infinitly. + + * "slaying <item_name>" specifies the item that must be put on the altar to activate it. <item_name> 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") + * "food <value>" is the amount of items (specified as above) that must be dropped to activate the altar. + If "slaying money" is set, then the value of the sacrificed money must be equal to <value> (ie, if food=200, then 200 silver, 20 gold, or 4 platinum will all work.) Note that the maximum possible for <value> is 32767. + * "walk_on 1" must be set or it won't work. + * "connected <activate_num>": If <activate_num> is set, the altar will trigger all objects connected to it, when activated. (With "last_sp 0", it triggers again when the altar is reset.) + * "last_sp 1": If set, 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 "last_sp 0" is set (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. + + Hints on usage: + Altar_triggers are very useful if you want to charge a price for... + + * ...an item. -> Connect the altar_trigger (set "last_sp 1") to a [[creator]]. See also: [[converters]]. + * ...opening a gate. -> Connect the altar_trigger (set "last_sp 0") to the gate. + * ...information. -> Connect the altar_trigger (set "last_sp 1") to a [[magic_mouth]]. + + The big advantage over [[normal altars]] is the infinite usability of altar_triggers! If there are ten players on one server, they're quite grateful if things work more than once. =) + + see also: [[altar]] (18) === type 40: mover === === type 41: teleporter === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164502489 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 19:19:28 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:19:28 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164503968.977744.7415.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 19:19 User : leaf Edit Summary: Import mover, teleporter, creator, detector, marker @@ -317,16 +317,103 @@ see also: [[altar]] (18) === type 40: mover === + + Functionality of movers: + Movers move the objects above them. However, only living objects are affected (monsters/NPCs always, players optional). Movers have a direction, so players can be made to move in a pattern, and so can monsters. Motion is involuntary. Additionally, players or monsters can be "frozen" while ontop of movers so that they MUST move along a chain of them. + + Multisquare monsters can be moved as well, given enough space. Movers are usually invisible. + + * "attacktype 1": If attacktype is nonzero, the mover "freezes" anyone it moves (so they are forced to move along a chain). However, this has nothing to do with the common in-game attacktypes. Default is "attacktype 1". + * "maxsp <number>": The player will be "frozen" for <number> moves. If unset, and "attacktype 1", maxsp becomes 2. Otherwise it is zero by default. + * "walk_on 1" must be set or it won't work properly. + * "fly_on 1" means all flying (living) objects will get moved as well. A mover with "fly_on 0" will move only walking (non-flying) creatures. + * "speed <speed_value>" determines how fast a chain of these movers will push a player along (default -0.2). + * "sp <number>" specifies the mover's direction. 1=up, 3=right, 5=down, 7=left. A mover with "sp 8" will spin clockwise. + * "level 1": If this is set, both players and monsters will be moved. The arches' default is "level 0", ONLY monsters get moved. Remember that "monsters" includes 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! Note that it's useful to set this NPC immune to everything, preventing the player to push the NPC off his trace. + * "lifesave 1" means the mover can be "used up" after a certain number of moves (-> hp). A mover of "lifesave 0" works infinitly. (I know this is opposite to the common sense of "lifesave", but we gotta accept it) + * "hp <value>" has only a meaning if lifesave is set: <value> is the number of times minus one, that it will move a player before disappearing. (It will move someone <value>+1 times, then vanish). + + Notes on usage: + NEVER EVER consider a mover being unpassable in the backwards direction. Setting "attacktype 1" makes it seemingly impossible but there is still a trick: One player can push a second player past the mover, in opposite to the mover's direction! The more movers, the more players needed. Hence, don't make a treasure room that is surrounded by movers instead of solid walls/gates. + + Btw, it does not make a difference putting movers above or below the floor. Moreover, movers that are "invisible 1" cannot be discovered with the show_invisible spell. + + Note on directors: + Movers and Directors are seperate objects, even though they look and act similar. Directors only do spells/missiles, while movers only do living creatures (depending on how it is set: monsters and players). + + see also: [[director]] (112) === type 41: teleporter === + + Functionality of teleporters: + When the player walks into a teleporter, he is transferred to a different location. The main difference to the object-type [[exit]] is the possibility to have teleporters connected to levers/buttons/etc. Sometimes teleporters are activated even against the players will. + + Unlike [[exits]], teleporters can transfer also items and monsters to different locations on the same map. + + * "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. If the slaying is set, ONLY players can get teleported. If slaying is unset ("slaying 0"), anything can get teleported: Players, monsters and items. In this case, the destined map is automatically the same map the teleporter is on. + * "hp <number>", "sp <number>": hp, sp define the (x, y)- coordinates of the exit's destination. If both are set to zero and "slaying 0" is set, the player will get teleported to another, randomly chosen teleporter on the same map (Slightly confusing for the player though). Make sure there actually *is* a second one in that case. If both (sp,hp) are zero but slaying is set, 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. + * "speed <speed_value>": If 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 <speed_value>. Default in the teleporter arch is "speed 0.1". VERY IMPORTANT: If you want to have your teleporter activated via button/handle/magic_ear/etc, you must set "speed 0"! + * "connected <connector_value>": If set, the teleporter will be activated when the connection is triggered. As stated above, to use this, speed must be zero. + + Notes on usage: + Teleporters must always be placed above the floor in order to work correctly! + + When creating maps, I guess sooner or later you'll want to have an invisible teleporter. If using "invisible 1", the teleporter can still be discovered with the show_invisible spell. And you can't place it under the floor to prevent this. Fortunately, there is a cool trick to make a perfectly invisible teleporter: You simply add teleporter functionality to the floor itself. That means: You take the floor arch (e.g. "flagstone"), set "type 41", and add slaying/hp/sp/connected... everything you need. + + see also: [[exit]] (66) === type 42: creator === + + Functionality of creators: + A creator is an object which creates another object when it is triggered. The child object can be anything. Creators are VERY useful for all kinds of map-mechanisms. + + * "other_arch <arch_name>" defines the object that will be created. You can choose any of the existing arches. + * "connected <connector_value>": If <connector_value> is activated, the creator is triggered. + * "hp <number>": The creator can be triggered <number> times, thus creating <number> objects, before it dissappears. Default is "hp 1" (-> one-time usage). + * "lifesave 1" means the creator will work infinitly, regardless of hp. + * "slaying <name>": The created object will bear the name <name>. If no slaying is set, the standard name of the archetype is used. + * "level <number>: The created object will be of level <number>. Again, if not set, the standard level of the archetype is used. + + Notes on usage: + Don't hesitate to hide your creators under the floor. The created items will still always appear ontop of the floor. + + see also: [[rune]] (154) === type 51: detectors === + + Functionality of detectors: + Detectors work quite much like [[inv. checkers]]/[[pedestals]]: If the detector finds a specific object, it toggles its connected value. + + What is "unique" about them, compared to [[inv. checkers]]/ [[pedestals]]? - First, detectors check their square for a match periodically, not instantly. Second, detectors check directly for object names. Third, detectors do not check the inventory of players/monsters. + + * "slaying <name>" specifies the name of the object we are looking for. Actually it does also check for slayings in key-objects, but for this case inv. checkers are often more powerful to use. + * "speed <speed_value>" sets the time between two detector-checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like "speed 1.0". + + Notes on usage: + There is one major speciality about detectors: You can detect spells blown over a detector! To detect a lighting bolt for example, set "slaying ligthing" and "speed 1.0". In combination with [[spellcasting walls]], this can be very useful for map-mechanisms. + + see also: [[pedestal]] (17), [[inv. checker]] (64), [[altar]] (18) === type 55: marker === + + Functionality of markers: + A marker is an object that inserts an invisible force (a mark) into a player stepping on it. This force does nothing except contain a string in its slaying field which can be discovered by detectors or [[inv. checkers]]. It is also possible to use markers for removing marks again. + Note that the player has no possibility to "see" his own marks, except by the effect that they cause on the maps. + + * "slaying <unique_string>" is the "lockcode" that can be detected by inv. checkers/detectors. If the player already has a force with that slaying, there won't be inserted a second one. + * "speed <speed_value>" defines how quickly it will mark something standing on the marker. Set <speed_value> rather high to make sure the player really gets his mark. I think "speed 1.0" should do fine. + * "food <number>" sets the duration of the force it inserts. If nonzero, the duration of the player's mark is finite: about 1 food per 10 seconds. "food 0" means the mark will stay on the player forever. + * "name <unique_string>": When the player steps onto the marker, all existing forces in the players inv. with slaying <unique_string> will be removed. If you don't want to remove any marks, simply name your object "marker". I know, involving an object's name in it's functionalities is rather uncommon and irritating... but hey, we gotta deal with it. =) + * "msg <text> endmsg": In the moment when the player gets marked, the message <text> is displayed to him. You should usually set a message in any marker you create, because it's the only way for the player to notice what's going on. + + Notes on usage: + Markers hold real cool possibilities for map-making. I encourage you to use them frequently. However there is one negative point about markers: Players don't "see" what's going on with them. It is your task, as map-creator, to make sure the player is always well informed and never confused. + + Please avoid infinite markers when they aren't needed. They're using a little space in the player file after all, so if there is no real purpose, set an expire time. + + see also: [[inventory checker]] (64) === type 56: holy altar === === type 62: magic wall === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164503134 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 19:33:09 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:33:09 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164504789.585435.7436.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 19:33 User : leaf Edit Summary: Import holy altars, magic wall, inventory checker, mood floor @@ -276,9 +276,9 @@ Notes on usage: How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that's all. The slaying certainly must match with the appropiate [[inventory checker]]. Of course you can be creative with names and faces of key-objects. A "mysterious crystal" or a "big dragon claw" (with appropriate faces) appear more interesting than just a "strange key", or "passport". - + see also: [[locked door]] (20), [[inventory checker]] (64) === type 29: magic ear === @@ -414,14 +414,84 @@ see also: [[inventory checker]] (64) === type 56: holy altar === + + Functionality of holy_altars: + Holy_altars are altars for the various religions. Praying at a holy_altar will make you a follower of that god, and if you already follow that god, you may get some extra bonus. (See: [[god intervention]]) + + * "other_arch <god_name>" specifies the god that the altar belongs to. Possible options for <god_name> are: Devourers, Lythander, Mostrai, Gaea, Ruggilli, Gnarg, Gorokh, Valriel and Sorig. If you want to have an unconsecrated altar, set "other_arch 0" and "level 0". + * "level <number>": To re-consecrate an altar, the players skill level (wisdom level) must be as high or higher than the level field. In this way, some altars can not be re-consecrated, while other altars, like those in dungeons, could be. + Altars located in temples should have at least "level 100". Some characters might need those altars, they would be very unhappy to see them re-consecrated to another cult. + + see also: [[altar]] (18) === type 62: magic wall === + + Functionality of magic walls: + 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 a pick-map available in crossedit. + + * "dam <[[spellnumber]]>" specifies the spell the wall will cast. You can find a list of spellnumbers [[here]]. + * "level <number>": The wall will cast it's spells at level <number>. "level 1" walls cast spells at minimal strength. "level 100" walls cast deadly spells. Arch default is level 1 - you should rise it to meet the overall difficulty of your map. + * "sp <number>" holds the direction in which the wall will cast the spell. 1=north, 2=northeast, 3=east,... , 8=northwest. A magic wall with "sp 0" will always fire in a random direction. + * "speed <speed_value>" defines the spellcasting 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". + * "connected <connector_value>" means the wall will cast a spell when it is triggered via <connector_value>. Set "speed 0" or it won't have much visible effect. + * "no_pass 1", "blocksview 1" should be set for "normal" wall-behavior: blocking view and non-passable. Yet, this is not a rule written in stone. You could make invisible, passable magic walls... the spells will then seemingly appear out of nowhere. + * "alive 1" means the wall can be attacked and destroyed. If set, you must also set the common monster-attributes: hp, maxhp, resistances. See description of [[monsters]]. + + Notes on usage: + Spellcasting walls pose an interesting alternative to monsters. Usually they are set to be undestroyable ("alive 0"). Thus, while monsters in a map can be cleared out, the magic walls remain. Low level characters for example will not be able to pass through their spell-area, hence they cannot loot a map that a high level character might have cleared out. + + Another point of magic walls is that if the player dies, he has to face them all again. Magic walls can add a kind of "permanent thrill" to your maps. + + Be careful that your magic walls don't kill the monsters on a map. If placing monsters, eventually take ones that are immune to the walls' spell(s). + + It is possible to make walls rotate when triggered. But that is so confusing (and useless IMHO) that I did not mention it above. You can find a working example on the map "/pup_land/castle_eureca/castle_eureca8". === type 64: inventory checker === + + Functionality of inventory checkers: + Inventory checkers passively check the players inventory for a specific object. You can set a connected value that is triggered either if that object is present or missing (-> "last_sp") when a player walks over the inv. checker. A valid option is to remove the matching object (usually not recommended, see "last_heal"). + + Alternatively, you can set your inv. checker to block all players that do/don't carry the matching object (-> "no_pass"). + As you can see, inv. checkers are quite powerful, holding a great variety of possibilities. + + * "slaying <name>" specifies the object we are looking for: We have a match if the player does/don't carry a [[key object]] or a mark (-> see [[marker]]) with identical slaying <name>. Note that [[key objects]] usually appear as "passports" in this context. A typical example is the city gate mechanism of scorn. + * "race <archtype_name>" specifies the object we are looking for: We have a match if the player does/don't carry an object of archtype <archtype_name>. + * "hp <type_value>" specifies the object we are looking for: We have a match if the player does/don't carry an object that is of type <type_value>. Example: Set "hp 15" ([[type 15 => weapon]]) and "no_pass 1". Now you have an inv. checker blocking all players that carry any kind of melee weapon. To pass, a player is forced to leave behind all his weaponry... bad news for a warrior. Nice, hum? :) + * "last_heal 1": Remove object if found. This is usually not recommended because inv. 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 set last_heal, make sure to inform the player what's going on! + * "no_pass 1": If set, only players meeting the match criteria can pass through that space. If "no_pass 0" (default), then the inv. checker acts like a trigger/button. + * "last_sp 1" means having that object is a match. "last_sp 0" means not having that object is a match. + * "connected <connector_value>" specifies the connector value to be activated if the inv. checker is triggered. This only makes sense along with "no_pass 0". + + General usage notes: + Putting a check_inventory space in front of a gate (one below) and one on the opposite side works reasonably well as a control mechanism. Unlike the [[key]]/[[door-combo]], this one works infinite since it is independant from map reset. Use it to put a "structure" into your maps: Player must solve area A to gain access to area B. This concept can be found in nearly every RPG - simple but effective. + + see also: [[special key]] (21), [[marker]] (55), [[pedestal]] (17), [[detector]] (51) === type 65: mood floor === + + Functionality of mood floors: + As the name implies, mood floors can change the "mood" of a monsters/NPC. For example, an unagressive monster could be turned mad to start attacking. Similar, an agressive monster could be calmed. + + * "last_sp <number>" is used to determine what will happen to the monster when affected by the mood floor: + * "last_sp 0": 'furious' Makes all monsters aggressive + * "last_sp 1": 'angry' As above but pets are unaffected + * "last_sp 2": 'calm' Makes all monsters unaggressive + * "last_sp 3": 'sleep' Puts all monsters to sleep + * "last_sp 4": 'charm' Makes monster into a pet of person who triggers the square. This setting is not enabled for continous operation, you need to insert a connected value! + * "connected <connector_value>": This should only be set in combination with "last_sp 4". Normally, monsters are affected by the mood floor as soon as they step on it. But charming (monster -> pet) is too powerful, so it needs to be activated. Typically it is connected to an altar, for buying a "hireling". But a powerful pet could as well be the reward for solving a quest. Or even better: It could be *part* of a quest! + + Notes on usage: + Notes on usage: Mood floors are absolutely cool for NPC interaction. To make an unaggressive monster/NPC attack, put a [[creator]] with + "other_arch furious_floor" under it. Connect the creator to a [[magic_ear]], so the player speaks a keyword like "stupid sucker" - and the monster attacks. + + To turn an NPC into a pet, put a charm_floor under it and connect it directly to a [[magic_ear]]. Then the player speaks a keyword like "help me" - and the NPC joins him as pet. + + (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 === === type 85: spellbook === IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164503964 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 19:50:45 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:50:45 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164505845.591290.7472.nullmailer@wiki.metalforge.net> 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/ From no-reply_wiki at metalforge.org Sat Nov 25 19:57:23 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:57:23 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164506243.428470.7481.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 19:57 User : leaf Edit Summary: Update the FIXME @@ -1,5 +1,5 @@ - FIXME - finish importing content from http://mids.student.utwente.nl/~avogl/map_guide/TOC.htm + FIXME - reference page, http://mids.student.utwente.nl/~avogl/map_guide/TOC.htm ; apply page linking, spelling & formatting corrections, content updates, and anything else. ====== Map-Making Guide ====== ===== Introduction ===== IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164505840 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 19:59:55 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 19:59:55 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: guides Message-ID: <1164506395.275349.7484.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 19:59 User : leaf Edit Summary: Link to a new page, SPell Numbers @@ -78,8 +78,9 @@ * [[Custom Item Creation]] - Information and guidelines about creating custom items. * [[Item Type Guide]] - Information about how different types and attributes affect objects. * [[Map Scale]] - A note about the scale of maps * [[Map-Making Guide]] - Notes, details and suggestions on making maps + * [[Spell Numbers]] - The "spellnumber" works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. ==== Code ==== Documentation on the code and coding. IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/guides?rev=1164493539 New Revision: http://wiki.metalforge.net/doku.php/guides -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 20:20:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 20:20:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: spell_numbers Message-ID: <1164507630.845383.7531.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 20:20 User : leaf Edit Summary: created Spell Numbers page, imported content - updates still remain FIXME - reference page, http://mids.student.utwente.nl/~avogl/map_guide/spells.htm ; correct page layout and formatting, confirm accuracing of data ====== Crossfire Spell Numbers ====== Every Spell in crossfire is identified by a number. Crossfire currently features 201 spells!! The "spellnumber" works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. A few spells are greyed out, these should not be used by map-makers in any way! Some are blue, these are godgiven spells, they can be used for monsters or firewalls, but they mustn't be handed out to the player |^num^|^spell name^| || 0|| magic bullet|| || 1|| small fireball|| || 2|| medium fireball|| || 3|| large fireball|| || 4|| burning hands|| || 5|| small lightning|| || 6|| large lightning|| || 7|| magic missile|| || 8|| create bomb|| || 9|| summon golem|| || 10|| summon fire elemental|| || 11|| summon earth elemental|| || 12|| summon water elemental|| || 13|| summon air elemental|| || 14|| dimension door|| || 15|| create earth wall|| || 16|| paralyze|| || 17|| icestorm|| || 18|| magic mapping|| || 19|| turn undead|| || 20|| fear|| || 21|| poison cloud|| || 22|| wonder|| || 23|| destruction|| || 24|| perceive self|| || 25|| word of recall|| || 26|| invisible|| || 27|| invisible to undead|| || 28|| probe|| || 29|| large bullet|| || 30|| improved invisibility|| || 31|| holy word|| || 32|| minor healing|| || 33|| medium healing|| || 34|| major healing|| || 35|| heal|| || 36|| create food|| || 37|| earth to dust|| || 38|| armour|| || 39|| strenght|| || 40|| dexterity|| || 41|| constitution|| || 42|| charisma|| || 43|| create fire wall|| || 44|| create frost wall|| || 45|| protection from cold|| || 46|| protection from electricity|| || 47|| protection from fire|| || 48|| protection from poison|| || 49|| protection from slow|| || 50|| protection from paralysis|| || 51|| protection from draining|| || 52|| protection from magic|| || 53|| protection from attack|| || 54|| levitate|| || 55|| small speedball|| || 56|| large speedball|| || 57|| hellfire|| || 58|| dragonbreath|| || 59|| large icestorm|| || 60|| charging|| || 61|| polymorph|| || 62|| cancellation|| || 63|| confusion|| || 64|| mass confusion|| || 65|| summon pet monster|| || 66|| slow|| || 67|| regenerate spellpoints|| || 68|| cure poison|| || 69|| protection from confusion|| || 70|| protection from cancellation|| || 71|| protecion from depletion|| || 72|| alchemy|| || 73|| remove curse|| || 74|| remove damnation|| || 75|| identify|| || 76|| detect magic|| || 77|| detect monster|| || 78|| detect evil|| || 79|| detect curse|| || 80|| heroism|| || 81|| aggravation|| || 82|| firebolt|| || 83|| frostbolt|| || 84|| shockwave|| || 85|| color spray|| || 86|| haste|| || 87|| face of death|| || 88|| ball lightning|| || 89|| meteor swarm|| || 90|| comet|| || 91|| mystic fist|| || 92|| raise dead|| || 93|| resurrection|| || 94|| reincarnation|| || 95|| immunity to cold|| || 96|| immunity to electricity|| || 97|| immunity to fire|| || 98|| immunity to poison|| || 99|| immunity to slow|| || 100|| immunity to paralysis|| || 101|| immunity to draining|| || 102|| immunity to magic|| || 103|| immunity to attack|| || 104|| invulnerability|| || 105|| defense|| || 106|| rune of fire|| || 107|| rune of frost|| || 108|| rune of shocking|| || 109|| rune of blasting|| || 110|| rune of death|| || 111|| marking rune|| || 112|| build director|| || 113|| create pool of chaos|| || 114|| build bullet wall|| || 115|| build lightning wall|| || 116|| build fireball wall|| || 117|| magic rune|| || 118|| rune of magic drain|| || 119|| antimagic rune|| || 120|| rune of transferrence|| || 121|| transferrence|| || 122|| magic drain|| || 123|| counterspell|| || 124|| disarm|| || 125|| cure confusion|| || 126|| restoration|| || 127|| summon evil monster|| || 128|| counterwall|| || 129|| cause light wounds|| || 130|| cause medium wounds|| || 131|| cause serious wounds|| || 132|| charm monsters|| || 133|| banishment|| || 134|| create missile|| || 135|| show invisible|| || 136|| xray|| || 137|| pacify|| || 138|| summon fog|| || 139|| steambolt|| || 140|| command undead|| || 141|| holy orb|| || 142|| summon avatar|| || 143|| holy possession|| || 144|| bless|| || 145|| curse|| || 146|| regeneration|| || 147|| consecrate|| || 148|| summon cult monsters|| || 149|| cause critical wounds|| || 150|| holy wrath|| || 151|| retributive strike|| || 152|| finger of death|| || 153|| insect plague|| || 154|| call holy servant|| || 155|| wall of thorns|| || 156|| staff to snake|| || 157|| light|| || 158|| darkness|| || 159|| nightfall|| || 160|| daylight|| || 161|| sunspear|| || 162|| feary fire|| || 163|| cure blindness|| || 164|| dark vision|| || 165|| bullet swarm|| || 166|| bullet storm|| || 167|| cause many wounds|| || 168|| small snowstorm|| || 169|| medium snowstorm|| || 170|| large snowstorm|| || 171|| cure disease|| || 172|| cause red death|| || 173|| cause flu|| || 174|| cause black death|| || 175|| cause leprosy|| || 176|| cause smallpox|| || 177|| cause white death|| || 178|| cause anthrax|| || 179|| cause typhoid|| || 180|| mana blast|| || 181|| small manaball|| || 182|| medium manaball|| || 183|| large manaball|| || 184|| mana bolt|| || 185|| dancing sword|| || 186|| animate weapon|| || 187|| cause cold|| || 188|| divine shock|| || 189|| windstorm|| || 190|| sanctuary|| || 191|| peace|| || 192|| spiderweb|| || 193|| conflict|| || 194|| rage|| || 195|| forked lightning|| || 196|| poison fog|| || 197|| flaming aura|| || 198|| vitriol|| || 199|| vitriol splash|| || 200|| ironwood skin|| || 201|| wrathful eye|| IP-Address : 65.165.40.73 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/spell_numbers -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 20:27:45 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 20:27:45 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: spell_numbers Message-ID: <1164508065.584142.7540.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 20:27 User : leaf Edit Summary: Mark spells that are god give (italics) and unavailable for players (bold) @@ -4,10 +4,10 @@ ====== Crossfire Spell Numbers ====== Every Spell in crossfire is identified by a number. Crossfire currently features 201 spells!! The "spellnumber" works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. - A few spells are greyed out, these should not be used by map-makers in any way! - Some are blue, these are godgiven spells, they can be used for monsters or firewalls, but they mustn't be handed out to the player + A few spells are **bold**, these should not be used by map-makers in any way! + Some are //italicized//, these are godgiven spells, they can be used for monsters or firewalls, but they mustn't be handed out to the player |^num^|^spell name^| || 0|| magic bullet|| || 1|| small fireball|| @@ -81,10 +81,10 @@ || 69|| protection from confusion|| || 70|| protection from cancellation|| || 71|| protecion from depletion|| || 72|| alchemy|| - || 73|| remove curse|| - || 74|| remove damnation|| + || //73//|| //remove curse//|| + || //74//|| //remove damnation//|| || 75|| identify|| || 76|| detect magic|| || 77|| detect monster|| || 78|| detect evil|| @@ -100,21 +100,21 @@ || 88|| ball lightning|| || 89|| meteor swarm|| || 90|| comet|| || 91|| mystic fist|| - || 92|| raise dead|| - || 93|| resurrection|| - || 94|| reincarnation|| - || 95|| immunity to cold|| - || 96|| immunity to electricity|| - || 97|| immunity to fire|| - || 98|| immunity to poison|| - || 99|| immunity to slow|| - || 100|| immunity to paralysis|| - || 101|| immunity to draining|| - || 102|| immunity to magic|| - || 103|| immunity to attack|| - || 104|| invulnerability|| + || **92**|| **raise dead**|| + || **93**|| **resurrection**|| + || **94**|| **reincarnation**|| + || **95**|| **immunity to cold**|| + || **96**|| **immunity to electricity**|| + || **97**|| **immunity to fire**|| + || **98**|| **immunity to poison**|| + || **99**|| **immunity to slow**|| + || **100**|| **immunity to paralysis**|| + || **101**|| **immunity to draining**|| + || **102**|| **immunity to magic**|| + || **103**|| **immunity to attack**|| + || **104**|| **invulnerability**|| || 105|| defense|| || 106|| rune of fire|| || 107|| rune of frost|| || 108|| rune of shocking|| @@ -159,19 +159,19 @@ || 147|| consecrate|| || 148|| summon cult monsters|| || 149|| cause critical wounds|| || 150|| holy wrath|| - || 151|| retributive strike|| - || 152|| finger of death|| + || //151//|| //retributive strike//|| + || //152//|| //finger of death//|| || 153|| insect plague|| || 154|| call holy servant|| - || 155|| wall of thorns|| + || //155//|| //wall of thorns//|| || 156|| staff to snake|| || 157|| light|| || 158|| darkness|| - || 159|| nightfall|| - || 160|| daylight|| - || 161|| sunspear|| + || //159//|| //nightfall//|| + || //160//|| //daylight//|| + || //161//|| //sunspear//|| || 162|| feary fire|| || 163|| cure blindness|| || 164|| dark vision|| || 165|| bullet swarm|| @@ -180,14 +180,14 @@ || 168|| small snowstorm|| || 169|| medium snowstorm|| || 170|| large snowstorm|| || 171|| cure disease|| - || 172|| cause red death|| + || //172//|| //cause red death//|| || 173|| cause flu|| - || 174|| cause black death|| - || 175|| cause leprosy|| - || 176|| cause smallpox|| - || 177|| cause white death|| + || //174//|| //cause black death//|| + || //175//|| //cause leprosy//|| + || //176//|| //cause smallpox//|| + || //177//|| //cause white death//|| || 178|| cause anthrax|| || 179|| cause typhoid|| || 180|| mana blast|| || 181|| small manaball|| @@ -196,19 +196,19 @@ || 184|| mana bolt|| || 185|| dancing sword|| || 186|| animate weapon|| || 187|| cause cold|| - || 188|| divine shock|| - || 189|| windstorm|| - || 190|| sanctuary|| - || 191|| peace|| - || 192|| spiderweb|| - || 193|| conflict|| - || 194|| rage|| - || 195|| forked lightning|| - || 196|| poison fog|| - || 197|| flaming aura|| - || 198|| vitriol|| - || 199|| vitriol splash|| - || 200|| ironwood skin|| - || 201|| wrathful eye|| + || //188//|| //divine shock//|| + || //189//|| //windstorm//|| + || //190//|| //sanctuary//|| + || //191//|| // peace//|| + || //192//|| //spiderweb//|| + || //193//|| //conflict//|| + || //194//|| //rage//|| + || //195//|| //forked lightning//|| + || //196//|| //poison fog//|| + || //197//|| //flaming aura//|| + || //198//|| //vitriol//|| + || //199//|| //vitriol splash//|| + || //200//|| //ironwood skin//|| + || //201//|| //wrathful eye//|| IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/spell_numbers?rev=1164507626 New Revision: http://wiki.metalforge.net/doku.php/spell_numbers -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 20:40:39 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 20:40:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: spell_numbers Message-ID: <1164508839.817278.7570.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 20:40 User : leaf Edit Summary: Layout fix for the spell Peace @@ -1,5 +1,4 @@ - FIXME - reference page, http://mids.student.utwente.nl/~avogl/map_guide/spells.htm ; correct page layout and formatting, confirm accuracing of data ====== Crossfire Spell Numbers ====== @@ -199,9 +198,9 @@ || 187|| cause cold|| || //188//|| //divine shock//|| || //189//|| //windstorm//|| || //190//|| //sanctuary//|| - || //191//|| // peace//|| + || //191//|| //peace//|| || //192//|| //spiderweb//|| || //193//|| //conflict//|| || //194//|| //rage//|| || //195//|| //forked lightning//|| IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/spell_numbers?rev=1164508060 New Revision: http://wiki.metalforge.net/doku.php/spell_numbers -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 23:31:29 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 23:31:29 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164519089.214660.7831.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 23:31 User : rednaxela Edit Summary: spelling/grammar fixes @@ -101,9 +101,9 @@ === type 3: Rod === Functionality of rods: - A rod contains a spell. The player can use this spell by applying and fireing the rod. Rods need time to regenerate their "internal" spellpoints, lowering the effectiveness in combat. But unlike wands/scrolls, rods can be used endlessly. + A rod contains a spell. The player can use this spell by applying and firing the rod. Rods need time to regenerate their "internal" spellpoints, lowering the effectiveness in combat. But unlike wands/scrolls, rods can be used endlessly. * "sp <[[spellnumber]]>" sets the spell of the rod. A list of all spellnumbers can be viewed [[here]]. Consider twice before handing out special rods to players, since they can be used endlessly without any mana cost! Rods with heal/ restoration/ protection spells, IF available, MUST be very very VERY hard to get! * "level <number>" is the casting level for the spell of that rod. For attack spells, level should be set to something reasonable. * "hp <number>" is the initial amount of spellpoints in the rod. @@ -129,9 +129,9 @@ * "level <number>": If the potion contains a spell, the spell is cast at level <number>. For other potions it should be set at least to 1. * "cursed 1" generally turns benefits into penalties (see below). Note that potions can be "uncursed" by praying over an altar, with relative ease. *But* the potion must be identified to notice that it is cursed >:) * "Str/Dex/Con/Int/Wis/Pow/Cha <num>" makes a stat-potion. The player's stat will rise/fall by value <num> for permanent (of course there is an upper limit). Generally there shouldn't be stat potions granting more than one stat. Cursed potions will subtract the stats if positive. - * "resist_<attacktype> <number>" makes a resistance potion. Resistance from <attacktype> by <number> percent. The effect is only temporare, and it does NOT add on the values from the player's equipment. Cursed potions will make negative resistance.. very nasty in combat! + * "resist_<attacktype> <number>" makes a resistance potion. Resistance from <attacktype> by <number> percent. The effect is only temporary, and it does NOT add on the values from the player's equipment. Cursed potions will make negative resistance.. very nasty in combat! * "sp <spellnum>": When a player drinks this potion, the spell of number <spellnum> will be casted (once). This should work for any given spell. Look for spellnumbers here. E.g. heal is "sp 35", magic power is "sp 67". * "attacktype 1048576" makes an improvement potion. (I know, using attacktype for this is very ugly, bleah!!) If your potion is NOT supposed to be an improvement potion, leave attacktype zero. === type 6: food === @@ -192,9 +192,9 @@ * "dam <number>" is the damage this weapon does per hit. <number> will add to the base damage of the player. * "attacktype <[[attack_num]]>": the bitmask <attack_num> determines the weapon's attacktypes. Attacktypes are: physical, magical, fire, cold.. etc. Read a more detailed description about attacktypes [[here]]. Most artifact weapons have no more than one or two attacktypes. Keep in mind that all weapons can be blessed by the player's deity, thus adding an additional attacktype. When a player hits a monster with a weapon that has more than one attacktype, then he will do as much damage as the "best" of his attacktypes does. So, the more attacktypes you've got, the better your chance to take advantage of a monster's vulnerabilities. (Btw: Same rule applies for monster vs. player.). Attacktypes "magic" and "chaos" are somehow exceptions. * "resist_<attacktype> <number>" adds resistance to the weapon. Resistance from <attacktype> by <number> percent. Treat this with CARE. Look at other maps and what they require to do for getting this-and-that artifact. * "Str/Dex/Con/Int/Wis/Pow/Cha <number>": The wielder's stat(s) will rise/fall by value <number> for permanent. Again, don't mess around with this! Stats-bonus is very powerful. (Stat bonus does not mark a weapon being "magical") - * "slaying <race>": The weapon does triple damage to monsters of this <race> cathegory. On the other hand, no god blessings are possible for such weapons. + * "slaying <race>": The weapon does triple damage to monsters of this <race> category. On the other hand, no god blessings are possible for such weapons. * "last_sp <number>" determines the weapon-speed. The lower the faster, "last_sp 1" is best (that is lightning- fast). A typical average value is 8. Speed and damage should be kept in reasonable relation. * "path_attuned/repelled/denied <[[spellpath]]>": This modifies the player's attunement to certain spellpaths. Attunes are more a matter of rings/amulets, while repels/denies are quite common. Remember that weapons are in general the barbarians' tools, not the wizards'. Read the details about spellpaths [[here]]. * "wc <number>": weapon-class bonus * "magical <number>" sets the weapon's magic bonus. It works just like wc, except that magic bonus can be improved by the gods or reduced by acid. Hence, it is less useful than direct wc on a weapon. @@ -244,9 +244,9 @@ * "slaying <item_name>" specifies the item that must be put on the altar to activate it. <item_name> 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") * "food <value>" is the amount of items (specified as above) that must be dropped to activate the altar. If "slaying money" is set, then the value of the sacrificed money must be equal to <value> (ie, if food=200, then 200 silver, 20 gold, or 4 platinum will all work.) Note that the maximum possible for <value> is 32767. * "walk_on 1" must be set or it won't work. * "connected <activate_num>": If <activate_num> is set, the altar will trigger all objects connected to it, when activated. This will only work once. - * "sp <[[spell_number]]>": When activated, the spell of number <spellnum> will be casted (once, on the player). This should work for any given spell. Look for spellnumbers [[here]]. The altar will work infinitly in this way. Don't set both "sp > 0" and "connected > 0" for one altar. + * "sp <[[spell_number]]>": When activated, the spell of number <spellnum> will be casted (once, on the player). This should work for any given spell. Look for spellnumbers [[here]]. The altar will work infinitely in this way. Don't set both "sp > 0" and "connected > 0" for one altar. see also: [[altar_trigger]] (31), [[holy altar]] (56) === type 20: locked door === @@ -258,24 +258,24 @@ * "msg <text> endmsg": When a player is trying to open the door without carrying the appropriate key, <text> is displayed to the player. This is a good opportunity to place hints about the special key needed to unlock the door. * "no_magic 1", "damned 1" should always be set to prevent players passing through the door by dimension door spell. Notes on usage: - If you want to create a locked door that cannot be opened (no key), set a slaying like "no_key_available". This will clearify things and only a fool would create a key matching that slaying. Door-objects can not only be used for "doors". In many maps these are used with all kinds of faces/names, especially often as "magic force". A good example is the map "Lake_Country/ebony/masterlev". There you have magic forces (door objects) put under certain artifact items. To get your hands on the artifacts, you need to bring up the appropriate quest items (key objects). + If you want to create a locked door that cannot be opened (no key), set a slaying like "no_key_available". This will clarify things and only a fool would create a key matching that slaying. Door-objects can not only be used for "doors". In many maps these are used with all kinds of faces/names, especially often as "magic force". A good example is the map "Lake_Country/ebony/masterlev". There you have magic forces (door objects) put under certain artifact items. To get your hands on the artifacts, you need to bring up the appropriate quest items (key objects). see also: [[special key]] (21) === type 21: special key === Functionality of special keys: - When carrying the appropriate special key, a locked door can be opened. The key will dissapear. + When carrying the appropriate special key, a locked door can be opened. The key will disappear. This object-type can also be used for "passport"-like items: When walking onto an [[inventory checker]], a gate for example might get opened. The "passport" will stay in the player's inventory. * "slaying <unique_string>" must be identical with the slaying in the locked door, then it can be unlocked. It can also be used to trigger [[inventory checkers]]. * "material 0" (no material) or "material 256" (adamantite) should be set. This prevents the key from getting burned or otherwise destroyed. * "msg <text> endmsg": This will add a description to the object. The player can read <text> by clicking on the item in his inventory. Use this message to describe what the key/passport 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. Notes on usage: - How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that's all. The slaying certainly must match with the appropiate [[inventory checker]]. + How to make a "passport": You take the special key arch (archetype name is "key2"), set the face to something like card.111 and the name to "passport" - that's all. The slaying certainly must match with the appropriate [[inventory checker]]. Of course you can be creative with names and faces of key-objects. A "mysterious crystal" or a "big dragon claw" (with appropriate faces) appear more interesting than just a "strange key", or "passport". see also: [[locked door]] (20), [[inventory checker]] (64) @@ -284,9 +284,9 @@ Functionality of magic_ears: Magic_ears trigger a connected value when the player speaks a specific keyword. - * "msg <text> endmsg" contains the keyword-matching-syntax. <text> should have the following format: "@match <keyword1>|<keyword2>|... ". 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. IMPORTANT: Upper/lower case does not make a difference! + * "msg <text> endmsg" contains the keyword-matching-syntax. <text> should have the following format: "@match <keyword1>|<keyword2>|... ". 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 triggered when the player speaks any of the given keywords. IMPORTANT: Upper/lower case does not make a difference! * "invisible 1" should always be set for magic_ears. They cannot be discovered by the show invisible spell, so it doesn't matter if you put them above or below the floor. Notes on usage: Whenever you put magic_ears on your maps, make sure there are CLEAR and RELIABLE hints about the keywords somewhere. Don't make something @@ -296,9 +296,9 @@ === type 31: altar_trigger === Functionality of altar_triggers: - Altar_triggers work pretty much like [[normal altars]] (drop sacrifice -> connection activated), except for the fact that they reset after usage. Hence, altar_triggers can be used infinitly. + Altar_triggers work pretty much like [[normal altars]] (drop sacrifice -> connection activated), except for the fact that they reset after usage. Hence, altar_triggers can be used infinitely. * "slaying <item_name>" specifies the item that must be put on the altar to activate it. <item_name> 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") * "food <value>" is the amount of items (specified as above) that must be dropped to activate the altar. If "slaying money" is set, then the value of the sacrificed money must be equal to <value> (ie, if food=200, then 200 silver, 20 gold, or 4 platinum will all work.) Note that the maximum possible for <value> is 32767. @@ -330,18 +330,18 @@ * "fly_on 1" means all flying (living) objects will get moved as well. A mover with "fly_on 0" will move only walking (non-flying) creatures. * "speed <speed_value>" determines how fast a chain of these movers will push a player along (default -0.2). * "sp <number>" specifies the mover's direction. 1=up, 3=right, 5=down, 7=left. A mover with "sp 8" will spin clockwise. * "level 1": If this is set, both players and monsters will be moved. The arches' default is "level 0", ONLY monsters get moved. Remember that "monsters" includes 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! Note that it's useful to set this NPC immune to everything, preventing the player to push the NPC off his trace. - * "lifesave 1" means the mover can be "used up" after a certain number of moves (-> hp). A mover of "lifesave 0" works infinitly. (I know this is opposite to the common sense of "lifesave", but we gotta accept it) + * "lifesave 1" means the mover can be "used up" after a certain number of moves (-> hp). A mover of "lifesave 0" works infinitely. (I know this is opposite to the common sense of "lifesave", but we gotta accept it) * "hp <value>" has only a meaning if lifesave is set: <value> is the number of times minus one, that it will move a player before disappearing. (It will move someone <value>+1 times, then vanish). Notes on usage: - NEVER EVER consider a mover being unpassable in the backwards direction. Setting "attacktype 1" makes it seemingly impossible but there is still a trick: One player can push a second player past the mover, in opposite to the mover's direction! The more movers, the more players needed. Hence, don't make a treasure room that is surrounded by movers instead of solid walls/gates. + NEVER EVER consider a mover to be impassable in the backwards direction. Setting "attacktype 1" makes it seemingly impossible but there is still a trick: One player can push a second player past the mover, in opposite to the mover's direction! The more movers, the more players needed. Hence, don't make a treasure room that is surrounded by movers instead of solid walls/gates. Btw, it does not make a difference putting movers above or below the floor. Moreover, movers that are "invisible 1" cannot be discovered with the show_invisible spell. Note on directors: - Movers and Directors are seperate objects, even though they look and act similar. Directors only do spells/missiles, while movers only do living creatures (depending on how it is set: monsters and players). + Movers and Directors are separate objects, even though they look and act similar. Directors only do spells/missiles, while movers only do living creatures (depending on how it is set: monsters and players). see also: [[director]] (112) === type 41: teleporter === @@ -369,10 +369,10 @@ A creator is an object which creates another object when it is triggered. The child object can be anything. Creators are VERY useful for all kinds of map-mechanisms. * "other_arch <arch_name>" defines the object that will be created. You can choose any of the existing arches. * "connected <connector_value>": If <connector_value> is activated, the creator is triggered. - * "hp <number>": The creator can be triggered <number> times, thus creating <number> objects, before it dissappears. Default is "hp 1" (-> one-time usage). - * "lifesave 1" means the creator will work infinitly, regardless of hp. + * "hp <number>": The creator can be triggered <number> times, thus creating <number> objects, before it disappears. Default is "hp 1" (-> one-time usage). + * "lifesave 1" means the creator will work infinitely, regardless of hp. * "slaying <name>": The created object will bear the name <name>. If no slaying is set, the standard name of the archetype is used. * "level <number>: The created object will be of level <number>. Again, if not set, the standard level of the archetype is used. Notes on usage: @@ -390,9 +390,9 @@ * "slaying <name>" specifies the name of the object we are looking for. Actually it does also check for slayings in key-objects, but for this case inv. checkers are often more powerful to use. * "speed <speed_value>" sets the time between two detector-checks. If you want the detector to behave almost like pedestals/buttons, set speed rather high, like "speed 1.0". Notes on usage: - There is one major speciality about detectors: You can detect spells blown over a detector! To detect a lighting bolt for example, set "slaying ligthing" and "speed 1.0". In combination with [[spellcasting walls]], this can be very useful for map-mechanisms. + There is one major specialty about detectors: You can detect spells blown over a detector! To detect a lightning bolt for example, set "slaying lightning" and "speed 1.0". In combination with [[spellcasting walls]], this can be very useful for map-mechanisms. see also: [[pedestal]] (17), [[inv. checker]] (64), [[altar]] (18) === type 55: marker === @@ -457,9 +457,9 @@ Alternatively, you can set your inv. checker to block all players that do/don't carry the matching object (-> "no_pass"). As you can see, inv. checkers are quite powerful, holding a great variety of possibilities. * "slaying <name>" specifies the object we are looking for: We have a match if the player does/don't carry a [[key object]] or a mark (-> see [[marker]]) with identical slaying <name>. Note that [[key objects]] usually appear as "passports" in this context. A typical example is the city gate mechanism of scorn. - * "race <archtype_name>" specifies the object we are looking for: We have a match if the player does/don't carry an object of archtype <archtype_name>. + * "race <archetype_name>" specifies the object we are looking for: We have a match if the player does/don't carry an object of archetype <archetype_name>. * "hp <type_value>" specifies the object we are looking for: We have a match if the player does/don't carry an object that is of type <type_value>. Example: Set "hp 15" ([[type 15 => weapon]]) and "no_pass 1". Now you have an inv. checker blocking all players that carry any kind of melee weapon. To pass, a player is forced to leave behind all his weaponry... bad news for a warrior. Nice, hum? :) * "last_heal 1": Remove object if found. This is usually not recommended because inv. 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 set last_heal, make sure to inform the player what's going on! * "no_pass 1": If set, only players meeting the match criteria can pass through that space. If "no_pass 0" (default), then the inv. checker acts like a trigger/button. @@ -480,9 +480,9 @@ * "last_sp 0": 'furious' Makes all monsters aggressive * "last_sp 1": 'angry' As above but pets are unaffected * "last_sp 2": 'calm' Makes all monsters unaggressive * "last_sp 3": 'sleep' Puts all monsters to sleep - * "last_sp 4": 'charm' Makes monster into a pet of person who triggers the square. This setting is not enabled for continous operation, you need to insert a connected value! + * "last_sp 4": 'charm' Makes monster into a pet of person who triggers the square. This setting is not enabled for continuous operation, you need to insert a connected value! * "connected <connector_value>": This should only be set in combination with "last_sp 4". Normally, monsters are affected by the mood floor as soon as they step on it. But charming (monster -> pet) is too powerful, so it needs to be activated. Typically it is connected to an altar, for buying a "hireling". But a powerful pet could as well be the reward for solving a quest. Or even better: It could be *part* of a quest! Notes on usage: Notes on usage: Mood floors are absolutely cool for NPC interaction. To make an unaggressive monster/NPC attack, put a [[creator]] with @@ -501,9 +501,9 @@ * "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". + * "unique 1" defines the destined map as "personal unique map". That means there will be a separate 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. IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164506238 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 23:41:05 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 23:41:05 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: map-making_guide Message-ID: <1164519665.808441.7855.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 23:41 User : rednaxela Edit Summary: Expand on notes, and some more spelling fixes @@ -334,9 +334,9 @@ * "lifesave 1" means the mover can be "used up" after a certain number of moves (-> hp). A mover of "lifesave 0" works infinitely. (I know this is opposite to the common sense of "lifesave", but we gotta accept it) * "hp <value>" has only a meaning if lifesave is set: <value> is the number of times minus one, that it will move a player before disappearing. (It will move someone <value>+1 times, then vanish). Notes on usage: - NEVER EVER consider a mover to be impassable in the backwards direction. Setting "attacktype 1" makes it seemingly impossible but there is still a trick: One player can push a second player past the mover, in opposite to the mover's direction! The more movers, the more players needed. Hence, don't make a treasure room that is surrounded by movers instead of solid walls/gates. + NEVER EVER consider a mover to be impassable in the backwards direction. Setting "attacktype 1" makes it seemingly impossible but there is still a trick: One player can push a second player past the mover, in opposite to the mover's direction! The more movers, the more players needed. Hence, don't make a treasure room that is surrounded by movers instead of solid walls/gates. It should be noted though that this behavior can be used for intentionally multi-player maps, and there is one such example in pupland, however it should be noted that forcing players to use that to get through would usually be considered a bit too counterintuitive unless it is hinted to. Btw, it does not make a difference putting movers above or below the floor. Moreover, movers that are "invisible 1" cannot be discovered with the show_invisible spell. Note on directors: @@ -466,16 +466,16 @@ * "last_sp 1" means having that object is a match. "last_sp 0" means not having that object is a match. * "connected <connector_value>" specifies the connector value to be activated if the inv. checker is triggered. This only makes sense along with "no_pass 0". General usage notes: - Putting a check_inventory space in front of a gate (one below) and one on the opposite side works reasonably well as a control mechanism. Unlike the [[key]]/[[door-combo]], this one works infinite since it is independant from map reset. Use it to put a "structure" into your maps: Player must solve area A to gain access to area B. This concept can be found in nearly every RPG - simple but effective. + Putting a check_inventory space in front of a gate (one below) and one on the opposite side works reasonably well as a control mechanism. Unlike the [[key]]/[[door-combo]], this one works infinite since it is independent from map reset. Use it to put a "structure" into your maps: Player must solve area A to gain access to area B. This concept can be found in nearly every RPG - simple but effective. see also: [[special key]] (21), [[marker]] (55), [[pedestal]] (17), [[detector]] (51) === type 65: mood floor === Functionality of mood floors: - As the name implies, mood floors can change the "mood" of a monsters/NPC. For example, an unagressive monster could be turned mad to start attacking. Similar, an agressive monster could be calmed. + As the name implies, mood floors can change the "mood" of a monsters/NPC. For example, an unaggressive monster could be turned mad to start attacking. Similar, an aggressive monster could be calmed. * "last_sp <number>" is used to determine what will happen to the monster when affected by the mood floor: * "last_sp 0": 'furious' Makes all monsters aggressive * "last_sp 1": 'angry' As above but pets are unaffected @@ -632,5 +632,5 @@ * "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. + Avoid monsters stepping on your runes. For example, summoning runes together with spellcasting- and attack-runes is usually a bad idea. One can use this feature intentionally though to create chain-reactions of summoning runes and such things, however one should be careful about doing this. IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/map-making_guide?rev=1164519083 New Revision: http://wiki.metalforge.net/doku.php/map-making_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat Nov 25 23:50:08 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 25 Nov 2006 23:50:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: spell_numbers Message-ID: <1164520208.104142.7870.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/25 23:50 User : rednaxela Edit Summary: This numbering is considered obsolete @@ -1,9 +1,11 @@ - FIXME - reference page, http://mids.student.utwente.nl/~avogl/map_guide/spells.htm ; correct page layout and formatting, confirm accuracing of data + FIXME - reference page, http://mids.student.utwente.nl/~avogl/map_guide/spells.htm ; correct page layout and formatting, confirm accuracy of data ====== Crossfire Spell Numbers ====== - Every Spell in crossfire is identified by a number. Crossfire currently features 201 spells!! The "spellnumber" works like an ID, it is needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. + In the past, every spell in crossfire was identified by a number, at the time featuring 201 spells. The "spellnumbers" would work like an ID, and it was needed to specify spells in various object-types. E.g. spellbooks, rods/wands/scrolls, firewalls... etc. + + These days, spellnumbers are considered obsolete, and are replaced by inserting the spell object directly into the object's inventory. Despite this though, spellnumbers may still be found in legacy maps, and are still used in [[Gridarta]]'s spell selector list, and thus the server still supports them. If you find spellnumbers in use in a map you're editing, it's generally recommended to replace it with inserting the actual spell object instead. Also, some objects give the option of specifying the spell object arch by name instead of inserting it. The spell objects are considered nicer than the old spellnumber system because now individual maps can do things such as have customized spells. A few spells are **bold**, these should not be used by map-makers in any way! Some are //italicized//, these are godgiven spells, they can be used for monsters or firewalls, but they mustn't be handed out to the player IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/spell_numbers?rev=1164508835 New Revision: http://wiki.metalforge.net/doku.php/spell_numbers -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 00:35:58 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 00:35:58 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164522958.084874.7942.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 00:35 User : leaf Edit Summary: Noting more issues or problems @@ -46,10 +46,12 @@ * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden + * This was caused by all three "altars" having the same "connection: 60" value - once those were reset to what was specified in the Creator, the issue was resolved * Another problem - the stair way to the Kennel does disappear (not hidden, it's gone) * mainfloor, Garden Token (found in Guild_HQ) + * mis-matched slaying field on the altar (slaying garden_token) and the name of the Token (Garden Token) * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal - requires bolt_silk instead of tissue paper * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164417745 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 01:04:19 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 01:04:19 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164524659.775569.7984.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 01:04 User : leaf Edit Summary: More comments based on testing @@ -44,8 +44,9 @@ * mainfloor, drop x for a forge * mainfloor, drop x for a message board * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) + * Note: the first gate opens for everyone, it's the second gate that requires the Toolshed token to be turned in for it to open * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden * This was caused by all three "altars" having the same "connection: 60" value - once those were reset to what was specified in the Creator, the issue was resolved * Another problem - the stair way to the Kennel does disappear (not hidden, it's gone) IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164522956 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 01:11:39 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 01:11:39 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164525099.597276.8008.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 01:11 User : leaf Edit Summary: Comment and fix for the forge (anvil) in the toolshed @@ -41,8 +41,9 @@ * mainfloor, drop x for a mailbox * mainfloor, drop x for basement stairs * mainfloor, drop x for a forge + * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring is already matched correctly * mainfloor, drop x for a message board * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) * Note: the first gate opens for everyone, it's the second gate that requires the Toolshed token to be turned in for it to open IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164524657 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 01:27:43 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 01:27:43 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164526063.095591.8036.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 01:27 User : leaf Edit Summary: More notes on issues and resolution with the workbench located in the toolshed @@ -42,8 +42,10 @@ * mainfloor, drop x for a mailbox * mainfloor, drop x for basement stairs * mainfloor, drop x for a forge * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring is already matched correctly + * mainfloor, drop x for workbench + * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring has to be updated as well between the creator <-> check inventory * mainfloor, drop x for a message board * mainfloor, drop x for stove * mainfloor, Toolshed Token (found in Guild_HQ) * Note: the first gate opens for everyone, it's the second gate that requires the Toolshed token to be turned in for it to open IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164525098 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 01:33:52 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 01:33:52 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164526432.717589.8045.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 01:33 User : leaf Edit Summary: Not sure what I changed on this one.. =-P @@ -65,9 +65,11 @@ * basement, drop 10 gold coins (for what?) * basement, dropping the Firestar named fearless allows access to BigChest, but I suspect that the drop location of the chest is not as intended because the player is in the way * bigchest, one you enter the chest the exit back to the basement is broken ("closed") * Other areas untested + + In the far upper right of the map, things such as the altars, stairs, message board, et al. reside on teleporters which then "transport" items to the map as they are obtained (drop x gold, return with a spectre, etc.) - those map tiles are not unique. So, when the map is reset (which is normal), already purchased items reappear in that area. From my testing, this does not cause any problems at the moment. But this should be corrected/fixed. ==== New or Suggested Features and Ideas ==== * Add an altar for Valkyrie in the basement map * Please add your suggestion here IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164526061 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 01:55:30 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 01:55:30 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164527730.872837.8087.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 01:55 User : leaf Edit Summary: More details of problem and resolution for purchasing the stove - also noted new problem with floor tiles @@ -46,8 +46,10 @@ * mainfloor, drop x for workbench * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring has to be updated as well between the creator <-> check inventory * mainfloor, drop x for a message board * mainfloor, drop x for stove + * Requires the "connection" to be re-matched between the altar <-> creator, inventory check between inventory <-> gate worked + * after purchasing the altar, a woodfloor tile drops in it's place and surrounded by grass; after dropping the Garden Token, a patch of grass appear and is surrounded by a woodfloor - I suspect those have were accidently turned around * mainfloor, Toolshed Token (found in Guild_HQ) * Note: the first gate opens for everyone, it's the second gate that requires the Toolshed token to be turned in for it to open * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164526430 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 22:52:53 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 22:52:53 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164603173.729894.10521.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 22:52 User : leaf Edit Summary: Updates and details in regards to the Glowing Crystal Room on secondfloor @@ -61,8 +61,11 @@ * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) + * This was updated to allow access to the Glowing Crystal room + * Also, one of the tokens from the Guild_HQ was updated and is required as a turn in to gain access to the Glowing Crystal Room + * Glowing Crystal Room works like many of the skill areas, pay a price for "day pass" to access the crystal; also have multiple gates in place to protect players and items from the mana explosion * secondfloor, drop x for Jewelers room * secondfloor, drop x for Thaumaturgy room * basement, drop 10 gold coins (for what?) * basement, dropping the Firestar named fearless allows access to BigChest, but I suspect that the drop location of the chest is not as intended because the player is in the way IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164527728 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 22:58:08 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 22:58:08 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164603488.479530.10530.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 22:58 User : leaf Edit Summary: More updates on what now works @@ -42,32 +42,36 @@ * mainfloor, drop x for a mailbox * mainfloor, drop x for basement stairs * mainfloor, drop x for a forge * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring is already matched correctly + * Forge room works now, just need to determine what "x" is * mainfloor, drop x for workbench * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring has to be updated as well between the creator <-> check inventory + * Workbench room works now, just need to determine what "x" is * mainfloor, drop x for a message board * mainfloor, drop x for stove * Requires the "connection" to be re-matched between the altar <-> creator, inventory check between inventory <-> gate worked - * after purchasing the altar, a woodfloor tile drops in it's place and surrounded by grass; after dropping the Garden Token, a patch of grass appear and is surrounded by a woodfloor - I suspect those have were accidently turned around + * after purchasing the altar, a woodfloor tile drops in it's place and surrounded by grass; this is still a problem + * after dropping the token to gain access to the stove area, a woodfloor now appears which is intended (fixed) * mainfloor, Toolshed Token (found in Guild_HQ) * Note: the first gate opens for everyone, it's the second gate that requires the Toolshed token to be turned in for it to open - * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token) - * While in DM mode, I patched the altar on the floor to make this work; also resulted in a woodfloor tile dropping on the "drop x for basement stairs" and "drop x for a mailbox" spots which makes them now hidden - * This was caused by all three "altars" having the same "connection: 60" value - once those were reset to what was specified in the Creator, the issue was resolved - * Another problem - the stair way to the Kennel does disappear (not hidden, it's gone) + * mis-matched slaying field on the altar (slaying Toolshed_token) and the name of the Token (Toolshed Token)- now fixed + * Fixed the problem where othe rnearby pay altars would disappear when the toolshed was "purchased" * mainfloor, Garden Token (found in Guild_HQ) * mis-matched slaying field on the altar (slaying garden_token) and the name of the Token (Garden Token) * mainfloor, drop 5 tissue paper for a portal to the Pupland Terminal - requires bolt_silk instead of tissue paper * secondfloor, drop 20 amulets of Lifesaving for a portal to ? * This drop spot disappears and is replaced with a second or additional portal to the Mazes of Menace (when 20 amulets of Lifesaving are dropped on it) - * secondfloor, (x 15 y 7) drop x for Alchemy room (not sure why this is listed twice?) - * secondfloor, (x 11 y 1) drop x for Alchemy room (not sure why this is listed twice?) - * This was updated to allow access to the Glowing Crystal room + * secondfloor, (x 15 y 7) drop x for Alchemy room + * Alchemy room works now, just need to determine what "x" is + * secondfloor, (x 11 y 1) drop x for Glowing Crystal Room + * This was updated to allow access to the Glowing Crystal room (was listed as Alchemy room) * Also, one of the tokens from the Guild_HQ was updated and is required as a turn in to gain access to the Glowing Crystal Room * Glowing Crystal Room works like many of the skill areas, pay a price for "day pass" to access the crystal; also have multiple gates in place to protect players and items from the mana explosion * secondfloor, drop x for Jewelers room + * Jewelers room works now, just need to determine what "x" is * secondfloor, drop x for Thaumaturgy room + * Thaumaturgy room works now, just need to determine what "x" is * basement, drop 10 gold coins (for what?) * basement, dropping the Firestar named fearless allows access to BigChest, but I suspect that the drop location of the chest is not as intended because the player is in the way * bigchest, one you enter the chest the exit back to the basement is broken ("closed") * Other areas untested IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164603171 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun Nov 26 23:50:49 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 26 Nov 2006 23:50:49 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164606649.537647.10620.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/26 23:50 User : leaf Edit Summary: More updates on what works, but still needs fine tuning @@ -39,9 +39,11 @@ "Broken Altars" - it appears that it has been undecided on what exactly should be used or dropped to gain access to the following: * mainfloor, drop x for a mailbox + * This works, just need to determine what "x" is * mainfloor, drop x for basement stairs + * This works, just need to determine what "x" is * mainfloor, drop x for a forge * Requires the "connection" to be re-matched between the altar <-> creator and then between the check inventory <-> gate, the keystring is already matched correctly * Forge room works now, just need to determine what "x" is * mainfloor, drop x for workbench @@ -72,13 +74,13 @@ * secondfloor, drop x for Thaumaturgy room * Thaumaturgy room works now, just need to determine what "x" is * basement, drop 10 gold coins (for what?) * basement, dropping the Firestar named fearless allows access to BigChest, but I suspect that the drop location of the chest is not as intended because the player is in the way - * bigchest, one you enter the chest the exit back to the basement is broken ("closed") + * bigchest, once you enter the chest the exit back to the basement is broken ("closed") * Other areas untested In the far upper right of the map, things such as the altars, stairs, message board, et al. reside on teleporters which then "transport" items to the map as they are obtained (drop x gold, return with a spectre, etc.) - those map tiles are not unique. So, when the map is reset (which is normal), already purchased items reappear in that area. From my testing, this does not cause any problems at the moment. But this should be corrected/fixed. ==== New or Suggested Features and Ideas ==== * Add an altar for Valkyrie in the basement map * Please add your suggestion here IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164603487 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 27 00:19:18 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 27 Nov 2006 00:19:18 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo:python_guilds Message-ID: <1164608358.428787.10665.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/27 00:19 User : leaf Edit Summary: Comment about the no_magic tiles being on top of the floor tiles, they should go underneath them - lots of work ahead @@ -78,9 +78,12 @@ * bigchest, once you enter the chest the exit back to the basement is broken ("closed") * Other areas untested In the far upper right of the map, things such as the altars, stairs, message board, et al. reside on teleporters which then "transport" items to the map as they are obtained (drop x gold, return with a spectre, etc.) - those map tiles are not unique. So, when the map is reset (which is normal), already purchased items reappear in that area. From my testing, this does not cause any problems at the moment. But this should be corrected/fixed. + + + Major chore: placing all the no_magic tiles under the regular floor tiles so they do not show up with the show invisible spell ==== New or Suggested Features and Ideas ==== * Add an altar for Valkyrie in the basement map * Please add your suggestion here IP-Address : 65.165.40.73 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds?rev=1164606647 New Revision: http://wiki.metalforge.net/doku.php/dev_todo:python_guilds -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon Nov 27 01:05:37 2006 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 27 Nov 2006 01:05:37 -0600 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: gridarta Message-ID: <1164611137.575381.10741.nullmailer@wiki.metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2006/11/27 01:05 User : rednaxela Edit Summary: Update line counts @@ -4,12 +4,12 @@ ===== Status ===== There have been no official releases of Gridarta yet. Most of the current effort seems to be going towards merging and cleanup on both sides. This table gives a rough idea of how much code is merged currently: ^ Section ^ Lines (including blank and commented) ^ - | Merged code | 5178 (excluding textedit stuff) | - | Gridarta4Crossfire | 31627 | - | Gridarta4Daimonin | 32060 | - | --- //[[user:rednaxela|Alex Schultz]] 2006/11/05 22:08//|| + | Merged code | 6914 (excluding textedit stuff) | + | Gridarta4Crossfire | 31092 | + | Gridarta4Daimonin | 30597 | + | --- //[[user:rednaxela|Alex Schultz]] 2006/11/27 1:04//|| ===== Getting Gridarta ===== Gridarta can be retrieved from svn with: svn co https://svn.sourceforge.net/svnroot/gridarta IP-Address : 66.222.158.169 Old Revision: http://wiki.metalforge.net/doku.php/gridarta?rev=1163197135 New Revision: http://wiki.metalforge.net/doku.php/gridarta -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From bogus@does.not.exist.com Tue Nov 28 18:27:24 2006 From: bogus@does.not.exist.com () Date: Wed, 29 Nov 2006 00:27:24 -0000 Subject: No subject Message-ID: <mailman.0.1164986973.13274.crossfire-wiki@metalforge.org> | Str, Dex, etc | If spell changes and ability, this is the ability it cha= nges. | | sint16 dam | Base damage the spell does | | sint16 sp | how many spellpoints the spell costs | | sint16 grace | how much grace the spell costs | | sint16 maxsp/maxgrace | Every 'maxsp/maxgrace' levels beyond its base le= vel, the spell cost doubles (this is pro rated like the old code). For exa= mple, if a first level spell costs 5 sp, and maxsp is 5, then at level 6 i= t would cost 10 sp. However, at level 2, it is 6 sp, level 3 is 7 sp, etc= . | | uint8 dam_modifier | for every maxdam levels above what is needed to cas= t the spell, it does an extra point of damage. Note if you want a spell t= o double its damage every X levels, the maxdam may have to be quite low (1= ) if the spell does high damage. For example, suppose you have a 10'th le= vel spell that does 50 damage. If dam_modifier is 5, then every 5 levels i= t does one extra point, so at level 25, it would do 53. If dam_modifier is= 1, then at level 25 it would do 65. | | sint16 duration | Base duration of the spell (was bdur) | | uint8 duration_modifier | Modifies duration of spell, acts the same way = as dam_modifier. | | uint8 range | Range of the spell - this could be how far a lightning bol= t goes, how big that fireball is, etc. Spells with range 0 are personal o= nly spells. Spells with range 1 can touch a person on a neighboring space= . Range will not change based on level of the caster - if higher range is = desired, different spell should be made. | | uint8 range_modifier | Modifies range of spell, acts ame way as dam_modi= fier | TBD: There are also many fields in the spell structure which are not copied - charges, scrolls, scroll_chance, books, defensive, cleric, onself. The defensive, and onself can largely be derived from the subtype above. if subtype is protection or healing, it'd be self.=20 cleric is basically redundant now - the skill says what skill to use for this spell. Note that a spell could in theory cost both mana and grace - what it costs is not necessarily tied to a skill. However, it would be bad practice to make a wizardry spell use mana. However, I could potentially see hybrid skills that have some variosu benefits, or if we have say a 'magic' god, perhaps some special spells it provides a use mana. So lets next touch on the idea of treasurelist for spell objects. As mentioned above, spell objects, like wands, spellbooks, scrolls, etc, contain the spell they cast. The way spells end up in those objects is via a mechanism there is already code for - treasurelists. Currently, the treasure generation code notices if a wand, rod, spellbook, or scroll is generated. If so, it calls special code that looks at the field of the spell structure and randomly chooses a spell. Instead, this is just replaced with treasurelists. The scroll object would have a 'randomitems scroll', wands a 'randomitems wand',etc. These may be big treasure lists, but that shouldn't post any problem. More likely, these lists would be broken up into smaller pieces (eg, scroll_low_level, scroll_medium_level, scroll_high_level). This provides finer resolution than is currently allowed in the spell=20 structure - you could make some spell available only in rods, but not wands. you can better adjust things to better spells show up in tougher dungeons, etc, When a spell is cast, often it copies over certain values into the SPELL_EFFECT (102). The subtype of the SPELL_EFFECT, which should general= ly match that of SPELL itself, determines what the spell does. =3D=3D=3D=3D=3D Spell paths documentation =3D=3D=3D=3D=3D Long ago a number of archmages discovered patterns in the web that spells weave in the aether. They found that some spells had structural similariti= es to others and some of the mages took to studying particular groups of spel= ls. These mages found that by molding their thought patterns to match the patt= erns of the spells they could better utilise all the spells of the group. Becau= se of their disciplined approach, the mages were described as following spell Paths. As they attuned themselves to particular spell Paths they found tha= t they would become repelled from others, and in some cases found they were denied any access to some paths. The legacy of these mages remains in some of the magical items to be found around the world. Technical details: In the same way that players and objects can be protected, immune, and vulnerable to the different types of attacks, they can now be attuned, repelled, or denied access to the different spell Paths. An object that is attuned to a Path cast spells from that Path at 80% of the spell point cost and receives duration/damage bonuses as if the caster were five level= s higher. An object that is repelled from a Path casts spells from that Path at 125% of the spell point cost and receives duration/damage bonuses as if= =20 the caster were five levels lower (minimum of first level). An object that is denied access to a Path cannot cast any spells from it. The casting=20 time is also modified by 80% and 125% respectively. These values are defined in PATH_SP_MULT (from spells.h), PATH_TIME_MULT (from spells.h), a= nd path_level_mod (from spells.c) =20 The Paths themselves are the following: "Nothing", "Protection", "Fire", "Frost", "Electricity", "Missiles", "Self", "Summoning", "Abjuration", "Restoration", "Detonation", "Mind", "Creation", "Teleportation", "Information", "Transmutation", "Transferrence". See define.h for the number values corresponding to the Path. Some more will be added in the near future. Some spells do not currently= =20 belong to a Path, this is probably appropriate for some spells. Paths are inherited just like protection/immunity/vulnerability, ie if a ring contains "path_attuned 1", the wearer becomes attuned to the Path of Protection. Paths are quite powerful and shouldn't be given away cheaply. Ideally, mos= t objects with path_attuned attributes should have path_repelled and path_de= nied attributes as well, to balance out (eg attuned to Fire, repelled from=20 Protection, and denied from Restoration) =3D=3D=3D=3D=3D Spell subtypes =3D=3D=3D=3D=3D This section lists specific spell subtypes and what they really do. The idea is to try and generalize the object types (cones, bolts, balls, etc). However, some number of spells, most notably detection spells, must have their own entries because the code that is actually executed needs to re-act accordingly. SP_RAISE_DEAD (1) These spells bring back dead players. These spells are only useful on servers that use PERMADEATH. Con: The number of con points the target character loses. exp: the experience loss ratio (eg, exp -=3D exp/spell->stats.exp. =09If zero, no exp is lost last_heal: If set, corpse isn't required, just character name randomitems: If set, then when the spell fails, the treasurelist is u= sed =09to determine what nasty monsters to summon. Note that this list is not processed as a normal list - rather, everything =09on the list is created, so chance values are meaningless. race: If set, this is used as a treasurelist to determine what class to change the character to (reincarnation). Basically, it just looks up the treasurelist that is using the race name. This should be a treasureone type list. SP_RUNE (2) Runes are objects that embed another spell in them, and are activated when someone walks on top of the rune. Runes can be disarmed. other_arch: This can be set to one of 3 values: =09Name of rune (type =3D rune): If this is the case, rune is put on =09 the map with few changes. =09name of spell: In this case, the spell is embedded into the the rune. =09 generic_rune object will be used, with the face updated. =09NULL: in this case, the player specifies the rune to embed. face: Face that the rune object will use. If other_arch is set in the spell object, then it is assumed that the sp (or grace) cost in the spell object is the total that should be used. If it is an embedded spell, then the cost will be in addition to that to cast the spell. Special rules for runes where player can choose what spell to embed: skill for the embedded spell must match the rune Player must have enough mana/grace to embed the spell as well as cast the actual rune. Note that runes created by players/monsters will have the spell put in= to the rune's inventory. However, archetype runes will still use the oth= er arch, as inventory in archetypes isn't really supported. This really works fine - This allows custom spells to be embedded into runes. For archetypes, using the default spell archetypes work fine. SP_MAKE_MARK (3): This makes a 'mark' that contains a message. In the old system, this used to be part of the rune code, but it really doesn't have anything in common with runes (except in name). other_arch: Object used to store the message. =20 SP_BOLT (4): This fires a bolt (other_arch) of the spell object. All of the following values are copied from the spell object and into the bolt object (other_arch in the spell object). damage, attacktype, slaying have normal meaning range (exp): How many more spaces this will go before it ends. duration (hp): How long it stays on each space. Dex: chane (percentage) the bolt has of forking Con: Chance that the bolt forks left. Note if duration is less than range, which it should typically be, then a bolt will only be in a subsection of the entire range. A bolt object can have the generator flag set, in which case as the bolt moves along, it will create an other_arch object. The steambolt is an example of this. This can not be set in the spell obje= ct, and is instead set in the other_arch field that the spell refers to. SP_BULLET (5): Bullets are single objects that go in a direction and hit something. The simplest case here is magic bullet, that hits something and does damage. exploding ball type spells are a more complicated variation. These object start out as a bullet, but when they hit something, they explode, into fire or poison or the like. The other_arch field determines what they explode into. Values for spell object range: diameter of the explosion (copied into maxhp). =09Note that for the bullet itself, the range is always set to 50. other_arch: bullet object to create. dam: how much damage the bullet does. attacktype: copied to the bullet. slaying: copied to the bullet. duration: How long the explosion lasts for. Not used for bullet =09only spells. copied into hp field of the bullet object. food (& dam adjust): Damage the explosion does. copied into the bulle= t =09dam_modifier field. See notes about explosion below. SP_EXPLOSION (6): Objects of subtype explosion are really only useful when attached to a bullet - you don't really want to explode something on yourself. Note that the set up of the below values is also the same for SP_CONE types if a cone is attached to a bullet. attacktype: from other_arch, but add magic if bullet has it. damage: this is copied over the the bullet dam_modifier. The bullet dam_modifier is based on the 'food' value=20 range: Copied over from stats.maxhp. This determines the radius of th= e =09explosion. duration: copied over from stats.hp. This determines how long the =09explosion lingers. Given two objects are created from one spell, tuning this/creating new spells of this type is tricky. We can only use the range for the bullet or explosion. Likewise, adjusting damage is difficult. Ideally, perhaps, some additional fields in the spell object itself are used to fully implement this, eg, these two fields determine the range/damage of the bullet, and these 3 determine range/blast/damage of the ball itself. That is the only real way to make a ball spell fully adjustable. SP_CONE (7): sp is the overall direction of the cone is moving in. other_arch: object to create as it moves along. flag_lifesave: if true, object never goes away (eg, lava) duration: This is how many ticks the spell stays on space. flag_stand_still (was food): Causes the object not to progress Note that SP_CONE can be the other_arch of a SP_BULLET. In this case, the set up of the cone values is as described in SP_EXPLOSION setting. Note 2: The other_arch that is in the cone can really be any object. As such, the code does not modify this object, other than to set proper ownership. As such, you can't set what values will be set in the arch thus created vitriol is the best example of both of these notes - it starts out as a bullet, which then turns into a cone, which then drops acid pools. SP_BOMB (8): Bombs are as they are described - objects that sit around for a little while before exploding. The bomb itself is harmless - its not until it explodes do bad things happen. In the bomb object, the following attributes are set up: dam: damage of the flying fragments/explosion range: how far the fragments/explosion extends. duration: How long the explosion lasts. attacktype: Type of damage the bomb does. bombs tick at a constant rate, as defined by there speed. They explod= e when the finish their last animation. There is no way to adjust this rate of ticking in the spell object, other than to point other_arch at a customized bomb. A bomb then explodes. It explodes into 'splints' (this is unfortuantely hardcode), and the other_arch pointer of the bomb, which default is of SP_EXPLOSION. SP_WONDER(9): wonder is a spell that will cast another spell. It will also sometime= s cast a cone of flowers (other_arch). randomitems: treasure list to look for spell to cast. Note old wonder code would only cast spell that would be found in books. This new code can be used to cast most any spell, as defined as in the treasurelist. Note 2: Ideally, the flower effect should also be in this treasure lis= t, so the occurence could be accurately controlled. SP_SMITE(10): smite spells are target spells - the spell looks for an appropriate enemy in the direction pointed, and if one is found, hits them with whatever is in the other_arch. It is generally assumed that other_arc= h will point to another spell. other_arch: Object to create. dam, range, duration (& modifiers) are copied into the spell effect that other_arch points to. attacktype: Attacktype to give to the spell effect. Special notes if attacktype includes a death attacktype (finger of death): Won't work on undead - makes them strong. the level of the created object is set to the dam (& modifier) of the spell. SP_MAGIC_MISSILE(11): magic missiles are really just a bullet type object that have some more intelligence in their guiding (but not much). Basically, a magic missile will more or less go in the direction it is fired, but will adjust course to hit a monster. Thus, if something isn't perfectly lined up, magic missile will still hit it. range, attacktype, etc, all have normal meanings. =20 SP_SUMMON_GOLEM(12): This spell summons a friendly creature/object that helps out the player. other_arch: Pet/object this spell creates. race: If set to 'holy servant' or 'avatar', this is now a =09summon avatar spell, whose monster is determined based on the =09god being worshipped. Note that these names are just passed =09to determine_holy_arch() dam: How much damage the golem will do. dam_modifier alters this in t= he =09expected way. If zero, damage from the golem is used, but damage =09modifer will still be added. duration: increases the golems hp, which basically amounts to duration= . attacktype: If set, golem gets this attacktype instead of the =09normal arch attacktype. range_modifier: This adjust the wc and speed of the creature. golems lose 1 hp each time they do something. This effectively limits their duration, but does mean it can be extended by healing the golem. Not sure if this is the way to go, or if duration should really just be used. Note - the old code had ldam and ldur have multiple meanings, and the code multipled them by 10 internally. This is no longer done - instead, the archetype itself should have the real value (10 times the old compiled in values) SP_DIMENSION_DOOR(13): dimension door lets the player move some large number of spaces. One still can not teleport through no magic areas. range: How far we will move the player maxsp, level_modifier: Normal spell meaning. SP_MAGIC_MAPPING(14): This draws an overview of the map around the player. There are curren= tly no parameters the spell takes - the results are always the same. One = could forsee parameters to change how far one sees, what one sees, etc. SP_MAGIC_WALL(15): This spell creates a magic wall. Walls can have a wide set of properties. Many are determined by the other_arch or race (the wall the spell creates). other_arch: wall to create. race: Name of the object to summon. This should include the %d. eg, 'director_%d'. Note that if the object is non directional, just don't include the %d in the race. Note that if both other_arch and race is set, then other_arch takes precedence no_pass: If set, then the object can not be created on the space the =09player is standing on. In all cases, the object can not be =09created on a space that is blocked by an object. is_used_up: If set, then this flag is set in the created object tear_down: If set, this flag is then set in created object, as well as flag_alive range (and range_modifier): How many spaces in each direction the wall should go. If this is 1, the wall will be 3 spaces total (1 + 1 in each direction). If this is 0, the wall is a single space. attacktype: Attacktype to set on the created wall. duration (and duration_modifier): The number of hit points/duration of the wall. dam and dam_modifier: Damage the wall does. Exactly how the a attacktype, duration, and damage values play out depend on what is being created and the spell. Created object is of type SPELL_EFFECT: attacktype, dam, and duration are copied into fields of same name. Created object is alive: duration becomes the objects hit points. is_used_up (either in spell, or created object): duration put into objects food value. tear_down (in spell only): Spells damage value is copied into=20 =09objects hp/maxhp The level of the created object is always set to half that of =09the caster level. SP_DESTRUCTION(16): Destruction hits all the spaces within some distance of the player with damage. range (& modifier): Number of spaces in each direction to do damage to= . dam (& modifier): Amount of damage to do to each creature. attacktype: Attacktype to hit the creatures with. other_arch: This can in practice be anything, but is typically just us= ed as an effect to show what spaces where hit. race Note: As converted to a spell object, this is now usuable by monsters. The rule for what is damaged is basically this: If cast by a player/friendly creature, damages non players/non friendl= ies. If cast by a monster (non friendly), damages players/friendlies. SP_PERCEIVE_SELF(17): This is really just a hook to know to call the right routine - at current time, none of the dam/range/duration fields of the spell have any meaning - only think that is used is the grace and skill pointers. perceive self basically presents information to the player about thems= elves, eg, race, any depletions, etc. Generally, isn't that useful since mos= t all the same information is available with built in commands. SP_WORD_OF_RECALL(18) Word of recall teleports the player back 'home' after some amount of time. Parameters: duration: How many ticks until the player is returned hom. duration_modifier: This _reduces_ the duration above so that the playe= r return home quicker. SP_INVISIBLE(19): Makes the character invisible to monsters. duration (& duration_modifier): How long to be invisible for. race: What to make the player invisible against. Note this only applies for when players cast invisible - monsters will always be invisible to players, and not care about the race field. race 'undead' has a bit special meaning, as it will chack against the flag_undead field. race can be NULL, in which case it will make the player invisible to everything _but_ undead. Note also that check is done that =09'race' a subset of the race of the monster (eg, don't use comma seperated values). It is not possible to be invisible to both undead and non undead at the same time. make_invisible: if set, this is 'improved' invisible vs temporary invisibility that disappears when attacking. SP_PROBE (20): This spell looks in some direction (as specified by the pla= yer) and returns information about a monster. range (& modifier): How far off in a direction to look. SP_HEALING(21): This spell heals a character/monster. Creature must be where the player is. attacktype: Attacktypes to heal: =09AT_DISEASE: cure diseases. =09AT_POISON: remove poisoning. =09AT_CONFUSION: remove confusion. =09AT_BLIND: remove blindness stats.food: Food amount to add to character. stats.dam: how much to heal. stats.hp: Number of d6 to roll for healing. last_sp: Regenerate this number of spell points. last_grace: Regenerate this number of grace points. =09(since the sp and grace fields are used for how much it costs =09to use the spell, we can't re-use those fields unfortuantely) other_arch: seems unused - kept could be used as a spell effect =09indicator. Note that any number of these fields can be combined. SP_CREATE_FOOD(22): This creats food for the player. The food is not worth any money, but otherwise normal food. food: Base amount of food to create. duration_modifier: Creates an addition 50 food/increase of this value. The formula for how much food value is created is: food_value=3Dspell_ob->stats.food +=20 + 50 * SP_level_duration_adjust(caster,spell_ob); SP_EARTH_TO_DUST(23): This destroys earthwalls near the player. range (& modifier): Radius to destroy earthwalls in. Note that this is a 'square' radius. SP_CHANGE_ABILITY(24): this adjust some ability the player has (str, dex, attacktypes, etc). This is only for beneficial effects - this is mostly because of the targetting logic (negative effect would still target friendly creature). By default, only one benefit spell of each time can be active at a time (eg, you could have a strength and a dex, but not two strength spells). This is noormally tracked by changing the force name to be the same name as the spell, but see the race attribute below. If a spell is already in effect, the duration of the existing spell will be increased, but otherwise none of the spell effects will be changed. race: If this is set, this is used instead of the spell name when renaming the force. This is useful if you only want one of a group of spells active at once (this is currently used for bless & holy possession - you're allowed only one.) name_pl of the force will always contain the other spell name. duration (& modifier): How long the spell lasts for. Note that durati= on is in ticks. Note old system used damage for duration, and each point of damage was basically 50 ticks. Note also that duration_modif= ier is a bit difference - this increases durations in 50 ticks - this is because most of these spells are long duration, and increasing a 200 duration spell by 15 ticks if the caster is really high level is pretty meaningless. resist_*: The protection the spell grants. Note that the code does no sanity checking on these values, other than to make sure they do not exceed 100. Before spell objects, there was code to put caps on these values. There is no practical way to say waht the caps should be if so put on - instead, just make sure that that dam_modifier is a sane value. dam_modifier: Increases the resistance granted by 1 point. ac: Benefit to armor class. This is copied over unmodified. wc: Benefit to weapon class. This is copied over unmodified hp: Copied over, but damage adjustment added as a bonus. hp in the form of a force increases characters hp regen rate. Str, Dex, Con, Wis, Int, Pow, Cha: Attempted adjustement to the stat. These values are number of d3's rolled to adjust. In additin, these values also determine the max benefit based on the recipient - the table is 15 + 5 * attr_value. If 1, then the highest the recipients stat after this would be 20. If 2, highest would be 25, if 3, highest would be 30, etc. flying, can_see_in_dark, xrays: Copied over to force - =09 gives caster this ability. attacktype: Added to force object, giving the caster the attacktype. exp: Copied over - this acts as bonus speed. This value is adjusted =09so really fast players get less a benefit than slower players. SP_BLESS(25): This blesses the character - the character gets various benefits based on the god he worships. Note that BLESS spells use the same type of force object as ability change above, include the race to prevent multiple castings. Note that most of all of the values are copied _from the god_. The value in the spell_object is only really used to know if the value from the god should be copied. resist_godpower: The character gets the resistance benefits that his god gives (which can be anything). resist_godpower is the upper limit of any benefit the character will get. last_grace: If set, players get same attunement as their god. attacktype: If non zero, the player gets the attacktype of the god. The character also gets the slaying of the god if attacktype is set. ac, wc: Copied over from spell_ob to force. SP_CURSE(26): This is a lot like BLESS. Notable difference is that this is a bad effect for the recipient. ac,wc: Copied over from spell_ob - should be negative, since these should be penalties. last_grace: If set, recipient is denied/repelled to spellpath that the god is denied/repelled with. race: Same as for SP_BLESS, in that it can be used to limit number of course type effects. range: Range of the spell. SP_SUMMON_MONSTER (27): This covers a large subtype of monster/object summoning. At its very basic, this spell will create an object that is unchanged from the archetype, and thus can be used to basically create any objec= t. other_arch: Object to create. randomitems: If set, a treasurelist to use to select the monster from. The randomitems list for these spells is a bit special - the magic entry is what the monsters effective level is. One can not summon monsters of higher level than they are. Note that magic values should be unique, as the list will use the highest value available. So if two identical magic values are used, for different objects, only the second entry would actually have monsters created. In addition, the magic values should be in order. race: If set to "GODCULTMON", this is a special spell that will =09create monsters associated with the players god. We can't use =09either of the two fields to denote this, because they point to =09other structures, and what monsters we should create can not be =09defined easily in the archs, as it will depend on what god the player =09worships. If multiple fields above are set, the order used is other_arch, random_items, race. Only one of the values will be used - you can't get multiple things created by setting up multiple values. attack_movement (move_type): If set, this is set in the monster. Thus= , if the object should be a pet, move_type should be set to PET_MOVE. dam (& modifier): Number of creatures to create. In the case of spells that use randomitems (which can specify their own nrof), this is acted as additional monsters. flag_monster: If set, creature will not be friendly. If cleared, flag_friendly will be set on the monster (using the flag_friendly in the spell_ob itself is problematic in that there is a special list for friendly objects, and we really don't want the spell on that list. The reason not all summoned monsters are friendly is because there are some spells that create monsters specifically meant to be agressive to the player. If flag_monster is set, the monster/created object is not changed.=20 Only if it is not set, do we set a value (flag_friendly). SP_RECHARGE (28): This spell is used to recharge a wand. dam (& modifier): Number of 'spell levels' to recharge. Basically, the number of charges increase in the wand by dam / wand spell level. Thus, very low level wands are easier to recharge than high level wands. =20 SP_POLYMORPH (29): This spell by default is disabled because of variosu abuses within the spell. The spell normally turns one object into another similar type of object (eg, orc to goblin, sword to dagger, etc). range (& modifier) How far the polymorph spell extends. other_arch: Visual effect to draw on the map as it moves along. SP_ALCHEMY (30) This turns nearby objects into gold nuggets. duration (& modifier): This is multiplied by 1000 to determine the amount of material that will be converted (think of these values as the amount of kilograms to be converted) SP_REMOVE_CURSE (31) This removes the cursed/damned status of objects. It only effects objects equipped by the player. cursed: uncurse cursed objects. damned: remove damnation. SP_IDENTIFY(32) This identifies objects in the players inventory and on the ground. dam (& modifier): The number of objects to identify SP_DETECTION(33) This detects nearby objects (including ones in the players inventory). Detection in this context typically means revealing properties about the objects. range (& modifier): How big a radius to look for objects. Radius in this context is really a square - the size of the square would be 2*range + 1, with the player being in the center. other_arch: The spell effect to draw on the map for spaces that match the object. Note that for some detection types, the face is replaced by the face of the matching object. This following attributes determine what objects to show. Note that more than one of these can be set (for a 'detect all spell' for exampl= e). make_invisible: If true, show invisible objects known_magical: If set, detect magical objects. flag_monster: If set, detect monsters known_cursed: If set, detects cursed objects. race: If set, only detects creatures of this race. if race is =09'GOD', then it uses the god's slaying race for the match. SP_MOOD_CHANGE (34): This changes the 'mood' of a monster. See below for how moods are changed. range (& modifier): How for this spell effects, just like SP_DETECT ab= ove. race: If set, only monsters of matching race are effected. Can be set to GOD_SLAYING, in which enemy races of the god are effected. if set to GOD_FRIEND, then races alligned with the god are effected= . attacktype: Attacktype the spell hits with. The spell doesn't do any =09damage - this instead is used for saving throw information. Note that the monster uses its best resistance for the saving throw. EG, the more attacktype the spell has, the better the odds. berserk (flag): Set the monster to be berserk, which basically means =09it attacks anything (conflict spell) unaggressive (flag): Sets the monster to be unaggressive. (pacify) undead (flag): By default, undead are immune to mood changes. however= , if =09this flag is set, undead will be effected (limited by other criteria =09above, like race (if set) and saving throw) no_attack (flag): Make the creature friendly (charm & charm monster)) monster (flag): Wakes the monster up, makes it an enemy of the player =09(aggravation) Note that a spell could set multiple of these fields, but it wouldn't really do much - a monster can really only have one mood. SP_MOVING_BALL (35): This is really only used as a spell effect. Values of note: path_repelled: If set, the player must be attuned to these paths to cast the spell. This can basically be used to control who can cast the spell. duration (& modifier): Copied into food of the object - this is =09 basically how long the spell lasts for. dam & attacktype have expected meaning. other_arch: Object that is used for the manifestation of the spell. Must be set for spell to work. SP_SWARM (36) swarms are spells that fire other spells. It fires the same spell, but multiple times (eg, 5 lightning bolts). Set during casting: duration: Number of d3 to roll to determine number of sub bolts. duration_modifier: Added to duration as a bonus. other_arch: Name of the other spell it fires. SP_CHANGE_MANA (37) This gives/takes spellpoints to the target of the spell. If this spel= l gives sp, the the cost should be more than the sp it gives. target mu= st be in the same or adjacent space. dam (& modifier): number of sp to transfer. If dam is negative, then = this =09spell takes away, and dam and modifier represent what percentage of sp =09to drain (dam_modifier should still be positive). These sp are then =09given to the caster of the spell. This subtypes corresponds to the old transferrence and drain magic spells. SP_DISPEL_RUNE (38) This removes runes from the ground. There are currently no tunables for this spell. SP_CREATE_MISSILE (39) Creates bolts or arrows. dam (& modifier): max plus of arrow that can be created. duration (& modifier): Number of arrows to create. Note that making good (highly magical) arrows reduces number of arrows to be made. SP_CONSECRATE (40) This converts an altar to that of players god. There are currently no tunables to this spell. SP_ANIMATE_WEAPON (41) This spell is similar to the GOLEM spells - it basically creates a golem, but uses a donor weapon for the face, basic attributes, etc. To implement this, it puts the donor weapon in the inventory of the golem, so when the golem dies, the weapon is returned to the ground. Note that in the conversion, I modified this spell to use the weapon 'marked' by the player, instead of the equipped weapon. other_arch: The object used to encapsulate the weapon. race: If set, the donor weapon must match this name. If this is not =09set, then the face of the golem will be set to the weapon. =09The reason for this is that if race is set, then since it =09is matching a specific weapon, it is presumed that the =09other_arch field can be appropriate set. range_adjust: Bonus to wc and speed for the spell duration & modifier: Bonus to creatures hp. dam & modifer: Adjust to damage the golem does. SP_LIGHT (42) Arguably, such a basic spell wouldn't seem to need its own subtype. However, looking at the other spells, it really didn't fit in very well elsewhere - the magic_wall code passes most of its parameters to the object it creates. Something like summon_monster doesn't work, because it wants a free space to put the object. And while it would be nice to somehow merge create food, create missile, and this, they are sufficiently different that they don't work very well. So instead, I try to abstract this as much as I can. attacktype: If set, and there is a monster on the target =09space, the monster gets hit with the attacktype and the =09damage setting. If this happens, the spell progresses no =09further. dam: As per note above, how much damage this does. other_arch: Object to place on the map. duration: set the the 'food' value in the created object - =09if is_used_up is set in the arch, this is how long the =09spell lasts for. range: If the created object has a glow radius, range =09is used to replace it. In this way, we don't make non =09glowing objects glow, but do make ones that do glow =09glow brighter. SP_CHANGE_MAP_LIGHT (43) This changes the light level on the map. There is only one tunable: dam: amount to change the lightlevel. This is passed to =09change_map_light, as such, negative values are lighter, =09positive is darker SP_FAERY_FIRE (44) Faery fire makes creatures within the area of effect glow. This code uses the cast_destruction routine, but just handles what happens when it finds a valid target. range (& modifier): Number of spaces in each direction to do damage to= . duration & modifier: Potency of the spell - determines how long the =09creature will glow for (in 10's of ticks) other_arch: This can in practice be anything, but is typically just us= ed as an effect to show what spaces where hit. Note: As converted to a spell object, this is now usuable by monsters. The rule for what is damaged is basically this: If cast by a player/friendly creature, damages non players/non friendl= ies. If cast by a monster (non friendly), damages players/friendlies. SP_DISEASE (45) disease spells infect players with a harmful disease. range (& modifier): How far to look in the line for matching targets. other_arch: Disease to infect the target with. duration_modifier: This is used to adjust the disease stats =09in several ways: =09wc +=3D mod/2 =09magic +=3D mod / 4 =09maxhp, maxgrace +=3D mod dam_modifier: Modifiers other aspects of the disease: =09dam, maxsp, ac, last_eat, hp, sp: modified by full mod =09last_sp: modifier by mod * 2 The disease code treats these modified values in its own way. SP_AURA (46): Auras create fields around the players that effect anyone that steps into them. other_arch: aura type to insert duration: How long the aura lasts for. For this spell, each =09duration_modifier is 10 ticks. dam & modifier: How much damage the aura does. attacktype: Attacktype of the aura. SP_TOWN_PORTAL (47): This creates two linked portals which the player can use to get back and forth quickly. other_arch: Name of the force object to use to mark the first portal =09target location (town_portal). race: Name of the object used to mark where the portals goe =09(town_portal_active) slaying: Name of the object used for the actual exit objects =09(town_portal_magic) Note the spell otherwise doesn't have any tunables. It should be noted that if different archetypes were made it, it should be possible to have multiple town portal type spells that lead to different destinations. Old values: hp: duration exp: range maxhp: set to a ->count variable, so spells can be uniquely identified. =3D=3D=3D=3D=3D Spell casting objects =3D=3D=3D=3D=3D As described in section 2 above, objects that cast spells (wands, rods, scrolls, etc) contain the spell they cast in their inventory. When the pl= ayer uses the object, the code looks for an object in the inventory, and uses t= hat as the type of spell to cast. Treasure lists are used to determine what spell goes in the object. Thus, what spells show up in the objects is determined purely by the treasure li= sts, and unique lists can be pade for potions, scrolls, wands, horns, and even different lists for heavy and light rods. The value of the finished object is the value field in the spell object multiplied by the value object in the original object (rod, wand, scroll). For items that come in different levels, the value is also adjusted based = on the level of the object based on the difference of level. The code for this is in common/treasure.c The nrof field for the treasurelists for these objects have special meanin= gs - since the spell objects are invisible objects within the spell casting obj= ect, the nrof field has no actual meaning. However, we borrow that meaning for= use in the parent object. For wands, nrof is used for the number of charges the item has. For scrolls, nrof is the number of scrolls to make. This overrides the nrof value for the scroll itself - this allows for fine tuning number of scrolls that show up for different spells. RODS/HORNS: ---------- hp is the amount of 'energy' the rod currently has. when a spell is cast, hp is reduced by the amount of sp/grace the spell takes up. speed: how often the rod recharges. There used to be a much more complica= ted way of of regenerating charges. Instead, each time a rod activates, it regenerates 10% of its total power. Thus, a rod of speed 1.0 would fully recharge in 10 ticks, a rod with speed 0.1 would fully recharge in 1= 00 ticks. This change in the way rods recharge now mean the speed of a rod can be set in a map (or elsewhere), and that change would stick. Within the archetype itself, the maxhp value determines the number of spells the rod can hold before it needs to recharge again. POTIONS/DUSTS: -------------- potions and dusts (which were really just potions with a is_dust flag set) have been redone in several ways. First, potions had varying meanings for the same archetype. You could have potions that improve stats permenantly, ones that cast spells, and dust. There is now a SPELL_POTION (116) type. This is used for potions that ast spells. These type of potions really never should have been the same type in the first place - other than name, they really had none of the same code. FIREWALL (62) ---------------------------- These objects are very basic - they cast a spell whenever they activate. If they have a spell object in their inventory (must be first item), that is the spell that is cast. Otherwise, they cast what other_arch points to. Firewalls can be activated by buttons, and can also cast spells in specifi= c directions. The direction the firewalls fire in is stored in the 'sp' fie= ld of the firewall. Note that FIRECHEST (61) got folded into FIREWALLS, because functionally, they were identical - just set 'sp 0' in the firechest, and it fires in a random direction. =3D=3D=3D=3D=3D Arch directory layout =3D=3D=3D=3D=3D This section describes the basic layout of the archetypes in the arch directory. This explanation is here to try and prevent confusion (where should this arch go), where would I find an arch, etc. I thought about this a bit - would it be better to organize spells by attacktype (eg, all fire spells together, all cold spells, etc), or by typ= e of spell (bolt spells, bullet spells, cone spells, etc). I think both methods have valid reasons for and against them. I decided t= o do it by spell type because I think it will make it easier to compare spells. For example, if one bolt spell does 20 damage, and another does 30 damage, even if by another attacktype, pretty easy to see that the later is more potent. This also organizes the spells more by their subtype, which is the more standard way the arch's have been done in the past. It makes for designin= g new spells much easier (you'd just copy a starter arch from the same directory, and not need to hunt for another one - imagine something like acid bolt). That said, the organization (all relative to the arch top level directory) magic: This directory goes away. There are many things that are magical that are not spells, so having a directory named magic is IMO not the best of name: spell: top level directory. This directory is for the spell archetypes, and is not meant to contain non related spell code. thus, the pentagram (actually a teleporter), and the weapon improver scrolls (not really in any way related to spells) would get relocated. Bolt: Contains the bolt spells Bullet: Bullet spells. Common: Contains objects that are related to spells in many areas, =09eg, the burnout is used by many types of spells, and things like =09a flaming square or icy square are used for cone, bolt, and =09exploding ball spells - those would be located here. Cone: Contains cone spells Healing: healing spells Potions: Contain the various potions. SeekingBall: spells like ball lightning Spellbook: spellbook/prayerbook objects. Wand: Contain the wand, staff, rod archetypes. There are almost certainly sub types I'm missing that I'll have to fill in= . The idea here is to try to sketch something out that gives me a working layout to fill things in. Within each of the spell subtype directories, the entries for the spell information would be needed. And example below: spell_lightning_bolt.arc: This is the spell object that goes in the player= / monster inventory that says they know the lightning bolt spell. As per other documentation, this also contains things like the skill neede= d to use this spell, spell point cost, level cost, etc. lightning_bolt.arc: this is the other_arch of the spell_lightning_bolt.arc= . Few values in this are actually used - most of the values come from the parent arc. However, this (lightning_bolt.arc) contains the information like what the animation for the spell look like. lightning_bolt.base.111.png (and so on) are the images used by the lightning_bolt.arc arch. In the case of subtype directories with lots of entries, it is likely that= the directories may then get broken up by things like attacktype of the spells= . =3D=3D=3D=3D=3D Programming notes =3D=3D=3D=3D=3D The number of top level object types is reduced - instead, many are now SPELL_EFFECT, with the subtype being the same as the spell that created them. The server/time.c still has a dispatch for the SPELL_EFFECT, but it is in server/spell_util.c which determines how each subtype should be handled. I try to keep all the same spell related code together, eg, put the code that casts the cone as well as moves the cone in the same file next to each other. This should reduce bugs - if someone changes one piece, they are more likely to notice the other piece and also update that. This is better than having the function in a completely different file. spell_util.c really only contains very general code - dispatch routines, funcitons to adjust spells, etc. The actual work is done in either spell_attack.c, spell_effect.c, rune.c, or pets.c. basically all the defines are in include/spells.h. This is a much simpler file than once was here. Remember, all the data now comes from the archetypes. =3D=3D=3D=3D=3D Abilities =3D=3D=3D=3D=3D In the old code, abilities had some special meaning in terms of what spells the monster would cast. In the new system, abilities are no different than spells, and use the=20 same type/subtype. Abilities may still be seperate for a few reasons: 1) monsters are not likely to have all the needed skills. 2) sp/grace costs may be different. 3) Many abilities shouldn't add attacktype magic. 4) Abilities generally have a very fast casting time, since monsters move slower. It should be noted that many creatures just use the spell, and not the ability. Only some spells have ability counterparts. Note: Before giving spell abilities to monsters, be sure that the monster will actually use them - the code in monster.c results in monsters only casting spells of certain subtypes. maxsp: This increased the likelihood of monster choosing the spell. (eg, maxsp 3 vs maxsp 1 would mean 3 times as likely). This should instead by done in the treasurelist, so that more of that ability is created. hp/sp: Index for the spell that is used. One was 'short' range vs long range. IP-Address : 213.174.127.3 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/dev:spells --=20 This mail was generated by DokuWiki at http://wiki.metalforge.net/