From no-reply_wiki at metalforge.org Sat May 1 10:47:44 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 01 May 2010 10:47:44 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: content:skill_quests Message-ID: <1272728864.739599.11320.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/01 10:47 User : ryo Edit Summary: some ideas @@ -1,13 +1,18 @@ Each skill should have a quest which has the skill as the reward. + + Also, there should be quests to level up, for many skills. This is a dumping ground for design ideas == alchemy == Start: potion shop, scorn? Find some 'odd' alchemical ingredients. + ==bargaining == - ==bowyer == + == bowyer == + On some map, you enter and accidentally break a precious bow. The owner is of course enraged with you, and wants you to repair it. So he instructs you to go to some master bower to learn the skill. + ==find traps== ==hide == ==jeweler== ==jumping== @@ -23,13 +28,17 @@ ==lockpicking== ==missile weapons== ==oratory== + Some rhetorical quest? + ==praying == ==remove traps== ==sense curse == ==sense magic == ==singing == + As part of the city theatre in Navar? + ==smithery== == stealing == Should this be learnable? it's use is discouraged on most public servers. If it is, the it has to be a 'steal something' quest. @@ -39,5 +48,9 @@ ==thaumaturgy== ==throwing== ==use magic item== ==woodsman== + Something with elves? + ==writing == + Help a writer find the tools he requires to write a book, and give ideas of subject. + IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/content:skill_quests?rev=1272685289 New Revision: http://wiki.metalforge.net/doku.php/content:skill_quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 2 08:59:42 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 02 May 2010 08:59:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: faq Message-ID: <1272808782.277186.24373.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/02 08:59 User : Edit Summary: added link to crossfire handbook -- josh @@ -491,9 +491,9 @@ ==== 3.4 Solving Maps ==== === 3.4.1 I'm on the starting map, what do I do now? === - You should be in a city square with a few sign posts in the middle. Move over the signs and apply them ("a") to read what they say. Other suggestions and ideas can be found in the Crossfire Handbook. + You should be in a city square with a few sign posts in the middle. Move over the signs and apply them ("a") to read what they say. Other suggestions and ideas can be found in the Crossfire [[http://crossfire.real-time.com/guides/handbook/|Handbook]]. ==== 3.4 Technical Problems ==== === 3.4.1 Why is everything so slow or why am I lagging so badly? === IP-Address : 84.140.161.165 Old Revision: http://wiki.metalforge.net/doku.php/faq?rev=1271169157 New Revision: http://wiki.metalforge.net/doku.php/faq -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue May 4 15:43:21 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 04 May 2010 15:43:21 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1273005801.390012.11283.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/04 15:43 User : ryo Edit Summary: update @@ -224,15 +224,14 @@ The following tools are used to compile the server: * Microsoft Visual Studio 6 (service pack 4 probably). Server has not been tested with other versions. * flex, from [[http://gnuwin32.sourceforge.net/packages/flex.htm]]. * you need it to build ''common/loader.c'' and ''random_maps/reader.c'' from their respective .l. Syntax is: ''flex -oloader.c -i loader.l'', ''flex -oreader.c -i -P rm reader.l'' respectively. The ''-P rm'' seems to be required to not have duplicate symbol issues - * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]] + * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]]. 1.50 has been tested with Python 2.6 from [[http://www.python.org/download/|Python.org]], [[http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi|direct link (MSI installer)]] * if you want metaserver2 support, you'll need: - * libcurl, from [[http://http://curl.haxx.se/]]. You probably want [[http://curl.haxx.se/download/libcurl-7.17.1-win32-nossl-sspi.zip|this file]]. + * libcurl, from [[http://curl.haxx.se/]]. You probably want [[http://curl.haxx.se/download/libcurl-7.18.0-win32-msvc.zip|this file]] (no SSL support, none needed a priori). * pthread, obtained from [[http://www.sourceware.org/pthreads-win32/]]. Tested with pthreads-w32-2-8-0-release.exe - * zlib, file ''zlib123-dll.zip'' from [[http://www.zlib.net/]] ([[http://prdownloads.sourceforge.net/libpng/zlib123-dll.zip?download|direct link]]) + * zlib, file ''zlib1-dll.zip'' from [[http://sourceforge.net/projects/gnuwin32/|GNU Win32]] ([[http://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/zlib-1.2.3-bin.zip/download|direct link]]) * copy the following files to the directory you'll run Crossfire from: ''pthreadVC2.dll'', ''zlib1.dll'', ''libcurl.dll'' - * define ''HAVE_CURL_CURL_H'' in the projects settings (project settings -> C/C++ -> general -> preprocessor definitions) * link the executable to ''libcurl.lib'' and ''pthreadVC2.lib'' (project settings -> link -> general -> object/library modules) * to build the installer, you need [[http://nsis.sourceforge.net|NSIS]], and [[http://www.perl.org|PERL]] (for maps installer). * to build archetypes, you need PERL * once you got the server sources, open a command prompt, go to ''make_win32'' directory, run the ''installwin32.bat'' file. It will create required directories IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1245720635 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Tue May 4 16:12:35 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Tue, 04 May 2010 16:12:35 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: crossfire_compile_guide Message-ID: <1273007555.836348.12320.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/04 16:12 User : ryo Edit Summary: precise Python version @@ -224,9 +224,9 @@ The following tools are used to compile the server: * Microsoft Visual Studio 6 (service pack 4 probably). Server has not been tested with other versions. * flex, from [[http://gnuwin32.sourceforge.net/packages/flex.htm]]. * you need it to build ''common/loader.c'' and ''random_maps/reader.c'' from their respective .l. Syntax is: ''flex -oloader.c -i loader.l'', ''flex -oreader.c -i -P rm reader.l'' respectively. The ''-P rm'' seems to be required to not have duplicate symbol issues - * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]]. 1.50 has been tested with Python 2.6 from [[http://www.python.org/download/|Python.org]], [[http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi|direct link (MSI installer)]] + * [[http://www.python.org|Python]] to build the Python plugin. Any version starting from 2.3 should do the trick, if not [[http://sourceforge.net/tracker/?func=add&group_id=13833&atid=113833|report a bug please]]. 1.50 has been tested with Python 2.6.5 from [[http://www.python.org/download/|Python.org]], [[http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi|direct link (MSI installer)]] * if you want metaserver2 support, you'll need: * libcurl, from [[http://curl.haxx.se/]]. You probably want [[http://curl.haxx.se/download/libcurl-7.18.0-win32-msvc.zip|this file]] (no SSL support, none needed a priori). * pthread, obtained from [[http://www.sourceware.org/pthreads-win32/]]. Tested with pthreads-w32-2-8-0-release.exe * zlib, file ''zlib1-dll.zip'' from [[http://sourceforge.net/projects/gnuwin32/|GNU Win32]] ([[http://sourceforge.net/projects/gnuwin32/files/zlib/1.2.3/zlib-1.2.3-bin.zip/download|direct link]]) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide?rev=1273005797 New Revision: http://wiki.metalforge.net/doku.php/crossfire_compile_guide -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 5 06:58:14 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 05 May 2010 06:58:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:guide_to_quest_dialogs Message-ID: <1273060694.959729.14068.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/05 06:58 User : cavehippo Edit Summary: describe dialog check script @@ -57,10 +57,11 @@ * 'post' - **Required** - Actions which take place after a rule has been matched these are things that happen after * 'msg' - **Required** - This is what the NPC will say. * 'suggests' - **Optional** - These are responses that the client can give which 'make sense'. The client should permit other responses not on this list. * 'requires' - **Optional** - These are a list from the responses that the client must give. The client may choose not to permit other responses that are not on this list. + * 'comment' - **Optional** - This has no meaning, you can put whatever you want as a comment, this is recommended for very complex dialog. - Any other types of element will be **ignored** this does mean you can put in something like a 'comment': element to explain why some really complex rules are structured the way they are, this is recommended for very complex dialog. + Any other types of element will be **ignored** and generate a warning when the file is checked. ==An include rule== These rules determine whether to include a file which can contain additional rules. These included files can also include more files, there is no theoretical limit to this, although you probably don't want to go more than 3 or 4 levels down just because it becomes a little impractical then. @@ -455,8 +456,24 @@ for emphasis. + + ===== Sanity Checking ===== + + Ok, so now you have finished writing your dialog file, the next step will be testing it. You can do this with a local server and watch for error messages that it spits out, but you can also save yourself some time by checking the dialog file beforehand. + + There is a script in maps/python/dialog called check_dialog.py which can do this for you. + + run it against your dialogue file, like this: + maps/python/dialog $ python dialog_check.py ../../scorn/shops/smith.msg + and you should see an output like this: + checked 12 rules from file ../../scorn/shops/smith_finished.msg Found 0 errors and 0 warnings + checked 47 rules from file ../../scorn/shops/smith.msg Found 0 errors and 0 warnings + + If there are errors in the dialog file, this will pick them up and allow you to correct them before needing to run a server and speak to the character the dialog is bound to. + + **NB** This script only checks for grammatical errors in your dialog files, there is no check that the rules you have set up actually make sense, nor is there any checking for the order of your rules, it is up to you to ensure your rules do what you want when you want. ===== Quest Definition ===== Quests are defined in a text file, in a similar way to archetypes. There are a collection of fields that may be used to express different properties of the quest. IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs?rev=1272652383 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 5 11:16:28 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 05 May 2010 11:16:28 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1273076188.804703.16016.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/05 11:16 User : cavehippo Edit Summary: @@ -5,9 +5,15 @@ | Gramps Malone's Walking Stick | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12997|revision 12997]] additional content (wheelbarrow) in revisions 13010-13012| | | The Head of the Goblin Chief | Scorn | Needs playtesting| Subquest of The Scorn Nobility | | The Head of the Ogre Chief| Scorn | Needs playtesting| Subquest of The Scorn Nobility | | Outbreak of Undead| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | The Scorn Nobility| Scorn | Partially Implemented| Only tiers 1-3 done so far | + | A Cure for Bunions| Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | Slithselest for Supper | Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | Demons in Euthville | Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | DragonLord Diplomacy | Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | The Great Pretender| Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | The King's Curse| Scorn | Needs playtesting| Subquest of The Scorn Nobility | + | The Scorn Nobility| Scorn | Needs playtesting| In order to convert player files, there needs to be a script to rewrite them. | | Getting out of scorn| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| | | Down to the docks| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| | | Gate Pass| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| Subquest of Getting out of scorn | | Port Pass| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] | Subquest of Down to the Docks | IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1272405944 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 06:00:18 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 06:00:18 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: server_plugin Message-ID: <1273316418.535591.30907.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 06:00 User : ryo Edit Summary: update @@ -52,8 +52,9 @@ * event: ''object*'' representing the actual event object linking to plugin. Will be ''NULL'' for global events. Its fields mean: * ''subtype'': event code * ''title'': plugin name * ''slaying'': plugin specific value + * talk: ''talk_info*'' (see dialog.h file) containing dialog information. Only meaningful and not NULL for an EVENT_SAY event. Follows the full list of object-specific events. ==== Apply ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/server_plugin?rev=1271290046 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 Sat May 8 06:02:52 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 06:02:52 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273316572.586185.30911.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 06:02 User : ryo Edit Summary: update @@ -311,16 +311,44 @@ ==== 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. + ==== MatchString ==== Parameters: * 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 + + ==== AddReply ==== + Parameters: + * string that is the word the player can say + * string that is the description of the choice + + This method can only be called in a EVENT_SAY context. + + Will generate an error if too many replies defined or not in an EVENT_SAY context. + + ==== SetPlayerMessage ==== + Parameters: + * string that is what the player will be seen as saying + * optional integer being the type of the message + + This method can only be called in a EVENT_SAY context. + + ==== NPCSay ==== + Parameters: + * ''object'' that is the NPC who will talk + * string that is the message to say + + This method can only be called in a EVENT_SAY context. + + Will add an NPC reply, that will be displayed to the player when the dialog processing ends. + + Will generate an error if too many messages defined or not in an EVENT_SAY context. ====== Crossfire module classes ===== All classes below are part of Crossfire module ===== Archetype ===== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1269613832 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 Sat May 8 07:26:31 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 07:26:31 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273321591.532254.31381.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 07:26 User : ryo Edit Summary: ReplyType @@ -107,8 +107,9 @@ 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 source code, in uppercase, without specific prefix (ie F_TRUE becomes TRUE, AT_FIRE becomes FIRE, and so on). @@ -122,8 +123,9 @@ * ''EventType'': EVENT_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]'' * ''MessageFlag'': NDI_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/newclient.h?view=markup|include/newclient.h]]'' * ''Move'': movement types, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' * ''Type'': object type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' + * ''ReplyType': the rt_xxx constants, reply type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/dialog.h]]'' ''MessageFlag'' and ''Move'' can be combined, using +, to build multiple values. {FIXME} do a nice table, with link to values? IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273316565 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 Sat May 8 07:29:28 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 07:29:28 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273321768.492436.31389.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 07:29 User : ryo Edit Summary: update @@ -336,9 +336,9 @@ ==== SetPlayerMessage ==== Parameters: * string that is what the player will be seen as saying - * optional integer being the type of the message + * optional ''ReplyType' constant being the type of the message, defaults to ''ReplyType.SAY'' This method can only be called in a EVENT_SAY context. ==== NPCSay ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273321690 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 Sat May 8 07:28:17 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 07:28:17 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273321697.112486.31385.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 07:28 User : ryo Edit Summary: fix markup @@ -123,9 +123,10 @@ * ''EventType'': EVENT_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/plugin.h?view=markup|include/plugin.h]]'' * ''MessageFlag'': NDI_xxx constants, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/newclient.h?view=markup|include/newclient.h]]'' * ''Move'': movement types, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' * ''Type'': object type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/define.h]]'' - * ''ReplyType': the rt_xxx constants, reply type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/dialog.h]]'' + * ''ReplyType'': the rt_xxx constants, reply type, as defined in ''[[http://crossfire.svn.sourceforge.net/viewvc/crossfire/server/trunk/include/define.h?view=markup|include/dialog.h]]'' + ''MessageFlag'' and ''Move'' can be combined, using +, to build multiple values. {FIXME} do a nice table, with link to values? IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273321587 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 Sat May 8 07:31:03 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 07:31:03 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273321863.746717.31398.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 07:31 User : ryo Edit Summary: fix markup, again O.o @@ -336,9 +336,9 @@ ==== SetPlayerMessage ==== Parameters: * string that is what the player will be seen as saying - * optional ''ReplyType' constant being the type of the message, defaults to ''ReplyType.SAY'' + * optional ''ReplyType'' constant being the type of the message, defaults to ''ReplyType.SAY'' This method can only be called in a EVENT_SAY context. ==== NPCSay ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273321764 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 Sat May 8 07:33:36 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 07:33:36 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273322016.312696.31403.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 07:33 User : ryo Edit Summary: try to clarify the last parameter @@ -788,9 +788,12 @@ Arguments: * ''String'': key value * ''String'': value to associate to the key - * ''Number'' (optional, defaults to 0): 0 to only update the key and not insert it, non zero to add it anyway. + * ''Number'' (optional, defaults to 0): if 0, the key will only be updated if it already exists in the object; if non zero, will insert it if not already existing + + + **Note**: if you're not sure whether the key exists in the object, you must use ''1'' for the last argument, else the key will not be created if it doesn't exist. ===== Map ===== Properties in **bold** are read-write, others read only. * Difficulty: ''Number'' IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273321855 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 Sat May 8 08:16:11 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 08:16:11 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfdialog Message-ID: <1273324571.825119.32468.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 08:16 User : ryo Edit Summary: add 'replies' @@ -205,8 +205,10 @@ All of the rule values are lists, and must be enclosed by square braces, but pre and post are lists of lists, so the double square braces ([[]]) are required. **msg** defines one or more responses that will be given if the rule triggers. When more than one "msg" value is set up, the NPC randomly selects which one to say each time the rule is applied. + + **replies** optionally defines suggestion to the player if this rule is executed. This is used first to let the player know what options are available, and secondly to alter the text that the player will actually say. This should be a list of items in the form ''[word, text, type]'', with ''word'' the actual word the player should say, ''text'' the text the player will actually say if she says the word, ''type'' an optional integer to specify if the text is a regular sentence (0), a reply (1) or a question to ask (2). A relatively complex example of an npc_dialog.py dialog is given in the Gork treasure room quest. See **/scorn/kar/gork.msg** in particular as it demonstrates how multiple precondition flag values may be exploited to produce non-linear and variable-path conversations that are less likely to frustrate a player. Refer also to **/scorn/kar/mork.msg** to see how more than one dialog can reference the same dialog flags. ====Related Resources==== @@ -214,5 +216,4 @@ * [[http://crossfire.svn.sourceforge.net/viewvc/crossfire/maps/trunk/python/misc/npc_dialog.py?view=log|npc_dialog.py]] in SVN. * Some actual in-game dialogs supported by npc_dialog.py are: - Mork and Gork mini-quest in Scorn - Sigmund in Newbies House - IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfdialog?rev=1231289322 New Revision: http://wiki.metalforge.net/doku.php/cfdialog -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 08:35:16 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 08:35:16 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:ryo Message-ID: <1273325716.296234.32499.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 08:35 User : ryo Edit Summary: update @@ -1,6 +1,6 @@ - Name on IRC: Ryo_ + Name on IRC: Nicolas Can be found on [[servers:metalforge|MetalForge]], under the nick //Kaori// my to-do list: [[user:ryo:todo]] IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:ryo?rev=1163605696 New Revision: http://wiki.metalforge.net/doku.php/user:ryo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 08:37:04 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 08:37:04 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:ryo:todo Message-ID: <1273325824.469547.32502.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 08:37 User : ryo Edit Summary: statistics @@ -21,8 +21,9 @@ * expand 'use' command; put combinations in a file, with more options partially done, merged with alchemy, but limited * alchemy: add 'on_failure_yield' for failures, add min required level * harvest: add breakage percentage * alchemy: multiple cauldrons for one recipe + * [[stats|statistics]] on armors, spells, damage, and such * skills or spells consuming specific items when used/cast - done for spells * quests command, and mechanism around -- would need a way to activate a quest when reading a randomly generated scroll, maybe? * better random maps; fix key placement with some a* algorithm to split the map in parts * reduce food supply, like divide by 10 the current values?, to give more interest to food - right now it's useless IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:ryo:todo?rev=1265919925 New Revision: http://wiki.metalforge.net/doku.php/user:ryo:todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 08:48:43 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 08:48:43 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:ryo:stats Message-ID: <1273326523.126909.32529.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 08:48 User : ryo Edit Summary: created This page lists current statistics and such for current implementation. ^ Statistics ^ Players ^^^ Monsters ^^ ^ ^ Modifiers ^ Min ^ Max ^ Min ^ Max ^ | armor class | ? | ? | ? | ? | | weapon class | weapons, combat skill level | level 0: 0 ; low Str: -2 ; total: 2 | level 115: 29; max Str: 5; total: -34 | ? | ? | | damage | combat skill level | 1 | 29 | ? | ? | | HP | | SP | | GR | | speed | IP-Address : 82.236.87.204 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 09:16:02 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 09:16:02 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:ryo:stats Message-ID: <1273328162.579143.32708.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 09:16 User : ryo Edit Summary: base tables @@ -1,6 +1,7 @@ - This page lists current statistics and such for current implementation. + The aim of those tables is to list, in the current implementation, the various values statistics can have, based on existing equipment and such things. + ====== Natural statistics, without equipment ====== ^ Statistics ^ Players ^^^ Monsters ^^ ^ ^ Modifiers ^ Min ^ Max ^ Min ^ Max ^ | armor class | ? | ? | ? | ? | | weapon class | weapons, combat skill level | level 0: 0 ; low Str: -2 ; total: 2 | level 115: 29; max Str: 5; total: -34 | ? | ? | @@ -8,5 +9,30 @@ | HP | | SP | | GR | | speed | + + ====== Weapon statistics ====== + ^ Weapon ^ Min ^ Max ^ + ^ damage | + ^ speed | + ^ weapon class | + ^ ac | + + ====== Protection statistics ====== + ^ Protection type ^ Min ac ^ Max ac ^ Min wc ^ Max wc ^ Min dam ^ Max dam ^ + ^ shield | + ^ ring | + ^ amulet | + ^ girdle | + ^ helmet | + ^ boots | + ^ gloves | + ^ cloak | + + ====== Armor statistics ====== + Only one of those will affect ac and wc + ^ Armor type ^ Min wc ^ Max wc ^ Min ac ^ Max ac ^ Min speed ^ Max speed ^ + ^ armour | + ^ bracers | + ^ force | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats?rev=1273326521 New Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 8 09:21:53 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 08 May 2010 09:21:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:ryo:stats Message-ID: <1273328513.868663.32721.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/08 09:21 User : ryo Edit Summary: update @@ -2,11 +2,11 @@ ====== Natural statistics, without equipment ====== ^ Statistics ^ Players ^^^ Monsters ^^ ^ ^ Modifiers ^ Min ^ Max ^ Min ^ Max ^ - | armor class | ? | ? | ? | ? | - | weapon class | weapons, combat skill level | level 0: 0 ; low Str: -2 ; total: 2 | level 115: 29; max Str: 5; total: -34 | ? | ? | - | damage | combat skill level | 1 | 29 | ? | ? | + | armor class | Dex ; for players who can't use weapons, level | -4 ; base ac - level/3, capped to -10 | 7 | + | weapon class | weapons, combat skill level, Str | level 0: 0 ; low Str: -2 ; total: 2 | level 115: 29; max Str: 5; total: -34 | ? | ? | + | damage | combat skill level | 1 | 29 | | HP | | SP | | GR | | speed | @@ -34,5 +34,4 @@ ^ Armor type ^ Min wc ^ Max wc ^ Min ac ^ Max ac ^ Min speed ^ Max speed ^ ^ armour | ^ bracers | ^ force | - IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats?rev=1273328161 New Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 08:56:35 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 08:56:35 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:cavesomething:resistances Message-ID: <1273499795.429920.13444.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 08:56 User : cavehippo Edit Summary: created ===Just some thoughts around how to remodel resistances:=== Currently 100% resistance to an attack type is very powerful, and 95% is nice, but can still be substantially worse than 100%, especially at high levels. ==To change this:== remove the idea of resist% and introduce resist points. Every attack that is made rolls against ac in order to decide whether it hits or not, for each attack there are a number of points 'spare' that exceeded the minimum roll to hit. - we call this the attack_excess. If the attack_excess is more than twice the resist points for the type of attack, then this is a 'critical' attack, and the damage is multiplied by a random value between 2 and 3. otherwise we multiply the attack_excess by the amount of damage the attack wants to do, we will call this the damage_potential. we now divide the damage_potential by the resist points, and get from that the total amount of damage to deal. So, if we are attacked by a creature that rolls 10 points more than he needs to attack us, and would do 20 damage, his attack_excess is 10, his damage potential is 200. if our resistance to this attack is below 10 points, then this will be a 'critical' hit and do 40-60 damage. if resistance is 10 points, damage is 20 if resistance is 20 points, damage is 10 if resistance is 30 points, damage is 6 (round down?) if resistance is 40 points, damage is 5 if resistance is 200 points, damage is 1 above 200 points, no damage would be taken from that attack, but if the next to-hit roll were better, then damage could be taken from the second attack. ==So, what is 'good' resistance?== Good values for resistance are more than twice the possible 'to hit' rolls that monsters you are facing can make, this will increase as you go up levels.* Doubling the amount of resistance you have will always halve the amount of damage you take. If you have inadequate resist points, then you will take critical hits all the time, a first level character fighting a level 20 monster should expect every (ie, //the//) hit against them to be a critical unless they have some seriously out-of-level equipment. The Con stat will give some resist points for all types of attacks, enough to ensure you probably won't take critical hits 90% of the time against creatures up to 10 levels higher than your Con stat. (although you would expect to take maximum damage or close to it for almost every attack). * what these values are will depend on how ac/wc are reworked IP-Address : 81.141.58.188 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:resistances -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 10:57:59 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 10:57:59 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:cavesomething:possible_stat_values Message-ID: <1273507079.905418.13952.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 10:57 User : cavehippo Edit Summary: created The following is intended to provoke some thought, not be definitive. weapon stats: |Stat |Meaning |Typical Range| | damage | how many hit points would be done to an unresisted, non-critical hit | 1-100, inversely proportional to weapon speed, not above 40 for non-artifact weapons. | | weapon_speed | how many attacks could be attempted with 0 range penalty in one minute | 5 for hammers, 10 for broadswords, 40 for rapier, 50-80 for dagger| | weapon_reach | how far, in inches, an attack can be done from the front hand of the attacker - ie, blade length. | 0 for hand to hand, 4 for daggers, 18 for small swords, 24-40 for big swords, 36-60 for axes/hammers/staves| | attack bonus | number of levels to increase the effective attack skill by | 1-5 is typical, 10 is really good, 20-30 are really powerful artifacts | player stats |Stat | Meaning |Based on| Typical Range| | speed | Inches that a player can move per minute | Dex, Weight of equipped items/strength+dex, Weight of Carried equipment/strength | 1000-10000, 10000 is only likely for someone who is almost completely unburdened| | wc | likelihood to hit with any given attack | skill in weapon, dex*weapon_speed, str/weapon_speed (ie, dex good for fast weapons, strength for slow ones| unsure | | ac | likelihood to avoid being hit with any given attack | dex, weight of equipped items, weight of carried items, bonuses from items | unsure | | resist points | [[http://wiki.metalforge.net/doku.php/user:cavesomething:resistances]] | Equipped items, Constitution | unsure | Every melee combat is between 2 opponents, additional attackers are defended against, and this can slow down subsequent attacks, but are not attacked directly at the same time. There is a penalty to defend based on how far away the defenders facing is from the attacker (attacking a player in the back is easy). The difference between weapon_reach for the two combatants creates a range penalty for one attacker, in order to attack they attempt to advance by their range penalty, and then attack as many times as they can before the other player gets a strike. If they can not advance by their range penalty then they may attack an out-of-range strike over a distance of up to 10 inches, this corresponds to stretching out in order to hit someone. Doing this has a major penalty to to_hit (10% reduction per inch?) - Question - should there be an option to set a stance? This system suggests 4 obvious ones: * aggressive - if retreating would lose an additional attack, attack anyway, take a major penalty to ac for the opponents attack, * opportunistic, if you could get an extra attack by not advancing fully, take the partial step and extra attack with the penalty, that way an aggressive stance could correspond to not * normal - take as many attacks as you can while hitting normal range and returning. * defensive - return early and 'leave' an attack to parry with. (gives a bonus to effective ac based on how much time is left and weapon_skill) This can mean that a slowed creature may be unable to attack an axeman with a dagger. Example. I attack an axeman while holding a dagger, I am using a 'normal' stance. Me: speed 3000 weapon_speed 50 weapon_reach 4 Him: weapon_speed 7 weapon_reach 40 (speed doesn't matter with a long range weapon, slow characters will prefer them for that reason). I have a range penalty of 36 inches, I may move 3000 inches or attack 50 times per minute. My opponent has a weapon_speed of 7, he gets seven attacks per minute. start of combat: My opponent attempts to attack, he will strike in 60/7 seconds time. I attempt to attack, I have 60/7 seconds to attempt to attack, I must close a range penalty of 36 inches, so I must travel 72 inches (there and back) I can travel 3000 inches a minute, or 50 a second, so moving takes 72/50 seconds, this leaves me (60/7)-(72/50) seconds to land attacks, I have 50 attacks per minute or 5/6 of an attack per second. Therefore I can land ((60/7)-(72/50))*5/6 = 5.94 attacks before my opponent strikes. The .94 that remains is halved (or reduced by a fixed amount- 0.2, say?) to 0.47 - this is to bring my guard up for the next attack. - This number is my 'readiness' My opponent strikes next, if my opponent would score a hit, then I have a chance based on my readiness, and my weapon_skill to parry the attack, reducing the excess roll used in the damage calculation, doing this also reduces the remaining readiness by an amount. If my opponent missed, I would now have 0.47 attacks in reserve, effectively this is as though I start my advance step early, when figuring out how many attacks I can make, I add the 0.47 attacks, giving 7.41 attacks. If my opponent hit, then I would have fewer attacks in reserve, so may or may not get the 7th attack. If I had been doing this with a different stance: For the stances above then: * defensive would try to ensure that the readiness was always at least 1, giving me the best possible chance to parry. * aggressive would have taken the 7th attack on the first attempt, and remained an inch forward of the starting position at the end. This would have given me a penalty to my ac when the attack came, I would not be ready for it, so would have no chance to block it. * opportunistic would have advanced only part of the way forward, and stretched to get a seventh hit in, this would've had a penalty to to_hit for every attack, and wouldn't have left me with much readiness for the counter attack, but I would not have taken a penalty to my ac as I would with aggressive. Stance choice then would depend on what was being fought: Against lots of much weaker opponents, opportunistic is good, the to_hit penalty wouldn't matter as much because you are likely to hit anyway, and you can probably kill them before they can attack. When you have a magical effect you really want to apply to an enemy, aggressive can be a worthwhile gamble, because you might be able to (for example) slow the creature before it strikes, if it fails though, the consequences can be much worse. Defensive is when you are surrounded by enemies you don't really want to be surrounded by, you are likely to take hits, so being able to parry some can mitigate the damage you will take. Some other desirable behaviour emerges from this: * A spellcaster should have a staff when fighting someone with daggers (to hold them off), but not when fighting someone with a spear (since they won't need to move much to strike anyway). * Creatures can have defense_attacks, which will depend on the range of the attacker and skill at weapon (eg, attacking an acid blog at zero range is a really bad idea, expect to take acid damage each time you hit unless you are, in fact, Bruce Lee) * A defensive square is a very strong setup, as long as one of the corners isn't weak enough to be defeated, and there aren't spells cast into the middle of it. All of the discussion of times above are in seconds, for the purposes of the combat engine, these are translated into ticks. When an attack is made, the game calculates which tick the attack finishes in, and doesn't take another move until then. The 'partial tick' is stored as a value for when control is given back after the attack. If there is an attacking monster and the player elects not to attack, the attack speed rolls against the player speed to determine how good a hit the creature gets as the player moves away. - This is kind of what the speed system is supposed to do, but this approach is simpler, and prevents commands queuing so much. I am considering keeping all of the times described above as real-time not game time, and that typically 3 or 4 hits with an axe would be required to defeat a tough opponent, it is quite reasonable then that combat with a single creature might take an entire minute or more. IP-Address : 81.141.58.188 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 11:47:46 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 11:47:46 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:possible_stat_values Message-ID: <1273510066.823364.14159.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 11:47 User : ryo Edit Summary: ac and wc @@ -10,10 +10,10 @@ player stats |Stat | Meaning |Based on| Typical Range| | speed | Inches that a player can move per minute | Dex, Weight of equipped items/strength+dex, Weight of Carried equipment/strength | 1000-10000, 10000 is only likely for someone who is almost completely unburdened| - | wc | likelihood to hit with any given attack | skill in weapon, dex*weapon_speed, str/weapon_speed (ie, dex good for fast weapons, strength for slow ones| unsure | - | ac | likelihood to avoid being hit with any given attack | dex, weight of equipped items, weight of carried items, bonuses from items | unsure | + | wc | likelihood to hit with any given attack | skill in weapon, dex*weapon_speed, str/weapon_speed (ie, dex good for fast weapons, strength for slow ones| 1-1000 | + | ac | likelihood to avoid being hit with any given attack | dex, weight of equipped items, weight of carried items, bonuses from items | 1-1000 | | resist points | [[http://wiki.metalforge.net/doku.php/user:cavesomething:resistances]] | Equipped items, Constitution | unsure | Every melee combat is between 2 opponents, additional attackers are defended against, and this can slow down subsequent attacks, but are not attacked directly at the same time. There is a penalty to defend based on how far away the defenders facing is from the attacker (attacking a player in the back is easy). @@ -79,4 +79,10 @@ All of the discussion of times above are in seconds, for the purposes of the combat engine, these are translated into ticks. When an attack is made, the game calculates which tick the attack finishes in, and doesn't take another move until then. The 'partial tick' is stored as a value for when control is given back after the attack. If there is an attacking monster and the player elects not to attack, the attack speed rolls against the player speed to determine how good a hit the creature gets as the player moves away. - This is kind of what the speed system is supposed to do, but this approach is simpler, and prevents commands queuing so much. I am considering keeping all of the times described above as real-time not game time, and that typically 3 or 4 hits with an axe would be required to defeat a tough opponent, it is quite reasonable then that combat with a single creature might take an entire minute or more. + + AC and WC work like this (with wc the attacker's wc, ac the defender's ac): + * if wc == ac, 50% chance to hit + * if wc > ac, >50% chance to hit, capped to 90% or 95% - you can always miss? + * if wc < ac, <50% chance to hit, bottom value is 5 or 10% - you can always get lucky + The change shouldn't be linear, it should give bonuses for way higher wc or ac IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values?rev=1273507076 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 11:50:45 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 11:50:45 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:possible_stat_values Message-ID: <1273510245.335378.14169.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 11:50 User : ryo Edit Summary: hp sp et gr @@ -13,8 +13,11 @@ | speed | Inches that a player can move per minute | Dex, Weight of equipped items/strength+dex, Weight of Carried equipment/strength | 1000-10000, 10000 is only likely for someone who is almost completely unburdened| | wc | likelihood to hit with any given attack | skill in weapon, dex*weapon_speed, str/weapon_speed (ie, dex good for fast weapons, strength for slow ones| 1-1000 | | ac | likelihood to avoid being hit with any given attack | dex, weight of equipped items, weight of carried items, bonuses from items | 1-1000 | | resist points | [[http://wiki.metalforge.net/doku.php/user:cavesomething:resistances]] | Equipped items, Constitution | unsure | + | hit points | life | con, bonuses from items? | 1-500 | + | spell points | to cast magic spells | int, pow, bonuses from items? | 1-500 | + | grace points | to cast god spells | wis, pow, bonuses from items? | 1-500 | Every melee combat is between 2 opponents, additional attackers are defended against, and this can slow down subsequent attacks, but are not attacked directly at the same time. There is a penalty to defend based on how far away the defenders facing is from the attacker (attacking a player in the back is easy). The difference between weapon_reach for the two combatants creates a range penalty for one attacker, in order to attack they attempt to advance by their range penalty, and then attack as many times as they can before the other player gets a strike. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values?rev=1273510064 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 11:53:42 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 11:53:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:possible_stat_values Message-ID: <1273510422.774270.14173.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 11:53 User : ryo Edit Summary: comment on speed @@ -82,10 +82,12 @@ All of the discussion of times above are in seconds, for the purposes of the combat engine, these are translated into ticks. When an attack is made, the game calculates which tick the attack finishes in, and doesn't take another move until then. The 'partial tick' is stored as a value for when control is given back after the attack. If there is an attacking monster and the player elects not to attack, the attack speed rolls against the player speed to determine how good a hit the creature gets as the player moves away. - This is kind of what the speed system is supposed to do, but this approach is simpler, and prevents commands queuing so much. I am considering keeping all of the times described above as real-time not game time, and that typically 3 or 4 hits with an axe would be required to defeat a tough opponent, it is quite reasonable then that combat with a single creature might take an entire minute or more. + > fine by me, but then we need to drastically reduce the number of monsters on maps :) --- //Ryo// + AC and WC work like this (with wc the attacker's wc, ac the defender's ac): * if wc == ac, 50% chance to hit * if wc > ac, >50% chance to hit, capped to 90% or 95% - you can always miss? * if wc < ac, <50% chance to hit, bottom value is 5 or 10% - you can always get lucky The change shouldn't be linear, it should give bonuses for way higher wc or ac IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values?rev=1273510243 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Mon May 10 11:54:37 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Mon, 10 May 2010 11:54:37 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:possible_stat_values Message-ID: <1273510477.205858.14177.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/10 11:54 User : ryo Edit Summary: simplify link :) @@ -12,9 +12,9 @@ |Stat | Meaning |Based on| Typical Range| | speed | Inches that a player can move per minute | Dex, Weight of equipped items/strength+dex, Weight of Carried equipment/strength | 1000-10000, 10000 is only likely for someone who is almost completely unburdened| | wc | likelihood to hit with any given attack | skill in weapon, dex*weapon_speed, str/weapon_speed (ie, dex good for fast weapons, strength for slow ones| 1-1000 | | ac | likelihood to avoid being hit with any given attack | dex, weight of equipped items, weight of carried items, bonuses from items | 1-1000 | - | resist points | [[http://wiki.metalforge.net/doku.php/user:cavesomething:resistances]] | Equipped items, Constitution | unsure | + | resist points | [[resistances]] | Equipped items, Constitution | unsure | | hit points | life | con, bonuses from items? | 1-500 | | spell points | to cast magic spells | int, pow, bonuses from items? | 1-500 | | grace points | to cast god spells | wis, pow, bonuses from items? | 1-500 | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values?rev=1273510420 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:possible_stat_values -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 12 17:54:54 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 12 May 2010 17:54:54 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:resistances Message-ID: <1273704894.186395.27823.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/12 17:54 User : cavehippo Edit Summary: attack specific base resist points derived from stats @@ -31,7 +31,40 @@ Good values for resistance are more than twice the possible 'to hit' rolls that monsters you are facing can make, this will increase as you go up levels.* Doubling the amount of resistance you have will always halve the amount of damage you take. If you have inadequate resist points, then you will take critical hits all the time, a first level character fighting a level 20 monster should expect every (ie, //the//) hit against them to be a critical unless they have some seriously out-of-level equipment. - The Con stat will give some resist points for all types of attacks, enough to ensure you probably won't take critical hits 90% of the time against creatures up to 10 levels higher than your Con stat. (although you would expect to take maximum damage or close to it for almost every attack). + Different stats would give some resist points for various types of attacks, probably with a bonus of something like +0 at a value of 10, and +5 for every 1 above that, -5 for every 1 below that. - or roughly whatever is enough to ensure you probably won't take critical hits 90% of the time against creatures up to 10 levels higher than the appropriate stat. (although you would expect to take maximum damage or close to it for almost every attack). + + Dex and Con shouldn't feature that much in the table below, since they are more about avoiding being hit in the first place and having the HP to weather the damage when it is dealt respectively. + + STR, DEX, CON, INT, WIS, POW, CHA + + |Attack Type | Stat| + |PHYSICAL | STR | + |MAGIC | POW, INT, WIS (all three, or lowest of the 3?)| + |FIRE | POW, INT, WIS (all three, or lowest of the 3?)| + |ELECTRICITY | POW, INT, WIS (all three, or lowest of the 3?)| + |COLD | POW, INT, WIS (all three, or lowest of the 3?)| + |CONFUSION | INT| + |ACID | STR| + |DRAIN | INT?| + |WEAPONMAGIC | POW, INT, WIS (all three, or lowest of the 3?)| + |GHOSTHIT | INT?| + |POISON | STR| + |SLOW | CON?| + |PARALYZE | CON?| + |TURN_UNDEAD | WIS| + |FEAR | WIS| + |CANCELLATION | unsure| + |DEPLETE | INT?| + |DEATH | POW?| + |CHAOS | WIS| + |COUNTERSPELL | INT| + |GODPOWER | WIS - when resistances can't reach 100% having some resist points in this may be ok - although generally this is used as 'the player really, really ought to die here' so maybe not.| + |HOLYWORD | WIS| + |BLIND | STR?| + |INTERNAL | unsure - what is this anyway?| + |LIFE_STEALING | STR?| + |DISEASE | CON?| + * what these values are will depend on how ac/wc are reworked IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:resistances?rev=1273499792 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:resistances -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 13 18:16:30 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 13 May 2010 18:16:30 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1273792590.679092.1308.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/13 18:16 User : cavehippo Edit Summary: update @@ -2,18 +2,18 @@ | Quest | Location | Status| Notes| | Gramps Malone's Earhorn | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12997|revision 12997]] additional content (wheelbarrow) in revisions 13010-13012| | | Gramps Malone's Walking Stick | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12997|revision 12997]] additional content (wheelbarrow) in revisions 13010-13012| | - | The Head of the Goblin Chief | Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | The Head of the Ogre Chief| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | Outbreak of Undead| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | A Cure for Bunions| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | Slithselest for Supper | Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | Demons in Euthville | Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | DragonLord Diplomacy | Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | The Great Pretender| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | The King's Curse| Scorn | Needs playtesting| Subquest of The Scorn Nobility | - | The Scorn Nobility| Scorn | Needs playtesting| In order to convert player files, there needs to be a script to rewrite them. | + | The Head of the Goblin Chief | Scorn | In SVN as of revisions 13170-13191 | Subquest of The Scorn Nobility | + | The Head of the Ogre Chief| Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | Outbreak of Undead| Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | A Cure for Bunions| Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | Slithselest for Supper | Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | Demons in Euthville | Scorn/Euthville | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | DragonLord Diplomacy | Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | The Great Pretender| Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | The King's Curse| Scorn/Wolfsburg | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | + | The Scorn Nobility| Scorn | In SVN as of revisions 13170-13191| In order to convert player files, there needs to be a script to rewrite them. | | Getting out of scorn| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| | | Down to the docks| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| | | Gate Pass| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009| Subquest of Getting out of scorn | | Port Pass| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] | Subquest of Down to the Docks | @@ -28,4 +28,5 @@ | Old Man Terry Had a Farm | Scorn |Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map | This requires more complete parent/child support | | Kill the Bandit Guuh at Terry's Farm | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] | Will become a subquest of Old Man Terry Had a Farm | | Kill the Farmer Terry on Guuh's land | Scorn | Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map| This requires more complete parent/child support, will become a subquest of Old Man Terry had a farm. | | The Grumpy Office Clerk | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009?| Can trigger The Special Goose Chase and be triggered as part of Gate Pass or Port Pass | + | Alfalfa's Attire | Scorn | Being Designed | | IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1273076183 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Fri May 14 21:46:32 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Fri, 14 May 2010 21:46:32 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1273891592.159810.7775.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/14 21:46 User : cavehippo Edit Summary: @@ -28,5 +28,5 @@ | Old Man Terry Had a Farm | Scorn |Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map | This requires more complete parent/child support | | Kill the Bandit Guuh at Terry's Farm | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] | Will become a subquest of Old Man Terry Had a Farm | | Kill the Farmer Terry on Guuh's land | Scorn | Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map| This requires more complete parent/child support, will become a subquest of Old Man Terry had a farm. | | The Grumpy Office Clerk | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009?| Can trigger The Special Goose Chase and be triggered as part of Gate Pass or Port Pass | - | Alfalfa's Attire | Scorn | Being Designed | | + | Alfalfa's Attire | Scorn | Debugging | | IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1273792587 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 15 04:01:48 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 May 2010 04:01:48 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:guide_to_quest_dialogs Message-ID: <1273914108.076475.6809.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/15 04:01 User : ryo Edit Summary: Add 'replies' block @@ -456,8 +456,12 @@ for emphasis. + ==== The replies Block ==== + This lets you specify replies that will be suggested to the player. + + The block should be a list of items in the form ''[word, text, type]'', with ''word'' the actual word the player should say, ''text'' the text the player will actually say if she says the word, ''type'' an optional integer to specify if the text is a regular sentence (''0''), a reply (''1'') or a question to ask (''2''). ===== Sanity Checking ===== Ok, so now you have finished writing your dialog file, the next step will be testing it. You can do this with a local server and watch for error messages that it spits out, but you can also save yourself some time by checking the dialog file beforehand. IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs?rev=1273060690 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 15 05:24:03 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 May 2010 05:24:03 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1273919043.519571.7708.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/15 05:24 User : ryo Edit Summary: remove function @@ -935,15 +935,9 @@ Arguments: * ''quest_code'': string, internal quest code. * ''state'': integer, state to set the quest to. - ==== QuestEnd ==== - (trunk only) - Signal a player that she completed in a quest. Note that the quest must be correctly defined in the ''default.quests'' file. - - Arguments: - * ''quest_code'': string, internal quest code. ==== QuestWasCompleted ==== (trunk only) IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273322008 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 Sat May 15 05:31:14 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 May 2010 05:31:14 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1273919474.403621.7724.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/15 05:31 User : ryo Edit Summary: add Lursendis @@ -29,4 +29,5 @@ | Kill the Bandit Guuh at Terry's Farm | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] | Will become a subquest of Old Man Terry Had a Farm | | Kill the Farmer Terry on Guuh's land | Scorn | Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map| This requires more complete parent/child support, will become a subquest of Old Man Terry had a farm. | | The Grumpy Office Clerk | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009?| Can trigger The Special Goose Chase and be triggered as part of Gate Pass or Port Pass | | Alfalfa's Attire | Scorn | Debugging | | + | Lursendis's Unforgettable Banquet | Wolfsburg | Testing, committed to SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13219|revision 13219]] | What could be fixed is first make the caramel for the player giving ingredients, then linking the book to this player to avoid cheating | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1273891588 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 15 20:06:02 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 15 May 2010 20:06:02 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1273971962.441601.13209.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/15 20:06 User : cavehippo Edit Summary: @@ -28,6 +28,6 @@ | Old Man Terry Had a Farm | Scorn |Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map | This requires more complete parent/child support | | Kill the Bandit Guuh at Terry's Farm | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] | Will become a subquest of Old Man Terry Had a Farm | | Kill the Farmer Terry on Guuh's land | Scorn | Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map| This requires more complete parent/child support, will become a subquest of Old Man Terry had a farm. | | The Grumpy Office Clerk | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009?| Can trigger The Special Goose Chase and be triggered as part of Gate Pass or Port Pass | - | Alfalfa's Attire | Scorn | Debugging | | + | Alfalfa's Attire | Scorn | In SVN between revisions 13241 and 13245 | | | Lursendis's Unforgettable Banquet | Wolfsburg | Testing, committed to SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13219|revision 13219]] | What could be fixed is first make the caramel for the player giving ingredients, then linking the book to this player to avoid cheating | IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1273919470 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 04:43:50 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 04:43:50 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests Message-ID: <1274003030.368592.12605.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 04:43 User : ryo Edit Summary: user:cavesomething:questification @@ -32,8 +32,10 @@ | [[quests:Lursendis|Lursendis]] | Wolfsburg | low level | non-combat item | no | yes | ====== todo ====== Ali's cave, outside Navar, requires a password to enter. This password is nowhere to be found. Also the turban is needed in Navar's theater, but no hint exists for the cave's location. + + See also [[user:cavesomething:questification]]. ====== In progress / Suggested ====== This lists quests that are suggested to add to crossfire or are currently in the state of adding ===== Blood Bond ===== @@ -43,6 +45,4 @@ Suggested level: 80+ Quest item: blood bond spell - - IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/quests?rev=1274002994 New Revision: http://wiki.metalforge.net/doku.php/quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 04:42:37 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 04:42:37 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: quests:lursendis Message-ID: <1274002957.322944.12598.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 04:42 User : ryo Edit Summary: summary ====== Lursendis quest ====== This quest is merely a 'find the right item' type. Lursendis, living in Wolfsburg, wants a caramel by a friend. The quest spawns Port Joseph, Lake Country, Scorn. Level: ability to kill goblins/orcs. Items: Unforgettable Banquet of Lursendis, non combat / utilitarian item. IP-Address : 82.236.87.204 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/quests:lursendis -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 04:43:17 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 04:43:17 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests Message-ID: <1274002997.335155.12601.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 04:43 User : ryo Edit Summary: make a table @@ -4,60 +4,36 @@ **Warning:** This is a **big spoiler**. This page exists so we have a listing of quests, a general idea of items, and such. **Do not read if you intend to discover by yourself, you have been warned!** This page could help populate [[http://crossfire.real-time.com/maps/index.html|the map index]], or take from there if needed. + + Please keep the page with minimum information, and put other information in a separate page. ===== What this page should contain about quests ===== * required items / skills * general area the quest takes place (eg: Scorn, Navar, multiple regions, ...) * general expected player level - * what hints are available + * what hints are available, what lore the quest is linked to * who made the quest, so we have reference * quest development status: complete, in progress, ... - * what lore the quest is linked to ===== What it should not contain ===== * walk-through * exhaustive list of monsters * "small quests", ie quests that are only one small map without any special thing * quests that have some special/noticeable item should be listed, though (ex: Resir's house that contains a potion of life) - ===== Page organisation ===== - * quests should globally be sorted by region - in the future we could always sort by level or whatever - * quests spawning multiple regions should be noted in the different regions, with a pointer to full section for quest general info + Those can be put on a separate page, of course. + + ====== Quests ====== + + ^ Quest ^ Location ^ Level ^ Reward ^ Hints ^ QS ((tracked through the quest system)) ^ + | Resir's house | Scorn | 5+ | potion of life | no | no | + | Greyshield | Island, south of Lake County, east of Stoneville | ? (high lvl monsters) | shield, many potions | no | no | + | [[quests:Lursendis|Lursendis]] | Wolfsburg | low level | non-combat item | no | yes | ====== todo ====== Ali's cave, outside Navar, requires a password to enter. This password is nowhere to be found. Also the turban is needed in Navar's theater, but no hint exists for the cave's location. - - ====== Scorn ====== - ===== Resir's house ===== - Located in Scorn, this gives a potion of life. - - Monsters: ogre. - - Level: 5+ FIXME check that - - ====== Wilderness ====== - - ===== Greyshield ===== - Located on an island, south of Lake County, east of Stoneville. Accessible from a boat in Stoneville (transport player must use to get to island). - - Item: shield, many potions (improvement, resistance, ...) - - Level: high, bad monsters - - Hints: none so far - - ====== Wolfsburg ====== - ===== Lursendis quest ===== - This quest is merely a 'find the right item' type. Lursendis, living in Wolfsburg, wants a caramel by a friend. - - The quest spawns Port Joseph, Lake Country, Scorn. - - Level: ability to kill goblins/orcs. - - Items: Unforgettable Banquet of Lursendis, non combat / utilitarian item. - ====== In progress / Suggested ====== This lists quests that are suggested to add to crossfire or are currently in the state of adding ===== Blood Bond ===== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/quests?rev=1196625506 New Revision: http://wiki.metalforge.net/doku.php/quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 04:55:21 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 04:55:21 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: quests Message-ID: <1274003721.278934.12627.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 04:55 User : ryo Edit Summary: more maps @@ -34,8 +34,21 @@ ====== todo ====== Ali's cave, outside Navar, requires a password to enter. This password is nowhere to be found. Also the turban is needed in Navar's theater, but no hint exists for the cave's location. See also [[user:cavesomething:questification]]. + + Quests that could be integrated, or trashed: + * three sisters /sisters + * warrior's tower /quests/mak + * mountain pass /quests/hendel + * saromok /world/world_111_100 and /quests/saromok + * castle of Ra-Gar /quests/mcz + * Skud's tower /quests/skud + * Aljwax /quests/todd/aljwax + * all in /quests/peterm + * /quests/cd + * monkey temple /world/world_115_117 and /dungeon/monkey_temple + * all maps in /dungeon ====== In progress / Suggested ====== This lists quests that are suggested to add to crossfire or are currently in the state of adding ===== Blood Bond ===== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/quests?rev=1274003029 New Revision: http://wiki.metalforge.net/doku.php/quests -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 05:05:31 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 05:05:31 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: monster_dump Message-ID: <1274004332.015498.13407.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 05:05 User : ryo Edit Summary: basic dump ^Name^Level^Experience^AC^WC^ |aggravation|1|0|0|0| |cleaning woman|1|0|10|25| |red dragon|1|0|5|21| |red dragon|1|0|5|21| |green dragon|1|0|5|21| |green dragon|1|0|5|21| |blue dragon|1|0|5|21| |blue dragon|1|0|5|21| |black dragon|1|0|5|21| |black dragon|1|0|5|21| |blob|1|1|4|1| |ant_larvae|1|1|12|15| |ant_egg|1|1|20|15| |mouse|1|1|7|20| |speedball|1|2|30|-20| |lg_speedball|1|2|30|-20| |kobold|1|2|9|21| |neko chan|1|2|12|15| |slime|1|2|10|18| |bee|1|5|4|15| |ant|1|5|10|18| |crone|1|5|9|18| |beggar|1|5|9|20| |orc|1|5|8|17| |sheep|1|6|9|15| |bat|1|6|7|16| |chicken|1|7|9|15| |whim|1|7|10|15| |young rogue|1|8|7|20| |bird|1|8|5|15| |child|1|10|7|25| |child|1|10|7|25| |Veiled woman|1|10|10|15| |Veiled woman|1|10|10|15| |Veiled woman|1|10|10|15| |slave|1|10|10|20| |Dancing girl|1|10|6|18| |Townsman|1|10|10|18| |Townsman|1|10|10|18| |Townsman|1|10|10|18| |imp|1|10|4|18| |pup|1|10|7|15| |large woman|1|15|8|14| |large man|1|15|8|14| |big slave|1|20|8|15| |elf man|1|30|0|12| |elf lass|1|30|0|12| |elf|1|30|0|12| |ninja|1|30|0|12| |ninja|1|30|0|12| |orc champion|2|10|7|16| |goblin|2|10|8|17| |gnoll|2|15|7|15| |violent fungi|2|15|8|14| |pawn|2|20|5|17| |woman|2|20|10|15| |woman|2|20|10|15| |woman|2|20|10|15| |princess|2|20|5|8| |city dweller|2|20|10|15| |goose|2|20|9|15| |pixie|2|25|6|15| |snake|2|25|7|18| |small speedball|3|0|0|0| |prisoner|3|1|8|1| |Merchant|3|20|6|14| |man|3|25|8|10| |man|3|25|8|10| |farmer|3|25|8|10| |city dweller|3|25|8|10| |armless cook|3|25|8|10| |halfling|3|25|8|10| |halfling|3|25|8|10| |halfling|3|25|8|10| |conjurer|3|25|9|15| |conjurer|3|25|9|15| |goblin champion|3|25|7|16| |gnoll champion|3|25|6|14| |zombie|3|30|9|8| |Worker Ant|3|30|8|9| |fly_ant|3|30|15|10| |madman|3|30|7|10| |pirate|3|30|7|10| |orc chief|3|30|6|15| |snake|3|35|5|12| |wight|3|35|6|13| |skeleton|3|35|7|17| |xan|3|35|15|1| |large centipede|3|35|10|8| |postman|3|35|6|12| |thief_1|3|35|5|14| |dog|3|35|6|15| |cherub|3|35|6|16| |spider|3|40|8|17| |fighter|3|40|1|9| |warrior|3|40|1|9| |scorpion|3|40|6|14| |ghost|3|50|10|15| |dwarf|3|100|1|8| |woman|3|200|10|15| |summon fog|4|0|0|0| |detect monster|4|0|0|0| |sailor|4|30|7|8| |goblin chief|4|50|6|15| |ogre|4|60|8|12| |gnoll chief|4|60|5|13| |golem|4|65|5|12| |bishop|4|65|7|10| |giant centipede|4|65|10|11| |viking|4|65|9|12| |nightmare|4|70|10|14| |king|4|70|5|10| |Servant|4|75|4|10| |dark elf captain|4|75|8|16| |dark elf|4|75|6|15| |knight|4|80|7|12| |killer bee|4|90|10|13| |pirate lass|4|90|6|10| |acid sphere|4|100|1|1| |castle guard|4|150|3|5| |elf guard|4|150|3|5| |light guard|4|150|3|5| |courier|5|60|3|8| |rustmonster|5|100|5|10| |Serpentman|5|125|4|10| |rook|5|150|6|11| |skeleton bezerk|5|175|5|12| |green slime|5|175|7|11| |panther|5|200|4|13| |giant bat|5|225|4|13| |giant cobra|5|225|4|12| |holy ghost|5|225|6|12| |Mystic Fist|5|250|5|12| |large speedball|6|0|0|0| |castle guard|6|250|1|1| |Medium guard|6|250|1|1| |queen|6|500|5|10| |wild pyromaniac|6|500|6|10| |ogre champion|6|500|6|8| |serpent|6|500|4|14| |slime crawler|6|500|6|9| |shadowtiger pup|6|700|8|11| |grimreaper|6|800|7|9| |gnome|6|1000|5|10| |cunning gnome|6|1000|5|10| |unicorn|6|2000|4|4| |priest|7|500|5|9| |black pudding|7|600|5|8| |black pudding|7|600|5|8| |Skeletal Mage|7|1000|4|10| |cold dragon hatchling|7|1000|5|7| |lightning para-elemental|7|1100|5|9| |ice para-elemental|7|1100|8|9| |air para-elemental|7|1100|6|10| |small troll|7|1200|6|6| |mud para-elemental|7|1200|7|9| |lava para-elemental|7|1200|5|16| |fire para-elemental|7|1200|5|16| |black pudding|7|1200|5|8| |broo|7|1400|4|10| |water para-elemental|7|1400|6|10| |ape|7|1400|4|11| |wolf|7|1400|4|12| |earth para-elemental|7|1500|5|9| |faerie dragon|8|1000|5|7| |horse|8|1000|13|9| |wraith|8|1500|2|9| |skeleton captain|8|1500|4|10| |ghast|8|1500|2|10| |small armoured troll|8|1500|3|7| |small armoured troll|8|1500|3|7| |stalker|8|1500|4|10| |Minor Chaos Priest|8|1500|5|10| |Warrior Ant|8|1500|5|10| |ogre chief|8|1500|5|8| |bear|8|1500|6|9| |electric dragon hatchling|8|1800|5|10| |mastif|8|1800|3|9| |small armoured troll|8|2000|3|7| |dragon hatchling|8|2000|5|10| |beholder|8|2000|5|7| |Angel Knight|8|2200|4|13| |sandy|8|2500|5|8| |sphinx|8|4001|2|2| |fire serpent|9|2500|5|8| |demon|9|2500|4|8| |water elemental|9|3000|4|8| |fire elemental|9|3000|4|13| |polar bear|9|3000|4|8| |air elemental|9|3500|4|10| |earth elemental|9|4000|6|10| |raas|9|4000|4|10| |guildmaster|10|0|10|25| |clown|10|60|3|8| |Guardian Ant|10|250|-5|-5| |castle guard|10|1200|0|1| |High guard|10|1200|0|1| |Royal Guard|10|1500|0|4| |leathery tentacle|10|4000|4|10| |Serpentman Priest|10|4000|2|5| |gargolye|10|4000|3|9| |Chaos Knight|10|4000|4|5| |Spitting Ant|10|4000|5|5| |Queen Ant|10|4000|6|9| |mabu suke|10|4000|6|8| |hill giant|10|4000|6|8| |crawling chaos|10|4500|3|14| |wyvern|10|5000|5|8| |strange beholder|10|5000|2|10| |dancing sword|10|6000|2|5| |drake|10|6000|5|14| |vampire|11|6000|3|6| |dire wolf|11|8000|6|8| |Chaos Priest|12|8000|5|8| |slug|12|8000|6|8| |angel|12|8000|2|4| |lokanth|12|9000|3|9| |troll|12|10000|2|9| |ent|12|16000|-1|-1| |tree|13|10000|10|0| |nazgul|13|12000|4|8| |water witch|14|12000|3|8| |fire witch|14|14000|4|12| |Necromancer|15|0|10|25| |sage|15|0|10|25| |sage|15|0|10|25| |Valriel|15|1|-7|-1| |Gorokh|15|1|-5|-3| |Devourers|15|1|-12|-1| |Sorig|15|1|-5|-1| |Ruggilli|15|1|-5|-3| |Ixalovh|15|1|-5|-3| |Gaea|15|1|-5|-1| |Valkyrie|15|1|0|6| |Mostrai|15|1|-10|-6| |Lythander|15|1|-7|-1| |Gnarg|15|1|-5|-3| |dwarf priest|15|5|10|15| |dwarf wizard|15|10|10|15| |skull|15|15000|1|5| |Banshee|15|15000|3|5| |lesser dwarven guard|15|15000|1|5| |earth witch|15|15000|2|10| |air witch|15|15000|1|10| |Fiend|15|15000|3|6| |spotted tentacle|16|16000|1|7| |Holy man|17|5000|-7|19| |dire wolf sire|18|18000|4|5| |valriel_avatar|19|1|3|7| |gorokh_avatar|19|1|5|3| |devourers_avatar|19|1|1|10| |sorig_avatar|19|1|5|5| |ruggilli_avatar|19|1|5|11| |ixalovh_avatar|19|1|5|11| |gaea_avatar|19|1|5|5| |mostrai_avatar|19|1|1|9| |lythander_avatar|19|1|3|4| |gnarg_avatar|19|1|5|3| |Olog-hi|20|1000|-100|-100| |hellhound|20|5000|-9|-20| |giant leech|20|7000|3|0| |demon|20|10000|-2|-3| |chaos witch|20|10000|-8|-7| |greater dwarven guard|20|20000|-10|20| |big demon|20|20000|-2|-3| |behemoth|20|20000|-6|-10| |light angel|20|20000|-5|-10| |Shadow Tiger|20|100000|-13|-20| |messenger|21|80000|-5|-10| |sorcerer|22|120000|-16|-20| |Avatar|23|1000|-10|-1| |gnome|25|2000|1|5| |shadow mastif|25|20000|-20|-15| |giant rat|25|30000|-6|-10| |Lich|25|40000|-3|-3| |chinese dragon|25|40000|-8|-15| |baby dragon|25|55000|-8|-10| |High Angel|25|200000|-5|-20| |cyclops|25|250000|-10|-15| |byakie|25|250000|-10|-15| |ancient red dragon|26|200000|-16|-25| |electric dragon|27|70000|-12|-20| |Retributioner|27|150000|-5|-30| |worthless dragon|29|1|-12|-20| |basilisk|29|40000|-8|-15| |Mudman|29|50000|-4|-10| |dragon|29|90000|-12|-20| |Dark Gryphon|29|350000|-15|-20| |Siegfried|30|40|1|9| |unusual kobold|30|5000|-100|-50| |Lord Eureca (commanded by Ghothwolte)|30|10000|-50|-50| |shadow|30|30000|-20|-15| |lamia|30|100000|-10|-10| |Archon|30|100000|-30|-30| |Dread Knight|30|200000|-15|-35| |wyvern of chaos|30|200000|-10|-20| |Belzebub|30|300000|-14|-20| |Balrog|30|400000|-20|-30| |Jessy|30|2000000|-20|-30| |demilich|31|90000|-15|-3| |Giant Worm|35|100000|-15|-10| |shadow dragon|35|150000|-15|-22| |skree|35|300000|-15|-30| |dragonman|39|160000|-10|-10| |shadow wyvern|40|50000|-25|-17| |living chaos|40|50000|-15|-5| |minor djinn|40|70000|-15|-5| |Spectre|40|100000|-5|5| |Major djinn|40|300000|-20|-15| |greater hellhound|40|300000|-11|-30| |Greater Demon|40|550000|-11|-50| |wizard|49|100000|-15|-20| |Dave|50|10000|-100|-100| |hyper kobold|50|50000|-30|-30| |gaelotroll|50|70000|-15|-50| |golem of Necromancer|50|100000|-40|-20| |bone drake|50|100000|-20|-60| |Elite Dread Knight|50|500000|-15|-35| |Arch Angel|50|500000|-10|-40| |Dread|60|50000|-10|-20| |dragon of chaos|68|450000|-12|-20| |Demon Lord|69|300000|-11|-30| |pet of Necromancer|80|300|-10|-100| |titan|80|100000|-5|-20| |Evil Master, Bonehead|100|3500|-2|-5| |Evil Master|100|200000|-105|-50| |Evil Master|100|400000|-110|-60| |djinn|100|800000|-20|-15| |evil clown|115|10000|-80|-50| |Purple Worm|116|100000|-15|-100| |djinn|116|800000|-50|-45| |Evil Master|117|1000000|-120|-50| |Evil Master|120|1000000|-120|-80| |Death's Head|130|400000|-70|-70| IP-Address : 82.236.87.204 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/monster_dump -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 09:14:46 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 09:14:46 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1274019286.059186.15691.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 09:14 User : ryo Edit Summary: headers :) @@ -1,7 +1,7 @@ Quests which will be tracked through the quest system - | Quest | Location | Status| Notes| + ^ Quest ^ Location ^ Status ^ Notes ^ | Gramps Malone's Earhorn | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12997|revision 12997]] additional content (wheelbarrow) in revisions 13010-13012| | | Gramps Malone's Walking Stick | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12997|revision 12997]] additional content (wheelbarrow) in revisions 13010-13012| | | The Head of the Goblin Chief | Scorn | In SVN as of revisions 13170-13191 | Subquest of The Scorn Nobility | | The Head of the Ogre Chief| Scorn | In SVN as of revisions 13170-13191| Subquest of The Scorn Nobility | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1273971958 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 09:40:13 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 09:40:13 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:questification Message-ID: <1274020813.137076.15743.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 09:40 User : cavehippo Edit Summary: @@ -23,11 +23,11 @@ | Getting Past Locked Doors | Newbie's house |In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12998|revision 12998]]| | | Gork's Treasure Hoard| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12996|revision 12996]] revision 13003 fixes an oversight in the original commit. Revision 13006 fixes revision 13003| | | testquest| N/A| In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12972|revision 12972]] revisions 12973 and 12974 contain needed support files | | | testquest2| N/A| In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12972|revision 12972]] revisions 12973 and 12974 contain needed support files | | - | Custom Armour| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12995|revision 12995]] also requires the arch change in revision 13004 and the change in 13005 makes no sense without that either. | | + | [[Custom Armour]]| Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12995|revision 12995]] also requires the arch change in revision 13004 and the change in 13005 makes no sense without that either. | | | Old Man Terry Had a Farm | Scorn |Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map | This requires more complete parent/child support | | Kill the Bandit Guuh at Terry's Farm | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] | Will become a subquest of Old Man Terry Had a Farm | | Kill the Farmer Terry on Guuh's land | Scorn | Defined in SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=12999|revision 12999]] but not implemented on the map| This requires more complete parent/child support, will become a subquest of Old Man Terry had a farm. | | The Grumpy Office Clerk | Scorn | In SVN as of [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13002|revision 13002]] Affected by changes to dialog handling in revisions 13007 and 13009?| Can trigger The Special Goose Chase and be triggered as part of Gate Pass or Port Pass | | Alfalfa's Attire | Scorn | In SVN between revisions 13241 and 13245 | | | Lursendis's Unforgettable Banquet | Wolfsburg | Testing, committed to SVN [[http://crossfire.svn.sourceforge.net/viewvc/crossfire?view=rev&revision=13219|revision 13219]] | What could be fixed is first make the caramel for the player giving ingredients, then linking the book to this player to avoid cheating | IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification?rev=1274019283 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:questification -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 16 10:11:51 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 16 May 2010 10:11:51 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:cavesomething:custom_armour Message-ID: <1274022711.980349.15983.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/16 10:11 User : cavehippo Edit Summary: created ===Custom Armour Building === In an effort to make custom Armour Manufactuers more useful in game, I am collecting the information about them here, so that they can all be at least somewhat unique. ^ Location ^ Product ^ Ingredients ^ Gold ^ Time ^ | Scorn Armour Shop | Red Dragon Mail | 5 Red Dragon Scales | 200 Platinum | 1 Game Day | | ::: | Blue Dragon Mail | 5 Blue Dragon Scales | ::: | ::: | | :::| Green Dragon Mail | 5 Green Dragon Scales | ::: | ::: | | :::| Dragon Shield | 1 Red Dragon Scale | 100 Platinum | ::: | | :::| Eyeshield | 1 Beholder Eye | 50 Platinum | ::: | |Brest CVT | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | ::: | Blue Dragon Mail | ? Blue Dragon Scales | ::: | ::: | | :::| Green Dragon Mail | ? Green Dragon Scales | ::: | ::: | | :::| Mithril Chainmail | ? Mithril Crystals | ? Platinum | ::: | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | |Darcap Smith's Armours |Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | |Butakis Royal Blacksmith | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | ::: | Power Dragon Mail | ? ? Dragon Scales | ? Platinum | ::: | | :::| Mithril Chainmail | ? Mithril Crystals | ? Platinum | ::: | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | | Lake Country Mopoon's Weapon Shop| Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | | Navar - Gunter's Smithy | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | | Lone Town General Shop | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | | Greyshield Fortress | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | | :::| Mithril Chainmail | ? Mithril Crystals | ? Platinum | ::: | | :::| Serpent Cloak | ? Serpent Skins | ? Platinum | ::: | | Nethack in Crossfire Entrance | Red Dragon Mail | ? Red Dragon Scales | ? Platinum | ? Game Days | | :::| Dragon Shield | ? Red Dragon Scale | ? Platinum | ::: | | :::| Eyeshield | ? Beholder Eye | ? Platinum | ::: | Lone town tavern uses the dragon mail converter arch, but in an odd way. IP-Address : 81.141.58.188 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:custom_armour -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 08:54:23 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 08:54:23 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: start Message-ID: <1274277263.305076.1927.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 08:54 User : cavehippo Edit Summary: update version numbers @@ -37,11 +37,11 @@ * [[Humor]] - Is there any humor in Crossfire? * [[FAQ]] - Frequently Asked Questions. [[http://crossfire.real-time.com|Crossfire]] is a [[client-server]] based game. \\ - The current version for the server is 1.11.0\\ - The current GTK client version is 1.12.0 \\ - The Windows port for the server and maps 1.11.0.\\ + The current version for the server is 1.50.0\\ + The current GTK client version is 1.50.0 \\ + The Windows port for the server and maps 1.50.0.\\ The Windows port of the GTK client is 1.12.0 Crossfire works on: * [[Linux]] IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/start?rev=1271743270 New Revision: http://wiki.metalforge.net/doku.php/start -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 08:55:36 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 08:55:36 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev_todo Message-ID: <1274277336.375159.1936.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 08:55 User : cavehippo Edit Summary: Release 1.12 isn't 'upcoming' any more. @@ -4,23 +4,8 @@ ====== Development TODO List ====== This page contains a list of things that are being worked on, or may be implemented in the future. And a place to discuss in depth how a particular feature or change will be implemented. An other place to check out would be the [[https://sourceforge.net/tracker/?group_id=13833|sf.net tracker]]. - - - - - ===== Release 1.12 ===== - About the upcoming 1.12 release. - - * 1.12 branches were cut in 2008 January 18th. - * The actual alpha is scheduled for January 20th. - * 1.13 branches will be cut right after the alpha. - * The beta cycle (bugfixing) will go over the course of February. A final release happens as soon as there are no more bugs; current target date is March 1st, but we don't really expect to make it ;-) - * The combat rebalance will **not** be included. It's targeted for 1.13, in August or thereabouts. - * Any other content changes that make the 1.12 content release incompatible with 1.11 **characters** should be considered bugs and reported as such. - - Please help test and bugfix 1.12 extensively! Let's make the best release we're able to :-) --- lalo ===== General TODO ===== Dump information about large projects and ideas here. IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/dev_todo?rev=1232320297 New Revision: http://wiki.metalforge.net/doku.php/dev_todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 17:47:44 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 17:47:44 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:todo Message-ID: <1274309264.640592.4870.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 17:47 User : cavehippo Edit Summary: @@ -7,9 +7,11 @@ [[questification]] In progress ==expansion to dialogue options== - Allow dialog files to include other dialog files to hold rules in common, eg general conversation details about the town. + * Allow dialog files to include other dialog files to hold rules in common, eg general conversation details about the town. + * Allow token substitution in dialogs?? + * More dialog rules == Arena Points Exchange == [[arenapoints|Design documentation]] IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:todo?rev=1271465623 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:todo -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 19:52:11 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 19:52:11 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:cavesomething:crosscompiling_for_windows Message-ID: <1274316731.818229.5382.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 19:52 User : cavehippo Edit Summary: created This assumes that you want to cross-compile a client for use on windows from a *nix system, and will describe the steps to do so. This is in no way a sensible or correct way to do this, I'm merely describing an approach that works. Parts of this are taken from [[http://live.gnome.org/GTK%2B/Win32/Apps]] which is a helpful starting point === Setup build environment === You want mingw32. If you are using a debian-like system, then the packages are mingw32, mingw32-binutils & mingw32-runtime Note that the version of mingw32-binutils that ships with lenny (2.18.50) seems to be broken, so go with the version from squeeze (or later) (ie, 2.20+) This will install lots of starting tools in /usr/i586-mingw32msvc - if you use the equivalent packages from another distro, it may be somewhere else, just find out where, and use that whenever I refer to this location. In order to correctly use many libraries, pkg-config is used, when compiling with mingw, it will try to run i586-mingw32msvc-pkg-config. You will need to set up an executable shell script somewhere in your path with this name. give it the following contents: #!/bin/sh PKG_CONFIG_LIBDIR=/usr/i586-mingw32msvc/lib/pkgconfig \ PKG_CONFIG_PATH=/usr/i586-mingw32msvc/lib/pkgconfig pkg-config $* === Get the GTK libraries === You will need the gtk libraries, fortunately there is a all-in-one bundle available from [[http://www.gtk.org/download-windows.html]] unzip this somewhere convenient. Now, there are a number of subfolders that have just been extracted. Everything in bin should go to /usr/i586-mingw32msvc/bin Everything in lib should go to /usr/i586-mingw32msvc/lib Everything in include should go to /usr/i586-mingw32msvc/include Everything else you can ignore. === Other Libraries === There are lots of other libraries you need, I don't even know what a minimal set is any more. At a minimum, you will need * libglade * pthread - you probably want to use pthreadGC2.dll * SDL * SDL_image * libpng1.2 (As distinct from 1.4 which the gtk bundle gave you) * libcurl Remember to get both the developer packs and the dll files for each of these, sometimes they are in two separate downloads. in any case: * dll files belong in /usr/i586-mingw32msvc/bin (and in gtk-v2/src a bit later, see below) * .a or .lib files belong in /usr/i586-mingw32msvc/lib * .h files belong in As a special case, sdl_config (from the sdl package) goes in bin. Also, you will need a copy of SDL.dll in the client directory, this is because the configure script runs an SDL test program which fails if the dll isn't available. === Tidying up === some special command line voodoo: cd /usr/i586-mingw32msvc sed -i 's|^prefix=.*$|prefix=/usr/i586-mingw32msvc|g' lib/pkgconfig/*.pc cd ./lib for f in *.lib; do mv $f lib${f%%lib}a; done After all this, be sure that you can read all of the files under /usr/i586-mingw32msvc otherwise compilation will break. === Configuring === You will need to create a configure script if you don't have one already, try running ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc if you already have a configure script, then you can run it directly: ./configure --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc either way, you should end up with a configuration summary that looks like this: configure: Configuration summary.... configure: configure: Paths configure: prefix default value /usr/local configure: exec_prefix default value ${prefix} configure: Will put executables in /usr/local/bin configure: Will put config in ${prefix}/etc configure: Will put data in . configure: configure: Build options configure: Will build GTK2 client? yes configure: With OpenGL renderer? no configure: With SDL renderer? yes configure: Will build sound server? no configure: configure: Scripting options configure: Will include lua interface? no You have a Makefile now, so run make. === Compilation === You may well see errors here, bodge the source code until they go away. === Linking === All being well, it will compile the c code and fail dismally in the linker step. That's ok, we didn't pass the right configure-time options to link it properly anyway. go to gtk-v2/src and run i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a ../../common/libgdk_pixbuf-2.0.dll.a ../../common/libglade-2.0.dll.a ../../common/libpango-1.0.dll.a ../../common/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -liberty -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows libSDL.dll.a This will require you to put * libgtk-win32-2.0.dll.a * libgdk_pixbuf-2.0.dll.a * libglade-2.0.dll.a * libpango-1.0.dll.a * libgtk-win32-2.0.dll.a * libSDL.dll.a in your common/ directory beforehand. All these files should already be in /usr/i586-mingw32msvc/lib somewhere. That should give you a .exe file. Now grab lots of dll files from /usr/i586-mingw32msvc/bin and put them in gtk-v2/src Start with this list: * libcurl.dll * pthreadGC2.dll * zlib1.dll * freetype6.dll * libexpat-1.dll * libglade-2.0-0.dll * libgtk-win32-2.0-0.dll * libpng12-0.dll * libpng14-14.dll * iconv.dll * libfontconfig-1.dll * libglib-2.0-0.dll * libpango-1.0-0.dll * SDL.dll * libatk-1.0-0.dll * libgdk_pixbuf-2.0-0.dll * libgmodule-2.0-0.dll * libpangocairo-1.0-0.dll * libcairo-2.dll * libgdk-win32-2.0-0.dll * libgobject-2.0-0.dll * libpangoft2-1.0-0.dll * libgio-2.0-0.dll * libgthread-2.0-0.dll * libpangowin32-1.0-0.dll * libxml2.dll and add more if you need them. === Client Images === The windows package is distributed with the client image files already included, for the unix clients, this is a separate package. download the latest crossfire-client-images-x.y.z.tar.gz file from sourceforge, and untar into gtk-v2/src, this will ensure that they are included in the package. === Making the package === Finally.... Install nsis, on a debian-like system the package is called nsis go to gtk-v2/src and run makensis gtkclient.nsi You should have an installer file crossfire-client-windows.exe This can now be installed on a windows system. IP-Address : 81.141.58.188 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 19:52:54 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 19:52:54 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274316774.085627.5385.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 19:52 User : cavehippo Edit Summary: @@ -1,4 +1,6 @@ + ===== Cross Compiling for Windows ===== + This assumes that you want to cross-compile a client for use on windows from a *nix system, and will describe the steps to do so. This is in no way a sensible or correct way to do this, I'm merely describing an approach that works. IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274316727 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 20:00:23 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 20:00:23 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274317223.598359.5592.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 20:00 User : cavehippo Edit Summary: @@ -71,15 +71,17 @@ === Configuring === You will need to create a configure script if you don't have one already, try running - ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc + LIBS=pthreadGC2; ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc if you already have a configure script, then you can run it directly: - ./configure --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc + LIBS=pthreadGC2; ./configure --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc + + (if you are using a different version of pthread, then change LIBS as appropriate). either way, you should end up with a configuration summary that looks like this: IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274316770 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Wed May 19 22:52:55 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Wed, 19 May 2010 22:52:55 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274327575.848461.6119.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/19 22:52 User : cavehippo Edit Summary: give a slightly less crazy link line @@ -116,9 +116,9 @@ That's ok, we didn't pass the right configure-time options to link it properly anyway. go to gtk-v2/src and run - i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a ../../common/libgdk_pixbuf-2.0.dll.a ../../common/libglade-2.0.dll.a ../../common/libpango-1.0.dll.a ../../common/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -liberty -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows libSDL.dll.a + i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a This will require you to put * libgtk-win32-2.0.dll.a IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274317216 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 08:48:08 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 08:48:08 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274363288.689030.7677.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 08:48 User : cavehippo Edit Summary: @@ -71,14 +71,14 @@ === Configuring === You will need to create a configure script if you don't have one already, try running - LIBS=pthreadGC2; ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc + ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc if you already have a configure script, then you can run it directly: - LIBS=pthreadGC2; ./configure --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc + ./configure --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc (if you are using a different version of pthread, then change LIBS as appropriate). @@ -108,8 +108,39 @@ === Compilation === You may well see errors here, bodge the source code until they go away. + + At the time of writing, the SVN client compiles cleanly, as long as -DMINGW is passed when compiling gtk-v2/src/config.c + + However, in order to let it link, I have needed to comment out references to gtk_rc_add_default_file and gtk_rc_set_default_files + + The following is a diff if you want to apply that + + + Index: config.c + =================================================================== + --- config.c (revision 13271) + +++ config.c (working copy) + @@ -210,7 +210,7 @@ + * theme change grows the list. Only one theme should be in the list + * at a time. + */ + - gtk_rc_set_default_files(default_files); + +// gtk_rc_set_default_files(default_files); + + /* + * If a client-configured theme has been selected (something other than + @@ -232,7 +232,7 @@ + LOG(LOG_ERROR, "config.c::load_theme", + "Unable to find theme file %s", path); + + - gtk_rc_add_default_file(path); + +// gtk_rc_add_default_file(path); + } + + if (reload) { + === Linking === All being well, it will compile the c code and fail dismally in the linker step. @@ -118,17 +149,8 @@ go to gtk-v2/src and run i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a - - This will require you to put - * libgtk-win32-2.0.dll.a - * libgdk_pixbuf-2.0.dll.a - * libglade-2.0.dll.a - * libpango-1.0.dll.a - * libgtk-win32-2.0.dll.a - * libSDL.dll.a - in your common/ directory beforehand. All these files should already be in /usr/i586-mingw32msvc/lib somewhere. That should give you a .exe file. Now grab lots of dll files from /usr/i586-mingw32msvc/bin and put them in gtk-v2/src @@ -161,9 +183,9 @@ * libgthread-2.0-0.dll * libpangowin32-1.0-0.dll * libxml2.dll - and add more if you need them. + and add more if you need them, keep going until a windows system can actually run the binary from gtk-v2/src. === Client Images === The windows package is distributed with the client image files already included, for the unix clients, this is a separate package. download the latest crossfire-client-images-x.y.z.tar.gz file from sourceforge, and untar into gtk-v2/src, this will ensure that they are included in the package. @@ -172,12 +194,12 @@ Finally.... Install nsis, on a debian-like system the package is called nsis - go to gtk-v2/src and run makensis gtkclient.nsi + go to gtk-v2/win32 and run makensis gtkclient.nsi You should have an installer file crossfire-client-windows.exe This can now be installed on a windows system. IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274327572 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 12:13:05 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 12:13:05 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274375585.339309.8551.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 12:13 User : cavehippo Edit Summary: @@ -194,12 +194,35 @@ Finally.... Install nsis, on a debian-like system the package is called nsis - go to gtk-v2/win32 and run makensis gtkclient.nsi + go to gtk-v2/win32 and have a look at the file gtkclient.nsi + + Near the top of the file, there is a line like this + + !define PRODUCT_VERSION "1.50.0" + + + if you added any additional dll's beyond those listed in the linking section, then add a line like + + + File "..\src\extradllIneeded-x.y-z.dll" + + + to the install section (where all the other dlls are being added) + + and a line like + + Delete "$INSTDIR\extradllIneeded-x.y-z.dll" + + + to the uninstall section. + + Change the version number to the version you are building. + + run makensis gtkclient.nsi You should have an installer file crossfire-client-windows.exe This can now be installed on a windows system. - IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274363285 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 12:25:36 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 12:25:36 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274376336.624968.8582.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 12:25 User : cavehippo Edit Summary: make there be a table of contents @@ -1,13 +1,13 @@ - ===== Cross Compiling for Windows ===== + ====== Cross Compiling for Windows ====== This assumes that you want to cross-compile a client for use on windows from a *nix system, and will describe the steps to do so. This is in no way a sensible or correct way to do this, I'm merely describing an approach that works. Parts of this are taken from [[http://live.gnome.org/GTK%2B/Win32/Apps]] which is a helpful starting point - === Setup build environment === + ===== Setup build environment ===== You want mingw32. If you are using a debian-like system, then the packages are mingw32, mingw32-binutils & mingw32-runtime Note that the version of mingw32-binutils that ships with lenny (2.18.50) seems to be broken, so go with the version from squeeze (or later) (ie, 2.20+) @@ -21,9 +21,9 @@ PKG_CONFIG_PATH=/usr/i586-mingw32msvc/lib/pkgconfig pkg-config $* - === Get the GTK libraries === + ===== Get the GTK libraries ===== You will need the gtk libraries, fortunately there is a all-in-one bundle available from [[http://www.gtk.org/download-windows.html]] unzip this somewhere convenient. Now, there are a number of subfolders that have just been extracted. @@ -32,9 +32,9 @@ Everything in include should go to /usr/i586-mingw32msvc/include Everything else you can ignore. - === Other Libraries === + ===== Other Libraries ===== There are lots of other libraries you need, I don't even know what a minimal set is any more. At a minimum, you will need * libglade @@ -54,9 +54,9 @@ As a special case, sdl_config (from the sdl package) goes in bin. Also, you will need a copy of SDL.dll in the client directory, this is because the configure script runs an SDL test program which fails if the dll isn't available. - === Tidying up === + ===== Tidying up ===== some special command line voodoo: @@ -67,9 +67,9 @@ After all this, be sure that you can read all of the files under /usr/i586-mingw32msvc otherwise compilation will break. - === Configuring === + ===== Configuring ===== You will need to create a configure script if you don't have one already, try running ./autogen.sh --host=i586-mingw32msvc --with-sdl-exec-prefix=/usr/i586-mingw32msvc @@ -105,9 +105,9 @@ You have a Makefile now, so run make. - === Compilation === + ===== Compilation ===== You may well see errors here, bodge the source code until they go away. At the time of writing, the SVN client compiles cleanly, as long as -DMINGW is passed when compiling gtk-v2/src/config.c @@ -140,9 +140,9 @@ if (reload) { - === Linking === + ===== Linking ===== All being well, it will compile the c code and fail dismally in the linker step. That's ok, we didn't pass the right configure-time options to link it properly anyway. @@ -185,13 +185,13 @@ * libxml2.dll and add more if you need them, keep going until a windows system can actually run the binary from gtk-v2/src. - === Client Images === + ===== Client Images ===== The windows package is distributed with the client image files already included, for the unix clients, this is a separate package. download the latest crossfire-client-images-x.y.z.tar.gz file from sourceforge, and untar into gtk-v2/src, this will ensure that they are included in the package. - === Making the package === + ===== Making the package ===== Finally.... Install nsis, on a debian-like system the package is called nsis IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274375582 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 14:34:48 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 14:34:48 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274384088.052854.9098.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 14:34 User : cavehippo Edit Summary: add openGL related information, organise SDL related info more sensibly @@ -38,23 +38,34 @@ At a minimum, you will need * libglade * pthread - you probably want to use pthreadGC2.dll - * SDL - * SDL_image * libpng1.2 (As distinct from 1.4 which the gtk bundle gave you) * libcurl + + Optional: + * SDL + * SDL_image + * [[http://www.xmission.com/~nate/glut.html|GLUT]] Remember to get both the developer packs and the dll files for each of these, sometimes they are in two separate downloads. in any case: * dll files belong in /usr/i586-mingw32msvc/bin (and in gtk-v2/src a bit later, see below) * .a or .lib files belong in /usr/i586-mingw32msvc/lib * .h files belong in - As a special case, sdl_config (from the sdl package) goes in bin. + === Special cases=== + + ==SDL== + If you aren't compiling with SDL support, then ignore this + + sdl_config (from the sdl package) goes in bin. Also, you will need a copy of SDL.dll in the client directory, this is because the configure script runs an SDL test program which fails if the dll isn't available. + + ==Glut== + Glut provides glut32.lib in the zip file, you will get that renamed to libglut32.a in the tidying up section below, but cf looks for -lglut, so after the tidy-up step, copy libglut32.a to libglut.a and cf will pick it up properly (there should really be a smarter way to do this) ===== Tidying up ===== some special command line voodoo: @@ -147,10 +158,12 @@ That's ok, we didn't pass the right configure-time options to link it properly anyway. go to gtk-v2/src and run - i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a + i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a -lopengl32 -lglu32 -lglut + + (if you are not using openGL, omit the last 3 options: -lopengl32 -lglu32 -lglut) That should give you a .exe file. Now grab lots of dll files from /usr/i586-mingw32msvc/bin and put them in gtk-v2/src IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274376333 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 15:02:28 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 15:02:28 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274385748.134929.9265.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 15:02 User : cavehippo Edit Summary: @@ -19,9 +19,8 @@ #!/bin/sh PKG_CONFIG_LIBDIR=/usr/i586-mingw32msvc/lib/pkgconfig \ PKG_CONFIG_PATH=/usr/i586-mingw32msvc/lib/pkgconfig pkg-config $* - ===== Get the GTK libraries ===== You will need the gtk libraries, fortunately there is a all-in-one bundle available from [[http://www.gtk.org/download-windows.html]] unzip this somewhere convenient. @@ -106,15 +105,18 @@ configure: Will put data in . configure: configure: Build options configure: Will build GTK2 client? yes - configure: With OpenGL renderer? no + configure: With OpenGL renderer? yes configure: With SDL renderer? yes configure: Will build sound server? no configure: configure: Scripting options configure: Will include lua interface? no + + If you are compiling with SDL support then the line 'With SDL renderer?' should say 'yes' + If you are compiling with OpenGL support then the line 'With OpenGL renderer?' should say 'yes' You have a Makefile now, so run make. ===== Compilation ===== @@ -156,14 +158,33 @@ All being well, it will compile the c code and fail dismally in the linker step. That's ok, we didn't pass the right configure-time options to link it properly anyway. - go to gtk-v2/src and run + go to gtk-v2/src and run the linker step manually, what you will need to use will depend on which compile-time options you have. + + Without either SDL or OpenGL support enabled, run + - i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a -lopengl32 -lglu32 -lglut + i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lmingw32 -mwindows - (if you are not using openGL, omit the last 3 options: -lopengl32 -lglu32 -lglut) + if you are compiling with SDL, then add + + + -lSDL -lSDL_image -lSDLmain /usr/i586-mingw32msvc/lib/libSDL.dll.a + + + if you are compiling with OpenGL, then add + + + -lopengl32 -lglu32 -lglut + + + If you are doing both then you'll end up with the following + + + i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a -lopengl32 -lglu32 -lglut + That should give you a .exe file. Now grab lots of dll files from /usr/i586-mingw32msvc/bin and put them in gtk-v2/src @@ -182,9 +203,8 @@ * iconv.dll * libfontconfig-1.dll * libglib-2.0-0.dll * libpango-1.0-0.dll - * SDL.dll * libatk-1.0-0.dll * libgdk_pixbuf-2.0-0.dll * libgmodule-2.0-0.dll * libpangocairo-1.0-0.dll @@ -195,8 +215,9 @@ * libgio-2.0-0.dll * libgthread-2.0-0.dll * libpangowin32-1.0-0.dll * libxml2.dll + * SDL.dll (even if you didn't compile with SDL support, because the nsis script needs it, edit the nsi file if you really don't want to include it) and add more if you need them, keep going until a windows system can actually run the binary from gtk-v2/src. ===== Client Images ===== @@ -236,6 +257,5 @@ You should have an installer file crossfire-client-windows.exe This can now be installed on a windows system. - IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274384085 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 16:41:53 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 16:41:53 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274391713.222276.10418.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 16:41 User : cavehippo Edit Summary: linkify dependancies @@ -32,27 +32,29 @@ Everything else you can ignore. ===== Other Libraries ===== - There are lots of other libraries you need, I don't even know what a minimal set is any more. + There are lots of other libraries you need, I've provided probable download locations for all of these. At a minimum, you will need - * libglade - * pthread - you probably want to use pthreadGC2.dll - * libpng1.2 (As distinct from 1.4 which the gtk bundle gave you) - * libcurl + * [[https://sourceforge.net/projects/gladewin32/files/|libglade]] + * [[http://sourceware.org/pthreads-win32/|pthread]] - you probably want to use pthreadGC2.dll + * [[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/|libpng1.2]] (As distinct from 1.4 which the gtk bundle gave you) - There probably is a way to avoid this requirement, but I don't know what it is. + * [[http://curl.haxx.se/download.html|libcurl]] - I was using the MSVC package without SSL Optional: - * SDL - * SDL_image + * [[http://www.libsdl.org/download-1.2.php|SDL]] + * [[http://www.libsdl.org/projects/SDL_image/|SDL_image]] * [[http://www.xmission.com/~nate/glut.html|GLUT]] Remember to get both the developer packs and the dll files for each of these, sometimes they are in two separate downloads. in any case: * dll files belong in /usr/i586-mingw32msvc/bin (and in gtk-v2/src a bit later, see below) * .a or .lib files belong in /usr/i586-mingw32msvc/lib - * .h files belong in + * .h files belong in + + You almost certainly will need to do some mangling of filenames, etc in order to make these all work properly, known special cases are below, but I'm sure there were others. === Special cases=== ==SDL== IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274385745 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Thu May 20 19:13:31 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Thu, 20 May 2010 19:13:31 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:crosscompiling_for_windows Message-ID: <1274400811.356848.11091.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/20 19:13 User : cavehippo Edit Summary: @@ -187,8 +187,20 @@ i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a /usr/i586-mingw32msvc/lib/libgdk_pixbuf-2.0.dll.a /usr/i586-mingw32msvc/lib/libglade-2.0.dll.a /usr/i586-mingw32msvc/lib/libpango-1.0.dll.a /usr/i586-mingw32msvc/lib/libgtk-win32-2.0.dll.a -lpthreadGC2 -lgdk-win32-2.0 -latk-1.0 -lpangoft2-1.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lfreetype -lfontconfig -llibgobject-2.0 -lgmodule-2.0 -llibglib-2.0 -lwsock32 -lwinmm -lpng12 -lz -lm -llibcurl -lgailutil -lSDL -lSDL_image -lmingw32 -lSDLmain -mwindows /usr/i586-mingw32msvc/lib/libSDL.dll.a -lopengl32 -lglu32 -lglut That should give you a .exe file. + + ==Aside== + I can get: + + i586-mingw32msvc-gcc -mwindows -g -O2 -mms-bitfields -Wall -o crossfire-client-gtk2.exe about.o account.o config.o image.o info.o inventory.o keys.o main.o map.o magicmap.o menubar.o metaserver.o opengl.o pickup.o png.o sdl.o skills.o sound.o spells.o stats.o ../../common/libcfclient.a -lgdk_pixbuf-2.0 -lglade-2.0.dll -lpango-1.0 -lgtk-win32-2.0 -lpthreadGC2 -lgdk-win32-2.0 -lgobject-2.0 -lglib-2.0 -lwsock32 -lwinmm -lpng12 -lcurl -lmingw32 -lSDLmain -mwindows -lSDL.dll -lopengl32 + + + to link on my system, so you may be able to do cull some of those linker options. Note two things though: + - I have made substantial modifications to the layout of my usr/i586... directories, which I wasn't documenting at the time + - This still doesn't resemble the set of options the linker is passed by the configure script. + + =====DLL Hell ===== Now grab lots of dll files from /usr/i586-mingw32msvc/bin and put them in gtk-v2/src Start with this list: IP-Address : 81.141.58.188 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows?rev=1274391709 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:crosscompiling_for_windows -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 01:12:42 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 01:12:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mwedel Message-ID: <1274508762.496822.14791.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 01:12 User : Edit Summary: add character link @@ -8,8 +8,10 @@ Current projects: Mainly working on client improvement and things targeted on the 2.0 TODO list. [[user:mwedel:todo]] is a list of things I plan to work on short term. + + [[user:mwedel:characters]] is outline of revamping characters Screenshot of gtk2 client with theme applied: {{user:gtk2-theme.png|}} IP-Address : 76.191.154.198 Old Revision: http://wiki.metalforge.net/doku.php/user:mwedel?rev=1263542084 New Revision: http://wiki.metalforge.net/doku.php/user:mwedel -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 02:34:08 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 02:34:08 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: user:mwedel:characters Message-ID: <1274513648.096359.15907.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 02:34 User : Edit Summary: created === Summary === This page is a summary/proposal for the races and classes within crossfire. The information below presumes following changes are made, which have a significant effect on classes and races, but by themselves are somewhat separate. * Learning new skills becomes much more difficult than currently. One likely possibility is only way to learn new skills is via quests, remove skill scrolls from game, and/or limit number of skills a character can learn (eg, one skill every 10 levels) * There are different quality of skills that do the same thing. For example, both wizards and fighters can use some weapons, but the fighters gain exp in them faster. May also be level caps on skills * Skills impart special abilities at certain levels (stat bonuses, spell like abilities, resistances, etc) * Attributes (Str, Dex, etc) bonuses are smoothed out/linear. In this way, a starting character with a 26 stat is still good, but not twice as good as a 24 stat. Penalties may be greater than bonuses. * Change gain rate/bonus effect for hp/sp/grace, so that all levels are more relevant - currently, it is the first 10 levels (only levels which bonus is applied) which will be the bulk of the hp/sp/grace for a character even if they have level 50 in the skill. * Addition of various new skills (limited weapon selection)/limitation on what armor characters can wear (not all or nothing), * Addition of minimum attribute requirements for certain items (15 str to wear some armor) - possibly related to above. * Change/remove attribute increasing method - possibly a character can improve 1 stat every X levels, only increased by quests, potions give character a stat to improve to some limit. There is no maximum attribute, save for how often a character can improve it (or the number is high enough that it is very difficult for characters to reach it) Note that some of those changes are more important than others. === RACES === Table below lists the races, attribute adjustments, and anything else that is special. Note that under the revised system, most of a characters skills will come from their class - if one was allowed to play a race with no class, they would have very few skills. This is basically what most of the commoners are. The basic idea if one of these races is ideal for some class, they still need to choose that class to get the skills instead of it being given to them - otherwise, it is too easy to just choose one race and a completely different class to get all skills. One thing I tried to do here is give each race some skill related to item identification/creation to add some more variety. Many lost class skills. A races hp+sp+grace == 90, but the actual division here is also not equal, which is a change. ^Race ^ Str ^ Dex ^ Con ^ Pow ^ Int ^ Wis ^ Cha ^ HP ^ SP ^ Grace ^ Starting Skills ^ Special ^ Notes ^ ^ Dwarf ^ +3 ^ -2 ^ +3 ^ -1 ^ -2 ^ 0 ^ -1 ^ 40 ^ 20 ^ 30 ^ Smithery ^ See in Dark ^ Good fighter, ok priest ^ ^ Elf ^ -2 ^ +3 ^ -2 ^ +2 ^ +2 ^ -3 ^ +3 ^ 30 ^ 40 ^ 20 ^ Bowyer ^ See in Dark, slow hp regen, fast sp regen, slow food consumption ^ Ok fighter, good wizard ^ ^Fenx ^ -2 ^ +4 ^ 0 ^ -4 ^ +2 ^ -2 ^ +2 ^ 30 ^ 30 ^ 30 ^ Jumping, Singing ^ See in Dark, slow hp regen, fast sp regen, slow food consumption ^ Thief only ^ ^ Fireborn ^ -5 ^ +2 ^ 0 ^ +5 ^ +2 ^ +1 ^ -2 ^ 20 ^ 35 ^ 35 ^ Levitation, flame touch ^ glows, cold -30, ghosthit -50, immune fire & poison, 4 rings, no weapons & armor, fast sp regen ^ good for cleric & mage ^ ^ Gnome ^ -1 ^ -3 ^ -2 ^ +3 ^ 0 ^ +3 ^ 0 ^ 30 ^ 20 ^ 40 ^ Jeweler ^ See in dark, lucky ^ Good Cleric ^ ^ Halfling ^-4 ^ +3 ^ +4 ^ 0 ^ 0 ^ -3 ^ 0 ^ 40 ^ 30 ^ 20 ^ Stealing, Hiding ^ Lucky, drain +30 ^ Another thief type class - could make OK wizard ^ ^ Human ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ 30 ^ 30 ^ 30 ^ bargaining, detect magic & curse ^ Nothing ^ OK at anything - only really useful trying to do a fighter + wizard + cleric ^ ^ Northman ^ +1 ^ +1 ^ +2 ^ -1 ^ -2 ^ -1 ^ -1 ^ 40 ^ 25 ^ 25 ^ None ^ cold +30, repelled fire ^ OK fighter ^ ^ Dragon ^ +5 ^ 0 ^ +4 ^ +2 ^ 0 ^ -8 ^ -3 ^ 40 ^ 30 ^ 20 ^ clawing, levitate, woodsman ^ can not use weapons & armor, natural armor improves ^ Good fighter, ok wizard ^ ^ Half Orc ^ +2 ^ +1 ^ +2 ^ -1 ^ -2 ^ -2 ^ -3 ^ 40 ^ 25 ^ 25 ^ Stealing ^ poison +30, see in dark, repelled turning ^ good fighter, mediocre spell caster ^ ^ Quetzalcoatl ^ +5 ^ +3 ^ +4 ^ +4 ^ -6 ^ -6 ^ -3 ^ 50 ^ 20 ^ 20 ^ Levitation, clawing ^ immune fire, cold -30, can not use most armor ^ Good fighter, not much else ^ ^ Serpentman ^ +2 ^ +2 ^ +4 ^ 0 ^ -2 ^ -2 ^ -4 ^ 40 ^ 25 ^ 25 ^ Clawing, Jumping ^ +30 to most elemental damage, -30 cold, +5 physical, no helmets or boots, +1 ring^ Good fighter, mediocre spell caster ^ ^ Troll ^ +5 ^ -1 ^ +5 ^ -2 ^ -5 ^ -2 ^ -4 ^ 50 ^ 20 ^ 20 ^ None ^ cold +30, fire -30, fast hp regen, slow sp regen ^ Good fighter ^ ^ Wraith ^ -3 ^ +4 ^ -3 ^ +3 ^ +2 ^ -3 ^ -4 ^ 30 ^ 40 ^ 20 ^ Wraith Feed ^ fire -25, cold +30, immune poison, ghosthit, draining, disease, attuned cold, denied fire, can see in dark ^ Good Wizard ^ Changes from current setup (minor stat adjustments are not listed) and other thoughts: * Elves lose some of their starting equipment, woodsman skill, and ability to use missile weapons. * Fenx lose woodman, missile weapon. I have it crossed out because as is, I don't think it is a very playable race - it is good for thieves, but thieves (as of now) don't play well in crossfire. While it has a bonus to int, the penalty to pow will make it not good for wizards, the penalty in wis & pow is not good for clerics, penalty in strength is not good for fighters. So IMO, until it is redone or thieves are playable, it should get removed. * Fireborn lose praying and pyromancy - class skills so they need to choose appropriate class. * Gnome picks up jeweler skill, loses praying * Halfling has no changes, but as is, not a good race for some reason as Fenx. If you are going to play a wizard, might as well do something like an elf that at least gets bonuses. Wis penalty makes it hard to be a cleric, and strength makes it hard to be a fighter * Human get bargaining, detect magic & curse. Idea being they are main folks doing business in the world and would have some skills. Plus I think that generally speaking having no bonuses is **worse** than other races, because people are going to choose a race that matches their character, so one that gets appropriate bonuses and no penalties. Thought is to give humans +1 in all stats - many of the other races already have a net bonus in stats, and a +1 might make them a bit more interesting. * Northman get removed - way back in time when all the races were more normal, a northman may be been different enough, but now it isn't. If you are playing a fighter, better choices in race. If you want to do multiclass type thing, probably still better choices. +30 cold resistance just isn't compelling enough. * Dragon lose evocation - also pow bonus is reduce, int penalty reduced (IMO, dragons should be somewhat smart), and some other bonuses reduced (Before they had a net +5 on stats, and since they had a -8 wis penalty, if you didn't care about Wis, that overall was a really good bonus) * Half orcs need some starting item crafting skill - not sure what makes sense * Quetzalcoatl have some reduced bonus, and picked up penalty to Cha * Serpentman is unchanged - I think overall the bonus to resistances and additional ring more than make up for loss of boots & helmets, but probably not too far out of balance * Troll is another really good fighter race. * Wraith not bad - somewhat different, but still humanoid. Giving a break down by class: * Fighter races: Dwarf, dragon, half orc, Quetzal, serpentman, troll * Cleric races: Gnome & fireborn, human & dwarf can be OK at it * Wizard races: Elf, fireborn, wraith, dragon would be OK * Thief races: Fenx, halfling IP-Address : 76.191.154.198 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 22:53:39 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 22:53:39 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mwedel:characters Message-ID: <1274586819.222970.23287.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 22:53 User : Edit Summary: add stat section @@ -5,15 +5,30 @@ * Learning new skills becomes much more difficult than currently. One likely possibility is only way to learn new skills is via quests, remove skill scrolls from game, and/or limit number of skills a character can learn (eg, one skill every 10 levels) * There are different quality of skills that do the same thing. For example, both wizards and fighters can use some weapons, but the fighters gain exp in them faster. May also be level caps on skills * Skills impart special abilities at certain levels (stat bonuses, spell like abilities, resistances, etc) - * Attributes (Str, Dex, etc) bonuses are smoothed out/linear. In this way, a starting character with a 26 stat is still good, but not twice as good as a 24 stat. Penalties may be greater than bonuses. * Change gain rate/bonus effect for hp/sp/grace, so that all levels are more relevant - currently, it is the first 10 levels (only levels which bonus is applied) which will be the bulk of the hp/sp/grace for a character even if they have level 50 in the skill. * Addition of various new skills (limited weapon selection)/limitation on what armor characters can wear (not all or nothing), - * Addition of minimum attribute requirements for certain items (15 str to wear some armor) - possibly related to above. - * Change/remove attribute increasing method - possibly a character can improve 1 stat every X levels, only increased by quests, potions give character a stat to improve to some limit. There is no maximum attribute, save for how often a character can improve it (or the number is high enough that it is very difficult for characters to reach it) Note that some of those changes are more important than others. + + === Attributes/Statistics === + Following are some idea on changes for attributes (Str, Dex, Con, etc). This should not be seen as a final proposal, just a recording a different ideas. + + Some of the general idea behind this: Let players focus on the key stat for their class. If the max stat is 30, and the character starts at 26 because of racial/class adjustments, they will reach that maximum pretty quickly, so will then start increasing other stats (increase either by potion or items). If the max stat is 100, the character with a 26 stat has lots of room for growth in that stat. + + The other idea here is with higher stats, we still provide some mechanism to increase the stats, but make it harder. Thus, under normal play, a character will reach maximum level/experience before reaching maximum stats. If the character wants to go through and grind quests or dungeons to maximize all stats, we let them - their choice, but with a linear progression of stats, doing so gets a minimal reward. If one were to use a simple system like ever 2 stat points above 10 is a bonus point, it means a 100 vs 98 stat is a bonus of 44 vs 45 - not all the significant. In percentage terms, that is around 2%. Interesting to note that the increases at lower level, while still a single point, are a larger percentage (28 vs 30 is 9 vs 10 bonus points, or 11% increase) + + * Make bonuses linear, so a 26 stat is a bit better than 24, not 50% better as can be now + * Make penalties for low stats progress faster than the bonus, so putting a 1 in a stat gets a lot more penalties. + * Addition of minimum attribute requirements for certain items (15 str to wear some armor). + * Increase the max stat value (maybe from 30 to 100). This means a character can pile as much stuff on to increase class stats. Under current system, some class/race combos can be very close to maximum stat value at first level. + * Make stat potions much rarer, and/or add limitations on use (one every X levels, different versions based on number of increases done). + * Make stat potions not increase a specific stat, but rather gives the character a stat point to spend. In this way, character has complete of their final stats, and not based on what potions they happened to find. + * Related to above, remove max character stats and instead limit them by number of improvements. Not uncommon for a class to start with their key stats maxed out relative to racial limits - by removing those racial limits, they can keep improving their class attributes. + * Possible add special abilities if characters get heroic stats (eg, at Con 50, you get +1 regeneration, and Pow 50, you get +1 sp regen, etc) + * Not directly related, but have monsters use the same stat tables/meanings as it does for characters. Right now, what Int means for a monster is completely different than what it means for a player. + === RACES === Table below lists the races, attribute adjustments, and anything else that is special. Note that under the revised system, most of a characters skills will come from their class - if one was allowed to play a race with no class, they would have very few skills. This is basically what most of the commoners are. The basic idea if one of these races is ideal for some class, they still need to choose that class to get the skills instead of it being given to them - otherwise, it is too easy to just choose one race and a completely different class to get all skills. IP-Address : 76.191.154.198 Old Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters?rev=1274513644 New Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 22:56:29 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 22:56:29 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mwedel:characters Message-ID: <1274586989.477186.23296.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 22:56 User : Edit Summary: @@ -6,9 +6,9 @@ * Learning new skills becomes much more difficult than currently. One likely possibility is only way to learn new skills is via quests, remove skill scrolls from game, and/or limit number of skills a character can learn (eg, one skill every 10 levels) * There are different quality of skills that do the same thing. For example, both wizards and fighters can use some weapons, but the fighters gain exp in them faster. May also be level caps on skills * Skills impart special abilities at certain levels (stat bonuses, spell like abilities, resistances, etc) * Change gain rate/bonus effect for hp/sp/grace, so that all levels are more relevant - currently, it is the first 10 levels (only levels which bonus is applied) which will be the bulk of the hp/sp/grace for a character even if they have level 50 in the skill. - * Addition of various new skills (limited weapon selection)/limitation on what armor characters can wear (not all or nothing), + * Addition of various new skills (limited weapon selection)/limitation on what armor characters can wear (not all or nothing) Note that some of those changes are more important than others. === Attributes/Statistics === @@ -25,8 +25,9 @@ * Make stat potions much rarer, and/or add limitations on use (one every X levels, different versions based on number of increases done). * Make stat potions not increase a specific stat, but rather gives the character a stat point to spend. In this way, character has complete of their final stats, and not based on what potions they happened to find. * Related to above, remove max character stats and instead limit them by number of improvements. Not uncommon for a class to start with their key stats maxed out relative to racial limits - by removing those racial limits, they can keep improving their class attributes. * Possible add special abilities if characters get heroic stats (eg, at Con 50, you get +1 regeneration, and Pow 50, you get +1 sp regen, etc) + * Add more meaning for Cha - NPC interaction based on Cha value (information they give based on Cha), add more skills or perhaps special abilities that key of Cha. * Not directly related, but have monsters use the same stat tables/meanings as it does for characters. Right now, what Int means for a monster is completely different than what it means for a player. === RACES === IP-Address : 76.191.154.198 Old Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters?rev=1274586814 New Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 22:58:24 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 22:58:24 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mwedel:characters Message-ID: <1274587104.776590.23299.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 22:58 User : Edit Summary: fix typo @@ -22,9 +22,9 @@ * Make penalties for low stats progress faster than the bonus, so putting a 1 in a stat gets a lot more penalties. * Addition of minimum attribute requirements for certain items (15 str to wear some armor). * Increase the max stat value (maybe from 30 to 100). This means a character can pile as much stuff on to increase class stats. Under current system, some class/race combos can be very close to maximum stat value at first level. * Make stat potions much rarer, and/or add limitations on use (one every X levels, different versions based on number of increases done). - * Make stat potions not increase a specific stat, but rather gives the character a stat point to spend. In this way, character has complete of their final stats, and not based on what potions they happened to find. + * Make stat potions not increase a specific stat, but rather gives the character a stat point to spend. In this way, character has complete control of their final stats, and not based on what potions they happened to find. * Related to above, remove max character stats and instead limit them by number of improvements. Not uncommon for a class to start with their key stats maxed out relative to racial limits - by removing those racial limits, they can keep improving their class attributes. * Possible add special abilities if characters get heroic stats (eg, at Con 50, you get +1 regeneration, and Pow 50, you get +1 sp regen, etc) * Add more meaning for Cha - NPC interaction based on Cha value (information they give based on Cha), add more skills or perhaps special abilities that key of Cha. * Not directly related, but have monsters use the same stat tables/meanings as it does for characters. Right now, what Int means for a monster is completely different than what it means for a player. IP-Address : 76.191.154.198 Old Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters?rev=1274586985 New Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 22 22:59:26 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 22 May 2010 22:59:26 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:mwedel:characters Message-ID: <1274587166.794079.23302.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/22 22:59 User : Edit Summary: @@ -25,9 +25,9 @@ * Make stat potions much rarer, and/or add limitations on use (one every X levels, different versions based on number of increases done). * Make stat potions not increase a specific stat, but rather gives the character a stat point to spend. In this way, character has complete control of their final stats, and not based on what potions they happened to find. * Related to above, remove max character stats and instead limit them by number of improvements. Not uncommon for a class to start with their key stats maxed out relative to racial limits - by removing those racial limits, they can keep improving their class attributes. * Possible add special abilities if characters get heroic stats (eg, at Con 50, you get +1 regeneration, and Pow 50, you get +1 sp regen, etc) - * Add more meaning for Cha - NPC interaction based on Cha value (information they give based on Cha), add more skills or perhaps special abilities that key of Cha. + * Add more meaning for Cha - NPC interaction based on Cha value (information they give based on Cha), add more skills or perhaps special abilities that key off of Cha. * Not directly related, but have monsters use the same stat tables/meanings as it does for characters. Right now, what Int means for a monster is completely different than what it means for a player. === RACES === IP-Address : 76.191.154.198 Old Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters?rev=1274587098 New Revision: http://wiki.metalforge.net/doku.php/user:mwedel:characters -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 23 12:00:24 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 May 2010 12:00:24 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page added: dev:levels Message-ID: <1274634024.289499.25957.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/23 12:00 User : ryo Edit Summary: random ideas Description of various parameters per level. General rule: for a player to level up from level n to level n+1, she must kill ~100 monsters of level n. Monsters of level n-5 don't give much xp (attenuation factor). ^ Level ^ HP ^ SP ^ GR ^ Main skill level ^ Spells ^ Armor ^ Attack ^ Resistances ^ ^ 10 | 80 | 20 | 10 | 10 | 4 or 5 | 30 | 30 | a few points | ^ 20 | 180 | 50 | 50 | 18 | 8 or 10 | 70 | 70 | ^ 30 | 250 | 100 | 80 | 25 | 15 | 150 | 150 | ^ 40 | 350 | 150 | 90 | 35 | 20 | 200 | 200 | almost immune to 1 type | ^ 50 | 400 | 180 | 100 | 45 | 25 | 300 | 300 | ^ 60 | 600 | 200 | 110 | 57 | 40 | 450 | 450 | almost immune to 4 types | ^ 70 | 700 | 250 | 120 | 65 | 60 | 600 | 600 | ^ 80 | 780 | 300 | 140 | 75 | almost all | 800 | 800 | ^ 90 | 850 | 350 | 150 | 85 | almost all | 900 | 900 | ^ 100 | 1000 | 500 | 250 | 90 | all | 1500 | 2000 | high resistances in almost all | ==== Level 10 ==== * ~80 hp * 20 sp * 10 gr * level 10 in main skill * 4 or 5 spells (?) * armor: 30 * attack: 30 * a few resist points around ==== Level 20 ==== * ~180 hp * 50 sp * 50 gr * level 18 in main skill * 8 or 10 spells, including zone ones * armor: 70 * attack: 70 ==== Level 30 ==== * ~250 hp * 100 sp * 80 gr * level 25 in main skill * 15 spells? * armor: 150 * attack: 150 ==== Level 40 ==== * ~350 hp * 150 sp * 90 gr * level 35 in main skill * 20 spells? * armor: 200 * attack: 200 ==== Level 50 ==== * ~400 hp * 180 sp * 100 gr * level 45 in main skill * 25 spells * armor: 300 * attack: 300 ==== Level 60 ==== * ~600 hp * 200 sp * 110 gr * level 57 in main skill * ~40 spells * armor: 450 * attack: 450 ==== Level 70 ==== * ~700 hp * 250 sp * 120 gr * level 65 in main skill * ~60 spells in various categories * armor: 600 * attack: 600 ==== Level 80 ==== * ~780 hp * 300 sp * 140 gr * level 75 in main skill * major spells * armor: 800 * attack: 800 ==== Level 90 ==== * ~850 hp * 350 sp * 150 gr * level 85 in main skill * almost all spells * armor: 900 * attack: 900 ==== Level 100 ==== * ~1000 hp * 500 sp * 250 gr * level 90 in main skill * all spells * armor: 1500 * attack: 2000 * high resistances in almost all attacktypes ===== Special spells ===== Roughly sorted by decreasing importance * word of recall * town portal * elemental resistances * healing and curing spells * x-ray * dimension door * statistic improvement * create stuff Combat spells: * attack (zone and target) * summoning IP-Address : 82.236.87.204 Old Revision: none New Revision: http://wiki.metalforge.net/doku.php/dev:levels -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 23 12:01:42 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 May 2010 12:01:42 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:ryo:stats Message-ID: <1274634102.718854.25960.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/23 12:01 User : ryo Edit Summary: proposal for change @@ -1,4 +1,6 @@ + Proposal for changes: [[dev:levels]]. + The aim of those tables is to list, in the current implementation, the various values statistics can have, based on existing equipment and such things. ====== Natural statistics, without equipment ====== ^ Statistics ^ Players ^^^ Monsters ^^ IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats?rev=1273328512 New Revision: http://wiki.metalforge.net/doku.php/user:ryo:stats -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sun May 23 12:03:44 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 23 May 2010 12:03:44 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: dev:levels Message-ID: <1274634224.116354.25963.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/23 12:03 User : ryo Edit Summary: a few more things @@ -3,5 +3,10 @@ General rule: for a player to level up from level n to level n+1, she must kill ~100 monsters of level n. Monsters of level n-5 don't give much xp (attenuation factor). + + Missing: + * hp, sp and gr regeneration rates + * weapon and natural speeds + * spell learning order ^ Level ^ HP ^ SP ^ GR ^ Main skill level ^ Spells ^ Armor ^ Attack ^ Resistances ^ ^ 10 | 80 | 20 | 10 | 10 | 4 or 5 | 30 | 30 | a few points | ^ 20 | 180 | 50 | 50 | 18 | 8 or 10 | 70 | 70 | IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/dev:levels?rev=1274634021 New Revision: http://wiki.metalforge.net/doku.php/dev:levels -- This mail was generated by DokuWiki at http://wiki.metalforge.net/ From no-reply_wiki at metalforge.org Sat May 29 13:28:30 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sat, 29 May 2010 13:28:30 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: cfpython Message-ID: <1275157710.927866.29676.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/29 13:28 User : ryo Edit Summary: InsertAround @@ -864,8 +864,17 @@ Arguments: * ''Crossfire.Object'' to insert * ''Number'', X and Y, coordinates where to insert + + Return: ''Crossfire.Object'' representing the inserted object. Can be ''None'' if object was removed for some reason (eaten by an altar, ...) + + ==== InsertAround ==== + Inserts an object around a specified location, randomly choosing a free spot. + + Arguments: + * ''Crossfire.Object'' to insert + * ''Number'', X and Y, coordinates around which to insert Return: ''Crossfire.Object'' representing the inserted object. Can be ''None'' if object was removed for some reason (eaten by an altar, ...) ==== TriggerConnected ==== IP-Address : 82.236.87.204 Old Revision: http://wiki.metalforge.net/doku.php/cfpython?rev=1273919036 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 Sun May 30 20:18:11 2010 From: no-reply_wiki at metalforge.org (no-reply_wiki at metalforge.org) Date: Sun, 30 May 2010 20:18:11 -0500 Subject: [Crossfire-wiki] [Crossfire DokuWiki] page changed: user:cavesomething:guide_to_quest_dialogs Message-ID: <1275268691.227724.5767.nullmailer@metalforge.net> A page in your DokuWiki was added or changed. Here are the details: Date : 2010/05/30 20:18 User : cavehippo Edit Summary: document setwhen @@ -567,11 +567,17 @@ A quest step looks like this: step 40 + finishes_quest description - I have spoken to Mork, and he has given me the key to Mork's treasure room + I have found another way through the gate. end_description + setwhen + scorn/PortGate finished + scorn/CityGate finished + scorn/ScornHero <=10 + end_setwhen end_step entries are as follows: @@ -583,8 +589,85 @@ === finishes_quest === If this line is present in the quest step, then being advanced to this step causes the quest to be marked as 'complete.' + + === setwhen === + This is used in a block, until 'end_setwhen' appears + every line in between contains a condition in the form of a quest and a stage requirement. + + Every time a quest is updated, all other quests are checked to see if the conditions to advance are met. + + A condition can take one of the following forms: + + questcode n (the quest questcode must be at step n) + questcode <=n (the quest questcode must not be beyond step n) + questcode m-n (the quest questcode must be between steps m and n) + questcode finished (the quest questcode must have been completed) + + Where m and n are positive integers. + + From the example above: + + setwhen + scorn/PortGate finished + scorn/CityGate finished + scorn/ScornHero <=10 + end_setwhen + + + This will trigger when the quest scorn/PortGate is finished, and when scorn/CityGate is finished, and when scorn/ScornHero is at step 10 or earlier. + + If these conditions are never met at the same time (if the player were beyond step 10 in scorn/ScornHero before completing the other two quests, say) then the player will not advance to step 40 through meeting the conditions. (it is, however, still possible to advance to this stage by some other means, such as a script triggered on a map). + + Quests will not go to an earlier step than the one they are on currently as a result of conditions, and when several steps meet the conditions to advance at the same time, then they will only advance once, to the latest (biggest numbered) step where all conditions match. + + ==Warning== + + Advancing a quest may trigger further quests to advance, in this way it can be possible to have one quest be advanced to several steps sequentially. - However you should be careful with very complex dependancies. + + Consider the following example: + + + quest foo + step 10 + finishes_quest + end_step + end_quest + + quest bar + step 10 + finishes_quest + setwhen + foo finished + end_setwhen + end_step + end_quest + + quest baz + step 10 + setwhen + foo finished + end_setwhen + end_step + step 20 + setwhen + bar finished + end_setwhen + end_step + step 30 + setwhen + bar finished + baz 10 + end_setwhen + end_step + end_quest + + + Here quests bar and baz update in response to quest foo, if quest foo is finished, then bar and baz will update, but it is **Not Defined** which order they will update in. + * If bar is updated first, then quest baz will go straight to step 20, + * If baz is updated first, then it will go to step 10, then bar will update, then baz will go to step 30. + ie; The end result will depend on the order in which the quests update, you have no way to know what this will be. === link_region === ** TODO ** IP-Address : 81.141.60.236 Old Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs?rev=1273914103 New Revision: http://wiki.metalforge.net/doku.php/user:cavesomething:guide_to_quest_dialogs -- This mail was generated by DokuWiki at http://wiki.metalforge.net/